From 8f4f023ab311f10a782dd61cda6bf205a05b07a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E7=AB=8B=E5=B8=AE?= <3294713004@qq.com> Date: Tue, 13 Jan 2026 15:16:17 +0800 Subject: [PATCH] =?UTF-8?q?build(boards):=20xpython=E6=9D=BF=E5=8D=A1?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=20`npm=20run=20build:prod`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- boards/default/micropython/build/lib/image.py | 87 ++ boards/default/micropython/build/lib/map.json | 13 +- boards/default/micropython/build/lib/pe_g1.py | 132 ++- boards/default/micropython_educore/index.xml | 2 +- .../main.bundle.25d16071.js | 21 - .../main.bundle.705ae874.js | 21 + boards/default/micropython_esp32/index.xml | 2 +- .../micropython_esp32/main.bundle.67d11a28.js | 21 + .../micropython_esp32/main.bundle.e54d8d89.js | 21 - boards/default/micropython_esp32c2/index.xml | 2 +- .../main.bundle.1cce2904.js | 21 + .../main.bundle.29be3cf1.js | 21 - .../{main.fad90f1f.css => main.0665557c.css} | 10 + boards/default/micropython_esp32c3/index.xml | 2 +- .../main.bundle.6027d445.js | 21 + .../main.bundle.77273235.js | 21 - .../{main.59b36aec.css => main.b1fb04d0.css} | 10 + .../build/Generic_C5_lib-v1.27.0.bin | Bin 0 -> 2202128 bytes .../build/Mixgo_Sowl_lib-v1.27.0.bin | Bin 0 -> 2364912 bytes .../micropython_esp32c5/build/lib/map.json | 52 + .../build/lib/mixgo_sowl.py | 263 +++++ .../micropython_esp32c5/build/lib/sowl_bot.py | 121 ++ .../build/lib/st7735_cf.py | 100 ++ .../micropython_esp32c5/build/lib/ws2812x.py | 66 ++ .../default/micropython_esp32c5/config.json | 146 +++ .../micropython_esp32c5/examples/map.json | 1 + boards/default/micropython_esp32c5/index.xml | 1 + .../main.bundle.2b743a90.js | 21 + .../media/esp32c5_compressed.png | Bin 0 -> 87374 bytes .../styles/main.6d008c05.css} | 10 + boards/default/micropython_esp32s2/index.xml | 2 +- .../main.bundle.3f76b5d3.js | 21 + .../main.bundle.85ff92a3.js | 21 - .../{main.6b462d86.css => main.67b926d4.css} | 10 + boards/default/micropython_esp32s3/index.xml | 2 +- .../main.bundle.3a511bf2.js | 21 + .../main.bundle.c2d250b7.js | 21 - .../styles/main.6d008c05.css | 499 ++++++++ .../micropython_k210_mixgoai/index.xml | 2 +- ...le.40f4f17a.js => main.bundle.b6b2ab0d.js} | 2 +- .../micropython_nrf51822_microbit/index.xml | 2 +- ...le.5ef1fc10.js => main.bundle.f0608bef.js} | 2 +- .../micropython_nrf51822_mithoncc/index.xml | 2 +- ...le.83d827ca.js => main.bundle.9dad03f5.js} | 2 +- boards/default/micropython_robot/index.xml | 2 +- .../micropython_robot/main.bundle.27de60aa.js | 21 + .../micropython_robot/main.bundle.f2495e91.js | 21 - boards/default/python_pyodide/index.xml | 2 +- ...le.2509889c.js => main.bundle.9eb2088b.js} | 1044 ++++++++--------- .../origin/examples/map.json | 2 +- 50 files changed, 2166 insertions(+), 744 deletions(-) create mode 100644 boards/default/micropython/build/lib/image.py delete mode 100644 boards/default/micropython_educore/main.bundle.25d16071.js create mode 100644 boards/default/micropython_educore/main.bundle.705ae874.js create mode 100644 boards/default/micropython_esp32/main.bundle.67d11a28.js delete mode 100644 boards/default/micropython_esp32/main.bundle.e54d8d89.js create mode 100644 boards/default/micropython_esp32c2/main.bundle.1cce2904.js delete mode 100644 boards/default/micropython_esp32c2/main.bundle.29be3cf1.js rename boards/default/micropython_esp32c2/styles/{main.fad90f1f.css => main.0665557c.css} (97%) create mode 100644 boards/default/micropython_esp32c3/main.bundle.6027d445.js delete mode 100644 boards/default/micropython_esp32c3/main.bundle.77273235.js rename boards/default/micropython_esp32c3/styles/{main.59b36aec.css => main.b1fb04d0.css} (97%) create mode 100644 boards/default/micropython_esp32c5/build/Generic_C5_lib-v1.27.0.bin create mode 100644 boards/default/micropython_esp32c5/build/Mixgo_Sowl_lib-v1.27.0.bin create mode 100644 boards/default/micropython_esp32c5/build/lib/map.json create mode 100644 boards/default/micropython_esp32c5/build/lib/mixgo_sowl.py create mode 100644 boards/default/micropython_esp32c5/build/lib/sowl_bot.py create mode 100644 boards/default/micropython_esp32c5/build/lib/st7735_cf.py create mode 100644 boards/default/micropython_esp32c5/build/lib/ws2812x.py create mode 100644 boards/default/micropython_esp32c5/config.json create mode 100644 boards/default/micropython_esp32c5/examples/map.json create mode 100644 boards/default/micropython_esp32c5/index.xml create mode 100644 boards/default/micropython_esp32c5/main.bundle.2b743a90.js create mode 100644 boards/default/micropython_esp32c5/media/esp32c5_compressed.png rename boards/default/{micropython_esp32s3/styles/main.3b5b3dfe.css => micropython_esp32c5/styles/main.6d008c05.css} (97%) create mode 100644 boards/default/micropython_esp32s2/main.bundle.3f76b5d3.js delete mode 100644 boards/default/micropython_esp32s2/main.bundle.85ff92a3.js rename boards/default/micropython_esp32s2/styles/{main.6b462d86.css => main.67b926d4.css} (97%) create mode 100644 boards/default/micropython_esp32s3/main.bundle.3a511bf2.js delete mode 100644 boards/default/micropython_esp32s3/main.bundle.c2d250b7.js create mode 100644 boards/default/micropython_esp32s3/styles/main.6d008c05.css rename boards/default/micropython_k210_mixgoai/{main.bundle.40f4f17a.js => main.bundle.b6b2ab0d.js} (50%) rename boards/default/micropython_nrf51822_microbit/{main.bundle.5ef1fc10.js => main.bundle.f0608bef.js} (57%) rename boards/default/micropython_nrf51822_mithoncc/{main.bundle.83d827ca.js => main.bundle.9dad03f5.js} (62%) create mode 100644 boards/default/micropython_robot/main.bundle.27de60aa.js delete mode 100644 boards/default/micropython_robot/main.bundle.f2495e91.js rename boards/default/python_pyodide/{main.bundle.2509889c.js => main.bundle.9eb2088b.js} (84%) diff --git a/boards/default/micropython/build/lib/image.py b/boards/default/micropython/build/lib/image.py new file mode 100644 index 00000000..60c037b3 --- /dev/null +++ b/boards/default/micropython/build/lib/image.py @@ -0,0 +1,87 @@ +""" +Iamge + +MicroPython library for the Iamge(jpeg C module) +======================================================= +@dahanzimin From the Mixly Team +""" +import gc +import urequests +from base64 import b64encode +from jpeg import Encoder, Decoder + +class IMG: + def __init__(self, image, width, height): + self.image = image + self.width = width + self.height = height + self.format = "RGB565" + +class Image: + def save(self, img, path="mixly.jpg", **kwargs): + '''quality(1-100), rotation (0, 90, 180, 270)''' + _encoder = Encoder(pixel_format="RGB565_BE", width=img.width, height=img.height, **kwargs) + _jpeg = _encoder.encode(img.image) + del _encoder + gc.collect() + if isinstance(path, str): + with open(path, 'wb') as f: + f.write(_jpeg) + else: + return _jpeg + + def open(self, path="mixly.jpg", scale_width=None, scale_height=None, tft_width=240, tft_height=240, **kwargs): + '''rotation (0, 90, 180, 270), clipper_width, clipper_height''' + with open(path, "rb") as f: + _jpeg = f.read() + return self._jpg_decoder(_jpeg, scale_width, scale_height, tft_width, tft_height, **kwargs) + + def convert(self, img, formats=0, **kwargs): + if formats == 0: + return self.save(img, None, **kwargs) + elif formats == 1: + return b'data:image/jpg;base64,' + b64encode(self.save(img, None, **kwargs)) + + def download(self, url, path=None, scale_width=None, scale_height=None, tft_width=240, tft_height=240, block=1024, **kwargs): + '''rotation (0, 90, 180, 270), clipper_width, clipper_height''' + response = urequests.get(url, stream=True) + if path is None: + _image = self._jpg_decoder(response.raw.read(), scale_width, scale_height, tft_width, tft_height, **kwargs) + response.close() + return _image + else: + with open(path, 'wb') as f: + while True: + _data = response.raw.read(block) + if not _data: + break + else: + f.write(_data) + response.close() + + def _jpg_decoder(self, jpg, scale_width, scale_height, tft_width, tft_height, **kwargs): + '''Automatically zoom based on the screen''' + if scale_width is None or scale_height is None: + _width = tft_width + _height = tft_height + for i in range(min(len(jpg), 1024)): + if jpg[i] == 0xFF and (jpg[i + 1] & 0xF0) == 0xC0: + if jpg[i + 1] not in [0xC4, 0xC8, 0xCC]: + _width = jpg[i + 7] << 8 | jpg[i + 8] + _height = jpg[i + 5] << 8| jpg[i + 6] + break + if _width > tft_width or _height > tft_height: + _scale = max(_width / tft_width, _height / tft_height) * 8 + _decoder = Decoder(pixel_format="RGB565_BE", scale_width=round(_width / _scale) * 8, scale_height=round(_height / _scale) * 8, **kwargs) + else: + _decoder = Decoder(pixel_format="RGB565_BE", **kwargs) + else: + _decoder = Decoder(pixel_format="RGB565_BE", scale_width=scale_width // 8 * 8, scale_height=scale_height // 8 * 8, **kwargs) + _info = _decoder.get_img_info(jpg) + _image = IMG(_decoder.decode(jpg), _info[0], _info[1]) + del _decoder, jpg + gc.collect() + return _image + +#图像处理 +Image = Image() diff --git a/boards/default/micropython/build/lib/map.json b/boards/default/micropython/build/lib/map.json index d0ae0194..6993026a 100644 --- a/boards/default/micropython/build/lib/map.json +++ b/boards/default/micropython/build/lib/map.json @@ -392,6 +392,17 @@ "__size__": 3049, "__name__": "icm42670.py" }, + "image": { + "__require__": [ + "gc", + "urequests", + "base64", + "jpeg" + ], + "__file__": true, + "__size__": 3626, + "__name__": "image.py" + }, "informatio_picture": { "__require__": [], "__file__": true, @@ -689,7 +700,7 @@ "micropython" ], "__file__": true, - "__size__": 3574, + "__size__": 4305, "__name__": "pe_g1.py" }, "pm2_5": { diff --git a/boards/default/micropython/build/lib/pe_g1.py b/boards/default/micropython/build/lib/pe_g1.py index 1c81e814..ffba026a 100644 --- a/boards/default/micropython/build/lib/pe_g1.py +++ b/boards/default/micropython/build/lib/pe_g1.py @@ -1,30 +1,31 @@ """ -PE_G1 - -Micropython library for the PE_G1(Motor*5*2 & Servo*4) -======================================================= - -#Preliminary composition 20230120 - +Micropython library for +PE_G1 (Motor*5*2 & Servo*4) +MDB (Motor*4*2 & Servo*6) +=============================== @dahanzimin From the Mixly Team """ from time import sleep_ms from micropython import const -_PE_G1_ADDRESS = const(0x25) -_PE_G1_ID = const(0x00) -_PE_G1_VBAT = const(0x01) -_PE_G1_MOTOR = const(0x03) -_PE_G1_SERVO = const(0x0D) -_PE_G1_OFF = const(0x16) +_PE_GX_ADDRESS = const(0x25) +_PE_GX_ID = const(0x00) +_PE_GX_VBAT = const(0x01) +_PE_GX_MOTOR = const(0x03) class PE_G1: - def __init__(self, i2c_bus, addr=_PE_G1_ADDRESS): - self._i2c=i2c_bus + def __init__(self, i2c_bus, addr=_PE_GX_ADDRESS): + self._i2c = i2c_bus self._addr = addr sleep_ms(500) - if self._rreg(_PE_G1_ID)!= 0x25: - raise AttributeError("Cannot find a PE_G1") + if self._rreg(_PE_GX_ID) == 0x25: + self._PE_GX_SERVO = 0x0D + self._type = 1 #PE_G1 + elif self._rreg(_PE_GX_ID) == 0x26: + self._PE_GX_SERVO = 0x0B + self._type = 2 #MDB + else: + raise AttributeError("Cannot find a PE_G1 or MDB") self.reset() def _wreg(self, reg, val): @@ -38,75 +39,88 @@ class PE_G1: '''Read memory address''' try: self._i2c.writeto(self._addr, reg.to_bytes(1, 'little')) - return self._i2c.readfrom(self._addr, nbytes)[0] if nbytes<=1 else self._i2c.readfrom(self._addr, nbytes)[0:nbytes] + return self._i2c.readfrom(self._addr, nbytes)[0] if nbytes <= 1 else self._i2c.readfrom(self._addr, nbytes) except: return 0 def reset(self): """Reset all registers to default state""" - for reg in range(_PE_G1_MOTOR,_PE_G1_MOTOR+18): - self._wreg(reg,0x00) + if self._type == 1: + self._i2c.writeto_mem(self._addr, _PE_GX_MOTOR, bytes(18)) + if self._type == 2: + self._i2c.writeto_mem(self._addr, _PE_GX_MOTOR, bytes(20)) - def read_bat(self,ratio=0.0097): + def read_bat(self, ratio=1): '''Read battery power''' - vbat= self._rreg(_PE_G1_VBAT)<<2 | self._rreg(_PE_G1_VBAT+1)>>6 - return round(vbat*ratio,2) - - def m_pwm(self,index,duty=None): - """Motor*5*2 PWM duty cycle data register""" - if not 0 <= index <= 9: - raise ValueError("Motor port must be a number in the range: 0~9") + vbat = self._rreg(_PE_GX_VBAT) << 2 | self._rreg(_PE_GX_VBAT+1) >> 6 + if self._type == 1: + return round(vbat * ratio * 0.00968, 2) + if self._type == 2: + return round(vbat * ratio * 0.01398, 2) + + def m_pwm(self, index, duty=None): + """Motor PWM duty cycle data register""" + if self._type == 1: # Motor*5*2 + if not 0 <= index <= 9: + raise ValueError("Motor port must be a number in the range: 0~4") + if self._type == 2: # Motor*4*2 + if not 0 <= index <= 7: + raise ValueError("Motor port must be a number in the range: 0~3") if duty is None: - return self._rreg(_PE_G1_MOTOR+index) + return self._rreg(_PE_GX_MOTOR + index) else: if not 0 <= duty <= 255: raise ValueError("Duty must be a number in the range: 0~255") - self._wreg(_PE_G1_MOTOR+index,duty) + self._wreg(_PE_GX_MOTOR + index, duty) - def s_pwm(self,index,duty=None): - """Servo*4 PWM duty cycle data register""" - if not 0 <= index <= 3: - raise ValueError("Servo port must be a number in the range: 0~3") + def s_pwm(self, index, duty=None): + """Servo PWM duty cycle data register""" + if self._type == 1: # Servo*4 + if not 0 <= index <= 3: + raise ValueError("Servo port must be a number in the range: 0~3") + if self._type == 2: # Servo*6 + if not 0 <= index <= 5: + raise ValueError("Servo port must be a number in the range: 0~5") if duty is None: - return self._rreg(_PE_G1_SERVO+index*2)<<8 | self._rreg(_PE_G1_SERVO+index*2+1) + return self._rreg(self._PE_GX_SERVO + index * 2) << 8 | self._rreg(self._PE_GX_SERVO + index * 2 + 1) else: if not 0 <= duty <= 4095: raise ValueError("Duty must be a number in the range: 0~4095") - self._wreg(_PE_G1_SERVO+index*2,duty>>8) - self._wreg(_PE_G1_SERVO+index*2+1,duty&0xff) + self._wreg(self._PE_GX_SERVO + index * 2,duty >> 8) + self._wreg(self._PE_GX_SERVO + index * 2 + 1,duty & 0xff) - def motor(self,index,action,speed=0): + def motor(self, index, action="NC", speed=0): if not 0 <= speed <= 100: raise ValueError("Speed parameters must be a number in the range: 0~100") - if action=="N": - self.m_pwm(index*2,0) - self.m_pwm(index*2+1,0) - elif action=="P": - self.m_pwm(index*2,255) - self.m_pwm(index*2+1,255) - elif action=="CW": - self.m_pwm(index*2,0) - self.m_pwm(index*2+1,speed*255//100) - elif action=="CCW": - self.m_pwm(index*2,speed*255//100) - self.m_pwm(index*2+1,0) - elif action=="NC": - return round(self.m_pwm(index*2)*100/255),round(self.m_pwm(index*2+1)*100/255) + if action == "N": + self.m_pwm(index * 2, 0) + self.m_pwm(index * 2 + 1, 0) + elif action == "P": + self.m_pwm(index * 2, 255) + self.m_pwm(index * 2 + 1, 255) + elif action == "CW": + self.m_pwm(index * 2, 0) + self.m_pwm(index * 2 + 1, speed * 255 // 100) + elif action == "CCW": + self.m_pwm(index * 2, speed * 255 // 100) + self.m_pwm(index * 2 + 1, 0) + elif action == "NC": + return round(self.m_pwm(index * 2) * 100 / 255), round(self.m_pwm(index * 2 + 1) * 100 / 255) else: raise ValueError('Invalid input, valid are "N","P","CW","CCW"') - def servo180(self,index,angle=None): + def servo180(self, index, angle=None): if angle is None: - return round((self.s_pwm(index)-102.375)*180/409.5) + return round((self.s_pwm(index) - 102.375) * 180 / 409.5) else: if not 0 <= angle <= 180: raise ValueError("Servo(180) angle must be a number in the range: 0~180") - self.s_pwm(index,round(102.375 + 409.5/180 * angle)) + self.s_pwm(index,round(102.375 + 409.5 / 180 * angle)) - def servo360(self,index,speed=None): + def servo360(self, index, speed=None): if speed is None: - return round((self.s_pwm(index)-102.375)*200/409.5-100) + return round((self.s_pwm(index) - 102.375) * 200 / 409.5 - 100) else: - if not -100<= speed <= 100: + if not -100 <= speed <= 100: raise ValueError("Servo(360) speed must be a number in the range: -100~100") - self.s_pwm(index,round(102.375 + 409.5/200 * (speed+100))) + self.s_pwm(index,round(102.375 + 409.5 / 200 * (speed + 100))) diff --git a/boards/default/micropython_educore/index.xml b/boards/default/micropython_educore/index.xml index 6c4780a0..a7f775f7 100644 --- a/boards/default/micropython_educore/index.xml +++ b/boards/default/micropython_educore/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxcontentmylistmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}mydicts11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixlyxsensoraccaccbutton0rfidinfo1attachInterrupt_func1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,0speaker2000speaker20001000speakerrgb0000rgbbleblebleMixlyMixly0MixlyMixly500MixlyMixly50010.50car100carcarcar1001001000interrupt_funcinterrupt_functurnsdistancewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipassword0mixio.mixly.cn1883client_idusernamepasswordtopicreceievd_messagetopicmsgreceievd_messageEQtopicmessage1wifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京10000ble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyxsensor000humiture00button0ultrasonic00cameracamerai2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorweight12500weight0pin0servo900parrot0i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81234561connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comwifinamewifipassword0responsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxcontentmylistmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}mydicts11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixlyxsensoraccaccbutton0rfidinfo1attachInterrupt_func1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,0speaker2000speaker20001000speakerrgb0000rgbbleblebleMixlyMixly0MixlyMixly500MixlyMixly50010.50car100carcarcar1001001000interrupt_funcinterrupt_functurnsdistancewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipassword0mixio.mixly.cn1883client_idusernamepasswordtopicreceievd_messagetopicmsgreceievd_messageEQtopicmessage1wifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京10000ble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyxsensor000humiture00button0ultrasonic00cameracamerai2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorweight12500weight0pin0servo900parrot0i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlan127.16.0.81234561connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comwifinamewifipassword0responsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_educore/main.bundle.25d16071.js b/boards/default/micropython_educore/main.bundle.25d16071.js deleted file mode 100644 index 4e2d8327..00000000 --- a/boards/default/micropython_educore/main.bundle.25d16071.js +++ /dev/null @@ -1,21 +0,0 @@ -(()=>{"use strict";var e={d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{controls_type:()=>Ye,controls_typeLists:()=>Xe,lists_zip:()=>ye,lists_zip_container:()=>be,lists_zip_item:()=>xe,unpack_iterable_object:()=>Ve,variables_change:()=>Pe,variables_get:()=>fe,variables_global:()=>ve,variables_set:()=>Fe});var i={};e.r(i),e.d(i,{base_setup:()=>Ue,controls_delay:()=>we,controls_end_program:()=>ke,controls_except:()=>it,controls_finally:()=>nt,controls_flow_statements:()=>ze,controls_for:()=>Qe,controls_forEach:()=>Ke,controls_for_range:()=>je,controls_if:()=>He,controls_if_else:()=>et,controls_if_elseif:()=>Ze,controls_if_if:()=>$e,controls_lambda:()=>_t,controls_main:()=>Ge,controls_pass:()=>ot,controls_range:()=>We,controls_repeat_ext:()=>st,controls_thread:()=>pt,controls_try:()=>tt,controls_try_finally:()=>qe,controls_whileUntil:()=>Je,datetime_fromtimestamp:()=>It,do_while:()=>at,garbage_collection:()=>ut,gene_unique_identifier:()=>Tt,get_mem_alloc:()=>rt,get_mem_free:()=>lt,get_unique_identifier:()=>dt});var n={};e.r(n),e.d(n,{base_map:()=>yt,generate_cartesian_product:()=>xt,math_arithmetic:()=>Ot,math_bit:()=>ct,math_constant:()=>mt,math_constant_mp:()=>Et,math_constrain:()=>Dt,math_dec:()=>Ct,math_degree_to_radian:()=>Bt,math_indexer_number:()=>Ft,math_map:()=>ft,math_max_min:()=>At,math_number:()=>ht,math_number_base_conversion:()=>Lt,math_radian_to_degree:()=>Vt,math_random:()=>Nt,math_random_seed:()=>Pt,math_round:()=>vt,math_selfcalcu:()=>Rt,math_to_int:()=>St,math_trig:()=>gt,text_to_number:()=>Yt,text_to_number_skulpt:()=>Xt,turn_to_int:()=>bt});var s={};e.r(s),e.d(s,{ascii_to_char:()=>Kt,char_to_ascii:()=>Jt,number_to_text:()=>qt,os_system:()=>Oi,text:()=>Ut,text_bytes:()=>kt,text_capital:()=>ni,text_center:()=>si,text_char:()=>Ht,text_char_at:()=>jt,text_char_at2:()=>Qt,text_char_at3:()=>Mi,text_compareTo:()=>Ti,text_compare_to:()=>ii,text_create_with_container:()=>li,text_create_with_item:()=>di,text_encode:()=>mi,text_equals_starts_ends:()=>ti,text_eval:()=>Ei,text_find:()=>_i,text_format:()=>ri,text_format_noreturn:()=>hi,text_join:()=>Wt,text_join_seq:()=>oi,text_length:()=>zt,text_random_char:()=>$t,text_replace:()=>pi,text_split:()=>ai,text_strip:()=>ui,text_substring:()=>ei,text_substring2:()=>Zt,text_substring3:()=>Ii,text_textarea:()=>wt});var _={};e.r(_),e.d(_,{ENUMERATE:()=>tn,content_in_lists:()=>sn,enumerate:()=>nn,list_many_input:()=>wi,list_tolist:()=>Ki,list_tolist2:()=>en,list_trig:()=>Bi,lists_2d_get_col_row_data:()=>Si,lists_2d_get_data_with_col_row:()=>Ci,lists_append_extend:()=>Fi,lists_change_to:()=>Ui,lists_change_to_general:()=>Hi,lists_clear:()=>yi,lists_create_with:()=>Ai,lists_create_with2:()=>Ji,lists_create_with_container:()=>Ni,lists_create_with_item:()=>Di,lists_create_with_noreturn:()=>ki,lists_create_with_text:()=>Li,lists_create_with_text2:()=>qi,lists_del_general:()=>Wi,lists_find:()=>Vi,lists_getIndex3:()=>zi,lists_getSublist3:()=>Qi,lists_get_index:()=>ci,lists_get_random_item:()=>Pi,lists_get_random_sublist:()=>vi,lists_get_sublist:()=>gi,lists_insert_value:()=>Yi,lists_insert_value2:()=>$i,lists_pop:()=>xi,lists_remove_at:()=>bi,lists_remove_at2:()=>Zi,lists_reverse:()=>Xi,lists_setIndex3:()=>ji,lists_set_index:()=>fi,lists_sort:()=>Gi});var o={};e.r(o),e.d(o,{dicts_add_change_del:()=>Rn,dicts_add_or_change:()=>dn,dicts_clear:()=>Mn,dicts_create_with:()=>on,dicts_create_with_container:()=>pn,dicts_create_with_item:()=>an,dicts_create_with_noreturn:()=>Cn,dicts_deldict:()=>On,dicts_delete:()=>In,dicts_get:()=>rn,dicts_get_default:()=>ln,dicts_items:()=>hn,dicts_keys:()=>un,dicts_length:()=>En,dicts_pop:()=>cn,dicts_setdefault:()=>gn,dicts_to_json:()=>An,dicts_to_json2:()=>Dn,dicts_to_to:()=>Nn,dicts_todict:()=>Sn,dicts_update:()=>Tn,dicts_values:()=>mn,json_to_dicts:()=>Ln});var p={};e.r(p),e.d(p,{logic_boolean:()=>Xn,logic_compare:()=>Fn,logic_compare_continous:()=>Pn,logic_is:()=>Vn,logic_is_in:()=>xn,logic_negate:()=>Yn,logic_null:()=>yn,logic_operation:()=>vn,logic_tobool:()=>Bn,logic_true_or_false:()=>bn});var a={};e.r(a),e.d(a,{sdcard_mount:()=>as,sdcard_use_spi_init:()=>ps,storage_can_write_ornot:()=>qn,storage_change_dir:()=>_s,storage_close_file:()=>Qn,storage_delete_file:()=>$n,storage_file_seek:()=>ts,storage_file_tell:()=>es,storage_file_write:()=>Hn,storage_fileopen:()=>Un,storage_fileopen_new:()=>wn,storage_fileopen_new_encoding:()=>kn,storage_get_a_line:()=>Jn,storage_get_contents:()=>Kn,storage_get_contents_without_para:()=>Wn,storage_get_current_dir:()=>is,storage_get_file_size:()=>Zn,storage_get_filename:()=>zn,storage_is_file:()=>os,storage_list_all_files:()=>jn,storage_make_dir:()=>ns,storage_open_file_with_os:()=>Gn,storage_rename:()=>ss});var u={};e.r(u),e.d(u,{procedures_callnoreturn:()=>Is,procedures_callreturn:()=>Ts,procedures_defnoreturn:()=>us,procedures_defreturn:()=>rs,procedures_ifreturn:()=>Ms,procedures_mutatorarg:()=>ds,procedures_mutatorcontainer:()=>ls,procedures_return:()=>hs});var r={};e.r(r),e.d(r,{tuple_change_to:()=>Ds,tuple_create_llm_params:()=>xs,tuple_create_with:()=>Es,tuple_create_with_container:()=>Os,tuple_create_with_item:()=>Rs,tuple_create_with_noreturn:()=>vs,tuple_create_with_text2:()=>cs,tuple_create_with_text_return:()=>gs,tuple_del:()=>As,tuple_find:()=>fs,tuple_getIndex:()=>Cs,tuple_getSublist:()=>Ps,tuple_get_random_item:()=>Xs,tuple_get_sublist:()=>Ys,tuple_input:()=>bs,tuple_join:()=>Ls,tuple_length:()=>Ss,tuple_max:()=>Ns,tuple_totuple:()=>ys,tuple_trig:()=>Fs});var l={};e.r(l),e.d(l,{set_add_discard:()=>Js,set_clear:()=>Hs,set_create_with:()=>Bs,set_create_with_container:()=>Gs,set_create_with_item:()=>Us,set_create_with_text_return:()=>Qs,set_length:()=>ws,set_operate:()=>Ws,set_operate_update:()=>Ks,set_pop:()=>ks,set_sub:()=>qs,set_toset:()=>js,set_update:()=>zs});var d={};e.r(d),e.d(d,{html_content:()=>i_,html_content_more:()=>n_,html_document:()=>Zs,html_form:()=>__,html_head_body:()=>t_,html_style:()=>s_,html_style_color:()=>p_,html_style_content:()=>o_,html_text:()=>a_,html_title:()=>e_});var I={};e.r(I),e.d(I,{attribute_access:()=>g_,function_call:()=>O_,function_call_container:()=>R_,function_call_item:()=>c_,raw_block:()=>l_,raw_empty:()=>I_,raw_expression:()=>d_,raw_table:()=>r_,text_comment:()=>T_,text_print_multiple:()=>h_,text_print_multiple_container:()=>m_,text_print_multiple_item:()=>E_,type_check:()=>M_});var T={};e.r(T),e.d(T,{controls_type:()=>N_,controls_typeLists:()=>D_,lists_zip:()=>f_,unpack_iterable_object:()=>F_,variables_change:()=>A_,variables_get:()=>C_,variables_global:()=>L_,variables_set:()=>S_});var M={};e.r(M),e.d(M,{Panic_with_status_code:()=>G_,base_setup:()=>v_,controls_delay:()=>B_,controls_flow_statements:()=>V_,controls_for:()=>y_,controls_forEach:()=>W_,controls_for_range:()=>b_,controls_if:()=>Y_,controls_interrupts:()=>k_,controls_lambda:()=>J_,controls_main:()=>P_,controls_millis:()=>U_,controls_nointerrupts:()=>H_,controls_pass:()=>z_,controls_range:()=>K_,controls_repeat:()=>no,controls_repeat_ext:()=>$_,controls_thread:()=>Q_,controls_try_finally:()=>X_,controls_whileUntil:()=>x_,datetime_fromtimestamp:()=>so,do_while:()=>j_,garbage_collection:()=>Z_,gene_unique_identifier:()=>_o,get_mem_alloc:()=>eo,get_mem_free:()=>to,get_unique_identifier:()=>io,reset:()=>w_,time_sleep:()=>q_});var h={};e.r(h),e.d(h,{base_map:()=>No,generate_cartesian_product:()=>fo,math_arithmetic:()=>ro,math_bit:()=>uo,math_constant:()=>po,math_constant_mp:()=>ao,math_constrain:()=>Ro,math_dec:()=>Mo,math_degree_to_radian:()=>Po,math_indexer_number:()=>Co,math_map:()=>Oo,math_max_min:()=>mo,math_number:()=>oo,math_number_base_conversion:()=>co,math_radian_to_degree:()=>Fo,math_random:()=>Eo,math_random_seed:()=>go,math_round:()=>So,math_selfcalcu:()=>lo,math_single:()=>Io,math_to_int:()=>ho,math_trig:()=>To,text_to_number:()=>Ao,text_to_number_skulpt:()=>Lo,turn_to_int:()=>Do});var m={};e.r(m),e.d(m,{ascii_to_char:()=>xo,char_to_ascii:()=>Vo,number_to_text:()=>Bo,os_system:()=>ap,text:()=>vo,text_bytes:()=>Xo,text_capital:()=>qo,text_center:()=>zo,text_char:()=>yo,text_char_at:()=>wo,text_char_at2:()=>Uo,text_char_at3:()=>_p,text_compareTo:()=>sp,text_compare_to:()=>Wo,text_encode:()=>op,text_equals_starts_ends:()=>Ho,text_eval:()=>pp,text_find:()=>Qo,text_format:()=>tp,text_format_noreturn:()=>ip,text_join:()=>bo,text_join_seq:()=>jo,text_length:()=>Go,text_random_char:()=>ko,text_replace:()=>$o,text_split:()=>Zo,text_strip:()=>ep,text_substring:()=>Jo,text_substring2:()=>Ko,text_substring3:()=>np,text_textarea:()=>Yo});var E={};e.r(E),e.d(E,{content_in_lists:()=>wp,enumerate:()=>Up,list_many_input:()=>Dp,list_tolist:()=>Bp,list_tolist2:()=>Gp,list_trig:()=>Ap,lists_2d_get_col_row_data:()=>lp,lists_2d_get_data_with_col_row:()=>rp,lists_append_extend:()=>hp,lists_change_to:()=>Np,lists_change_to_general:()=>Fp,lists_clear:()=>cp,lists_create_with:()=>dp,lists_create_with2:()=>vp,lists_create_with_noreturn:()=>fp,lists_create_with_text:()=>Ip,lists_create_with_text2:()=>Yp,lists_del_general:()=>Pp,lists_find:()=>gp,lists_getIndex3:()=>Xp,lists_getSublist3:()=>yp,lists_get_index:()=>Tp,lists_get_random_item:()=>mp,lists_get_random_sublist:()=>Ep,lists_get_sublist:()=>up,lists_insert_value:()=>Op,lists_insert_value2:()=>xp,lists_pop:()=>Sp,lists_remove_at:()=>Cp,lists_remove_at2:()=>Vp,lists_reverse:()=>Rp,lists_setIndex3:()=>bp,lists_set_index:()=>Mp,lists_sort:()=>Lp});var O={};e.r(O),e.d(O,{dicts_add_change_del:()=>ta,dicts_add_or_change:()=>Jp,dicts_clear:()=>Qp,dicts_create_with:()=>kp,dicts_create_with_noreturn:()=>sa,dicts_deldict:()=>ea,dicts_delete:()=>qp,dicts_get:()=>Wp,dicts_get_default:()=>Kp,dicts_items:()=>jp,dicts_keys:()=>Hp,dicts_length:()=>Zp,dicts_pop:()=>ia,dicts_setdefault:()=>na,dicts_to_json:()=>oa,dicts_to_json2:()=>ua,dicts_to_to:()=>aa,dicts_todict:()=>_a,dicts_update:()=>zp,dicts_values:()=>$p,json_to_dicts:()=>pa});var R={};e.r(R),e.d(R,{logic_boolean:()=>Ta,logic_compare:()=>ra,logic_compare_continous:()=>la,logic_is:()=>Ea,logic_is_in:()=>ma,logic_negate:()=>Ia,logic_null:()=>Ma,logic_operation:()=>da,logic_tobool:()=>Oa,logic_true_or_false:()=>ha});var c={};e.r(c),e.d(c,{sdcard_mount:()=>wa,sdcard_use_spi_init:()=>Ua,storage_can_write_ornot:()=>Da,storage_change_dir:()=>ba,storage_close_file:()=>Fa,storage_delete_file:()=>va,storage_file_seek:()=>ya,storage_file_tell:()=>Xa,storage_file_write:()=>Sa,storage_fileopen:()=>ca,storage_fileopen_new:()=>ga,storage_fileopen_new_encoding:()=>Ca,storage_get_a_line:()=>Na,storage_get_contents:()=>La,storage_get_contents_without_para:()=>Aa,storage_get_current_dir:()=>xa,storage_get_file_size:()=>Ya,storage_get_filename:()=>fa,storage_is_file:()=>Ga,storage_list_all_files:()=>Pa,storage_make_dir:()=>Va,storage_open_file_with_os:()=>Ra,storage_rename:()=>Ba});var g={};e.r(g),e.d(g,{procedures_callnoreturn:()=>Ka,procedures_callreturn:()=>Wa,procedures_defnoreturn:()=>Ha,procedures_defreturn:()=>ka,procedures_ifreturn:()=>Ja,procedures_return:()=>qa});var C={};e.r(C),e.d(C,{tuple_change_to:()=>nu,tuple_create_llm_params:()=>du,tuple_create_with:()=>za,tuple_create_with_noreturn:()=>pu,tuple_create_with_text2:()=>Qa,tuple_create_with_text_return:()=>ja,tuple_del:()=>eu,tuple_find:()=>su,tuple_getIndex:()=>$a,tuple_getSublist:()=>ou,tuple_get_random_item:()=>uu,tuple_get_sublist:()=>au,tuple_input:()=>lu,tuple_join:()=>tu,tuple_length:()=>Za,tuple_max:()=>iu,tuple_totuple:()=>ru,tuple_trig:()=>_u});var S={};e.r(S),e.d(S,{set_add_discard:()=>Ou,set_clear:()=>hu,set_create_with:()=>Iu,set_create_with_text_return:()=>gu,set_length:()=>Tu,set_operate:()=>mu,set_operate_update:()=>Eu,set_pop:()=>Mu,set_sub:()=>Ru,set_toset:()=>Cu,set_update:()=>cu});var A={};e.r(A),e.d(A,{html_content:()=>Nu,html_content_more:()=>Du,html_document:()=>Su,html_form:()=>Fu,html_head_body:()=>Lu,html_style:()=>fu,html_style_content:()=>Pu,html_text:()=>vu,html_title:()=>Au});var L={};e.r(L),e.d(L,{attribute_access:()=>Bu,function_call:()=>Vu,raw_block:()=>Yu,raw_empty:()=>yu,raw_expression:()=>Xu,raw_table:()=>bu,type_check:()=>xu});var N={};e.r(N),e.d(N,{PIN_init:()=>Kr,actuator_extern_get_led_bright:()=>tr,actuator_extern_get_led_state:()=>ir,actuator_extern_led_bright:()=>er,actuator_extern_led_brightness:()=>nr,actuator_ms32006_dcmotor:()=>dr,actuator_ms32006_init:()=>lr,actuator_ms32006_stepper:()=>Ir,actuator_neopixel_init:()=>Tr,actuator_neopixel_rgb:()=>Mr,actuator_neopixel_rgb_all:()=>hr,actuator_neopixel_rgb_show_all_chase:()=>Or,actuator_neopixel_rgb_show_all_rainbow:()=>Er,actuator_neopixel_write:()=>mr,actuator_use_uart_init:()=>Rr,backstage_esp32_music_play_list:()=>qu,esp32_music_get_tempo_extern:()=>Qu,esp32_music_pitch:()=>Wu,esp32_music_pitch_init:()=>Hu,esp32_music_pitch_with_time:()=>Ku,esp32_music_play_list:()=>Ju,esp32_music_reset_extern:()=>ju,esp32_music_set_tempo_extern:()=>zu,esp32_music_stop:()=>$u,esp32_set_music_volume:()=>Zu,mixbot_actuator_extern_get_addr:()=>Hr,mixbot_actuator_extern_set_addr:()=>Wr,mixbot_addr_extern:()=>Pr,parrot_PIN_init:()=>Qr,parrot_move_speed:()=>jr,pin_led_bright:()=>Jr,player_insert_music:()=>Lr,player_play_music:()=>Ar,player_set_mode:()=>Sr,player_set_play:()=>gr,player_set_volume:()=>Cr,player_whether_stop:()=>cr,robot_led_extern:()=>yr,robot_led_extern_get_value:()=>br,robot_motor_extern:()=>vr,robot_motor_extern_get_speed:()=>Yr,robot_servo_extern_absolute_run:()=>Gr,robot_servo_extern_get_status:()=>xr,robot_servo_extern_relative_continue:()=>kr,robot_servo_extern_relative_origin:()=>Ur,robot_servo_extern_relative_run:()=>wr,robot_servo_extern_stop:()=>Br,robot_servo_extern_stop_mode:()=>Vr,robot_traffic_light_extern:()=>Xr,servo_PIN_init:()=>qr,servo_get_angle:()=>ur,servo_get_speed:()=>rr,servo_init:()=>sr,servo_move:()=>_r,servo_move_angle:()=>zr,servo_set_angle:()=>pr,servo_set_speed:()=>ar,servo_speed_360:()=>or,syn6288_builtin_voice:()=>fr,syn6288_get_voice:()=>Dr,syn6288_set_voice:()=>Nr,syn6288_tts_play:()=>Fr});var D={};e.r(D),e.d(D,{actuator_dc_motor:()=>Fl,actuator_dc_motor_stop:()=>Pl,actuator_get_led_bright:()=>il,actuator_get_led_state:()=>nl,actuator_led_bright:()=>tl,actuator_led_brightness:()=>sl,actuator_mixbot_buzzer_on_off:()=>bl,actuator_mixgo_nova_mic_get:()=>Ul,actuator_mixgo_nova_mic_set:()=>Gl,actuator_mixgo_nova_onboard_music_pitch:()=>Jl,actuator_mixgo_nova_onboard_music_stop:()=>ql,actuator_mixgo_nova_play_audio:()=>Wl,actuator_mixgo_nova_play_online_audio:()=>Kl,actuator_mixgo_nova_record_audio:()=>Hl,actuator_mixgo_nova_voice_get:()=>kl,actuator_mixgo_nova_voice_set:()=>wl,actuator_mixgo_zero_led_color:()=>_l,actuator_onboard_neopixel_rgb:()=>ll,actuator_onboard_neopixel_rgb_all:()=>dl,actuator_onboard_neopixel_rgb_show_all_chase:()=>Tl,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Il,actuator_onboard_neopixel_write:()=>Ml,actuator_rm_onboard_neopixel_rgb:()=>hl,actuator_rm_onboard_neopixel_rgb_all:()=>ml,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>El,actuator_stepper_keep:()=>Dl,actuator_stepper_stop:()=>fl,analog_ble_keyboard_init:()=>pd,analog_ble_keyboard_input:()=>rd,analog_ble_keyboard_mouse_init:()=>Ed,analog_ble_keyboard_mouse_input:()=>gd,analog_ble_keyboard_mouse_send_battery:()=>cd,analog_ble_keyboard_mouse_str:()=>Cd,analog_ble_keyboard_send_battery:()=>dd,analog_ble_keyboard_str:()=>ld,analog_ble_mouse_init:()=>Id,analog_ble_mouse_input:()=>hd,analog_ble_mouse_keyboard_input:()=>Sd,analog_ble_mouse_send_battery:()=>md,analog_keyboard_input:()=>$l,analog_keyboard_str:()=>od,analog_mouse_input:()=>sd,backstage_onboard_music_play_list:()=>Ll,bitbot_motor:()=>Bl,bitbot_move:()=>xl,bitbot_stop:()=>Vl,ble_keyboard_connect:()=>ud,ble_keyboard_get_mac:()=>ad,ble_keyboard_mouse_connect:()=>Rd,ble_keyboard_mouse_get_mac:()=>Od,ble_mouse_connect:()=>Md,ble_mouse_get_mac:()=>Td,cc_number:()=>rl,educore_ble_keyboard_input:()=>Xd,educore_ble_sensor_connected:()=>Yd,educore_ble_sensor_init:()=>vd,educore_buzzer:()=>Ad,educore_buzzer_play_tone:()=>Ld,educore_buzzer_play_tone_time:()=>Nd,educore_buzzer_stop:()=>Dd,educore_neopixel_clear:()=>Pd,educore_neopixel_rgb:()=>Fd,educore_rgb_light:()=>fd,esp32_music_get_tempo:()=>Rl,esp32_music_reset:()=>cl,esp32_music_set_tempo:()=>Ol,esp32_onboard_music_pitch:()=>gl,esp32_onboard_music_pitch_with_time:()=>Cl,esp32_onboard_music_play_list:()=>Al,esp32_onboard_music_stop:()=>Sl,general_key:()=>ed,general_key_tuple:()=>td,generalkey_container:()=>id,generalkey_create_with_item:()=>nd,get_keyboard_light:()=>yd,get_power_output:()=>Ql,ledswitch:()=>el,mixbot_motor:()=>yl,mixbot_motor_status:()=>vl,mixbot_move:()=>Yl,mixbot_stop:()=>Xl,mouse_key:()=>_d,number:()=>Zr,record_audio:()=>xd,rm_actuator_get_led_bright:()=>pl,rm_actuator_get_led_state:()=>al,rm_actuator_led_bright:()=>ol,rm_actuator_led_brightness:()=>ul,rm_motor:()=>Nl,set_all_power_output:()=>jl,set_microphone_amplification:()=>bd,set_music_volume:()=>Vd,set_power_output:()=>zl,special_key:()=>Zl});var f={};e.r(f),e.d(f,{ai_sensor_20object:()=>EI,ai_sensor_ailocal_class:()=>pI,ai_sensor_ailocal_class_result:()=>aI,ai_sensor_ailocal_train:()=>oI,ai_sensor_asr_recognize:()=>II,ai_sensor_audio_play:()=>rI,ai_sensor_audio_record:()=>uI,ai_sensor_barcode:()=>Kd,ai_sensor_circle:()=>$d,ai_sensor_classifier_faces:()=>mI,ai_sensor_color:()=>iI,ai_sensor_color_chases:()=>_I,ai_sensor_color_chases_result:()=>sI,ai_sensor_config:()=>Hd,ai_sensor_face:()=>hI,ai_sensor_find_20objects:()=>OI,ai_sensor_find_barcodes:()=>Jd,ai_sensor_find_circles:()=>Zd,ai_sensor_find_colors:()=>nI,ai_sensor_find_licenseplates:()=>MI,ai_sensor_find_lines:()=>jd,ai_sensor_find_qrcodes:()=>kd,ai_sensor_find_rects:()=>tI,ai_sensor_find_tags:()=>zd,ai_sensor_licenseplate:()=>TI,ai_sensor_line:()=>Qd,ai_sensor_qrcode:()=>Ud,ai_sensor_qrcode_lite:()=>wd,ai_sensor_rect:()=>eI,ai_sensor_rgb:()=>Wd,ai_sensor_tag:()=>qd,ai_sensor_use_uart_init:()=>Gd,ai_sensor_yolo_recognize:()=>lI,ai_sensor_yolo_recognize_result:()=>dI});var F={};e.r(F),e.d(F,{MICROPYTHON_AI_Speech_asr:()=>gI,MICROPYTHON_AI_Speech_unit:()=>cI,MICROPYTHON_AI_client:()=>RI});var P={};e.r(P),e.d(P,{mpython_blynk_app_data:()=>xI,mpython_blynk_app_notify:()=>FI,mpython_blynk_email:()=>YI,mpython_blynk_get_timers:()=>XI,mpython_blynk_on_connected:()=>NI,mpython_blynk_on_disconnected:()=>LI,mpython_blynk_run:()=>fI,mpython_blynk_sensor_data_to_app:()=>bI,mpython_blynk_set_property:()=>vI,mpython_blynk_setup:()=>VI,mpython_blynk_stop_timers:()=>PI,mpython_blynk_sync_virtual:()=>AI,mpython_blynk_terminal_widget_vpin:()=>SI,mpython_blynktimer:()=>yI,mpython_blynktimer_run:()=>DI});var v={};e.r(v),e.d(v,{cc_g1_init:()=>BI,cc_g1_read_bat:()=>GI,cc_g1_read_joystick:()=>UI,cc_g1_read_key:()=>wI,cc_g1_turnoff:()=>kI});var Y={};e.r(Y),e.d(Y,{ce_go_dc_motor:()=>$I,ce_go_get_led_bright:()=>JI,ce_go_get_led_state:()=>qI,ce_go_hall_attachInterrupt:()=>ZI,ce_go_hall_data:()=>tT,ce_go_hall_initialize:()=>eT,ce_go_led_bright:()=>KI,ce_go_led_brightness:()=>zI,ce_go_light_number:()=>WI,ce_go_pin_light:()=>oT,ce_go_pin_near:()=>nT,ce_go_pin_near_line:()=>iT,ce_go_pin_near_state_change:()=>sT,ce_go_stepper_keep:()=>QI,ce_go_stepper_stop:()=>jI,educore_car:()=>pT,educore_car_pin_near:()=>lT,educore_car_pin_near_line:()=>rT,educore_car_stepper_keep:()=>aT,educore_car_stepper_stop:()=>uT,sensor_mixgome_eulerangles:()=>_T});var X={};e.r(X),e.d(X,{communicate_bluetooth_central_init:()=>JT,communicate_bluetooth_connect:()=>jT,communicate_bluetooth_disconnect:()=>$T,communicate_bluetooth_handle:()=>nM,communicate_bluetooth_is_connected:()=>eM,communicate_bluetooth_mac:()=>QT,communicate_bluetooth_peripheral_init:()=>qT,communicate_bluetooth_recv:()=>tM,communicate_bluetooth_recv_only:()=>iM,communicate_bluetooth_scan:()=>zT,communicate_bluetooth_send:()=>ZT,communicate_espnow_init:()=>sM,communicate_espnow_init_new:()=>_M,communicate_i2c_available:()=>fT,communicate_i2c_init:()=>MT,communicate_i2c_master_read:()=>DT,communicate_i2c_onboard:()=>IT,communicate_i2c_read:()=>hT,communicate_i2c_scan:()=>ET,communicate_i2c_write:()=>mT,communicate_ir_recv_init:()=>xT,communicate_ir_send_init:()=>wT,communicate_ow_init:()=>PT,communicate_ow_read:()=>YT,communicate_ow_reset:()=>bT,communicate_ow_scan:()=>vT,communicate_ow_select:()=>yT,communicate_ow_write:()=>XT,communicate_spi_buffer:()=>cT,communicate_spi_init:()=>OT,communicate_spi_onboard:()=>TT,communicate_spi_read:()=>gT,communicate_spi_read_output:()=>CT,communicate_spi_readinto:()=>ST,communicate_spi_readinto_output:()=>AT,communicate_spi_set:()=>RT,communicate_spi_write:()=>LT,communicate_spi_write_readinto:()=>NT,espnow_radio_channel:()=>lM,espnow_radio_channel_new:()=>IM,espnow_radio_on_off:()=>TM,espnow_radio_rec:()=>hM,espnow_radio_recv:()=>EM,espnow_radio_recv_certain_msg:()=>OM,espnow_radio_recv_certain_msg_new:()=>cM,espnow_radio_recv_msg:()=>mM,espnow_radio_recv_new:()=>RM,espnow_radio_send:()=>MM,espnow_radio_txpower:()=>dM,i2c_available:()=>kM,i2c_init:()=>fM,i2c_master_reader2:()=>wM,i2c_read:()=>FM,i2c_scan:()=>vM,i2c_slave_onreceive:()=>FT,i2c_write:()=>PM,internal_variable:()=>VT,ir_recv_timeout:()=>UT,ir_transmit_busy:()=>KT,ir_transmit_conventional_data:()=>kT,ir_transmit_raw_code:()=>WT,ir_transmit_study_code:()=>HT,ir_whether_recv:()=>GT,lora_init:()=>gM,lora_packet:()=>CM,lora_recv:()=>AM,lora_send:()=>SM,network_espnow_info:()=>pM,network_espnow_mac:()=>oM,network_espnow_recv:()=>aM,network_espnow_recv_handle:()=>rM,network_espnow_send:()=>uM,recv_fun:()=>BT,spi_buffer:()=>yM,spi_init:()=>YM,spi_read:()=>bM,spi_read_output:()=>xM,spi_readinto:()=>VM,spi_readinto_output:()=>BM,spi_set:()=>XM,spi_write:()=>GM,spi_write_readinto:()=>UM,urequests_attribute:()=>NM,urequests_get:()=>LM,urequests_method:()=>DM});var y={};e.r(y),e.d(y,{display_animate:()=>ch,display_blink_rate:()=>mh,display_circle:()=>gh,display_color_seclet:()=>Xh,display_draw_4strings:()=>lh,display_fill:()=>Rh,display_get_screen_image:()=>hh,display_help:()=>Sh,display_image_size:()=>dh,display_lcd_use_i2c_init:()=>Gh,display_line:()=>Th,display_line_arbitrarily:()=>Mh,display_matrix_extern_bright_point:()=>nh,display_matrix_extern_bright_screen:()=>_h,display_matrix_extern_clear:()=>oh,display_matrix_extern_get_pixel:()=>ih,display_matrix_extern_get_screen_pixel:()=>sh,display_matrix_extern_image_builtins:()=>ph,display_matrix_extern_scroll_string:()=>jM,display_matrix_extern_scroll_string_delay:()=>$M,display_matrix_extern_shift:()=>th,display_matrix_extern_show_frame_string:()=>ZM,display_matrix_extern_show_frame_string_delay:()=>eh,display_matrix_extern_show_image:()=>zM,display_matrix_extern_show_image_or_string_delay:()=>QM,display_matrix_use_i2c_init:()=>qM,display_oled_drawPixel:()=>Lh,display_oled_showBitmap:()=>Ah,display_oled_use_i2c_init:()=>Wh,display_onoff:()=>Oh,display_rect:()=>Ih,display_rgb_color:()=>Eh,display_tm1650_power:()=>Dh,display_tm1650_set_brightness:()=>Ph,display_tm1650_show_dot:()=>Fh,display_tm1650_show_num:()=>fh,display_tm_use_i2c_init:()=>Nh,display_triangle:()=>Ch,display_use_i2c_init:()=>rh,extern_oled_bright_point:()=>im,extern_oled_clear:()=>nm,extern_oled_get_pixel:()=>tm,extern_oled_hvline:()=>_m,extern_oled_line:()=>om,extern_oled_scroll_string:()=>Qh,extern_oled_scroll_string_delay:()=>jh,extern_oled_shape_rect:()=>sm,extern_oled_shift:()=>em,extern_oled_show_frame_string:()=>$h,extern_oled_show_frame_string_delay:()=>Zh,extern_oled_show_image:()=>Kh,extern_oled_show_image_or_string_delay:()=>zh,extern_oled_show_image_xy:()=>Jh,extern_oled_show_string:()=>qh,lcd_backlight:()=>kh,lcd_clear:()=>Hh,lcd_print_string:()=>wh,lcd_show_image_or_string_delay:()=>Uh,matrix_extern_image_arithmetic:()=>ah,matrix_extern_image_invert:()=>uh,tft_fill:()=>Vh,tft_line_arbitrarily:()=>Bh,tft_scroll_string_delay:()=>bh,tft_show_frame_string_delay:()=>xh,tft_show_image_or_string_delay:()=>yh,tft_show_image_xy:()=>Yh,tft_use_spi_init:()=>vh});var b={};e.r(b),e.d(b,{bitbot_display_bitmap_create:()=>eE,bitbot_display_image_create:()=>Zm,display_available:()=>Dm,display_bitmap_create:()=>mm,display_bright_point:()=>Sm,display_bright_screen:()=>Lm,display_clear:()=>Nm,display_get_pixel:()=>Cm,display_get_screen_pixel:()=>Am,display_image_builtins:()=>Em,display_image_builtins_all:()=>Om,display_image_create:()=>hm,display_scroll_string:()=>rm,display_scroll_string_delay:()=>lm,display_scroll_way:()=>dm,display_shift:()=>gm,display_show_frame_string:()=>Tm,display_show_frame_string_delay:()=>Mm,display_show_image:()=>am,display_show_image_or_string_delay:()=>um,draw_pointer:()=>mE,image_arithmetic:()=>Rm,image_invert:()=>cm,mixbot_display_bitmap_create:()=>qm,mixbot_display_bright_screen:()=>jm,mixbot_display_get_ambientbright:()=>Qm,mixbot_display_get_screen_pixel:()=>zm,mixbot_display_image_create:()=>Jm,mixbot_display_rotate:()=>$m,mixgo_display_bitmap_create:()=>Xm,mixgo_display_image_create_new:()=>Ym,mixgome_display_bitmap_create:()=>Fm,mixgome_display_font:()=>ym,mixgome_display_image_create:()=>fm,mixgomini_display_bitmap_create:()=>vm,mixgomini_display_image_create:()=>Pm,mpython_display_hvline:()=>Hm,mpython_display_line:()=>Wm,mpython_display_shape_rect:()=>km,mpython_pbm_image:()=>Km,nova_draw_pointer:()=>EE,onboard_oled_bright_point:()=>wm,onboard_oled_scroll_string_delay:()=>Gm,onboard_oled_show_frame_string_delay:()=>Um,onboard_oled_show_image:()=>bm,onboard_oled_show_image_or_string_delay:()=>Bm,onboard_oled_show_image_xy:()=>xm,onboard_oled_show_string:()=>Vm,onboard_tft_bright_point:()=>uE,onboard_tft_bright_screen:()=>NE,onboard_tft_clear:()=>DE,onboard_tft_clock_clear:()=>ME,onboard_tft_clock_draw:()=>TE,onboard_tft_clock_get_rtctime:()=>dE,onboard_tft_clock_init:()=>lE,onboard_tft_clock_set_time:()=>IE,onboard_tft_display_hvline:()=>oE,onboard_tft_display_line:()=>pE,onboard_tft_display_shape_circle:()=>hE,onboard_tft_display_shape_rect:()=>_E,onboard_tft_fill:()=>rE,onboard_tft_get_pixel:()=>aE,onboard_tft_get_screen_pixel:()=>LE,onboard_tft_scroll_string:()=>CE,onboard_tft_scroll_string_delay:()=>Im,onboard_tft_shift:()=>AE,onboard_tft_show_frame_string:()=>SE,onboard_tft_show_frame_string_delay:()=>sE,onboard_tft_show_image:()=>gE,onboard_tft_show_image_or_string_delay:()=>nE,onboard_tft_show_image_xy:()=>tE,onboard_tft_show_image_xy_direct:()=>iE,onboard_tft_show_qrcode:()=>RE,onboard_tft_show_qrcode_details:()=>cE,onboard_tft_show_texts:()=>OE});var x={};e.r(x),e.d(x,{factory_block:()=>KE,factory_block_return:()=>JE,factory_block_return_with_textarea:()=>zE,factory_block_with_textarea:()=>qE,factory_callMethod_noreturn:()=>HE,factory_callMethod_return:()=>WE,factory_create_with_container:()=>GE,factory_create_with_item:()=>UE,factory_declare:()=>kE,factory_from_import:()=>xE,factory_function_noreturn:()=>BE,factory_function_return:()=>wE,factory_import:()=>VE,folding_block:()=>QE});var V={};e.r(V),e.d(V,{controls_pin_attachInterrupt:()=>EO,inout_analog_atten:()=>oO,inout_analog_read:()=>_O,inout_analog_read_init:()=>dO,inout_analog_write:()=>iO,inout_analog_write_init:()=>lO,inout_analog_write_set:()=>nO,inout_analog_write_set_freq:()=>MO,inout_digital_init:()=>uO,inout_digital_read:()=>eO,inout_digital_write:()=>ZE,inout_highlow:()=>$E,inout_pinMode:()=>TO,inout_pin_attachInterrupt:()=>aO,inout_pin_pressed:()=>pO,inout_pin_pressed_init:()=>IO,inout_pwm_analog_write:()=>tO,inout_pwm_analog_write_init:()=>rO,inout_pwm_analog_write_set_freq:()=>sO,pin_pressed:()=>mO,pin_pressed_init:()=>hO});var B={};e.r(B),e.d(B,{IOT_CONNECT_OLLAMA:()=>iR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>kO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>wO,IOT_EMQX_PING:()=>GO,IOT_FORMATTING:()=>VO,IOT_FORMAT_STRING:()=>BO,IOT_MIXIO_NTP:()=>UO,IOT_MIXIO_PUBLISH:()=>FO,IOT_MIXIO_PUBLISHEX:()=>PO,IOT_MIXIO_SUBSCRIBE:()=>vO,iot_checkonenet:()=>ZO,iot_client_onboard:()=>WO,iot_connect_ollama:()=>tR,iot_connect_openai:()=>nR,iot_create_with_item:()=>DO,iot_http_client:()=>KO,iot_http_data:()=>JO,iot_mixio_check:()=>yO,iot_mixio_connect:()=>fO,iot_mixio_connect_only:()=>XO,iot_mixio_disconnect:()=>YO,iot_mixio_format_msg:()=>xO,iot_mixio_format_topic:()=>bO,iot_mixly_key:()=>HO,iot_mqtt_client:()=>qO,iot_mqtt_data:()=>zO,iot_onenet_check:()=>CO,iot_onenet_connect:()=>cO,iot_onenet_disconnect:()=>gO,iot_onenet_publish:()=>AO,iot_onenet_publish_dict:()=>SO,iot_onenetconnect:()=>jO,iot_onenetdisconnect:()=>$O,iot_publish:()=>eR,iot_publish_container:()=>LO,iot_publish_item:()=>NO,iot_tiny_web_db_count:()=>lR,iot_tiny_web_db_delete:()=>IR,iot_tiny_web_db_get:()=>rR,iot_tiny_web_db_init:()=>pR,iot_tiny_web_db_init_with_mqtt:()=>aR,iot_tiny_web_db_search:()=>dR,iot_tiny_web_db_update:()=>uR,iot_wifi_connect:()=>RO,iot_wificonnect:()=>QO,ollama_empty_history:()=>oR,use_ollama_llm_to_chat:()=>sR,use_ollama_llm_to_chat_return:()=>_R});var G={};e.r(G),e.d(G,{educore_mqtt_connect:()=>JR,educore_mqtt_connect_success:()=>jR,educore_mqtt_subscribe_message:()=>qR,educore_mqtt_topic_publish:()=>QR,educore_mqtt_topic_subscribe:()=>zR,educore_wifi_connect:()=>KR,network_ap_connect:()=>SR,network_connect:()=>OR,network_get_connect:()=>cR,network_get_wifi:()=>CR,network_init:()=>MR,network_is_active:()=>mR,network_open:()=>hR,network_scan:()=>ER,network_server:()=>AR,network_socket_accept:()=>FR,network_socket_bind:()=>NR,network_socket_close:()=>bR,network_socket_connect:()=>DR,network_socket_init:()=>LR,network_socket_listen:()=>fR,network_socket_readline:()=>PR,network_socket_receive:()=>vR,network_socket_receive_from:()=>XR,network_socket_send:()=>YR,network_socket_send_to:()=>yR,network_stop:()=>gR,network_wifi_connect:()=>RR,ntptime_address:()=>UR,ntptime_time:()=>GR,requests_attribute:()=>VR,requests_attribute2:()=>WR,requests_get:()=>xR,requests_get2:()=>kR,requests_method:()=>BR,requests_post:()=>HR});var U={};e.r(U),e.d(U,{CI130X_BROADCAST:()=>gc,CI130X_GET_THE_RECOGNIZED_CMD:()=>cc,CI130X_GET_WHETHER_IDENTIFY:()=>Rc,CI130X_IDENTIFY_AND_SAVE:()=>Oc,CI130X_SET_SYSTEM_CMD:()=>Cc,HCSR04:()=>lg,PS2_Button:()=>Mg,PS2_Buttons:()=>mg,PS2_Buttons_new:()=>cg,PS2_State:()=>hg,PS2_init:()=>dg,PS2_init_new:()=>Og,PS2_stk:()=>Eg,PS2_stk_new:()=>gg,PS2_vibration:()=>Tg,PS2_vibration_new:()=>Rg,camera_sensor_init:()=>$g,camera_sensor_result:()=>Zg,column_tube_foot:()=>sC,define_keyboards:()=>_C,educore_body_sensor:()=>wg,educore_button_sensor_extern:()=>Kg,educore_camera_sensor:()=>jg,educore_infrared_sensor:()=>Wg,educore_soilhum_sensor:()=>kg,educore_temp_sensor:()=>Qg,educore_temphum_sensor:()=>Hg,educore_ultrasonic_sensor:()=>qg,esp32_s2_weather_init:()=>pg,esp32_s2_weather_rain:()=>ug,esp32_s2_weather_wd:()=>ag,esp32_s2_weather_ws:()=>rg,extern_rfid_read:()=>Jc,extern_rfid_readcontent:()=>zc,extern_rfid_readid:()=>qc,extern_rfid_status:()=>$c,extern_rfid_write:()=>Qc,extern_rfid_write_return:()=>jc,get_keboards_value:()=>oC,gnss_get_data:()=>Lg,gnss_have_data:()=>Ag,init_init_rotary_encoder:()=>pC,init_matrix_keyboard:()=>iC,interaction_whether_to_interaction:()=>mc,interaction_whether_to_interaction_SANT:()=>Ec,line_tube_foot:()=>nC,mixbot_sensor_extern_get_addr:()=>Xg,mixbot_sensor_extern_set_addr:()=>yg,pm25_get_data:()=>Sg,radar_set_DETECTION_THRESHOLD:()=>Mc,radar_set_DETECTION_THRESHOLD_SANT:()=>hc,robot_button_extern_get_value:()=>Dg,robot_color_extern_get_value:()=>Yg,robot_infrared_extern_get_value:()=>Fg,robot_infrared_extern_grey_get_value:()=>Pg,robot_potentiometer_extern_get_value:()=>vg,robot_sonar_extern_get_value:()=>bg,robot_sonar_extern_led:()=>xg,robot_touch_extern_get_value:()=>fg,rotary_key:()=>aC,sensor_APDS9960_extern:()=>Ac,sensor_DS18X20:()=>dc,sensor_LTR308_extern:()=>Lc,sensor_LTR390UV_extern:()=>fc,sensor_MAX30102_extern:()=>Sc,sensor_QMC5883L_extern:()=>xc,sensor_VL530LX_extern:()=>Fc,sensor_adxl345_get_acceleration:()=>sc,sensor_aht11_extern:()=>vc,sensor_bmp:()=>rc,sensor_compass_reset:()=>Wc,sensor_dht11:()=>oc,sensor_hp203_extern:()=>Yc,sensor_light_level:()=>_c,sensor_lm35:()=>Ic,sensor_ltr381_extern:()=>Nc,sensor_mixgo_extern_button_attachInterrupt:()=>ic,sensor_mixgo_extern_button_get_presses:()=>tc,sensor_mixgo_extern_button_is_pressed:()=>ZR,sensor_mixgo_extern_button_was_pressed:()=>ec,sensor_mixgo_extern_light:()=>pc,sensor_mixgo_extern_pin_near:()=>uc,sensor_mixgo_extern_sound:()=>ac,sensor_mixgoce_hot_wheel_degrees:()=>og,sensor_mixgoce_hot_wheel_is_touched:()=>_g,sensor_mpu9250_attachGestureInterrupt:()=>nc,sensor_mpu9250_calibrate_compass:()=>wc,sensor_mpu9250_field_strength:()=>Hc,sensor_mpu9250_gesture:()=>Vc,sensor_mpu9250_get_acceleration:()=>Bc,sensor_mpu9250_get_gyro:()=>Uc,sensor_mpu9250_get_magnetic:()=>Gc,sensor_mpu9250_temperature:()=>kc,sensor_ms5611_extern:()=>yc,sensor_ms5611_extern_altitude:()=>bc,sensor_read_humiture:()=>Jg,sensor_sht:()=>lc,sensor_shtc3_extern:()=>Pc,sensor_spl06_001_extern:()=>Xc,sensor_ucs12071_extern:()=>Dc,sensor_use_i2c_init:()=>Tc,sensor_use_spi_init:()=>Kc,sensor_use_uart_init:()=>Cg,sensor_weather_solo_init:()=>Vg,sensor_weather_solo_rain:()=>Ug,sensor_weather_solo_wd:()=>Bg,sensor_weather_solo_ws:()=>Gg,sensor_weigh_init:()=>eC,tvoc_get_data:()=>Ng,ultrasonic_sensor_read_distance:()=>zg,weather_data:()=>Zc,weather_have_data:()=>eg,weather_set_label:()=>ig,weather_set_label_container:()=>ng,weather_set_label_item:()=>sg,weather_uart_mixio:()=>tg,weigh_sensor_get_weight:()=>tC});var w={};e.r(w),e.d(w,{HCSR04:()=>AC,RTC_set_date:()=>SC,RTC_set_time:()=>CC,bitbot_als_num:()=>XS,dht11:()=>US,educore_button_sensor:()=>QS,educore_button_was_pressed:()=>jS,educore_gyroscope_sensor:()=>JS,educore_gyroscope_sensor_read:()=>qS,educore_gyroscope_sensor_shake:()=>zS,educore_light_sensor:()=>KS,educore_rfid_sensor:()=>$S,educore_rfid_sensor_scan:()=>ZS,educore_rfid_sensor_scan_data:()=>eA,educore_voice_sensor:()=>HS,number1:()=>NC,number2:()=>DC,number3:()=>fC,number4:()=>FC,number5:()=>PC,number6:()=>vC,number7:()=>YC,onboard_RTC_get_time:()=>UC,onboard_RTC_get_time_str:()=>JC,onboard_RTC_get_timestamp:()=>wC,onboard_RTC_get_timetuple_to_str:()=>qC,onboard_RTC_set_datetime:()=>WC,onboard_RTC_settime_string:()=>HC,onboard_RTC_timestamp_totuple:()=>kC,rfid_readcontent:()=>tS,rfid_readid:()=>eS,rfid_status:()=>sS,rfid_write:()=>iS,rfid_write_return:()=>nS,sensor_LTR308:()=>zC,sensor_aht11:()=>jC,sensor_bitbot_ALS:()=>YS,sensor_button_get_presses:()=>xS,sensor_button_is_pressed:()=>yS,sensor_button_was_pressed:()=>bS,sensor_distance_hrsc04:()=>gC,sensor_eulerangles:()=>oS,sensor_field_strength:()=>wS,sensor_get_acceleration:()=>_S,sensor_get_temperature:()=>$C,sensor_get_the_coprocessor_version:()=>tA,sensor_hp203:()=>ZC,sensor_light:()=>GS,sensor_mixbot_get_gyro:()=>vS,sensor_mixbot_patrol_calibrate:()=>fS,sensor_mixbot_patrol_value:()=>FS,sensor_mixbot_temperature:()=>PS,sensor_mixgo_LTR308:()=>BC,sensor_mixgo_button_attachInterrupt:()=>IC,sensor_mixgo_button_get_presses:()=>dC,sensor_mixgo_button_is_pressed:()=>rC,sensor_mixgo_button_was_pressed:()=>lC,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>mS,sensor_mixgo_cc_mmc5603_get_angle:()=>hS,sensor_mixgo_cc_mmc5603_get_magnetic:()=>MS,sensor_mixgo_light:()=>LC,sensor_mixgo_nova_LTR308:()=>VC,sensor_mixgo_nova_pin_near:()=>xC,sensor_mixgo_pin_near:()=>bC,sensor_mixgo_pin_near_double:()=>yC,sensor_mixgo_pin_near_single:()=>XC,sensor_mixgo_pin_pressed:()=>EC,sensor_mixgo_sant_color:()=>GC,sensor_mixgo_touch_slide:()=>cC,sensor_mixgocar42_button_attachInterrupt:()=>mC,sensor_mixgocar42_button_get_presses:()=>hC,sensor_mixgocar42_button_is_pressed:()=>TC,sensor_mixgocar42_button_was_pressed:()=>MC,sensor_mixgocar_battery_left:()=>DS,sensor_mixgocar_pin_near:()=>LS,sensor_mixgocar_pin_near_line:()=>AS,sensor_mixgocar_pin_near_state_change:()=>NS,sensor_mixgoce_pin_pressed:()=>OC,sensor_mixgoce_temperature:()=>OS,sensor_mixgome_temperature:()=>ES,sensor_mpython_pin_pressed:()=>RC,sensor_mpython_qmi8658_get_gyro:()=>RS,sensor_mpython_qmi8658_temperature:()=>cS,sensor_onboard_compass_reset:()=>TS,sensor_onboard_mpu9250_calibrate_compass:()=>lS,sensor_onboard_mpu9250_field_strength:()=>IS,sensor_onboard_mpu9250_gesture:()=>pS,sensor_onboard_mpu9250_get_acceleration:()=>aS,sensor_onboard_mpu9250_get_gyro:()=>rS,sensor_onboard_mpu9250_get_magnetic:()=>uS,sensor_onboard_mpu9250_temperature:()=>dS,sensor_pin_near:()=>BS,sensor_pin_pressed:()=>VS,sensor_read:()=>WS,sensor_rm_acc:()=>SS,sensor_rm_battery_left:()=>CS,sensor_rm_pin_near_double:()=>gS,sensor_rtc_init:()=>KC,sensor_sound:()=>QC,sensor_temperature:()=>kS,simulated_light_sensor:()=>iA});var k={};e.r(k),e.d(k,{serial_any:()=>dA,serial_begin:()=>mA,serial_print:()=>pA,serial_print_byte:()=>oA,serial_print_hex:()=>uA,serial_println:()=>aA,serial_read_from_ai:()=>LA,serial_readline:()=>IA,serial_readstr:()=>lA,serial_readstr_until:()=>TA,serial_receive_data_event:()=>rA,serial_send_to_ai:()=>AA,serial_softserial:()=>hA,serial_softserial_new:()=>MA,system_input:()=>EA,system_print:()=>OA,system_print_container:()=>CA,system_print_end:()=>cA,system_print_inline:()=>RA,system_print_item:()=>SA,system_print_many:()=>gA});var H={};e.r(H),e.d(H,{Panic_with_status_code:()=>FA,Timer_init:()=>HA,base_delay:()=>JA,controls_delay:()=>fA,controls_delay_new:()=>DA,controls_millis:()=>vA,controls_uname:()=>XA,raw_block:()=>YA,reset:()=>PA,set_system_timer:()=>BA,system_bitbot_shutdown:()=>kA,system_machine_reset:()=>wA,system_ticks_diff:()=>xA,system_timer:()=>bA,system_timer_init:()=>VA,system_wdt_feed:()=>UA,system_wdt_init:()=>GA,time_ticks_diff:()=>KA,timer:()=>yA,timer2:()=>WA});var W={};e.r(W),e.d(W,{Air_daily_content:()=>pL,Air_now_content:()=>eL,Geo_moon_content:()=>uL,Geo_sun_content:()=>aL,Life_suggestion_content:()=>iL,Location_search_content:()=>sL,Tide_daily_content:()=>nL,WEATHER_DAILY:()=>QA,WEATHER_HOUR:()=>jA,WEATHER_NOW:()=>zA,Weather_alarm_content:()=>tL,Weather_daily:()=>_L,Weather_daily_content:()=>oL,Weather_now:()=>$A,Weather_now_content:()=>ZA});var K={};e.r(K),e.d(K,{PIN_init:()=>lN,actuator_extern_get_led_bright:()=>PL,actuator_extern_get_led_state:()=>vL,actuator_extern_led_bright:()=>FL,actuator_extern_led_brightness:()=>YL,actuator_ms32006_dcmotor:()=>mL,actuator_ms32006_init:()=>hL,actuator_ms32006_stepper:()=>EL,actuator_neopixel_init:()=>XL,actuator_neopixel_rgb:()=>xL,actuator_neopixel_rgb_all:()=>yL,actuator_neopixel_rgb_show_all_chase:()=>VL,actuator_neopixel_rgb_show_all_rainbow:()=>BL,actuator_neopixel_write:()=>bL,actuator_use_uart_init:()=>GL,backstage_esp32_music_play_list:()=>NL,esp32_music_get_tempo_extern:()=>AL,esp32_music_pitch:()=>RL,esp32_music_pitch_init:()=>OL,esp32_music_pitch_with_time:()=>cL,esp32_music_play_list:()=>LL,esp32_music_reset_extern:()=>DL,esp32_music_set_tempo_extern:()=>SL,esp32_music_stop:()=>gL,esp32_set_music_volume:()=>CL,mixbot_actuator_extern_get_addr:()=>uN,mixbot_actuator_extern_set_addr:()=>rN,mixbot_addr_extern:()=>QL,parrot_PIN_init:()=>MN,parrot_move_speed:()=>hN,pin_led_bright:()=>dN,player_play_music:()=>WL,player_set_mode:()=>HL,player_set_play:()=>wL,player_set_volume:()=>kL,player_whether_stop:()=>UL,robot_led_extern:()=>eN,robot_led_extern_get_value:()=>tN,robot_motor_extern:()=>jL,robot_motor_extern_get_speed:()=>$L,robot_servo_extern_absolute_run:()=>_N,robot_servo_extern_get_status:()=>iN,robot_servo_extern_relative_continue:()=>aN,robot_servo_extern_relative_origin:()=>oN,robot_servo_extern_relative_run:()=>pN,robot_servo_extern_stop:()=>sN,robot_servo_extern_stop_mode:()=>nN,robot_traffic_light_extern:()=>ZL,servo_PIN_init:()=>IN,servo_get_angle:()=>TL,servo_get_speed:()=>ML,servo_init:()=>rL,servo_move:()=>fL,servo_move_angle:()=>TN,servo_set_angle:()=>dL,servo_set_speed:()=>IL,servo_speed_360:()=>lL,syn6288_builtin_voice:()=>qL,syn6288_get_voice:()=>JL,syn6288_set_voice:()=>KL,syn6288_tts_play:()=>zL});var J={};e.r(J),e.d(J,{actuator_dc_motor:()=>WN,actuator_dc_motor_stop:()=>KN,actuator_get_led_bright:()=>DN,actuator_get_led_state:()=>fN,actuator_led_bright:()=>NN,actuator_led_brightness:()=>FN,actuator_mixbot_buzzer_on_off:()=>jN,actuator_mixgo_nova_mic_get:()=>iD,actuator_mixgo_nova_mic_set:()=>tD,actuator_mixgo_nova_onboard_music_pitch:()=>aD,actuator_mixgo_nova_onboard_music_stop:()=>uD,actuator_mixgo_nova_play_audio:()=>oD,actuator_mixgo_nova_play_online_audio:()=>pD,actuator_mixgo_nova_record_audio:()=>_D,actuator_mixgo_nova_voice_get:()=>sD,actuator_mixgo_nova_voice_set:()=>nD,actuator_mixgo_zero_led_color:()=>PN,actuator_onboard_neopixel_rgb:()=>VN,actuator_onboard_neopixel_rgb_all:()=>BN,actuator_onboard_neopixel_rgb_show_all_chase:()=>GN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>UN,actuator_onboard_neopixel_write:()=>xN,actuator_stepper_keep:()=>kN,actuator_stepper_stop:()=>HN,analog_ble_keyboard_init:()=>RD,analog_ble_keyboard_input:()=>CD,analog_ble_keyboard_mouse_init:()=>PD,analog_ble_keyboard_mouse_input:()=>yD,analog_ble_keyboard_mouse_send_battery:()=>XD,analog_ble_keyboard_mouse_str:()=>bD,analog_ble_keyboard_send_battery:()=>AD,analog_ble_keyboard_str:()=>SD,analog_ble_mouse_init:()=>LD,analog_ble_mouse_input:()=>fD,analog_ble_mouse_keyboard_input:()=>xD,analog_ble_mouse_send_battery:()=>FD,analog_keyboard_input:()=>ID,analog_keyboard_str:()=>ED,analog_mouse_input:()=>hD,backstage_onboard_music_play_list:()=>CN,bitbot_motor:()=>eD,bitbot_move:()=>$N,bitbot_stop:()=>ZN,ble_keyboard_connect:()=>gD,ble_keyboard_get_mac:()=>cD,ble_keyboard_mouse_connect:()=>YD,ble_keyboard_mouse_get_mac:()=>vD,ble_mouse_connect:()=>DD,ble_mouse_get_mac:()=>ND,cc_number:()=>vN,educore_ble_keyboard_input:()=>JD,educore_ble_sensor_connected:()=>KD,educore_ble_sensor_init:()=>WD,educore_buzzer:()=>VD,educore_buzzer_play_tone:()=>BD,educore_buzzer_play_tone_time:()=>GD,educore_buzzer_stop:()=>UD,educore_neopixel_clear:()=>HD,educore_neopixel_rgb:()=>kD,educore_rgb_light:()=>wD,esp32_music_get_tempo:()=>EN,esp32_music_reset:()=>SN,esp32_music_set_tempo:()=>mN,esp32_onboard_music_pitch:()=>ON,esp32_onboard_music_pitch_with_time:()=>RN,esp32_onboard_music_play_list:()=>gN,esp32_onboard_music_stop:()=>cN,general_key:()=>MD,general_key_tuple:()=>OD,get_keyboard_light:()=>qD,get_power_output:()=>lD,ledswitch:()=>LN,mixbot_motor:()=>QN,mixbot_motor_status:()=>JN,mixbot_move:()=>qN,mixbot_stop:()=>zN,mouse_key:()=>mD,number:()=>AN,record_audio:()=>QD,rm_actuator_get_led_bright:()=>XN,rm_actuator_get_led_state:()=>yN,rm_actuator_led_bright:()=>YN,rm_actuator_led_brightness:()=>bN,rm_motor:()=>wN,set_all_power_output:()=>dD,set_microphone_amplification:()=>zD,set_music_volume:()=>jD,set_power_output:()=>rD,special_key:()=>TD});var q={};e.r(q),e.d(q,{ai_sensor_20object:()=>Pf,ai_sensor_ailocal_class:()=>Rf,ai_sensor_ailocal_class_result:()=>cf,ai_sensor_ailocal_train:()=>Of,ai_sensor_asr_recognize:()=>Lf,ai_sensor_audio_play:()=>Cf,ai_sensor_audio_record:()=>gf,ai_sensor_barcode:()=>_f,ai_sensor_circle:()=>lf,ai_sensor_classifier_faces:()=>Ff,ai_sensor_color:()=>Mf,ai_sensor_color_chases:()=>Ef,ai_sensor_color_chases_result:()=>mf,ai_sensor_config:()=>ef,ai_sensor_face:()=>ff,ai_sensor_find_20objects:()=>vf,ai_sensor_find_barcodes:()=>of,ai_sensor_find_circles:()=>df,ai_sensor_find_colors:()=>hf,ai_sensor_find_licenseplates:()=>Df,ai_sensor_find_lines:()=>rf,ai_sensor_find_qrcodes:()=>sf,ai_sensor_find_rects:()=>Tf,ai_sensor_find_tags:()=>af,ai_sensor_licenseplate:()=>Nf,ai_sensor_line:()=>uf,ai_sensor_qrcode:()=>nf,ai_sensor_qrcode_lite:()=>ZD,ai_sensor_rect:()=>If,ai_sensor_rgb:()=>tf,ai_sensor_tag:()=>pf,ai_sensor_use_uart_init:()=>$D,ai_sensor_yolo_recognize:()=>Sf,ai_sensor_yolo_recognize_result:()=>Af});var z={};e.r(z),e.d(z,{MICROPYTHON_AI_Speech_asr:()=>yf,MICROPYTHON_AI_Speech_unit:()=>Xf,MICROPYTHON_AI_client:()=>Yf});var Q={};e.r(Q),e.d(Q,{mpython_blynk_app_data:()=>Jf,mpython_blynk_app_notify:()=>wf,mpython_blynk_email:()=>qf,mpython_blynk_get_timers:()=>Hf,mpython_blynk_on_connected:()=>Bf,mpython_blynk_on_disconnected:()=>Vf,mpython_blynk_run:()=>Uf,mpython_blynk_sensor_data_to_app:()=>Kf,mpython_blynk_set_property:()=>zf,mpython_blynk_setup:()=>Qf,mpython_blynk_stop_timers:()=>kf,mpython_blynk_sync_virtual:()=>xf,mpython_blynk_terminal_widget_vpin:()=>bf,mpython_blynktimer:()=>Wf,mpython_blynktimer_run:()=>Gf});var j={};e.r(j),e.d(j,{cc_g1_read_bat:()=>jf,cc_g1_read_joystick:()=>$f,cc_g1_read_key:()=>Zf,cc_g1_turnoff:()=>eF});var $={};e.r($),e.d($,{ce_go_dc_motor:()=>aF,ce_go_get_led_bright:()=>nF,ce_go_get_led_state:()=>sF,ce_go_hall_attachInterrupt:()=>uF,ce_go_hall_data:()=>lF,ce_go_hall_initialize:()=>rF,ce_go_led_bright:()=>iF,ce_go_led_brightness:()=>_F,ce_go_light_number:()=>tF,ce_go_pin_light:()=>hF,ce_go_pin_near:()=>IF,ce_go_pin_near_line:()=>dF,ce_go_pin_near_state_change:()=>TF,ce_go_stepper_keep:()=>oF,ce_go_stepper_stop:()=>pF,educore_car:()=>mF,educore_car_pin_near:()=>cF,educore_car_pin_near_line:()=>RF,educore_car_stepper_keep:()=>EF,educore_car_stepper_stop:()=>OF,sensor_mixgome_eulerangles:()=>MF});var Z={};e.r(Z),e.d(Z,{communicate_bluetooth_central_init:()=>iP,communicate_bluetooth_connect:()=>_P,communicate_bluetooth_disconnect:()=>oP,communicate_bluetooth_handle:()=>dP,communicate_bluetooth_is_connected:()=>aP,communicate_bluetooth_mac:()=>pP,communicate_bluetooth_peripheral_init:()=>nP,communicate_bluetooth_recv:()=>lP,communicate_bluetooth_recv_only:()=>rP,communicate_bluetooth_scan:()=>sP,communicate_bluetooth_send:()=>uP,communicate_espnow_init:()=>IP,communicate_espnow_init_new:()=>TP,communicate_i2c_available:()=>fF,communicate_i2c_init:()=>SF,communicate_i2c_master_read:()=>DF,communicate_i2c_onboard:()=>gF,communicate_i2c_read:()=>AF,communicate_i2c_scan:()=>NF,communicate_i2c_write:()=>LF,communicate_ir_recv_init:()=>KF,communicate_ir_send_init:()=>jF,communicate_ow_init:()=>GF,communicate_ow_read:()=>kF,communicate_ow_reset:()=>wF,communicate_ow_scan:()=>UF,communicate_ow_select:()=>WF,communicate_ow_write:()=>HF,communicate_spi_buffer:()=>YF,communicate_spi_init:()=>PF,communicate_spi_onboard:()=>CF,communicate_spi_read:()=>XF,communicate_spi_read_output:()=>yF,communicate_spi_readinto:()=>bF,communicate_spi_readinto_output:()=>xF,communicate_spi_set:()=>vF,communicate_spi_write:()=>VF,communicate_spi_write_readinto:()=>BF,espnow_radio_channel:()=>RP,espnow_radio_channel_new:()=>gP,espnow_radio_on_off:()=>CP,espnow_radio_rec:()=>AP,espnow_radio_recv:()=>NP,espnow_radio_recv_certain_msg:()=>DP,espnow_radio_recv_certain_msg_new:()=>FP,espnow_radio_recv_msg:()=>LP,espnow_radio_recv_new:()=>fP,espnow_radio_send:()=>SP,espnow_radio_txpower:()=>cP,i2c_slave_onreceive:()=>FF,internal_variable:()=>JF,ir_recv_timeout:()=>QF,ir_transmit_busy:()=>tP,ir_transmit_conventional_data:()=>$F,ir_transmit_raw_code:()=>eP,ir_transmit_study_code:()=>ZF,ir_whether_recv:()=>zF,lora_init:()=>PP,lora_packet:()=>vP,lora_recv:()=>XP,lora_send:()=>YP,network_espnow_info:()=>hP,network_espnow_mac:()=>MP,network_espnow_recv:()=>mP,network_espnow_recv_handle:()=>OP,network_espnow_send:()=>EP,recv_fun:()=>qF,urequests_attribute:()=>bP,urequests_get:()=>yP,urequests_method:()=>xP});var ee={};e.r(ee),e.d(ee,{display_animate:()=>av,display_circle:()=>uv,display_color_seclet:()=>Rv,display_draw_4strings:()=>tv,display_fill:()=>pv,display_lcd_use_i2c_init:()=>Lv,display_line:()=>sv,display_line_arbitrarily:()=>iv,display_matrix_extern_bright_point:()=>qP,display_matrix_extern_bright_screen:()=>QP,display_matrix_extern_clear:()=>WP,display_matrix_extern_get_pixel:()=>JP,display_matrix_extern_get_screen_pixel:()=>zP,display_matrix_extern_image_builtins:()=>jP,display_matrix_extern_scroll_string:()=>kP,display_matrix_extern_scroll_string_delay:()=>HP,display_matrix_extern_shift:()=>KP,display_matrix_extern_show_frame_string:()=>UP,display_matrix_extern_show_frame_string_delay:()=>wP,display_matrix_extern_show_image:()=>BP,display_matrix_extern_show_image_or_string_delay:()=>GP,display_matrix_use_i2c_init:()=>VP,display_oled_drawPixel:()=>dv,display_oled_showBitmap:()=>lv,display_oled_use_i2c_init:()=>Pv,display_onoff:()=>_v,display_rect:()=>nv,display_tm1650_power:()=>Tv,display_tm1650_set_brightness:()=>mv,display_tm1650_show_dot:()=>hv,display_tm1650_show_num:()=>Mv,display_tm_use_i2c_init:()=>Iv,display_triangle:()=>rv,display_use_i2c_init:()=>ev,extern_oled_bright_point:()=>kv,extern_oled_clear:()=>Gv,extern_oled_get_pixel:()=>wv,extern_oled_hvline:()=>Wv,extern_oled_line:()=>Kv,extern_oled_scroll_string:()=>Vv,extern_oled_scroll_string_delay:()=>Bv,extern_oled_shape_rect:()=>Hv,extern_oled_shift:()=>Uv,extern_oled_show_frame_string:()=>bv,extern_oled_show_frame_string_delay:()=>xv,extern_oled_show_image:()=>vv,extern_oled_show_image_or_string_delay:()=>yv,extern_oled_show_image_xy:()=>Yv,extern_oled_show_string:()=>Xv,image_shift:()=>ov,lcd_backlight:()=>fv,lcd_clear:()=>Fv,lcd_print_string:()=>Dv,lcd_show_image_or_string_delay:()=>Nv,matrix_extern_image_arithmetic:()=>$P,matrix_extern_image_invert:()=>ZP,tft_fill:()=>Sv,tft_line_arbitrarily:()=>Av,tft_scroll_string_delay:()=>Cv,tft_show_frame_string_delay:()=>gv,tft_show_image_or_string_delay:()=>cv,tft_show_image_xy:()=>Ov,tft_use_spi_init:()=>Ev});var te={};e.r(te),e.d(te,{bitbot_display_bitmap_create:()=>BY,bitbot_display_image_create:()=>VY,display_available:()=>oY,display_bitmap_create:()=>sY,display_bright_point:()=>lY,display_bright_screen:()=>IY,display_clear:()=>_Y,display_get_pixel:()=>rY,display_get_screen_pixel:()=>dY,display_image_builtins:()=>tY,display_image_builtins_all:()=>iY,display_image_create:()=>nY,display_scroll_string:()=>jv,display_scroll_string_delay:()=>$v,display_scroll_way:()=>Zv,display_shift:()=>uY,display_show_frame_string:()=>zv,display_show_frame_string_delay:()=>Qv,display_show_image:()=>Jv,display_show_image_or_string_delay:()=>qv,draw_pointer:()=>iX,image_arithmetic:()=>pY,image_invert:()=>aY,mixbot_display_bitmap_create:()=>YY,mixbot_display_bright_screen:()=>bY,mixbot_display_get_ambientbright:()=>yY,mixbot_display_get_screen_pixel:()=>XY,mixbot_display_image_create:()=>vY,mixbot_display_rotate:()=>xY,mixgo_display_bitmap_create:()=>RY,mixgo_display_image_create_new:()=>OY,mixgome_display_bitmap_create:()=>MY,mixgome_display_font:()=>EY,mixgome_display_image_create:()=>TY,mixgomini_display_bitmap_create:()=>mY,mixgomini_display_image_create:()=>hY,mpython_display_hvline:()=>FY,mpython_display_line:()=>PY,mpython_display_shape_rect:()=>fY,mpython_pbm_image:()=>cY,nova_draw_pointer:()=>nX,onboard_oled_bright_point:()=>DY,onboard_oled_scroll_string_delay:()=>NY,onboard_oled_show_frame_string_delay:()=>LY,onboard_oled_show_image:()=>gY,onboard_oled_show_image_or_string_delay:()=>AY,onboard_oled_show_image_xy:()=>CY,onboard_oled_show_string:()=>SY,onboard_tft_bright_point:()=>qY,onboard_tft_bright_screen:()=>lX,onboard_tft_clear:()=>dX,onboard_tft_clock_clear:()=>eX,onboard_tft_clock_draw:()=>ZY,onboard_tft_clock_get_rtctime:()=>jY,onboard_tft_clock_init:()=>QY,onboard_tft_clock_set_time:()=>$Y,onboard_tft_display_hvline:()=>WY,onboard_tft_display_line:()=>KY,onboard_tft_display_shape_circle:()=>tX,onboard_tft_display_shape_rect:()=>HY,onboard_tft_fill:()=>zY,onboard_tft_get_pixel:()=>JY,onboard_tft_get_screen_pixel:()=>rX,onboard_tft_scroll_string_delay:()=>eY,onboard_tft_shift:()=>uX,onboard_tft_show_frame_string:()=>aX,onboard_tft_show_frame_string_delay:()=>kY,onboard_tft_show_image:()=>pX,onboard_tft_show_image_or_string_delay:()=>wY,onboard_tft_show_image_xy:()=>GY,onboard_tft_show_image_xy_direct:()=>UY,onboard_tft_show_qrcode:()=>_X,onboard_tft_show_qrcode_details:()=>oX,onboard_tft_show_texts:()=>sX});var ie={};e.r(ie),e.d(ie,{factory_block:()=>RX,factory_block_return:()=>cX,factory_block_return_with_textarea:()=>CX,factory_block_with_textarea:()=>gX,factory_callMethod_noreturn:()=>EX,factory_callMethod_return:()=>OX,factory_declare:()=>mX,factory_from_import:()=>IX,factory_function_noreturn:()=>MX,factory_function_return:()=>hX,factory_import:()=>TX,folding_block:()=>SX});var ne={};e.r(ne),e.d(ne,{inout_analog_atten:()=>BX,inout_analog_read:()=>vX,inout_analog_read_init:()=>VX,inout_analog_write:()=>fX,inout_analog_write_init:()=>xX,inout_analog_write_set:()=>FX,inout_digital_init:()=>yX,inout_digital_read:()=>NX,inout_digital_write:()=>LX,inout_highlow:()=>AX,inout_pin_attachInterrupt:()=>XX,inout_pin_pressed:()=>YX,inout_pin_pressed_init:()=>GX,inout_pwm_analog_write:()=>DX,inout_pwm_analog_write_init:()=>bX,inout_pwm_analog_write_set_freq:()=>PX});var se={};e.r(se),e.d(se,{IOT_CONNECT_OLLAMA:()=>My,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>oy,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>sy,IOT_EMQX_PING:()=>py,IOT_FORMATTING:()=>iy,IOT_FORMAT_STRING:()=>ny,IOT_MIXIO_NTP:()=>ay,IOT_MIXIO_PUBLISH:()=>qX,IOT_MIXIO_PUBLISHEX:()=>zX,IOT_MIXIO_SUBSCRIBE:()=>QX,iot_client_onboard:()=>uy,iot_connect_ollama:()=>Ty,iot_connect_openai:()=>hy,iot_http_client:()=>ry,iot_http_data:()=>ly,iot_mixio_check:()=>ZX,iot_mixio_connect:()=>JX,iot_mixio_connect_only:()=>$X,iot_mixio_disconnect:()=>jX,iot_mixio_format_msg:()=>ty,iot_mixio_format_topic:()=>ey,iot_mixly_key:()=>_y,iot_mqtt_client:()=>dy,iot_mqtt_data:()=>Iy,iot_onenet_check:()=>WX,iot_onenet_connect:()=>wX,iot_onenet_disconnect:()=>kX,iot_onenet_publish:()=>KX,iot_onenet_publish_dict:()=>HX,iot_tiny_web_db_count:()=>Sy,iot_tiny_web_db_delete:()=>Ly,iot_tiny_web_db_get:()=>Cy,iot_tiny_web_db_init:()=>Ry,iot_tiny_web_db_init_with_mqtt:()=>cy,iot_tiny_web_db_search:()=>Ay,iot_tiny_web_db_update:()=>gy,iot_wifi_connect:()=>UX,ollama_empty_history:()=>Oy,use_ollama_llm_to_chat:()=>my,use_ollama_llm_to_chat_return:()=>Ey});var _e={};e.r(_e),e.d(_e,{educore_mqtt_connect:()=>sb,educore_mqtt_connect_success:()=>ab,educore_mqtt_subscribe_message:()=>_b,educore_mqtt_topic_publish:()=>pb,educore_mqtt_topic_subscribe:()=>ob,educore_wifi_connect:()=>nb,network_ap_connect:()=>yy,network_connect:()=>Dy,network_get_connect:()=>Fy,network_get_wifi:()=>Xy,network_init:()=>Ny,network_is_active:()=>Yy,network_open:()=>vy,network_scan:()=>by,network_server:()=>xy,network_socket_accept:()=>wy,network_socket_bind:()=>By,network_socket_close:()=>qy,network_socket_connect:()=>Gy,network_socket_init:()=>Vy,network_socket_listen:()=>Uy,network_socket_readline:()=>ky,network_socket_receive:()=>Hy,network_socket_receive_from:()=>Ky,network_socket_send:()=>Wy,network_socket_send_to:()=>Jy,network_stop:()=>Py,network_wifi_connect:()=>fy,ntptime_address:()=>Zy,ntptime_time:()=>$y,requests_attribute:()=>Qy,requests_attribute2:()=>tb,requests_get:()=>zy,requests_get2:()=>eb,requests_method:()=>jy,requests_post:()=>ib});var oe={};e.r(oe),e.d(oe,{CI130X_BROADCAST:()=>Pb,CI130X_GET_THE_RECOGNIZED_CMD:()=>Fb,CI130X_GET_WHETHER_IDENTIFY:()=>fb,CI130X_IDENTIFY_AND_SAVE:()=>Db,CI130X_SET_SYSTEM_CMD:()=>vb,HCSR04:()=>rx,PS2_Button:()=>Ix,PS2_Buttons:()=>Tx,PS2_Buttons_new:()=>gx,PS2_State:()=>Mx,PS2_init:()=>lx,PS2_init_new:()=>Rx,PS2_stk:()=>hx,PS2_stk_new:()=>Cx,PS2_vibration:()=>dx,PS2_vibration_new:()=>cx,RTC_get_time:()=>Ex,RTC_set_date:()=>hb,RTC_set_datetime:()=>mx,RTC_set_time:()=>Mb,camera_sensor_init:()=>eV,camera_sensor_result:()=>tV,column_tube_foot:()=>_V,define_keyboards:()=>oV,educore_body_sensor:()=>Hx,educore_button_sensor_extern:()=>qx,educore_camera_sensor:()=>Zx,educore_infrared_sensor:()=>Jx,educore_soilhum_sensor:()=>Wx,educore_temp_sensor:()=>$x,educore_temphum_sensor:()=>Kx,educore_ultrasonic_sensor:()=>Qx,esp32_s2_weather_init:()=>ox,esp32_s2_weather_rain:()=>ax,esp32_s2_weather_wd:()=>px,esp32_s2_weather_ws:()=>ux,extern_rfid_read:()=>qb,extern_rfid_readcontent:()=>Qb,extern_rfid_readid:()=>zb,extern_rfid_status:()=>Zb,extern_rfid_write:()=>jb,extern_rfid_write_return:()=>$b,get_keboards_value:()=>aV,gnss_get_data:()=>Lx,gnss_have_data:()=>Nx,init_init_rotary_encoder:()=>uV,init_matrix_keyboard:()=>pV,interaction_whether_to_interaction:()=>Lb,interaction_whether_to_interaction_SANT:()=>Nb,line_tube_foot:()=>sV,mixbot_sensor_extern_get_addr:()=>xx,mixbot_sensor_extern_set_addr:()=>Vx,pm25_get_data:()=>Ax,radar_set_DETECTION_THRESHOLD:()=>Sb,radar_set_DETECTION_THRESHOLD_SANT:()=>Ab,robot_button_extern_get_value:()=>fx,robot_color_extern_get_value:()=>Xx,robot_infrared_extern_get_value:()=>Px,robot_infrared_extern_grey_get_value:()=>vx,robot_potentiometer_extern_get_value:()=>Yx,robot_sonar_extern_get_value:()=>yx,robot_sonar_extern_led:()=>bx,robot_touch_extern_get_value:()=>Fx,rotary_key:()=>rV,sensor_APDS9960_extern:()=>Xb,sensor_DS18X20:()=>kx,sensor_LTR308_extern:()=>yb,sensor_LTR390UV_extern:()=>wb,sensor_MAX30102_extern:()=>Yb,sensor_QMC5883L_extern:()=>kb,sensor_VL530LX_extern:()=>Kb,sensor_aht11_extern:()=>Wb,sensor_bmp:()=>cb,sensor_dht11:()=>Ox,sensor_distance_hrsc04:()=>Tb,sensor_hp203_extern:()=>bb,sensor_ltr381_extern:()=>Gb,sensor_mixgo_extern_button_attachInterrupt:()=>db,sensor_mixgo_extern_button_get_presses:()=>lb,sensor_mixgo_extern_button_is_pressed:()=>ub,sensor_mixgo_extern_button_was_pressed:()=>rb,sensor_mixgo_extern_light:()=>mb,sensor_mixgo_extern_pin_near:()=>Ob,sensor_mixgo_extern_sound:()=>Eb,sensor_mixgoce_hot_wheel_degrees:()=>_x,sensor_mixgoce_hot_wheel_is_touched:()=>sx,sensor_mpu9250_attachGestureInterrupt:()=>Ib,sensor_ms5611_extern:()=>Vb,sensor_ms5611_extern_altitude:()=>Bb,sensor_read_humiture:()=>zx,sensor_rtc_init:()=>Rb,sensor_sht:()=>gb,sensor_shtc3_extern:()=>Hb,sensor_spl06_001_extern:()=>xb,sensor_ucs12071_extern:()=>Ub,sensor_use_i2c_init:()=>Cb,sensor_use_spi_init:()=>Jb,sensor_use_uart_init:()=>Sx,sensor_weather_solo_init:()=>Bx,sensor_weather_solo_rain:()=>wx,sensor_weather_solo_wd:()=>Gx,sensor_weather_solo_ws:()=>Ux,sensor_weigh_init:()=>iV,tvoc_get_data:()=>Dx,ultrasonic_sensor_read_distance:()=>jx,weather_data:()=>ex,weather_have_data:()=>tx,weather_set_label:()=>nx,weather_uart_mixio:()=>ix,weigh_sensor_get_weight:()=>nV});var pe={};e.r(pe),e.d(pe,{HCSR04:()=>OV,bitbot_als_num:()=>UB,dht11:()=>zB,educore_button_sensor:()=>iG,educore_button_was_pressed:()=>nG,educore_gyroscope_sensor:()=>ZB,educore_gyroscope_sensor_read:()=>eG,educore_gyroscope_sensor_shake:()=>tG,educore_light_sensor:()=>$B,educore_rfid_sensor:()=>sG,educore_rfid_sensor_scan:()=>_G,educore_rfid_sensor_scan_data:()=>oG,educore_voice_sensor:()=>QB,number1:()=>RV,number2:()=>cV,number3:()=>gV,number4:()=>CV,number5:()=>SV,number6:()=>AV,number7:()=>LV,onboard_RTC_get_time:()=>mB,onboard_RTC_get_time_str:()=>RB,onboard_RTC_get_timestamp:()=>EB,onboard_RTC_get_timetuple_to_str:()=>cB,onboard_RTC_set_datetime:()=>MB,onboard_RTC_settime_string:()=>hB,onboard_RTC_timestamp_totuple:()=>OB,rfid_readcontent:()=>wV,rfid_readid:()=>UV,rfid_status:()=>WV,rfid_write:()=>kV,rfid_write_return:()=>HV,sensor_LTR308:()=>bV,sensor_adxl345_get_acceleration:()=>eB,sensor_aht11:()=>BV,sensor_bitbot_ALS:()=>GB,sensor_button_get_presses:()=>HB,sensor_button_is_pressed:()=>wB,sensor_button_was_pressed:()=>kB,sensor_compass_reset:()=>oB,sensor_ds18x20:()=>XV,sensor_eulerangles:()=>JV,sensor_get_acceleration:()=>KV,sensor_get_temperature:()=>GV,sensor_get_the_coprocessor_version:()=>pG,sensor_hp203:()=>VV,sensor_light:()=>qB,sensor_lm35:()=>yV,sensor_mixbot_get_gyro:()=>BB,sensor_mixbot_patrol_calibrate:()=>bB,sensor_mixbot_patrol_value:()=>xB,sensor_mixbot_temperature:()=>VB,sensor_mixgo_LTR308:()=>PV,sensor_mixgo_button_attachInterrupt:()=>TV,sensor_mixgo_button_get_presses:()=>IV,sensor_mixgo_button_is_pressed:()=>lV,sensor_mixgo_button_was_pressed:()=>dV,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>SB,sensor_mixgo_cc_mmc5603_get_angle:()=>CB,sensor_mixgo_cc_mmc5603_get_magnetic:()=>gB,sensor_mixgo_light:()=>JB,sensor_mixgo_nova_LTR308:()=>YV,sensor_mixgo_nova_pin_near:()=>FV,sensor_mixgo_pin_near:()=>fV,sensor_mixgo_pin_near_double:()=>DV,sensor_mixgo_pin_near_single:()=>NV,sensor_mixgo_pin_pressed:()=>$V,sensor_mixgo_sant_color:()=>vV,sensor_mixgo_touch_slide:()=>jV,sensor_mixgocar42_button_attachInterrupt:()=>EV,sensor_mixgocar42_button_get_presses:()=>mV,sensor_mixgocar42_button_is_pressed:()=>MV,sensor_mixgocar42_button_was_pressed:()=>hV,sensor_mixgocar_battery_left:()=>yB,sensor_mixgocar_pin_near:()=>YB,sensor_mixgocar_pin_near_line:()=>vB,sensor_mixgocar_pin_near_state_change:()=>XB,sensor_mixgoce_pin_pressed:()=>QV,sensor_mixgoce_temperature:()=>LB,sensor_mixgome_temperature:()=>AB,sensor_mpu9250_calibrate_compass:()=>nB,sensor_mpu9250_field_strength:()=>_B,sensor_mpu9250_gesture:()=>qV,sensor_mpu9250_get_acceleration:()=>zV,sensor_mpu9250_get_gyro:()=>iB,sensor_mpu9250_get_magnetic:()=>tB,sensor_mpu9250_temperature:()=>sB,sensor_mpython_pin_pressed:()=>ZV,sensor_mpython_qmi8658_get_gyro:()=>NB,sensor_mpython_qmi8658_temperature:()=>DB,sensor_onboard_compass_reset:()=>TB,sensor_onboard_mpu9250_calibrate_compass:()=>lB,sensor_onboard_mpu9250_field_strength:()=>IB,sensor_onboard_mpu9250_gesture:()=>pB,sensor_onboard_mpu9250_get_acceleration:()=>aB,sensor_onboard_mpu9250_get_gyro:()=>rB,sensor_onboard_mpu9250_get_magnetic:()=>uB,sensor_onboard_mpu9250_temperature:()=>dB,sensor_pin_near:()=>KB,sensor_pin_pressed:()=>WB,sensor_read:()=>jB,sensor_rm_acc:()=>PB,sensor_rm_battery_left:()=>FB,sensor_rm_pin_near_double:()=>fB,sensor_sound:()=>xV,simulated_light_sensor:()=>aG});var ae={};e.r(ae),e.d(ae,{serial_any:()=>IG,serial_print:()=>uG,serial_print_byte:()=>rG,serial_print_hex:()=>dG,serial_println:()=>lG,serial_read_from_ai:()=>SG,serial_readline:()=>MG,serial_readstr:()=>TG,serial_send_to_ai:()=>CG,serial_softserial:()=>hG,serial_softserial_new:()=>mG,system_input:()=>EG,system_print:()=>OG,system_print_end:()=>cG,system_print_inline:()=>RG,system_print_many:()=>gG});var ue={};e.r(ue),e.d(ue,{Panic_with_status_code:()=>bG,Timer_init:()=>$G,base_delay:()=>tU,controls_delay:()=>UG,controls_delay_new:()=>wG,controls_end_program:()=>VG,controls_millis:()=>xG,controls_uname:()=>GG,reset:()=>BG,set_system_timer:()=>HG,system_bitbot_shutdown:()=>jG,system_device_name:()=>XG,system_device_serial_number:()=>yG,system_event_bus_source:()=>vG,system_event_bus_value:()=>YG,system_machine_reset:()=>QG,system_on_event:()=>fG,system_raise_event:()=>DG,system_reset:()=>LG,system_run_in_background:()=>AG,system_ticks_diff:()=>WG,system_timer:()=>JG,system_timer_init:()=>KG,system_timestamp:()=>FG,system_value:()=>PG,system_wait:()=>NG,system_wdt_feed:()=>zG,system_wdt_init:()=>qG,time_ticks_diff:()=>eU,timer:()=>kG,timer2:()=>ZG});var re={};e.r(re),e.d(re,{Air_daily_content:()=>TU,Air_now_content:()=>pU,Geo_moon_content:()=>hU,Geo_sun_content:()=>MU,Life_suggestion_content:()=>uU,Location_search_content:()=>lU,Tide_daily_content:()=>rU,WEATHER_DAILY:()=>nU,WEATHER_HOUR:()=>sU,WEATHER_NOW:()=>iU,Weather_alarm_content:()=>aU,Weather_daily:()=>dU,Weather_daily_content:()=>IU,Weather_now:()=>_U,Weather_now_content:()=>oU});var le={};e.r(le),e.d(le,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>OU});var de={};e.r(de),e.d(de,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>cU});var Ie={};e.r(Ie),e.d(Ie,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>CU});var Te={};e.r(Te),e.d(Te,{controls_pin_attachInterrupt:()=>kU,inout_analog_atten:()=>YU,inout_analog_write:()=>PU,inout_analog_write_init:()=>xU,inout_analog_write_set:()=>vU,inout_analog_write_set_freq:()=>BU,inout_digital_init:()=>bU,inout_digital_read:()=>FU,inout_digital_write:()=>fU,inout_highlow:()=>DU,inout_pinMode:()=>GU,inout_pin_attachInterrupt:()=>yU,inout_pin_pressed:()=>XU,inout_pin_pressed_init:()=>VU,pin_pressed:()=>wU,pin_pressed_init:()=>UU});var Me={};e.r(Me),e.d(Me,{mini_g2_aht11:()=>WU,mini_g2_hp203:()=>KU,mini_g2_rfid_readcontent:()=>zU,mini_g2_rfid_readid:()=>qU,mini_g2_rfid_status:()=>$U,mini_g2_rfid_write:()=>QU,mini_g2_rfid_write_outcome:()=>jU,mini_g2_varistor:()=>JU});var he={};e.r(he),e.d(he,{me_go_dc_motor:()=>pw,me_go_get_led_bright:()=>iw,me_go_get_led_state:()=>nw,me_go_hall_attachInterrupt:()=>aw,me_go_hall_data:()=>rw,me_go_hall_initialize:()=>uw,me_go_led_bright:()=>tw,me_go_led_brightness:()=>sw,me_go_light_number:()=>ew,me_go_pin_light:()=>Mw,me_go_pin_near:()=>dw,me_go_pin_near_line:()=>lw,me_go_pin_near_state_change:()=>Iw,me_go_stepper_keep:()=>_w,me_go_stepper_stop:()=>ow,sensor_mixgome_eulerangles:()=>Tw});var me={};e.r(me),e.d(me,{analog_input:()=>Sw,analog_output:()=>Lw,espnow_channel:()=>cw,haskylens_model:()=>gw,i2c_A_pin:()=>Nw,i2c_B_pin:()=>Dw,pins_analog:()=>Yw,pins_analog_pin:()=>Xw,pins_axis:()=>jw,pins_brightness:()=>$w,pins_builtinimg:()=>Hw,pins_builtinimg_extern:()=>Ww,pins_button:()=>xw,pins_buttonB:()=>Vw,pins_dac:()=>yw,pins_dac_pin:()=>bw,pins_digital:()=>mw,pins_digital_dot:()=>ok,pins_digital_pin:()=>Ew,pins_exlcdh:()=>zw,pins_exlcdv:()=>Qw,pins_imglist:()=>Kw,pins_input_pin:()=>Ow,pins_one_more:()=>_k,pins_output_pin:()=>Rw,pins_playlist:()=>Jw,pins_playlist_extern:()=>qw,pins_pwm:()=>Bw,pins_pwm_pin:()=>Gw,pins_radio_datarate:()=>sk,pins_radio_power:()=>nk,pins_serial:()=>kw,pins_tone_notes:()=>ik,pins_touch:()=>ww,pins_touch_pin:()=>Uw,pins_tts_bgmusic:()=>tk,pins_tts_builtin_music:()=>ek,pins_tts_voice:()=>Zw,pwm_input:()=>Cw,pwm_output:()=>Aw,spi_A_pin:()=>fw,spi_B_pin:()=>Fw,spi_C_pin:()=>Pw,spi_D_pin:()=>vw});var Ee={};e.r(Ee),e.d(Ee,{inout_analog_atten:()=>hk,inout_analog_write:()=>rk,inout_analog_write_init:()=>Mk,inout_analog_write_set:()=>lk,inout_digital_init:()=>Tk,inout_digital_read:()=>uk,inout_digital_write:()=>ak,inout_highlow:()=>pk,inout_pin_attachInterrupt:()=>Ik,inout_pin_pressed:()=>dk,inout_pin_pressed_init:()=>mk});var Oe={};e.r(Oe),e.d(Oe,{mini_g2_aht11:()=>Ek,mini_g2_hp203:()=>Ok,mini_g2_rfid_readcontent:()=>gk,mini_g2_rfid_readid:()=>ck,mini_g2_rfid_status:()=>Ak,mini_g2_rfid_write:()=>Ck,mini_g2_rfid_write_outcome:()=>Sk,mini_g2_varistor:()=>Rk});var Re={};e.r(Re),e.d(Re,{me_go_dc_motor:()=>Yk,me_go_get_led_bright:()=>Dk,me_go_get_led_state:()=>fk,me_go_hall_attachInterrupt:()=>Xk,me_go_hall_data:()=>bk,me_go_hall_initialize:()=>yk,me_go_led_bright:()=>Nk,me_go_led_brightness:()=>Fk,me_go_light_number:()=>Lk,me_go_pin_light:()=>Uk,me_go_pin_near:()=>Vk,me_go_pin_near_line:()=>xk,me_go_pin_near_state_change:()=>Bk,me_go_stepper_keep:()=>Pk,me_go_stepper_stop:()=>vk,sensor_mixgome_eulerangles:()=>Gk});var ce={};e.r(ce),e.d(ce,{analog_input:()=>jk,analog_output:()=>Zk,espnow_channel:()=>zk,haskylens_model:()=>Qk,i2c_A_pin:()=>eH,i2c_B_pin:()=>tH,pins_analog:()=>pH,pins_analog_pin:()=>oH,pins_axis:()=>cH,pins_brightness:()=>SH,pins_builtinimg:()=>hH,pins_builtinimg_extern:()=>mH,pins_button:()=>kk,pins_buttonB:()=>Hk,pins_dac:()=>lH,pins_dac_pin:()=>rH,pins_digital:()=>wk,pins_digital_dot:()=>vH,pins_digital_pin:()=>Wk,pins_exlcdh:()=>gH,pins_exlcdv:()=>CH,pins_imglist:()=>EH,pins_input_pin:()=>Kk,pins_interrupt:()=>TH,pins_one_more:()=>PH,pins_output_pin:()=>Jk,pins_playlist:()=>OH,pins_playlist_extern:()=>RH,pins_pwm:()=>uH,pins_pwm_input:()=>qk,pins_pwm_pin:()=>aH,pins_radio_datarate:()=>FH,pins_radio_power:()=>fH,pins_serial:()=>MH,pins_tone_notes:()=>DH,pins_touch:()=>IH,pins_touch_pin:()=>dH,pins_tts_bgmusic:()=>NH,pins_tts_builtin_music:()=>LH,pins_tts_voice:()=>AH,pwm_output:()=>$k,spi_A_pin:()=>iH,spi_B_pin:()=>nH,spi_C_pin:()=>sH,spi_D_pin:()=>_H});const ge=Blockly,Ce=Mixly,Se={NAME_TYPE:"VARIABLE",allVariables:function(e){var t;if(e.getDescendants)t=e.getDescendants();else{if(!e.getAllBlocks)throw"Not Block or Workspace: "+e;t=e.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Ae=Se; -/** - * @license - * Visual Blocks Editor - * - * Copyright 2012 Google Inc. - * https://developers.google.com/blockly/ - * - * 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. - */ -class Le{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ge.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(ge.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(ge.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(ge.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},We={init:function(){this.setColour(Be),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.PYTHON_RANGE).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ke={init:function(){this.setColour(Be),this.appendValueInput("LIST").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(ge.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Je={init:function(){this.setColour(Be),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new ge.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(ge.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:ge.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:ge.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},qe={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},ze={init:function(){this.setColour(Be);var e=new ge.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:ge.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:ge.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Qe={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ge.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return ge.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},je={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ge.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return ge.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};Je.OPERATORS=[[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],ze.OPERATORS=[[ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const $e={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ze={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},et={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(ge.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},tt={init:function(){this.setColour(Be),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},it={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},nt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},st={init:function(){this.jsonInit({message0:ge.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Be,tooltip:ge.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:ge.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},_t={init:function(){this.setColour(Be),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_STAT),this.setOutput(!0)}},ot={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},at={init:function(){this.appendDummyInput().appendField(ge.Msg.CONTROLS_REPEAT_TITLE_REPEAT+ge.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(ge.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new ge.FieldDropdown([[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Be),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ut={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},lt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},dt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_GET_UNIQUE_IDEN)}},It={init:function(){this.setColour(Be),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(ge.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Tt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Mt=230;ge.FieldTextInput.math_number_validator=function(e){return String(e)},ge.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const ht={init:function(){this.setColour(Mt),this.appendDummyInput().appendField(new ge.FieldTextInput("0",ge.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MATH_NUMBER_TOOLTIP)}},mt={init:function(){this.setColour(Mt);this.appendDummyInput("").appendField(ge.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ge.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},Et={init:function(){this.setColour(Mt);this.appendDummyInput("").appendField(ge.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ge.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},Ot={init:function(){this.setColour(Mt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:ge.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ge.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ge.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Rt={init:function(){this.setColour(Mt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:ge.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ge.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ge.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},ct={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new ge.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},gt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new ge.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:ge.Msg.MATH_TRIG_TOOLTIP_SIN,COS:ge.Msg.MATH_TRIG_TOOLTIP_COS,TAN:ge.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:ge.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:ge.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:ge.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:ge.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},Ct={init:function(){var e=[[ge.Msg.MATH_BIN,"bin"],[ge.Msg.MATH_OCT,"oct"],[ge.Msg.MATH_HEX,"hex"]];this.setColour(Mt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new ge.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:ge.Msg.MATH_DEC_TOOLTIP_BIN,oct:ge.Msg.MATH_DEC_TOOLTIP_OCT,hex:ge.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},St={init:function(){var e=[[ge.Msg.LANG_MATH_TO_ROUND,"round"],[ge.Msg.LANG_MATH_TO_CEIL,"ceil"],[ge.Msg.LANG_MATH_TO_FLOOR,"floor"],[ge.Msg.MATH_ABS,"fabs"],[ge.Msg.MATH_SQRT,"sqrt"]];this.setColour(Mt),this.appendValueInput("A").setCheck(Number).appendField(new ge.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:ge.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:ge.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:ge.Msg.MATH_SINGLE_TOOLTIP_SQ,round:ge.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:ge.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:ge.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},At={init:function(){var e=[[ge.Msg.MIXLY_MAX,"max"],[ge.Msg.MIXLY_MIN,"min"]];this.setColour(Mt),this.appendValueInput("A").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(ge.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:ge.Msg.MIXLY_TOOLTIP_MATH_MAX,min:ge.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},Lt={init:function(){var e=[[ge.Msg.MATH_TWO,"two"],[ge.Msg.MATH_EIGHT,"eight"],[ge.Msg.MATH_TEN,"ten"],[ge.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Mt),this.appendDummyInput("").appendField(ge.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new ge.FieldDropdown(e),"OP").appendField(ge.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MATH_ZHW).appendField(new ge.FieldDropdown(e),"OP2").appendField(ge.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:ge.Msg.MATH_Before_two,eight:ge.Msg.MATH_Before_eight,ten:ge.Msg.MATH_Before_ten,sixteen:ge.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:ge.Msg.MATH_Behind_two,eight:ge.Msg.MATH_Behind_eight,ten:ge.Msg.MATH_Behind_ten,sixteen:ge.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},Nt={init:function(){var e=[[ge.Msg.LANG_MATH_INT,"int"],[ge.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Mt),this.setOutput(!0,Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_RANDOM).appendField(new ge.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:ge.Msg.LANG_MATH_INT,float:ge.Msg.LANG_MATH_FLOAT_RANDOM};return ge.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},Dt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(ge.Msg.MATH_CONSTRAIN_TOOLTIP)}},ft={init:function(){this.setColour(Mt),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(ge.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(ge.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Ft={init:function(){this.setColour(Mt),this.appendDummyInput().appendField(new ge.FieldTextInput("0",ge.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(ge.Msg.MATH_NUMBER_TOOLTIP)}},Pt={init:function(){this.setColour(Mt),this.appendValueInput("NUM").setCheck(Number).appendField(ge.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},vt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MATH_ROUND).appendField(ge.Msg.TEXT_KEEP),this.appendDummyInput().appendField(ge.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(ge.Msg.MATH_ROUND_NEW_TOOLTIP)}},Yt={init:function(){var e=[[ge.Msg.MIXLY_TO_INT,"int"],[ge.Msg.MIXLY_TO_FLOAT,"float"],[ge.Msg.MIXLY_TO_BITES,"b"],[ge.Msg.LANG_MATH_BYTE+ge.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Mt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:ge.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:ge.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:ge.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Xt={init:function(){var e=[[ge.Msg.MIXLY_TO_INT,"int"],[ge.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Mt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:ge.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:ge.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},yt=ft,bt={init:function(){this.setColour(Mt),this.appendValueInput("VAR").appendField(ge.Msg.LANG_MATH_BYTE+ge.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},xt={init:function(){this.setColour(Mt),this.itemCount_=1,this.setMutator(new ge.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(ge.Msg.MIXLY_PRODUCT+ge.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(ge.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(ge.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(ge.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const Ht={init:function(){this.setColour(Gt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ge.FieldTextInput("",ge.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(ge.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new ge.FieldImage(t,7,12,'"')}},Wt={init:function(){this.setColour(Gt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(ge.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Kt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Jt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(String).appendField(ge.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},qt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},zt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Qt={init:function(){this.WHERE_OPTIONS=[[ge.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ge.Msg.TEXT_GET_INDEX_RANDOM+1+ge.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.LISTS_GET_INDEX_GET,"MODE"),ge.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(ge.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+ge.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",ge.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:ge.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:ge.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:ge.Msg.TEXT_GET_INDEX_RANDOM};return ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+ge.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==ge.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),ge.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(ge.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new ge.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),ge.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},jt={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(ge.Msg.LISTS_GET_INDEX_GET+" "+ge.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(ge.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+ge.Msg.LISTS_GET_INDEX_FROM_START+"n"+ge.Msg.TEXT_CHARAT2)}},$t={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(ge.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(ge.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Zt={init:function(){this.WHERE_OPTIONS_1=[[ge.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ge.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[ge.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[ge.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(ge.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==ge.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==ge.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),ge.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(ge.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new ge.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ei={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(ge.Msg.LISTS_GET_INDEX_GET+" "+ge.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(ge.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(ge.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(ge.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ti={init:function(){var e=[[ge.Msg.MIXLY_EQUALS,"==="],[ge.Msg.MIXLY_STARTSWITH,"startswith"],[ge.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Gt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new ge.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ii={init:function(){this.setColour(Gt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(ge.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_COMPARETO_HELP)}},ni={init:function(){var e=[[ge.Msg.TEXT_UPPER,"upper"],[ge.Msg.TEXT_TITLE,"title"],[ge.Msg.TEXT_CAPITALIZE,"capitalize"],[ge.Msg.TEXT_SWAPCASE,"swapcase"],[ge.Msg.TEXT_LOWER,"lower"]];this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:ge.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:ge.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:ge.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:ge.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:ge.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},si={init:function(){var e=[[ge.Msg.TEXT_LJUST,"ljust"],[ge.Msg.TEXT_CENTER,"center"],[ge.Msg.TEXT_RJUST,"rjust"]];this.setColour(Gt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(ge.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(ge.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},_i={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(ge.Msg.MIXLY_MID+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(ge.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(ge.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(ge.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ai={init:function(){this.setColour(Gt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(ge.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(ge.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ui={init:function(){var e=[[ge.Msg.TEXT_TRIM_BOTH,"strip"],[ge.Msg.TEXT_TRIM_LEFT,"lstrip"],[ge.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Gt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ge.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(ge.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:ge.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:ge.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:ge.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},ri={init:function(){this.setColour(Gt),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new ge.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ge.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},pn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(_n),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_KEYS),this.setTooltip(ge.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(ge.Msg.DICTS_GET_TOOLTIP)}},ln={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(ge.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(ge.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},In={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_DELETE_TOOLTIP)}},Tn={init:function(){this.setColour(_n),this.appendValueInput("DICT2").setCheck("Dict").appendField(ge.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(ge.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MID),this.setTooltip(ge.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_CLEAR),this.setTooltip(ge.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_ITEMS),this.setTooltip(ge.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_VALUES),this.setTooltip(ge.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},En={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_LENGTH),this.setTooltip(ge.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},On={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_DELDICT),this.setTooltip(ge.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[ge.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[ge.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(ge.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=ge.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=ge.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==ge.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new ge.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},cn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.setTooltip(ge.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},gn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(ge.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(_n),this.appendDummyInput("").appendField(new ge.FieldLabel(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new ge.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Sn={init:function(){this.setColour(_n),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},An={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TO_JSON),this.setTooltip(ge.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(_n),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(ge.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TO_JSON),this.setTooltip(ge.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},fn=210,Fn={init:function(){var e=ge.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:ge.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:ge.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:ge.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:ge.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:ge.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:ge.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},Pn={init:function(){var e=ge.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=ge.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new ge.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},vn={init:function(){var e=[[ge.Msg.LOGIC_OPERATION_AND,"AND"],[ge.Msg.LOGIC_OPERATION_OR,"OR"],[ge.Msg.LOGIC_OPERATION_NOR,"NOR"],[ge.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new ge.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:ge.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:ge.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:ge.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:ge.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},Yn={init:function(){this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(ge.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(ge.Msg.LOGIC_NEGATE_TOOLTIP)}},Xn={init:function(){var e=[[ge.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[ge.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new ge.FieldDropdown(e),"BOOL"),this.setTooltip(ge.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yn={init:function(){this.setColour(fn),this.setOutput(!0),this.appendDummyInput().appendField(ge.Msg.LOGIC_NULL),this.setTooltip(ge.Msg.LOGIC_NULL_TOOLTIP)}},bn={init:function(){this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(ge.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(ge.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},xn={init:function(){var e=[[ge.Msg.TEXT_APPEND_TO,"in"],[ge.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new ge.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(ge.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.IN)}},Vn={init:function(){var e=[[ge.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[ge.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Bn={init:function(){this.setColour(fn),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(ge.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[ge.Msg.MIXLY_ADD,"a"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_ADD,"ab"],[ge.Msg.MIXLY_R_W,"r+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_R_W,"rb+"],[ge.Msg.MIXLY_W_R,"w+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_W_R,"wb+"],[ge.Msg.MIXLY_A_R,"a+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG,o=ge.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},kn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(ge.Msg.MIXPY_TEXT_ENCODE).appendField(new ge.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG,o=ge.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ge.Msg.MICROBIT_PYTHON_TYPE)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.HTML_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const $n={init:function(){this.setColour(0),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ns={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+ge.Msg.MIXLY_ESP32_SET+{mkdir:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(ge.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.HTML_FILE,"isfile"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(ge.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},as={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(ge.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},us={init:function(){var e=ge.Procedures.findLegalName("",this),t=new ge.FieldTextInput(e,ge.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new ge.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&ge.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(ge.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(ge.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(ge.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(ge.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=ge.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),ge.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{ge.Events.enable()}},mutationToDom:function(e){var t=ge.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(ge.Msg.MIXLY_AIP_ATTR).setAlign(ge.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},__={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_FORM_CONTENT).appendField(new ge.FieldDropdown([[ge.Msg.HTML_TEXT,"text"],[ge.Msg.HTML_EMAIL,"email"],[ge.Msg.HTML_NUMBER,"number"],[ge.Msg.HTML_PASSWORD,"password"],[ge.Msg.HTML_CHECKBOX,"checkbox"],[ge.Msg.HTML_RADIOBUTTON,"radiobutton"],[ge.Msg.HTML_BUTTON,"button"],[ge.Msg.HTML_COLOUR,"colour"],[ge.Msg.HTML_DATE,"date"],[ge.Msg.HTML_LOCALTIME,"local time"],[ge.Msg.HTML_FILE,"file"],[ge.Msg.HTML_HIDDEN,"hidden"],[ge.Msg.HTML_IMAGE,"image"],[ge.Msg.HTML_MONTH,"month"],[ge.Msg.HTML_RANGE,"range"],[ge.Msg.HTML_RESET,"reset"],[ge.Msg.HTML_SEARCH,"search"],[ge.Msg.HTML_SUBMIT,"submit"],[ge.Msg.HTML_TELEPHONENUMBER,"telephone number"],[ge.Msg.HTML_TIME,"time"],[ge.Msg.HTML_URL,"url"],[ge.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(ge.Msg.HTML_NAME).appendField(new ge.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(ge.Msg.HTML_VALUE).appendField(new ge.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(ge.Msg.MIXLY_AIP_ATTR).setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new ge.FieldTextInput("property"),"KEY").appendField(":").appendField(new ge.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new ge.FieldTextInput("property"),"KEY").appendField(":").appendField(new ge.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},a_={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_TEXT).appendField(new ge.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_=160,r_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new ge.FieldTable(""),"TEXT")}},l_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new ge.FieldMultilineInput(""),"TEXT")}},d_={init:function(){this.setColour(u_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new ge.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},I_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},T_={init:function(){this.setColour(u_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new ge.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},M_={init:function(){this.setColour(u_),this.appendValueInput("VALUE").appendField(ge.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},h_={init:function(){this.setColour(u_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(ge.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=ge.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},ge.isNumber(n)&&ge.isNumber(s)&&ge.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const da=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ia=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},Ta=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Ma=function(e,t){return["None",t.ORDER_ATOMIC]},ha=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},ma=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Ea=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Oa=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Ra=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},ca=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ga=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},Ca=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},Sa=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Aa=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},La=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Na=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Da=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},fa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},Fa=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Pa=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},va=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},Ya=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},ya=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},ba=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},xa=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},Va=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},Ba=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Ga=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Ua=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},wa=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},ka=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),ge.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Au=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Lu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Nu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Du=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},fu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},Fu=function(e,t){return'"},Pu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},vu=function(){return this.getFieldValue("TEXT")+"\n"},Yu=function(e){return e.getFieldValue("TEXT")+"\n"},Xu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},yu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},bu=function(){return""},xu=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},Vu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},wu.scrubNakedValue=function(e){return e+"\n"},wu.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},wu.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},wu.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=ge.utils.string.wrap(_,wu.COMMENT_WRAP-3),n+=wu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const ku="#74A55B",Hu={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_RGB_PIN_COUNT)}},Wu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ku={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ge.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ge.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_RESET)}},$u={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(ge.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},er={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},tr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ir={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},nr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},sr={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_r={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField("360°"+ge.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SETTING+ge.Msg.blockpy_turtle_rotate+ge.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},pr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},ar={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ur={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},rr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},lr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new ge.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(ge.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ge.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[ge.Msg.MOTOR_N,"ms32006.MOT_N"],[ge.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Ir={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new ge.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ge.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Tr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_RGB_PIN_COUNT)}},Mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},hr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_WRI)}},Er={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new ge.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([["SYN6288"+ge.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+ge.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_WHETHER).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_STOPPED,"0"],[ge.Msg.MIXLY_PLAYING,"1"],[ge.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},gr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MP3_PLAY,"1"],[ge.Msg.MIXLY_MP3_PAUSE,"2"],[ge.Msg.MIXLY_STOP,"3"],[ge.Msg.MIXLY_MP3_PREV,"4"],[ge.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(ge.Msg.MIXLY_MP3_VOL+ge.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Sr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE+ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MP3_LOOP_ALL,"0"],[ge.Msg.MIXLY_MP3_LOOP_ONE,"1"],[ge.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[ge.Msg.MIXLY_MP3_LOOP_RAM,"3"],[ge.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[ge.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[ge.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Lr={},Nr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(ge.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(ge.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(ge.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Pr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_TRAFFIC_LIGHT).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LISTS_SET_INDEX_SET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_WHITE,"W"],[ge.Msg.COLOUR_RGB_RED,"R"],[ge.Msg.COLOUR_RGB_YELLOW,"Y"],[ge.Msg.COLOUR_RGB_GREEN,"G"],[ge.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_WHITE,"W"],[ge.Msg.COLOUR_RGB_RED,"R"],[ge.Msg.COLOUR_RGB_YELLOW,"Y"],[ge.Msg.COLOUR_RGB_GREEN,"G"],[ge.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[ge.Msg.MIXLY_SPEED,"[1]"],[ge.Msg.MATH_SINGLE_OP_ABSOLUTE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[ge.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[ge.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[ge.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MATH_SINGLE_OP_ABSOLUTE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"0"],[ge.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[ge.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField("("+ge.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},kr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField("("+ge.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"0"],[ge.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MOTOR,"ext_motor"],[ge.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ge.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ge.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ge.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ge.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ge.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ge.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MOTOR,"ext_motor"],[ge.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ge.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ge.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ge.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ge.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ge.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ge.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SERVO+ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},zr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MOTOR+ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},jr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r="#6C9858",Zr={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},el={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_ON,"1"],[ge.Msg.MIXLY_ESP32_OFF,"0"],[ge.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},tl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},il={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},_l={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(ge.Msg.MIXLY_LCD_SETCOLOR).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LIGHT_RED,"1"],[ge.Msg.MIXLY_LIGHT_GREEN,"2"],[ge.Msg.MIXLY_LIGHT_BLUE,"3"],[ge.Msg.MIXLY_LIGHT_YELLOW,"4"],[ge.Msg.MIXLY_LIGHT_CYAN,"5"],[ge.Msg.MIXLY_LIGHT_PURPLE,"6"],[ge.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ol={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},al={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},rl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ll={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},dl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Il={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_WRI)}},hl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},El={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ol={init:function(){this.setColour($r),this.appendValueInput("TICKS").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ge.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ge.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Rl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_RESET)}},gl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Al={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ll={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dl={init:function(){this.setColour($r),this.appendDummyInput().appendField("MixGo Car").appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour($r),this.appendDummyInput("").appendField("MixGo Car").appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_STOP).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ge.Msg.MIXLY_SPEED,"SPEED"],[ge.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.MIXLY_MOTOR).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"1"],[ge.Msg.TEXT_TRIM_RIGHT,"2"],[ge.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ge.Msg.MIXLY_SPEED,"SPEED"],[ge.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[ge.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(ge.Msg.MIXLY_MOTOR).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"0"],[ge.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_MIXBOT_BUZZER+ge.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},kl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MIXBOT_BUZZER+ge.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},Hl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_RECORD_AUDIO).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(ge.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_PLAY_AUDIO).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===Ce.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendValueInput("duty").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===Ce.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.MIXLY_ALL+ge.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(ge.ALIGN_RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$l={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.ANALOG+ge.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(ge.Msg.MIXLY_RELEASE).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.ANALOG+ge.Msg.MIXLY_KEYBOARD_INPUT)}},Zl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SPECIAL_KEY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[ge.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[ge.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[ge.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[ge.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[ge.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[ge.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[ge.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[ge.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GENERAL_KEY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour($r),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new ge.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(ge.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Em={init:function(){this.jsonInit({colour:pm,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:ge.Msg.MIXLY_MICROBIT_Built_in_image1,message0:ge.Msg.MIXLY_MICROBIT_Built_in_image})}},Om={init:function(){this.setColour(pm),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Rm={init:function(){this.setColour(pm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ge.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ge.FieldDropdown(Rm.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ge.Msg.MIXLY_MICROBIT_image_add,"-":ge.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[ge.Msg.MICROBIT_DISPLAY_UNION,"add"],[ge.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},cm={init:function(){this.setColour(pm),this.appendValueInput("A").setCheck("esp32_image").appendField(ge.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},gm={init:function(){this.setColour(pm),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET2).appendField(new ge.FieldDropdown(gm.OPERATORS),"OP"),this.appendValueInput("val").appendField(ge.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_UNIT);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ge.Msg.DISPLAY_IMAGE_LET,n=ge.Msg.DISPLAY_IMAGE_LET2,s=ge.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:ge.Msg.MIXLY_UP,shift_down:ge.Msg.MIXLY_DOWN,shift_left:ge.Msg.MIXLY_LEFT,shift_right:ge.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[ge.Msg.MIXLY_UP,"shift_up"],[ge.Msg.MIXLY_DOWN,"shift_down"],[ge.Msg.MIXLY_LEFT,"shift_left"],[ge.Msg.MIXLY_RIGHT,"shift_right"]]},Cm={init:function(){this.setColour(pm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Sm={init:function(){this.setColour(pm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Am={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Lm={init:function(){this.setColour(pm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Nm={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Clear_display);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Clear_display)}},Dm={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.MIXLY_SHOW+ge.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fm={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Fm={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(Fm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Pm={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},vm={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(vm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Ym={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Xm={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(Xm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},ym={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.OLED_SET_FONT).appendField(new ge.FieldDropdown(ym.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+ge.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+ge.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+ge.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},bm={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},xm={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},Vm={init:function(){this.setColour(pm),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ge.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},Bm={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ge.Msg.TEXT_CENTER).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Gm={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Um={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wm={init:function(){this.setColour(pm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},km={init:function(){this.jsonInit({colour:pm,args0:[{name:"state",options:[[ge.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ge.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Hm={init:function(){this.jsonInit({colour:pm,args0:[{name:"state",options:[[ge.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ge.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[ge.Msg.mpython_vertical,"0"],[ge.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ge.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Wm={init:function(){this.jsonInit({colour:pm,args0:[{name:"state",options:[[ge.Msg.mpython_display_hline_1,"1"],[ge.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.mpython_display_line_TOOLTIP,message0:ge.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Km={init:function(){this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ge.FieldDropdown(Km.IMAGES),"path"),this.setColour(pm),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Jm={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qm={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(qm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},zm={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Qm={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},jm={init:function(){this.setColour(pm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},$m={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new ge.FieldDropdown($m.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[ge.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[ge.Msg.CLOCKWISE+"90"+ge.Msg.blockpy_setheading_degree,"1"],[ge.Msg.CLOCKWISE+"180"+ge.Msg.blockpy_setheading_degree,"2"],[ge.Msg.CLOCKWISE+"270"+ge.Msg.blockpy_setheading_degree,"3"]]},Zm={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},eE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(eE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(pm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},tE={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},iE={init:function(){this.setColour(pm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(ge.Msg.MIXLY_AipImageClassify_Image+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nE={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ge.Msg.TEXT_CENTER).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},sE={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_E={init:function(){this.jsonInit({colour:pm,args0:[{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ge.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},oE={init:function(){this.jsonInit({colour:pm,args0:[{name:"dir_h_v",options:[[ge.Msg.mpython_vertical,"0"],[ge.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ge.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},pE={init:function(){this.jsonInit({colour:pm,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.mpython_display_line_TOOLTIP,message0:ge.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},aE={init:function(){this.setColour(pm),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ge.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},uE={init:function(){this.setColour(pm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_LCD_SETCOLOR).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},rE={init:function(){this.setColour(pm),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SCREEN_FILL);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lE={init:function(){this.setColour(pm),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(ge.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dE={init:function(){this.setColour(pm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(pm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(ge.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(ge.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(ge.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.setColour(pm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ME={init:function(){this.setColour(pm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hE={init:function(){this.jsonInit({colour:pm,args0:[{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,message0:ge.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},mE={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER).appendField(ge.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(ge.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.DRAW_POINTER_TOOLTIP)}},EE={init:function(){this.setColour(pm),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER).appendField(ge.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(ge.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.DRAW_POINTER_TOOLTIP)}},OE={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},RE={init:function(){this.setColour(pm),this.appendValueInput("direct").appendField(ge.Msg.OLED_BITMAP).appendField(ge.Msg.MIXLY_QR_CODE),"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cE={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP).appendField(ge.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ERROR_RATE).appendField(new ge.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gE={init:function(){this.setColour(pm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},CE={init:function(){rm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){Tm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){gm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Am.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){Lm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},DE={init:function(){Nm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fE=180,FE={init:function(){this.setColour(fE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(ge.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET2).appendField(new ge.FieldDropdown(FE.OPERATORS),"OP"),this.appendValueInput("val").appendField(ge.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ge.Msg.DISPLAY_IMAGE_LET,n=ge.Msg.DISPLAY_IMAGE_LET2,s=ge.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"]]},PE={init:function(){this.setColour(fE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ge.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ge.FieldDropdown(PE.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ge.Msg.MIXLY_MICROBIT_image_add,"-":ge.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[ge.Msg.MICROBIT_DISPLAY_UNION,"+"],[ge.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},vE={init:function(){this.setColour(fE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new ge.FieldDropdown(vE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_MICROBIT_IMAGE+{height:ge.Msg.MIXLY_HEIGHT,width:ge.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[ge.Msg.MIXLY_HEIGHT,"height"],[ge.Msg.MIXLY_WIDTH,"width"]]},YE={init:function(){this.setColour(fE),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RECT).appendField(new ge.FieldDropdown(YE.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_OLED_RECT)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},XE={init:function(){this.setColour(fE),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new ge.FieldDropdown(XE.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},yE={init:function(){this.setColour(fE),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_DISPLAY_DRAW+ge.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new ge.FieldDropdown(yE.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_DISPLAY_DRAW+ge.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},bE="#777777",xE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField("from ").appendField(new ge.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new ge.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField("import ").appendField(new ge.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField(new ge.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},LO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},NO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},DO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},fO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ge.Msg.MIXLY_WIFI_USERNAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.MIXLY_IOT_PASSWORD).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_PROJECT).setAlign(ge.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},FO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},PO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.appendDummyInput().appendField(ge.Msg.MIXLY_Service_quality_display).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_AT_MOST_ONCE,"0"],[ge.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},vO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},YO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},XO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ge.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},xO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},VO={init:function(){this.setColour(OO),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},BO={init:function(){this.setColour(OO),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},GO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},UO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO").appendField(ge.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(ge.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},wO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+ge.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kO={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HO={init:function(){this.VISITOR_ID=Ce.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(OO),this.appendDummyInput("").appendField(new ge.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},WO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MixIO").appendField(ge.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},KO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("HTTP"+ge.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ge.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(ge.Msg.MIXLY_REQUESTS_GET).appendField(ge.Msg.MIXLY_GET_CURRENT_TIME).appendField(ge.Msg.MIXLY_OPEN_DEBUG).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("HTTP"+ge.Msg.MIXLY_Client).appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ge.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ge.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},qO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MQTT"+ge.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ge.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(ge.Msg.MIXLY_INIT_SUBSCRIBE).appendField(ge.Msg.MQTT_Topic).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(ge.Msg.MIXLY_OPEN_DEBUG).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zO={init:function(){this.setColour(OO),this.appendDummyInput().appendField("MQTT"+ge.Msg.MIXLY_Client).appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ge.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ge.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},QO=RO,jO=cO,$O=gO,ZO=CO,eR=AO,tR={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(ge.Msg.MODEL_NAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(ge.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iR=tR,nR={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.MIXLY_API_PRIVATE_KEY).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(ge.Msg.MODEL_NAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(ge.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sR={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_R={init:function(){this.setColour(OO),this.appendDummyInput().appendField(ge.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},oR={init:function(){this.setColour(OO),this.appendDummyInput().appendField("Ollama "+ge.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${ge.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${ge.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(ge.inputs.Align.RIGHT).appendField(`MixIO ${ge.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},lR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},dR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(ge.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},IR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(ge.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR=225,MR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(ge.Msg.MIXLY_NETWORK_MODE).appendField(new ge.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},hR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[ge.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=ge.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:ge.Msg.MIXLY_NETWORK_WIFI_OPEN,False:ge.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},mR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},ER={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:ge.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},OR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(ge.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(ge.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},RR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_CONNECT+ge.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},cR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[ge.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[ge.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:ge.Msg.MIXLY_ESP32_NETWORK_IP,1:ge.Msg.MIXLY_ESP32_NETWORK_MASK,2:ge.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},gR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},CR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[ge.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},SR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(ge.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(ge.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},AR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},LR={init:function(){this.setColour(TR),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ge.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},NR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},DR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},fR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},FR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},PR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},vR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},YR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},XR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},yR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},bR={init:function(){this.setColour(TR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},xR={init:function(){this.setColour(TR),this.appendValueInput("DOMAIN").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_REQUESTS_GET).appendField(new ge.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},VR={init:function(){this.appendValueInput("VAL"),this.setColour(TR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown(VR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:ge.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:ge.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:ge.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[ge.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},BR={init:function(){this.appendValueInput("VAR").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(TR),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown(BR.METHOD),"DIR"),this.appendDummyInput("").appendField(ge.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:ge.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:ge.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},GR={init:function(){this.setColour(TR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(ge.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},UR={init:function(){this.setColour(TR),this.appendDummyInput("").appendField(new ge.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},wR="#3288dd",kR={init:function(){this.setColour(wR),this.appendValueInput("URL").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(ge.Msg.blockpy_REQUESTS).appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},HR={init:function(){this.setColour(wR),this.appendValueInput("URL").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(ge.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(ge.Msg.blockpy_REQUESTS+ge.Msg.OLED_STRING),this.appendDummyInput("").appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},WR={init:function(){this.appendValueInput("VAL"),this.setColour(wR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown(WR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[ge.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[ge.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},KR={init:function(){this.setColour(wR),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(ge.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(ge.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},JR={init:function(){this.setColour(wR),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(ge.Msg.MIXLY_EMQX_PORT).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ge.Msg.MIXLY_WIFI_USERNAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.MIXLY_IOT_PASSWORD).setAlign(ge.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qR={init:function(){this.setColour(wR),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(ge.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},zR={init:function(){this.setColour(wR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QR={init:function(){this.setColour(wR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jR={init:function(){this.setColour(wR),this.appendDummyInput().appendField("mqtt"+ge.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},$R="#A58C5B",ZR={init:function(){this.setColour($R),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SENOR_IS_PRESSED)}},ec={init:function(){this.setColour($R),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SENOR_WAS_PRESSED)}},tc={init:function(){this.setColour($R),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_BUTTON+ge.Msg.MIXLY_GET_PRESSES)}},ic={init:function(){this.setColour($R),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ge.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ge.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},nc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_shake,"shake"],[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"],[ge.Msg.MIXLY_MICROBIT_face_up,"face up"],[ge.Msg.MIXLY_MICROBIT_face_down,"face down"],[ge.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=ge.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ge.Msg.MSG.catSensor,s=ge.Msg.MIXLY_MICROBIT_JS_STATE,_=ge.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ge.Msg.MIXLY_MICROBIT_shake,up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT,"face up":ge.Msg.MIXLY_MICROBIT_face_up,"face down":ge.Msg.MIXLY_MICROBIT_face_down,freefall:ge.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},sc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},_c={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},oc={init:function(){this.setColour($R),this.appendValueInput("PIN",Number).appendField(new ge.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new ge.FieldDropdown(oc.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]},pc={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},ac={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},uc={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"left"],[ge.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(ge.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=ge.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=ge.Msg.MIXLY_ESP32_NEAR;return i+{left:ge.Msg.TEXT_TRIM_LEFT,right:ge.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},rc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[ge.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":ge.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":ge.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},lc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[ge.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},dc={init:function(){this.setColour($R),this.appendValueInput("PIN",Number).appendField("DS18X20 "+ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},Ic={init:function(){this.setColour($R),this.appendDummyInput("").appendField("LM35"+ge.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_LM35)}},Tc={init:function(){this.setColour($R),this.appendValueInput("I2CSUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[ge.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[ge.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[ge.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[ge.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[ge.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[ge.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[ge.Msg.HTML_COLOUR+"、"+ge.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+ge.Msg.MIXLY_NEXT+"、"+ge.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[ge.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[ge.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[ge.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[ge.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[ge.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Mc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(ge.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+ge.Msg.MIXLY_DELAY_TIME_RANGE)}},hc={init:function(){this.setColour($R),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RADAR).appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(ge.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+ge.Msg.MIXLY_DELAY_TIME_RANGE)}},mc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Ec={init:function(){this.setColour($R),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RADAR).appendField(ge.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Oc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Rc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_HELLO_XIAOZHI,"1"],[ge.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[ge.Msg.MIXLY_THE_FIRST,"3"],[ge.Msg.MIXLY_THE_SECOND,"4"],[ge.Msg.MIXLY_THE_THIRD,"5"],[ge.Msg.MIXLY_THE_FOURTH,"6"],[ge.Msg.MIXLY_THE_FIFTH,"7"],[ge.Msg.MIXLY_THE_SIXTH,"8"],[ge.Msg.MIXLY_THE_SEVENTH,"9"],[ge.Msg.MIXLY_THE_EIGHTH,"10"],[ge.Msg.MIXLY_THE_NINTH,"11"],[ge.Msg.MIXLY_THE_TENTH,"12"],[ge.Msg.MIXLY_THE_ELEVENTH,"13"],[ge.Msg.MIXLY_THE_TWELFTH,"14"],[ge.Msg.MIXLY_THE_13TH,"15"],[ge.Msg.MIXLY_THE_14TH,"16"],[ge.Msg.MIXLY_THE_15TH,"17"],[ge.Msg.MIXLY_THE_16TH,"18"],[ge.Msg.MIXLY_THE_17TH,"19"],[ge.Msg.MIXLY_THE_18TH,"20"],[ge.Msg.MIXLY_THE_19TH,"21"],[ge.Msg.MIXLY_THE_20TH,"22"],[ge.Msg.MIXLY_Turn_on_the_lights,"23"],[ge.Msg.MIXLY_Turn_off_the_lights,"24"],[ge.Msg.MIXLY_Turn_up_the_brightness,"25"],[ge.Msg.MIXLY_Turn_down_the_brightness,"26"],[ge.Msg.MIXLY_Set_it_to_red,"27"],[ge.Msg.MIXLY_Set_it_to_orange,"28"],[ge.Msg.MIXLY_Set_it_to_yellow,"29"],[ge.Msg.MIXLY_Set_it_to_green,"30"],[ge.Msg.MIXLY_Set_it_to_cyan,"31"],[ge.Msg.MIXLY_Set_it_to_blue,"32"],[ge.Msg.MIXLY_Set_it_to_purple,"33"],[ge.Msg.MIXLY_Set_it_to_white,"34"],[ge.Msg.MIXLY_Turn_on_the_fan,"35"],[ge.Msg.MIXLY_Turn_off_the_fan,"36"],[ge.Msg.MIXLY_First_gear,"37"],[ge.Msg.MIXLY_Wind_speed_second,"38"],[ge.Msg.MIXLY_Third_gear,"39"],[ge.Msg.MIXLY_Previous,"40"],[ge.Msg.MIXLY_Next_page,"41"],[ge.Msg.MIXLY_Show_smiley_face,"42"],[ge.Msg.MIXLY_Show_crying_face,"43"],[ge.Msg.MIXLY_Show_love,"44"],[ge.Msg.MIXLY_Close_display,"45"],[ge.Msg.MIXLY_Start_execution,"46"],[ge.Msg.MIXLY_FORWARD,"47"],[ge.Msg.MIXLY_BACKWARD,"48"],[ge.Msg.MIXLY_TURNLEFT,"49"],[ge.Msg.MIXLY_TURNRIGHT,"50"],[ge.Msg.MIXLY_STOP,"51"],[ge.Msg.MIXLY_Accelerate,"52"],[ge.Msg.MIXLY_retard,"53"],[ge.Msg.ROTATION_FORWARD,"54"],[ge.Msg.ROTATION_BACKWARD,"55"],[ge.Msg.MIXLY_Query_temperature,"56"],[ge.Msg.MIXLY_Query_humidity,"57"],[ge.Msg.MIXLY_Query_brightness,"58"],[ge.Msg.MIXLY_Query_sound,"59"],[ge.Msg.MIXLY_Query_time,"60"],[ge.Msg.MIXLY_Query_distance,"61"],[ge.Msg.MIXLY_Query_pressure,"62"],[ge.Msg.MIXLY_Query_key,"63"],[ge.Msg.MIXLY_Query_touch,"64"],[ge.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(ge.Msg.MIXLY_WHETHER+ge.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},cc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[ge.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[ge.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},gc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MP3_PLAY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[ge.Msg.MIXLY_WIND_SPEED,"154"],[ge.Msg.MIXLY_HYETAL,"155"],[ge.Msg.MIXLY_TEMPERATURE,"156"],[ge.Msg.MIXLY_Humidity,"157"],[ge.Msg.MIXLY_Altitude,"158"],[ge.Msg.MIXLY_SOUND,"159"],[ge.Msg.MIXLY_BRIGHTNESS,"160"],[ge.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[ge.Msg.MIXLY_SERVO,"162"],[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[ge.Msg.MIXLY_BUTTON2,"164"],[ge.Msg.MIXLY_ESP32_TOUCH,"165"],[ge.Msg.MIXLY_PAY,"166"],[ge.Msg.MIXLY_CARSH_CHANGE,"167"],[ge.Msg.MIXLY_COUNTDOWN,"168"],[ge.Msg.MIXLY_TIMING,"169"],[ge.Msg.MIXLY_AT_THE_MOMENT,"170"],[ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[ge.Msg.MIXLY_FORWARD,"172"],[ge.Msg.MIXLY_BACKWARD,"173"],[ge.Msg.MIXLY_TURNLEFT,"174"],[ge.Msg.MIXLY_TURNRIGHT,"175"],[ge.Msg.MIXLY_STOP,"176"],[ge.Msg.MIXLY_Accelerate,"177"],[ge.Msg.MIXLY_retard,"178"],[ge.Msg.ROTATION_FORWARD,"179"],[ge.Msg.ROTATION_BACKWARD,"180"],[ge.Msg.TUPLE_JOIN,"181"],[ge.Msg.MIXLY_SHOW,"182"],[ge.Msg.MIXLY_LAMPLIGHT,"183"],[ge.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(ge.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(ge.Msg.MIXLY_UNIT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[ge.Msg.MIXLY_YEAR,"117"],[ge.Msg.MIXLY_MONTH,"118"],[ge.Msg.MIXLY_DAY,"119"],[ge.Msg.MIXLY_HOUR,"120"],[ge.Msg.MIXLY_MINUTE,"121"],[ge.Msg.MIXLY_SECOND,"122"],[ge.Msg.MIXLY_WEEK2,"123"],[ge.Msg.MIXLY_RMB_UNIT,"124"],[ge.Msg.blockpy_setheading_degree,"125"],[ge.Msg.MIXLY_GEAR,"126"],[ge.Msg.MIXLY_LAYER,"127"],[ge.Msg.MIXLY_GRAM,"128"],[ge.Msg.MIXLY_METER,"129"],[ge.Msg.MIXLY_CENTIMETER,"130"],[ge.Msg.MIXLY_MILLIMETER,"131"],[ge.Msg.MIXLY_LUMEN,"132"],[ge.Msg.MIXLY_DECIBEL,"133"],[ge.Msg.MIXLY_hectopascal,"134"],[ge.Msg.MIXLY_PERCENT,"135"],[ge.Msg.MIXLY_CELSIUS,"136"],[ge.Msg.MIXLY_METER_PER_SEC,"137"],[ge.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[ge.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[ge.Msg.MIXLY_SUCCESS,"140"],[ge.Msg.MIXLY_FAILED,"141"],[ge.Msg.MIXLY_WRONG,"142"],[ge.Msg.MIXLY_GOOD,"143"],[ge.Msg.MIXLY_blockpy_set_add,"144"],[ge.Msg.MIXLY_DECREASE,"145"],[ge.Msg.COLOUR_RGB_RED,"146"],[ge.Msg.COLOUR_RGB_ORANGE,"147"],[ge.Msg.COLOUR_YELLOW,"148"],[ge.Msg.COLOUR_RGB_GREEN,"149"],[ge.Msg.COLOUR_CYAN,"150"],[ge.Msg.COLOUR_RGB_BLUE,"151"],[ge.Msg.COLOUR_RGB_PURPLE,"152"],[ge.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Cc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXLY_SYSTEM+ge.Msg.MIXLY_CMD).appendField(new ge.FieldDropdown([[ge.Msg.MILXY_ENTER_WAKE_UP,"1"],[ge.Msg.MIXLY_INCREASE_VOLUME,"202"],[ge.Msg.MIXLY_REDUCE_VOLUME,"203"],[ge.Msg.MIXLY_MAX_VOLUME,"204"],[ge.Msg.MIXLY_MINIMUM,"205"],[ge.Msg.MIXLY_OPEN_RESPONSE,"206"],[ge.Msg.MIXLY_CLOSE_RESPONSE,"207"],[ge.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Sc={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[ge.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[ge.Msg.MIXLY_ESP32_MAX30102_IR+","+ge.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ac={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[ge.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[ge.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lc={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.HTML_COLOUR+ge.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET+ge.Msg.HTML_COLOUR,"[2]"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_IR_STRENGTH,"[1]"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.HTML_COLOUR+ge.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET+"RGB"+ge.Msg.HTML_COLOUR,"0"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_RGB_RAW,"1"],[ge.Msg.MIXLY_GET_ENV_LIGHT+ge.Msg.MIXLY_BRIGHTNESS,"2"],[ge.Msg.GET_IR_STRENGTH+ge.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET_ENV_LIGHT,"E"],[ge.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fc={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},vc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Yc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},bc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(ge.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MIXGOPE_FIELD+ge.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[ge.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_shake,"shake"],[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"],[ge.Msg.MIXLY_MICROBIT_face_up,"face up"],[ge.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=ge.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ge.Msg.MSG.catSensor,s=ge.Msg.MIXLY_MICROBIT_JS_STATE,_=ge.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ge.Msg.MIXLY_MICROBIT_shake,up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT,"face up":ge.Msg.MIXLY_MICROBIT_face_up,"face down":ge.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},Bc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Gc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_GET+ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Uc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},wc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},kc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_GETTEMPERATUE)}},Hc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return ge.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},Wc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Kc={init:function(){this.setColour($R),this.appendValueInput("SPISUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},Jc={init:function(){this.setColour($R),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[ge.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},qc={init:function(){this.setColour($R),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},zc={init:function(){this.setColour($R),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Qc={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},jc={init:function(){this.setColour($R),this.appendDummyInput().appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ge.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},$c={init:function(){this.setColour($R),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_SCAN_OK,"0"],[ge.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[ge.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Zc={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},eg={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},tg={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ig={init:function(){this.setColour($R),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ge.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},BP=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},GP=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},UP=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},wP=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},kP=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},HP=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},WP=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},KP=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},JP=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},qP=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},zP=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},QP=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},jP=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},$P=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ZP=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ev=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},tv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},iv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},nv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},sv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},_v=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},ov=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},pv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},av=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},uv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},rv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},lv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},dv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},Iv=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},Tv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},Mv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},hv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},mv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Ev=function(e,t){t.definitions_.import_st7789="import st7789";var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Ov=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Rv=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},cv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},gv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Cv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Sv=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},Av=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Lv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},Nv=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},Dv=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},fv=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},Fv=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},Pv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Ce.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},vv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Yv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},Xv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},yv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},bv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},xv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},Vv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Bv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Gv=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},Uv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},wv=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},kv=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},Hv=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},Wv=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},Kv=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},Jv=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},qv=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},zv=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},Qv=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},jv=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},$v=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},Zv=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},eY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},tY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},iY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},nY=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},UY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},wY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},kY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},HY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},WY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},KY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},JY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},qY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},zY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},QY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},jY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},$Y=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},ZY=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},eX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},tX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},iX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},nX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},sX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},_X=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"direct",t.ORDER_ATOMIC);t.valueToCode(this,"boolean",t.ORDER_ATOMIC);return"onboard_tft.qrcode("+n+")\n"},oX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},pX=Jv,aX=dY,uX=uY,rX=dY,lX=IY,dX=_Y,IX=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},TX=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},MX=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},LG=function(){return"control.reset()\n"},NG=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+")\n"},DG=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+")\n"},fG=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},FG=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},PG=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},vG=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},YG=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},XG=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},yG=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},bG=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},xG=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},VG=function(){return"while True:\n pass\n"},BG=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},GG=function(e,t){return t.definitions_.import_os="import os","os.uname()"},UG=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},wG=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},kG=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},HG=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},WG=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},KG=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},JG=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},qG=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},zG=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},QG=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},jG=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},$G=KG,ZG=JG,eU=WG,tU=UG,iU=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},nU=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},sU=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},_U=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},oU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},pU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},aU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},uU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},rU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},lU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},dU=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},IU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},TU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},MU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},hU=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},mU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:EU}=Ce,OU=EU.render(mU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:RU}=Ce,cU=RU.render(mU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:gU}=Ce,CU=gU.render(mU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),SU=new ge.Generator("Python");SU.INDENT=" ",SU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),SU.ORDER_ATOMIC=0,SU.ORDER_COLLECTION=1,SU.ORDER_STRING_CONVERSION=1,SU.ORDER_UNARY_POSTFIX=1,SU.ORDER_UNARY_PREFIX=2,SU.ORDER_MEMBER=2.1,SU.ORDER_FUNCTION_CALL=2.2,SU.ORDER_EXPONENTIATION=3,SU.ORDER_UNARY_SIGN=4,SU.ORDER_BITWISE_NOT=4,SU.ORDER_MULTIPLICATIVE=5,SU.ORDER_ADDITIVE=6,SU.ORDER_BITWISE_SHIFT=7,SU.ORDER_BITWISE_AND=8,SU.ORDER_BITWISE_XOR=9,SU.ORDER_BITWISE_OR=10,SU.ORDER_RELATIONAL=11,SU.ORDER_EQUALITY=11,SU.ORDER_LOGICAL_NOT=12,SU.ORDER_LOGICAL_AND=13,SU.ORDER_LOGICAL_OR=14,SU.ORDER_ASSIGNMENT=14,SU.ORDER_CONDITIONAL=15,SU.ORDER_LAMBDA=16,SU.ORDER_NONE=99,SU.ORDER_OVERRIDES=[[SU.ORDER_FUNCTION_CALL,SU.ORDER_MEMBER],[SU.ORDER_FUNCTION_CALL,SU.ORDER_FUNCTION_CALL],[SU.ORDER_MEMBER,SU.ORDER_MEMBER],[SU.ORDER_MEMBER,SU.ORDER_FUNCTION_CALL]],SU.init=function(){SU.PASS=this.INDENT+"pass\n",SU.definitions_=Object.create(null),SU.functionNames_=Object.create(null),SU.setups_=Object.create(null),SU.loops_=Object.create(null),SU.codeEnd_=Object.create(null),SU.variableDB_?SU.variableDB_.reset():SU.variableDB_=new Ne(SU.RESERVED_WORDS_)},SU.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in SU.functions_)o.push(SU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in SU.setups_)p.push(SU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in SU.loops_)a.push(SU.loops_[s]);var u=[];for(var s in SU.codeEnd_)u.push(SU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},SU.scrubNakedValue=function(e){return e+"\n"},SU.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},SU.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},SU.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=ge.utils.string.wrap(_,SU.COMMENT_WRAP-3),n+=SU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const AU={};AU.mpython={description:"MicroPython[EDUCORE Edu Core]",digital_pin:Ce.Profile.generate(["0-10","18"]),input_pin:Ce.Profile.generate(["0-10","18"]),output_pin:Ce.Profile.generate(["0-10","18"]),pwm_input:Ce.Profile.generate(["0-10","18"],"pwm","pwm"),analog_input:Ce.Profile.generate(["0-4"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-10","18"],"pwm","pwm"),analog_output:Ce.Profile.generate(["0-4"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-10","18"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-10","18"]),pwm:Ce.Profile.generate(["0-10","18"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["0-4"]),analog:Ce.Profile.generate(["0-4"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-11"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["ANGRY","onboard_matrix.ANGRY"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["BIRTHDAY","onboard_music.BIRTHDAY"],["BA_DING","onboard_music.BA_DING"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},AU["ESP32C2 Generic(2M)"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ce.Profile.generate(["0-11","18-21"]),input_pin:Ce.Profile.generate(["0-11","18-21"]),output_pin:Ce.Profile.generate(["0-11","18-21"]),pwm_input:Ce.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ce.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ce.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-11","18-21"]),pwm:Ce.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["0-5"]),analog:Ce.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-31"]),exlcdv:Ce.Profile.generate(["0-11"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const LU=AU,NU=20,DU={init:function(){this.setColour(NU),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_HIGH,"HIGH"],[ge.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},fU={init:function(){this.setColour(NU),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},FU={init:function(){this.setColour(NU),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},PU={init:function(){this.setColour(NU),this.appendValueInput("PIN",Number).appendField("DAC"+ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},vU={init:function(){this.setColour(NU),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_mSecond,"period"],[ge.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},YU={init:function(){this.setColour(NU),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_REF_VOLTAGE+ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},XU={init:function(){this.setColour(NU),this.appendValueInput("pin").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},yU={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ge.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ge.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},bU={init:function(){this.setColour(20),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_AS).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[ge.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[ge.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[ge.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},xU={init:function(){this.setColour(NU),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("dac#"),"PIN_OBJ").appendField(ge.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+ge.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},VU={init:function(){this.setColour(NU),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("tc#"),"PIN_OBJ").appendField(ge.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},BU={init:function(){this.setColour(NU),this.appendValueInput("PIN",Number).appendField("PWM"+ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_FREQUENCY+ge.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},GU=bU,UU=VU,wU=XU,kU=yU,HU=40,WU={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(HU),this.appendDummyInput("").appendField(e).appendField(ge.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},KU={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(HU),this.appendDummyInput("").appendField(e).appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" HP203X").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},JU={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(HU),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},qU={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(HU),this.appendDummyInput().appendField(e).appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},zU={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(HU),this.appendDummyInput().appendField(e).appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},QU={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(HU),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},jU={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(HU),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ge.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0)}},$U={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(HU),this.appendDummyInput().appendField(e).appendField("RFID"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_SCAN_OK,"True"],[ge.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[ge.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ZU=100,ew={init:function(){this.setColour(ZU),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXGO_LEFT_FRONT+ge.Msg.COLOUR_RGB_GREEN+ge.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[ge.Msg.MIXGO_RIGHT_FRONT+ge.Msg.COLOUR_RGB_GREEN+ge.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[ge.Msg.MIXGO_LEFT_BACK+ge.Msg.COLOUR_RGB_GREEN+ge.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[ge.Msg.MIXGO_RIGHT_BACK+ge.Msg.COLOUR_RGB_GREEN+ge.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[ge.Msg.MIXGO_LEFT_FRONT+ge.Msg.COLOUR_RGB_RED+ge.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[ge.Msg.MIXGO_RIGHT_FRONT+ge.Msg.COLOUR_RGB_RED+ge.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[ge.Msg.MIXGO_LEFT_BACK+ge.Msg.COLOUR_RGB_RED+ge.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[ge.Msg.MIXGO_RIGHT_BACK+ge.Msg.COLOUR_RGB_RED+ge.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[ge.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},tw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},iw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},nw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},sw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},_w={init:function(){this.setColour(ZU),this.appendDummyInput().appendField("ME GO").appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ow={init:function(){this.setColour(ZU),this.appendDummyInput().appendField("ME GO").appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},pw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField("ME GO").appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[ge.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.ROTATION_FORWARD,"CW"],[ge.Msg.ROTATION_BACKWARD,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aw={init:function(){this.setColour(ZU),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_INTERRUPT).appendField(ge.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"A"],[ge.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},uw={init:function(){this.setColour(ZU),this.appendDummyInput("").appendField(ge.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"A"],[ge.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new ge.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},rw={init:function(){this.setColour(ZU),this.appendDummyInput("").appendField(ge.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"A"],[ge.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new ge.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},lw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"[0]"],[ge.Msg.MIXGO_LEFT_MID,"[1]"],[ge.Msg.MIXGO_RIGHT_MID,"[2]"],[ge.Msg.TEXT_TRIM_RIGHT,"[3]"],[ge.Msg.MIXLY_ALL,""]]),"key").appendField(ge.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+ge.Msg.MIXLY_ESP32_NEAR}))}},dw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXGO_LEFT_FRONT,"[0]"],[ge.Msg.MIXGO_RIGHT_FRONT,"[1]"],[ge.Msg.MIXGO_LEFT_BACK,"[3]"],[ge.Msg.MIXGO_RIGHT_BACK,"[2]"],[ge.Msg.MIXLY_ALL,""]]),"key").appendField(ge.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+ge.Msg.MIXLY_ESP32_NEAR}))}},Iw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[ge.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[ge.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[ge.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[ge.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Tw={init:function(){this.setColour(ZU),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.ME_GO_PITCH,"[0]"],[ge.Msg.ME_GO_ROLL,"[1]"],[ge.Msg.ME_GO_PITCH+", "+ge.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Mw={init:function(){this.setColour(ZU),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"[0]"],[ge.Msg.MIXGO_LEFT_MID,"[1]"],[ge.Msg.MIXGO_RIGHT_MID,"[2]"],[ge.Msg.TEXT_TRIM_RIGHT,"[3]"],[ge.Msg.MIXLY_ALL,""]]),"key").appendField(ge.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+ge.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},hw=230,mw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital),"PIN"),this.setOutput(!0)}},Ew={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},Ow={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},Rw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},cw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Cw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Sw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Aw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Lw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},Nw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Dw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},fw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},Fw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},Pw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},vw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog),"PIN"),this.setOutput(!0)}},Xw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},yw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.dac),"PIN"),this.setOutput(!0)}},bw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},xw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Vw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Bw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm),"PIN"),this.setOutput(!0)}},Gw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},Uw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},ww={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.touch),"PIN"),this.setOutput(!0)}},kw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Hw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Ww={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},Kw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.imglist),"PIN"),this.setOutput(!0)}},Jw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.playlist),"PIN"),this.setOutput(!0)}},qw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},zw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Qw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},jw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},$w={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Zw={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},tk={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},ik={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},sk={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},_k={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.one_more),"PIN"),this.setOutput(!0)}},ok={init:function(){this.setColour(hw),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},pk=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},ak=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},uk=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},rk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},lk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},dk=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},Ik=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},Tk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},Mk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},hk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},mk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Ek=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_ahtx0."+i+"()",t.ORDER_ATOMIC]},Ok=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_hp203x."+i,t.ORDER_ATOMIC]},Rk=function(e,t){t.definitions_.import_mini_g2="import mini_g2";return["mini_g2.varistor()",t.ORDER_ATOMIC]},ck=function(e,t){if(t.definitions_.import_mini_g2="import mini_g2","mixgo_mini"==Ce.Boards.getSelectedBoardKey().split(":")[2]){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var i='ext_rfid.read_card(0, x="id")'}else{t.definitions_.import_mini_g2="import mini_g2";i='mini_g2.ext_rc522.read_card(0, x="id")'}return[i,t.ORDER_ATOMIC]},gk=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else{t.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.read_card("+n+")"}return[s,t.ORDER_ATOMIC]},Ck=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else{t.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")\n"}return _},Sk=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else{t.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")"}return[_,t.ORDER_ATOMIC]},Ak=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else{t.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.scan_card()=="+n}return[s,t.ORDER_ATOMIC]},Lk=function(e,t){return t.definitions_.import_me_go_car="from me_go import car",["car."+this.getFieldValue("op"),t.ORDER_ATOMIC]},Nk=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car","car.setonoff("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},Dk=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car",["car.getrightness("+i+")",t.ORDER_ATOMIC]},fk=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car",["car.getonoff("+i+")",t.ORDER_ATOMIC]},Fk=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car","car.setbrightness("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},Pk=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'",'+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},vk=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'")\n'},Yk=function(e,t){var i=this.getFieldValue("wheel");t.definitions_.import_me_go_car="from me_go import car";var n=this.getFieldValue("direction");return 0==i&&("CW"==n?n="CCW":"CCW"==n&&(n="CW")),"car.motor(car.MOTO["+i+'],"'+n+'",'+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},Xk=function(e,t){var i=this.getFieldValue("mode");return t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,"hall_"+i+".irq_cb("+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+")\n"},yk=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i;var s=t.valueToCode(this,"num",t.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+s+",distance="+s+")\n":"hall_"+i+".initial("+n+"="+s+")\n"},bk=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");return t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,["hall_"+i+"."+n,t.ORDER_ATOMIC]},xk=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.patrol()"+i,t.ORDER_ATOMIC]},Vk=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.obstacle()"+i,t.ORDER_ATOMIC]},Bk=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car","car.ir_mode(car."+i+")\n"},Gk=function(e,t){return t.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa",["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),t.ORDER_ATOMIC]},Uk=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.light()"+i,t.ORDER_ATOMIC]},wk=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},kk=wk,Hk=wk,Wk=wk,Kk=wk,Jk=wk,qk=wk,zk=wk,Qk=wk,jk=wk,$k=wk,Zk=wk,eH=wk,tH=wk,iH=wk,nH=wk,sH=wk,_H=wk,oH=wk,pH=wk,aH=wk,uH=wk,rH=wk,lH=wk,dH=wk,IH=wk,TH=wk,MH=wk,hH=wk,mH=wk,EH=wk,OH=wk,RH=wk,cH=wk,gH=wk,CH=wk,SH=wk,AH=wk,LH=wk,NH=wk,DH=wk,fH=wk,FH=wk,PH=wk,vH=wk;Object.assign(ge.Variables,Ae),Object.assign(ge.Procedures,Uu),Object.assign(ge.Lang.ZhHans,le),Object.assign(ge.Lang.ZhHant,de),Object.assign(ge.Lang.En,Ie),ge.Python=wu,ge.generator=wu,Ce.Profile.default={},Object.assign(Ce.Profile,LU),Object.assign(Ce.Profile.default,LU["MixGo CC"]),Object.assign(ge.Blocks,t,i,n,s,_,o,p,a,u,r,l,d,I,V,H,k,X,B,W,f,w,U,G,F,D,N,b,y,x,P,v,Y,Te,Me,he,me),Object.assign(ge.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,ne,ue,ae,Z,se,re,q,pe,oe,_e,z,J,K,te,ee,ie,Q,j,$,Ee,Oe,Re,ce)})(); \ No newline at end of file diff --git a/boards/default/micropython_educore/main.bundle.705ae874.js b/boards/default/micropython_educore/main.bundle.705ae874.js new file mode 100644 index 00000000..967bff4d --- /dev/null +++ b/boards/default/micropython_educore/main.bundle.705ae874.js @@ -0,0 +1,21 @@ +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Yt,controls_typeLists:()=>Xt,lists_zip:()=>yt,lists_zip_container:()=>bt,lists_zip_item:()=>xt,unpack_iterable_object:()=>Vt,variables_change:()=>Pt,variables_get:()=>ft,variables_global:()=>vt,variables_set:()=>Ft});var i={};t.r(i),t.d(i,{base_setup:()=>Ut,controls_delay:()=>wt,controls_end_program:()=>kt,controls_except:()=>ie,controls_finally:()=>ne,controls_flow_statements:()=>zt,controls_for:()=>Qt,controls_forEach:()=>Kt,controls_for_range:()=>jt,controls_if:()=>Ht,controls_if_else:()=>te,controls_if_elseif:()=>Zt,controls_if_if:()=>$t,controls_lambda:()=>_e,controls_main:()=>Gt,controls_pass:()=>oe,controls_range:()=>Wt,controls_repeat_ext:()=>se,controls_thread:()=>pe,controls_try:()=>ee,controls_try_finally:()=>qt,controls_whileUntil:()=>Jt,datetime_fromtimestamp:()=>Ie,do_while:()=>ae,garbage_collection:()=>ue,gene_unique_identifier:()=>Te,get_mem_alloc:()=>re,get_mem_free:()=>le,get_unique_identifier:()=>de});var n={};t.r(n),t.d(n,{base_map:()=>ye,generate_cartesian_product:()=>xe,math_arithmetic:()=>Oe,math_bit:()=>ce,math_constant:()=>me,math_constant_mp:()=>Ee,math_constrain:()=>De,math_dec:()=>Ce,math_degree_to_radian:()=>Be,math_indexer_number:()=>Fe,math_map:()=>fe,math_max_min:()=>Ae,math_number:()=>he,math_number_base_conversion:()=>Le,math_radian_to_degree:()=>Ve,math_random:()=>Ne,math_random_seed:()=>Pe,math_round:()=>ve,math_selfcalcu:()=>Re,math_to_int:()=>Se,math_trig:()=>ge,text_to_number:()=>Ye,text_to_number_skulpt:()=>Xe,turn_to_int:()=>be});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Ke,char_to_ascii:()=>Je,number_to_text:()=>qe,os_system:()=>Oi,text:()=>Ue,text_bytes:()=>ke,text_capital:()=>ni,text_center:()=>si,text_char:()=>He,text_char_at:()=>je,text_char_at2:()=>Qe,text_char_at3:()=>Mi,text_compareTo:()=>Ti,text_compare_to:()=>ii,text_create_with_container:()=>li,text_create_with_item:()=>di,text_encode:()=>mi,text_equals_starts_ends:()=>ei,text_eval:()=>Ei,text_find:()=>_i,text_format:()=>ri,text_format_noreturn:()=>hi,text_join:()=>We,text_join_seq:()=>oi,text_length:()=>ze,text_random_char:()=>$e,text_replace:()=>pi,text_split:()=>ai,text_strip:()=>ui,text_substring:()=>ti,text_substring2:()=>Ze,text_substring3:()=>Ii,text_textarea:()=>we});var _={};t.r(_),t.d(_,{ENUMERATE:()=>en,content_in_lists:()=>sn,enumerate:()=>nn,list_many_input:()=>wi,list_tolist:()=>Ki,list_tolist2:()=>tn,list_trig:()=>Bi,lists_2d_get_col_row_data:()=>Si,lists_2d_get_data_with_col_row:()=>Ci,lists_append_extend:()=>Fi,lists_change_to:()=>Ui,lists_change_to_general:()=>Hi,lists_clear:()=>yi,lists_create_with:()=>Ai,lists_create_with2:()=>Ji,lists_create_with_container:()=>Ni,lists_create_with_item:()=>Di,lists_create_with_noreturn:()=>ki,lists_create_with_text:()=>Li,lists_create_with_text2:()=>qi,lists_del_general:()=>Wi,lists_find:()=>Vi,lists_getIndex3:()=>zi,lists_getSublist3:()=>Qi,lists_get_index:()=>ci,lists_get_random_item:()=>Pi,lists_get_random_sublist:()=>vi,lists_get_sublist:()=>gi,lists_insert_value:()=>Yi,lists_insert_value2:()=>$i,lists_pop:()=>xi,lists_remove_at:()=>bi,lists_remove_at2:()=>Zi,lists_reverse:()=>Xi,lists_setIndex3:()=>ji,lists_set_index:()=>fi,lists_sort:()=>Gi});var o={};t.r(o),t.d(o,{dicts_add_change_del:()=>Rn,dicts_add_or_change:()=>dn,dicts_clear:()=>Mn,dicts_create_with:()=>on,dicts_create_with_container:()=>pn,dicts_create_with_item:()=>an,dicts_create_with_noreturn:()=>Cn,dicts_deldict:()=>On,dicts_delete:()=>In,dicts_get:()=>rn,dicts_get_default:()=>ln,dicts_items:()=>hn,dicts_keys:()=>un,dicts_length:()=>En,dicts_pop:()=>cn,dicts_setdefault:()=>gn,dicts_to_json:()=>An,dicts_to_json2:()=>Dn,dicts_to_to:()=>Nn,dicts_todict:()=>Sn,dicts_update:()=>Tn,dicts_values:()=>mn,json_to_dicts:()=>Ln});var p={};t.r(p),t.d(p,{logic_boolean:()=>Xn,logic_compare:()=>Fn,logic_compare_continous:()=>Pn,logic_is:()=>Vn,logic_is_in:()=>xn,logic_negate:()=>Yn,logic_null:()=>yn,logic_operation:()=>vn,logic_tobool:()=>Bn,logic_true_or_false:()=>bn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>as,sdcard_use_spi_init:()=>ps,storage_can_write_ornot:()=>qn,storage_change_dir:()=>_s,storage_close_file:()=>Qn,storage_delete_file:()=>$n,storage_file_seek:()=>es,storage_file_tell:()=>ts,storage_file_write:()=>Hn,storage_fileopen:()=>Un,storage_fileopen_new:()=>wn,storage_fileopen_new_encoding:()=>kn,storage_get_a_line:()=>Jn,storage_get_contents:()=>Kn,storage_get_contents_without_para:()=>Wn,storage_get_current_dir:()=>is,storage_get_file_size:()=>Zn,storage_get_filename:()=>zn,storage_is_file:()=>os,storage_list_all_files:()=>jn,storage_make_dir:()=>ns,storage_open_file_with_os:()=>Gn,storage_rename:()=>ss});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>Is,procedures_callreturn:()=>Ts,procedures_defnoreturn:()=>us,procedures_defreturn:()=>rs,procedures_ifreturn:()=>Ms,procedures_mutatorarg:()=>ds,procedures_mutatorcontainer:()=>ls,procedures_return:()=>hs});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Ds,tuple_create_llm_params:()=>xs,tuple_create_with:()=>Es,tuple_create_with_container:()=>Os,tuple_create_with_item:()=>Rs,tuple_create_with_noreturn:()=>vs,tuple_create_with_text2:()=>cs,tuple_create_with_text_return:()=>gs,tuple_del:()=>As,tuple_find:()=>fs,tuple_getIndex:()=>Cs,tuple_getSublist:()=>Ps,tuple_get_random_item:()=>Xs,tuple_get_sublist:()=>Ys,tuple_input:()=>bs,tuple_join:()=>Ls,tuple_length:()=>Ss,tuple_max:()=>Ns,tuple_totuple:()=>ys,tuple_trig:()=>Fs});var l={};t.r(l),t.d(l,{set_add_discard:()=>Js,set_clear:()=>Hs,set_create_with:()=>Bs,set_create_with_container:()=>Gs,set_create_with_item:()=>Us,set_create_with_text_return:()=>Qs,set_length:()=>ws,set_operate:()=>Ws,set_operate_update:()=>Ks,set_pop:()=>ks,set_sub:()=>qs,set_toset:()=>js,set_update:()=>zs});var d={};t.r(d),t.d(d,{html_content:()=>i_,html_content_more:()=>n_,html_document:()=>Zs,html_form:()=>__,html_head_body:()=>e_,html_style:()=>s_,html_style_color:()=>p_,html_style_content:()=>o_,html_text:()=>a_,html_title:()=>t_});var I={};t.r(I),t.d(I,{attribute_access:()=>g_,function_call:()=>O_,function_call_container:()=>R_,function_call_item:()=>c_,raw_block:()=>l_,raw_empty:()=>I_,raw_expression:()=>d_,raw_table:()=>r_,text_comment:()=>T_,text_print_multiple:()=>h_,text_print_multiple_container:()=>m_,text_print_multiple_item:()=>E_,type_check:()=>M_});var T={};t.r(T),t.d(T,{controls_type:()=>N_,controls_typeLists:()=>D_,lists_zip:()=>f_,unpack_iterable_object:()=>F_,variables_change:()=>A_,variables_get:()=>C_,variables_global:()=>L_,variables_set:()=>S_});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>G_,base_setup:()=>v_,controls_delay:()=>B_,controls_flow_statements:()=>V_,controls_for:()=>y_,controls_forEach:()=>W_,controls_for_range:()=>b_,controls_if:()=>Y_,controls_interrupts:()=>k_,controls_lambda:()=>J_,controls_main:()=>P_,controls_millis:()=>U_,controls_nointerrupts:()=>H_,controls_pass:()=>z_,controls_range:()=>K_,controls_repeat:()=>no,controls_repeat_ext:()=>$_,controls_thread:()=>Q_,controls_try_finally:()=>X_,controls_whileUntil:()=>x_,datetime_fromtimestamp:()=>so,do_while:()=>j_,garbage_collection:()=>Z_,gene_unique_identifier:()=>_o,get_mem_alloc:()=>to,get_mem_free:()=>eo,get_unique_identifier:()=>io,reset:()=>w_,time_sleep:()=>q_});var h={};t.r(h),t.d(h,{base_map:()=>No,generate_cartesian_product:()=>fo,math_arithmetic:()=>ro,math_bit:()=>uo,math_constant:()=>po,math_constant_mp:()=>ao,math_constrain:()=>Ro,math_dec:()=>Mo,math_degree_to_radian:()=>Po,math_indexer_number:()=>Co,math_map:()=>Oo,math_max_min:()=>mo,math_number:()=>oo,math_number_base_conversion:()=>co,math_radian_to_degree:()=>Fo,math_random:()=>Eo,math_random_seed:()=>go,math_round:()=>So,math_selfcalcu:()=>lo,math_single:()=>Io,math_to_int:()=>ho,math_trig:()=>To,text_to_number:()=>Ao,text_to_number_skulpt:()=>Lo,turn_to_int:()=>Do});var m={};t.r(m),t.d(m,{ascii_to_char:()=>xo,char_to_ascii:()=>Vo,number_to_text:()=>Bo,os_system:()=>ap,text:()=>vo,text_bytes:()=>Xo,text_capital:()=>qo,text_center:()=>zo,text_char:()=>yo,text_char_at:()=>wo,text_char_at2:()=>Uo,text_char_at3:()=>_p,text_compareTo:()=>sp,text_compare_to:()=>Wo,text_encode:()=>op,text_equals_starts_ends:()=>Ho,text_eval:()=>pp,text_find:()=>Qo,text_format:()=>ep,text_format_noreturn:()=>ip,text_join:()=>bo,text_join_seq:()=>jo,text_length:()=>Go,text_random_char:()=>ko,text_replace:()=>$o,text_split:()=>Zo,text_strip:()=>tp,text_substring:()=>Jo,text_substring2:()=>Ko,text_substring3:()=>np,text_textarea:()=>Yo});var E={};t.r(E),t.d(E,{content_in_lists:()=>wp,enumerate:()=>Up,list_many_input:()=>Dp,list_tolist:()=>Bp,list_tolist2:()=>Gp,list_trig:()=>Ap,lists_2d_get_col_row_data:()=>lp,lists_2d_get_data_with_col_row:()=>rp,lists_append_extend:()=>hp,lists_change_to:()=>Np,lists_change_to_general:()=>Fp,lists_clear:()=>cp,lists_create_with:()=>dp,lists_create_with2:()=>vp,lists_create_with_noreturn:()=>fp,lists_create_with_text:()=>Ip,lists_create_with_text2:()=>Yp,lists_del_general:()=>Pp,lists_find:()=>gp,lists_getIndex3:()=>Xp,lists_getSublist3:()=>yp,lists_get_index:()=>Tp,lists_get_random_item:()=>mp,lists_get_random_sublist:()=>Ep,lists_get_sublist:()=>up,lists_insert_value:()=>Op,lists_insert_value2:()=>xp,lists_pop:()=>Sp,lists_remove_at:()=>Cp,lists_remove_at2:()=>Vp,lists_reverse:()=>Rp,lists_setIndex3:()=>bp,lists_set_index:()=>Mp,lists_sort:()=>Lp});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>ea,dicts_add_or_change:()=>Jp,dicts_clear:()=>Qp,dicts_create_with:()=>kp,dicts_create_with_noreturn:()=>sa,dicts_deldict:()=>ta,dicts_delete:()=>qp,dicts_get:()=>Wp,dicts_get_default:()=>Kp,dicts_items:()=>jp,dicts_keys:()=>Hp,dicts_length:()=>Zp,dicts_pop:()=>ia,dicts_setdefault:()=>na,dicts_to_json:()=>oa,dicts_to_json2:()=>ua,dicts_to_to:()=>aa,dicts_todict:()=>_a,dicts_update:()=>zp,dicts_values:()=>$p,json_to_dicts:()=>pa});var R={};t.r(R),t.d(R,{logic_boolean:()=>Ta,logic_compare:()=>ra,logic_compare_continous:()=>la,logic_is:()=>Ea,logic_is_in:()=>ma,logic_negate:()=>Ia,logic_null:()=>Ma,logic_operation:()=>da,logic_tobool:()=>Oa,logic_true_or_false:()=>ha});var c={};t.r(c),t.d(c,{sdcard_mount:()=>wa,sdcard_use_spi_init:()=>Ua,storage_can_write_ornot:()=>Da,storage_change_dir:()=>ba,storage_close_file:()=>Fa,storage_delete_file:()=>va,storage_file_seek:()=>ya,storage_file_tell:()=>Xa,storage_file_write:()=>Sa,storage_fileopen:()=>ca,storage_fileopen_new:()=>ga,storage_fileopen_new_encoding:()=>Ca,storage_get_a_line:()=>Na,storage_get_contents:()=>La,storage_get_contents_without_para:()=>Aa,storage_get_current_dir:()=>xa,storage_get_file_size:()=>Ya,storage_get_filename:()=>fa,storage_is_file:()=>Ga,storage_list_all_files:()=>Pa,storage_make_dir:()=>Va,storage_open_file_with_os:()=>Ra,storage_rename:()=>Ba});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Ka,procedures_callreturn:()=>Wa,procedures_defnoreturn:()=>Ha,procedures_defreturn:()=>ka,procedures_ifreturn:()=>Ja,procedures_return:()=>qa});var C={};t.r(C),t.d(C,{tuple_change_to:()=>nu,tuple_create_llm_params:()=>du,tuple_create_with:()=>za,tuple_create_with_noreturn:()=>pu,tuple_create_with_text2:()=>Qa,tuple_create_with_text_return:()=>ja,tuple_del:()=>tu,tuple_find:()=>su,tuple_getIndex:()=>$a,tuple_getSublist:()=>ou,tuple_get_random_item:()=>uu,tuple_get_sublist:()=>au,tuple_input:()=>lu,tuple_join:()=>eu,tuple_length:()=>Za,tuple_max:()=>iu,tuple_totuple:()=>ru,tuple_trig:()=>_u});var S={};t.r(S),t.d(S,{set_add_discard:()=>Ou,set_clear:()=>hu,set_create_with:()=>Iu,set_create_with_text_return:()=>gu,set_length:()=>Tu,set_operate:()=>mu,set_operate_update:()=>Eu,set_pop:()=>Mu,set_sub:()=>Ru,set_toset:()=>Cu,set_update:()=>cu});var A={};t.r(A),t.d(A,{html_content:()=>Nu,html_content_more:()=>Du,html_document:()=>Su,html_form:()=>Fu,html_head_body:()=>Lu,html_style:()=>fu,html_style_content:()=>Pu,html_text:()=>vu,html_title:()=>Au});var L={};t.r(L),t.d(L,{attribute_access:()=>Bu,function_call:()=>Vu,raw_block:()=>Yu,raw_empty:()=>yu,raw_expression:()=>Xu,raw_table:()=>bu,type_check:()=>xu});var N={};t.r(N),t.d(N,{PIN_init:()=>Kr,actuator_extern_get_led_bright:()=>er,actuator_extern_get_led_state:()=>ir,actuator_extern_led_bright:()=>tr,actuator_extern_led_brightness:()=>nr,actuator_ms32006_dcmotor:()=>dr,actuator_ms32006_init:()=>lr,actuator_ms32006_stepper:()=>Ir,actuator_neopixel_init:()=>Tr,actuator_neopixel_rgb:()=>Mr,actuator_neopixel_rgb_all:()=>hr,actuator_neopixel_rgb_show_all_chase:()=>Or,actuator_neopixel_rgb_show_all_rainbow:()=>Er,actuator_neopixel_write:()=>mr,actuator_use_uart_init:()=>Rr,backstage_esp32_music_play_list:()=>qu,esp32_music_get_tempo_extern:()=>Qu,esp32_music_pitch:()=>Wu,esp32_music_pitch_init:()=>Hu,esp32_music_pitch_with_time:()=>Ku,esp32_music_play_list:()=>Ju,esp32_music_reset_extern:()=>ju,esp32_music_set_tempo_extern:()=>zu,esp32_music_stop:()=>$u,esp32_set_music_volume:()=>Zu,mixbot_actuator_extern_get_addr:()=>Hr,mixbot_actuator_extern_set_addr:()=>Wr,mixbot_addr_extern:()=>Pr,parrot_PIN_init:()=>Qr,parrot_move_speed:()=>jr,pin_led_bright:()=>Jr,player_insert_music:()=>Lr,player_play_music:()=>Ar,player_set_mode:()=>Sr,player_set_play:()=>gr,player_set_volume:()=>Cr,player_whether_stop:()=>cr,robot_led_extern:()=>yr,robot_led_extern_get_value:()=>br,robot_motor_extern:()=>vr,robot_motor_extern_get_speed:()=>Yr,robot_servo_extern_absolute_run:()=>Gr,robot_servo_extern_get_status:()=>xr,robot_servo_extern_relative_continue:()=>kr,robot_servo_extern_relative_origin:()=>Ur,robot_servo_extern_relative_run:()=>wr,robot_servo_extern_stop:()=>Br,robot_servo_extern_stop_mode:()=>Vr,robot_traffic_light_extern:()=>Xr,servo_PIN_init:()=>qr,servo_get_angle:()=>ur,servo_get_speed:()=>rr,servo_init:()=>sr,servo_move:()=>_r,servo_move_angle:()=>zr,servo_set_angle:()=>pr,servo_set_speed:()=>ar,servo_speed_360:()=>or,syn6288_builtin_voice:()=>fr,syn6288_get_voice:()=>Dr,syn6288_set_voice:()=>Nr,syn6288_tts_play:()=>Fr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Fl,actuator_dc_motor_stop:()=>Pl,actuator_get_led_bright:()=>il,actuator_get_led_state:()=>nl,actuator_led_bright:()=>el,actuator_led_brightness:()=>sl,actuator_mixbot_buzzer_on_off:()=>bl,actuator_mixgo_nova_mic_get:()=>Ul,actuator_mixgo_nova_mic_set:()=>Gl,actuator_mixgo_nova_onboard_music_pitch:()=>Jl,actuator_mixgo_nova_onboard_music_stop:()=>ql,actuator_mixgo_nova_play_audio:()=>Wl,actuator_mixgo_nova_play_online_audio:()=>Kl,actuator_mixgo_nova_record_audio:()=>Hl,actuator_mixgo_nova_voice_get:()=>kl,actuator_mixgo_nova_voice_set:()=>wl,actuator_mixgo_zero_led_color:()=>_l,actuator_onboard_neopixel_rgb:()=>ll,actuator_onboard_neopixel_rgb_all:()=>dl,actuator_onboard_neopixel_rgb_show_all_chase:()=>Tl,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Il,actuator_onboard_neopixel_write:()=>Ml,actuator_rm_onboard_neopixel_rgb:()=>hl,actuator_rm_onboard_neopixel_rgb_all:()=>ml,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>El,actuator_stepper_keep:()=>Dl,actuator_stepper_stop:()=>fl,analog_ble_keyboard_init:()=>ad,analog_ble_keyboard_input:()=>ld,analog_ble_keyboard_mouse_init:()=>Od,analog_ble_keyboard_mouse_input:()=>Cd,analog_ble_keyboard_mouse_send_battery:()=>gd,analog_ble_keyboard_mouse_str:()=>Sd,analog_ble_keyboard_send_battery:()=>Id,analog_ble_keyboard_str:()=>dd,analog_ble_mouse_init:()=>Td,analog_ble_mouse_input:()=>md,analog_ble_mouse_keyboard_input:()=>Ad,analog_ble_mouse_send_battery:()=>Ed,analog_keyboard_input:()=>Zl,analog_keyboard_str:()=>pd,analog_mouse_input:()=>_d,backstage_onboard_music_play_list:()=>Ll,bitbot_motor:()=>Bl,bitbot_move:()=>xl,bitbot_stop:()=>Vl,ble_keyboard_connect:()=>rd,ble_keyboard_get_mac:()=>ud,ble_keyboard_mouse_connect:()=>cd,ble_keyboard_mouse_get_mac:()=>Rd,ble_mouse_connect:()=>hd,ble_mouse_get_mac:()=>Md,cc_number:()=>rl,educore_ble_keyboard_input:()=>yd,educore_ble_sensor_connected:()=>Xd,educore_ble_sensor_init:()=>Yd,educore_buzzer:()=>Ld,educore_buzzer_play_tone:()=>Nd,educore_buzzer_play_tone_time:()=>Dd,educore_buzzer_stop:()=>fd,educore_neopixel_clear:()=>vd,educore_neopixel_rgb:()=>Pd,educore_rgb_light:()=>Fd,esp32_music_get_tempo:()=>Rl,esp32_music_reset:()=>cl,esp32_music_set_tempo:()=>Ol,esp32_onboard_music_pitch:()=>gl,esp32_onboard_music_pitch_with_time:()=>Cl,esp32_onboard_music_play_list:()=>Al,esp32_onboard_music_stop:()=>Sl,general_key:()=>ed,general_key_tuple:()=>id,generalkey_container:()=>nd,generalkey_create_with_item:()=>sd,get_keyboard_light:()=>bd,get_power_output:()=>Ql,ledswitch:()=>tl,mixbot_motor:()=>yl,mixbot_motor_status:()=>vl,mixbot_move:()=>Yl,mixbot_stop:()=>Xl,mouse_key:()=>od,number:()=>Zr,record_audio:()=>Vd,rm_actuator_get_led_bright:()=>pl,rm_actuator_get_led_state:()=>al,rm_actuator_led_bright:()=>ol,rm_actuator_led_brightness:()=>ul,rm_motor:()=>Nl,set_all_power_output:()=>jl,set_microphone_amplification:()=>xd,set_music_volume:()=>Bd,set_part_power_output:()=>$l,set_power_output:()=>zl,special_key:()=>td});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>OI,ai_sensor_ailocal_class:()=>aI,ai_sensor_ailocal_class_result:()=>uI,ai_sensor_ailocal_train:()=>pI,ai_sensor_asr_recognize:()=>TI,ai_sensor_audio_play:()=>lI,ai_sensor_audio_record:()=>rI,ai_sensor_barcode:()=>Jd,ai_sensor_circle:()=>Zd,ai_sensor_classifier_faces:()=>EI,ai_sensor_color:()=>nI,ai_sensor_color_chases:()=>oI,ai_sensor_color_chases_result:()=>_I,ai_sensor_config:()=>Wd,ai_sensor_face:()=>mI,ai_sensor_find_20objects:()=>RI,ai_sensor_find_barcodes:()=>qd,ai_sensor_find_circles:()=>tI,ai_sensor_find_colors:()=>sI,ai_sensor_find_licenseplates:()=>hI,ai_sensor_find_lines:()=>$d,ai_sensor_find_qrcodes:()=>Hd,ai_sensor_find_rects:()=>iI,ai_sensor_find_tags:()=>Qd,ai_sensor_licenseplate:()=>MI,ai_sensor_line:()=>jd,ai_sensor_qrcode:()=>wd,ai_sensor_qrcode_lite:()=>kd,ai_sensor_rect:()=>eI,ai_sensor_rgb:()=>Kd,ai_sensor_tag:()=>zd,ai_sensor_use_uart_init:()=>Ud,ai_sensor_yolo_recognize:()=>dI,ai_sensor_yolo_recognize_result:()=>II});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>CI,MICROPYTHON_AI_Speech_unit:()=>gI,MICROPYTHON_AI_client:()=>cI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>VI,mpython_blynk_app_notify:()=>PI,mpython_blynk_email:()=>XI,mpython_blynk_get_timers:()=>yI,mpython_blynk_on_connected:()=>DI,mpython_blynk_on_disconnected:()=>NI,mpython_blynk_run:()=>FI,mpython_blynk_sensor_data_to_app:()=>xI,mpython_blynk_set_property:()=>YI,mpython_blynk_setup:()=>BI,mpython_blynk_stop_timers:()=>vI,mpython_blynk_sync_virtual:()=>LI,mpython_blynk_terminal_widget_vpin:()=>AI,mpython_blynktimer:()=>bI,mpython_blynktimer_run:()=>fI});var v={};t.r(v),t.d(v,{cc_g1_init:()=>GI,cc_g1_read_bat:()=>UI,cc_g1_read_joystick:()=>wI,cc_g1_read_key:()=>kI,cc_g1_turnoff:()=>HI});var Y={};t.r(Y),t.d(Y,{ce_go_dc_motor:()=>ZI,ce_go_get_led_bright:()=>qI,ce_go_get_led_state:()=>zI,ce_go_hall_attachInterrupt:()=>tT,ce_go_hall_data:()=>iT,ce_go_hall_initialize:()=>eT,ce_go_led_bright:()=>JI,ce_go_led_brightness:()=>QI,ce_go_light_number:()=>KI,ce_go_pin_light:()=>pT,ce_go_pin_near:()=>sT,ce_go_pin_near_line:()=>nT,ce_go_pin_near_state_change:()=>_T,ce_go_stepper_keep:()=>jI,ce_go_stepper_stop:()=>$I,educore_car:()=>aT,educore_car_pin_near:()=>dT,educore_car_pin_near_line:()=>lT,educore_car_stepper_keep:()=>uT,educore_car_stepper_stop:()=>rT,sensor_mixgome_eulerangles:()=>oT});var X={};t.r(X),t.d(X,{communicate_bluetooth_central_init:()=>qT,communicate_bluetooth_connect:()=>$T,communicate_bluetooth_disconnect:()=>ZT,communicate_bluetooth_handle:()=>sM,communicate_bluetooth_is_connected:()=>eM,communicate_bluetooth_mac:()=>jT,communicate_bluetooth_peripheral_init:()=>zT,communicate_bluetooth_recv:()=>iM,communicate_bluetooth_recv_only:()=>nM,communicate_bluetooth_scan:()=>QT,communicate_bluetooth_send:()=>tM,communicate_espnow_init:()=>_M,communicate_espnow_init_new:()=>oM,communicate_i2c_available:()=>FT,communicate_i2c_init:()=>hT,communicate_i2c_master_read:()=>fT,communicate_i2c_onboard:()=>TT,communicate_i2c_read:()=>mT,communicate_i2c_scan:()=>OT,communicate_i2c_write:()=>ET,communicate_ir_recv_init:()=>VT,communicate_ir_send_init:()=>kT,communicate_ow_init:()=>vT,communicate_ow_read:()=>XT,communicate_ow_reset:()=>xT,communicate_ow_scan:()=>YT,communicate_ow_select:()=>bT,communicate_ow_write:()=>yT,communicate_spi_buffer:()=>gT,communicate_spi_init:()=>RT,communicate_spi_onboard:()=>MT,communicate_spi_read:()=>CT,communicate_spi_read_output:()=>ST,communicate_spi_readinto:()=>AT,communicate_spi_readinto_output:()=>LT,communicate_spi_set:()=>cT,communicate_spi_write:()=>NT,communicate_spi_write_readinto:()=>DT,espnow_radio_channel:()=>dM,espnow_radio_channel_new:()=>TM,espnow_radio_on_off:()=>MM,espnow_radio_rec:()=>mM,espnow_radio_recv:()=>OM,espnow_radio_recv_certain_msg:()=>RM,espnow_radio_recv_certain_msg_new:()=>gM,espnow_radio_recv_msg:()=>EM,espnow_radio_recv_new:()=>cM,espnow_radio_send:()=>hM,espnow_radio_txpower:()=>IM,i2c_available:()=>HM,i2c_init:()=>FM,i2c_master_reader2:()=>kM,i2c_read:()=>PM,i2c_scan:()=>YM,i2c_slave_onreceive:()=>PT,i2c_write:()=>vM,internal_variable:()=>BT,ir_recv_timeout:()=>wT,ir_transmit_busy:()=>JT,ir_transmit_conventional_data:()=>HT,ir_transmit_raw_code:()=>KT,ir_transmit_study_code:()=>WT,ir_whether_recv:()=>UT,lora_init:()=>CM,lora_packet:()=>SM,lora_recv:()=>LM,lora_send:()=>AM,network_espnow_info:()=>aM,network_espnow_mac:()=>pM,network_espnow_recv:()=>uM,network_espnow_recv_handle:()=>lM,network_espnow_send:()=>rM,recv_fun:()=>GT,spi_buffer:()=>bM,spi_init:()=>XM,spi_read:()=>xM,spi_read_output:()=>VM,spi_readinto:()=>BM,spi_readinto_output:()=>GM,spi_set:()=>yM,spi_write:()=>UM,spi_write_readinto:()=>wM,urequests_attribute:()=>DM,urequests_get:()=>NM,urequests_method:()=>fM});var y={};t.r(y),t.d(y,{display_animate:()=>gh,display_blink_rate:()=>Eh,display_circle:()=>Ch,display_color_seclet:()=>yh,display_draw_4strings:()=>dh,display_fill:()=>ch,display_get_screen_image:()=>mh,display_help:()=>Ah,display_image_size:()=>Ih,display_lcd_use_i2c_init:()=>Uh,display_line:()=>Mh,display_line_arbitrarily:()=>hh,display_matrix_extern_bright_point:()=>sh,display_matrix_extern_bright_screen:()=>oh,display_matrix_extern_clear:()=>ph,display_matrix_extern_get_pixel:()=>nh,display_matrix_extern_get_screen_pixel:()=>_h,display_matrix_extern_image_builtins:()=>ah,display_matrix_extern_scroll_string:()=>$M,display_matrix_extern_scroll_string_delay:()=>ZM,display_matrix_extern_shift:()=>ih,display_matrix_extern_show_frame_string:()=>th,display_matrix_extern_show_frame_string_delay:()=>eh,display_matrix_extern_show_image:()=>QM,display_matrix_extern_show_image_or_string_delay:()=>jM,display_matrix_use_i2c_init:()=>zM,display_oled_drawPixel:()=>Nh,display_oled_showBitmap:()=>Lh,display_oled_use_i2c_init:()=>Kh,display_onoff:()=>Rh,display_rect:()=>Th,display_rgb_color:()=>Oh,display_tm1650_power:()=>fh,display_tm1650_set_brightness:()=>vh,display_tm1650_show_dot:()=>Ph,display_tm1650_show_num:()=>Fh,display_tm_use_i2c_init:()=>Dh,display_triangle:()=>Sh,display_use_i2c_init:()=>lh,extern_oled_bright_point:()=>nm,extern_oled_clear:()=>sm,extern_oled_get_pixel:()=>im,extern_oled_hvline:()=>om,extern_oled_line:()=>pm,extern_oled_scroll_string:()=>jh,extern_oled_scroll_string_delay:()=>$h,extern_oled_shape_rect:()=>_m,extern_oled_shift:()=>em,extern_oled_show_frame_string:()=>Zh,extern_oled_show_frame_string_delay:()=>tm,extern_oled_show_image:()=>Jh,extern_oled_show_image_or_string_delay:()=>Qh,extern_oled_show_image_xy:()=>qh,extern_oled_show_string:()=>zh,lcd_backlight:()=>Hh,lcd_clear:()=>Wh,lcd_print_string:()=>kh,lcd_show_image_or_string_delay:()=>wh,matrix_extern_image_arithmetic:()=>uh,matrix_extern_image_invert:()=>rh,tft_fill:()=>Bh,tft_line_arbitrarily:()=>Gh,tft_scroll_string_delay:()=>xh,tft_show_frame_string_delay:()=>Vh,tft_show_image_or_string_delay:()=>bh,tft_show_image_xy:()=>Xh,tft_use_spi_init:()=>Yh});var b={};t.r(b),t.d(b,{bitbot_display_bitmap_create:()=>eE,bitbot_display_image_create:()=>tE,display_available:()=>fm,display_bitmap_create:()=>Em,display_bright_point:()=>Am,display_bright_screen:()=>Nm,display_clear:()=>Dm,display_get_pixel:()=>Sm,display_get_screen_pixel:()=>Lm,display_image_builtins:()=>Om,display_image_builtins_all:()=>Rm,display_image_create:()=>mm,display_scroll_string:()=>lm,display_scroll_string_delay:()=>dm,display_scroll_way:()=>Im,display_shift:()=>Cm,display_show_frame_string:()=>Mm,display_show_frame_string_delay:()=>hm,display_show_image:()=>um,display_show_image_or_string_delay:()=>rm,draw_pointer:()=>EE,image_arithmetic:()=>cm,image_invert:()=>gm,mixbot_display_bitmap_create:()=>zm,mixbot_display_bright_screen:()=>$m,mixbot_display_get_ambientbright:()=>jm,mixbot_display_get_screen_pixel:()=>Qm,mixbot_display_image_create:()=>qm,mixbot_display_rotate:()=>Zm,mixgo_display_bitmap_create:()=>ym,mixgo_display_image_create_new:()=>Xm,mixgome_display_bitmap_create:()=>Pm,mixgome_display_font:()=>bm,mixgome_display_image_create:()=>Fm,mixgomini_display_bitmap_create:()=>Ym,mixgomini_display_image_create:()=>vm,mpython_display_hvline:()=>Wm,mpython_display_line:()=>Km,mpython_display_shape_rect:()=>Hm,mpython_pbm_image:()=>Jm,nova_draw_pointer:()=>OE,onboard_oled_bright_point:()=>km,onboard_oled_scroll_string_delay:()=>Um,onboard_oled_show_frame_string_delay:()=>wm,onboard_oled_show_image:()=>xm,onboard_oled_show_image_or_string_delay:()=>Gm,onboard_oled_show_image_xy:()=>Vm,onboard_oled_show_string:()=>Bm,onboard_tft_bright_point:()=>rE,onboard_tft_bright_screen:()=>DE,onboard_tft_clear:()=>fE,onboard_tft_clock_clear:()=>hE,onboard_tft_clock_draw:()=>ME,onboard_tft_clock_get_rtctime:()=>IE,onboard_tft_clock_init:()=>dE,onboard_tft_clock_set_time:()=>TE,onboard_tft_display_hvline:()=>pE,onboard_tft_display_line:()=>aE,onboard_tft_display_shape_circle:()=>mE,onboard_tft_display_shape_rect:()=>oE,onboard_tft_fill:()=>lE,onboard_tft_get_pixel:()=>uE,onboard_tft_get_screen_pixel:()=>NE,onboard_tft_scroll_string:()=>SE,onboard_tft_scroll_string_delay:()=>Tm,onboard_tft_shift:()=>LE,onboard_tft_show_frame_string:()=>AE,onboard_tft_show_frame_string_delay:()=>_E,onboard_tft_show_image:()=>CE,onboard_tft_show_image_or_string_delay:()=>sE,onboard_tft_show_image_xy:()=>iE,onboard_tft_show_image_xy_direct:()=>nE,onboard_tft_show_qrcode:()=>cE,onboard_tft_show_qrcode_details:()=>gE,onboard_tft_show_texts:()=>RE});var x={};t.r(x),t.d(x,{factory_block:()=>JE,factory_block_return:()=>qE,factory_block_return_with_textarea:()=>QE,factory_block_with_textarea:()=>zE,factory_callMethod_noreturn:()=>WE,factory_callMethod_return:()=>KE,factory_create_with_container:()=>UE,factory_create_with_item:()=>wE,factory_declare:()=>HE,factory_from_import:()=>VE,factory_function_noreturn:()=>GE,factory_function_return:()=>kE,factory_import:()=>BE,folding_block:()=>jE});var V={};t.r(V),t.d(V,{controls_pin_attachInterrupt:()=>OO,inout_analog_atten:()=>pO,inout_analog_read:()=>oO,inout_analog_read_init:()=>IO,inout_analog_write:()=>nO,inout_analog_write_init:()=>dO,inout_analog_write_set:()=>sO,inout_analog_write_set_freq:()=>hO,inout_digital_init:()=>rO,inout_digital_read:()=>eO,inout_digital_write:()=>tO,inout_highlow:()=>ZE,inout_pinMode:()=>MO,inout_pin_attachInterrupt:()=>uO,inout_pin_pressed:()=>aO,inout_pin_pressed_init:()=>TO,inout_pwm_analog_write:()=>iO,inout_pwm_analog_write_init:()=>lO,inout_pwm_analog_write_set_freq:()=>_O,pin_pressed:()=>EO,pin_pressed_init:()=>mO});var B={};t.r(B),t.d(B,{IOT_CONNECT_OLLAMA:()=>nR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>HO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>kO,IOT_EMQX_PING:()=>UO,IOT_FORMATTING:()=>BO,IOT_FORMAT_STRING:()=>GO,IOT_MIXIO_NTP:()=>wO,IOT_MIXIO_PUBLISH:()=>PO,IOT_MIXIO_PUBLISHEX:()=>vO,IOT_MIXIO_SUBSCRIBE:()=>YO,iot_checkonenet:()=>tR,iot_client_onboard:()=>KO,iot_connect_ollama:()=>iR,iot_connect_openai:()=>sR,iot_create_with_item:()=>fO,iot_http_client:()=>JO,iot_http_data:()=>qO,iot_mixio_check:()=>bO,iot_mixio_connect:()=>FO,iot_mixio_connect_only:()=>yO,iot_mixio_disconnect:()=>XO,iot_mixio_format_msg:()=>VO,iot_mixio_format_topic:()=>xO,iot_mixly_key:()=>WO,iot_mqtt_client:()=>zO,iot_mqtt_data:()=>QO,iot_onenet_check:()=>SO,iot_onenet_connect:()=>gO,iot_onenet_disconnect:()=>CO,iot_onenet_publish:()=>LO,iot_onenet_publish_dict:()=>AO,iot_onenetconnect:()=>$O,iot_onenetdisconnect:()=>ZO,iot_publish:()=>eR,iot_publish_container:()=>NO,iot_publish_item:()=>DO,iot_tiny_web_db_count:()=>dR,iot_tiny_web_db_delete:()=>TR,iot_tiny_web_db_get:()=>lR,iot_tiny_web_db_init:()=>aR,iot_tiny_web_db_init_with_mqtt:()=>uR,iot_tiny_web_db_search:()=>IR,iot_tiny_web_db_update:()=>rR,iot_wifi_connect:()=>cO,iot_wificonnect:()=>jO,ollama_empty_history:()=>pR,use_ollama_llm_to_chat:()=>_R,use_ollama_llm_to_chat_return:()=>oR});var G={};t.r(G),t.d(G,{educore_mqtt_connect:()=>qR,educore_mqtt_connect_success:()=>$R,educore_mqtt_subscribe_message:()=>zR,educore_mqtt_topic_publish:()=>jR,educore_mqtt_topic_subscribe:()=>QR,educore_wifi_connect:()=>JR,network_ap_connect:()=>AR,network_connect:()=>RR,network_get_connect:()=>gR,network_get_wifi:()=>SR,network_init:()=>hR,network_is_active:()=>ER,network_open:()=>mR,network_scan:()=>OR,network_server:()=>LR,network_socket_accept:()=>PR,network_socket_bind:()=>DR,network_socket_close:()=>xR,network_socket_connect:()=>fR,network_socket_init:()=>NR,network_socket_listen:()=>FR,network_socket_readline:()=>vR,network_socket_receive:()=>YR,network_socket_receive_from:()=>yR,network_socket_send:()=>XR,network_socket_send_to:()=>bR,network_stop:()=>CR,network_wifi_connect:()=>cR,ntptime_address:()=>wR,ntptime_time:()=>UR,requests_attribute:()=>BR,requests_attribute2:()=>KR,requests_get:()=>VR,requests_get2:()=>HR,requests_method:()=>GR,requests_post:()=>WR});var U={};t.r(U),t.d(U,{CI130X_BROADCAST:()=>Cc,CI130X_GET_THE_RECOGNIZED_CMD:()=>gc,CI130X_GET_WHETHER_IDENTIFY:()=>cc,CI130X_IDENTIFY_AND_SAVE:()=>Rc,CI130X_SET_SYSTEM_CMD:()=>Sc,HCSR04:()=>dg,PS2_Button:()=>hg,PS2_Buttons:()=>Eg,PS2_Buttons_new:()=>gg,PS2_State:()=>mg,PS2_init:()=>Ig,PS2_init_new:()=>Rg,PS2_stk:()=>Og,PS2_stk_new:()=>Cg,PS2_vibration:()=>Mg,PS2_vibration_new:()=>cg,camera_sensor_init:()=>Zg,camera_sensor_result:()=>tC,column_tube_foot:()=>_C,define_keyboards:()=>oC,educore_body_sensor:()=>kg,educore_button_sensor_extern:()=>Jg,educore_camera_sensor:()=>$g,educore_infrared_sensor:()=>Kg,educore_soilhum_sensor:()=>Hg,educore_temp_sensor:()=>jg,educore_temphum_sensor:()=>Wg,educore_ultrasonic_sensor:()=>zg,esp32_s2_weather_init:()=>ag,esp32_s2_weather_rain:()=>rg,esp32_s2_weather_wd:()=>ug,esp32_s2_weather_ws:()=>lg,extern_rfid_read:()=>qc,extern_rfid_readcontent:()=>Qc,extern_rfid_readid:()=>zc,extern_rfid_status:()=>Zc,extern_rfid_write:()=>jc,extern_rfid_write_return:()=>$c,get_keboards_value:()=>pC,gnss_get_data:()=>Ng,gnss_have_data:()=>Lg,init_init_rotary_encoder:()=>aC,init_matrix_keyboard:()=>nC,interaction_whether_to_interaction:()=>Ec,interaction_whether_to_interaction_SANT:()=>Oc,line_tube_foot:()=>sC,mixbot_sensor_extern_get_addr:()=>yg,mixbot_sensor_extern_set_addr:()=>bg,pm25_get_data:()=>Ag,radar_set_DETECTION_THRESHOLD:()=>hc,radar_set_DETECTION_THRESHOLD_SANT:()=>mc,robot_button_extern_get_value:()=>fg,robot_color_extern_get_value:()=>Xg,robot_infrared_extern_get_value:()=>Pg,robot_infrared_extern_grey_get_value:()=>vg,robot_potentiometer_extern_get_value:()=>Yg,robot_sonar_extern_get_value:()=>xg,robot_sonar_extern_led:()=>Vg,robot_touch_extern_get_value:()=>Fg,rotary_key:()=>uC,sensor_APDS9960_extern:()=>Lc,sensor_DS18X20:()=>Ic,sensor_LTR308_extern:()=>Nc,sensor_LTR390UV_extern:()=>Fc,sensor_MAX30102_extern:()=>Ac,sensor_QMC5883L_extern:()=>Vc,sensor_VL530LX_extern:()=>Pc,sensor_adxl345_get_acceleration:()=>_c,sensor_aht11_extern:()=>Yc,sensor_bmp:()=>lc,sensor_compass_reset:()=>Kc,sensor_dht11:()=>pc,sensor_hp203_extern:()=>Xc,sensor_light_level:()=>oc,sensor_lm35:()=>Tc,sensor_ltr381_extern:()=>Dc,sensor_mixgo_extern_button_attachInterrupt:()=>nc,sensor_mixgo_extern_button_get_presses:()=>ic,sensor_mixgo_extern_button_is_pressed:()=>tc,sensor_mixgo_extern_button_was_pressed:()=>ec,sensor_mixgo_extern_light:()=>ac,sensor_mixgo_extern_pin_near:()=>rc,sensor_mixgo_extern_sound:()=>uc,sensor_mixgoce_hot_wheel_degrees:()=>pg,sensor_mixgoce_hot_wheel_is_touched:()=>og,sensor_mpu9250_attachGestureInterrupt:()=>sc,sensor_mpu9250_calibrate_compass:()=>kc,sensor_mpu9250_field_strength:()=>Wc,sensor_mpu9250_gesture:()=>Bc,sensor_mpu9250_get_acceleration:()=>Gc,sensor_mpu9250_get_gyro:()=>wc,sensor_mpu9250_get_magnetic:()=>Uc,sensor_mpu9250_temperature:()=>Hc,sensor_ms5611_extern:()=>bc,sensor_ms5611_extern_altitude:()=>xc,sensor_read_humiture:()=>qg,sensor_sht:()=>dc,sensor_shtc3_extern:()=>vc,sensor_spl06_001_extern:()=>yc,sensor_ucs12071_extern:()=>fc,sensor_use_i2c_init:()=>Mc,sensor_use_spi_init:()=>Jc,sensor_use_uart_init:()=>Sg,sensor_weather_solo_init:()=>Bg,sensor_weather_solo_rain:()=>wg,sensor_weather_solo_wd:()=>Gg,sensor_weather_solo_ws:()=>Ug,sensor_weigh_init:()=>eC,tvoc_get_data:()=>Dg,ultrasonic_sensor_read_distance:()=>Qg,weather_data:()=>tg,weather_have_data:()=>eg,weather_set_label:()=>ng,weather_set_label_container:()=>sg,weather_set_label_item:()=>_g,weather_uart_mixio:()=>ig,weigh_sensor_get_weight:()=>iC});var w={};t.r(w),t.d(w,{HCSR04:()=>LC,RTC_set_date:()=>AC,RTC_set_time:()=>SC,bitbot_als_num:()=>yS,dht11:()=>wS,educore_button_sensor:()=>jS,educore_button_was_pressed:()=>$S,educore_gyroscope_sensor:()=>qS,educore_gyroscope_sensor_read:()=>zS,educore_gyroscope_sensor_shake:()=>QS,educore_light_sensor:()=>JS,educore_rfid_sensor:()=>ZS,educore_rfid_sensor_scan:()=>tA,educore_rfid_sensor_scan_data:()=>eA,educore_voice_sensor:()=>WS,number1:()=>DC,number2:()=>fC,number3:()=>FC,number4:()=>PC,number5:()=>vC,number6:()=>YC,number7:()=>XC,onboard_RTC_get_time:()=>wC,onboard_RTC_get_time_str:()=>qC,onboard_RTC_get_timestamp:()=>kC,onboard_RTC_get_timetuple_to_str:()=>zC,onboard_RTC_set_datetime:()=>KC,onboard_RTC_settime_string:()=>WC,onboard_RTC_timestamp_totuple:()=>HC,rfid_readcontent:()=>iS,rfid_readid:()=>eS,rfid_status:()=>_S,rfid_write:()=>nS,rfid_write_return:()=>sS,sensor_LTR308:()=>QC,sensor_aht11:()=>$C,sensor_bitbot_ALS:()=>XS,sensor_button_get_presses:()=>VS,sensor_button_is_pressed:()=>bS,sensor_button_was_pressed:()=>xS,sensor_distance_hrsc04:()=>CC,sensor_eulerangles:()=>pS,sensor_field_strength:()=>kS,sensor_get_acceleration:()=>oS,sensor_get_temperature:()=>ZC,sensor_get_the_coprocessor_version:()=>iA,sensor_hp203:()=>tS,sensor_light:()=>US,sensor_mixbot_get_gyro:()=>YS,sensor_mixbot_patrol_calibrate:()=>FS,sensor_mixbot_patrol_value:()=>PS,sensor_mixbot_temperature:()=>vS,sensor_mixgo_LTR308:()=>GC,sensor_mixgo_button_attachInterrupt:()=>TC,sensor_mixgo_button_get_presses:()=>IC,sensor_mixgo_button_is_pressed:()=>lC,sensor_mixgo_button_was_pressed:()=>dC,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>ES,sensor_mixgo_cc_mmc5603_get_angle:()=>mS,sensor_mixgo_cc_mmc5603_get_magnetic:()=>hS,sensor_mixgo_light:()=>NC,sensor_mixgo_nova_LTR308:()=>BC,sensor_mixgo_nova_pin_near:()=>VC,sensor_mixgo_pin_near:()=>xC,sensor_mixgo_pin_near_double:()=>bC,sensor_mixgo_pin_near_single:()=>yC,sensor_mixgo_pin_pressed:()=>OC,sensor_mixgo_sant_color:()=>UC,sensor_mixgo_touch_slide:()=>gC,sensor_mixgocar42_button_attachInterrupt:()=>EC,sensor_mixgocar42_button_get_presses:()=>mC,sensor_mixgocar42_button_is_pressed:()=>MC,sensor_mixgocar42_button_was_pressed:()=>hC,sensor_mixgocar_battery_left:()=>fS,sensor_mixgocar_pin_near:()=>NS,sensor_mixgocar_pin_near_line:()=>LS,sensor_mixgocar_pin_near_state_change:()=>DS,sensor_mixgoce_pin_pressed:()=>RC,sensor_mixgoce_temperature:()=>RS,sensor_mixgome_temperature:()=>OS,sensor_mpython_pin_pressed:()=>cC,sensor_mpython_qmi8658_get_gyro:()=>cS,sensor_mpython_qmi8658_temperature:()=>gS,sensor_onboard_compass_reset:()=>MS,sensor_onboard_mpu9250_calibrate_compass:()=>dS,sensor_onboard_mpu9250_field_strength:()=>TS,sensor_onboard_mpu9250_gesture:()=>aS,sensor_onboard_mpu9250_get_acceleration:()=>uS,sensor_onboard_mpu9250_get_gyro:()=>lS,sensor_onboard_mpu9250_get_magnetic:()=>rS,sensor_onboard_mpu9250_temperature:()=>IS,sensor_pin_near:()=>GS,sensor_pin_pressed:()=>BS,sensor_read:()=>KS,sensor_rm_acc:()=>AS,sensor_rm_battery_left:()=>SS,sensor_rm_pin_near_double:()=>CS,sensor_rtc_init:()=>JC,sensor_sound:()=>jC,sensor_temperature:()=>HS,simulated_light_sensor:()=>nA});var k={};t.r(k),t.d(k,{serial_any:()=>IA,serial_begin:()=>EA,serial_print:()=>aA,serial_print_byte:()=>pA,serial_print_hex:()=>rA,serial_println:()=>uA,serial_read_from_ai:()=>NA,serial_readline:()=>TA,serial_readstr:()=>dA,serial_readstr_until:()=>MA,serial_receive_data_event:()=>lA,serial_send_to_ai:()=>LA,serial_softserial:()=>mA,serial_softserial_new:()=>hA,system_input:()=>OA,system_print:()=>RA,system_print_container:()=>SA,system_print_end:()=>gA,system_print_inline:()=>cA,system_print_item:()=>AA,system_print_many:()=>CA});var H={};t.r(H),t.d(H,{Panic_with_status_code:()=>PA,Timer_init:()=>WA,base_delay:()=>qA,controls_delay:()=>FA,controls_delay_new:()=>fA,controls_millis:()=>YA,controls_uname:()=>yA,raw_block:()=>XA,reset:()=>vA,set_system_timer:()=>GA,system_bitbot_shutdown:()=>HA,system_machine_reset:()=>kA,system_ticks_diff:()=>VA,system_timer:()=>xA,system_timer_init:()=>BA,system_wdt_feed:()=>wA,system_wdt_init:()=>UA,time_ticks_diff:()=>JA,timer:()=>bA,timer2:()=>KA});var W={};t.r(W),t.d(W,{Air_daily_content:()=>aL,Air_now_content:()=>eL,Geo_moon_content:()=>rL,Geo_sun_content:()=>uL,Life_suggestion_content:()=>nL,Location_search_content:()=>_L,Tide_daily_content:()=>sL,WEATHER_DAILY:()=>jA,WEATHER_HOUR:()=>$A,WEATHER_NOW:()=>QA,Weather_alarm_content:()=>iL,Weather_daily:()=>oL,Weather_daily_content:()=>pL,Weather_now:()=>ZA,Weather_now_content:()=>tL});var K={};t.r(K),t.d(K,{PIN_init:()=>dN,actuator_extern_get_led_bright:()=>vL,actuator_extern_get_led_state:()=>YL,actuator_extern_led_bright:()=>PL,actuator_extern_led_brightness:()=>XL,actuator_ms32006_dcmotor:()=>EL,actuator_ms32006_init:()=>mL,actuator_ms32006_stepper:()=>OL,actuator_neopixel_init:()=>yL,actuator_neopixel_rgb:()=>VL,actuator_neopixel_rgb_all:()=>bL,actuator_neopixel_rgb_show_all_chase:()=>BL,actuator_neopixel_rgb_show_all_rainbow:()=>GL,actuator_neopixel_write:()=>xL,actuator_use_uart_init:()=>UL,backstage_esp32_music_play_list:()=>DL,esp32_music_get_tempo_extern:()=>LL,esp32_music_pitch:()=>cL,esp32_music_pitch_init:()=>RL,esp32_music_pitch_with_time:()=>gL,esp32_music_play_list:()=>NL,esp32_music_reset_extern:()=>fL,esp32_music_set_tempo_extern:()=>AL,esp32_music_stop:()=>CL,esp32_set_music_volume:()=>SL,mixbot_actuator_extern_get_addr:()=>rN,mixbot_actuator_extern_set_addr:()=>lN,mixbot_addr_extern:()=>jL,parrot_PIN_init:()=>hN,parrot_move_speed:()=>mN,pin_led_bright:()=>IN,player_play_music:()=>KL,player_set_mode:()=>WL,player_set_play:()=>kL,player_set_volume:()=>HL,player_whether_stop:()=>wL,robot_led_extern:()=>eN,robot_led_extern_get_value:()=>iN,robot_motor_extern:()=>$L,robot_motor_extern_get_speed:()=>ZL,robot_servo_extern_absolute_run:()=>oN,robot_servo_extern_get_status:()=>nN,robot_servo_extern_relative_continue:()=>uN,robot_servo_extern_relative_origin:()=>pN,robot_servo_extern_relative_run:()=>aN,robot_servo_extern_stop:()=>_N,robot_servo_extern_stop_mode:()=>sN,robot_traffic_light_extern:()=>tN,servo_PIN_init:()=>TN,servo_get_angle:()=>ML,servo_get_speed:()=>hL,servo_init:()=>lL,servo_move:()=>FL,servo_move_angle:()=>MN,servo_set_angle:()=>IL,servo_set_speed:()=>TL,servo_speed_360:()=>dL,syn6288_builtin_voice:()=>zL,syn6288_get_voice:()=>qL,syn6288_set_voice:()=>JL,syn6288_tts_play:()=>QL});var J={};t.r(J),t.d(J,{actuator_dc_motor:()=>KN,actuator_dc_motor_stop:()=>JN,actuator_get_led_bright:()=>fN,actuator_get_led_state:()=>FN,actuator_led_bright:()=>DN,actuator_led_brightness:()=>PN,actuator_mixbot_buzzer_on_off:()=>$N,actuator_mixgo_nova_mic_get:()=>nD,actuator_mixgo_nova_mic_set:()=>iD,actuator_mixgo_nova_onboard_music_pitch:()=>uD,actuator_mixgo_nova_onboard_music_stop:()=>rD,actuator_mixgo_nova_play_audio:()=>pD,actuator_mixgo_nova_play_online_audio:()=>aD,actuator_mixgo_nova_record_audio:()=>oD,actuator_mixgo_nova_voice_get:()=>_D,actuator_mixgo_nova_voice_set:()=>sD,actuator_mixgo_zero_led_color:()=>vN,actuator_onboard_neopixel_rgb:()=>BN,actuator_onboard_neopixel_rgb_all:()=>GN,actuator_onboard_neopixel_rgb_show_all_chase:()=>UN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>wN,actuator_onboard_neopixel_write:()=>VN,actuator_stepper_keep:()=>HN,actuator_stepper_stop:()=>WN,analog_ble_keyboard_init:()=>gD,analog_ble_keyboard_input:()=>AD,analog_ble_keyboard_mouse_init:()=>YD,analog_ble_keyboard_mouse_input:()=>xD,analog_ble_keyboard_mouse_send_battery:()=>bD,analog_ble_keyboard_mouse_str:()=>VD,analog_ble_keyboard_send_battery:()=>ND,analog_ble_keyboard_str:()=>LD,analog_ble_mouse_init:()=>DD,analog_ble_mouse_input:()=>PD,analog_ble_mouse_keyboard_input:()=>BD,analog_ble_mouse_send_battery:()=>vD,analog_keyboard_input:()=>MD,analog_keyboard_str:()=>RD,analog_mouse_input:()=>ED,backstage_onboard_music_play_list:()=>SN,bitbot_motor:()=>eD,bitbot_move:()=>ZN,bitbot_stop:()=>tD,ble_keyboard_connect:()=>SD,ble_keyboard_get_mac:()=>CD,ble_keyboard_mouse_connect:()=>yD,ble_keyboard_mouse_get_mac:()=>XD,ble_mouse_connect:()=>FD,ble_mouse_get_mac:()=>fD,cc_number:()=>YN,educore_ble_keyboard_input:()=>zD,educore_ble_sensor_connected:()=>qD,educore_ble_sensor_init:()=>JD,educore_buzzer:()=>GD,educore_buzzer_play_tone:()=>UD,educore_buzzer_play_tone_time:()=>wD,educore_buzzer_stop:()=>kD,educore_neopixel_clear:()=>KD,educore_neopixel_rgb:()=>WD,educore_rgb_light:()=>HD,esp32_music_get_tempo:()=>ON,esp32_music_reset:()=>AN,esp32_music_set_tempo:()=>EN,esp32_onboard_music_pitch:()=>RN,esp32_onboard_music_pitch_with_time:()=>cN,esp32_onboard_music_play_list:()=>CN,esp32_onboard_music_stop:()=>gN,general_key:()=>mD,general_key_tuple:()=>cD,get_keyboard_light:()=>QD,get_power_output:()=>dD,ledswitch:()=>NN,mixbot_motor:()=>jN,mixbot_motor_status:()=>qN,mixbot_move:()=>zN,mixbot_stop:()=>QN,mouse_key:()=>OD,number:()=>LN,record_audio:()=>$D,rm_actuator_get_led_bright:()=>yN,rm_actuator_get_led_state:()=>bN,rm_actuator_led_bright:()=>XN,rm_actuator_led_brightness:()=>xN,rm_motor:()=>kN,set_all_power_output:()=>ID,set_microphone_amplification:()=>jD,set_music_volume:()=>ZD,set_part_power_output:()=>TD,set_power_output:()=>lD,special_key:()=>hD});var q={};t.r(q),t.d(q,{ai_sensor_20object:()=>Yf,ai_sensor_ailocal_class:()=>gf,ai_sensor_ailocal_class_result:()=>Cf,ai_sensor_ailocal_train:()=>cf,ai_sensor_asr_recognize:()=>Df,ai_sensor_audio_play:()=>Af,ai_sensor_audio_record:()=>Sf,ai_sensor_barcode:()=>pf,ai_sensor_circle:()=>If,ai_sensor_classifier_faces:()=>vf,ai_sensor_color:()=>mf,ai_sensor_color_chases:()=>Rf,ai_sensor_color_chases_result:()=>Of,ai_sensor_config:()=>nf,ai_sensor_face:()=>Pf,ai_sensor_find_20objects:()=>Xf,ai_sensor_find_barcodes:()=>af,ai_sensor_find_circles:()=>Tf,ai_sensor_find_colors:()=>Ef,ai_sensor_find_licenseplates:()=>Ff,ai_sensor_find_lines:()=>df,ai_sensor_find_qrcodes:()=>of,ai_sensor_find_rects:()=>hf,ai_sensor_find_tags:()=>rf,ai_sensor_licenseplate:()=>ff,ai_sensor_line:()=>lf,ai_sensor_qrcode:()=>_f,ai_sensor_qrcode_lite:()=>ef,ai_sensor_rect:()=>Mf,ai_sensor_rgb:()=>sf,ai_sensor_tag:()=>uf,ai_sensor_use_uart_init:()=>tf,ai_sensor_yolo_recognize:()=>Lf,ai_sensor_yolo_recognize_result:()=>Nf});var z={};t.r(z),t.d(z,{MICROPYTHON_AI_Speech_asr:()=>xf,MICROPYTHON_AI_Speech_unit:()=>bf,MICROPYTHON_AI_client:()=>yf});var Q={};t.r(Q),t.d(Q,{mpython_blynk_app_data:()=>zf,mpython_blynk_app_notify:()=>Hf,mpython_blynk_email:()=>Qf,mpython_blynk_get_timers:()=>Kf,mpython_blynk_on_connected:()=>Uf,mpython_blynk_on_disconnected:()=>Gf,mpython_blynk_run:()=>kf,mpython_blynk_sensor_data_to_app:()=>qf,mpython_blynk_set_property:()=>jf,mpython_blynk_setup:()=>$f,mpython_blynk_stop_timers:()=>Wf,mpython_blynk_sync_virtual:()=>Bf,mpython_blynk_terminal_widget_vpin:()=>Vf,mpython_blynktimer:()=>Jf,mpython_blynktimer_run:()=>wf});var j={};t.r(j),t.d(j,{cc_g1_read_bat:()=>Zf,cc_g1_read_joystick:()=>tF,cc_g1_read_key:()=>eF,cc_g1_turnoff:()=>iF});var $={};t.r($),t.d($,{ce_go_dc_motor:()=>rF,ce_go_get_led_bright:()=>_F,ce_go_get_led_state:()=>oF,ce_go_hall_attachInterrupt:()=>lF,ce_go_hall_data:()=>IF,ce_go_hall_initialize:()=>dF,ce_go_led_bright:()=>sF,ce_go_led_brightness:()=>pF,ce_go_light_number:()=>nF,ce_go_pin_light:()=>EF,ce_go_pin_near:()=>MF,ce_go_pin_near_line:()=>TF,ce_go_pin_near_state_change:()=>hF,ce_go_stepper_keep:()=>aF,ce_go_stepper_stop:()=>uF,educore_car:()=>OF,educore_car_pin_near:()=>CF,educore_car_pin_near_line:()=>gF,educore_car_stepper_keep:()=>RF,educore_car_stepper_stop:()=>cF,sensor_mixgome_eulerangles:()=>mF});var Z={};t.r(Z),t.d(Z,{communicate_bluetooth_central_init:()=>sP,communicate_bluetooth_connect:()=>pP,communicate_bluetooth_disconnect:()=>aP,communicate_bluetooth_handle:()=>TP,communicate_bluetooth_is_connected:()=>rP,communicate_bluetooth_mac:()=>uP,communicate_bluetooth_peripheral_init:()=>_P,communicate_bluetooth_recv:()=>IP,communicate_bluetooth_recv_only:()=>dP,communicate_bluetooth_scan:()=>oP,communicate_bluetooth_send:()=>lP,communicate_espnow_init:()=>MP,communicate_espnow_init_new:()=>hP,communicate_i2c_available:()=>PF,communicate_i2c_init:()=>LF,communicate_i2c_master_read:()=>FF,communicate_i2c_onboard:()=>SF,communicate_i2c_read:()=>NF,communicate_i2c_scan:()=>fF,communicate_i2c_write:()=>DF,communicate_ir_recv_init:()=>qF,communicate_ir_send_init:()=>ZF,communicate_ow_init:()=>wF,communicate_ow_read:()=>WF,communicate_ow_reset:()=>HF,communicate_ow_scan:()=>kF,communicate_ow_select:()=>JF,communicate_ow_write:()=>KF,communicate_spi_buffer:()=>yF,communicate_spi_init:()=>YF,communicate_spi_onboard:()=>AF,communicate_spi_read:()=>bF,communicate_spi_read_output:()=>xF,communicate_spi_readinto:()=>VF,communicate_spi_readinto_output:()=>BF,communicate_spi_set:()=>XF,communicate_spi_write:()=>GF,communicate_spi_write_readinto:()=>UF,espnow_radio_channel:()=>gP,espnow_radio_channel_new:()=>SP,espnow_radio_on_off:()=>AP,espnow_radio_rec:()=>NP,espnow_radio_recv:()=>fP,espnow_radio_recv_certain_msg:()=>FP,espnow_radio_recv_certain_msg_new:()=>vP,espnow_radio_recv_msg:()=>DP,espnow_radio_recv_new:()=>PP,espnow_radio_send:()=>LP,espnow_radio_txpower:()=>CP,i2c_slave_onreceive:()=>vF,internal_variable:()=>zF,ir_recv_timeout:()=>$F,ir_transmit_busy:()=>nP,ir_transmit_conventional_data:()=>tP,ir_transmit_raw_code:()=>iP,ir_transmit_study_code:()=>eP,ir_whether_recv:()=>jF,lora_init:()=>YP,lora_packet:()=>XP,lora_recv:()=>bP,lora_send:()=>yP,network_espnow_info:()=>EP,network_espnow_mac:()=>mP,network_espnow_recv:()=>OP,network_espnow_recv_handle:()=>cP,network_espnow_send:()=>RP,recv_fun:()=>QF,urequests_attribute:()=>VP,urequests_get:()=>xP,urequests_method:()=>BP});var tt={};t.r(tt),t.d(tt,{display_animate:()=>rv,display_circle:()=>lv,display_color_seclet:()=>gv,display_draw_4strings:()=>nv,display_fill:()=>uv,display_lcd_use_i2c_init:()=>Dv,display_line:()=>ov,display_line_arbitrarily:()=>sv,display_matrix_extern_bright_point:()=>QP,display_matrix_extern_bright_screen:()=>$P,display_matrix_extern_clear:()=>JP,display_matrix_extern_get_pixel:()=>zP,display_matrix_extern_get_screen_pixel:()=>jP,display_matrix_extern_image_builtins:()=>ZP,display_matrix_extern_scroll_string:()=>WP,display_matrix_extern_scroll_string_delay:()=>KP,display_matrix_extern_shift:()=>qP,display_matrix_extern_show_frame_string:()=>kP,display_matrix_extern_show_frame_string_delay:()=>HP,display_matrix_extern_show_image:()=>UP,display_matrix_extern_show_image_or_string_delay:()=>wP,display_matrix_use_i2c_init:()=>GP,display_oled_drawPixel:()=>Tv,display_oled_showBitmap:()=>Iv,display_oled_use_i2c_init:()=>Yv,display_onoff:()=>pv,display_rect:()=>_v,display_tm1650_power:()=>hv,display_tm1650_set_brightness:()=>Ov,display_tm1650_show_dot:()=>Ev,display_tm1650_show_num:()=>mv,display_tm_use_i2c_init:()=>Mv,display_triangle:()=>dv,display_use_i2c_init:()=>iv,extern_oled_bright_point:()=>Wv,extern_oled_clear:()=>wv,extern_oled_get_pixel:()=>Hv,extern_oled_hvline:()=>Jv,extern_oled_line:()=>qv,extern_oled_scroll_string:()=>Gv,extern_oled_scroll_string_delay:()=>Uv,extern_oled_shape_rect:()=>Kv,extern_oled_shift:()=>kv,extern_oled_show_frame_string:()=>Vv,extern_oled_show_frame_string_delay:()=>Bv,extern_oled_show_image:()=>Xv,extern_oled_show_image_or_string_delay:()=>xv,extern_oled_show_image_xy:()=>yv,extern_oled_show_string:()=>bv,image_shift:()=>av,lcd_backlight:()=>Pv,lcd_clear:()=>vv,lcd_print_string:()=>Fv,lcd_show_image_or_string_delay:()=>fv,matrix_extern_image_arithmetic:()=>tv,matrix_extern_image_invert:()=>ev,tft_fill:()=>Lv,tft_line_arbitrarily:()=>Nv,tft_scroll_string_delay:()=>Av,tft_show_frame_string_delay:()=>Sv,tft_show_image_or_string_delay:()=>Cv,tft_show_image_xy:()=>cv,tft_use_spi_init:()=>Rv});var et={};t.r(et),t.d(et,{bitbot_display_bitmap_create:()=>UY,bitbot_display_image_create:()=>GY,display_available:()=>aY,display_bitmap_create:()=>oY,display_bright_point:()=>IY,display_bright_screen:()=>MY,display_clear:()=>pY,display_get_pixel:()=>dY,display_get_screen_pixel:()=>TY,display_image_builtins:()=>nY,display_image_builtins_all:()=>sY,display_image_create:()=>_Y,display_scroll_string:()=>Zv,display_scroll_string_delay:()=>tY,display_scroll_way:()=>eY,display_shift:()=>lY,display_show_frame_string:()=>jv,display_show_frame_string_delay:()=>$v,display_show_image:()=>zv,display_show_image_or_string_delay:()=>Qv,draw_pointer:()=>sX,image_arithmetic:()=>uY,image_invert:()=>rY,mixbot_display_bitmap_create:()=>yY,mixbot_display_bright_screen:()=>VY,mixbot_display_get_ambientbright:()=>xY,mixbot_display_get_screen_pixel:()=>bY,mixbot_display_image_create:()=>XY,mixbot_display_rotate:()=>BY,mixgo_display_bitmap_create:()=>gY,mixgo_display_image_create_new:()=>cY,mixgome_display_bitmap_create:()=>mY,mixgome_display_font:()=>RY,mixgome_display_image_create:()=>hY,mixgomini_display_bitmap_create:()=>OY,mixgomini_display_image_create:()=>EY,mpython_display_hvline:()=>vY,mpython_display_line:()=>YY,mpython_display_shape_rect:()=>PY,mpython_pbm_image:()=>CY,nova_draw_pointer:()=>_X,onboard_oled_bright_point:()=>FY,onboard_oled_scroll_string_delay:()=>fY,onboard_oled_show_frame_string_delay:()=>DY,onboard_oled_show_image:()=>SY,onboard_oled_show_image_or_string_delay:()=>NY,onboard_oled_show_image_xy:()=>AY,onboard_oled_show_string:()=>LY,onboard_tft_bright_point:()=>QY,onboard_tft_bright_screen:()=>IX,onboard_tft_clear:()=>TX,onboard_tft_clock_clear:()=>iX,onboard_tft_clock_draw:()=>eX,onboard_tft_clock_get_rtctime:()=>ZY,onboard_tft_clock_init:()=>$Y,onboard_tft_clock_set_time:()=>tX,onboard_tft_display_hvline:()=>JY,onboard_tft_display_line:()=>qY,onboard_tft_display_shape_circle:()=>nX,onboard_tft_display_shape_rect:()=>KY,onboard_tft_fill:()=>jY,onboard_tft_get_pixel:()=>zY,onboard_tft_get_screen_pixel:()=>dX,onboard_tft_scroll_string_delay:()=>iY,onboard_tft_shift:()=>lX,onboard_tft_show_frame_string:()=>rX,onboard_tft_show_frame_string_delay:()=>WY,onboard_tft_show_image:()=>uX,onboard_tft_show_image_or_string_delay:()=>HY,onboard_tft_show_image_xy:()=>wY,onboard_tft_show_image_xy_direct:()=>kY,onboard_tft_show_qrcode:()=>pX,onboard_tft_show_qrcode_details:()=>aX,onboard_tft_show_texts:()=>oX});var it={};t.r(it),t.d(it,{factory_block:()=>gX,factory_block_return:()=>CX,factory_block_return_with_textarea:()=>AX,factory_block_with_textarea:()=>SX,factory_callMethod_noreturn:()=>RX,factory_callMethod_return:()=>cX,factory_declare:()=>OX,factory_from_import:()=>MX,factory_function_noreturn:()=>mX,factory_function_return:()=>EX,factory_import:()=>hX,folding_block:()=>LX});var nt={};t.r(nt),t.d(nt,{inout_analog_atten:()=>UX,inout_analog_read:()=>XX,inout_analog_read_init:()=>GX,inout_analog_write:()=>PX,inout_analog_write_init:()=>BX,inout_analog_write_set:()=>vX,inout_digital_init:()=>xX,inout_digital_read:()=>fX,inout_digital_write:()=>DX,inout_highlow:()=>NX,inout_pin_attachInterrupt:()=>bX,inout_pin_pressed:()=>yX,inout_pin_pressed_init:()=>wX,inout_pwm_analog_write:()=>FX,inout_pwm_analog_write_init:()=>VX,inout_pwm_analog_write_set_freq:()=>YX});var st={};t.r(st),t.d(st,{IOT_CONNECT_OLLAMA:()=>my,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>ay,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>oy,IOT_EMQX_PING:()=>uy,IOT_FORMATTING:()=>sy,IOT_FORMAT_STRING:()=>_y,IOT_MIXIO_NTP:()=>ry,IOT_MIXIO_PUBLISH:()=>QX,IOT_MIXIO_PUBLISHEX:()=>jX,IOT_MIXIO_SUBSCRIBE:()=>$X,iot_client_onboard:()=>ly,iot_connect_ollama:()=>hy,iot_connect_openai:()=>Ey,iot_http_client:()=>dy,iot_http_data:()=>Iy,iot_mixio_check:()=>ey,iot_mixio_connect:()=>zX,iot_mixio_connect_only:()=>ty,iot_mixio_disconnect:()=>ZX,iot_mixio_format_msg:()=>ny,iot_mixio_format_topic:()=>iy,iot_mixly_key:()=>py,iot_mqtt_client:()=>Ty,iot_mqtt_data:()=>My,iot_onenet_check:()=>JX,iot_onenet_connect:()=>HX,iot_onenet_disconnect:()=>WX,iot_onenet_publish:()=>qX,iot_onenet_publish_dict:()=>KX,iot_tiny_web_db_count:()=>Ly,iot_tiny_web_db_delete:()=>Dy,iot_tiny_web_db_get:()=>Ay,iot_tiny_web_db_init:()=>gy,iot_tiny_web_db_init_with_mqtt:()=>Cy,iot_tiny_web_db_search:()=>Ny,iot_tiny_web_db_update:()=>Sy,iot_wifi_connect:()=>kX,ollama_empty_history:()=>cy,use_ollama_llm_to_chat:()=>Oy,use_ollama_llm_to_chat_return:()=>Ry});var _t={};t.r(_t),t.d(_t,{educore_mqtt_connect:()=>ob,educore_mqtt_connect_success:()=>rb,educore_mqtt_subscribe_message:()=>pb,educore_mqtt_topic_publish:()=>ub,educore_mqtt_topic_subscribe:()=>ab,educore_wifi_connect:()=>_b,network_ap_connect:()=>xy,network_connect:()=>Fy,network_get_connect:()=>vy,network_get_wifi:()=>by,network_init:()=>fy,network_is_active:()=>yy,network_open:()=>Xy,network_scan:()=>Vy,network_server:()=>By,network_socket_accept:()=>Hy,network_socket_bind:()=>Uy,network_socket_close:()=>Qy,network_socket_connect:()=>wy,network_socket_init:()=>Gy,network_socket_listen:()=>ky,network_socket_readline:()=>Wy,network_socket_receive:()=>Ky,network_socket_receive_from:()=>qy,network_socket_send:()=>Jy,network_socket_send_to:()=>zy,network_stop:()=>Yy,network_wifi_connect:()=>Py,ntptime_address:()=>eb,ntptime_time:()=>tb,requests_attribute:()=>$y,requests_attribute2:()=>nb,requests_get:()=>jy,requests_get2:()=>ib,requests_method:()=>Zy,requests_post:()=>sb});var ot={};t.r(ot),t.d(ot,{CI130X_BROADCAST:()=>Yb,CI130X_GET_THE_RECOGNIZED_CMD:()=>vb,CI130X_GET_WHETHER_IDENTIFY:()=>Pb,CI130X_IDENTIFY_AND_SAVE:()=>Fb,CI130X_SET_SYSTEM_CMD:()=>Xb,HCSR04:()=>dx,PS2_Button:()=>Mx,PS2_Buttons:()=>hx,PS2_Buttons_new:()=>Sx,PS2_State:()=>mx,PS2_init:()=>Ix,PS2_init_new:()=>gx,PS2_stk:()=>Ex,PS2_stk_new:()=>Ax,PS2_vibration:()=>Tx,PS2_vibration_new:()=>Cx,RTC_get_time:()=>Rx,RTC_set_date:()=>Eb,RTC_set_datetime:()=>Ox,RTC_set_time:()=>mb,camera_sensor_init:()=>iV,camera_sensor_result:()=>nV,column_tube_foot:()=>pV,define_keyboards:()=>aV,educore_body_sensor:()=>Kx,educore_button_sensor_extern:()=>Qx,educore_camera_sensor:()=>eV,educore_infrared_sensor:()=>zx,educore_soilhum_sensor:()=>Jx,educore_temp_sensor:()=>tV,educore_temphum_sensor:()=>qx,educore_ultrasonic_sensor:()=>$x,esp32_s2_weather_init:()=>ax,esp32_s2_weather_rain:()=>rx,esp32_s2_weather_wd:()=>ux,esp32_s2_weather_ws:()=>lx,extern_rfid_read:()=>Qb,extern_rfid_readcontent:()=>$b,extern_rfid_readid:()=>jb,extern_rfid_status:()=>ex,extern_rfid_write:()=>Zb,extern_rfid_write_return:()=>tx,get_keboards_value:()=>rV,gnss_get_data:()=>Dx,gnss_have_data:()=>fx,init_init_rotary_encoder:()=>lV,init_matrix_keyboard:()=>uV,interaction_whether_to_interaction:()=>Db,interaction_whether_to_interaction_SANT:()=>fb,line_tube_foot:()=>oV,mixbot_sensor_extern_get_addr:()=>Bx,mixbot_sensor_extern_set_addr:()=>Gx,pm25_get_data:()=>Nx,radar_set_DETECTION_THRESHOLD:()=>Lb,radar_set_DETECTION_THRESHOLD_SANT:()=>Nb,robot_button_extern_get_value:()=>Px,robot_color_extern_get_value:()=>bx,robot_infrared_extern_get_value:()=>Yx,robot_infrared_extern_grey_get_value:()=>Xx,robot_potentiometer_extern_get_value:()=>yx,robot_sonar_extern_get_value:()=>xx,robot_sonar_extern_led:()=>Vx,robot_touch_extern_get_value:()=>vx,rotary_key:()=>dV,sensor_APDS9960_extern:()=>bb,sensor_DS18X20:()=>Wx,sensor_LTR308_extern:()=>xb,sensor_LTR390UV_extern:()=>Hb,sensor_MAX30102_extern:()=>yb,sensor_QMC5883L_extern:()=>Wb,sensor_VL530LX_extern:()=>qb,sensor_aht11_extern:()=>Jb,sensor_bmp:()=>Cb,sensor_dht11:()=>cx,sensor_distance_hrsc04:()=>hb,sensor_hp203_extern:()=>Vb,sensor_ltr381_extern:()=>wb,sensor_mixgo_extern_button_attachInterrupt:()=>Tb,sensor_mixgo_extern_button_get_presses:()=>Ib,sensor_mixgo_extern_button_is_pressed:()=>lb,sensor_mixgo_extern_button_was_pressed:()=>db,sensor_mixgo_extern_light:()=>Ob,sensor_mixgo_extern_pin_near:()=>cb,sensor_mixgo_extern_sound:()=>Rb,sensor_mixgoce_hot_wheel_degrees:()=>px,sensor_mixgoce_hot_wheel_is_touched:()=>ox,sensor_mpu9250_attachGestureInterrupt:()=>Mb,sensor_ms5611_extern:()=>Gb,sensor_ms5611_extern_altitude:()=>Ub,sensor_read_humiture:()=>jx,sensor_rtc_init:()=>gb,sensor_sht:()=>Sb,sensor_shtc3_extern:()=>Kb,sensor_spl06_001_extern:()=>Bb,sensor_ucs12071_extern:()=>kb,sensor_use_i2c_init:()=>Ab,sensor_use_spi_init:()=>zb,sensor_use_uart_init:()=>Lx,sensor_weather_solo_init:()=>Ux,sensor_weather_solo_rain:()=>Hx,sensor_weather_solo_wd:()=>wx,sensor_weather_solo_ws:()=>kx,sensor_weigh_init:()=>sV,tvoc_get_data:()=>Fx,ultrasonic_sensor_read_distance:()=>Zx,weather_data:()=>ix,weather_have_data:()=>nx,weather_set_label:()=>_x,weather_uart_mixio:()=>sx,weigh_sensor_get_weight:()=>_V});var pt={};t.r(pt),t.d(pt,{HCSR04:()=>cV,bitbot_als_num:()=>kB,dht11:()=>jB,educore_button_sensor:()=>sG,educore_button_was_pressed:()=>_G,educore_gyroscope_sensor:()=>eG,educore_gyroscope_sensor_read:()=>iG,educore_gyroscope_sensor_shake:()=>nG,educore_light_sensor:()=>tG,educore_rfid_sensor:()=>oG,educore_rfid_sensor_scan:()=>pG,educore_rfid_sensor_scan_data:()=>aG,educore_voice_sensor:()=>$B,number1:()=>gV,number2:()=>CV,number3:()=>SV,number4:()=>AV,number5:()=>LV,number6:()=>NV,number7:()=>DV,onboard_RTC_get_time:()=>OB,onboard_RTC_get_time_str:()=>gB,onboard_RTC_get_timestamp:()=>RB,onboard_RTC_get_timetuple_to_str:()=>CB,onboard_RTC_set_datetime:()=>mB,onboard_RTC_settime_string:()=>EB,onboard_RTC_timestamp_totuple:()=>cB,rfid_readcontent:()=>HV,rfid_readid:()=>kV,rfid_status:()=>JV,rfid_write:()=>WV,rfid_write_return:()=>KV,sensor_LTR308:()=>VV,sensor_adxl345_get_acceleration:()=>iB,sensor_aht11:()=>UV,sensor_bitbot_ALS:()=>wB,sensor_button_get_presses:()=>KB,sensor_button_is_pressed:()=>HB,sensor_button_was_pressed:()=>WB,sensor_compass_reset:()=>aB,sensor_ds18x20:()=>bV,sensor_eulerangles:()=>zV,sensor_get_acceleration:()=>qV,sensor_get_temperature:()=>wV,sensor_get_the_coprocessor_version:()=>uG,sensor_hp203:()=>GV,sensor_light:()=>QB,sensor_lm35:()=>xV,sensor_mixbot_get_gyro:()=>UB,sensor_mixbot_patrol_calibrate:()=>VB,sensor_mixbot_patrol_value:()=>BB,sensor_mixbot_temperature:()=>GB,sensor_mixgo_LTR308:()=>YV,sensor_mixgo_button_attachInterrupt:()=>hV,sensor_mixgo_button_get_presses:()=>MV,sensor_mixgo_button_is_pressed:()=>IV,sensor_mixgo_button_was_pressed:()=>TV,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>LB,sensor_mixgo_cc_mmc5603_get_angle:()=>AB,sensor_mixgo_cc_mmc5603_get_magnetic:()=>SB,sensor_mixgo_light:()=>zB,sensor_mixgo_nova_LTR308:()=>yV,sensor_mixgo_nova_pin_near:()=>vV,sensor_mixgo_pin_near:()=>PV,sensor_mixgo_pin_near_double:()=>FV,sensor_mixgo_pin_near_single:()=>fV,sensor_mixgo_pin_pressed:()=>tB,sensor_mixgo_sant_color:()=>XV,sensor_mixgo_touch_slide:()=>ZV,sensor_mixgocar42_button_attachInterrupt:()=>RV,sensor_mixgocar42_button_get_presses:()=>OV,sensor_mixgocar42_button_is_pressed:()=>mV,sensor_mixgocar42_button_was_pressed:()=>EV,sensor_mixgocar_battery_left:()=>xB,sensor_mixgocar_pin_near:()=>yB,sensor_mixgocar_pin_near_line:()=>XB,sensor_mixgocar_pin_near_state_change:()=>bB,sensor_mixgoce_pin_pressed:()=>$V,sensor_mixgoce_temperature:()=>DB,sensor_mixgome_temperature:()=>NB,sensor_mpu9250_calibrate_compass:()=>_B,sensor_mpu9250_field_strength:()=>pB,sensor_mpu9250_gesture:()=>QV,sensor_mpu9250_get_acceleration:()=>jV,sensor_mpu9250_get_gyro:()=>sB,sensor_mpu9250_get_magnetic:()=>nB,sensor_mpu9250_temperature:()=>oB,sensor_mpython_pin_pressed:()=>eB,sensor_mpython_qmi8658_get_gyro:()=>fB,sensor_mpython_qmi8658_temperature:()=>FB,sensor_onboard_compass_reset:()=>hB,sensor_onboard_mpu9250_calibrate_compass:()=>IB,sensor_onboard_mpu9250_field_strength:()=>MB,sensor_onboard_mpu9250_gesture:()=>uB,sensor_onboard_mpu9250_get_acceleration:()=>rB,sensor_onboard_mpu9250_get_gyro:()=>dB,sensor_onboard_mpu9250_get_magnetic:()=>lB,sensor_onboard_mpu9250_temperature:()=>TB,sensor_pin_near:()=>qB,sensor_pin_pressed:()=>JB,sensor_read:()=>ZB,sensor_rm_acc:()=>YB,sensor_rm_battery_left:()=>vB,sensor_rm_pin_near_double:()=>PB,sensor_sound:()=>BV,simulated_light_sensor:()=>rG});var at={};t.r(at),t.d(at,{serial_any:()=>MG,serial_print:()=>lG,serial_print_byte:()=>dG,serial_print_hex:()=>TG,serial_println:()=>IG,serial_read_from_ai:()=>LG,serial_readline:()=>mG,serial_readstr:()=>hG,serial_send_to_ai:()=>AG,serial_softserial:()=>EG,serial_softserial_new:()=>OG,system_input:()=>RG,system_print:()=>cG,system_print_end:()=>CG,system_print_inline:()=>gG,system_print_many:()=>SG});var ut={};t.r(ut),t.d(ut,{Panic_with_status_code:()=>VG,Timer_init:()=>tU,base_delay:()=>nU,controls_delay:()=>kG,controls_delay_new:()=>HG,controls_end_program:()=>GG,controls_millis:()=>BG,controls_uname:()=>wG,reset:()=>UG,set_system_timer:()=>KG,system_bitbot_shutdown:()=>ZG,system_device_name:()=>bG,system_device_serial_number:()=>xG,system_event_bus_source:()=>XG,system_event_bus_value:()=>yG,system_machine_reset:()=>$G,system_on_event:()=>PG,system_raise_event:()=>FG,system_reset:()=>DG,system_run_in_background:()=>NG,system_ticks_diff:()=>JG,system_timer:()=>zG,system_timer_init:()=>qG,system_timestamp:()=>vG,system_value:()=>YG,system_wait:()=>fG,system_wdt_feed:()=>jG,system_wdt_init:()=>QG,time_ticks_diff:()=>iU,timer:()=>WG,timer2:()=>eU});var rt={};t.r(rt),t.d(rt,{Air_daily_content:()=>hU,Air_now_content:()=>uU,Geo_moon_content:()=>EU,Geo_sun_content:()=>mU,Life_suggestion_content:()=>lU,Location_search_content:()=>IU,Tide_daily_content:()=>dU,WEATHER_DAILY:()=>_U,WEATHER_HOUR:()=>oU,WEATHER_NOW:()=>sU,Weather_alarm_content:()=>rU,Weather_daily:()=>TU,Weather_daily_content:()=>MU,Weather_now:()=>pU,Weather_now_content:()=>aU});var lt={};t.r(lt),t.d(lt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>cU});var dt={};t.r(dt),t.d(dt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>CU});var It={};t.r(It),t.d(It,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>AU});var Tt={};t.r(Tt),t.d(Tt,{controls_pin_attachInterrupt:()=>WU,inout_analog_atten:()=>yU,inout_analog_write:()=>YU,inout_analog_write_init:()=>BU,inout_analog_write_set:()=>XU,inout_analog_write_set_freq:()=>UU,inout_digital_init:()=>VU,inout_digital_read:()=>vU,inout_digital_write:()=>PU,inout_highlow:()=>FU,inout_pinMode:()=>wU,inout_pin_attachInterrupt:()=>xU,inout_pin_pressed:()=>bU,inout_pin_pressed_init:()=>GU,pin_pressed:()=>HU,pin_pressed_init:()=>kU});var Mt={};t.r(Mt),t.d(Mt,{mini_g2_aht11:()=>JU,mini_g2_hp203:()=>qU,mini_g2_rfid_readcontent:()=>jU,mini_g2_rfid_readid:()=>QU,mini_g2_rfid_status:()=>tw,mini_g2_rfid_write:()=>$U,mini_g2_rfid_write_outcome:()=>ZU,mini_g2_varistor:()=>zU});var ht={};t.r(ht),t.d(ht,{me_go_dc_motor:()=>uw,me_go_get_led_bright:()=>sw,me_go_get_led_state:()=>_w,me_go_hall_attachInterrupt:()=>rw,me_go_hall_data:()=>dw,me_go_hall_initialize:()=>lw,me_go_led_bright:()=>nw,me_go_led_brightness:()=>ow,me_go_light_number:()=>iw,me_go_pin_light:()=>mw,me_go_pin_near:()=>Tw,me_go_pin_near_line:()=>Iw,me_go_pin_near_state_change:()=>Mw,me_go_stepper_keep:()=>pw,me_go_stepper_stop:()=>aw,sensor_mixgome_eulerangles:()=>hw});var mt={};t.r(mt),t.d(mt,{analog_input:()=>Lw,analog_output:()=>Dw,espnow_channel:()=>Cw,haskylens_model:()=>Sw,i2c_A_pin:()=>fw,i2c_B_pin:()=>Fw,pins_analog:()=>yw,pins_analog_pin:()=>bw,pins_axis:()=>Zw,pins_brightness:()=>tk,pins_builtinimg:()=>Kw,pins_builtinimg_extern:()=>Jw,pins_button:()=>Bw,pins_buttonB:()=>Gw,pins_dac:()=>xw,pins_dac_pin:()=>Vw,pins_digital:()=>Ow,pins_digital_dot:()=>ak,pins_digital_pin:()=>Rw,pins_exlcdh:()=>jw,pins_exlcdv:()=>$w,pins_imglist:()=>qw,pins_input_pin:()=>cw,pins_one_more:()=>pk,pins_output_pin:()=>gw,pins_playlist:()=>zw,pins_playlist_extern:()=>Qw,pins_pwm:()=>Uw,pins_pwm_pin:()=>ww,pins_radio_datarate:()=>ok,pins_radio_power:()=>_k,pins_serial:()=>Ww,pins_tone_notes:()=>sk,pins_touch:()=>Hw,pins_touch_pin:()=>kw,pins_tts_bgmusic:()=>nk,pins_tts_builtin_music:()=>ik,pins_tts_voice:()=>ek,pwm_input:()=>Aw,pwm_output:()=>Nw,spi_A_pin:()=>Pw,spi_B_pin:()=>vw,spi_C_pin:()=>Yw,spi_D_pin:()=>Xw});var Et={};t.r(Et),t.d(Et,{inout_analog_atten:()=>Ek,inout_analog_write:()=>dk,inout_analog_write_init:()=>mk,inout_analog_write_set:()=>Ik,inout_digital_init:()=>hk,inout_digital_read:()=>lk,inout_digital_write:()=>rk,inout_highlow:()=>uk,inout_pin_attachInterrupt:()=>Mk,inout_pin_pressed:()=>Tk,inout_pin_pressed_init:()=>Ok});var Ot={};t.r(Ot),t.d(Ot,{mini_g2_aht11:()=>Rk,mini_g2_hp203:()=>ck,mini_g2_rfid_readcontent:()=>Sk,mini_g2_rfid_readid:()=>Ck,mini_g2_rfid_status:()=>Nk,mini_g2_rfid_write:()=>Ak,mini_g2_rfid_write_outcome:()=>Lk,mini_g2_varistor:()=>gk});var Rt={};t.r(Rt),t.d(Rt,{me_go_dc_motor:()=>yk,me_go_get_led_bright:()=>Fk,me_go_get_led_state:()=>Pk,me_go_hall_attachInterrupt:()=>bk,me_go_hall_data:()=>Vk,me_go_hall_initialize:()=>xk,me_go_led_bright:()=>fk,me_go_led_brightness:()=>vk,me_go_light_number:()=>Dk,me_go_pin_light:()=>kk,me_go_pin_near:()=>Gk,me_go_pin_near_line:()=>Bk,me_go_pin_near_state_change:()=>Uk,me_go_stepper_keep:()=>Yk,me_go_stepper_stop:()=>Xk,sensor_mixgome_eulerangles:()=>wk});var ct={};t.r(ct),t.d(ct,{analog_input:()=>Zk,analog_output:()=>eH,espnow_channel:()=>jk,haskylens_model:()=>$k,i2c_A_pin:()=>iH,i2c_B_pin:()=>nH,pins_analog:()=>uH,pins_analog_pin:()=>aH,pins_axis:()=>CH,pins_brightness:()=>LH,pins_builtinimg:()=>EH,pins_builtinimg_extern:()=>OH,pins_button:()=>Wk,pins_buttonB:()=>Kk,pins_dac:()=>IH,pins_dac_pin:()=>dH,pins_digital:()=>Hk,pins_digital_dot:()=>XH,pins_digital_pin:()=>Jk,pins_exlcdh:()=>SH,pins_exlcdv:()=>AH,pins_imglist:()=>RH,pins_input_pin:()=>qk,pins_interrupt:()=>hH,pins_one_more:()=>YH,pins_output_pin:()=>zk,pins_playlist:()=>cH,pins_playlist_extern:()=>gH,pins_pwm:()=>lH,pins_pwm_input:()=>Qk,pins_pwm_pin:()=>rH,pins_radio_datarate:()=>vH,pins_radio_power:()=>PH,pins_serial:()=>mH,pins_tone_notes:()=>FH,pins_touch:()=>MH,pins_touch_pin:()=>TH,pins_tts_bgmusic:()=>fH,pins_tts_builtin_music:()=>DH,pins_tts_voice:()=>NH,pwm_output:()=>tH,spi_A_pin:()=>sH,spi_B_pin:()=>_H,spi_C_pin:()=>oH,spi_D_pin:()=>pH});const gt=Blockly,Ct=Mixly,St={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},At=St; +/** + * @license + * Visual Blocks Editor + * + * Copyright 2012 Google Inc. + * https://developers.google.com/blockly/ + * + * 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. + */ +class Lt{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(gt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(gt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(gt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(gt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Wt={init:function(){this.setColour(Bt),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.PYTHON_RANGE).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Kt={init:function(){this.setColour(Bt),this.appendValueInput("LIST").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(gt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Jt={init:function(){this.setColour(Bt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new gt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(gt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:gt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:gt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},qt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},zt={init:function(){this.setColour(Bt);var t=new gt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:gt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:gt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Qt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new gt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return gt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},jt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new gt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return gt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Jt.OPERATORS=[[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],zt.OPERATORS=[[gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const $t={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},te={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(gt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},ee={init:function(){this.setColour(Bt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ie={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ne={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},se={init:function(){this.jsonInit({message0:gt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Bt,tooltip:gt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:gt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},_e={init:function(){this.setColour(Bt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_STAT),this.setOutput(!0)}},oe={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pe={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ae={init:function(){this.appendDummyInput().appendField(gt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+gt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(gt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new gt.FieldDropdown([[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Bt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ue={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},re={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},le={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},de={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_GET_UNIQUE_IDEN)}},Ie={init:function(){this.setColour(Bt),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(gt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Te={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Me=230;gt.FieldTextInput.math_number_validator=function(t){return String(t)},gt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const he={init:function(){this.setColour(Me),this.appendDummyInput().appendField(new gt.FieldTextInput("0",gt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MATH_NUMBER_TOOLTIP)}},me={init:function(){this.setColour(Me);this.appendDummyInput("").appendField(gt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new gt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Ee={init:function(){this.setColour(Me);this.appendDummyInput("").appendField(gt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new gt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Oe={init:function(){this.setColour(Me),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:gt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:gt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:gt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Re={init:function(){this.setColour(Me),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:gt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:gt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:gt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ce={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new gt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ge={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new gt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:gt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:gt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:gt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:gt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:gt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:gt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:gt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ce={init:function(){var t=[[gt.Msg.MATH_BIN,"bin"],[gt.Msg.MATH_OCT,"oct"],[gt.Msg.MATH_HEX,"hex"]];this.setColour(Me),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new gt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:gt.Msg.MATH_DEC_TOOLTIP_BIN,oct:gt.Msg.MATH_DEC_TOOLTIP_OCT,hex:gt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Se={init:function(){var t=[[gt.Msg.LANG_MATH_TO_ROUND,"round"],[gt.Msg.LANG_MATH_TO_CEIL,"ceil"],[gt.Msg.LANG_MATH_TO_FLOOR,"floor"],[gt.Msg.MATH_ABS,"fabs"],[gt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Me),this.appendValueInput("A").setCheck(Number).appendField(new gt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:gt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:gt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:gt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:gt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:gt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:gt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ae={init:function(){var t=[[gt.Msg.MIXLY_MAX,"max"],[gt.Msg.MIXLY_MIN,"min"]];this.setColour(Me),this.appendValueInput("A").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(gt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:gt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:gt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Le={init:function(){var t=[[gt.Msg.MATH_TWO,"two"],[gt.Msg.MATH_EIGHT,"eight"],[gt.Msg.MATH_TEN,"ten"],[gt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Me),this.appendDummyInput("").appendField(gt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new gt.FieldDropdown(t),"OP").appendField(gt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MATH_ZHW).appendField(new gt.FieldDropdown(t),"OP2").appendField(gt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:gt.Msg.MATH_Before_two,eight:gt.Msg.MATH_Before_eight,ten:gt.Msg.MATH_Before_ten,sixteen:gt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:gt.Msg.MATH_Behind_two,eight:gt.Msg.MATH_Behind_eight,ten:gt.Msg.MATH_Behind_ten,sixteen:gt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ne={init:function(){var t=[[gt.Msg.LANG_MATH_INT,"int"],[gt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Me),this.setOutput(!0,Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new gt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:gt.Msg.LANG_MATH_INT,float:gt.Msg.LANG_MATH_FLOAT_RANDOM};return gt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},De={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(gt.Msg.MATH_CONSTRAIN_TOOLTIP)}},fe={init:function(){this.setColour(Me),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(gt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(gt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Fe={init:function(){this.setColour(Me),this.appendDummyInput().appendField(new gt.FieldTextInput("0",gt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(gt.Msg.MATH_NUMBER_TOOLTIP)}},Pe={init:function(){this.setColour(Me),this.appendValueInput("NUM").setCheck(Number).appendField(gt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ve={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MATH_ROUND).appendField(gt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(gt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(gt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ye={init:function(){var t=[[gt.Msg.MIXLY_TO_INT,"int"],[gt.Msg.MIXLY_TO_FLOAT,"float"],[gt.Msg.MIXLY_TO_BITES,"b"],[gt.Msg.LANG_MATH_BYTE+gt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Me),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:gt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:gt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:gt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Xe={init:function(){var t=[[gt.Msg.MIXLY_TO_INT,"int"],[gt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Me),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:gt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:gt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ye=fe,be={init:function(){this.setColour(Me),this.appendValueInput("VAR").appendField(gt.Msg.LANG_MATH_BYTE+gt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},xe={init:function(){this.setColour(Me),this.itemCount_=1,this.setMutator(new gt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(gt.Msg.MIXLY_PRODUCT+gt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(gt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(gt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(gt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const He={init:function(){this.setColour(Ge),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new gt.FieldTextInput("",gt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(gt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new gt.FieldImage(e,7,12,'"')}},We={init:function(){this.setColour(Ge),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(gt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Ke={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Je={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String).appendField(gt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ze={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Qe={init:function(){this.WHERE_OPTIONS=[[gt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[gt.Msg.TEXT_GET_INDEX_RANDOM+1+gt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.LISTS_GET_INDEX_GET,"MODE"),gt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(gt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+gt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",gt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:gt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:gt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:gt.Msg.TEXT_GET_INDEX_RANDOM};return gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+gt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==gt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),gt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(gt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new gt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),gt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},je={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(gt.Msg.LISTS_GET_INDEX_GET+" "+gt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(gt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+gt.Msg.LISTS_GET_INDEX_FROM_START+"n"+gt.Msg.TEXT_CHARAT2)}},$e={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(gt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(gt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ze={init:function(){this.WHERE_OPTIONS_1=[[gt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[gt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[gt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[gt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(gt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==gt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==gt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),gt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(gt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new gt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ti={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(gt.Msg.LISTS_GET_INDEX_GET+" "+gt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(gt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(gt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(gt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ei={init:function(){var t=[[gt.Msg.MIXLY_EQUALS,"==="],[gt.Msg.MIXLY_STARTSWITH,"startswith"],[gt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new gt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ii={init:function(){this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(gt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_COMPARETO_HELP)}},ni={init:function(){var t=[[gt.Msg.TEXT_UPPER,"upper"],[gt.Msg.TEXT_TITLE,"title"],[gt.Msg.TEXT_CAPITALIZE,"capitalize"],[gt.Msg.TEXT_SWAPCASE,"swapcase"],[gt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:gt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:gt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:gt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:gt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:gt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},si={init:function(){var t=[[gt.Msg.TEXT_LJUST,"ljust"],[gt.Msg.TEXT_CENTER,"center"],[gt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(gt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(gt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},_i={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(gt.Msg.MIXLY_MID+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(gt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(gt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(gt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ai={init:function(){this.setColour(Ge),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(gt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(gt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ui={init:function(){var t=[[gt.Msg.TEXT_TRIM_BOTH,"strip"],[gt.Msg.TEXT_TRIM_LEFT,"lstrip"],[gt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ge),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(gt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(gt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:gt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:gt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:gt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ri={init:function(){this.setColour(Ge),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new gt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new gt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(_n),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_KEYS),this.setTooltip(gt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(gt.Msg.DICTS_GET_TOOLTIP)}},ln={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(gt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(gt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},In={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_DELETE_TOOLTIP)}},Tn={init:function(){this.setColour(_n),this.appendValueInput("DICT2").setCheck("Dict").appendField(gt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(gt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MID),this.setTooltip(gt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_CLEAR),this.setTooltip(gt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_ITEMS),this.setTooltip(gt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_VALUES),this.setTooltip(gt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},En={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_LENGTH),this.setTooltip(gt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},On={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_DELDICT),this.setTooltip(gt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[gt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[gt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(gt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=gt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=gt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==gt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new gt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},cn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.setTooltip(gt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},gn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(gt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(_n),this.appendDummyInput("").appendField(new gt.FieldLabel(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new gt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Sn={init:function(){this.setColour(_n),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},An={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TO_JSON),this.setTooltip(gt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(_n),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(gt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TO_JSON),this.setTooltip(gt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},fn=210,Fn={init:function(){var t=gt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:gt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:gt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:gt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:gt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:gt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:gt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Pn={init:function(){var t=gt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=gt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new gt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},vn={init:function(){var t=[[gt.Msg.LOGIC_OPERATION_AND,"AND"],[gt.Msg.LOGIC_OPERATION_OR,"OR"],[gt.Msg.LOGIC_OPERATION_NOR,"NOR"],[gt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new gt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:gt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:gt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:gt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:gt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Yn={init:function(){this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(gt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(gt.Msg.LOGIC_NEGATE_TOOLTIP)}},Xn={init:function(){var t=[[gt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[gt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new gt.FieldDropdown(t),"BOOL"),this.setTooltip(gt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yn={init:function(){this.setColour(fn),this.setOutput(!0),this.appendDummyInput().appendField(gt.Msg.LOGIC_NULL),this.setTooltip(gt.Msg.LOGIC_NULL_TOOLTIP)}},bn={init:function(){this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(gt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(gt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},xn={init:function(){var t=[[gt.Msg.TEXT_APPEND_TO,"in"],[gt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new gt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(gt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.IN)}},Vn={init:function(){var t=[[gt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[gt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Bn={init:function(){this.setColour(fn),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(gt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[gt.Msg.MIXLY_ADD,"a"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_ADD,"ab"],[gt.Msg.MIXLY_R_W,"r+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_R_W,"rb+"],[gt.Msg.MIXLY_W_R,"w+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_W_R,"wb+"],[gt.Msg.MIXLY_A_R,"a+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG,o=gt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},kn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(gt.Msg.MIXPY_TEXT_ENCODE).appendField(new gt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG,o=gt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(gt.Msg.MICROBIT_PYTHON_TYPE)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.HTML_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const $n={init:function(){this.setColour(0),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ns={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+gt.Msg.MIXLY_ESP32_SET+{mkdir:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(gt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.HTML_FILE,"isfile"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(gt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},as={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(gt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},us={init:function(){var t=gt.Procedures.findLegalName("",this),e=new gt.FieldTextInput(t,gt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new gt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&>.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(gt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(gt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(gt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(gt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=gt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),gt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{gt.Events.enable()}},mutationToDom:function(t){var e=gt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(gt.Msg.MIXLY_AIP_ATTR).setAlign(gt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},__={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_FORM_CONTENT).appendField(new gt.FieldDropdown([[gt.Msg.HTML_TEXT,"text"],[gt.Msg.HTML_EMAIL,"email"],[gt.Msg.HTML_NUMBER,"number"],[gt.Msg.HTML_PASSWORD,"password"],[gt.Msg.HTML_CHECKBOX,"checkbox"],[gt.Msg.HTML_RADIOBUTTON,"radiobutton"],[gt.Msg.HTML_BUTTON,"button"],[gt.Msg.HTML_COLOUR,"colour"],[gt.Msg.HTML_DATE,"date"],[gt.Msg.HTML_LOCALTIME,"local time"],[gt.Msg.HTML_FILE,"file"],[gt.Msg.HTML_HIDDEN,"hidden"],[gt.Msg.HTML_IMAGE,"image"],[gt.Msg.HTML_MONTH,"month"],[gt.Msg.HTML_RANGE,"range"],[gt.Msg.HTML_RESET,"reset"],[gt.Msg.HTML_SEARCH,"search"],[gt.Msg.HTML_SUBMIT,"submit"],[gt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[gt.Msg.HTML_TIME,"time"],[gt.Msg.HTML_URL,"url"],[gt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(gt.Msg.HTML_NAME).appendField(new gt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(gt.Msg.HTML_VALUE).appendField(new gt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(gt.Msg.MIXLY_AIP_ATTR).setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new gt.FieldTextInput("property"),"KEY").appendField(":").appendField(new gt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new gt.FieldTextInput("property"),"KEY").appendField(":").appendField(new gt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},a_={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_TEXT).appendField(new gt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_=160,r_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new gt.FieldTable(""),"TEXT")}},l_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new gt.FieldMultilineInput(""),"TEXT")}},d_={init:function(){this.setColour(u_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new gt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},I_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},T_={init:function(){this.setColour(u_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new gt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},M_={init:function(){this.setColour(u_),this.appendValueInput("VALUE").appendField(gt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},h_={init:function(){this.setColour(u_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(gt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=gt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},gt.isNumber(n)&>.isNumber(s)&>.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const da=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ia=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Ta=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ma=function(t,e){return["None",e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ea=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Oa=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},ca=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ga=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Sa=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Aa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},La=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Da=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},fa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Pa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},va=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Ya=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Xa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},ya=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},ba=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Va=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ba=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ua=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},wa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},ka=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),gt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Au=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Lu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Nu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Du=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},fu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Fu=function(t,e){return'"},Pu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},vu=function(){return this.getFieldValue("TEXT")+"\n"},Yu=function(t){return t.getFieldValue("TEXT")+"\n"},Xu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},yu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},bu=function(){return""},xu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Vu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n")},wu.scrubNakedValue=function(t){return t+"\n"},wu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},wu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},wu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=gt.utils.string.wrap(_,wu.COMMENT_WRAP-3),n+=wu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const ku="#74A55B",Hu={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_RGB_PIN_COUNT)}},Wu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ku={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(gt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(gt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_RESET)}},$u={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(gt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},tr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},er={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ir={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},nr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},sr={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_r={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField("360°"+gt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SETTING+gt.Msg.blockpy_turtle_rotate+gt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},pr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},ar={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ur={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},rr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},lr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new gt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(gt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[gt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[gt.Msg.MOTOR_N,"ms32006.MOT_N"],[gt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Ir={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new gt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[gt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Tr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_RGB_PIN_COUNT)}},Mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},hr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Er={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new gt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([["SYN6288"+gt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+gt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_WHETHER).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_STOPPED,"0"],[gt.Msg.MIXLY_PLAYING,"1"],[gt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},gr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MP3_PLAY,"1"],[gt.Msg.MIXLY_MP3_PAUSE,"2"],[gt.Msg.MIXLY_STOP,"3"],[gt.Msg.MIXLY_MP3_PREV,"4"],[gt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(gt.Msg.MIXLY_MP3_VOL+gt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Sr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE+gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[gt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[gt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[gt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[gt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[gt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[gt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Lr={},Nr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(gt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(gt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(gt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Pr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LISTS_SET_INDEX_SET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_WHITE,"W"],[gt.Msg.COLOUR_RGB_RED,"R"],[gt.Msg.COLOUR_RGB_YELLOW,"Y"],[gt.Msg.COLOUR_RGB_GREEN,"G"],[gt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_WHITE,"W"],[gt.Msg.COLOUR_RGB_RED,"R"],[gt.Msg.COLOUR_RGB_YELLOW,"Y"],[gt.Msg.COLOUR_RGB_GREEN,"G"],[gt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[gt.Msg.MIXLY_SPEED,"[1]"],[gt.Msg.MATH_SINGLE_OP_ABSOLUTE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[gt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[gt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[gt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MATH_SINGLE_OP_ABSOLUTE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"0"],[gt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[gt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField("("+gt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},kr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField("("+gt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"0"],[gt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MOTOR,"ext_motor"],[gt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[gt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[gt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[gt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[gt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[gt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[gt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MOTOR,"ext_motor"],[gt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[gt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[gt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[gt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[gt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[gt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[gt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SERVO+gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},zr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MOTOR+gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},jr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r="#6C9858",Zr={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_ON,"1"],[gt.Msg.MIXLY_ESP32_OFF,"0"],[gt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},el={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},il={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},_l={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(gt.Msg.MIXLY_LCD_SETCOLOR).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LIGHT_RED,"1"],[gt.Msg.MIXLY_LIGHT_GREEN,"2"],[gt.Msg.MIXLY_LIGHT_BLUE,"3"],[gt.Msg.MIXLY_LIGHT_YELLOW,"4"],[gt.Msg.MIXLY_LIGHT_CYAN,"5"],[gt.Msg.MIXLY_LIGHT_PURPLE,"6"],[gt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ol={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},al={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},rl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ll={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},dl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Il={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_WRI)}},hl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},El={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ol={init:function(){this.setColour($r),this.appendValueInput("TICKS").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(gt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(gt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Rl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_RESET)}},gl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Al={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ll={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dl={init:function(){this.setColour($r),this.appendDummyInput().appendField("MixGo Car").appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour($r),this.appendDummyInput("").appendField("MixGo Car").appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_STOP).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[gt.Msg.MIXLY_SPEED,"SPEED"],[gt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.MIXLY_MOTOR).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"1"],[gt.Msg.TEXT_TRIM_RIGHT,"2"],[gt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[gt.Msg.MIXLY_SPEED,"SPEED"],[gt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[gt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(gt.Msg.MIXLY_MOTOR).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"0"],[gt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_MIXBOT_BUZZER+gt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},kl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MIXBOT_BUZZER+gt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Hl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_RECORD_AUDIO).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(gt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_PLAY_AUDIO).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.PIN_NUMBERING);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.PIN_NUMBERING);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.MIXLY_ALL+gt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(gt.ALIGN_RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$l={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(gt.ALIGN_RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.ANALOG+gt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(gt.Msg.MIXLY_RELEASE).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.ANALOG+gt.Msg.MIXLY_KEYBOARD_INPUT)}},td={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SPECIAL_KEY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[gt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[gt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[gt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[gt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[gt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[gt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[gt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[gt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GENERAL_KEY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},id={init:function(){this.setColour($r),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new gt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(gt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Om={init:function(){this.jsonInit({colour:am,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:gt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:gt.Msg.MIXLY_MICROBIT_Built_in_image})}},Rm={init:function(){this.setColour(am),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},cm={init:function(){this.setColour(am),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(gt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new gt.FieldDropdown(cm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":gt.Msg.MIXLY_MICROBIT_image_add,"-":gt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[gt.Msg.MICROBIT_DISPLAY_UNION,"add"],[gt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gm={init:function(){this.setColour(am),this.appendValueInput("A").setCheck("esp32_image").appendField(gt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Cm={init:function(){this.setColour(am),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET2).appendField(new gt.FieldDropdown(Cm.OPERATORS),"OP"),this.appendValueInput("val").appendField(gt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=gt.Msg.DISPLAY_IMAGE_LET,n=gt.Msg.DISPLAY_IMAGE_LET2,s=gt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:gt.Msg.MIXLY_UP,shift_down:gt.Msg.MIXLY_DOWN,shift_left:gt.Msg.MIXLY_LEFT,shift_right:gt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[gt.Msg.MIXLY_UP,"shift_up"],[gt.Msg.MIXLY_DOWN,"shift_down"],[gt.Msg.MIXLY_LEFT,"shift_left"],[gt.Msg.MIXLY_RIGHT,"shift_right"]]},Sm={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Am={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Lm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Nm={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Dm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Clear_display)}},fm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_SHOW+gt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Pm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(Pm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},vm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Ym={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(Ym.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Xm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},ym={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(ym.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},bm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.OLED_SET_FONT).appendField(new gt.FieldDropdown(bm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+gt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+gt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+gt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},xm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Vm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Bm={init:function(){this.setColour(am),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(gt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Gm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(gt.Msg.TEXT_CENTER).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Um={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},wm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},km={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Hm={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[gt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Wm={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[gt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[gt.Msg.mpython_vertical,"0"],[gt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:gt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Km={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.mpython_display_hline_1,"1"],[gt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.mpython_display_line_TOOLTIP,message0:gt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Jm={init:function(){this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new gt.FieldDropdown(Jm.IMAGES),"path"),this.setColour(am),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},qm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(zm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Qm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},jm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},$m={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Zm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new gt.FieldDropdown(Zm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[gt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[gt.Msg.CLOCKWISE+"90"+gt.Msg.blockpy_setheading_degree,"1"],[gt.Msg.CLOCKWISE+"180"+gt.Msg.blockpy_setheading_degree,"2"],[gt.Msg.CLOCKWISE+"270"+gt.Msg.blockpy_setheading_degree,"3"]]},tE={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},eE={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(eE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},iE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nE={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(gt.Msg.MIXLY_AipImageClassify_Image+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(gt.Msg.TEXT_CENTER).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},_E={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},oE={init:function(){this.jsonInit({colour:am,args0:[{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:gt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},pE={init:function(){this.jsonInit({colour:am,args0:[{name:"dir_h_v",options:[[gt.Msg.mpython_vertical,"0"],[gt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:gt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},aE={init:function(){this.jsonInit({colour:am,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.mpython_display_line_TOOLTIP,message0:gt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},uE={init:function(){this.setColour(am),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(gt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},rE={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_LCD_SETCOLOR).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},lE={init:function(){this.setColour(am),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dE={init:function(){this.setColour(am),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(gt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(gt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(gt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(gt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ME={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mE={init:function(){this.jsonInit({colour:am,args0:[{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,message0:gt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},EE={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER).appendField(gt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(gt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.DRAW_POINTER_TOOLTIP)}},OE={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER).appendField(gt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(gt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.DRAW_POINTER_TOOLTIP)}},RE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cE={init:function(){this.setColour(am),this.appendValueInput("direct").appendField(gt.Msg.OLED_BITMAP).appendField(gt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},gE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP).appendField(gt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ERROR_RATE).appendField(new gt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){lm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){Mm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Cm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){Lm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},DE={init:function(){Nm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fE={init:function(){Dm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},FE=180,PE={init:function(){this.setColour(FE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(gt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET2).appendField(new gt.FieldDropdown(PE.OPERATORS),"OP"),this.appendValueInput("val").appendField(gt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=gt.Msg.DISPLAY_IMAGE_LET,n=gt.Msg.DISPLAY_IMAGE_LET2,s=gt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"]]},vE={init:function(){this.setColour(FE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(gt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new gt.FieldDropdown(vE.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":gt.Msg.MIXLY_MICROBIT_image_add,"-":gt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[gt.Msg.MICROBIT_DISPLAY_UNION,"+"],[gt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},YE={init:function(){this.setColour(FE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new gt.FieldDropdown(YE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_MICROBIT_IMAGE+{height:gt.Msg.MIXLY_HEIGHT,width:gt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[gt.Msg.MIXLY_HEIGHT,"height"],[gt.Msg.MIXLY_WIDTH,"width"]]},XE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RECT).appendField(new gt.FieldDropdown(XE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_OLED_RECT)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},yE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new gt.FieldDropdown(yE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},bE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_DISPLAY_DRAW+gt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new gt.FieldDropdown(bE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_DISPLAY_DRAW+gt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xE="#777777",VE={init:function(){this.setColour(xE),this.appendDummyInput("").appendField("from ").appendField(new gt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new gt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BE={init:function(){this.setColour(xE),this.appendDummyInput("").appendField("import ").appendField(new gt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GE={init:function(){this.setColour(xE),this.appendDummyInput("").appendField(new gt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},NO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},DO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},fO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},FO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(gt.Msg.MIXLY_WIFI_USERNAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.MIXLY_IOT_PASSWORD).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_PROJECT).setAlign(gt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},PO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},vO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.appendDummyInput().appendField(gt.Msg.MIXLY_Service_quality_display).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_AT_MOST_ONCE,"0"],[gt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},YO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},XO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(gt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},VO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},BO={init:function(){this.setColour(RO),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},GO={init:function(){this.setColour(RO),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},UO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},wO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO").appendField(gt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(gt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},kO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+gt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WO={init:function(){this.VISITOR_ID=Ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(RO),this.appendDummyInput("").appendField(new gt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},KO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO").appendField(gt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},JO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("HTTP"+gt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(gt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(gt.Msg.MIXLY_REQUESTS_GET).appendField(gt.Msg.MIXLY_GET_CURRENT_TIME).appendField(gt.Msg.MIXLY_OPEN_DEBUG).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("HTTP"+gt.Msg.MIXLY_Client).appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[gt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[gt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},zO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MQTT"+gt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(gt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(gt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(gt.Msg.MQTT_Topic).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(gt.Msg.MIXLY_OPEN_DEBUG).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MQTT"+gt.Msg.MIXLY_Client).appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[gt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[gt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},jO=cO,$O=gO,ZO=CO,tR=SO,eR=LO,iR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(gt.Msg.MODEL_NAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(gt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nR=iR,sR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(gt.Msg.MODEL_NAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(gt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_R={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},pR={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Ollama "+gt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${gt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${gt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(gt.inputs.Align.RIGHT).appendField(`MixIO ${gt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},dR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},IR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(gt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},TR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(gt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR=225,hR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(gt.Msg.MIXLY_NETWORK_MODE).appendField(new gt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},mR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[gt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=gt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:gt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:gt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},ER={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},OR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:gt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},RR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(gt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(gt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},cR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_CONNECT+gt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},gR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[gt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[gt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:gt.Msg.MIXLY_ESP32_NETWORK_IP,1:gt.Msg.MIXLY_ESP32_NETWORK_MASK,2:gt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},CR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},SR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[gt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},AR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(gt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(gt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},LR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},NR={init:function(){this.setColour(MR),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new gt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},DR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},fR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},FR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},PR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},vR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},YR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},XR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},yR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},bR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},xR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},VR={init:function(){this.setColour(MR),this.appendValueInput("DOMAIN").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_REQUESTS_GET).appendField(new gt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},BR={init:function(){this.appendValueInput("VAL"),this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown(BR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:gt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:gt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:gt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[gt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},GR={init:function(){this.appendValueInput("VAR").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown(GR.METHOD),"DIR"),this.appendDummyInput("").appendField(gt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:gt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:gt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},UR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(gt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},wR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(new gt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},kR="#3288dd",HR={init:function(){this.setColour(kR),this.appendValueInput("URL").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(gt.Msg.blockpy_REQUESTS).appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},WR={init:function(){this.setColour(kR),this.appendValueInput("URL").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(gt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(gt.Msg.blockpy_REQUESTS+gt.Msg.OLED_STRING),this.appendDummyInput("").appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},KR={init:function(){this.appendValueInput("VAL"),this.setColour(kR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown(KR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[gt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[gt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},JR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(gt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(gt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},qR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(gt.Msg.MIXLY_EMQX_PORT).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(gt.Msg.MIXLY_WIFI_USERNAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.MIXLY_IOT_PASSWORD).setAlign(gt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zR={init:function(){this.setColour(kR),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(gt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},QR={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jR={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$R={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"+gt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},ZR="#A58C5B",tc={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SENOR_IS_PRESSED)}},ec={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SENOR_WAS_PRESSED)}},ic={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_BUTTON+gt.Msg.MIXLY_GET_PRESSES)}},nc={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[gt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[gt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},sc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_shake,"shake"],[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"],[gt.Msg.MIXLY_MICROBIT_face_up,"face up"],[gt.Msg.MIXLY_MICROBIT_face_down,"face down"],[gt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=gt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=gt.Msg.MSG.catSensor,s=gt.Msg.MIXLY_MICROBIT_JS_STATE,_=gt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:gt.Msg.MIXLY_MICROBIT_shake,up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT,"face up":gt.Msg.MIXLY_MICROBIT_face_up,"face down":gt.Msg.MIXLY_MICROBIT_face_down,freefall:gt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},_c={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},pc={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField(new gt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new gt.FieldDropdown(pc.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},ac={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},uc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},rc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"left"],[gt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(gt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=gt.Msg.MIXLY_ESP32_NEAR;return i+{left:gt.Msg.TEXT_TRIM_LEFT,right:gt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},lc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[gt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":gt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":gt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},dc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[gt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Ic={init:function(){this.setColour(ZR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},Tc={init:function(){this.setColour(ZR),this.appendDummyInput("").appendField("LM35"+gt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_LM35)}},Mc={init:function(){this.setColour(ZR),this.appendValueInput("I2CSUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[gt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[gt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[gt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[gt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[gt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[gt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[gt.Msg.HTML_COLOUR+"、"+gt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+gt.Msg.MIXLY_NEXT+"、"+gt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[gt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[gt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[gt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[gt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[gt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},hc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(gt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+gt.Msg.MIXLY_DELAY_TIME_RANGE)}},mc={init:function(){this.setColour(ZR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RADAR).appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(gt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+gt.Msg.MIXLY_DELAY_TIME_RANGE)}},Ec={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Oc={init:function(){this.setColour(ZR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RADAR).appendField(gt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Rc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[gt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[gt.Msg.MIXLY_THE_FIRST,"3"],[gt.Msg.MIXLY_THE_SECOND,"4"],[gt.Msg.MIXLY_THE_THIRD,"5"],[gt.Msg.MIXLY_THE_FOURTH,"6"],[gt.Msg.MIXLY_THE_FIFTH,"7"],[gt.Msg.MIXLY_THE_SIXTH,"8"],[gt.Msg.MIXLY_THE_SEVENTH,"9"],[gt.Msg.MIXLY_THE_EIGHTH,"10"],[gt.Msg.MIXLY_THE_NINTH,"11"],[gt.Msg.MIXLY_THE_TENTH,"12"],[gt.Msg.MIXLY_THE_ELEVENTH,"13"],[gt.Msg.MIXLY_THE_TWELFTH,"14"],[gt.Msg.MIXLY_THE_13TH,"15"],[gt.Msg.MIXLY_THE_14TH,"16"],[gt.Msg.MIXLY_THE_15TH,"17"],[gt.Msg.MIXLY_THE_16TH,"18"],[gt.Msg.MIXLY_THE_17TH,"19"],[gt.Msg.MIXLY_THE_18TH,"20"],[gt.Msg.MIXLY_THE_19TH,"21"],[gt.Msg.MIXLY_THE_20TH,"22"],[gt.Msg.MIXLY_Turn_on_the_lights,"23"],[gt.Msg.MIXLY_Turn_off_the_lights,"24"],[gt.Msg.MIXLY_Turn_up_the_brightness,"25"],[gt.Msg.MIXLY_Turn_down_the_brightness,"26"],[gt.Msg.MIXLY_Set_it_to_red,"27"],[gt.Msg.MIXLY_Set_it_to_orange,"28"],[gt.Msg.MIXLY_Set_it_to_yellow,"29"],[gt.Msg.MIXLY_Set_it_to_green,"30"],[gt.Msg.MIXLY_Set_it_to_cyan,"31"],[gt.Msg.MIXLY_Set_it_to_blue,"32"],[gt.Msg.MIXLY_Set_it_to_purple,"33"],[gt.Msg.MIXLY_Set_it_to_white,"34"],[gt.Msg.MIXLY_Turn_on_the_fan,"35"],[gt.Msg.MIXLY_Turn_off_the_fan,"36"],[gt.Msg.MIXLY_First_gear,"37"],[gt.Msg.MIXLY_Wind_speed_second,"38"],[gt.Msg.MIXLY_Third_gear,"39"],[gt.Msg.MIXLY_Previous,"40"],[gt.Msg.MIXLY_Next_page,"41"],[gt.Msg.MIXLY_Show_smiley_face,"42"],[gt.Msg.MIXLY_Show_crying_face,"43"],[gt.Msg.MIXLY_Show_love,"44"],[gt.Msg.MIXLY_Close_display,"45"],[gt.Msg.MIXLY_Start_execution,"46"],[gt.Msg.MIXLY_FORWARD,"47"],[gt.Msg.MIXLY_BACKWARD,"48"],[gt.Msg.MIXLY_TURNLEFT,"49"],[gt.Msg.MIXLY_TURNRIGHT,"50"],[gt.Msg.MIXLY_STOP,"51"],[gt.Msg.MIXLY_Accelerate,"52"],[gt.Msg.MIXLY_retard,"53"],[gt.Msg.ROTATION_FORWARD,"54"],[gt.Msg.ROTATION_BACKWARD,"55"],[gt.Msg.MIXLY_Query_temperature,"56"],[gt.Msg.MIXLY_Query_humidity,"57"],[gt.Msg.MIXLY_Query_brightness,"58"],[gt.Msg.MIXLY_Query_sound,"59"],[gt.Msg.MIXLY_Query_time,"60"],[gt.Msg.MIXLY_Query_distance,"61"],[gt.Msg.MIXLY_Query_pressure,"62"],[gt.Msg.MIXLY_Query_key,"63"],[gt.Msg.MIXLY_Query_touch,"64"],[gt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(gt.Msg.MIXLY_WHETHER+gt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},gc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[gt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[gt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Cc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MP3_PLAY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[gt.Msg.MIXLY_WIND_SPEED,"154"],[gt.Msg.MIXLY_HYETAL,"155"],[gt.Msg.MIXLY_TEMPERATURE,"156"],[gt.Msg.MIXLY_Humidity,"157"],[gt.Msg.MIXLY_Altitude,"158"],[gt.Msg.MIXLY_SOUND,"159"],[gt.Msg.MIXLY_BRIGHTNESS,"160"],[gt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[gt.Msg.MIXLY_SERVO,"162"],[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[gt.Msg.MIXLY_BUTTON2,"164"],[gt.Msg.MIXLY_ESP32_TOUCH,"165"],[gt.Msg.MIXLY_PAY,"166"],[gt.Msg.MIXLY_CARSH_CHANGE,"167"],[gt.Msg.MIXLY_COUNTDOWN,"168"],[gt.Msg.MIXLY_TIMING,"169"],[gt.Msg.MIXLY_AT_THE_MOMENT,"170"],[gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[gt.Msg.MIXLY_FORWARD,"172"],[gt.Msg.MIXLY_BACKWARD,"173"],[gt.Msg.MIXLY_TURNLEFT,"174"],[gt.Msg.MIXLY_TURNRIGHT,"175"],[gt.Msg.MIXLY_STOP,"176"],[gt.Msg.MIXLY_Accelerate,"177"],[gt.Msg.MIXLY_retard,"178"],[gt.Msg.ROTATION_FORWARD,"179"],[gt.Msg.ROTATION_BACKWARD,"180"],[gt.Msg.TUPLE_JOIN,"181"],[gt.Msg.MIXLY_SHOW,"182"],[gt.Msg.MIXLY_LAMPLIGHT,"183"],[gt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(gt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(gt.Msg.MIXLY_UNIT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[gt.Msg.MIXLY_YEAR,"117"],[gt.Msg.MIXLY_MONTH,"118"],[gt.Msg.MIXLY_DAY,"119"],[gt.Msg.MIXLY_HOUR,"120"],[gt.Msg.MIXLY_MINUTE,"121"],[gt.Msg.MIXLY_SECOND,"122"],[gt.Msg.MIXLY_WEEK2,"123"],[gt.Msg.MIXLY_RMB_UNIT,"124"],[gt.Msg.blockpy_setheading_degree,"125"],[gt.Msg.MIXLY_GEAR,"126"],[gt.Msg.MIXLY_LAYER,"127"],[gt.Msg.MIXLY_GRAM,"128"],[gt.Msg.MIXLY_METER,"129"],[gt.Msg.MIXLY_CENTIMETER,"130"],[gt.Msg.MIXLY_MILLIMETER,"131"],[gt.Msg.MIXLY_LUMEN,"132"],[gt.Msg.MIXLY_DECIBEL,"133"],[gt.Msg.MIXLY_hectopascal,"134"],[gt.Msg.MIXLY_PERCENT,"135"],[gt.Msg.MIXLY_CELSIUS,"136"],[gt.Msg.MIXLY_METER_PER_SEC,"137"],[gt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[gt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[gt.Msg.MIXLY_SUCCESS,"140"],[gt.Msg.MIXLY_FAILED,"141"],[gt.Msg.MIXLY_WRONG,"142"],[gt.Msg.MIXLY_GOOD,"143"],[gt.Msg.MIXLY_blockpy_set_add,"144"],[gt.Msg.MIXLY_DECREASE,"145"],[gt.Msg.COLOUR_RGB_RED,"146"],[gt.Msg.COLOUR_RGB_ORANGE,"147"],[gt.Msg.COLOUR_YELLOW,"148"],[gt.Msg.COLOUR_RGB_GREEN,"149"],[gt.Msg.COLOUR_CYAN,"150"],[gt.Msg.COLOUR_RGB_BLUE,"151"],[gt.Msg.COLOUR_RGB_PURPLE,"152"],[gt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Sc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXLY_SYSTEM+gt.Msg.MIXLY_CMD).appendField(new gt.FieldDropdown([[gt.Msg.MILXY_ENTER_WAKE_UP,"1"],[gt.Msg.MIXLY_INCREASE_VOLUME,"202"],[gt.Msg.MIXLY_REDUCE_VOLUME,"203"],[gt.Msg.MIXLY_MAX_VOLUME,"204"],[gt.Msg.MIXLY_MINIMUM,"205"],[gt.Msg.MIXLY_OPEN_RESPONSE,"206"],[gt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[gt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ac={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[gt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[gt.Msg.MIXLY_ESP32_MAX30102_IR+","+gt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[gt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[gt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.HTML_COLOUR+gt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET+gt.Msg.HTML_COLOUR,"[2]"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_IR_STRENGTH,"[1]"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.HTML_COLOUR+gt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET+"RGB"+gt.Msg.HTML_COLOUR,"0"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_RGB_RAW,"1"],[gt.Msg.MIXLY_GET_ENV_LIGHT+gt.Msg.MIXLY_BRIGHTNESS,"2"],[gt.Msg.GET_IR_STRENGTH+gt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[gt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},vc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Yc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Xc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},bc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(gt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MIXGOPE_FIELD+gt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[gt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_shake,"shake"],[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"],[gt.Msg.MIXLY_MICROBIT_face_up,"face up"],[gt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=gt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=gt.Msg.MSG.catSensor,s=gt.Msg.MIXLY_MICROBIT_JS_STATE,_=gt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:gt.Msg.MIXLY_MICROBIT_shake,up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT,"face up":gt.Msg.MIXLY_MICROBIT_face_up,"face down":gt.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},Gc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Uc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_GET+gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},wc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},kc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Hc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_GETTEMPERATUE)}},Wc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return gt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Kc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Jc={init:function(){this.setColour(ZR),this.appendValueInput("SPISUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},qc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[gt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},zc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},jc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$c={init:function(){this.setColour(ZR),this.appendDummyInput().appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(gt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Zc={init:function(){this.setColour(ZR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_SCAN_OK,"0"],[gt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[gt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},tg={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},eg={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ig={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ng={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new gt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},UP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},kP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},HP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},WP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},KP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},JP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},qP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},zP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},QP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},jP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},$P=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},ZP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},tv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ev=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},iv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},nv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},sv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},_v=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},ov=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},pv=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},av=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},uv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},rv=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},lv=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},dv=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Iv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},Tv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},Mv=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),_=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},hv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},mv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Ev=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Ov=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Rv=function(t,e){e.definitions_.import_st7789="import st7789";var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},cv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},gv=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},Cv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},Sv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Av=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Lv=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},Nv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Dv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},fv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},Fv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Pv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},vv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},Yv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Ct.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},Xv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},yv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},bv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},xv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Vv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Bv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Gv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Uv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},wv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},kv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},Hv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},Wv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},Kv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},Jv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},qv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},zv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},Qv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},jv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},$v=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},Zv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},tY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},eY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},iY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},nY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},sY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},_Y=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},kY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},HY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},WY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},KY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},JY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},qY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},zY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},QY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),o=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},jY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},$Y=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},ZY=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},tX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},eX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},iX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},nX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},sX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},_X=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},oX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},pX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},aX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},uX=zv,rX=TY,lX=lY,dX=TY,IX=MY,TX=pY,MX=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},hX=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},mX=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},DG=function(){return"control.reset()\n"},fG=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},FG=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},PG=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},vG=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},YG=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},XG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},yG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},bG=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},xG=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},VG=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},BG=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},GG=function(){return"while True:\n pass\n"},UG=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},wG=function(t,e){return e.definitions_.import_os="import os","os.uname()"},kG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},HG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},WG=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},KG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},JG=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},qG=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},zG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},QG=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},jG=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},$G=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},ZG=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},tU=qG,eU=zG,iU=JG,nU=kG,sU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_U=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},oU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},pU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},aU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},uU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},rU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},lU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},dU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},IU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},TU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},MU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},hU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},mU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},EU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},OU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:RU}=Ct,cU=RU.render(OU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:gU}=Ct,CU=gU.render(OU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:SU}=Ct,AU=SU.render(OU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),LU=new gt.Generator("Python");LU.INDENT=" ",LU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),LU.ORDER_ATOMIC=0,LU.ORDER_COLLECTION=1,LU.ORDER_STRING_CONVERSION=1,LU.ORDER_UNARY_POSTFIX=1,LU.ORDER_UNARY_PREFIX=2,LU.ORDER_MEMBER=2.1,LU.ORDER_FUNCTION_CALL=2.2,LU.ORDER_EXPONENTIATION=3,LU.ORDER_UNARY_SIGN=4,LU.ORDER_BITWISE_NOT=4,LU.ORDER_MULTIPLICATIVE=5,LU.ORDER_ADDITIVE=6,LU.ORDER_BITWISE_SHIFT=7,LU.ORDER_BITWISE_AND=8,LU.ORDER_BITWISE_XOR=9,LU.ORDER_BITWISE_OR=10,LU.ORDER_RELATIONAL=11,LU.ORDER_EQUALITY=11,LU.ORDER_LOGICAL_NOT=12,LU.ORDER_LOGICAL_AND=13,LU.ORDER_LOGICAL_OR=14,LU.ORDER_ASSIGNMENT=14,LU.ORDER_CONDITIONAL=15,LU.ORDER_LAMBDA=16,LU.ORDER_NONE=99,LU.ORDER_OVERRIDES=[[LU.ORDER_FUNCTION_CALL,LU.ORDER_MEMBER],[LU.ORDER_FUNCTION_CALL,LU.ORDER_FUNCTION_CALL],[LU.ORDER_MEMBER,LU.ORDER_MEMBER],[LU.ORDER_MEMBER,LU.ORDER_FUNCTION_CALL]],LU.init=function(){LU.PASS=this.INDENT+"pass\n",LU.definitions_=Object.create(null),LU.functionNames_=Object.create(null),LU.setups_=Object.create(null),LU.loops_=Object.create(null),LU.codeEnd_=Object.create(null),LU.variableDB_?LU.variableDB_.reset():LU.variableDB_=new Nt(LU.RESERVED_WORDS_)},LU.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?e.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in LU.functions_)o.push(LU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in LU.setups_)p.push(LU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in LU.loops_)a.push(LU.loops_[s]);var u=[];for(var s in LU.codeEnd_)u.push(LU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n"),r},LU.scrubNakedValue=function(t){return t+"\n"},LU.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},LU.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},LU.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=gt.utils.string.wrap(_,LU.COMMENT_WRAP-3),n+=LU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const NU={};NU.mpython={description:"MicroPython[EDUCORE Edu Core]",digital_pin:Ct.Profile.generate(["0-10","18"]),input_pin:Ct.Profile.generate(["0-10","18"]),output_pin:Ct.Profile.generate(["0-10","18"]),pwm_input:Ct.Profile.generate(["0-10","18"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-4"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-10","18"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-4"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-10","18"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-10","18"]),pwm:Ct.Profile.generate(["0-10","18"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-4"]),analog:Ct.Profile.generate(["0-4"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-11"]),exlcdv:Ct.Profile.generate(["0-7"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["ANGRY","onboard_matrix.ANGRY"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["BIRTHDAY","onboard_music.BIRTHDAY"],["BA_DING","onboard_music.BA_DING"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},NU["ESP32C2 Generic(2M)"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ct.Profile.generate(["0-11","18-21"]),input_pin:Ct.Profile.generate(["0-11","18-21"]),output_pin:Ct.Profile.generate(["0-11","18-21"]),pwm_input:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-11","18-21"]),pwm:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-5"]),analog:Ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-31"]),exlcdv:Ct.Profile.generate(["0-11"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const DU=NU,fU=20,FU={init:function(){this.setColour(fU),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_HIGH,"HIGH"],[gt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},PU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},vU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},YU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField("DAC"+gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},XU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_mSecond,"period"],[gt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},yU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_REF_VOLTAGE+gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},bU={init:function(){this.setColour(fU),this.appendValueInput("pin").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},xU={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[gt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[gt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},VU={init:function(){this.setColour(20),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_AS).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[gt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[gt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[gt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},BU={init:function(){this.setColour(fU),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("dac#"),"PIN_OBJ").appendField(gt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+gt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},GU={init:function(){this.setColour(fU),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("tc#"),"PIN_OBJ").appendField(gt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},UU={init:function(){this.setColour(fU),this.appendValueInput("PIN",Number).appendField("PWM"+gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_FREQUENCY+gt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},wU=VU,kU=GU,HU=bU,WU=xU,KU=40,JU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput("").appendField(t).appendField(gt.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},qU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput("").appendField(t).appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" HP203X").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},zU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},QU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},jU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},$U={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ZU={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(gt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0)}},tw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(KU),this.appendDummyInput().appendField(t).appendField("RFID"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_SCAN_OK,"True"],[gt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[gt.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ew=100,iw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXGO_LEFT_FRONT+gt.Msg.COLOUR_RGB_GREEN+gt.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[gt.Msg.MIXGO_RIGHT_FRONT+gt.Msg.COLOUR_RGB_GREEN+gt.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[gt.Msg.MIXGO_LEFT_BACK+gt.Msg.COLOUR_RGB_GREEN+gt.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[gt.Msg.MIXGO_RIGHT_BACK+gt.Msg.COLOUR_RGB_GREEN+gt.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[gt.Msg.MIXGO_LEFT_FRONT+gt.Msg.COLOUR_RGB_RED+gt.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[gt.Msg.MIXGO_RIGHT_FRONT+gt.Msg.COLOUR_RGB_RED+gt.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[gt.Msg.MIXGO_LEFT_BACK+gt.Msg.COLOUR_RGB_RED+gt.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[gt.Msg.MIXGO_RIGHT_BACK+gt.Msg.COLOUR_RGB_RED+gt.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[gt.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},nw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},sw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},_w={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ow={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},pw={init:function(){this.setColour(ew),this.appendDummyInput().appendField("ME GO").appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aw={init:function(){this.setColour(ew),this.appendDummyInput().appendField("ME GO").appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uw={init:function(){this.setColour(ew),this.appendDummyInput().appendField("ME GO").appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[gt.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.ROTATION_FORWARD,"CW"],[gt.Msg.ROTATION_BACKWARD,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_INTERRUPT).appendField(gt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"A"],[gt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},lw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(gt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"A"],[gt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new gt.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},dw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(gt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"A"],[gt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new gt.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},Iw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"[0]"],[gt.Msg.MIXGO_LEFT_MID,"[1]"],[gt.Msg.MIXGO_RIGHT_MID,"[2]"],[gt.Msg.TEXT_TRIM_RIGHT,"[3]"],[gt.Msg.MIXLY_ALL,""]]),"key").appendField(gt.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+gt.Msg.MIXLY_ESP32_NEAR}))}},Tw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXGO_LEFT_FRONT,"[0]"],[gt.Msg.MIXGO_RIGHT_FRONT,"[1]"],[gt.Msg.MIXGO_LEFT_BACK,"[3]"],[gt.Msg.MIXGO_RIGHT_BACK,"[2]"],[gt.Msg.MIXLY_ALL,""]]),"key").appendField(gt.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+gt.Msg.MIXLY_ESP32_NEAR}))}},Mw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[gt.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[gt.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[gt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[gt.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hw={init:function(){this.setColour(ew),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.ME_GO_PITCH,"[0]"],[gt.Msg.ME_GO_ROLL,"[1]"],[gt.Msg.ME_GO_PITCH+", "+gt.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},mw={init:function(){this.setColour(ew),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"[0]"],[gt.Msg.MIXGO_LEFT_MID,"[1]"],[gt.Msg.MIXGO_RIGHT_MID,"[2]"],[gt.Msg.TEXT_TRIM_RIGHT,"[3]"],[gt.Msg.MIXLY_ALL,""]]),"key").appendField(gt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+gt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},Ew=230,Ow={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},Rw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},cw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},Cw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},Sw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Aw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Lw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Nw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Dw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},fw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Fw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Pw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},vw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Xw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},yw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},bw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},xw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},Vw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Bw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Gw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Uw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},ww={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},kw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Hw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},Ww={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Kw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Jw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},qw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},zw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},Qw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},jw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},$w={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Zw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},tk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},ik={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},sk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},_k={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},ok={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},pk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},uk=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},rk=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},lk=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},dk=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Ik=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Tk=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},Mk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},hk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},mk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},Ek=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Ok=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Rk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_ahtx0."+i+"()",e.ORDER_ATOMIC]},ck=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_hp203x."+i,e.ORDER_ATOMIC]},gk=function(t,e){e.definitions_.import_mini_g2="import mini_g2";return["mini_g2.varistor()",e.ORDER_ATOMIC]},Ck=function(t,e){if(e.definitions_.import_mini_g2="import mini_g2","mixgo_mini"==Ct.Boards.getSelectedBoardKey().split(":")[2]){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var i='ext_rfid.read_card(0, x="id")'}else{e.definitions_.import_mini_g2="import mini_g2";i='mini_g2.ext_rc522.read_card(0, x="id")'}return[i,e.ORDER_ATOMIC]},Sk=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else{e.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.read_card("+n+")"}return[s,e.ORDER_ATOMIC]},Ak=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else{e.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")\n"}return _},Lk=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else{e.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")"}return[_,e.ORDER_ATOMIC]},Nk=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){e.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else{e.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.scan_card()=="+n}return[s,e.ORDER_ATOMIC]},Dk=function(t,e){return e.definitions_.import_me_go_car="from me_go import car",["car."+this.getFieldValue("op"),e.ORDER_ATOMIC]},fk=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car","car.setonoff("+i+","+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},Fk=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car",["car.getrightness("+i+")",e.ORDER_ATOMIC]},Pk=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car",["car.getonoff("+i+")",e.ORDER_ATOMIC]},vk=function(t,e){var i=e.valueToCode(this,"led",e.ORDER_ATOMIC);return e.definitions_.import_me_go_car="from me_go import car","car.setbrightness("+i+","+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},Yk=function(t,e){var i=this.getFieldValue("VAR");return e.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'",'+e.valueToCode(this,"speed",e.ORDER_ASSIGNMENT)+")\n"},Xk=function(t,e){var i=this.getFieldValue("VAR");return e.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'")\n'},yk=function(t,e){var i=this.getFieldValue("wheel");e.definitions_.import_me_go_car="from me_go import car";var n=this.getFieldValue("direction");return 0==i&&("CW"==n?n="CCW":"CCW"==n&&(n="CW")),"car.motor(car.MOTO["+i+'],"'+n+'",'+e.valueToCode(this,"speed",e.ORDER_ATOMIC)+")\n"},bk=function(t,e){var i=this.getFieldValue("mode");return e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,"hall_"+i+".irq_cb("+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+")\n"},xk=function(t,e){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i;var s=e.valueToCode(this,"num",e.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+s+",distance="+s+")\n":"hall_"+i+".initial("+n+"="+s+")\n"},Vk=function(t,e){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");return e.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,["hall_"+i+"."+n,e.ORDER_ATOMIC]},Bk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.patrol()"+i,e.ORDER_ATOMIC]},Gk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.obstacle()"+i,e.ORDER_ATOMIC]},Uk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car","car.ir_mode(car."+i+")\n"},wk=function(t,e){return e.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa",["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),e.ORDER_ATOMIC]},kk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_go_hall="from me_go import car",["car.light()"+i,e.ORDER_ATOMIC]},Hk=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},Wk=Hk,Kk=Hk,Jk=Hk,qk=Hk,zk=Hk,Qk=Hk,jk=Hk,$k=Hk,Zk=Hk,tH=Hk,eH=Hk,iH=Hk,nH=Hk,sH=Hk,_H=Hk,oH=Hk,pH=Hk,aH=Hk,uH=Hk,rH=Hk,lH=Hk,dH=Hk,IH=Hk,TH=Hk,MH=Hk,hH=Hk,mH=Hk,EH=Hk,OH=Hk,RH=Hk,cH=Hk,gH=Hk,CH=Hk,SH=Hk,AH=Hk,LH=Hk,NH=Hk,DH=Hk,fH=Hk,FH=Hk,PH=Hk,vH=Hk,YH=Hk,XH=Hk;Object.assign(gt.Variables,At),Object.assign(gt.Procedures,Uu),Object.assign(gt.Lang.ZhHans,lt),Object.assign(gt.Lang.ZhHant,dt),Object.assign(gt.Lang.En,It),gt.Python=wu,gt.generator=wu,Ct.Profile.default={},Object.assign(Ct.Profile,DU),Object.assign(Ct.Profile.default,DU["MixGo CC"]),Object.assign(gt.Blocks,e,i,n,s,_,o,p,a,u,r,l,d,I,V,H,k,X,B,W,f,w,U,G,F,D,N,b,y,x,P,v,Y,Tt,Mt,ht,mt),Object.assign(gt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,nt,ut,at,Z,st,rt,q,pt,ot,_t,z,J,K,et,tt,it,Q,j,$,Et,Ot,Rt,ct)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32/index.xml b/boards/default/micropython_esp32/index.xml index 9d37f5a9..d1c7d74d 100644 --- a/boards/default/micropython_esp32/index.xml +++ b/boards/default/micropython_esp32/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func010,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_funcp20189141420452023,1,1,12,0,0180292023,1,1,12,0,01001004404401000010004120000000000010001000100Mixly0MixlyMixly500MixlyMixly500>10.5001MixlyMixly0010MixlyMixly0550MixlyMixly550000200050502020201510000i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr457ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cbmidi0midi440midi4401000midimidimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func010,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_funcp20189141420452023,1,1,12,0,0180292023,1,1,12,0,01001004404401000010004120000000000010001000100Mixly0MixlyMixly500MixlyMixly500>10.5001MixlyMixly0010MixlyMixly0550MixlyMixly550000200050502020201510000i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr457ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cbmidi0midi440midi4401000midimidimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32/main.bundle.67d11a28.js b/boards/default/micropython_esp32/main.bundle.67d11a28.js new file mode 100644 index 00000000..cbbb0043 --- /dev/null +++ b/boards/default/micropython_esp32/main.bundle.67d11a28.js @@ -0,0 +1,21 @@ +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>At,controls_typeLists:()=>Lt,lists_zip:()=>Nt,lists_zip_container:()=>Dt,lists_zip_item:()=>ft,unpack_iterable_object:()=>Ft,variables_change:()=>Ct,variables_get:()=>ct,variables_global:()=>St,variables_set:()=>gt});var i={};t.r(i),t.d(i,{base_setup:()=>Yt,controls_delay:()=>Xt,controls_end_program:()=>xt,controls_except:()=>Qt,controls_finally:()=>qt,controls_flow_statements:()=>Ut,controls_for:()=>wt,controls_forEach:()=>Vt,controls_for_range:()=>Ht,controls_if:()=>bt,controls_if_else:()=>Kt,controls_if_elseif:()=>Wt,controls_if_if:()=>kt,controls_lambda:()=>jt,controls_main:()=>vt,controls_pass:()=>$t,controls_range:()=>yt,controls_repeat_ext:()=>zt,controls_thread:()=>Zt,controls_try:()=>Jt,controls_try_finally:()=>Gt,controls_whileUntil:()=>Bt,datetime_fromtimestamp:()=>oe,do_while:()=>te,garbage_collection:()=>ee,gene_unique_identifier:()=>_e,get_mem_alloc:()=>ie,get_mem_free:()=>ne,get_unique_identifier:()=>se});var n={};t.r(n),t.d(n,{base_map:()=>Ne,generate_cartesian_product:()=>fe,math_arithmetic:()=>de,math_bit:()=>Ie,math_constant:()=>ue,math_constant_mp:()=>re,math_constrain:()=>Re,math_dec:()=>Me,math_degree_to_radian:()=>Pe,math_indexer_number:()=>ge,math_map:()=>ce,math_max_min:()=>me,math_number:()=>ae,math_number_base_conversion:()=>Ee,math_radian_to_degree:()=>Fe,math_random:()=>Oe,math_random_seed:()=>Ce,math_round:()=>Se,math_selfcalcu:()=>le,math_to_int:()=>he,math_trig:()=>Te,text_to_number:()=>Ae,text_to_number_skulpt:()=>Le,turn_to_int:()=>De});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Ve,char_to_ascii:()=>Be,number_to_text:()=>Ge,os_system:()=>di,text:()=>Ye,text_bytes:()=>xe,text_capital:()=>qe,text_center:()=>ze,text_char:()=>be,text_char_at:()=>He,text_char_at2:()=>we,text_char_at3:()=>pi,text_compareTo:()=>_i,text_compare_to:()=>Qe,text_create_with_container:()=>ni,text_create_with_item:()=>si,text_encode:()=>ui,text_equals_starts_ends:()=>Je,text_eval:()=>ri,text_find:()=>je,text_format:()=>ii,text_format_noreturn:()=>ai,text_join:()=>ye,text_join_seq:()=>$e,text_length:()=>Ue,text_random_char:()=>ke,text_replace:()=>Ze,text_split:()=>ti,text_strip:()=>ei,text_substring:()=>Ke,text_substring2:()=>We,text_substring3:()=>oi,text_textarea:()=>Xe});var o={};t.r(o),t.d(o,{ENUMERATE:()=>Ji,content_in_lists:()=>qi,enumerate:()=>Qi,list_many_input:()=>Xi,list_tolist:()=>Vi,list_tolist2:()=>Ki,list_trig:()=>Pi,lists_2d_get_col_row_data:()=>hi,lists_2d_get_data_with_col_row:()=>Mi,lists_append_extend:()=>gi,lists_change_to:()=>Yi,lists_change_to_general:()=>bi,lists_clear:()=>Ni,lists_create_with:()=>mi,lists_create_with2:()=>Bi,lists_create_with_container:()=>Oi,lists_create_with_item:()=>Ri,lists_create_with_noreturn:()=>xi,lists_create_with_text:()=>Ei,lists_create_with_text2:()=>Gi,lists_del_general:()=>yi,lists_find:()=>Fi,lists_getIndex3:()=>Ui,lists_getSublist3:()=>wi,lists_get_index:()=>Ii,lists_get_random_item:()=>Ci,lists_get_random_sublist:()=>Si,lists_get_sublist:()=>Ti,lists_insert_value:()=>Ai,lists_insert_value2:()=>ki,lists_pop:()=>fi,lists_remove_at:()=>Di,lists_remove_at2:()=>Wi,lists_reverse:()=>Li,lists_setIndex3:()=>Hi,lists_set_index:()=>ci,lists_sort:()=>vi});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>ln,dicts_add_or_change:()=>sn,dicts_clear:()=>pn,dicts_create_with:()=>ji,dicts_create_with_container:()=>$i,dicts_create_with_item:()=>Zi,dicts_create_with_noreturn:()=>Mn,dicts_deldict:()=>dn,dicts_delete:()=>on,dicts_get:()=>en,dicts_get_default:()=>nn,dicts_items:()=>an,dicts_keys:()=>tn,dicts_length:()=>rn,dicts_pop:()=>In,dicts_setdefault:()=>Tn,dicts_to_json:()=>mn,dicts_to_json2:()=>Rn,dicts_to_to:()=>On,dicts_todict:()=>hn,dicts_update:()=>_n,dicts_values:()=>un,json_to_dicts:()=>En});var p={};t.r(p),t.d(p,{logic_boolean:()=>Ln,logic_compare:()=>gn,logic_compare_continous:()=>Cn,logic_is:()=>Fn,logic_is_in:()=>fn,logic_negate:()=>An,logic_null:()=>Nn,logic_operation:()=>Sn,logic_tobool:()=>Pn,logic_true_or_false:()=>Dn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>ts,sdcard_use_spi_init:()=>Zn,storage_can_write_ornot:()=>Gn,storage_change_dir:()=>jn,storage_close_file:()=>wn,storage_delete_file:()=>kn,storage_file_seek:()=>Jn,storage_file_tell:()=>Kn,storage_file_write:()=>bn,storage_fileopen:()=>Yn,storage_fileopen_new:()=>Xn,storage_fileopen_new_encoding:()=>xn,storage_get_a_line:()=>Bn,storage_get_contents:()=>Vn,storage_get_contents_without_para:()=>yn,storage_get_current_dir:()=>Qn,storage_get_file_size:()=>Wn,storage_get_filename:()=>Un,storage_is_file:()=>$n,storage_list_all_files:()=>Hn,storage_make_dir:()=>qn,storage_open_file_with_os:()=>vn,storage_rename:()=>zn});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>os,procedures_callreturn:()=>_s,procedures_defnoreturn:()=>es,procedures_defreturn:()=>is,procedures_ifreturn:()=>ps,procedures_mutatorarg:()=>ss,procedures_mutatorcontainer:()=>ns,procedures_return:()=>as});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Rs,tuple_create_llm_params:()=>fs,tuple_create_with:()=>rs,tuple_create_with_container:()=>ds,tuple_create_with_item:()=>ls,tuple_create_with_noreturn:()=>Ss,tuple_create_with_text2:()=>Is,tuple_create_with_text_return:()=>Ts,tuple_del:()=>ms,tuple_find:()=>cs,tuple_getIndex:()=>Ms,tuple_getSublist:()=>Cs,tuple_get_random_item:()=>Ls,tuple_get_sublist:()=>As,tuple_input:()=>Ds,tuple_join:()=>Es,tuple_length:()=>hs,tuple_max:()=>Os,tuple_totuple:()=>Ns,tuple_trig:()=>gs});var d={};t.r(d),t.d(d,{set_add_discard:()=>Bs,set_clear:()=>bs,set_create_with:()=>Ps,set_create_with_container:()=>vs,set_create_with_item:()=>Ys,set_create_with_text_return:()=>ws,set_length:()=>Xs,set_operate:()=>ys,set_operate_update:()=>Vs,set_pop:()=>xs,set_sub:()=>Gs,set_toset:()=>Hs,set_update:()=>Us});var l={};t.r(l),t.d(l,{html_content:()=>Qs,html_content_more:()=>qs,html_document:()=>Ws,html_form:()=>js,html_head_body:()=>Js,html_style:()=>zs,html_style_color:()=>Zs,html_style_content:()=>$s,html_text:()=>to,html_title:()=>Ks});var I={};t.r(I),t.d(I,{attribute_access:()=>Mo,function_call:()=>lo,function_call_container:()=>Io,function_call_item:()=>To,raw_block:()=>no,raw_empty:()=>oo,raw_expression:()=>so,raw_table:()=>io,text_comment:()=>_o,text_print_multiple:()=>ao,text_print_multiple_container:()=>uo,text_print_multiple_item:()=>ro,type_check:()=>po});var T={};t.r(T),t.d(T,{controls_type:()=>Ro,controls_typeLists:()=>co,lists_zip:()=>go,unpack_iterable_object:()=>Co,variables_change:()=>Eo,variables_get:()=>ho,variables_global:()=>Oo,variables_set:()=>mo});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>Yo,base_setup:()=>Ao,controls_delay:()=>vo,controls_flow_statements:()=>Po,controls_for:()=>Do,controls_forEach:()=>Vo,controls_for_range:()=>fo,controls_if:()=>Lo,controls_interrupts:()=>bo,controls_lambda:()=>Go,controls_main:()=>So,controls_millis:()=>Xo,controls_nointerrupts:()=>yo,controls_pass:()=>wo,controls_range:()=>Bo,controls_repeat:()=>zo,controls_repeat_ext:()=>Wo,controls_thread:()=>Ho,controls_try_finally:()=>No,controls_whileUntil:()=>Fo,datetime_fromtimestamp:()=>jo,do_while:()=>ko,garbage_collection:()=>Ko,gene_unique_identifier:()=>$o,get_mem_alloc:()=>Jo,get_mem_free:()=>Qo,get_unique_identifier:()=>qo,reset:()=>xo,time_sleep:()=>Uo});var h={};t.r(h),t.d(h,{base_map:()=>O_,generate_cartesian_product:()=>c_,math_arithmetic:()=>n_,math_bit:()=>i_,math_constant:()=>t_,math_constant_mp:()=>e_,math_constrain:()=>l_,math_dec:()=>p_,math_degree_to_radian:()=>C_,math_indexer_number:()=>M_,math_map:()=>d_,math_max_min:()=>u_,math_number:()=>Zo,math_number_base_conversion:()=>I_,math_radian_to_degree:()=>g_,math_random:()=>r_,math_random_seed:()=>T_,math_round:()=>h_,math_selfcalcu:()=>s_,math_single:()=>o_,math_to_int:()=>a_,math_trig:()=>__,text_to_number:()=>m_,text_to_number_skulpt:()=>E_,turn_to_int:()=>R_});var m={};t.r(m),t.d(m,{ascii_to_char:()=>f_,char_to_ascii:()=>F_,number_to_text:()=>P_,os_system:()=>tp,text:()=>S_,text_bytes:()=>L_,text_capital:()=>G_,text_center:()=>U_,text_char:()=>N_,text_char_at:()=>X_,text_char_at2:()=>Y_,text_char_at3:()=>j_,text_compareTo:()=>z_,text_compare_to:()=>y_,text_encode:()=>$_,text_equals_starts_ends:()=>b_,text_eval:()=>Z_,text_find:()=>w_,text_format:()=>J_,text_format_noreturn:()=>Q_,text_join:()=>D_,text_join_seq:()=>H_,text_length:()=>v_,text_random_char:()=>x_,text_replace:()=>k_,text_split:()=>W_,text_strip:()=>K_,text_substring:()=>B_,text_substring2:()=>V_,text_substring3:()=>q_,text_textarea:()=>A_});var E={};t.r(E),t.d(E,{content_in_lists:()=>Xp,enumerate:()=>Yp,list_many_input:()=>Rp,list_tolist:()=>Pp,list_tolist2:()=>vp,list_trig:()=>mp,lists_2d_get_col_row_data:()=>np,lists_2d_get_data_with_col_row:()=>ip,lists_append_extend:()=>ap,lists_change_to:()=>Op,lists_change_to_general:()=>gp,lists_clear:()=>Ip,lists_create_with:()=>sp,lists_create_with2:()=>Sp,lists_create_with_noreturn:()=>cp,lists_create_with_text:()=>op,lists_create_with_text2:()=>Ap,lists_del_general:()=>Cp,lists_find:()=>Tp,lists_getIndex3:()=>Lp,lists_getSublist3:()=>Np,lists_get_index:()=>_p,lists_get_random_item:()=>up,lists_get_random_sublist:()=>rp,lists_get_sublist:()=>ep,lists_insert_value:()=>dp,lists_insert_value2:()=>fp,lists_pop:()=>hp,lists_remove_at:()=>Mp,lists_remove_at2:()=>Fp,lists_reverse:()=>lp,lists_setIndex3:()=>Dp,lists_set_index:()=>pp,lists_sort:()=>Ep});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>Jp,dicts_add_or_change:()=>Bp,dicts_clear:()=>wp,dicts_create_with:()=>xp,dicts_create_with_noreturn:()=>zp,dicts_deldict:()=>Kp,dicts_delete:()=>Gp,dicts_get:()=>yp,dicts_get_default:()=>Vp,dicts_items:()=>Hp,dicts_keys:()=>bp,dicts_length:()=>Wp,dicts_pop:()=>Qp,dicts_setdefault:()=>qp,dicts_to_json:()=>$p,dicts_to_json2:()=>ea,dicts_to_to:()=>ta,dicts_todict:()=>jp,dicts_update:()=>Up,dicts_values:()=>kp,json_to_dicts:()=>Zp});var R={};t.r(R),t.d(R,{logic_boolean:()=>_a,logic_compare:()=>ia,logic_compare_continous:()=>na,logic_is:()=>ra,logic_is_in:()=>ua,logic_negate:()=>oa,logic_null:()=>pa,logic_operation:()=>sa,logic_tobool:()=>da,logic_true_or_false:()=>aa});var c={};t.r(c),t.d(c,{sdcard_mount:()=>Xa,sdcard_use_spi_init:()=>Ya,storage_can_write_ornot:()=>Ra,storage_change_dir:()=>Da,storage_close_file:()=>ga,storage_delete_file:()=>Sa,storage_file_seek:()=>Na,storage_file_tell:()=>La,storage_file_write:()=>ha,storage_fileopen:()=>Ia,storage_fileopen_new:()=>Ta,storage_fileopen_new_encoding:()=>Ma,storage_get_a_line:()=>Oa,storage_get_contents:()=>Ea,storage_get_contents_without_para:()=>ma,storage_get_current_dir:()=>fa,storage_get_file_size:()=>Aa,storage_get_filename:()=>ca,storage_is_file:()=>va,storage_list_all_files:()=>Ca,storage_make_dir:()=>Fa,storage_open_file_with_os:()=>la,storage_rename:()=>Pa});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Va,procedures_callreturn:()=>ya,procedures_defnoreturn:()=>ba,procedures_defreturn:()=>xa,procedures_ifreturn:()=>Ba,procedures_return:()=>Ga});var C={};t.r(C),t.d(C,{tuple_change_to:()=>qa,tuple_create_llm_params:()=>su,tuple_create_with:()=>Ua,tuple_create_with_noreturn:()=>Za,tuple_create_with_text2:()=>wa,tuple_create_with_text_return:()=>Ha,tuple_del:()=>Ka,tuple_find:()=>za,tuple_getIndex:()=>ka,tuple_getSublist:()=>$a,tuple_get_random_item:()=>eu,tuple_get_sublist:()=>tu,tuple_input:()=>nu,tuple_join:()=>Ja,tuple_length:()=>Wa,tuple_max:()=>Qa,tuple_totuple:()=>iu,tuple_trig:()=>ja});var S={};t.r(S),t.d(S,{set_add_discard:()=>du,set_clear:()=>au,set_create_with:()=>ou,set_create_with_text_return:()=>Tu,set_length:()=>_u,set_operate:()=>uu,set_operate_update:()=>ru,set_pop:()=>pu,set_sub:()=>lu,set_toset:()=>Mu,set_update:()=>Iu});var A={};t.r(A),t.d(A,{html_content:()=>Ou,html_content_more:()=>Ru,html_document:()=>hu,html_form:()=>gu,html_head_body:()=>Eu,html_style:()=>cu,html_style_content:()=>Cu,html_text:()=>Su,html_title:()=>mu});var L={};t.r(L),t.d(L,{attribute_access:()=>Pu,function_call:()=>Fu,raw_block:()=>Au,raw_empty:()=>Nu,raw_expression:()=>Lu,raw_table:()=>Du,type_check:()=>fu});var N={};t.r(N),t.d(N,{PIN_init:()=>Vr,actuator_extern_get_led_bright:()=>Ju,actuator_extern_get_led_state:()=>Qu,actuator_extern_led_bright:()=>Ku,actuator_extern_led_brightness:()=>qu,actuator_ms32006_dcmotor:()=>sr,actuator_ms32006_init:()=>nr,actuator_ms32006_stepper:()=>or,actuator_neopixel_init:()=>_r,actuator_neopixel_rgb:()=>pr,actuator_neopixel_rgb_all:()=>ar,actuator_neopixel_rgb_show_all_chase:()=>dr,actuator_neopixel_rgb_show_all_rainbow:()=>rr,actuator_neopixel_write:()=>ur,actuator_use_uart_init:()=>lr,backstage_esp32_music_play_list:()=>Gu,esp32_music_get_tempo_extern:()=>wu,esp32_music_pitch:()=>yu,esp32_music_pitch_init:()=>bu,esp32_music_pitch_with_time:()=>Vu,esp32_music_play_list:()=>Bu,esp32_music_reset_extern:()=>Hu,esp32_music_set_tempo_extern:()=>Uu,esp32_music_stop:()=>ku,esp32_set_music_volume:()=>Wu,mixbot_actuator_extern_get_addr:()=>br,mixbot_actuator_extern_set_addr:()=>yr,mixbot_addr_extern:()=>Cr,parrot_PIN_init:()=>wr,parrot_move_speed:()=>Hr,pin_led_bright:()=>Br,player_insert_music:()=>Er,player_play_music:()=>mr,player_set_mode:()=>hr,player_set_play:()=>Tr,player_set_volume:()=>Mr,player_whether_stop:()=>Ir,robot_led_extern:()=>Nr,robot_led_extern_get_value:()=>Dr,robot_motor_extern:()=>Sr,robot_motor_extern_get_speed:()=>Ar,robot_servo_extern_absolute_run:()=>vr,robot_servo_extern_get_status:()=>fr,robot_servo_extern_relative_continue:()=>xr,robot_servo_extern_relative_origin:()=>Yr,robot_servo_extern_relative_run:()=>Xr,robot_servo_extern_stop:()=>Pr,robot_servo_extern_stop_mode:()=>Fr,robot_traffic_light_extern:()=>Lr,servo_PIN_init:()=>Gr,servo_get_angle:()=>er,servo_get_speed:()=>ir,servo_init:()=>zu,servo_move:()=>ju,servo_move_angle:()=>Ur,servo_set_angle:()=>Zu,servo_set_speed:()=>tr,servo_speed_360:()=>$u,syn6288_builtin_voice:()=>cr,syn6288_get_voice:()=>Rr,syn6288_set_voice:()=>Or,syn6288_tts_play:()=>gr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>gd,actuator_dc_motor_stop:()=>Cd,actuator_get_led_bright:()=>Qr,actuator_get_led_state:()=>qr,actuator_led_bright:()=>Jr,actuator_led_brightness:()=>zr,actuator_mixbot_buzzer_on_off:()=>Dd,actuator_mixgo_nova_mic_get:()=>Yd,actuator_mixgo_nova_mic_set:()=>vd,actuator_mixgo_nova_onboard_music_pitch:()=>Bd,actuator_mixgo_nova_onboard_music_stop:()=>Gd,actuator_mixgo_nova_play_audio:()=>yd,actuator_mixgo_nova_play_online_audio:()=>Vd,actuator_mixgo_nova_record_audio:()=>bd,actuator_mixgo_nova_voice_get:()=>xd,actuator_mixgo_nova_voice_set:()=>Xd,actuator_mixgo_zero_led_color:()=>jr,actuator_onboard_neopixel_rgb:()=>nd,actuator_onboard_neopixel_rgb_all:()=>sd,actuator_onboard_neopixel_rgb_show_all_chase:()=>_d,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>od,actuator_onboard_neopixel_write:()=>pd,actuator_rm_onboard_neopixel_rgb:()=>ad,actuator_rm_onboard_neopixel_rgb_all:()=>ud,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>rd,actuator_stepper_keep:()=>Rd,actuator_stepper_stop:()=>cd,analog_ble_keyboard_init:()=>tl,analog_ble_keyboard_input:()=>nl,analog_ble_keyboard_mouse_init:()=>dl,analog_ble_keyboard_mouse_input:()=>Ml,analog_ble_keyboard_mouse_send_battery:()=>Tl,analog_ble_keyboard_mouse_str:()=>hl,analog_ble_keyboard_send_battery:()=>ol,analog_ble_keyboard_str:()=>sl,analog_ble_mouse_init:()=>_l,analog_ble_mouse_input:()=>ul,analog_ble_mouse_keyboard_input:()=>ml,analog_ble_mouse_send_battery:()=>rl,analog_keyboard_input:()=>Wd,analog_keyboard_str:()=>Zd,analog_mouse_input:()=>jd,backstage_onboard_music_play_list:()=>Ed,bitbot_motor:()=>Pd,bitbot_move:()=>fd,bitbot_stop:()=>Fd,ble_keyboard_connect:()=>il,ble_keyboard_get_mac:()=>el,ble_keyboard_mouse_connect:()=>Il,ble_keyboard_mouse_get_mac:()=>ll,ble_mouse_connect:()=>al,ble_mouse_get_mac:()=>pl,cc_number:()=>id,educore_ble_keyboard_input:()=>Nl,educore_ble_sensor_connected:()=>Ll,educore_ble_sensor_init:()=>Al,educore_buzzer:()=>El,educore_buzzer_play_tone:()=>Ol,educore_buzzer_play_tone_time:()=>Rl,educore_buzzer_stop:()=>cl,educore_neopixel_clear:()=>Sl,educore_neopixel_rgb:()=>Cl,educore_rgb_light:()=>gl,esp32_music_get_tempo:()=>ld,esp32_music_reset:()=>Id,esp32_music_set_tempo:()=>dd,esp32_onboard_music_pitch:()=>Td,esp32_onboard_music_pitch_with_time:()=>Md,esp32_onboard_music_play_list:()=>md,esp32_onboard_music_stop:()=>hd,general_key:()=>Jd,general_key_tuple:()=>Qd,generalkey_container:()=>qd,generalkey_create_with_item:()=>zd,get_keyboard_light:()=>Dl,get_power_output:()=>wd,ledswitch:()=>Kr,mixbot_motor:()=>Nd,mixbot_motor_status:()=>Sd,mixbot_move:()=>Ad,mixbot_stop:()=>Ld,mouse_key:()=>$d,number:()=>Wr,record_audio:()=>Fl,rm_actuator_get_led_bright:()=>Zr,rm_actuator_get_led_state:()=>td,rm_actuator_led_bright:()=>$r,rm_actuator_led_brightness:()=>ed,rm_motor:()=>Od,set_all_power_output:()=>Hd,set_microphone_amplification:()=>fl,set_music_volume:()=>Pl,set_part_power_output:()=>kd,set_power_output:()=>Ud,special_key:()=>Kd});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>dI,ai_sensor_ailocal_class:()=>tI,ai_sensor_ailocal_class_result:()=>eI,ai_sensor_ailocal_train:()=>Zl,ai_sensor_asr_recognize:()=>_I,ai_sensor_audio_play:()=>nI,ai_sensor_audio_record:()=>iI,ai_sensor_barcode:()=>Bl,ai_sensor_circle:()=>Wl,ai_sensor_classifier_faces:()=>rI,ai_sensor_color:()=>ql,ai_sensor_color_chases:()=>$l,ai_sensor_color_chases_result:()=>jl,ai_sensor_config:()=>yl,ai_sensor_face:()=>uI,ai_sensor_find_20objects:()=>lI,ai_sensor_find_barcodes:()=>Gl,ai_sensor_find_circles:()=>Kl,ai_sensor_find_colors:()=>zl,ai_sensor_find_licenseplates:()=>aI,ai_sensor_find_lines:()=>kl,ai_sensor_find_qrcodes:()=>bl,ai_sensor_find_rects:()=>Ql,ai_sensor_find_tags:()=>wl,ai_sensor_licenseplate:()=>pI,ai_sensor_line:()=>Hl,ai_sensor_qrcode:()=>Xl,ai_sensor_qrcode_lite:()=>xl,ai_sensor_rect:()=>Jl,ai_sensor_rgb:()=>Vl,ai_sensor_tag:()=>Ul,ai_sensor_use_uart_init:()=>Yl,ai_sensor_yolo_recognize:()=>sI,ai_sensor_yolo_recognize_result:()=>oI});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>MI,MICROPYTHON_AI_Speech_unit:()=>TI,MICROPYTHON_AI_client:()=>II});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>FI,mpython_blynk_app_notify:()=>CI,mpython_blynk_email:()=>LI,mpython_blynk_get_timers:()=>NI,mpython_blynk_on_connected:()=>RI,mpython_blynk_on_disconnected:()=>OI,mpython_blynk_run:()=>gI,mpython_blynk_sensor_data_to_app:()=>fI,mpython_blynk_set_property:()=>AI,mpython_blynk_setup:()=>PI,mpython_blynk_stop_timers:()=>SI,mpython_blynk_sync_virtual:()=>EI,mpython_blynk_terminal_widget_vpin:()=>mI,mpython_blynktimer:()=>DI,mpython_blynktimer_run:()=>cI});var v={};t.r(v),t.d(v,{communicate_bluetooth_central_init:()=>IT,communicate_bluetooth_connect:()=>mT,communicate_bluetooth_disconnect:()=>ET,communicate_bluetooth_handle:()=>CT,communicate_bluetooth_is_connected:()=>RT,communicate_bluetooth_mac:()=>hT,communicate_bluetooth_peripheral_init:()=>TT,communicate_bluetooth_recv:()=>cT,communicate_bluetooth_recv_only:()=>gT,communicate_bluetooth_scan:()=>MT,communicate_bluetooth_send:()=>OT,communicate_espnow_init:()=>ST,communicate_espnow_init_new:()=>AT,communicate_i2c_available:()=>qI,communicate_i2c_init:()=>xI,communicate_i2c_master_read:()=>QI,communicate_i2c_onboard:()=>YI,communicate_i2c_read:()=>bI,communicate_i2c_scan:()=>VI,communicate_i2c_write:()=>yI,communicate_ir_recv_init:()=>nT,communicate_ir_send_init:()=>aT,communicate_ow_init:()=>jI,communicate_ow_read:()=>ZI,communicate_ow_reset:()=>iT,communicate_ow_scan:()=>$I,communicate_ow_select:()=>eT,communicate_ow_write:()=>tT,communicate_spi_buffer:()=>UI,communicate_spi_init:()=>BI,communicate_spi_onboard:()=>XI,communicate_spi_read:()=>wI,communicate_spi_read_output:()=>HI,communicate_spi_readinto:()=>kI,communicate_spi_readinto_output:()=>WI,communicate_spi_set:()=>GI,communicate_spi_write:()=>KI,communicate_spi_write_readinto:()=>JI,espnow_radio_channel:()=>PT,espnow_radio_channel_new:()=>YT,espnow_radio_on_off:()=>XT,espnow_radio_rec:()=>bT,espnow_radio_recv:()=>VT,espnow_radio_recv_certain_msg:()=>BT,espnow_radio_recv_certain_msg_new:()=>UT,espnow_radio_recv_msg:()=>yT,espnow_radio_recv_new:()=>GT,espnow_radio_send:()=>xT,espnow_radio_txpower:()=>vT,i2c_available:()=>uM,i2c_init:()=>qT,i2c_master_reader2:()=>aM,i2c_read:()=>zT,i2c_scan:()=>$T,i2c_slave_onreceive:()=>zI,i2c_write:()=>jT,internal_variable:()=>sT,ir_recv_timeout:()=>pT,ir_transmit_busy:()=>lT,ir_transmit_conventional_data:()=>uT,ir_transmit_raw_code:()=>dT,ir_transmit_study_code:()=>rT,ir_whether_recv:()=>_T,lora_init:()=>wT,lora_packet:()=>HT,lora_recv:()=>WT,lora_send:()=>kT,network_espnow_info:()=>NT,network_espnow_mac:()=>LT,network_espnow_recv:()=>DT,network_espnow_recv_handle:()=>FT,network_espnow_send:()=>fT,recv_fun:()=>oT,spi_buffer:()=>eM,spi_init:()=>ZT,spi_read:()=>iM,spi_read_output:()=>nM,spi_readinto:()=>sM,spi_readinto_output:()=>oM,spi_set:()=>tM,spi_write:()=>_M,spi_write_readinto:()=>pM,urequests_attribute:()=>JT,urequests_get:()=>KT,urequests_method:()=>QT});var Y={};t.r(Y),t.d(Y,{display_animate:()=>UM,display_blink_rate:()=>yM,display_circle:()=>wM,display_color_seclet:()=>th,display_draw_4strings:()=>PM,display_fill:()=>GM,display_get_screen_image:()=>bM,display_help:()=>kM,display_image_size:()=>vM,display_lcd_use_i2c_init:()=>_h,display_line:()=>XM,display_line_arbitrarily:()=>xM,display_matrix_extern_bright_point:()=>CM,display_matrix_extern_bright_screen:()=>AM,display_matrix_extern_clear:()=>LM,display_matrix_extern_get_pixel:()=>gM,display_matrix_extern_get_screen_pixel:()=>SM,display_matrix_extern_image_builtins:()=>NM,display_matrix_extern_scroll_string:()=>mM,display_matrix_extern_scroll_string_delay:()=>EM,display_matrix_extern_shift:()=>cM,display_matrix_extern_show_frame_string:()=>OM,display_matrix_extern_show_frame_string_delay:()=>RM,display_matrix_extern_show_image:()=>MM,display_matrix_extern_show_image_or_string_delay:()=>hM,display_matrix_use_i2c_init:()=>TM,display_oled_drawPixel:()=>KM,display_oled_showBitmap:()=>WM,display_oled_use_i2c_init:()=>dh,display_onoff:()=>BM,display_rect:()=>YM,display_rgb_color:()=>VM,display_tm1650_power:()=>QM,display_tm1650_set_brightness:()=>jM,display_tm1650_show_dot:()=>zM,display_tm1650_show_num:()=>qM,display_tm_use_i2c_init:()=>JM,display_triangle:()=>HM,display_use_i2c_init:()=>FM,extern_oled_bright_point:()=>gh,extern_oled_clear:()=>Ch,extern_oled_get_pixel:()=>ch,extern_oled_hvline:()=>Ah,extern_oled_line:()=>Lh,extern_oled_scroll_string:()=>hh,extern_oled_scroll_string_delay:()=>mh,extern_oled_shape_rect:()=>Sh,extern_oled_shift:()=>Rh,extern_oled_show_frame_string:()=>Eh,extern_oled_show_frame_string_delay:()=>Oh,extern_oled_show_image:()=>lh,extern_oled_show_image_or_string_delay:()=>Mh,extern_oled_show_image_xy:()=>Ih,extern_oled_show_string:()=>Th,lcd_backlight:()=>uh,lcd_clear:()=>rh,lcd_print_string:()=>ah,lcd_show_image_or_string_delay:()=>ph,matrix_extern_image_arithmetic:()=>DM,matrix_extern_image_invert:()=>fM,tft_fill:()=>sh,tft_line_arbitrarily:()=>oh,tft_scroll_string_delay:()=>ih,tft_show_frame_string_delay:()=>nh,tft_show_image_or_string_delay:()=>eh,tft_show_image_xy:()=>ZM,tft_use_spi_init:()=>$M});var X={};t.r(X),t.d(X,{bitbot_display_bitmap_create:()=>Rm,bitbot_display_image_create:()=>Om,display_available:()=>Qh,display_bitmap_create:()=>yh,display_bright_point:()=>kh,display_bright_screen:()=>Kh,display_clear:()=>Jh,display_get_pixel:()=>Hh,display_get_screen_pixel:()=>Wh,display_image_builtins:()=>Vh,display_image_builtins_all:()=>Bh,display_image_create:()=>bh,display_scroll_string:()=>Fh,display_scroll_string_delay:()=>Ph,display_scroll_way:()=>vh,display_shift:()=>wh,display_show_frame_string:()=>Xh,display_show_frame_string_delay:()=>xh,display_show_image:()=>Dh,display_show_image_or_string_delay:()=>fh,draw_pointer:()=>ym,image_arithmetic:()=>Gh,image_invert:()=>Uh,mixbot_display_bitmap_create:()=>Tm,mixbot_display_bright_screen:()=>mm,mixbot_display_get_ambientbright:()=>hm,mixbot_display_get_screen_pixel:()=>Mm,mixbot_display_image_create:()=>Im,mixbot_display_rotate:()=>Em,mixgo_display_bitmap_create:()=>tm,mixgo_display_image_create_new:()=>Zh,mixgome_display_bitmap_create:()=>zh,mixgome_display_font:()=>em,mixgome_display_image_create:()=>qh,mixgomini_display_bitmap_create:()=>$h,mixgomini_display_image_create:()=>jh,mpython_display_hvline:()=>rm,mpython_display_line:()=>dm,mpython_display_shape_rect:()=>um,mpython_pbm_image:()=>lm,nova_draw_pointer:()=>Vm,onboard_oled_bright_point:()=>am,onboard_oled_scroll_string_delay:()=>_m,onboard_oled_show_frame_string_delay:()=>pm,onboard_oled_show_image:()=>im,onboard_oled_show_image_or_string_delay:()=>om,onboard_oled_show_image_xy:()=>nm,onboard_oled_show_string:()=>sm,onboard_tft_bright_point:()=>fm,onboard_tft_bright_screen:()=>Jm,onboard_tft_clear:()=>Qm,onboard_tft_clock_clear:()=>xm,onboard_tft_clock_draw:()=>Xm,onboard_tft_clock_get_rtctime:()=>vm,onboard_tft_clock_init:()=>Pm,onboard_tft_clock_set_time:()=>Ym,onboard_tft_display_hvline:()=>Lm,onboard_tft_display_line:()=>Nm,onboard_tft_display_shape_circle:()=>bm,onboard_tft_display_shape_rect:()=>Am,onboard_tft_fill:()=>Fm,onboard_tft_get_pixel:()=>Dm,onboard_tft_get_screen_pixel:()=>Km,onboard_tft_scroll_string:()=>Hm,onboard_tft_scroll_string_delay:()=>Yh,onboard_tft_shift:()=>Wm,onboard_tft_show_frame_string:()=>km,onboard_tft_show_frame_string_delay:()=>Sm,onboard_tft_show_image:()=>wm,onboard_tft_show_image_or_string_delay:()=>Cm,onboard_tft_show_image_xy:()=>cm,onboard_tft_show_image_xy_direct:()=>gm,onboard_tft_show_qrcode:()=>Gm,onboard_tft_show_qrcode_details:()=>Um,onboard_tft_show_texts:()=>Bm});var x={};t.r(x),t.d(x,{factory_block:()=>lE,factory_block_return:()=>IE,factory_block_return_with_textarea:()=>ME,factory_block_with_textarea:()=>TE,factory_callMethod_noreturn:()=>rE,factory_callMethod_return:()=>dE,factory_create_with_container:()=>_E,factory_create_with_item:()=>pE,factory_declare:()=>uE,factory_from_import:()=>nE,factory_function_noreturn:()=>oE,factory_function_return:()=>aE,factory_import:()=>sE,folding_block:()=>hE});var b={};t.r(b),t.d(b,{controls_pin_attachInterrupt:()=>VE,inout_analog_atten:()=>LE,inout_analog_read:()=>AE,inout_analog_read_init:()=>vE,inout_analog_write:()=>gE,inout_analog_write_init:()=>PE,inout_analog_write_set:()=>CE,inout_analog_write_set_freq:()=>xE,inout_digital_init:()=>fE,inout_digital_read:()=>RE,inout_digital_write:()=>OE,inout_highlow:()=>EE,inout_pinMode:()=>XE,inout_pin_attachInterrupt:()=>DE,inout_pin_pressed:()=>NE,inout_pin_pressed_init:()=>YE,inout_pwm_analog_write:()=>cE,inout_pwm_analog_write_init:()=>FE,inout_pwm_analog_write_set_freq:()=>SE,pin_pressed:()=>yE,pin_pressed_init:()=>bE});var y={};t.r(y),t.d(y,{IOT_CONNECT_OLLAMA:()=>gO,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>uO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>aO,IOT_EMQX_PING:()=>_O,IOT_FORMATTING:()=>sO,IOT_FORMAT_STRING:()=>oO,IOT_MIXIO_NTP:()=>pO,IOT_MIXIO_PUBLISH:()=>zE,IOT_MIXIO_PUBLISHEX:()=>jE,IOT_MIXIO_SUBSCRIBE:()=>$E,iot_checkonenet:()=>OO,iot_client_onboard:()=>dO,iot_connect_ollama:()=>cO,iot_connect_openai:()=>CO,iot_create_with_item:()=>QE,iot_http_client:()=>lO,iot_http_data:()=>IO,iot_mixio_check:()=>eO,iot_mixio_connect:()=>qE,iot_mixio_connect_only:()=>tO,iot_mixio_disconnect:()=>ZE,iot_mixio_format_msg:()=>nO,iot_mixio_format_topic:()=>iO,iot_mixly_key:()=>rO,iot_mqtt_client:()=>TO,iot_mqtt_data:()=>MO,iot_onenet_check:()=>HE,iot_onenet_connect:()=>UE,iot_onenet_disconnect:()=>wE,iot_onenet_publish:()=>WE,iot_onenet_publish_dict:()=>kE,iot_onenetconnect:()=>mO,iot_onenetdisconnect:()=>EO,iot_publish:()=>RO,iot_publish_container:()=>KE,iot_publish_item:()=>JE,iot_tiny_web_db_count:()=>PO,iot_tiny_web_db_delete:()=>YO,iot_tiny_web_db_get:()=>FO,iot_tiny_web_db_init:()=>NO,iot_tiny_web_db_init_with_mqtt:()=>DO,iot_tiny_web_db_search:()=>vO,iot_tiny_web_db_update:()=>fO,iot_wifi_connect:()=>GE,iot_wificonnect:()=>hO,ollama_empty_history:()=>LO,use_ollama_llm_to_chat:()=>SO,use_ollama_llm_to_chat_return:()=>AO});var V={};t.r(V),t.d(V,{educore_mqtt_connect:()=>IR,educore_mqtt_connect_success:()=>mR,educore_mqtt_subscribe_message:()=>TR,educore_mqtt_topic_publish:()=>hR,educore_mqtt_topic_subscribe:()=>MR,educore_wifi_connect:()=>lR,network_ap_connect:()=>kO,network_connect:()=>BO,network_get_connect:()=>UO,network_get_wifi:()=>HO,network_init:()=>xO,network_is_active:()=>yO,network_open:()=>bO,network_scan:()=>VO,network_server:()=>WO,network_socket_accept:()=>zO,network_socket_bind:()=>JO,network_socket_close:()=>iR,network_socket_connect:()=>QO,network_socket_init:()=>KO,network_socket_listen:()=>qO,network_socket_readline:()=>jO,network_socket_receive:()=>$O,network_socket_receive_from:()=>tR,network_socket_send:()=>ZO,network_socket_send_to:()=>eR,network_stop:()=>wO,network_wifi_connect:()=>GO,ntptime_address:()=>pR,ntptime_time:()=>_R,requests_attribute:()=>sR,requests_attribute2:()=>dR,requests_get:()=>nR,requests_get2:()=>uR,requests_method:()=>oR,requests_post:()=>rR});var B={};t.r(B),t.d(B,{pe_g1_battery_left:()=>RR,pe_g1_dc_motor:()=>cR,pe_g1_dc_motor_speed:()=>gR,pe_g1_servo_get_angle:()=>AR,pe_g1_servo_get_speed:()=>LR,pe_g1_servo_set_angle:()=>CR,pe_g1_servo_set_speed:()=>SR,pe_g1_use_i2c_init:()=>OR});var G={};t.r(G),t.d(G,{CI130X_BROADCAST:()=>jR,CI130X_GET_THE_RECOGNIZED_CMD:()=>zR,CI130X_GET_WHETHER_IDENTIFY:()=>qR,CI130X_IDENTIFY_AND_SAVE:()=>QR,CI130X_SET_SYSTEM_CMD:()=>$R,HCSR04:()=>Gc,PS2_Button:()=>kc,PS2_Buttons:()=>Kc,PS2_Buttons_new:()=>zc,PS2_State:()=>Wc,PS2_init:()=>Uc,PS2_init_new:()=>Qc,PS2_stk:()=>Jc,PS2_stk_new:()=>jc,PS2_vibration:()=>Hc,PS2_vibration_new:()=>qc,camera_sensor_init:()=>Ng,camera_sensor_result:()=>Dg,column_tube_foot:()=>Yg,define_keyboards:()=>Xg,educore_body_sensor:()=>mg,educore_button_sensor_extern:()=>cg,educore_camera_sensor:()=>Lg,educore_infrared_sensor:()=>Rg,educore_soilhum_sensor:()=>Eg,educore_temp_sensor:()=>Ag,educore_temphum_sensor:()=>Og,educore_ultrasonic_sensor:()=>Cg,esp32_s2_weather_init:()=>bc,esp32_s2_weather_rain:()=>Vc,esp32_s2_weather_wd:()=>yc,esp32_s2_weather_ws:()=>Bc,extern_rfid_read:()=>gc,extern_rfid_readcontent:()=>Sc,extern_rfid_readid:()=>Cc,extern_rfid_status:()=>Nc,extern_rfid_write:()=>Ac,extern_rfid_write_return:()=>Lc,get_keboards_value:()=>xg,gnss_get_data:()=>eg,gnss_have_data:()=>tg,init_init_rotary_encoder:()=>bg,init_matrix_keyboard:()=>Pg,interaction_whether_to_interaction:()=>KR,interaction_whether_to_interaction_SANT:()=>JR,line_tube_foot:()=>vg,mixbot_sensor_extern_get_addr:()=>ug,mixbot_sensor_extern_set_addr:()=>rg,pm25_get_data:()=>Zc,radar_set_DETECTION_THRESHOLD:()=>kR,radar_set_DETECTION_THRESHOLD_SANT:()=>WR,robot_button_extern_get_value:()=>ng,robot_color_extern_get_value:()=>ag,robot_infrared_extern_get_value:()=>og,robot_infrared_extern_grey_get_value:()=>_g,robot_potentiometer_extern_get_value:()=>pg,robot_sonar_extern_get_value:()=>dg,robot_sonar_extern_led:()=>lg,robot_touch_extern_get_value:()=>sg,rotary_key:()=>yg,sensor_APDS9960_extern:()=>tc,sensor_DS18X20:()=>UR,sensor_LTR308_extern:()=>ec,sensor_LTR390UV_extern:()=>sc,sensor_MAX30102_extern:()=>ZR,sensor_QMC5883L_extern:()=>lc,sensor_VL530LX_extern:()=>oc,sensor_adxl345_get_acceleration:()=>YR,sensor_aht11_extern:()=>pc,sensor_bmp:()=>BR,sensor_compass_reset:()=>Rc,sensor_dht11:()=>xR,sensor_hp203_extern:()=>ac,sensor_light_level:()=>XR,sensor_lm35:()=>wR,sensor_ltr381_extern:()=>ic,sensor_mixgo_extern_button_attachInterrupt:()=>PR,sensor_mixgo_extern_button_get_presses:()=>FR,sensor_mixgo_extern_button_is_pressed:()=>DR,sensor_mixgo_extern_button_was_pressed:()=>fR,sensor_mixgo_extern_light:()=>bR,sensor_mixgo_extern_pin_near:()=>VR,sensor_mixgo_extern_sound:()=>yR,sensor_mixgoce_hot_wheel_degrees:()=>xc,sensor_mixgoce_hot_wheel_is_touched:()=>Xc,sensor_mpu9250_attachGestureInterrupt:()=>vR,sensor_mpu9250_calibrate_compass:()=>mc,sensor_mpu9250_field_strength:()=>Oc,sensor_mpu9250_gesture:()=>Ic,sensor_mpu9250_get_acceleration:()=>Tc,sensor_mpu9250_get_gyro:()=>hc,sensor_mpu9250_get_magnetic:()=>Mc,sensor_mpu9250_temperature:()=>Ec,sensor_ms5611_extern:()=>rc,sensor_ms5611_extern_altitude:()=>dc,sensor_read_humiture:()=>gg,sensor_sht:()=>GR,sensor_shtc3_extern:()=>_c,sensor_spl06_001_extern:()=>uc,sensor_ucs12071_extern:()=>nc,sensor_use_i2c_init:()=>HR,sensor_use_spi_init:()=>cc,sensor_use_uart_init:()=>$c,sensor_weather_solo_init:()=>Ig,sensor_weather_solo_rain:()=>hg,sensor_weather_solo_wd:()=>Tg,sensor_weather_solo_ws:()=>Mg,sensor_weigh_init:()=>fg,tvoc_get_data:()=>ig,ultrasonic_sensor_read_distance:()=>Sg,weather_data:()=>Dc,weather_have_data:()=>fc,weather_set_label:()=>Pc,weather_set_label_container:()=>vc,weather_set_label_item:()=>Yc,weather_uart_mixio:()=>Fc,weigh_sensor_get_weight:()=>Fg});var U={};t.r(U),t.d(U,{HCSR04:()=>tC,RTC_set_date:()=>Zg,RTC_set_time:()=>$g,bitbot_als_num:()=>uS,dht11:()=>hS,educore_button_sensor:()=>AS,educore_button_was_pressed:()=>LS,educore_gyroscope_sensor:()=>gS,educore_gyroscope_sensor_read:()=>CS,educore_gyroscope_sensor_shake:()=>SS,educore_light_sensor:()=>cS,educore_rfid_sensor:()=>NS,educore_rfid_sensor_scan:()=>DS,educore_rfid_sensor_scan_data:()=>fS,educore_voice_sensor:()=>OS,number1:()=>iC,number2:()=>nC,number3:()=>sC,number4:()=>oC,number5:()=>_C,number6:()=>pC,number7:()=>aC,onboard_RTC_get_time:()=>hC,onboard_RTC_get_time_str:()=>gC,onboard_RTC_get_timestamp:()=>mC,onboard_RTC_get_timetuple_to_str:()=>CC,onboard_RTC_set_datetime:()=>RC,onboard_RTC_settime_string:()=>OC,onboard_RTC_timestamp_totuple:()=>EC,rfid_readcontent:()=>FC,rfid_readid:()=>fC,rfid_status:()=>YC,rfid_write:()=>PC,rfid_write_return:()=>vC,sensor_LTR308:()=>SC,sensor_aht11:()=>LC,sensor_bitbot_ALS:()=>aS,sensor_button_get_presses:()=>lS,sensor_button_is_pressed:()=>rS,sensor_button_was_pressed:()=>dS,sensor_distance_hrsc04:()=>jg,sensor_eulerangles:()=>xC,sensor_field_strength:()=>mS,sensor_get_acceleration:()=>XC,sensor_get_temperature:()=>NC,sensor_get_the_coprocessor_version:()=>FS,sensor_hp203:()=>DC,sensor_light:()=>MS,sensor_mixbot_get_gyro:()=>pS,sensor_mixbot_patrol_calibrate:()=>sS,sensor_mixbot_patrol_value:()=>oS,sensor_mixbot_temperature:()=>_S,sensor_mixgo_LTR308:()=>TC,sensor_mixgo_button_attachInterrupt:()=>wg,sensor_mixgo_button_get_presses:()=>Ug,sensor_mixgo_button_is_pressed:()=>Bg,sensor_mixgo_button_was_pressed:()=>Gg,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>KC,sensor_mixgo_cc_mmc5603_get_angle:()=>WC,sensor_mixgo_cc_mmc5603_get_magnetic:()=>kC,sensor_mixgo_light:()=>eC,sensor_mixgo_nova_LTR308:()=>IC,sensor_mixgo_nova_pin_near:()=>lC,sensor_mixgo_pin_near:()=>dC,sensor_mixgo_pin_near_double:()=>rC,sensor_mixgo_pin_near_single:()=>uC,sensor_mixgo_pin_pressed:()=>Jg,sensor_mixgo_sant_color:()=>MC,sensor_mixgo_touch_slide:()=>zg,sensor_mixgocar42_button_attachInterrupt:()=>Kg,sensor_mixgocar42_button_get_presses:()=>Wg,sensor_mixgocar42_button_is_pressed:()=>Hg,sensor_mixgocar42_button_was_pressed:()=>kg,sensor_mixgocar_battery_left:()=>nS,sensor_mixgocar_pin_near:()=>eS,sensor_mixgocar_pin_near_line:()=>tS,sensor_mixgocar_pin_near_state_change:()=>iS,sensor_mixgoce_pin_pressed:()=>Qg,sensor_mixgoce_temperature:()=>QC,sensor_mixgome_temperature:()=>JC,sensor_mpython_pin_pressed:()=>qg,sensor_mpython_qmi8658_get_gyro:()=>qC,sensor_mpython_qmi8658_temperature:()=>zC,sensor_onboard_compass_reset:()=>HC,sensor_onboard_mpu9250_calibrate_compass:()=>GC,sensor_onboard_mpu9250_field_strength:()=>wC,sensor_onboard_mpu9250_gesture:()=>bC,sensor_onboard_mpu9250_get_acceleration:()=>yC,sensor_onboard_mpu9250_get_gyro:()=>BC,sensor_onboard_mpu9250_get_magnetic:()=>VC,sensor_onboard_mpu9250_temperature:()=>UC,sensor_pin_near:()=>TS,sensor_pin_pressed:()=>IS,sensor_read:()=>RS,sensor_rm_acc:()=>ZC,sensor_rm_battery_left:()=>$C,sensor_rm_pin_near_double:()=>jC,sensor_rtc_init:()=>cC,sensor_sound:()=>AC,sensor_temperature:()=>ES,simulated_light_sensor:()=>PS});var w={};t.r(w),t.d(w,{serial_any:()=>US,serial_begin:()=>KS,serial_print:()=>bS,serial_print_byte:()=>xS,serial_print_hex:()=>VS,serial_println:()=>yS,serial_read_from_ai:()=>eA,serial_readline:()=>wS,serial_readstr:()=>GS,serial_readstr_until:()=>HS,serial_receive_data_event:()=>BS,serial_send_to_ai:()=>tA,serial_softserial:()=>WS,serial_softserial_new:()=>kS,system_input:()=>JS,system_print:()=>QS,system_print_container:()=>$S,system_print_end:()=>zS,system_print_inline:()=>qS,system_print_item:()=>ZS,system_print_many:()=>jS});var H={};t.r(H),t.d(H,{Panic_with_status_code:()=>oA,Timer_init:()=>OA,base_delay:()=>gA,controls_delay:()=>sA,controls_delay_new:()=>nA,controls_millis:()=>pA,controls_uname:()=>uA,raw_block:()=>aA,reset:()=>_A,set_system_timer:()=>TA,system_bitbot_shutdown:()=>EA,system_machine_reset:()=>mA,system_ticks_diff:()=>lA,system_timer:()=>dA,system_timer_init:()=>IA,system_wdt_feed:()=>hA,system_wdt_init:()=>MA,time_ticks_diff:()=>cA,timer:()=>rA,timer2:()=>RA});var k={};t.r(k),t.d(k,{Air_daily_content:()=>bA,Air_now_content:()=>fA,Geo_moon_content:()=>VA,Geo_sun_content:()=>yA,Life_suggestion_content:()=>PA,Location_search_content:()=>YA,Tide_daily_content:()=>vA,WEATHER_DAILY:()=>AA,WEATHER_HOUR:()=>LA,WEATHER_NOW:()=>SA,Weather_alarm_content:()=>FA,Weather_daily:()=>XA,Weather_daily_content:()=>xA,Weather_now:()=>NA,Weather_now_content:()=>DA});var W={};t.r(W),t.d(W,{PIN_init:()=>GL,actuator_extern_get_led_bright:()=>_L,actuator_extern_get_led_state:()=>pL,actuator_extern_led_bright:()=>oL,actuator_extern_led_brightness:()=>aL,actuator_ms32006_dcmotor:()=>KA,actuator_ms32006_init:()=>WA,actuator_ms32006_stepper:()=>JA,actuator_neopixel_init:()=>uL,actuator_neopixel_rgb:()=>lL,actuator_neopixel_rgb_all:()=>rL,actuator_neopixel_rgb_show_all_chase:()=>IL,actuator_neopixel_rgb_show_all_rainbow:()=>TL,actuator_neopixel_write:()=>dL,actuator_use_uart_init:()=>ML,backstage_esp32_music_play_list:()=>iL,esp32_music_get_tempo_extern:()=>tL,esp32_music_pitch:()=>qA,esp32_music_pitch_init:()=>QA,esp32_music_pitch_with_time:()=>zA,esp32_music_play_list:()=>eL,esp32_music_reset_extern:()=>nL,esp32_music_set_tempo_extern:()=>ZA,esp32_music_stop:()=>jA,esp32_set_music_volume:()=>$A,mixbot_actuator_extern_get_addr:()=>VL,mixbot_actuator_extern_set_addr:()=>BL,mixbot_addr_extern:()=>AL,parrot_PIN_init:()=>kL,parrot_move_speed:()=>WL,pin_led_bright:()=>UL,player_play_music:()=>RL,player_set_mode:()=>OL,player_set_play:()=>mL,player_set_volume:()=>EL,player_whether_stop:()=>hL,robot_led_extern:()=>fL,robot_led_extern_get_value:()=>FL,robot_motor_extern:()=>LL,robot_motor_extern_get_speed:()=>NL,robot_servo_extern_absolute_run:()=>XL,robot_servo_extern_get_status:()=>PL,robot_servo_extern_relative_continue:()=>yL,robot_servo_extern_relative_origin:()=>xL,robot_servo_extern_relative_run:()=>bL,robot_servo_extern_stop:()=>YL,robot_servo_extern_stop_mode:()=>vL,robot_traffic_light_extern:()=>DL,servo_PIN_init:()=>wL,servo_get_angle:()=>HA,servo_get_speed:()=>kA,servo_init:()=>BA,servo_move:()=>sL,servo_move_angle:()=>HL,servo_set_angle:()=>UA,servo_set_speed:()=>wA,servo_speed_360:()=>GA,syn6288_builtin_voice:()=>CL,syn6288_get_voice:()=>gL,syn6288_set_voice:()=>cL,syn6288_tts_play:()=>SL});var K={};t.r(K),t.d(K,{actuator_dc_motor:()=>RN,actuator_dc_motor_stop:()=>cN,actuator_get_led_bright:()=>nN,actuator_get_led_state:()=>sN,actuator_led_bright:()=>iN,actuator_led_brightness:()=>oN,actuator_mixbot_buzzer_on_off:()=>LN,actuator_mixgo_nova_mic_get:()=>PN,actuator_mixgo_nova_mic_set:()=>FN,actuator_mixgo_nova_onboard_music_pitch:()=>yN,actuator_mixgo_nova_onboard_music_stop:()=>VN,actuator_mixgo_nova_play_audio:()=>xN,actuator_mixgo_nova_play_online_audio:()=>bN,actuator_mixgo_nova_record_audio:()=>XN,actuator_mixgo_nova_voice_get:()=>YN,actuator_mixgo_nova_voice_set:()=>vN,actuator_mixgo_zero_led_color:()=>_N,actuator_onboard_neopixel_rgb:()=>IN,actuator_onboard_neopixel_rgb_all:()=>TN,actuator_onboard_neopixel_rgb_show_all_chase:()=>MN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>hN,actuator_onboard_neopixel_write:()=>lN,actuator_stepper_keep:()=>EN,actuator_stepper_stop:()=>ON,analog_ble_keyboard_init:()=>zN,analog_ble_keyboard_input:()=>ZN,analog_ble_keyboard_mouse_init:()=>pD,analog_ble_keyboard_mouse_input:()=>dD,analog_ble_keyboard_mouse_send_battery:()=>rD,analog_ble_keyboard_mouse_str:()=>lD,analog_ble_keyboard_send_battery:()=>eD,analog_ble_keyboard_str:()=>tD,analog_ble_mouse_init:()=>iD,analog_ble_mouse_input:()=>oD,analog_ble_mouse_keyboard_input:()=>ID,analog_ble_mouse_send_battery:()=>_D,analog_keyboard_input:()=>HN,analog_keyboard_str:()=>QN,analog_mouse_input:()=>KN,backstage_onboard_music_play_list:()=>$L,bitbot_motor:()=>fN,bitbot_move:()=>NN,bitbot_stop:()=>DN,ble_keyboard_connect:()=>$N,ble_keyboard_get_mac:()=>jN,ble_keyboard_mouse_connect:()=>uD,ble_keyboard_mouse_get_mac:()=>aD,ble_mouse_connect:()=>sD,ble_mouse_get_mac:()=>nD,cc_number:()=>pN,educore_ble_keyboard_input:()=>CD,educore_ble_sensor_connected:()=>gD,educore_ble_sensor_init:()=>cD,educore_buzzer:()=>TD,educore_buzzer_play_tone:()=>MD,educore_buzzer_play_tone_time:()=>hD,educore_buzzer_stop:()=>mD,educore_neopixel_clear:()=>RD,educore_neopixel_rgb:()=>OD,educore_rgb_light:()=>ED,esp32_music_get_tempo:()=>JL,esp32_music_reset:()=>ZL,esp32_music_set_tempo:()=>KL,esp32_onboard_music_pitch:()=>QL,esp32_onboard_music_pitch_with_time:()=>qL,esp32_onboard_music_play_list:()=>jL,esp32_onboard_music_stop:()=>zL,general_key:()=>WN,general_key_tuple:()=>qN,get_keyboard_light:()=>SD,get_power_output:()=>GN,ledswitch:()=>eN,mixbot_motor:()=>AN,mixbot_motor_status:()=>gN,mixbot_move:()=>CN,mixbot_stop:()=>SN,mouse_key:()=>JN,number:()=>tN,record_audio:()=>LD,rm_actuator_get_led_bright:()=>uN,rm_actuator_get_led_state:()=>rN,rm_actuator_led_bright:()=>aN,rm_actuator_led_brightness:()=>dN,rm_motor:()=>mN,set_all_power_output:()=>UN,set_microphone_amplification:()=>AD,set_music_volume:()=>ND,set_part_power_output:()=>wN,set_power_output:()=>BN,special_key:()=>kN});var J={};t.r(J),t.d(J,{ai_sensor_20object:()=>pf,ai_sensor_ailocal_class:()=>qD,ai_sensor_ailocal_class_result:()=>zD,ai_sensor_ailocal_train:()=>QD,ai_sensor_asr_recognize:()=>ef,ai_sensor_audio_play:()=>$D,ai_sensor_audio_record:()=>jD,ai_sensor_barcode:()=>XD,ai_sensor_circle:()=>GD,ai_sensor_classifier_faces:()=>_f,ai_sensor_color:()=>kD,ai_sensor_color_chases:()=>JD,ai_sensor_color_chases_result:()=>KD,ai_sensor_config:()=>FD,ai_sensor_face:()=>of,ai_sensor_find_20objects:()=>af,ai_sensor_find_barcodes:()=>xD,ai_sensor_find_circles:()=>UD,ai_sensor_find_colors:()=>WD,ai_sensor_find_licenseplates:()=>sf,ai_sensor_find_lines:()=>BD,ai_sensor_find_qrcodes:()=>YD,ai_sensor_find_rects:()=>HD,ai_sensor_find_tags:()=>yD,ai_sensor_licenseplate:()=>nf,ai_sensor_line:()=>VD,ai_sensor_qrcode:()=>vD,ai_sensor_qrcode_lite:()=>fD,ai_sensor_rect:()=>wD,ai_sensor_rgb:()=>PD,ai_sensor_tag:()=>bD,ai_sensor_use_uart_init:()=>DD,ai_sensor_yolo_recognize:()=>ZD,ai_sensor_yolo_recognize_result:()=>tf});var Q={};t.r(Q),t.d(Q,{MICROPYTHON_AI_Speech_asr:()=>df,MICROPYTHON_AI_Speech_unit:()=>rf,MICROPYTHON_AI_client:()=>uf});var q={};t.r(q),t.d(q,{mpython_blynk_app_data:()=>Cf,mpython_blynk_app_notify:()=>Ef,mpython_blynk_email:()=>Sf,mpython_blynk_get_timers:()=>Rf,mpython_blynk_on_connected:()=>Mf,mpython_blynk_on_disconnected:()=>Tf,mpython_blynk_run:()=>mf,mpython_blynk_sensor_data_to_app:()=>gf,mpython_blynk_set_property:()=>Af,mpython_blynk_setup:()=>Lf,mpython_blynk_stop_timers:()=>Of,mpython_blynk_sync_virtual:()=>If,mpython_blynk_terminal_widget_vpin:()=>lf,mpython_blynktimer:()=>cf,mpython_blynktimer_run:()=>hf});var z={};t.r(z),t.d(z,{communicate_bluetooth_central_init:()=>pF,communicate_bluetooth_connect:()=>rF,communicate_bluetooth_disconnect:()=>dF,communicate_bluetooth_handle:()=>mF,communicate_bluetooth_is_connected:()=>IF,communicate_bluetooth_mac:()=>lF,communicate_bluetooth_peripheral_init:()=>aF,communicate_bluetooth_recv:()=>hF,communicate_bluetooth_recv_only:()=>MF,communicate_bluetooth_scan:()=>uF,communicate_bluetooth_send:()=>TF,communicate_espnow_init:()=>EF,communicate_espnow_init_new:()=>OF,communicate_i2c_available:()=>Xf,communicate_i2c_init:()=>ff,communicate_i2c_master_read:()=>Yf,communicate_i2c_onboard:()=>Nf,communicate_i2c_read:()=>Ff,communicate_i2c_scan:()=>vf,communicate_i2c_write:()=>Pf,communicate_ir_recv_init:()=>jf,communicate_ir_send_init:()=>iF,communicate_ow_init:()=>Wf,communicate_ow_read:()=>Qf,communicate_ow_reset:()=>Jf,communicate_ow_scan:()=>Kf,communicate_ow_select:()=>zf,communicate_ow_write:()=>qf,communicate_spi_buffer:()=>Vf,communicate_spi_init:()=>bf,communicate_spi_onboard:()=>Df,communicate_spi_read:()=>Bf,communicate_spi_read_output:()=>Gf,communicate_spi_readinto:()=>Uf,communicate_spi_readinto_output:()=>wf,communicate_spi_set:()=>yf,communicate_spi_write:()=>Hf,communicate_spi_write_readinto:()=>kf,espnow_radio_channel:()=>AF,espnow_radio_channel_new:()=>NF,espnow_radio_on_off:()=>DF,espnow_radio_rec:()=>FF,espnow_radio_recv:()=>vF,espnow_radio_recv_certain_msg:()=>YF,espnow_radio_recv_certain_msg_new:()=>xF,espnow_radio_recv_msg:()=>PF,espnow_radio_recv_new:()=>XF,espnow_radio_send:()=>fF,espnow_radio_txpower:()=>LF,i2c_slave_onreceive:()=>xf,internal_variable:()=>$f,ir_recv_timeout:()=>eF,ir_transmit_busy:()=>_F,ir_transmit_conventional_data:()=>nF,ir_transmit_raw_code:()=>oF,ir_transmit_study_code:()=>sF,ir_whether_recv:()=>tF,lora_init:()=>bF,lora_packet:()=>yF,lora_recv:()=>BF,lora_send:()=>VF,network_espnow_info:()=>cF,network_espnow_mac:()=>RF,network_espnow_recv:()=>gF,network_espnow_recv_handle:()=>SF,network_espnow_send:()=>CF,recv_fun:()=>Zf,urequests_attribute:()=>UF,urequests_get:()=>GF,urequests_method:()=>wF});var j={};t.r(j),t.d(j,{display_animate:()=>IP,display_circle:()=>TP,display_color_seclet:()=>AP,display_draw_4strings:()=>_P,display_fill:()=>lP,display_lcd_use_i2c_init:()=>PP,display_line:()=>uP,display_line_arbitrarily:()=>pP,display_matrix_extern_bright_point:()=>ZF,display_matrix_extern_bright_screen:()=>eP,display_matrix_extern_clear:()=>zF,display_matrix_extern_get_pixel:()=>$F,display_matrix_extern_get_screen_pixel:()=>tP,display_matrix_extern_image_builtins:()=>iP,display_matrix_extern_scroll_string:()=>QF,display_matrix_extern_scroll_string_delay:()=>qF,display_matrix_extern_shift:()=>jF,display_matrix_extern_show_frame_string:()=>KF,display_matrix_extern_show_frame_string_delay:()=>JF,display_matrix_extern_show_image:()=>kF,display_matrix_extern_show_image_or_string_delay:()=>WF,display_matrix_use_i2c_init:()=>HF,display_oled_drawPixel:()=>mP,display_oled_showBitmap:()=>hP,display_oled_use_i2c_init:()=>bP,display_onoff:()=>rP,display_rect:()=>aP,display_tm1650_power:()=>OP,display_tm1650_set_brightness:()=>gP,display_tm1650_show_dot:()=>cP,display_tm1650_show_num:()=>RP,display_tm_use_i2c_init:()=>EP,display_triangle:()=>MP,display_use_i2c_init:()=>oP,extern_oled_bright_point:()=>QP,extern_oled_clear:()=>WP,extern_oled_get_pixel:()=>JP,extern_oled_hvline:()=>zP,extern_oled_line:()=>jP,extern_oled_scroll_string:()=>HP,extern_oled_scroll_string_delay:()=>kP,extern_oled_shape_rect:()=>qP,extern_oled_shift:()=>KP,extern_oled_show_frame_string:()=>UP,extern_oled_show_frame_string_delay:()=>wP,extern_oled_show_image:()=>yP,extern_oled_show_image_or_string_delay:()=>GP,extern_oled_show_image_xy:()=>VP,extern_oled_show_string:()=>BP,image_shift:()=>dP,lcd_backlight:()=>XP,lcd_clear:()=>xP,lcd_print_string:()=>YP,lcd_show_image_or_string_delay:()=>vP,matrix_extern_image_arithmetic:()=>nP,matrix_extern_image_invert:()=>sP,tft_fill:()=>fP,tft_line_arbitrarily:()=>FP,tft_scroll_string_delay:()=>DP,tft_show_frame_string_delay:()=>NP,tft_show_image_or_string_delay:()=>LP,tft_show_image_xy:()=>SP,tft_use_spi_init:()=>CP});var $={};t.r($),t.d($,{bitbot_display_bitmap_create:()=>kv,bitbot_display_image_create:()=>Hv,display_available:()=>dv,display_bitmap_create:()=>uv,display_bright_point:()=>hv,display_bright_screen:()=>Ev,display_clear:()=>rv,display_get_pixel:()=>Mv,display_get_screen_pixel:()=>mv,display_image_builtins:()=>_v,display_image_builtins_all:()=>pv,display_image_create:()=>av,display_scroll_string:()=>iv,display_scroll_string_delay:()=>nv,display_scroll_way:()=>sv,display_shift:()=>Tv,display_show_frame_string:()=>tv,display_show_frame_string_delay:()=>ev,display_show_image:()=>$P,display_show_image_or_string_delay:()=>ZP,draw_pointer:()=>pY,image_arithmetic:()=>lv,image_invert:()=>Iv,mixbot_display_bitmap_create:()=>Vv,mixbot_display_bright_screen:()=>Uv,mixbot_display_get_ambientbright:()=>Gv,mixbot_display_get_screen_pixel:()=>Bv,mixbot_display_image_create:()=>yv,mixbot_display_rotate:()=>wv,mixgo_display_bitmap_create:()=>Av,mixgo_display_image_create_new:()=>Sv,mixgome_display_bitmap_create:()=>Rv,mixgome_display_font:()=>Cv,mixgome_display_image_create:()=>Ov,mixgomini_display_bitmap_create:()=>gv,mixgomini_display_image_create:()=>cv,mpython_display_hvline:()=>xv,mpython_display_line:()=>bv,mpython_display_shape_rect:()=>Xv,mpython_pbm_image:()=>Lv,nova_draw_pointer:()=>aY,onboard_oled_bright_point:()=>Yv,onboard_oled_scroll_string_delay:()=>vv,onboard_oled_show_frame_string_delay:()=>Pv,onboard_oled_show_image:()=>Nv,onboard_oled_show_image_or_string_delay:()=>Fv,onboard_oled_show_image_xy:()=>Dv,onboard_oled_show_string:()=>fv,onboard_tft_bright_point:()=>Zv,onboard_tft_bright_screen:()=>hY,onboard_tft_clear:()=>mY,onboard_tft_clock_clear:()=>oY,onboard_tft_clock_draw:()=>sY,onboard_tft_clock_get_rtctime:()=>iY,onboard_tft_clock_init:()=>eY,onboard_tft_clock_set_time:()=>nY,onboard_tft_display_hvline:()=>zv,onboard_tft_display_line:()=>jv,onboard_tft_display_shape_circle:()=>_Y,onboard_tft_display_shape_rect:()=>qv,onboard_tft_fill:()=>tY,onboard_tft_get_pixel:()=>$v,onboard_tft_get_screen_pixel:()=>MY,onboard_tft_scroll_string_delay:()=>ov,onboard_tft_shift:()=>TY,onboard_tft_show_frame_string:()=>IY,onboard_tft_show_frame_string_delay:()=>Qv,onboard_tft_show_image:()=>lY,onboard_tft_show_image_or_string_delay:()=>Jv,onboard_tft_show_image_xy:()=>Wv,onboard_tft_show_image_xy_direct:()=>Kv,onboard_tft_show_qrcode:()=>rY,onboard_tft_show_qrcode_details:()=>dY,onboard_tft_show_texts:()=>uY});var Z={};t.r(Z),t.d(Z,{factory_block:()=>AY,factory_block_return:()=>LY,factory_block_return_with_textarea:()=>DY,factory_block_with_textarea:()=>NY,factory_callMethod_noreturn:()=>CY,factory_callMethod_return:()=>SY,factory_declare:()=>gY,factory_from_import:()=>EY,factory_function_noreturn:()=>RY,factory_function_return:()=>cY,factory_import:()=>OY,folding_block:()=>fY});var tt={};t.r(tt),t.d(tt,{inout_analog_atten:()=>kY,inout_analog_read:()=>yY,inout_analog_read_init:()=>HY,inout_analog_write:()=>XY,inout_analog_write_init:()=>wY,inout_analog_write_set:()=>xY,inout_digital_init:()=>GY,inout_digital_read:()=>vY,inout_digital_write:()=>PY,inout_highlow:()=>FY,inout_pin_attachInterrupt:()=>BY,inout_pin_pressed:()=>VY,inout_pin_pressed_init:()=>WY,inout_pwm_analog_write:()=>YY,inout_pwm_analog_write_init:()=>UY,inout_pwm_analog_write_set_freq:()=>bY});var et={};t.r(et),t.d(et,{IOT_CONNECT_OLLAMA:()=>RX,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>dX,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>uX,IOT_EMQX_PING:()=>lX,IOT_FORMATTING:()=>pX,IOT_FORMAT_STRING:()=>aX,IOT_MIXIO_NTP:()=>IX,IOT_MIXIO_PUBLISH:()=>ZY,IOT_MIXIO_PUBLISHEX:()=>tX,IOT_MIXIO_SUBSCRIBE:()=>eX,iot_client_onboard:()=>TX,iot_connect_ollama:()=>OX,iot_connect_openai:()=>cX,iot_http_client:()=>MX,iot_http_data:()=>hX,iot_mixio_check:()=>sX,iot_mixio_connect:()=>$Y,iot_mixio_connect_only:()=>nX,iot_mixio_disconnect:()=>iX,iot_mixio_format_msg:()=>_X,iot_mixio_format_topic:()=>oX,iot_mixly_key:()=>rX,iot_mqtt_client:()=>mX,iot_mqtt_data:()=>EX,iot_onenet_check:()=>zY,iot_onenet_connect:()=>JY,iot_onenet_disconnect:()=>QY,iot_onenet_publish:()=>jY,iot_onenet_publish_dict:()=>qY,iot_tiny_web_db_count:()=>fX,iot_tiny_web_db_delete:()=>PX,iot_tiny_web_db_get:()=>DX,iot_tiny_web_db_init:()=>AX,iot_tiny_web_db_init_with_mqtt:()=>LX,iot_tiny_web_db_search:()=>FX,iot_tiny_web_db_update:()=>NX,iot_wifi_connect:()=>KY,ollama_empty_history:()=>SX,use_ollama_llm_to_chat:()=>gX,use_ollama_llm_to_chat_return:()=>CX});var it={};t.r(it),t.d(it,{educore_mqtt_connect:()=>ux,educore_mqtt_connect_success:()=>Ix,educore_mqtt_subscribe_message:()=>rx,educore_mqtt_topic_publish:()=>lx,educore_mqtt_topic_subscribe:()=>dx,educore_wifi_connect:()=>ax,network_ap_connect:()=>GX,network_connect:()=>YX,network_get_connect:()=>xX,network_get_wifi:()=>BX,network_init:()=>vX,network_is_active:()=>VX,network_open:()=>yX,network_scan:()=>UX,network_server:()=>wX,network_socket_accept:()=>JX,network_socket_bind:()=>kX,network_socket_close:()=>ZX,network_socket_connect:()=>WX,network_socket_init:()=>HX,network_socket_listen:()=>KX,network_socket_readline:()=>QX,network_socket_receive:()=>qX,network_socket_receive_from:()=>jX,network_socket_send:()=>zX,network_socket_send_to:()=>$X,network_stop:()=>bX,network_wifi_connect:()=>XX,ntptime_address:()=>sx,ntptime_time:()=>nx,requests_attribute:()=>ex,requests_attribute2:()=>_x,requests_get:()=>tx,requests_get2:()=>ox,requests_method:()=>ix,requests_post:()=>px});var nt={};t.r(nt),t.d(nt,{pe_g1_battery_left:()=>Mx,pe_g1_dc_motor:()=>hx,pe_g1_dc_motor_speed:()=>mx,pe_g1_servo_get_angle:()=>Rx,pe_g1_servo_get_speed:()=>cx,pe_g1_servo_set_angle:()=>Ex,pe_g1_servo_set_speed:()=>Ox,pe_g1_use_i2c_init:()=>Tx});var st={};t.r(st),t.d(st,{CI130X_BROADCAST:()=>kx,CI130X_GET_THE_RECOGNIZED_CMD:()=>Hx,CI130X_GET_WHETHER_IDENTIFY:()=>wx,CI130X_IDENTIFY_AND_SAVE:()=>Ux,CI130X_SET_SYSTEM_CMD:()=>Wx,HCSR04:()=>Cb,PS2_Button:()=>Lb,PS2_Buttons:()=>Nb,PS2_Buttons_new:()=>xb,PS2_State:()=>Db,PS2_init:()=>Sb,PS2_init_new:()=>Yb,PS2_stk:()=>fb,PS2_stk_new:()=>bb,PS2_vibration:()=>Ab,PS2_vibration_new:()=>Xb,RTC_get_time:()=>Pb,RTC_set_date:()=>fx,RTC_set_datetime:()=>Fb,RTC_set_time:()=>Dx,camera_sensor_init:()=>Iy,camera_sensor_result:()=>Ty,column_tube_foot:()=>Ey,define_keyboards:()=>Oy,educore_body_sensor:()=>ny,educore_button_sensor_extern:()=>py,educore_camera_sensor:()=>ly,educore_infrared_sensor:()=>_y,educore_soilhum_sensor:()=>sy,educore_temp_sensor:()=>dy,educore_temphum_sensor:()=>oy,educore_ultrasonic_sensor:()=>uy,esp32_s2_weather_init:()=>Ob,esp32_s2_weather_rain:()=>cb,esp32_s2_weather_wd:()=>Rb,esp32_s2_weather_ws:()=>gb,extern_rfid_read:()=>pb,extern_rfid_readcontent:()=>ub,extern_rfid_readid:()=>ab,extern_rfid_status:()=>lb,extern_rfid_write:()=>rb,extern_rfid_write_return:()=>db,get_keboards_value:()=>cy,gnss_get_data:()=>Bb,gnss_have_data:()=>Gb,init_init_rotary_encoder:()=>gy,init_matrix_keyboard:()=>Ry,interaction_whether_to_interaction:()=>Bx,interaction_whether_to_interaction_SANT:()=>Gx,line_tube_foot:()=>my,mixbot_sensor_extern_get_addr:()=>zb,mixbot_sensor_extern_set_addr:()=>jb,pm25_get_data:()=>Vb,radar_set_DETECTION_THRESHOLD:()=>yx,radar_set_DETECTION_THRESHOLD_SANT:()=>Vx,robot_button_extern_get_value:()=>wb,robot_color_extern_get_value:()=>Jb,robot_infrared_extern_get_value:()=>kb,robot_infrared_extern_grey_get_value:()=>Wb,robot_potentiometer_extern_get_value:()=>Kb,robot_sonar_extern_get_value:()=>Qb,robot_sonar_extern_led:()=>qb,robot_touch_extern_get_value:()=>Hb,rotary_key:()=>Cy,sensor_APDS9960_extern:()=>Jx,sensor_DS18X20:()=>iy,sensor_LTR308_extern:()=>Qx,sensor_LTR390UV_extern:()=>eb,sensor_MAX30102_extern:()=>Kx,sensor_QMC5883L_extern:()=>ib,sensor_VL530LX_extern:()=>ob,sensor_aht11_extern:()=>sb,sensor_bmp:()=>Xx,sensor_dht11:()=>vb,sensor_distance_hrsc04:()=>Nx,sensor_hp203_extern:()=>qx,sensor_ltr381_extern:()=>Zx,sensor_mixgo_extern_button_attachInterrupt:()=>Ax,sensor_mixgo_extern_button_get_presses:()=>Sx,sensor_mixgo_extern_button_is_pressed:()=>gx,sensor_mixgo_extern_button_was_pressed:()=>Cx,sensor_mixgo_extern_light:()=>Fx,sensor_mixgo_extern_pin_near:()=>vx,sensor_mixgo_extern_sound:()=>Px,sensor_mixgoce_hot_wheel_degrees:()=>Eb,sensor_mixgoce_hot_wheel_is_touched:()=>mb,sensor_mpu9250_attachGestureInterrupt:()=>Lx,sensor_ms5611_extern:()=>jx,sensor_ms5611_extern_altitude:()=>$x,sensor_read_humiture:()=>ay,sensor_rtc_init:()=>Yx,sensor_sht:()=>xx,sensor_shtc3_extern:()=>nb,sensor_spl06_001_extern:()=>zx,sensor_ucs12071_extern:()=>tb,sensor_use_i2c_init:()=>bx,sensor_use_spi_init:()=>_b,sensor_use_uart_init:()=>yb,sensor_weather_solo_init:()=>$b,sensor_weather_solo_rain:()=>ey,sensor_weather_solo_wd:()=>Zb,sensor_weather_solo_ws:()=>ty,sensor_weigh_init:()=>My,tvoc_get_data:()=>Ub,ultrasonic_sensor_read_distance:()=>ry,weather_data:()=>Ib,weather_have_data:()=>Tb,weather_set_label:()=>hb,weather_uart_mixio:()=>Mb,weigh_sensor_get_weight:()=>hy});var ot={};t.r(ot),t.d(ot,{HCSR04:()=>vy,bitbot_als_num:()=>tB,dht11:()=>aB,educore_button_sensor:()=>MB,educore_button_was_pressed:()=>hB,educore_gyroscope_sensor:()=>lB,educore_gyroscope_sensor_read:()=>IB,educore_gyroscope_sensor_shake:()=>TB,educore_light_sensor:()=>dB,educore_rfid_sensor:()=>mB,educore_rfid_sensor_scan:()=>EB,educore_rfid_sensor_scan_data:()=>OB,educore_voice_sensor:()=>uB,number1:()=>Yy,number2:()=>Xy,number3:()=>xy,number4:()=>by,number5:()=>yy,number6:()=>Vy,number7:()=>By,onboard_RTC_get_time:()=>FV,onboard_RTC_get_time_str:()=>YV,onboard_RTC_get_timestamp:()=>PV,onboard_RTC_get_timetuple_to_str:()=>XV,onboard_RTC_set_datetime:()=>DV,onboard_RTC_settime_string:()=>fV,onboard_RTC_timestamp_totuple:()=>vV,rfid_readcontent:()=>eV,rfid_readid:()=>tV,rfid_status:()=>sV,rfid_write:()=>iV,rfid_write_return:()=>nV,sensor_LTR308:()=>qy,sensor_adxl345_get_acceleration:()=>IV,sensor_aht11:()=>$y,sensor_bitbot_ALS:()=>ZV,sensor_button_get_presses:()=>nB,sensor_button_is_pressed:()=>eB,sensor_button_was_pressed:()=>iB,sensor_compass_reset:()=>OV,sensor_ds18x20:()=>Jy,sensor_eulerangles:()=>_V,sensor_get_acceleration:()=>oV,sensor_get_temperature:()=>Zy,sensor_get_the_coprocessor_version:()=>RB,sensor_hp203:()=>jy,sensor_light:()=>pB,sensor_lm35:()=>Qy,sensor_mixbot_get_gyro:()=>$V,sensor_mixbot_patrol_calibrate:()=>qV,sensor_mixbot_patrol_value:()=>zV,sensor_mixbot_temperature:()=>jV,sensor_mixgo_LTR308:()=>ky,sensor_mixgo_button_attachInterrupt:()=>Ny,sensor_mixgo_button_get_presses:()=>Ly,sensor_mixgo_button_is_pressed:()=>Sy,sensor_mixgo_button_was_pressed:()=>Ay,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>yV,sensor_mixgo_cc_mmc5603_get_angle:()=>bV,sensor_mixgo_cc_mmc5603_get_magnetic:()=>xV,sensor_mixgo_light:()=>_B,sensor_mixgo_nova_LTR308:()=>Ky,sensor_mixgo_nova_pin_near:()=>Hy,sensor_mixgo_pin_near:()=>wy,sensor_mixgo_pin_near_double:()=>Uy,sensor_mixgo_pin_near_single:()=>Gy,sensor_mixgo_pin_pressed:()=>dV,sensor_mixgo_sant_color:()=>Wy,sensor_mixgo_touch_slide:()=>rV,sensor_mixgocar42_button_attachInterrupt:()=>Py,sensor_mixgocar42_button_get_presses:()=>Fy,sensor_mixgocar42_button_is_pressed:()=>Dy,sensor_mixgocar42_button_was_pressed:()=>fy,sensor_mixgocar_battery_left:()=>QV,sensor_mixgocar_pin_near:()=>KV,sensor_mixgocar_pin_near_line:()=>WV,sensor_mixgocar_pin_near_state_change:()=>JV,sensor_mixgoce_pin_pressed:()=>uV,sensor_mixgoce_temperature:()=>BV,sensor_mixgome_temperature:()=>VV,sensor_mpu9250_calibrate_compass:()=>hV,sensor_mpu9250_field_strength:()=>EV,sensor_mpu9250_gesture:()=>pV,sensor_mpu9250_get_acceleration:()=>aV,sensor_mpu9250_get_gyro:()=>MV,sensor_mpu9250_get_magnetic:()=>TV,sensor_mpu9250_temperature:()=>mV,sensor_mpython_pin_pressed:()=>lV,sensor_mpython_qmi8658_get_gyro:()=>GV,sensor_mpython_qmi8658_temperature:()=>UV,sensor_onboard_compass_reset:()=>NV,sensor_onboard_mpu9250_calibrate_compass:()=>SV,sensor_onboard_mpu9250_field_strength:()=>LV,sensor_onboard_mpu9250_gesture:()=>RV,sensor_onboard_mpu9250_get_acceleration:()=>cV,sensor_onboard_mpu9250_get_gyro:()=>CV,sensor_onboard_mpu9250_get_magnetic:()=>gV,sensor_onboard_mpu9250_temperature:()=>AV,sensor_pin_near:()=>oB,sensor_pin_pressed:()=>sB,sensor_read:()=>rB,sensor_rm_acc:()=>kV,sensor_rm_battery_left:()=>HV,sensor_rm_pin_near_double:()=>wV,sensor_sound:()=>zy,simulated_light_sensor:()=>cB});var _t={};t.r(_t),t.d(_t,{serial_any:()=>LB,serial_print:()=>gB,serial_print_byte:()=>CB,serial_print_hex:()=>AB,serial_println:()=>SB,serial_read_from_ai:()=>yB,serial_readline:()=>DB,serial_readstr:()=>NB,serial_send_to_ai:()=>bB,serial_softserial:()=>fB,serial_softserial_new:()=>FB,system_input:()=>PB,system_print:()=>vB,system_print_end:()=>XB,system_print_inline:()=>YB,system_print_many:()=>xB});var pt={};t.r(pt),t.d(pt,{Panic_with_status_code:()=>qB,Timer_init:()=>dG,base_delay:()=>TG,controls_delay:()=>tG,controls_delay_new:()=>eG,controls_end_program:()=>jB,controls_millis:()=>zB,controls_uname:()=>ZB,reset:()=>$B,set_system_timer:()=>nG,system_bitbot_shutdown:()=>rG,system_device_name:()=>JB,system_device_serial_number:()=>QB,system_event_bus_source:()=>WB,system_event_bus_value:()=>KB,system_machine_reset:()=>uG,system_on_event:()=>wB,system_raise_event:()=>UB,system_reset:()=>BB,system_run_in_background:()=>VB,system_ticks_diff:()=>sG,system_timer:()=>_G,system_timer_init:()=>oG,system_timestamp:()=>HB,system_value:()=>kB,system_wait:()=>GB,system_wdt_feed:()=>aG,system_wdt_init:()=>pG,time_ticks_diff:()=>IG,timer:()=>iG,timer2:()=>lG});var at={};t.r(at),t.d(at,{Air_daily_content:()=>NG,Air_now_content:()=>RG,Geo_moon_content:()=>fG,Geo_sun_content:()=>DG,Life_suggestion_content:()=>gG,Location_search_content:()=>SG,Tide_daily_content:()=>CG,WEATHER_DAILY:()=>hG,WEATHER_HOUR:()=>mG,WEATHER_NOW:()=>MG,Weather_alarm_content:()=>cG,Weather_daily:()=>AG,Weather_daily_content:()=>LG,Weather_now:()=>EG,Weather_now_content:()=>OG});var ut={};t.r(ut),t.d(ut,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>vG});var rt={};t.r(rt),t.d(rt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>XG});var dt={};t.r(dt),t.d(dt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>bG});var lt={};t.r(lt),t.d(lt,{analog_input:()=>qG,analog_output:()=>jG,espnow_channel:()=>KG,haskylens_model:()=>JG,i2c_A_pin:()=>$G,i2c_B_pin:()=>ZG,pins_analog:()=>sU,pins_analog_pin:()=>oU,pins_axis:()=>cU,pins_brightness:()=>gU,pins_builtinimg:()=>TU,pins_builtinimg_extern:()=>MU,pins_button:()=>aU,pins_dac:()=>_U,pins_dac_pin:()=>pU,pins_digital:()=>UG,pins_digital_dot:()=>FU,pins_digital_pin:()=>wG,pins_exlcdh:()=>OU,pins_exlcdv:()=>RU,pins_imglist:()=>hU,pins_input_pin:()=>HG,pins_mpython_touch:()=>WG,pins_one_more:()=>fU,pins_output_pin:()=>kG,pins_playlist:()=>mU,pins_playlist_extern:()=>EU,pins_pwm:()=>uU,pins_pwm_pin:()=>rU,pins_radio_datarate:()=>DU,pins_radio_power:()=>NU,pins_serial:()=>IU,pins_tone_notes:()=>LU,pins_touch:()=>lU,pins_touch_pin:()=>dU,pins_tts_bgmusic:()=>AU,pins_tts_builtin_music:()=>SU,pins_tts_voice:()=>CU,pwm_input:()=>QG,pwm_output:()=>zG,spi_A_pin:()=>tU,spi_B_pin:()=>eU,spi_C_pin:()=>iU,spi_D_pin:()=>nU,timer_id_pin:()=>PU});var It={};t.r(It),t.d(It,{espnow_channel:()=>UU,haskylens_model:()=>wU,pins_analog:()=>VU,pins_analog_pin:()=>yU,pins_axis:()=>ew,pins_brightness:()=>sw,pins_builtinimg:()=>zU,pins_builtinimg_extern:()=>jU,pins_button:()=>YU,pins_dac:()=>WU,pins_dac_pin:()=>kU,pins_digital:()=>vU,pins_digital_dot:()=>lw,pins_digital_pin:()=>XU,pins_exlcdh:()=>iw,pins_exlcdv:()=>nw,pins_imglist:()=>$U,pins_input_pin:()=>xU,pins_interrupt:()=>QU,pins_mpython_touch:()=>HU,pins_one_more:()=>dw,pins_output_pin:()=>bU,pins_playlist:()=>ZU,pins_playlist_extern:()=>tw,pins_pwm:()=>GU,pins_pwm_pin:()=>BU,pins_radio_datarate:()=>rw,pins_radio_power:()=>uw,pins_serial:()=>qU,pins_tone_notes:()=>aw,pins_touch:()=>JU,pins_touch_pin:()=>KU,pins_tts_bgmusic:()=>pw,pins_tts_builtin_music:()=>_w,pins_tts_voice:()=>ow,timer_id_pin:()=>Iw});const Tt=Blockly,Mt=Mixly,ht={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},mt=ht; +/** + * @license + * Visual Blocks Editor + * + * Copyright 2012 Google Inc. + * https://developers.google.com/blockly/ + * + * 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. + */ +class Et{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Tt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Tt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Tt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Tt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},yt={init:function(){this.setColour(Pt),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.PYTHON_RANGE).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Vt={init:function(){this.setColour(Pt),this.appendValueInput("LIST").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Tt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Tt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Bt={init:function(){this.setColour(Pt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Tt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Tt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Tt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Tt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Gt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Ut={init:function(){this.setColour(Pt);var t=new Tt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Tt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Tt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},wt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Tt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Tt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ht={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Tt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Tt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Bt.OPERATORS=[[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Ut.OPERATORS=[[Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const kt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Wt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Kt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Tt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Jt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Qt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},qt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},zt={init:function(){this.jsonInit({message0:Tt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Pt,tooltip:Tt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Tt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},jt={init:function(){this.setColour(Pt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_STAT),this.setOutput(!0)}},$t={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Zt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},te={init:function(){this.appendDummyInput().appendField(Tt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Tt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Tt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Tt.FieldDropdown([[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ee={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ie={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ne={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},se={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_GET_UNIQUE_IDEN)}},oe={init:function(){this.setColour(Pt),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},_e={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},pe=230;Tt.FieldTextInput.math_number_validator=function(t){return String(t)},Tt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const ae={init:function(){this.setColour(pe),this.appendDummyInput().appendField(new Tt.FieldTextInput("0",Tt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MATH_NUMBER_TOOLTIP)}},ue={init:function(){this.setColour(pe);this.appendDummyInput("").appendField(Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Tt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},re={init:function(){this.setColour(pe);this.appendDummyInput("").appendField(Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Tt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},de={init:function(){this.setColour(pe),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Tt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},le={init:function(){this.setColour(pe),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Tt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ie={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Tt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Te={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Tt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Tt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Tt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Tt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Tt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Tt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Tt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Tt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Me={init:function(){var t=[[Tt.Msg.MATH_BIN,"bin"],[Tt.Msg.MATH_OCT,"oct"],[Tt.Msg.MATH_HEX,"hex"]];this.setColour(pe),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Tt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Tt.Msg.MATH_DEC_TOOLTIP_BIN,oct:Tt.Msg.MATH_DEC_TOOLTIP_OCT,hex:Tt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},he={init:function(){var t=[[Tt.Msg.LANG_MATH_TO_ROUND,"round"],[Tt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Tt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Tt.Msg.MATH_ABS,"fabs"],[Tt.Msg.MATH_SQRT,"sqrt"]];this.setColour(pe),this.appendValueInput("A").setCheck(Number).appendField(new Tt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Tt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Tt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Tt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Tt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Tt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Tt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},me={init:function(){var t=[[Tt.Msg.MIXLY_MAX,"max"],[Tt.Msg.MIXLY_MIN,"min"]];this.setColour(pe),this.appendValueInput("A").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Tt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Tt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Tt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Ee={init:function(){var t=[[Tt.Msg.MATH_TWO,"two"],[Tt.Msg.MATH_EIGHT,"eight"],[Tt.Msg.MATH_TEN,"ten"],[Tt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(pe),this.appendDummyInput("").appendField(Tt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Tt.FieldDropdown(t),"OP").appendField(Tt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MATH_ZHW).appendField(new Tt.FieldDropdown(t),"OP2").appendField(Tt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Tt.Msg.MATH_Before_two,eight:Tt.Msg.MATH_Before_eight,ten:Tt.Msg.MATH_Before_ten,sixteen:Tt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Tt.Msg.MATH_Behind_two,eight:Tt.Msg.MATH_Behind_eight,ten:Tt.Msg.MATH_Behind_ten,sixteen:Tt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Oe={init:function(){var t=[[Tt.Msg.LANG_MATH_INT,"int"],[Tt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(pe),this.setOutput(!0,Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Tt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Tt.Msg.LANG_MATH_INT,float:Tt.Msg.LANG_MATH_FLOAT_RANDOM};return Tt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Re={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MATH_CONSTRAIN_TOOLTIP)}},ce={init:function(){this.setColour(pe),this.appendValueInput("NUM",Number).appendField(Tt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Tt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Tt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ge={init:function(){this.setColour(pe),this.appendDummyInput().appendField(new Tt.FieldTextInput("0",Tt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Tt.Msg.MATH_NUMBER_TOOLTIP)}},Ce={init:function(){this.setColour(pe),this.appendValueInput("NUM").setCheck(Number).appendField(Tt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Se={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MATH_ROUND).appendField(Tt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Tt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ae={init:function(){var t=[[Tt.Msg.MIXLY_TO_INT,"int"],[Tt.Msg.MIXLY_TO_FLOAT,"float"],[Tt.Msg.MIXLY_TO_BITES,"b"],[Tt.Msg.LANG_MATH_BYTE+Tt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(pe),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Le={init:function(){var t=[[Tt.Msg.MIXLY_TO_INT,"int"],[Tt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(pe),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ne=ce,De={init:function(){this.setColour(pe),this.appendValueInput("VAR").appendField(Tt.Msg.LANG_MATH_BYTE+Tt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},fe={init:function(){this.setColour(pe),this.itemCount_=1,this.setMutator(new Tt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Tt.Msg.MIXLY_PRODUCT+Tt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Tt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Tt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const be={init:function(){this.setColour(ve),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Tt.FieldTextInput("",Tt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Tt.FieldImage(e,7,12,'"')}},ye={init:function(){this.setColour(ve),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Tt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Ve={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Be={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(String).appendField(Tt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ge={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Ue={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},we={init:function(){this.WHERE_OPTIONS=[[Tt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Tt.Msg.TEXT_GET_INDEX_RANDOM+1+Tt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.LISTS_GET_INDEX_GET,"MODE"),Tt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Tt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Tt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Tt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Tt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Tt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Tt.Msg.TEXT_GET_INDEX_RANDOM};return Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Tt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Tt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Tt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Tt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Tt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Tt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},He={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Tt.Msg.LISTS_GET_INDEX_GET+" "+Tt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Tt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+Tt.Msg.LISTS_GET_INDEX_FROM_START+"n"+Tt.Msg.TEXT_CHARAT2)}},ke={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Tt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Tt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},We={init:function(){this.WHERE_OPTIONS_1=[[Tt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Tt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Tt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Tt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Tt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Tt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Tt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Tt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Tt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Tt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},Ke={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Tt.Msg.LISTS_GET_INDEX_GET+" "+Tt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Tt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Tt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Tt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Je={init:function(){var t=[[Tt.Msg.MIXLY_EQUALS,"==="],[Tt.Msg.MIXLY_STARTSWITH,"startswith"],[Tt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Tt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Qe={init:function(){this.setColour(ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Tt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_COMPARETO_HELP)}},qe={init:function(){var t=[[Tt.Msg.TEXT_UPPER,"upper"],[Tt.Msg.TEXT_TITLE,"title"],[Tt.Msg.TEXT_CAPITALIZE,"capitalize"],[Tt.Msg.TEXT_SWAPCASE,"swapcase"],[Tt.Msg.TEXT_LOWER,"lower"]];this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Tt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Tt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Tt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Tt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Tt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Tt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ze={init:function(){var t=[[Tt.Msg.TEXT_LJUST,"ljust"],[Tt.Msg.TEXT_CENTER,"center"],[Tt.Msg.TEXT_RJUST,"rjust"]];this.setColour(ve),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Tt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Tt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},je={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Tt.Msg.MIXLY_MID+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},$e={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Ze={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Tt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Tt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ti={init:function(){this.setColour(ve),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Tt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Tt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ei={init:function(){var t=[[Tt.Msg.TEXT_TRIM_BOTH,"strip"],[Tt.Msg.TEXT_TRIM_LEFT,"lstrip"],[Tt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(ve),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Tt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Tt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Tt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Tt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Tt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ii={init:function(){this.setColour(ve),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Tt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Tt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},$i={init:function(){this.setColour(zi),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Zi={init:function(){this.setColour(zi),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},tn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_KEYS),this.setTooltip(Tt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},en={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Tt.Msg.DICTS_GET_TOOLTIP)}},nn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Tt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Tt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},sn={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},on={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_DELETE_TOOLTIP)}},_n={init:function(){this.setColour(zi),this.appendValueInput("DICT2").setCheck("Dict").appendField(Tt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Tt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MID),this.setTooltip(Tt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_CLEAR),this.setTooltip(Tt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},an={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_ITEMS),this.setTooltip(Tt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},un={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_VALUES),this.setTooltip(Tt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_LENGTH),this.setTooltip(Tt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},dn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_DELDICT),this.setTooltip(Tt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ln={init:function(){this.MODE=[[Tt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Tt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Tt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Tt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Tt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Tt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Tt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},In={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setTooltip(Tt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Tn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Tt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Mn={init:function(){this.setColour(zi),this.appendDummyInput("").appendField(new Tt.FieldLabel(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Tt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},hn={init:function(){this.setColour(zi),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},mn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},En={init:function(){this.setColour(zi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},On={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Rn={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},cn=210,gn={init:function(){var t=Tt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Tt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Tt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Tt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Tt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Tt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Tt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Cn={init:function(){var t=Tt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Tt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Tt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Sn={init:function(){var t=[[Tt.Msg.LOGIC_OPERATION_AND,"AND"],[Tt.Msg.LOGIC_OPERATION_OR,"OR"],[Tt.Msg.LOGIC_OPERATION_NOR,"NOR"],[Tt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Tt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Tt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},An={init:function(){this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Tt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Tt.Msg.LOGIC_NEGATE_TOOLTIP)}},Ln={init:function(){var t=[[Tt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Tt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Tt.FieldDropdown(t),"BOOL"),this.setTooltip(Tt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Nn={init:function(){this.setColour(cn),this.setOutput(!0),this.appendDummyInput().appendField(Tt.Msg.LOGIC_NULL),this.setTooltip(Tt.Msg.LOGIC_NULL_TOOLTIP)}},Dn={init:function(){this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Tt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Tt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},fn={init:function(){var t=[[Tt.Msg.TEXT_APPEND_TO,"in"],[Tt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Tt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Tt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.IN)}},Fn={init:function(){var t=[[Tt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Tt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Pn={init:function(){this.setColour(cn),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Tt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Tt.Msg.MIXLY_ADD,"a"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_ADD,"ab"],[Tt.Msg.MIXLY_R_W,"r+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_R_W,"rb+"],[Tt.Msg.MIXLY_W_R,"w+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_W_R,"wb+"],[Tt.Msg.MIXLY_A_R,"a+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Xn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG,_=Tt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Tt.Msg.MIXPY_TEXT_ENCODE).appendField(new Tt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG,_=Tt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},bn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MICROBIT_PYTHON_TYPE)}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.HTML_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Hn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const kn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},qn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Tt.Msg.MIXLY_ESP32_SET+{mkdir:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Tt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.HTML_FILE,"isfile"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Zn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Tt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ts={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Tt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},es={init:function(){var t=Tt.Procedures.findLegalName("",this),e=new Tt.FieldTextInput(t,Tt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Tt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Tt.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Tt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Tt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Tt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Tt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Tt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Tt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Tt.Events.enable()}},mutationToDom:function(t){var e=Tt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Tt.Msg.MIXLY_AIP_ATTR).setAlign(Tt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zs={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},js={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_FORM_CONTENT).appendField(new Tt.FieldDropdown([[Tt.Msg.HTML_TEXT,"text"],[Tt.Msg.HTML_EMAIL,"email"],[Tt.Msg.HTML_NUMBER,"number"],[Tt.Msg.HTML_PASSWORD,"password"],[Tt.Msg.HTML_CHECKBOX,"checkbox"],[Tt.Msg.HTML_RADIOBUTTON,"radiobutton"],[Tt.Msg.HTML_BUTTON,"button"],[Tt.Msg.HTML_COLOUR,"colour"],[Tt.Msg.HTML_DATE,"date"],[Tt.Msg.HTML_LOCALTIME,"local time"],[Tt.Msg.HTML_FILE,"file"],[Tt.Msg.HTML_HIDDEN,"hidden"],[Tt.Msg.HTML_IMAGE,"image"],[Tt.Msg.HTML_MONTH,"month"],[Tt.Msg.HTML_RANGE,"range"],[Tt.Msg.HTML_RESET,"reset"],[Tt.Msg.HTML_SEARCH,"search"],[Tt.Msg.HTML_SUBMIT,"submit"],[Tt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Tt.Msg.HTML_TIME,"time"],[Tt.Msg.HTML_URL,"url"],[Tt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Tt.Msg.HTML_NAME).appendField(new Tt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Tt.Msg.HTML_VALUE).appendField(new Tt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Tt.Msg.MIXLY_AIP_ATTR).setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$s={init:function(){this.setColour(ks),this.appendDummyInput().appendField(new Tt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Tt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zs={init:function(){this.setColour(ks),this.appendDummyInput().appendField(new Tt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Tt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},to={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_TEXT).appendField(new Tt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eo=160,io={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Tt.FieldTable(""),"TEXT")}},no={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Tt.FieldMultilineInput(""),"TEXT")}},so={init:function(){this.setColour(eo),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Tt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},oo={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},_o={init:function(){this.setColour(eo),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Tt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},po={init:function(){this.setColour(eo),this.appendValueInput("VALUE").appendField(Tt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},ao={init:function(){this.setColour(eo),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Tt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Tt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},Tt.isNumber(n)&&Tt.isNumber(s)&&Tt.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const sa=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},oa=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},_a=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},pa=function(t,e){return["None",e.ORDER_ATOMIC]},aa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ua=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ra=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},da=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},la=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Ia=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ta=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ma=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},ma=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Ea=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Oa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ra=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ca=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},ga=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Ca=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Sa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Aa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Na=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Da=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},fa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},va=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ya=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Tt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Eu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Ou=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Ru=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},cu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},gu=function(t,e){return'"},Cu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Su=function(){return this.getFieldValue("TEXT")+"\n"},Au=function(t){return t.getFieldValue("TEXT")+"\n"},Lu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Nu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Du=function(){return""},fu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Fu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n")},Xu.scrubNakedValue=function(t){return t+"\n"},Xu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Xu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Xu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Tt.utils.string.wrap(o,Xu.COMMENT_WRAP-3),n+=Xu.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const xu="#74A55B",bu={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Tt.Msg.MIXLY_RGB_PIN_COUNT)}},yu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Vu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Bu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Gu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Uu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Tt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Tt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},wu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Hu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_RESET)}},ku={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Tt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ku={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Ju={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Qu={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},qu={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},zu={init:function(){this.setColour(xu),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ju={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},$u={init:function(){this.setColour(xu),this.appendValueInput("VAR").appendField("360°"+Tt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SETTING+Tt.Msg.blockpy_turtle_rotate+Tt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Zu={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},tr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},er={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ir={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},nr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Tt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Tt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},sr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Tt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Tt.Msg.MOTOR_N,"ms32006.MOT_N"],[Tt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},or={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Tt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Tt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},_r={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Tt.Msg.MIXLY_RGB_PIN_COUNT)}},pr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},ar={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ur={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_WRI)}},rr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},lr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Tt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([["SYN6288"+Tt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Tt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ir={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_WHETHER).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_STOPPED,"0"],[Tt.Msg.MIXLY_PLAYING,"1"],[Tt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Tr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_STAT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MP3_PLAY,"1"],[Tt.Msg.MIXLY_MP3_PAUSE,"2"],[Tt.Msg.MIXLY_STOP,"3"],[Tt.Msg.MIXLY_MP3_PREV,"4"],[Tt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Tt.Msg.MIXLY_MP3_VOL+Tt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},hr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MODE+Tt.Msg.MIXLY_STAT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Tt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Tt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Tt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Tt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Tt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Tt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Er={},Or={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Rr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},cr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},gr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Tt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Cr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Sr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Ar={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LISTS_SET_INDEX_SET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_WHITE,"W"],[Tt.Msg.COLOUR_RGB_RED,"R"],[Tt.Msg.COLOUR_RGB_YELLOW,"Y"],[Tt.Msg.COLOUR_RGB_GREEN,"G"],[Tt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_WHITE,"W"],[Tt.Msg.COLOUR_RGB_RED,"R"],[Tt.Msg.COLOUR_RGB_YELLOW,"Y"],[Tt.Msg.COLOUR_RGB_GREEN,"G"],[Tt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},fr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Tt.Msg.MIXLY_SPEED,"[1]"],[Tt.Msg.MATH_SINGLE_OP_ABSOLUTE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Tt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Tt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Tt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MATH_SINGLE_OP_ABSOLUTE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"0"],[Tt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Tt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Yr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField("("+Tt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},xr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField("("+Tt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"0"],[Tt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},br={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MOTOR,"ext_motor"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Tt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Tt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Tt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Tt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Tt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Tt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},yr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MOTOR,"ext_motor"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Tt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Tt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Tt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Tt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Tt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Tt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Br={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SERVO+Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Ur={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MOTOR+Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Hr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kr="#6C9858",Wr={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},Kr={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_ON,"1"],[Tt.Msg.MIXLY_ESP32_OFF,"0"],[Tt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Jr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Qr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},qr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},zr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_BUILDIN_LED+Tt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},jr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_LCD_SETCOLOR).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LIGHT_RED,"1"],[Tt.Msg.MIXLY_LIGHT_GREEN,"2"],[Tt.Msg.MIXLY_LIGHT_BLUE,"3"],[Tt.Msg.MIXLY_LIGHT_YELLOW,"4"],[Tt.Msg.MIXLY_LIGHT_CYAN,"5"],[Tt.Msg.MIXLY_LIGHT_PURPLE,"6"],[Tt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},$r={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Zr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},td={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ed={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_BUILDIN_LED+Tt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},id={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},nd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},sd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},od={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},_d={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},pd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_WRI)}},ad={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ud={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},rd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dd={init:function(){this.setColour(kr),this.appendValueInput("TICKS").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Tt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Tt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},ld={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Id={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Td={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Md={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},hd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},md={init:function(){this.setColour(kr),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ed={init:function(){this.setColour(kr),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Od={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Rd={init:function(){this.setColour(kr),this.appendDummyInput().appendField("MixGo Car").appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},gd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Tt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Tt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STOP).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Sd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Ad={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Tt.Msg.MIXLY_SPEED,"SPEED"],[Tt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ld={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.MIXLY_MOTOR).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"1"],[Tt.Msg.TEXT_TRIM_RIGHT,"2"],[Tt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Tt.Msg.MIXLY_SPEED,"SPEED"],[Tt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Dd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Tt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},fd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(Tt.Msg.MIXLY_MOTOR).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"0"],[Tt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vd={init:function(){this.setColour(kr),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Yd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Xd={init:function(){this.setColour(kr),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_MIXBOT_BUZZER+Tt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},xd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MIXBOT_BUZZER+Tt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},bd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_RECORD_AUDIO).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Tt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_PLAY_AUDIO).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Vd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Gd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ud={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.PIN_NUMBERING);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},wd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.PIN_NUMBERING);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT+Tt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.MIXLY_ALL+Tt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Tt.ALIGN_RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT+Tt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},kd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(Tt.ALIGN_RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT+Tt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Wd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.ANALOG+Tt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_RELEASE).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ANALOG+Tt.Msg.MIXLY_KEYBOARD_INPUT)}},Kd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SPECIAL_KEY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Tt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Tt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Tt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Tt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Tt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Tt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Tt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Tt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Jd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GENERAL_KEY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},Qd={init:function(){this.setColour(kr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Tt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Tt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Vh={init:function(){this.jsonInit({colour:Nh,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Tt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Tt.Msg.MIXLY_MICROBIT_Built_in_image})}},Bh={init:function(){this.setColour(Nh),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Gh={init:function(){this.setColour(Nh),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Tt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Tt.FieldDropdown(Gh.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Tt.Msg.MIXLY_MICROBIT_image_add,"-":Tt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Tt.Msg.MICROBIT_DISPLAY_UNION,"add"],[Tt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Uh={init:function(){this.setColour(Nh),this.appendValueInput("A").setCheck("esp32_image").appendField(Tt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},wh={init:function(){this.setColour(Nh),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).appendField(new Tt.FieldDropdown(wh.OPERATORS),"OP"),this.appendValueInput("val").appendField(Tt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Tt.Msg.DISPLAY_IMAGE_LET,n=Tt.Msg.DISPLAY_IMAGE_LET2,s=Tt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Tt.Msg.MIXLY_UP,shift_down:Tt.Msg.MIXLY_DOWN,shift_left:Tt.Msg.MIXLY_LEFT,shift_right:Tt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Tt.Msg.MIXLY_UP,"shift_up"],[Tt.Msg.MIXLY_DOWN,"shift_down"],[Tt.Msg.MIXLY_LEFT,"shift_left"],[Tt.Msg.MIXLY_RIGHT,"shift_right"]]},Hh={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},kh={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Wh={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Kh={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Jh={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Clear_display)}},Qh={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SHOW+Tt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(zh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},jh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$h={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap($h.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Zh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},tm={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(tm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},em={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.OLED_SET_FONT).appendField(new Tt.FieldDropdown(em.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Tt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Tt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Tt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},im={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},nm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},sm={init:function(){this.setColour(Nh),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Tt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},om={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Tt.Msg.TEXT_CENTER).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},_m={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},pm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},am={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},um={init:function(){this.jsonInit({colour:Nh,args0:[{name:"state",options:[[Tt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Tt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},rm={init:function(){this.jsonInit({colour:Nh,args0:[{name:"state",options:[[Tt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Tt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Tt.Msg.mpython_vertical,"0"],[Tt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Tt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},dm={init:function(){this.jsonInit({colour:Nh,args0:[{name:"state",options:[[Tt.Msg.mpython_display_hline_1,"1"],[Tt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.mpython_display_line_TOOLTIP,message0:Tt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},lm={init:function(){this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Tt.FieldDropdown(lm.IMAGES),"path"),this.setColour(Nh),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Im={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Tm={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(Tm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Mm={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},hm={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},mm={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Em={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Tt.FieldDropdown(Em.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Tt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Tt.Msg.CLOCKWISE+"90"+Tt.Msg.blockpy_setheading_degree,"1"],[Tt.Msg.CLOCKWISE+"180"+Tt.Msg.blockpy_setheading_degree,"2"],[Tt.Msg.CLOCKWISE+"270"+Tt.Msg.blockpy_setheading_degree,"3"]]},Om={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Rm={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(Rm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Nh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},cm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gm={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Tt.Msg.MIXLY_AipImageClassify_Image+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Tt.Msg.TEXT_CENTER).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Sm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Am={init:function(){this.jsonInit({colour:Nh,args0:[{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Lm={init:function(){this.jsonInit({colour:Nh,args0:[{name:"dir_h_v",options:[[Tt.Msg.mpython_vertical,"0"],[Tt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Nm={init:function(){this.jsonInit({colour:Nh,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.mpython_display_line_TOOLTIP,message0:Tt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Dm={init:function(){this.setColour(Nh),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Tt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},fm={init:function(){this.setColour(Nh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_LCD_SETCOLOR).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Fm={init:function(){this.setColour(Nh),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pm={init:function(){this.setColour(Nh),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vm={init:function(){this.setColour(Nh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ym={init:function(){this.setColour(Nh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Tt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Tt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Tt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xm={init:function(){this.setColour(Nh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xm={init:function(){this.setColour(Nh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bm={init:function(){this.jsonInit({colour:Nh,args0:[{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},ym={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER).appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.DRAW_POINTER_TOOLTIP)}},Vm={init:function(){this.setColour(Nh),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER).appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.DRAW_POINTER_TOOLTIP)}},Bm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gm={init:function(){this.setColour(Nh),this.appendValueInput("direct").appendField(Tt.Msg.OLED_BITMAP).appendField(Tt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Um={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP).appendField(Tt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ERROR_RATE).appendField(new Tt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Mt.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wm={init:function(){this.setColour(Nh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Hm={init:function(){Fh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},km={init:function(){Xh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Wm={init:function(){wh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Km={init:function(){Wh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Jm={init:function(){Kh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Qm={init:function(){Jh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qm=180,zm={init:function(){this.setColour(qm),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Tt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).appendField(new Tt.FieldDropdown(zm.OPERATORS),"OP"),this.appendValueInput("val").appendField(Tt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Tt.Msg.DISPLAY_IMAGE_LET,n=Tt.Msg.DISPLAY_IMAGE_LET2,s=Tt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"]]},jm={init:function(){this.setColour(qm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Tt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Tt.FieldDropdown(jm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Tt.Msg.MIXLY_MICROBIT_image_add,"-":Tt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Tt.Msg.MICROBIT_DISPLAY_UNION,"+"],[Tt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},$m={init:function(){this.setColour(qm),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Tt.FieldDropdown($m.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_MICROBIT_IMAGE+{height:Tt.Msg.MIXLY_HEIGHT,width:Tt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Tt.Msg.MIXLY_HEIGHT,"height"],[Tt.Msg.MIXLY_WIDTH,"width"]]},Zm={init:function(){this.setColour(qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RECT).appendField(new Tt.FieldDropdown(Zm.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_OLED_RECT)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},tE={init:function(){this.setColour(qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Tt.FieldDropdown(tE.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},eE={init:function(){this.setColour(qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_DISPLAY_DRAW+Tt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Tt.FieldDropdown(eE.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_DISPLAY_DRAW+Tt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},iE="#777777",nE={init:function(){this.setColour(iE),this.appendDummyInput("").appendField("from ").appendField(new Tt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Tt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sE={init:function(){this.setColour(iE),this.appendDummyInput("").appendField("import ").appendField(new Tt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oE={init:function(){this.setColour(iE),this.appendDummyInput("").appendField(new Tt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},KE={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},JE={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},QE={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},qE={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Tt.Msg.MIXLY_WIFI_USERNAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.MIXLY_IOT_PASSWORD).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_PROJECT).setAlign(Tt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zE={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},jE={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.appendDummyInput().appendField(Tt.Msg.MIXLY_Service_quality_display).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_AT_MOST_ONCE,"0"],[Tt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},$E={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},ZE={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Tt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},nO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},sO={init:function(){this.setColour(BE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},oO={init:function(){this.setColour(BE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},_O={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},pO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO").appendField(Tt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Tt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},aO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+Tt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rO={init:function(){this.VISITOR_ID=Mt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(BE),this.appendDummyInput("").appendField(new Tt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},dO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MixIO").appendField(Tt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},lO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("HTTP"+Tt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Tt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Tt.Msg.MIXLY_REQUESTS_GET).appendField(Tt.Msg.MIXLY_GET_CURRENT_TIME).appendField(Tt.Msg.MIXLY_OPEN_DEBUG).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("HTTP"+Tt.Msg.MIXLY_Client).appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Tt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Tt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},TO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MQTT"+Tt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Tt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Tt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Tt.Msg.MQTT_Topic).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Tt.Msg.MIXLY_OPEN_DEBUG).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("MQTT"+Tt.Msg.MIXLY_Client).appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Tt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Tt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},hO=GE,mO=UE,EO=wE,OO=HE,RO=WE,cO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Tt.Msg.MODEL_NAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Tt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gO=cO,CO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Tt.Msg.MODEL_NAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Tt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},AO={init:function(){this.setColour(BE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},LO={init:function(){this.setColour(BE),this.appendDummyInput().appendField("Ollama "+Tt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},NO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Tt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Tt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Tt.inputs.Align.RIGHT).appendField(`MixIO ${Tt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},FO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},PO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},vO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},YO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},XO=225,xO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NETWORK_MODE).appendField(new Tt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},bO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Tt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Tt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Tt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Tt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},yO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},VO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Tt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Tt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},BO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Tt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Tt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},GO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_CONNECT+Tt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},UO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Tt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Tt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Tt.Msg.MIXLY_ESP32_NETWORK_IP,1:Tt.Msg.MIXLY_ESP32_NETWORK_MASK,2:Tt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},wO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},HO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Tt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},kO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Tt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Tt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},WO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},KO={init:function(){this.setColour(XO),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Tt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},JO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},QO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},qO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},zO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},jO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},$O={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},ZO={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},tR={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},eR={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},iR={init:function(){this.setColour(XO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},nR={init:function(){this.setColour(XO),this.appendValueInput("DOMAIN").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_REQUESTS_GET).appendField(new Tt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},sR={init:function(){this.appendValueInput("VAL"),this.setColour(XO),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown(sR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Tt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Tt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Tt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Tt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},oR={init:function(){this.appendValueInput("VAR").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(XO),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown(oR.METHOD),"DIR"),this.appendDummyInput("").appendField(Tt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Tt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Tt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},_R={init:function(){this.setColour(XO),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Tt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},pR={init:function(){this.setColour(XO),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},aR="#3288dd",uR={init:function(){this.setColour(aR),this.appendValueInput("URL").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Tt.Msg.blockpy_REQUESTS).appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},rR={init:function(){this.setColour(aR),this.appendValueInput("URL").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Tt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Tt.Msg.blockpy_REQUESTS+Tt.Msg.OLED_STRING),this.appendDummyInput("").appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},dR={init:function(){this.appendValueInput("VAL"),this.setColour(aR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown(dR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Tt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Tt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},lR={init:function(){this.setColour(aR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Tt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Tt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},IR={init:function(){this.setColour(aR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Tt.Msg.MIXLY_EMQX_PORT).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Tt.Msg.MIXLY_WIFI_USERNAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.MIXLY_IOT_PASSWORD).setAlign(Tt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR={init:function(){this.setColour(aR),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Tt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},MR={init:function(){this.setColour(aR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hR={init:function(){this.setColour(aR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mR={init:function(){this.setColour(aR),this.appendDummyInput().appendField("mqtt"+Tt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},ER=100,OR={init:function(){this.setColour(ER),this.appendValueInput("I2CSUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},RR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},cR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Tt.Msg.MOTOR_DC).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Tt.Msg.MOTOR_DC).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},CR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},SR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},AR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Tt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},LR={init:function(){this.setColour(ER),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},NR="#A58C5B",DR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Tt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SENOR_IS_PRESSED)}},fR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Tt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SENOR_WAS_PRESSED)}},FR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_BUTTON+Tt.Msg.MIXLY_GET_PRESSES)}},PR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Tt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Tt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},vR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_shake,"shake"],[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"],[Tt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Tt.Msg.MIXLY_MICROBIT_face_down,"face down"],[Tt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Tt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Tt.Msg.MSG.catSensor,s=Tt.Msg.MIXLY_MICROBIT_JS_STATE,o=Tt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Tt.Msg.MIXLY_MICROBIT_shake,up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT,"face up":Tt.Msg.MIXLY_MICROBIT_face_up,"face down":Tt.Msg.MIXLY_MICROBIT_face_down,freefall:Tt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},YR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},XR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},xR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField(new Tt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Tt.FieldDropdown(xR.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},bR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},yR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},VR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"left"],[Tt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Tt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=Tt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Tt.Msg.MIXLY_ESP32_NEAR;return i+{left:Tt.Msg.TEXT_TRIM_LEFT,right:Tt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},BR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Tt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Tt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Tt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},GR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Tt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},UR={init:function(){this.setColour(NR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},wR={init:function(){this.setColour(NR),this.appendDummyInput("").appendField("LM35"+Tt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_LM35)}},HR={init:function(){this.setColour(NR),this.appendValueInput("I2CSUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Tt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Tt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Tt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Tt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Tt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Tt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Tt.Msg.HTML_COLOUR+"、"+Tt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Tt.Msg.MIXLY_NEXT+"、"+Tt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Tt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Tt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Tt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Tt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Tt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},kR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Tt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Tt.Msg.MIXLY_DELAY_TIME_RANGE)}},WR={init:function(){this.setColour(NR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RADAR).appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Tt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Tt.Msg.MIXLY_DELAY_TIME_RANGE)}},KR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},JR={init:function(){this.setColour(NR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RADAR).appendField(Tt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},QR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},qR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Tt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Tt.Msg.MIXLY_THE_FIRST,"3"],[Tt.Msg.MIXLY_THE_SECOND,"4"],[Tt.Msg.MIXLY_THE_THIRD,"5"],[Tt.Msg.MIXLY_THE_FOURTH,"6"],[Tt.Msg.MIXLY_THE_FIFTH,"7"],[Tt.Msg.MIXLY_THE_SIXTH,"8"],[Tt.Msg.MIXLY_THE_SEVENTH,"9"],[Tt.Msg.MIXLY_THE_EIGHTH,"10"],[Tt.Msg.MIXLY_THE_NINTH,"11"],[Tt.Msg.MIXLY_THE_TENTH,"12"],[Tt.Msg.MIXLY_THE_ELEVENTH,"13"],[Tt.Msg.MIXLY_THE_TWELFTH,"14"],[Tt.Msg.MIXLY_THE_13TH,"15"],[Tt.Msg.MIXLY_THE_14TH,"16"],[Tt.Msg.MIXLY_THE_15TH,"17"],[Tt.Msg.MIXLY_THE_16TH,"18"],[Tt.Msg.MIXLY_THE_17TH,"19"],[Tt.Msg.MIXLY_THE_18TH,"20"],[Tt.Msg.MIXLY_THE_19TH,"21"],[Tt.Msg.MIXLY_THE_20TH,"22"],[Tt.Msg.MIXLY_Turn_on_the_lights,"23"],[Tt.Msg.MIXLY_Turn_off_the_lights,"24"],[Tt.Msg.MIXLY_Turn_up_the_brightness,"25"],[Tt.Msg.MIXLY_Turn_down_the_brightness,"26"],[Tt.Msg.MIXLY_Set_it_to_red,"27"],[Tt.Msg.MIXLY_Set_it_to_orange,"28"],[Tt.Msg.MIXLY_Set_it_to_yellow,"29"],[Tt.Msg.MIXLY_Set_it_to_green,"30"],[Tt.Msg.MIXLY_Set_it_to_cyan,"31"],[Tt.Msg.MIXLY_Set_it_to_blue,"32"],[Tt.Msg.MIXLY_Set_it_to_purple,"33"],[Tt.Msg.MIXLY_Set_it_to_white,"34"],[Tt.Msg.MIXLY_Turn_on_the_fan,"35"],[Tt.Msg.MIXLY_Turn_off_the_fan,"36"],[Tt.Msg.MIXLY_First_gear,"37"],[Tt.Msg.MIXLY_Wind_speed_second,"38"],[Tt.Msg.MIXLY_Third_gear,"39"],[Tt.Msg.MIXLY_Previous,"40"],[Tt.Msg.MIXLY_Next_page,"41"],[Tt.Msg.MIXLY_Show_smiley_face,"42"],[Tt.Msg.MIXLY_Show_crying_face,"43"],[Tt.Msg.MIXLY_Show_love,"44"],[Tt.Msg.MIXLY_Close_display,"45"],[Tt.Msg.MIXLY_Start_execution,"46"],[Tt.Msg.MIXLY_FORWARD,"47"],[Tt.Msg.MIXLY_BACKWARD,"48"],[Tt.Msg.MIXLY_TURNLEFT,"49"],[Tt.Msg.MIXLY_TURNRIGHT,"50"],[Tt.Msg.MIXLY_STOP,"51"],[Tt.Msg.MIXLY_Accelerate,"52"],[Tt.Msg.MIXLY_retard,"53"],[Tt.Msg.ROTATION_FORWARD,"54"],[Tt.Msg.ROTATION_BACKWARD,"55"],[Tt.Msg.MIXLY_Query_temperature,"56"],[Tt.Msg.MIXLY_Query_humidity,"57"],[Tt.Msg.MIXLY_Query_brightness,"58"],[Tt.Msg.MIXLY_Query_sound,"59"],[Tt.Msg.MIXLY_Query_time,"60"],[Tt.Msg.MIXLY_Query_distance,"61"],[Tt.Msg.MIXLY_Query_pressure,"62"],[Tt.Msg.MIXLY_Query_key,"63"],[Tt.Msg.MIXLY_Query_touch,"64"],[Tt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Tt.Msg.MIXLY_WHETHER+Tt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},zR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Tt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Tt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},jR={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MP3_PLAY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Tt.Msg.MIXLY_WIND_SPEED,"154"],[Tt.Msg.MIXLY_HYETAL,"155"],[Tt.Msg.MIXLY_TEMPERATURE,"156"],[Tt.Msg.MIXLY_Humidity,"157"],[Tt.Msg.MIXLY_Altitude,"158"],[Tt.Msg.MIXLY_SOUND,"159"],[Tt.Msg.MIXLY_BRIGHTNESS,"160"],[Tt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Tt.Msg.MIXLY_SERVO,"162"],[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Tt.Msg.MIXLY_BUTTON2,"164"],[Tt.Msg.MIXLY_ESP32_TOUCH,"165"],[Tt.Msg.MIXLY_PAY,"166"],[Tt.Msg.MIXLY_CARSH_CHANGE,"167"],[Tt.Msg.MIXLY_COUNTDOWN,"168"],[Tt.Msg.MIXLY_TIMING,"169"],[Tt.Msg.MIXLY_AT_THE_MOMENT,"170"],[Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Tt.Msg.MIXLY_FORWARD,"172"],[Tt.Msg.MIXLY_BACKWARD,"173"],[Tt.Msg.MIXLY_TURNLEFT,"174"],[Tt.Msg.MIXLY_TURNRIGHT,"175"],[Tt.Msg.MIXLY_STOP,"176"],[Tt.Msg.MIXLY_Accelerate,"177"],[Tt.Msg.MIXLY_retard,"178"],[Tt.Msg.ROTATION_FORWARD,"179"],[Tt.Msg.ROTATION_BACKWARD,"180"],[Tt.Msg.TUPLE_JOIN,"181"],[Tt.Msg.MIXLY_SHOW,"182"],[Tt.Msg.MIXLY_LAMPLIGHT,"183"],[Tt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Tt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_UNIT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Tt.Msg.MIXLY_YEAR,"117"],[Tt.Msg.MIXLY_MONTH,"118"],[Tt.Msg.MIXLY_DAY,"119"],[Tt.Msg.MIXLY_HOUR,"120"],[Tt.Msg.MIXLY_MINUTE,"121"],[Tt.Msg.MIXLY_SECOND,"122"],[Tt.Msg.MIXLY_WEEK2,"123"],[Tt.Msg.MIXLY_RMB_UNIT,"124"],[Tt.Msg.blockpy_setheading_degree,"125"],[Tt.Msg.MIXLY_GEAR,"126"],[Tt.Msg.MIXLY_LAYER,"127"],[Tt.Msg.MIXLY_GRAM,"128"],[Tt.Msg.MIXLY_METER,"129"],[Tt.Msg.MIXLY_CENTIMETER,"130"],[Tt.Msg.MIXLY_MILLIMETER,"131"],[Tt.Msg.MIXLY_LUMEN,"132"],[Tt.Msg.MIXLY_DECIBEL,"133"],[Tt.Msg.MIXLY_hectopascal,"134"],[Tt.Msg.MIXLY_PERCENT,"135"],[Tt.Msg.MIXLY_CELSIUS,"136"],[Tt.Msg.MIXLY_METER_PER_SEC,"137"],[Tt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Tt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Tt.Msg.MIXLY_SUCCESS,"140"],[Tt.Msg.MIXLY_FAILED,"141"],[Tt.Msg.MIXLY_WRONG,"142"],[Tt.Msg.MIXLY_GOOD,"143"],[Tt.Msg.MIXLY_blockpy_set_add,"144"],[Tt.Msg.MIXLY_DECREASE,"145"],[Tt.Msg.COLOUR_RGB_RED,"146"],[Tt.Msg.COLOUR_RGB_ORANGE,"147"],[Tt.Msg.COLOUR_YELLOW,"148"],[Tt.Msg.COLOUR_RGB_GREEN,"149"],[Tt.Msg.COLOUR_CYAN,"150"],[Tt.Msg.COLOUR_RGB_BLUE,"151"],[Tt.Msg.COLOUR_RGB_PURPLE,"152"],[Tt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$R={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXLY_SYSTEM+Tt.Msg.MIXLY_CMD).appendField(new Tt.FieldDropdown([[Tt.Msg.MILXY_ENTER_WAKE_UP,"1"],[Tt.Msg.MIXLY_INCREASE_VOLUME,"202"],[Tt.Msg.MIXLY_REDUCE_VOLUME,"203"],[Tt.Msg.MIXLY_MAX_VOLUME,"204"],[Tt.Msg.MIXLY_MINIMUM,"205"],[Tt.Msg.MIXLY_OPEN_RESPONSE,"206"],[Tt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Tt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},ZR={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Tt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Tt.Msg.MIXLY_ESP32_MAX30102_IR+","+Tt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},tc={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Tt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Tt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ec={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.HTML_COLOUR+Tt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET+Tt.Msg.HTML_COLOUR,"[2]"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_IR_STRENGTH,"[1]"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},nc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.HTML_COLOUR+Tt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET+"RGB"+Tt.Msg.HTML_COLOUR,"0"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_RGB_RAW,"1"],[Tt.Msg.MIXLY_GET_ENV_LIGHT+Tt.Msg.MIXLY_BRIGHTNESS,"2"],[Tt.Msg.GET_IR_STRENGTH+Tt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},sc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Tt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oc={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},_c={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},pc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},ac={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},uc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},rc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},dc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},lc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MIXGOPE_FIELD+Tt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Tt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ic={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_shake,"shake"],[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"],[Tt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Tt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Tt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Tt.Msg.MSG.catSensor,s=Tt.Msg.MIXLY_MICROBIT_JS_STATE,o=Tt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Tt.Msg.MIXLY_MICROBIT_shake,up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT,"face up":Tt.Msg.MIXLY_MICROBIT_face_up,"face down":Tt.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},Tc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Mc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET+Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},hc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},mc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Ec={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_GETTEMPERATUE)}},Oc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return Tt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Rc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},cc={init:function(){this.setColour(NR),this.appendValueInput("SPISUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},gc={init:function(){this.setColour(NR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Tt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cc={init:function(){this.setColour(NR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sc={init:function(){this.setColour(NR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Ac={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Tt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Lc={init:function(){this.setColour(NR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Tt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Tt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Nc={init:function(){this.setColour(NR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RFID_SCAN_OK,"0"],[Tt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Tt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},fc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Pc={init:function(){this.setColour(NR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Tt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+", font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},kF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},WF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},KF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},JF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},QF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},qF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},zF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},jF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},$F=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},ZF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},tP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},eP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},iP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},nP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},sP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},oP=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},_P=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},pP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},aP=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n"}},uP=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},rP=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},dP=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},lP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},IP=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},TP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},MP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},hP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},mP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},EP=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),o=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),_=this.getFieldValue("key");return"TM1650"==_?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+_+"(clk="+s+",dio="+o+")\n"):"TM1637"==_&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+_+"(clk="+s+",dio="+o+")\n"),i},OP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},RP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},cP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},gP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},CP=function(t,e){e.definitions_.import_st7789="import st7789";var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+_+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},SP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+o+", size="+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+o+", size="+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},AP=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},LP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},NP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},DP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},fP=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},FP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},PP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+o+")\n"},vP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},YP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},XP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},xP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},bP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=this.getFieldValue("driver"),_=Mt.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(_)>=0?"0x700000":["mixgo_sant"].indexOf(_)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+o+")\n"},yP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},VP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},BP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},GP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},UP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},HP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},kP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},WP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},KP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},JP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},QP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},qP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},zP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},jP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},$P=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},ZP=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+o+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+o+")\n"},tv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},ev=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.frame("+n+", delay="+s+")\n"}return o},iv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},nv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.scroll("+n+", speed="+s+", space="+o+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+o+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.scroll("+n+", speed="+s+", space="+o+")\n"}return _},sv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},ov=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},_v=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},pv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},av=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Kv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},Jv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},Qv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},qv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},zv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},jv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},$v=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},Zv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),_=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+",sync="+_+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+_+")\n"}return p},tY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var o="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o="onboard_tft.fill(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+",sync="+s+")\n"}return o},eY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+", "+s+", "+o+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},iY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},nY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},sY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},oY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},_Y=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},pY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},aY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},uY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},rY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},dY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},lY=$P,IY=mv,TY=Tv,MY=mv,hY=Ev,mY=rv,EY=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},OY=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},RY=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},BB=function(){return"control.reset()\n"},GB=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},UB=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},wB=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},HB=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},kB=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},WB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},KB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},JB=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},QB=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},qB=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},zB=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},jB=function(){return"while True:\n pass\n"},$B=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},ZB=function(t,e){return e.definitions_.import_os="import os","os.uname()"},tG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},eG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},iG=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},nG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},sG=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},oG=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},_G=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},pG=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},aG=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},uG=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},rG=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},dG=oG,lG=_G,IG=sG,TG=tG,MG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},hG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},mG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},EG=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},OG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},RG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},cG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},gG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},CG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},SG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},AG=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},LG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},NG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},DG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},fG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},FG='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:PG}=Mt,vG=PG.render(FG,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:YG}=Mt,XG=YG.render(FG,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:xG}=Mt,bG=xG.render(FG,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),yG=new Tt.Generator("Python");yG.INDENT=" ",yG.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),yG.ORDER_ATOMIC=0,yG.ORDER_COLLECTION=1,yG.ORDER_STRING_CONVERSION=1,yG.ORDER_UNARY_POSTFIX=1,yG.ORDER_UNARY_PREFIX=2,yG.ORDER_MEMBER=2.1,yG.ORDER_FUNCTION_CALL=2.2,yG.ORDER_EXPONENTIATION=3,yG.ORDER_UNARY_SIGN=4,yG.ORDER_BITWISE_NOT=4,yG.ORDER_MULTIPLICATIVE=5,yG.ORDER_ADDITIVE=6,yG.ORDER_BITWISE_SHIFT=7,yG.ORDER_BITWISE_AND=8,yG.ORDER_BITWISE_XOR=9,yG.ORDER_BITWISE_OR=10,yG.ORDER_RELATIONAL=11,yG.ORDER_EQUALITY=11,yG.ORDER_LOGICAL_NOT=12,yG.ORDER_LOGICAL_AND=13,yG.ORDER_LOGICAL_OR=14,yG.ORDER_ASSIGNMENT=14,yG.ORDER_CONDITIONAL=15,yG.ORDER_LAMBDA=16,yG.ORDER_NONE=99,yG.ORDER_OVERRIDES=[[yG.ORDER_FUNCTION_CALL,yG.ORDER_MEMBER],[yG.ORDER_FUNCTION_CALL,yG.ORDER_FUNCTION_CALL],[yG.ORDER_MEMBER,yG.ORDER_MEMBER],[yG.ORDER_MEMBER,yG.ORDER_FUNCTION_CALL]],yG.init=function(){yG.PASS=this.INDENT+"pass\n",yG.definitions_=Object.create(null),yG.functionNames_=Object.create(null),yG.setups_=Object.create(null),yG.loops_=Object.create(null),yG.codeEnd_=Object.create(null),yG.variableDB_?yG.variableDB_.reset():yG.variableDB_=new Ot(yG.RESERVED_WORDS_)},yG.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in yG.functions_)_.push(yG.functions_[s]);_.length&&_.push("\n");var p=[];for(var s in yG.setups_)p.push(yG.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in yG.loops_)a.push(yG.loops_[s]);var u=[];for(var s in yG.codeEnd_)u.push(yG.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n"),r},yG.scrubNakedValue=function(t){return t+"\n"},yG.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},yG.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},yG.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Tt.utils.string.wrap(o,yG.COMMENT_WRAP-3),n+=yG.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const VG={};VG.MixGo={description:"MicroPython[ESP32 MixGo]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},VG["MixGo PE"]={description:"MicroPython[ESP32 MixGo PE]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin7","pin7"],["pin8","pin8"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm7","pwm7"],["pwm8","pwm8"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:Mt.Profile.generate(["0-7"]),exlcdv:Mt.Profile.generate(["0-4"]),brightness:Mt.Profile.generate(["0-9"]),tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},VG["ESP32 Generic(4MB)"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin11","pin11"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},VG.mPython={description:"MicroPython[ESP32 Generic]",digital_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],digital:[["pin0","pin33"],["pin1","pin32"],["pin2","pin35"],["pin5","pin0"],["pin6","pin16"],["pin7","pin17"],["pin8","pin26"],["pin9","pin25"],["pin11","pin2"],["pin13","pin18"],["pin14","pin19"],["pin15","pin21"],["pin16","pin5"],["pin19","pin22"],["pin20","pin23"]],input_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],output_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm:[["pwm0","pwm33"],["pwm1","pwm32"],["pwm5","pwm0"],["pwm6","pwm16"],["pwm7","pwm17"],["pwm8","pwm26"],["pwm9","pwm25"],["pwm11","pwm2"],["pwm13","pwm18"],["pwm14","pwm19"],["pwm15","pwm21"],["pwm16","pwm5"],["pwm19","pwm22"],["pwm20","pwm23"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),analog_pin:[["p0","33"],["p1","32"],["p2","35"],["p3","34"],["p4","39"],["p10","36"]],analog:[["adc0","adc33"],["adc1","adc32"],["adc2","adc35"],["adc3","adc34"],["adc4","adc39"],["adc10","adc36"]],dac_pin:[["p8","26"],["p9","25"]],dac:[["dac8","dac26"],["dac9","dac25"]],touch_mpython:[["p","p"],["y","y"],["t","t"],["h","h"],["o","o"],["n","n"]],touch:[["tc0","tc33"],["tc1","tc32"],["tc5","tc0"],["tc11","tc2"],["tc23","tc27"],["tc24","tc14"],["tc25","tc12"],["tc26","tc13"],["tc27","tc15"],["tc28","tc4"]],touch_pin:[["p0","33"],["p1","32"],["p5","0"],["p11","2"],["p23","27"],["p24","14"],["p25","12"],["p26","13"],["p27","15"],["p28","4"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]};const BG=VG,GG=230,UG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital),"PIN"),this.setOutput(!0)}},wG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},HG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},kG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},WG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},KG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},JG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},QG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},qG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},zG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},jG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},$G={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},ZG={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},tU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},eU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},iU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},nU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},sU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog),"PIN"),this.setOutput(!0)}},oU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},_U={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.dac),"PIN"),this.setOutput(!0)}},pU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},aU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},uU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},rU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},dU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},lU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch),"PIN"),this.setOutput(!0)}},IU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},TU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},MU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},hU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},mU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},EU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},OU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},RU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},cU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},gU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},CU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},SU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},AU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},LU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},NU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},DU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},fU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},FU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},PU={init:function(){this.setColour(GG),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},vU=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},YU=vU,XU=vU,xU=vU,bU=vU,yU=vU,VU=vU,BU=vU,GU=vU,UU=vU,wU=vU,HU=vU,kU=vU,WU=vU,KU=vU,JU=vU,QU=vU,qU=vU,zU=vU,jU=vU,$U=vU,ZU=vU,tw=vU,ew=vU,iw=vU,nw=vU,sw=vU,ow=vU,_w=vU,pw=vU,aw=vU,uw=vU,rw=vU,dw=vU,lw=vU,Iw=vU;Object.assign(Tt.Variables,mt),Object.assign(Tt.Procedures,Yu),Object.assign(Tt.Lang.ZhHans,ut),Object.assign(Tt.Lang.ZhHant,rt),Object.assign(Tt.Lang.En,dt),Tt.Python=Xu,Tt.generator=Xu,Mt.Profile.default={},Object.assign(Mt.Profile,BG),Object.assign(Mt.Profile.default,BG["ESP32 Generic"]),Object.assign(Tt.Blocks,e,i,n,s,o,_,p,a,u,r,d,l,I,b,H,w,v,y,k,f,U,G,B,V,F,D,N,X,Y,x,P,lt),Object.assign(Tt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,tt,pt,_t,z,et,at,J,ot,st,nt,it,Q,K,W,$,j,Z,q,It)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32/main.bundle.e54d8d89.js b/boards/default/micropython_esp32/main.bundle.e54d8d89.js deleted file mode 100644 index 4436b596..00000000 --- a/boards/default/micropython_esp32/main.bundle.e54d8d89.js +++ /dev/null @@ -1,21 +0,0 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>At,controls_typeLists:()=>Lt,lists_zip:()=>Nt,lists_zip_container:()=>Dt,lists_zip_item:()=>ft,unpack_iterable_object:()=>Ft,variables_change:()=>Ct,variables_get:()=>ct,variables_global:()=>St,variables_set:()=>gt});var i={};t.r(i),t.d(i,{base_setup:()=>Yt,controls_delay:()=>Xt,controls_end_program:()=>xt,controls_except:()=>Qt,controls_finally:()=>qt,controls_flow_statements:()=>Ut,controls_for:()=>wt,controls_forEach:()=>Vt,controls_for_range:()=>Ht,controls_if:()=>bt,controls_if_else:()=>Kt,controls_if_elseif:()=>Wt,controls_if_if:()=>kt,controls_lambda:()=>jt,controls_main:()=>vt,controls_pass:()=>$t,controls_range:()=>yt,controls_repeat_ext:()=>zt,controls_thread:()=>Zt,controls_try:()=>Jt,controls_try_finally:()=>Gt,controls_whileUntil:()=>Bt,datetime_fromtimestamp:()=>oe,do_while:()=>te,garbage_collection:()=>ee,gene_unique_identifier:()=>_e,get_mem_alloc:()=>ie,get_mem_free:()=>ne,get_unique_identifier:()=>se});var n={};t.r(n),t.d(n,{base_map:()=>Ne,generate_cartesian_product:()=>fe,math_arithmetic:()=>de,math_bit:()=>Ie,math_constant:()=>ue,math_constant_mp:()=>re,math_constrain:()=>Re,math_dec:()=>Me,math_degree_to_radian:()=>Pe,math_indexer_number:()=>ge,math_map:()=>ce,math_max_min:()=>me,math_number:()=>ae,math_number_base_conversion:()=>Ee,math_radian_to_degree:()=>Fe,math_random:()=>Oe,math_random_seed:()=>Ce,math_round:()=>Se,math_selfcalcu:()=>le,math_to_int:()=>he,math_trig:()=>Te,text_to_number:()=>Ae,text_to_number_skulpt:()=>Le,turn_to_int:()=>De});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Ve,char_to_ascii:()=>Be,number_to_text:()=>Ge,os_system:()=>di,text:()=>Ye,text_bytes:()=>xe,text_capital:()=>qe,text_center:()=>ze,text_char:()=>be,text_char_at:()=>He,text_char_at2:()=>we,text_char_at3:()=>pi,text_compareTo:()=>_i,text_compare_to:()=>Qe,text_create_with_container:()=>ni,text_create_with_item:()=>si,text_encode:()=>ui,text_equals_starts_ends:()=>Je,text_eval:()=>ri,text_find:()=>je,text_format:()=>ii,text_format_noreturn:()=>ai,text_join:()=>ye,text_join_seq:()=>$e,text_length:()=>Ue,text_random_char:()=>ke,text_replace:()=>Ze,text_split:()=>ti,text_strip:()=>ei,text_substring:()=>Ke,text_substring2:()=>We,text_substring3:()=>oi,text_textarea:()=>Xe});var o={};t.r(o),t.d(o,{ENUMERATE:()=>Ji,content_in_lists:()=>qi,enumerate:()=>Qi,list_many_input:()=>Xi,list_tolist:()=>Vi,list_tolist2:()=>Ki,list_trig:()=>Pi,lists_2d_get_col_row_data:()=>hi,lists_2d_get_data_with_col_row:()=>Mi,lists_append_extend:()=>gi,lists_change_to:()=>Yi,lists_change_to_general:()=>bi,lists_clear:()=>Ni,lists_create_with:()=>mi,lists_create_with2:()=>Bi,lists_create_with_container:()=>Oi,lists_create_with_item:()=>Ri,lists_create_with_noreturn:()=>xi,lists_create_with_text:()=>Ei,lists_create_with_text2:()=>Gi,lists_del_general:()=>yi,lists_find:()=>Fi,lists_getIndex3:()=>Ui,lists_getSublist3:()=>wi,lists_get_index:()=>Ii,lists_get_random_item:()=>Ci,lists_get_random_sublist:()=>Si,lists_get_sublist:()=>Ti,lists_insert_value:()=>Ai,lists_insert_value2:()=>ki,lists_pop:()=>fi,lists_remove_at:()=>Di,lists_remove_at2:()=>Wi,lists_reverse:()=>Li,lists_setIndex3:()=>Hi,lists_set_index:()=>ci,lists_sort:()=>vi});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>ln,dicts_add_or_change:()=>sn,dicts_clear:()=>pn,dicts_create_with:()=>ji,dicts_create_with_container:()=>$i,dicts_create_with_item:()=>Zi,dicts_create_with_noreturn:()=>Mn,dicts_deldict:()=>dn,dicts_delete:()=>on,dicts_get:()=>en,dicts_get_default:()=>nn,dicts_items:()=>an,dicts_keys:()=>tn,dicts_length:()=>rn,dicts_pop:()=>In,dicts_setdefault:()=>Tn,dicts_to_json:()=>mn,dicts_to_json2:()=>Rn,dicts_to_to:()=>On,dicts_todict:()=>hn,dicts_update:()=>_n,dicts_values:()=>un,json_to_dicts:()=>En});var p={};t.r(p),t.d(p,{logic_boolean:()=>Ln,logic_compare:()=>gn,logic_compare_continous:()=>Cn,logic_is:()=>Fn,logic_is_in:()=>fn,logic_negate:()=>An,logic_null:()=>Nn,logic_operation:()=>Sn,logic_tobool:()=>Pn,logic_true_or_false:()=>Dn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>ts,sdcard_use_spi_init:()=>Zn,storage_can_write_ornot:()=>Gn,storage_change_dir:()=>jn,storage_close_file:()=>wn,storage_delete_file:()=>kn,storage_file_seek:()=>Jn,storage_file_tell:()=>Kn,storage_file_write:()=>bn,storage_fileopen:()=>Yn,storage_fileopen_new:()=>Xn,storage_fileopen_new_encoding:()=>xn,storage_get_a_line:()=>Bn,storage_get_contents:()=>Vn,storage_get_contents_without_para:()=>yn,storage_get_current_dir:()=>Qn,storage_get_file_size:()=>Wn,storage_get_filename:()=>Un,storage_is_file:()=>$n,storage_list_all_files:()=>Hn,storage_make_dir:()=>qn,storage_open_file_with_os:()=>vn,storage_rename:()=>zn});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>os,procedures_callreturn:()=>_s,procedures_defnoreturn:()=>es,procedures_defreturn:()=>is,procedures_ifreturn:()=>ps,procedures_mutatorarg:()=>ss,procedures_mutatorcontainer:()=>ns,procedures_return:()=>as});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Rs,tuple_create_llm_params:()=>fs,tuple_create_with:()=>rs,tuple_create_with_container:()=>ds,tuple_create_with_item:()=>ls,tuple_create_with_noreturn:()=>Ss,tuple_create_with_text2:()=>Is,tuple_create_with_text_return:()=>Ts,tuple_del:()=>ms,tuple_find:()=>cs,tuple_getIndex:()=>Ms,tuple_getSublist:()=>Cs,tuple_get_random_item:()=>Ls,tuple_get_sublist:()=>As,tuple_input:()=>Ds,tuple_join:()=>Es,tuple_length:()=>hs,tuple_max:()=>Os,tuple_totuple:()=>Ns,tuple_trig:()=>gs});var d={};t.r(d),t.d(d,{set_add_discard:()=>Bs,set_clear:()=>bs,set_create_with:()=>Ps,set_create_with_container:()=>vs,set_create_with_item:()=>Ys,set_create_with_text_return:()=>ws,set_length:()=>Xs,set_operate:()=>ys,set_operate_update:()=>Vs,set_pop:()=>xs,set_sub:()=>Gs,set_toset:()=>Hs,set_update:()=>Us});var l={};t.r(l),t.d(l,{html_content:()=>Qs,html_content_more:()=>qs,html_document:()=>Ws,html_form:()=>js,html_head_body:()=>Js,html_style:()=>zs,html_style_color:()=>Zs,html_style_content:()=>$s,html_text:()=>to,html_title:()=>Ks});var I={};t.r(I),t.d(I,{attribute_access:()=>Mo,function_call:()=>lo,function_call_container:()=>Io,function_call_item:()=>To,raw_block:()=>no,raw_empty:()=>oo,raw_expression:()=>so,raw_table:()=>io,text_comment:()=>_o,text_print_multiple:()=>ao,text_print_multiple_container:()=>uo,text_print_multiple_item:()=>ro,type_check:()=>po});var T={};t.r(T),t.d(T,{controls_type:()=>Ro,controls_typeLists:()=>co,lists_zip:()=>go,unpack_iterable_object:()=>Co,variables_change:()=>Eo,variables_get:()=>ho,variables_global:()=>Oo,variables_set:()=>mo});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>Yo,base_setup:()=>Ao,controls_delay:()=>vo,controls_flow_statements:()=>Po,controls_for:()=>Do,controls_forEach:()=>Vo,controls_for_range:()=>fo,controls_if:()=>Lo,controls_interrupts:()=>bo,controls_lambda:()=>Go,controls_main:()=>So,controls_millis:()=>Xo,controls_nointerrupts:()=>yo,controls_pass:()=>wo,controls_range:()=>Bo,controls_repeat:()=>zo,controls_repeat_ext:()=>Wo,controls_thread:()=>Ho,controls_try_finally:()=>No,controls_whileUntil:()=>Fo,datetime_fromtimestamp:()=>jo,do_while:()=>ko,garbage_collection:()=>Ko,gene_unique_identifier:()=>$o,get_mem_alloc:()=>Jo,get_mem_free:()=>Qo,get_unique_identifier:()=>qo,reset:()=>xo,time_sleep:()=>Uo});var h={};t.r(h),t.d(h,{base_map:()=>O_,generate_cartesian_product:()=>c_,math_arithmetic:()=>n_,math_bit:()=>i_,math_constant:()=>t_,math_constant_mp:()=>e_,math_constrain:()=>l_,math_dec:()=>p_,math_degree_to_radian:()=>C_,math_indexer_number:()=>M_,math_map:()=>d_,math_max_min:()=>u_,math_number:()=>Zo,math_number_base_conversion:()=>I_,math_radian_to_degree:()=>g_,math_random:()=>r_,math_random_seed:()=>T_,math_round:()=>h_,math_selfcalcu:()=>s_,math_single:()=>o_,math_to_int:()=>a_,math_trig:()=>__,text_to_number:()=>m_,text_to_number_skulpt:()=>E_,turn_to_int:()=>R_});var m={};t.r(m),t.d(m,{ascii_to_char:()=>f_,char_to_ascii:()=>F_,number_to_text:()=>P_,os_system:()=>tp,text:()=>S_,text_bytes:()=>L_,text_capital:()=>G_,text_center:()=>U_,text_char:()=>N_,text_char_at:()=>X_,text_char_at2:()=>Y_,text_char_at3:()=>j_,text_compareTo:()=>z_,text_compare_to:()=>y_,text_encode:()=>$_,text_equals_starts_ends:()=>b_,text_eval:()=>Z_,text_find:()=>w_,text_format:()=>J_,text_format_noreturn:()=>Q_,text_join:()=>D_,text_join_seq:()=>H_,text_length:()=>v_,text_random_char:()=>x_,text_replace:()=>k_,text_split:()=>W_,text_strip:()=>K_,text_substring:()=>B_,text_substring2:()=>V_,text_substring3:()=>q_,text_textarea:()=>A_});var E={};t.r(E),t.d(E,{content_in_lists:()=>Xp,enumerate:()=>Yp,list_many_input:()=>Rp,list_tolist:()=>Pp,list_tolist2:()=>vp,list_trig:()=>mp,lists_2d_get_col_row_data:()=>np,lists_2d_get_data_with_col_row:()=>ip,lists_append_extend:()=>ap,lists_change_to:()=>Op,lists_change_to_general:()=>gp,lists_clear:()=>Ip,lists_create_with:()=>sp,lists_create_with2:()=>Sp,lists_create_with_noreturn:()=>cp,lists_create_with_text:()=>op,lists_create_with_text2:()=>Ap,lists_del_general:()=>Cp,lists_find:()=>Tp,lists_getIndex3:()=>Lp,lists_getSublist3:()=>Np,lists_get_index:()=>_p,lists_get_random_item:()=>up,lists_get_random_sublist:()=>rp,lists_get_sublist:()=>ep,lists_insert_value:()=>dp,lists_insert_value2:()=>fp,lists_pop:()=>hp,lists_remove_at:()=>Mp,lists_remove_at2:()=>Fp,lists_reverse:()=>lp,lists_setIndex3:()=>Dp,lists_set_index:()=>pp,lists_sort:()=>Ep});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>Jp,dicts_add_or_change:()=>Bp,dicts_clear:()=>wp,dicts_create_with:()=>xp,dicts_create_with_noreturn:()=>zp,dicts_deldict:()=>Kp,dicts_delete:()=>Gp,dicts_get:()=>yp,dicts_get_default:()=>Vp,dicts_items:()=>Hp,dicts_keys:()=>bp,dicts_length:()=>Wp,dicts_pop:()=>Qp,dicts_setdefault:()=>qp,dicts_to_json:()=>$p,dicts_to_json2:()=>ea,dicts_to_to:()=>ta,dicts_todict:()=>jp,dicts_update:()=>Up,dicts_values:()=>kp,json_to_dicts:()=>Zp});var R={};t.r(R),t.d(R,{logic_boolean:()=>_a,logic_compare:()=>ia,logic_compare_continous:()=>na,logic_is:()=>ra,logic_is_in:()=>ua,logic_negate:()=>oa,logic_null:()=>pa,logic_operation:()=>sa,logic_tobool:()=>da,logic_true_or_false:()=>aa});var c={};t.r(c),t.d(c,{sdcard_mount:()=>Xa,sdcard_use_spi_init:()=>Ya,storage_can_write_ornot:()=>Ra,storage_change_dir:()=>Da,storage_close_file:()=>ga,storage_delete_file:()=>Sa,storage_file_seek:()=>Na,storage_file_tell:()=>La,storage_file_write:()=>ha,storage_fileopen:()=>Ia,storage_fileopen_new:()=>Ta,storage_fileopen_new_encoding:()=>Ma,storage_get_a_line:()=>Oa,storage_get_contents:()=>Ea,storage_get_contents_without_para:()=>ma,storage_get_current_dir:()=>fa,storage_get_file_size:()=>Aa,storage_get_filename:()=>ca,storage_is_file:()=>va,storage_list_all_files:()=>Ca,storage_make_dir:()=>Fa,storage_open_file_with_os:()=>la,storage_rename:()=>Pa});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Va,procedures_callreturn:()=>ya,procedures_defnoreturn:()=>ba,procedures_defreturn:()=>xa,procedures_ifreturn:()=>Ba,procedures_return:()=>Ga});var C={};t.r(C),t.d(C,{tuple_change_to:()=>qa,tuple_create_llm_params:()=>su,tuple_create_with:()=>Ua,tuple_create_with_noreturn:()=>Za,tuple_create_with_text2:()=>wa,tuple_create_with_text_return:()=>Ha,tuple_del:()=>Ka,tuple_find:()=>za,tuple_getIndex:()=>ka,tuple_getSublist:()=>$a,tuple_get_random_item:()=>eu,tuple_get_sublist:()=>tu,tuple_input:()=>nu,tuple_join:()=>Ja,tuple_length:()=>Wa,tuple_max:()=>Qa,tuple_totuple:()=>iu,tuple_trig:()=>ja});var S={};t.r(S),t.d(S,{set_add_discard:()=>du,set_clear:()=>au,set_create_with:()=>ou,set_create_with_text_return:()=>Tu,set_length:()=>_u,set_operate:()=>uu,set_operate_update:()=>ru,set_pop:()=>pu,set_sub:()=>lu,set_toset:()=>Mu,set_update:()=>Iu});var A={};t.r(A),t.d(A,{html_content:()=>Ou,html_content_more:()=>Ru,html_document:()=>hu,html_form:()=>gu,html_head_body:()=>Eu,html_style:()=>cu,html_style_content:()=>Cu,html_text:()=>Su,html_title:()=>mu});var L={};t.r(L),t.d(L,{attribute_access:()=>Pu,function_call:()=>Fu,raw_block:()=>Au,raw_empty:()=>Nu,raw_expression:()=>Lu,raw_table:()=>Du,type_check:()=>fu});var N={};t.r(N),t.d(N,{PIN_init:()=>Vr,actuator_extern_get_led_bright:()=>Ju,actuator_extern_get_led_state:()=>Qu,actuator_extern_led_bright:()=>Ku,actuator_extern_led_brightness:()=>qu,actuator_ms32006_dcmotor:()=>sr,actuator_ms32006_init:()=>nr,actuator_ms32006_stepper:()=>or,actuator_neopixel_init:()=>_r,actuator_neopixel_rgb:()=>pr,actuator_neopixel_rgb_all:()=>ar,actuator_neopixel_rgb_show_all_chase:()=>dr,actuator_neopixel_rgb_show_all_rainbow:()=>rr,actuator_neopixel_write:()=>ur,actuator_use_uart_init:()=>lr,backstage_esp32_music_play_list:()=>Gu,esp32_music_get_tempo_extern:()=>wu,esp32_music_pitch:()=>yu,esp32_music_pitch_init:()=>bu,esp32_music_pitch_with_time:()=>Vu,esp32_music_play_list:()=>Bu,esp32_music_reset_extern:()=>Hu,esp32_music_set_tempo_extern:()=>Uu,esp32_music_stop:()=>ku,esp32_set_music_volume:()=>Wu,mixbot_actuator_extern_get_addr:()=>br,mixbot_actuator_extern_set_addr:()=>yr,mixbot_addr_extern:()=>Cr,parrot_PIN_init:()=>wr,parrot_move_speed:()=>Hr,pin_led_bright:()=>Br,player_insert_music:()=>Er,player_play_music:()=>mr,player_set_mode:()=>hr,player_set_play:()=>Tr,player_set_volume:()=>Mr,player_whether_stop:()=>Ir,robot_led_extern:()=>Nr,robot_led_extern_get_value:()=>Dr,robot_motor_extern:()=>Sr,robot_motor_extern_get_speed:()=>Ar,robot_servo_extern_absolute_run:()=>vr,robot_servo_extern_get_status:()=>fr,robot_servo_extern_relative_continue:()=>xr,robot_servo_extern_relative_origin:()=>Yr,robot_servo_extern_relative_run:()=>Xr,robot_servo_extern_stop:()=>Pr,robot_servo_extern_stop_mode:()=>Fr,robot_traffic_light_extern:()=>Lr,servo_PIN_init:()=>Gr,servo_get_angle:()=>er,servo_get_speed:()=>ir,servo_init:()=>zu,servo_move:()=>ju,servo_move_angle:()=>Ur,servo_set_angle:()=>Zu,servo_set_speed:()=>tr,servo_speed_360:()=>$u,syn6288_builtin_voice:()=>cr,syn6288_get_voice:()=>Rr,syn6288_set_voice:()=>Or,syn6288_tts_play:()=>gr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>gd,actuator_dc_motor_stop:()=>Cd,actuator_get_led_bright:()=>Qr,actuator_get_led_state:()=>qr,actuator_led_bright:()=>Jr,actuator_led_brightness:()=>zr,actuator_mixbot_buzzer_on_off:()=>Dd,actuator_mixgo_nova_mic_get:()=>Yd,actuator_mixgo_nova_mic_set:()=>vd,actuator_mixgo_nova_onboard_music_pitch:()=>Bd,actuator_mixgo_nova_onboard_music_stop:()=>Gd,actuator_mixgo_nova_play_audio:()=>yd,actuator_mixgo_nova_play_online_audio:()=>Vd,actuator_mixgo_nova_record_audio:()=>bd,actuator_mixgo_nova_voice_get:()=>xd,actuator_mixgo_nova_voice_set:()=>Xd,actuator_mixgo_zero_led_color:()=>jr,actuator_onboard_neopixel_rgb:()=>nd,actuator_onboard_neopixel_rgb_all:()=>sd,actuator_onboard_neopixel_rgb_show_all_chase:()=>_d,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>od,actuator_onboard_neopixel_write:()=>pd,actuator_rm_onboard_neopixel_rgb:()=>ad,actuator_rm_onboard_neopixel_rgb_all:()=>ud,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>rd,actuator_stepper_keep:()=>Rd,actuator_stepper_stop:()=>cd,analog_ble_keyboard_init:()=>Zd,analog_ble_keyboard_input:()=>il,analog_ble_keyboard_mouse_init:()=>rl,analog_ble_keyboard_mouse_input:()=>Tl,analog_ble_keyboard_mouse_send_battery:()=>Il,analog_ble_keyboard_mouse_str:()=>Ml,analog_ble_keyboard_send_battery:()=>sl,analog_ble_keyboard_str:()=>nl,analog_ble_mouse_init:()=>ol,analog_ble_mouse_input:()=>al,analog_ble_mouse_keyboard_input:()=>hl,analog_ble_mouse_send_battery:()=>ul,analog_keyboard_input:()=>kd,analog_keyboard_str:()=>$d,analog_mouse_input:()=>zd,backstage_onboard_music_play_list:()=>Ed,bitbot_motor:()=>Pd,bitbot_move:()=>fd,bitbot_stop:()=>Fd,ble_keyboard_connect:()=>el,ble_keyboard_get_mac:()=>tl,ble_keyboard_mouse_connect:()=>ll,ble_keyboard_mouse_get_mac:()=>dl,ble_mouse_connect:()=>pl,ble_mouse_get_mac:()=>_l,cc_number:()=>id,educore_ble_keyboard_input:()=>Ll,educore_ble_sensor_connected:()=>Al,educore_ble_sensor_init:()=>Sl,educore_buzzer:()=>ml,educore_buzzer_play_tone:()=>El,educore_buzzer_play_tone_time:()=>Ol,educore_buzzer_stop:()=>Rl,educore_neopixel_clear:()=>Cl,educore_neopixel_rgb:()=>gl,educore_rgb_light:()=>cl,esp32_music_get_tempo:()=>ld,esp32_music_reset:()=>Id,esp32_music_set_tempo:()=>dd,esp32_onboard_music_pitch:()=>Td,esp32_onboard_music_pitch_with_time:()=>Md,esp32_onboard_music_play_list:()=>md,esp32_onboard_music_stop:()=>hd,general_key:()=>Kd,general_key_tuple:()=>Jd,generalkey_container:()=>Qd,generalkey_create_with_item:()=>qd,get_keyboard_light:()=>Nl,get_power_output:()=>wd,ledswitch:()=>Kr,mixbot_motor:()=>Nd,mixbot_motor_status:()=>Sd,mixbot_move:()=>Ad,mixbot_stop:()=>Ld,mouse_key:()=>jd,number:()=>Wr,record_audio:()=>fl,rm_actuator_get_led_bright:()=>Zr,rm_actuator_get_led_state:()=>td,rm_actuator_led_bright:()=>$r,rm_actuator_led_brightness:()=>ed,rm_motor:()=>Od,set_all_power_output:()=>Hd,set_microphone_amplification:()=>Dl,set_music_volume:()=>Fl,set_power_output:()=>Ud,special_key:()=>Wd});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>rI,ai_sensor_ailocal_class:()=>Zl,ai_sensor_ailocal_class_result:()=>tI,ai_sensor_ailocal_train:()=>$l,ai_sensor_asr_recognize:()=>oI,ai_sensor_audio_play:()=>iI,ai_sensor_audio_record:()=>eI,ai_sensor_barcode:()=>Vl,ai_sensor_circle:()=>kl,ai_sensor_classifier_faces:()=>uI,ai_sensor_color:()=>Ql,ai_sensor_color_chases:()=>jl,ai_sensor_color_chases_result:()=>zl,ai_sensor_config:()=>bl,ai_sensor_face:()=>aI,ai_sensor_find_20objects:()=>dI,ai_sensor_find_barcodes:()=>Bl,ai_sensor_find_circles:()=>Wl,ai_sensor_find_colors:()=>ql,ai_sensor_find_licenseplates:()=>pI,ai_sensor_find_lines:()=>Hl,ai_sensor_find_qrcodes:()=>xl,ai_sensor_find_rects:()=>Jl,ai_sensor_find_tags:()=>Ul,ai_sensor_licenseplate:()=>_I,ai_sensor_line:()=>wl,ai_sensor_qrcode:()=>Yl,ai_sensor_qrcode_lite:()=>Xl,ai_sensor_rect:()=>Kl,ai_sensor_rgb:()=>yl,ai_sensor_tag:()=>Gl,ai_sensor_use_uart_init:()=>vl,ai_sensor_yolo_recognize:()=>nI,ai_sensor_yolo_recognize_result:()=>sI});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>TI,MICROPYTHON_AI_Speech_unit:()=>II,MICROPYTHON_AI_client:()=>lI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>fI,mpython_blynk_app_notify:()=>gI,mpython_blynk_email:()=>AI,mpython_blynk_get_timers:()=>LI,mpython_blynk_on_connected:()=>OI,mpython_blynk_on_disconnected:()=>EI,mpython_blynk_run:()=>cI,mpython_blynk_sensor_data_to_app:()=>DI,mpython_blynk_set_property:()=>SI,mpython_blynk_setup:()=>FI,mpython_blynk_stop_timers:()=>CI,mpython_blynk_sync_virtual:()=>mI,mpython_blynk_terminal_widget_vpin:()=>hI,mpython_blynktimer:()=>NI,mpython_blynktimer_run:()=>RI});var v={};t.r(v),t.d(v,{communicate_bluetooth_central_init:()=>lT,communicate_bluetooth_connect:()=>hT,communicate_bluetooth_disconnect:()=>mT,communicate_bluetooth_handle:()=>gT,communicate_bluetooth_is_connected:()=>OT,communicate_bluetooth_mac:()=>MT,communicate_bluetooth_peripheral_init:()=>IT,communicate_bluetooth_recv:()=>RT,communicate_bluetooth_recv_only:()=>cT,communicate_bluetooth_scan:()=>TT,communicate_bluetooth_send:()=>ET,communicate_espnow_init:()=>CT,communicate_espnow_init_new:()=>ST,communicate_i2c_available:()=>QI,communicate_i2c_init:()=>XI,communicate_i2c_master_read:()=>JI,communicate_i2c_onboard:()=>vI,communicate_i2c_read:()=>xI,communicate_i2c_scan:()=>yI,communicate_i2c_write:()=>bI,communicate_ir_recv_init:()=>iT,communicate_ir_send_init:()=>pT,communicate_ow_init:()=>zI,communicate_ow_read:()=>$I,communicate_ow_reset:()=>eT,communicate_ow_scan:()=>jI,communicate_ow_select:()=>tT,communicate_ow_write:()=>ZI,communicate_spi_buffer:()=>GI,communicate_spi_init:()=>VI,communicate_spi_onboard:()=>YI,communicate_spi_read:()=>UI,communicate_spi_read_output:()=>wI,communicate_spi_readinto:()=>HI,communicate_spi_readinto_output:()=>kI,communicate_spi_set:()=>BI,communicate_spi_write:()=>WI,communicate_spi_write_readinto:()=>KI,espnow_radio_channel:()=>FT,espnow_radio_channel_new:()=>vT,espnow_radio_on_off:()=>YT,espnow_radio_rec:()=>xT,espnow_radio_recv:()=>yT,espnow_radio_recv_certain_msg:()=>VT,espnow_radio_recv_certain_msg_new:()=>GT,espnow_radio_recv_msg:()=>bT,espnow_radio_recv_new:()=>BT,espnow_radio_send:()=>XT,espnow_radio_txpower:()=>PT,i2c_available:()=>aM,i2c_init:()=>QT,i2c_master_reader2:()=>pM,i2c_read:()=>qT,i2c_scan:()=>jT,i2c_slave_onreceive:()=>qI,i2c_write:()=>zT,internal_variable:()=>nT,ir_recv_timeout:()=>_T,ir_transmit_busy:()=>dT,ir_transmit_conventional_data:()=>aT,ir_transmit_raw_code:()=>rT,ir_transmit_study_code:()=>uT,ir_whether_recv:()=>oT,lora_init:()=>UT,lora_packet:()=>wT,lora_recv:()=>kT,lora_send:()=>HT,network_espnow_info:()=>LT,network_espnow_mac:()=>AT,network_espnow_recv:()=>NT,network_espnow_recv_handle:()=>fT,network_espnow_send:()=>DT,recv_fun:()=>sT,spi_buffer:()=>tM,spi_init:()=>$T,spi_read:()=>eM,spi_read_output:()=>iM,spi_readinto:()=>nM,spi_readinto_output:()=>sM,spi_set:()=>ZT,spi_write:()=>oM,spi_write_readinto:()=>_M,urequests_attribute:()=>KT,urequests_get:()=>WT,urequests_method:()=>JT});var Y={};t.r(Y),t.d(Y,{display_animate:()=>GM,display_blink_rate:()=>bM,display_circle:()=>UM,display_color_seclet:()=>ZM,display_draw_4strings:()=>FM,display_fill:()=>BM,display_get_screen_image:()=>xM,display_help:()=>HM,display_image_size:()=>PM,display_lcd_use_i2c_init:()=>oh,display_line:()=>YM,display_line_arbitrarily:()=>XM,display_matrix_extern_bright_point:()=>gM,display_matrix_extern_bright_screen:()=>SM,display_matrix_extern_clear:()=>AM,display_matrix_extern_get_pixel:()=>cM,display_matrix_extern_get_screen_pixel:()=>CM,display_matrix_extern_image_builtins:()=>LM,display_matrix_extern_scroll_string:()=>hM,display_matrix_extern_scroll_string_delay:()=>mM,display_matrix_extern_shift:()=>RM,display_matrix_extern_show_frame_string:()=>EM,display_matrix_extern_show_frame_string_delay:()=>OM,display_matrix_extern_show_image:()=>TM,display_matrix_extern_show_image_or_string_delay:()=>MM,display_matrix_use_i2c_init:()=>IM,display_oled_drawPixel:()=>WM,display_oled_showBitmap:()=>kM,display_oled_use_i2c_init:()=>rh,display_onoff:()=>VM,display_rect:()=>vM,display_rgb_color:()=>yM,display_tm1650_power:()=>JM,display_tm1650_set_brightness:()=>zM,display_tm1650_show_dot:()=>qM,display_tm1650_show_num:()=>QM,display_tm_use_i2c_init:()=>KM,display_triangle:()=>wM,display_use_i2c_init:()=>fM,extern_oled_bright_point:()=>ch,extern_oled_clear:()=>gh,extern_oled_get_pixel:()=>Rh,extern_oled_hvline:()=>Sh,extern_oled_line:()=>Ah,extern_oled_scroll_string:()=>Mh,extern_oled_scroll_string_delay:()=>hh,extern_oled_shape_rect:()=>Ch,extern_oled_shift:()=>Oh,extern_oled_show_frame_string:()=>mh,extern_oled_show_frame_string_delay:()=>Eh,extern_oled_show_image:()=>dh,extern_oled_show_image_or_string_delay:()=>Th,extern_oled_show_image_xy:()=>lh,extern_oled_show_string:()=>Ih,lcd_backlight:()=>ah,lcd_clear:()=>uh,lcd_print_string:()=>ph,lcd_show_image_or_string_delay:()=>_h,matrix_extern_image_arithmetic:()=>NM,matrix_extern_image_invert:()=>DM,tft_fill:()=>nh,tft_line_arbitrarily:()=>sh,tft_scroll_string_delay:()=>eh,tft_show_frame_string_delay:()=>ih,tft_show_image_or_string_delay:()=>th,tft_show_image_xy:()=>$M,tft_use_spi_init:()=>jM});var X={};t.r(X),t.d(X,{bitbot_display_bitmap_create:()=>Om,bitbot_display_image_create:()=>Em,display_available:()=>Jh,display_bitmap_create:()=>bh,display_bright_point:()=>Hh,display_bright_screen:()=>Wh,display_clear:()=>Kh,display_get_pixel:()=>wh,display_get_screen_pixel:()=>kh,display_image_builtins:()=>yh,display_image_builtins_all:()=>Vh,display_image_create:()=>xh,display_scroll_string:()=>fh,display_scroll_string_delay:()=>Fh,display_scroll_way:()=>Ph,display_shift:()=>Uh,display_show_frame_string:()=>Yh,display_show_frame_string_delay:()=>Xh,display_show_image:()=>Nh,display_show_image_or_string_delay:()=>Dh,draw_pointer:()=>bm,image_arithmetic:()=>Bh,image_invert:()=>Gh,mixbot_display_bitmap_create:()=>Im,mixbot_display_bright_screen:()=>hm,mixbot_display_get_ambientbright:()=>Mm,mixbot_display_get_screen_pixel:()=>Tm,mixbot_display_image_create:()=>lm,mixbot_display_rotate:()=>mm,mixgo_display_bitmap_create:()=>Zh,mixgo_display_image_create_new:()=>$h,mixgome_display_bitmap_create:()=>qh,mixgome_display_font:()=>tm,mixgome_display_image_create:()=>Qh,mixgomini_display_bitmap_create:()=>jh,mixgomini_display_image_create:()=>zh,mpython_display_hvline:()=>um,mpython_display_line:()=>rm,mpython_display_shape_rect:()=>am,mpython_pbm_image:()=>dm,nova_draw_pointer:()=>ym,onboard_oled_bright_point:()=>pm,onboard_oled_scroll_string_delay:()=>om,onboard_oled_show_frame_string_delay:()=>_m,onboard_oled_show_image:()=>em,onboard_oled_show_image_or_string_delay:()=>sm,onboard_oled_show_image_xy:()=>im,onboard_oled_show_string:()=>nm,onboard_tft_bright_point:()=>Dm,onboard_tft_bright_screen:()=>Km,onboard_tft_clear:()=>Jm,onboard_tft_clock_clear:()=>Xm,onboard_tft_clock_draw:()=>Ym,onboard_tft_clock_get_rtctime:()=>Pm,onboard_tft_clock_init:()=>Fm,onboard_tft_clock_set_time:()=>vm,onboard_tft_display_hvline:()=>Am,onboard_tft_display_line:()=>Lm,onboard_tft_display_shape_circle:()=>xm,onboard_tft_display_shape_rect:()=>Sm,onboard_tft_fill:()=>fm,onboard_tft_get_pixel:()=>Nm,onboard_tft_get_screen_pixel:()=>Wm,onboard_tft_scroll_string:()=>wm,onboard_tft_scroll_string_delay:()=>vh,onboard_tft_shift:()=>km,onboard_tft_show_frame_string:()=>Hm,onboard_tft_show_frame_string_delay:()=>Cm,onboard_tft_show_image:()=>Um,onboard_tft_show_image_or_string_delay:()=>gm,onboard_tft_show_image_xy:()=>Rm,onboard_tft_show_image_xy_direct:()=>cm,onboard_tft_show_qrcode:()=>Bm,onboard_tft_show_qrcode_details:()=>Gm,onboard_tft_show_texts:()=>Vm});var x={};t.r(x),t.d(x,{factory_block:()=>dE,factory_block_return:()=>lE,factory_block_return_with_textarea:()=>TE,factory_block_with_textarea:()=>IE,factory_callMethod_noreturn:()=>uE,factory_callMethod_return:()=>rE,factory_create_with_container:()=>oE,factory_create_with_item:()=>_E,factory_declare:()=>aE,factory_from_import:()=>iE,factory_function_noreturn:()=>sE,factory_function_return:()=>pE,factory_import:()=>nE,folding_block:()=>ME});var b={};t.r(b),t.d(b,{controls_pin_attachInterrupt:()=>yE,inout_analog_atten:()=>AE,inout_analog_read:()=>SE,inout_analog_read_init:()=>PE,inout_analog_write:()=>cE,inout_analog_write_init:()=>FE,inout_analog_write_set:()=>gE,inout_analog_write_set_freq:()=>XE,inout_digital_init:()=>DE,inout_digital_read:()=>OE,inout_digital_write:()=>EE,inout_highlow:()=>mE,inout_pinMode:()=>YE,inout_pin_attachInterrupt:()=>NE,inout_pin_pressed:()=>LE,inout_pin_pressed_init:()=>vE,inout_pwm_analog_write:()=>RE,inout_pwm_analog_write_init:()=>fE,inout_pwm_analog_write_set_freq:()=>CE,pin_pressed:()=>bE,pin_pressed_init:()=>xE});var y={};t.r(y),t.d(y,{IOT_CONNECT_OLLAMA:()=>cO,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>aO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>pO,IOT_EMQX_PING:()=>oO,IOT_FORMATTING:()=>nO,IOT_FORMAT_STRING:()=>sO,IOT_MIXIO_NTP:()=>_O,IOT_MIXIO_PUBLISH:()=>qE,IOT_MIXIO_PUBLISHEX:()=>zE,IOT_MIXIO_SUBSCRIBE:()=>jE,iot_checkonenet:()=>EO,iot_client_onboard:()=>rO,iot_connect_ollama:()=>RO,iot_connect_openai:()=>gO,iot_create_with_item:()=>JE,iot_http_client:()=>dO,iot_http_data:()=>lO,iot_mixio_check:()=>tO,iot_mixio_connect:()=>QE,iot_mixio_connect_only:()=>ZE,iot_mixio_disconnect:()=>$E,iot_mixio_format_msg:()=>iO,iot_mixio_format_topic:()=>eO,iot_mixly_key:()=>uO,iot_mqtt_client:()=>IO,iot_mqtt_data:()=>TO,iot_onenet_check:()=>wE,iot_onenet_connect:()=>GE,iot_onenet_disconnect:()=>UE,iot_onenet_publish:()=>kE,iot_onenet_publish_dict:()=>HE,iot_onenetconnect:()=>hO,iot_onenetdisconnect:()=>mO,iot_publish:()=>OO,iot_publish_container:()=>WE,iot_publish_item:()=>KE,iot_tiny_web_db_count:()=>FO,iot_tiny_web_db_delete:()=>vO,iot_tiny_web_db_get:()=>fO,iot_tiny_web_db_init:()=>LO,iot_tiny_web_db_init_with_mqtt:()=>NO,iot_tiny_web_db_search:()=>PO,iot_tiny_web_db_update:()=>DO,iot_wifi_connect:()=>BE,iot_wificonnect:()=>MO,ollama_empty_history:()=>AO,use_ollama_llm_to_chat:()=>CO,use_ollama_llm_to_chat_return:()=>SO});var V={};t.r(V),t.d(V,{educore_mqtt_connect:()=>lR,educore_mqtt_connect_success:()=>hR,educore_mqtt_subscribe_message:()=>IR,educore_mqtt_topic_publish:()=>MR,educore_mqtt_topic_subscribe:()=>TR,educore_wifi_connect:()=>dR,network_ap_connect:()=>HO,network_connect:()=>VO,network_get_connect:()=>GO,network_get_wifi:()=>wO,network_init:()=>XO,network_is_active:()=>bO,network_open:()=>xO,network_scan:()=>yO,network_server:()=>kO,network_socket_accept:()=>qO,network_socket_bind:()=>KO,network_socket_close:()=>eR,network_socket_connect:()=>JO,network_socket_init:()=>WO,network_socket_listen:()=>QO,network_socket_readline:()=>zO,network_socket_receive:()=>jO,network_socket_receive_from:()=>ZO,network_socket_send:()=>$O,network_socket_send_to:()=>tR,network_stop:()=>UO,network_wifi_connect:()=>BO,ntptime_address:()=>_R,ntptime_time:()=>oR,requests_attribute:()=>nR,requests_attribute2:()=>rR,requests_get:()=>iR,requests_get2:()=>aR,requests_method:()=>sR,requests_post:()=>uR});var B={};t.r(B),t.d(B,{pe_g1_battery_left:()=>OR,pe_g1_dc_motor:()=>RR,pe_g1_dc_motor_speed:()=>cR,pe_g1_servo_get_angle:()=>SR,pe_g1_servo_get_speed:()=>AR,pe_g1_servo_set_angle:()=>gR,pe_g1_servo_set_speed:()=>CR,pe_g1_use_i2c_init:()=>ER});var G={};t.r(G),t.d(G,{CI130X_BROADCAST:()=>zR,CI130X_GET_THE_RECOGNIZED_CMD:()=>qR,CI130X_GET_WHETHER_IDENTIFY:()=>QR,CI130X_IDENTIFY_AND_SAVE:()=>JR,CI130X_SET_SYSTEM_CMD:()=>jR,HCSR04:()=>Bc,PS2_Button:()=>Hc,PS2_Buttons:()=>Wc,PS2_Buttons_new:()=>qc,PS2_State:()=>kc,PS2_init:()=>Gc,PS2_init_new:()=>Jc,PS2_stk:()=>Kc,PS2_stk_new:()=>zc,PS2_vibration:()=>wc,PS2_vibration_new:()=>Qc,camera_sensor_init:()=>Lg,camera_sensor_result:()=>Ng,column_tube_foot:()=>vg,define_keyboards:()=>Yg,educore_body_sensor:()=>hg,educore_button_sensor_extern:()=>Rg,educore_camera_sensor:()=>Ag,educore_infrared_sensor:()=>Og,educore_soilhum_sensor:()=>mg,educore_temp_sensor:()=>Sg,educore_temphum_sensor:()=>Eg,educore_ultrasonic_sensor:()=>gg,esp32_s2_weather_init:()=>xc,esp32_s2_weather_rain:()=>yc,esp32_s2_weather_wd:()=>bc,esp32_s2_weather_ws:()=>Vc,extern_rfid_read:()=>cc,extern_rfid_readcontent:()=>Cc,extern_rfid_readid:()=>gc,extern_rfid_status:()=>Lc,extern_rfid_write:()=>Sc,extern_rfid_write_return:()=>Ac,get_keboards_value:()=>Xg,gnss_get_data:()=>tg,gnss_have_data:()=>Zc,init_init_rotary_encoder:()=>xg,init_matrix_keyboard:()=>Fg,interaction_whether_to_interaction:()=>WR,interaction_whether_to_interaction_SANT:()=>KR,line_tube_foot:()=>Pg,mixbot_sensor_extern_get_addr:()=>ag,mixbot_sensor_extern_set_addr:()=>ug,pm25_get_data:()=>$c,radar_set_DETECTION_THRESHOLD:()=>HR,radar_set_DETECTION_THRESHOLD_SANT:()=>kR,robot_button_extern_get_value:()=>ig,robot_color_extern_get_value:()=>pg,robot_infrared_extern_get_value:()=>sg,robot_infrared_extern_grey_get_value:()=>og,robot_potentiometer_extern_get_value:()=>_g,robot_sonar_extern_get_value:()=>rg,robot_sonar_extern_led:()=>dg,robot_touch_extern_get_value:()=>ng,rotary_key:()=>bg,sensor_APDS9960_extern:()=>ZR,sensor_DS18X20:()=>GR,sensor_LTR308_extern:()=>tc,sensor_LTR390UV_extern:()=>nc,sensor_MAX30102_extern:()=>$R,sensor_QMC5883L_extern:()=>dc,sensor_VL530LX_extern:()=>sc,sensor_adxl345_get_acceleration:()=>vR,sensor_aht11_extern:()=>_c,sensor_bmp:()=>VR,sensor_compass_reset:()=>Oc,sensor_dht11:()=>XR,sensor_hp203_extern:()=>pc,sensor_light_level:()=>YR,sensor_lm35:()=>UR,sensor_ltr381_extern:()=>ec,sensor_mixgo_extern_button_attachInterrupt:()=>FR,sensor_mixgo_extern_button_get_presses:()=>fR,sensor_mixgo_extern_button_is_pressed:()=>NR,sensor_mixgo_extern_button_was_pressed:()=>DR,sensor_mixgo_extern_light:()=>xR,sensor_mixgo_extern_pin_near:()=>yR,sensor_mixgo_extern_sound:()=>bR,sensor_mixgoce_hot_wheel_degrees:()=>Xc,sensor_mixgoce_hot_wheel_is_touched:()=>Yc,sensor_mpu9250_attachGestureInterrupt:()=>PR,sensor_mpu9250_calibrate_compass:()=>hc,sensor_mpu9250_field_strength:()=>Ec,sensor_mpu9250_gesture:()=>lc,sensor_mpu9250_get_acceleration:()=>Ic,sensor_mpu9250_get_gyro:()=>Mc,sensor_mpu9250_get_magnetic:()=>Tc,sensor_mpu9250_temperature:()=>mc,sensor_ms5611_extern:()=>uc,sensor_ms5611_extern_altitude:()=>rc,sensor_read_humiture:()=>cg,sensor_sht:()=>BR,sensor_shtc3_extern:()=>oc,sensor_spl06_001_extern:()=>ac,sensor_ucs12071_extern:()=>ic,sensor_use_i2c_init:()=>wR,sensor_use_spi_init:()=>Rc,sensor_use_uart_init:()=>jc,sensor_weather_solo_init:()=>lg,sensor_weather_solo_rain:()=>Mg,sensor_weather_solo_wd:()=>Ig,sensor_weather_solo_ws:()=>Tg,sensor_weigh_init:()=>Dg,tvoc_get_data:()=>eg,ultrasonic_sensor_read_distance:()=>Cg,weather_data:()=>Nc,weather_have_data:()=>Dc,weather_set_label:()=>Fc,weather_set_label_container:()=>Pc,weather_set_label_item:()=>vc,weather_uart_mixio:()=>fc,weigh_sensor_get_weight:()=>fg});var U={};t.r(U),t.d(U,{HCSR04:()=>Zg,RTC_set_date:()=>$g,RTC_set_time:()=>jg,bitbot_als_num:()=>aS,dht11:()=>MS,educore_button_sensor:()=>SS,educore_button_was_pressed:()=>AS,educore_gyroscope_sensor:()=>cS,educore_gyroscope_sensor_read:()=>gS,educore_gyroscope_sensor_shake:()=>CS,educore_light_sensor:()=>RS,educore_rfid_sensor:()=>LS,educore_rfid_sensor_scan:()=>NS,educore_rfid_sensor_scan_data:()=>DS,educore_voice_sensor:()=>ES,number1:()=>eC,number2:()=>iC,number3:()=>nC,number4:()=>sC,number5:()=>oC,number6:()=>_C,number7:()=>pC,onboard_RTC_get_time:()=>MC,onboard_RTC_get_time_str:()=>cC,onboard_RTC_get_timestamp:()=>hC,onboard_RTC_get_timetuple_to_str:()=>gC,onboard_RTC_set_datetime:()=>OC,onboard_RTC_settime_string:()=>EC,onboard_RTC_timestamp_totuple:()=>mC,rfid_readcontent:()=>fC,rfid_readid:()=>DC,rfid_status:()=>vC,rfid_write:()=>FC,rfid_write_return:()=>PC,sensor_LTR308:()=>CC,sensor_aht11:()=>AC,sensor_bitbot_ALS:()=>pS,sensor_button_get_presses:()=>dS,sensor_button_is_pressed:()=>uS,sensor_button_was_pressed:()=>rS,sensor_distance_hrsc04:()=>zg,sensor_eulerangles:()=>XC,sensor_field_strength:()=>hS,sensor_get_acceleration:()=>YC,sensor_get_temperature:()=>LC,sensor_get_the_coprocessor_version:()=>fS,sensor_hp203:()=>NC,sensor_light:()=>TS,sensor_mixbot_get_gyro:()=>_S,sensor_mixbot_patrol_calibrate:()=>nS,sensor_mixbot_patrol_value:()=>sS,sensor_mixbot_temperature:()=>oS,sensor_mixgo_LTR308:()=>IC,sensor_mixgo_button_attachInterrupt:()=>Ug,sensor_mixgo_button_get_presses:()=>Gg,sensor_mixgo_button_is_pressed:()=>Vg,sensor_mixgo_button_was_pressed:()=>Bg,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>WC,sensor_mixgo_cc_mmc5603_get_angle:()=>kC,sensor_mixgo_cc_mmc5603_get_magnetic:()=>HC,sensor_mixgo_light:()=>tC,sensor_mixgo_nova_LTR308:()=>lC,sensor_mixgo_nova_pin_near:()=>dC,sensor_mixgo_pin_near:()=>rC,sensor_mixgo_pin_near_double:()=>uC,sensor_mixgo_pin_near_single:()=>aC,sensor_mixgo_pin_pressed:()=>Kg,sensor_mixgo_sant_color:()=>TC,sensor_mixgo_touch_slide:()=>qg,sensor_mixgocar42_button_attachInterrupt:()=>Wg,sensor_mixgocar42_button_get_presses:()=>kg,sensor_mixgocar42_button_is_pressed:()=>wg,sensor_mixgocar42_button_was_pressed:()=>Hg,sensor_mixgocar_battery_left:()=>iS,sensor_mixgocar_pin_near:()=>tS,sensor_mixgocar_pin_near_line:()=>ZC,sensor_mixgocar_pin_near_state_change:()=>eS,sensor_mixgoce_pin_pressed:()=>Jg,sensor_mixgoce_temperature:()=>JC,sensor_mixgome_temperature:()=>KC,sensor_mpython_pin_pressed:()=>Qg,sensor_mpython_qmi8658_get_gyro:()=>QC,sensor_mpython_qmi8658_temperature:()=>qC,sensor_onboard_compass_reset:()=>wC,sensor_onboard_mpu9250_calibrate_compass:()=>BC,sensor_onboard_mpu9250_field_strength:()=>UC,sensor_onboard_mpu9250_gesture:()=>xC,sensor_onboard_mpu9250_get_acceleration:()=>bC,sensor_onboard_mpu9250_get_gyro:()=>VC,sensor_onboard_mpu9250_get_magnetic:()=>yC,sensor_onboard_mpu9250_temperature:()=>GC,sensor_pin_near:()=>IS,sensor_pin_pressed:()=>lS,sensor_read:()=>OS,sensor_rm_acc:()=>$C,sensor_rm_battery_left:()=>jC,sensor_rm_pin_near_double:()=>zC,sensor_rtc_init:()=>RC,sensor_sound:()=>SC,sensor_temperature:()=>mS,simulated_light_sensor:()=>FS});var w={};t.r(w),t.d(w,{serial_any:()=>GS,serial_begin:()=>WS,serial_print:()=>xS,serial_print_byte:()=>XS,serial_print_hex:()=>yS,serial_println:()=>bS,serial_read_from_ai:()=>tA,serial_readline:()=>US,serial_readstr:()=>BS,serial_readstr_until:()=>wS,serial_receive_data_event:()=>VS,serial_send_to_ai:()=>ZS,serial_softserial:()=>kS,serial_softserial_new:()=>HS,system_input:()=>KS,system_print:()=>JS,system_print_container:()=>jS,system_print_end:()=>qS,system_print_inline:()=>QS,system_print_item:()=>$S,system_print_many:()=>zS});var H={};t.r(H),t.d(H,{Panic_with_status_code:()=>sA,Timer_init:()=>EA,base_delay:()=>cA,controls_delay:()=>nA,controls_delay_new:()=>iA,controls_millis:()=>_A,controls_uname:()=>aA,raw_block:()=>pA,reset:()=>oA,set_system_timer:()=>IA,system_bitbot_shutdown:()=>mA,system_machine_reset:()=>hA,system_ticks_diff:()=>dA,system_timer:()=>rA,system_timer_init:()=>lA,system_wdt_feed:()=>MA,system_wdt_init:()=>TA,time_ticks_diff:()=>RA,timer:()=>uA,timer2:()=>OA});var k={};t.r(k),t.d(k,{Air_daily_content:()=>xA,Air_now_content:()=>DA,Geo_moon_content:()=>yA,Geo_sun_content:()=>bA,Life_suggestion_content:()=>FA,Location_search_content:()=>vA,Tide_daily_content:()=>PA,WEATHER_DAILY:()=>SA,WEATHER_HOUR:()=>AA,WEATHER_NOW:()=>CA,Weather_alarm_content:()=>fA,Weather_daily:()=>YA,Weather_daily_content:()=>XA,Weather_now:()=>LA,Weather_now_content:()=>NA});var W={};t.r(W),t.d(W,{PIN_init:()=>BL,actuator_extern_get_led_bright:()=>oL,actuator_extern_get_led_state:()=>_L,actuator_extern_led_bright:()=>sL,actuator_extern_led_brightness:()=>pL,actuator_ms32006_dcmotor:()=>WA,actuator_ms32006_init:()=>kA,actuator_ms32006_stepper:()=>KA,actuator_neopixel_init:()=>aL,actuator_neopixel_rgb:()=>dL,actuator_neopixel_rgb_all:()=>uL,actuator_neopixel_rgb_show_all_chase:()=>lL,actuator_neopixel_rgb_show_all_rainbow:()=>IL,actuator_neopixel_write:()=>rL,actuator_use_uart_init:()=>TL,backstage_esp32_music_play_list:()=>eL,esp32_music_get_tempo_extern:()=>ZA,esp32_music_pitch:()=>QA,esp32_music_pitch_init:()=>JA,esp32_music_pitch_with_time:()=>qA,esp32_music_play_list:()=>tL,esp32_music_reset_extern:()=>iL,esp32_music_set_tempo_extern:()=>$A,esp32_music_stop:()=>zA,esp32_set_music_volume:()=>jA,mixbot_actuator_extern_get_addr:()=>yL,mixbot_actuator_extern_set_addr:()=>VL,mixbot_addr_extern:()=>SL,parrot_PIN_init:()=>HL,parrot_move_speed:()=>kL,pin_led_bright:()=>GL,player_play_music:()=>OL,player_set_mode:()=>EL,player_set_play:()=>hL,player_set_volume:()=>mL,player_whether_stop:()=>ML,robot_led_extern:()=>DL,robot_led_extern_get_value:()=>fL,robot_motor_extern:()=>AL,robot_motor_extern_get_speed:()=>LL,robot_servo_extern_absolute_run:()=>YL,robot_servo_extern_get_status:()=>FL,robot_servo_extern_relative_continue:()=>bL,robot_servo_extern_relative_origin:()=>XL,robot_servo_extern_relative_run:()=>xL,robot_servo_extern_stop:()=>vL,robot_servo_extern_stop_mode:()=>PL,robot_traffic_light_extern:()=>NL,servo_PIN_init:()=>UL,servo_get_angle:()=>wA,servo_get_speed:()=>HA,servo_init:()=>VA,servo_move:()=>nL,servo_move_angle:()=>wL,servo_set_angle:()=>GA,servo_set_speed:()=>UA,servo_speed_360:()=>BA,syn6288_builtin_voice:()=>gL,syn6288_get_voice:()=>cL,syn6288_set_voice:()=>RL,syn6288_tts_play:()=>CL});var K={};t.r(K),t.d(K,{actuator_dc_motor:()=>ON,actuator_dc_motor_stop:()=>RN,actuator_get_led_bright:()=>iN,actuator_get_led_state:()=>nN,actuator_led_bright:()=>eN,actuator_led_brightness:()=>sN,actuator_mixbot_buzzer_on_off:()=>AN,actuator_mixgo_nova_mic_get:()=>FN,actuator_mixgo_nova_mic_set:()=>fN,actuator_mixgo_nova_onboard_music_pitch:()=>bN,actuator_mixgo_nova_onboard_music_stop:()=>yN,actuator_mixgo_nova_play_audio:()=>XN,actuator_mixgo_nova_play_online_audio:()=>xN,actuator_mixgo_nova_record_audio:()=>YN,actuator_mixgo_nova_voice_get:()=>vN,actuator_mixgo_nova_voice_set:()=>PN,actuator_mixgo_zero_led_color:()=>oN,actuator_onboard_neopixel_rgb:()=>lN,actuator_onboard_neopixel_rgb_all:()=>IN,actuator_onboard_neopixel_rgb_show_all_chase:()=>TN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>MN,actuator_onboard_neopixel_write:()=>dN,actuator_stepper_keep:()=>mN,actuator_stepper_stop:()=>EN,analog_ble_keyboard_init:()=>QN,analog_ble_keyboard_input:()=>jN,analog_ble_keyboard_mouse_init:()=>oD,analog_ble_keyboard_mouse_input:()=>uD,analog_ble_keyboard_mouse_send_battery:()=>aD,analog_ble_keyboard_mouse_str:()=>rD,analog_ble_keyboard_send_battery:()=>ZN,analog_ble_keyboard_str:()=>$N,analog_ble_mouse_init:()=>tD,analog_ble_mouse_input:()=>nD,analog_ble_mouse_keyboard_input:()=>dD,analog_ble_mouse_send_battery:()=>sD,analog_keyboard_input:()=>UN,analog_keyboard_str:()=>KN,analog_mouse_input:()=>kN,backstage_onboard_music_play_list:()=>jL,bitbot_motor:()=>DN,bitbot_move:()=>LN,bitbot_stop:()=>NN,ble_keyboard_connect:()=>zN,ble_keyboard_get_mac:()=>qN,ble_keyboard_mouse_connect:()=>pD,ble_keyboard_mouse_get_mac:()=>_D,ble_mouse_connect:()=>iD,ble_mouse_get_mac:()=>eD,cc_number:()=>_N,educore_ble_keyboard_input:()=>cD,educore_ble_sensor_connected:()=>RD,educore_ble_sensor_init:()=>OD,educore_buzzer:()=>lD,educore_buzzer_play_tone:()=>ID,educore_buzzer_play_tone_time:()=>TD,educore_buzzer_stop:()=>MD,educore_neopixel_clear:()=>ED,educore_neopixel_rgb:()=>mD,educore_rgb_light:()=>hD,esp32_music_get_tempo:()=>KL,esp32_music_reset:()=>$L,esp32_music_set_tempo:()=>WL,esp32_onboard_music_pitch:()=>JL,esp32_onboard_music_pitch_with_time:()=>QL,esp32_onboard_music_play_list:()=>zL,esp32_onboard_music_stop:()=>qL,general_key:()=>HN,general_key_tuple:()=>JN,get_keyboard_light:()=>gD,get_power_output:()=>BN,ledswitch:()=>tN,mixbot_motor:()=>SN,mixbot_motor_status:()=>cN,mixbot_move:()=>gN,mixbot_stop:()=>CN,mouse_key:()=>WN,number:()=>ZL,record_audio:()=>SD,rm_actuator_get_led_bright:()=>aN,rm_actuator_get_led_state:()=>uN,rm_actuator_led_bright:()=>pN,rm_actuator_led_brightness:()=>rN,rm_motor:()=>hN,set_all_power_output:()=>GN,set_microphone_amplification:()=>CD,set_music_volume:()=>AD,set_power_output:()=>VN,special_key:()=>wN});var J={};t.r(J),t.d(J,{ai_sensor_20object:()=>of,ai_sensor_ailocal_class:()=>JD,ai_sensor_ailocal_class_result:()=>QD,ai_sensor_ailocal_train:()=>KD,ai_sensor_asr_recognize:()=>ZD,ai_sensor_audio_play:()=>zD,ai_sensor_audio_record:()=>qD,ai_sensor_barcode:()=>vD,ai_sensor_circle:()=>VD,ai_sensor_classifier_faces:()=>sf,ai_sensor_color:()=>wD,ai_sensor_color_chases:()=>WD,ai_sensor_color_chases_result:()=>kD,ai_sensor_config:()=>DD,ai_sensor_face:()=>nf,ai_sensor_find_20objects:()=>_f,ai_sensor_find_barcodes:()=>YD,ai_sensor_find_circles:()=>BD,ai_sensor_find_colors:()=>HD,ai_sensor_find_licenseplates:()=>ef,ai_sensor_find_lines:()=>yD,ai_sensor_find_qrcodes:()=>PD,ai_sensor_find_rects:()=>UD,ai_sensor_find_tags:()=>xD,ai_sensor_licenseplate:()=>tf,ai_sensor_line:()=>bD,ai_sensor_qrcode:()=>FD,ai_sensor_qrcode_lite:()=>ND,ai_sensor_rect:()=>GD,ai_sensor_rgb:()=>fD,ai_sensor_tag:()=>XD,ai_sensor_use_uart_init:()=>LD,ai_sensor_yolo_recognize:()=>jD,ai_sensor_yolo_recognize_result:()=>$D});var Q={};t.r(Q),t.d(Q,{MICROPYTHON_AI_Speech_asr:()=>uf,MICROPYTHON_AI_Speech_unit:()=>af,MICROPYTHON_AI_client:()=>pf});var q={};t.r(q),t.d(q,{mpython_blynk_app_data:()=>cf,mpython_blynk_app_notify:()=>hf,mpython_blynk_email:()=>gf,mpython_blynk_get_timers:()=>Ef,mpython_blynk_on_connected:()=>If,mpython_blynk_on_disconnected:()=>lf,mpython_blynk_run:()=>Mf,mpython_blynk_sensor_data_to_app:()=>Rf,mpython_blynk_set_property:()=>Cf,mpython_blynk_setup:()=>Sf,mpython_blynk_stop_timers:()=>mf,mpython_blynk_sync_virtual:()=>df,mpython_blynk_terminal_widget_vpin:()=>rf,mpython_blynktimer:()=>Of,mpython_blynktimer_run:()=>Tf});var z={};t.r(z),t.d(z,{communicate_bluetooth_central_init:()=>oF,communicate_bluetooth_connect:()=>aF,communicate_bluetooth_disconnect:()=>uF,communicate_bluetooth_handle:()=>MF,communicate_bluetooth_is_connected:()=>dF,communicate_bluetooth_mac:()=>rF,communicate_bluetooth_peripheral_init:()=>_F,communicate_bluetooth_recv:()=>TF,communicate_bluetooth_recv_only:()=>IF,communicate_bluetooth_scan:()=>pF,communicate_bluetooth_send:()=>lF,communicate_espnow_init:()=>hF,communicate_espnow_init_new:()=>mF,communicate_i2c_available:()=>vf,communicate_i2c_init:()=>Nf,communicate_i2c_master_read:()=>Pf,communicate_i2c_onboard:()=>Af,communicate_i2c_read:()=>Df,communicate_i2c_scan:()=>Ff,communicate_i2c_write:()=>ff,communicate_ir_recv_init:()=>qf,communicate_ir_send_init:()=>tF,communicate_ow_init:()=>Hf,communicate_ow_read:()=>Kf,communicate_ow_reset:()=>Wf,communicate_ow_scan:()=>kf,communicate_ow_select:()=>Qf,communicate_ow_write:()=>Jf,communicate_spi_buffer:()=>bf,communicate_spi_init:()=>Xf,communicate_spi_onboard:()=>Lf,communicate_spi_read:()=>yf,communicate_spi_read_output:()=>Vf,communicate_spi_readinto:()=>Bf,communicate_spi_readinto_output:()=>Gf,communicate_spi_set:()=>xf,communicate_spi_write:()=>Uf,communicate_spi_write_readinto:()=>wf,espnow_radio_channel:()=>CF,espnow_radio_channel_new:()=>AF,espnow_radio_on_off:()=>LF,espnow_radio_rec:()=>DF,espnow_radio_recv:()=>FF,espnow_radio_recv_certain_msg:()=>PF,espnow_radio_recv_certain_msg_new:()=>YF,espnow_radio_recv_msg:()=>fF,espnow_radio_recv_new:()=>vF,espnow_radio_send:()=>NF,espnow_radio_txpower:()=>SF,i2c_slave_onreceive:()=>Yf,internal_variable:()=>zf,ir_recv_timeout:()=>Zf,ir_transmit_busy:()=>sF,ir_transmit_conventional_data:()=>eF,ir_transmit_raw_code:()=>nF,ir_transmit_study_code:()=>iF,ir_whether_recv:()=>$f,lora_init:()=>XF,lora_packet:()=>xF,lora_recv:()=>yF,lora_send:()=>bF,network_espnow_info:()=>OF,network_espnow_mac:()=>EF,network_espnow_recv:()=>RF,network_espnow_recv_handle:()=>gF,network_espnow_send:()=>cF,recv_fun:()=>jf,urequests_attribute:()=>BF,urequests_get:()=>VF,urequests_method:()=>GF});var j={};t.r(j),t.d(j,{display_animate:()=>dP,display_circle:()=>lP,display_color_seclet:()=>CP,display_draw_4strings:()=>sP,display_fill:()=>rP,display_lcd_use_i2c_init:()=>fP,display_line:()=>pP,display_line_arbitrarily:()=>oP,display_matrix_extern_bright_point:()=>jF,display_matrix_extern_bright_screen:()=>ZF,display_matrix_extern_clear:()=>QF,display_matrix_extern_get_pixel:()=>zF,display_matrix_extern_get_screen_pixel:()=>$F,display_matrix_extern_image_builtins:()=>tP,display_matrix_extern_scroll_string:()=>KF,display_matrix_extern_scroll_string_delay:()=>JF,display_matrix_extern_shift:()=>qF,display_matrix_extern_show_frame_string:()=>kF,display_matrix_extern_show_frame_string_delay:()=>WF,display_matrix_extern_show_image:()=>wF,display_matrix_extern_show_image_or_string_delay:()=>HF,display_matrix_use_i2c_init:()=>UF,display_oled_drawPixel:()=>MP,display_oled_showBitmap:()=>TP,display_oled_use_i2c_init:()=>XP,display_onoff:()=>aP,display_rect:()=>_P,display_tm1650_power:()=>mP,display_tm1650_set_brightness:()=>RP,display_tm1650_show_dot:()=>OP,display_tm1650_show_num:()=>EP,display_tm_use_i2c_init:()=>hP,display_triangle:()=>IP,display_use_i2c_init:()=>nP,extern_oled_bright_point:()=>KP,extern_oled_clear:()=>HP,extern_oled_get_pixel:()=>WP,extern_oled_hvline:()=>QP,extern_oled_line:()=>qP,extern_oled_scroll_string:()=>UP,extern_oled_scroll_string_delay:()=>wP,extern_oled_shape_rect:()=>JP,extern_oled_shift:()=>kP,extern_oled_show_frame_string:()=>BP,extern_oled_show_frame_string_delay:()=>GP,extern_oled_show_image:()=>xP,extern_oled_show_image_or_string_delay:()=>VP,extern_oled_show_image_xy:()=>bP,extern_oled_show_string:()=>yP,image_shift:()=>uP,lcd_backlight:()=>vP,lcd_clear:()=>YP,lcd_print_string:()=>PP,lcd_show_image_or_string_delay:()=>FP,matrix_extern_image_arithmetic:()=>eP,matrix_extern_image_invert:()=>iP,tft_fill:()=>NP,tft_line_arbitrarily:()=>DP,tft_scroll_string_delay:()=>LP,tft_show_frame_string_delay:()=>AP,tft_show_image_or_string_delay:()=>SP,tft_show_image_xy:()=>gP,tft_use_spi_init:()=>cP});var $={};t.r($),t.d($,{bitbot_display_bitmap_create:()=>wv,bitbot_display_image_create:()=>Uv,display_available:()=>uv,display_bitmap_create:()=>pv,display_bright_point:()=>Tv,display_bright_screen:()=>hv,display_clear:()=>av,display_get_pixel:()=>Iv,display_get_screen_pixel:()=>Mv,display_image_builtins:()=>sv,display_image_builtins_all:()=>ov,display_image_create:()=>_v,display_scroll_string:()=>tv,display_scroll_string_delay:()=>ev,display_scroll_way:()=>iv,display_shift:()=>lv,display_show_frame_string:()=>$P,display_show_frame_string_delay:()=>ZP,display_show_image:()=>zP,display_show_image_or_string_delay:()=>jP,draw_pointer:()=>oY,image_arithmetic:()=>rv,image_invert:()=>dv,mixbot_display_bitmap_create:()=>bv,mixbot_display_bright_screen:()=>Bv,mixbot_display_get_ambientbright:()=>Vv,mixbot_display_get_screen_pixel:()=>yv,mixbot_display_image_create:()=>xv,mixbot_display_rotate:()=>Gv,mixgo_display_bitmap_create:()=>Cv,mixgo_display_image_create_new:()=>gv,mixgome_display_bitmap_create:()=>Ev,mixgome_display_font:()=>cv,mixgome_display_image_create:()=>mv,mixgomini_display_bitmap_create:()=>Rv,mixgomini_display_image_create:()=>Ov,mpython_display_hvline:()=>Yv,mpython_display_line:()=>Xv,mpython_display_shape_rect:()=>vv,mpython_pbm_image:()=>Sv,nova_draw_pointer:()=>_Y,onboard_oled_bright_point:()=>Pv,onboard_oled_scroll_string_delay:()=>Fv,onboard_oled_show_frame_string_delay:()=>fv,onboard_oled_show_image:()=>Av,onboard_oled_show_image_or_string_delay:()=>Dv,onboard_oled_show_image_xy:()=>Lv,onboard_oled_show_string:()=>Nv,onboard_tft_bright_point:()=>jv,onboard_tft_bright_screen:()=>TY,onboard_tft_clear:()=>MY,onboard_tft_clock_clear:()=>nY,onboard_tft_clock_draw:()=>iY,onboard_tft_clock_get_rtctime:()=>tY,onboard_tft_clock_init:()=>Zv,onboard_tft_clock_set_time:()=>eY,onboard_tft_display_hvline:()=>Qv,onboard_tft_display_line:()=>qv,onboard_tft_display_shape_circle:()=>sY,onboard_tft_display_shape_rect:()=>Jv,onboard_tft_fill:()=>$v,onboard_tft_get_pixel:()=>zv,onboard_tft_get_screen_pixel:()=>IY,onboard_tft_scroll_string_delay:()=>nv,onboard_tft_shift:()=>lY,onboard_tft_show_frame_string:()=>dY,onboard_tft_show_frame_string_delay:()=>Kv,onboard_tft_show_image:()=>rY,onboard_tft_show_image_or_string_delay:()=>Wv,onboard_tft_show_image_xy:()=>Hv,onboard_tft_show_image_xy_direct:()=>kv,onboard_tft_show_qrcode:()=>aY,onboard_tft_show_qrcode_details:()=>uY,onboard_tft_show_texts:()=>pY});var Z={};t.r(Z),t.d(Z,{factory_block:()=>CY,factory_block_return:()=>SY,factory_block_return_with_textarea:()=>LY,factory_block_with_textarea:()=>AY,factory_callMethod_noreturn:()=>cY,factory_callMethod_return:()=>gY,factory_declare:()=>RY,factory_from_import:()=>hY,factory_function_noreturn:()=>EY,factory_function_return:()=>OY,factory_import:()=>mY,folding_block:()=>NY});var tt={};t.r(tt),t.d(tt,{inout_analog_atten:()=>wY,inout_analog_read:()=>xY,inout_analog_read_init:()=>UY,inout_analog_write:()=>vY,inout_analog_write_init:()=>GY,inout_analog_write_set:()=>YY,inout_digital_init:()=>VY,inout_digital_read:()=>FY,inout_digital_write:()=>fY,inout_highlow:()=>DY,inout_pin_attachInterrupt:()=>yY,inout_pin_pressed:()=>bY,inout_pin_pressed_init:()=>HY,inout_pwm_analog_write:()=>PY,inout_pwm_analog_write_init:()=>BY,inout_pwm_analog_write_set_freq:()=>XY});var et={};t.r(et),t.d(et,{IOT_CONNECT_OLLAMA:()=>EX,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>uX,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>pX,IOT_EMQX_PING:()=>rX,IOT_FORMATTING:()=>oX,IOT_FORMAT_STRING:()=>_X,IOT_MIXIO_NTP:()=>dX,IOT_MIXIO_PUBLISH:()=>jY,IOT_MIXIO_PUBLISHEX:()=>$Y,IOT_MIXIO_SUBSCRIBE:()=>ZY,iot_client_onboard:()=>lX,iot_connect_ollama:()=>mX,iot_connect_openai:()=>OX,iot_http_client:()=>IX,iot_http_data:()=>TX,iot_mixio_check:()=>iX,iot_mixio_connect:()=>zY,iot_mixio_connect_only:()=>eX,iot_mixio_disconnect:()=>tX,iot_mixio_format_msg:()=>sX,iot_mixio_format_topic:()=>nX,iot_mixly_key:()=>aX,iot_mqtt_client:()=>MX,iot_mqtt_data:()=>hX,iot_onenet_check:()=>QY,iot_onenet_connect:()=>WY,iot_onenet_disconnect:()=>KY,iot_onenet_publish:()=>qY,iot_onenet_publish_dict:()=>JY,iot_tiny_web_db_count:()=>NX,iot_tiny_web_db_delete:()=>fX,iot_tiny_web_db_get:()=>LX,iot_tiny_web_db_init:()=>CX,iot_tiny_web_db_init_with_mqtt:()=>SX,iot_tiny_web_db_search:()=>DX,iot_tiny_web_db_update:()=>AX,iot_wifi_connect:()=>kY,ollama_empty_history:()=>gX,use_ollama_llm_to_chat:()=>RX,use_ollama_llm_to_chat_return:()=>cX});var it={};t.r(it),t.d(it,{educore_mqtt_connect:()=>px,educore_mqtt_connect_success:()=>dx,educore_mqtt_subscribe_message:()=>ax,educore_mqtt_topic_publish:()=>rx,educore_mqtt_topic_subscribe:()=>ux,educore_wifi_connect:()=>_x,network_ap_connect:()=>VX,network_connect:()=>PX,network_get_connect:()=>YX,network_get_wifi:()=>yX,network_init:()=>FX,network_is_active:()=>bX,network_open:()=>xX,network_scan:()=>BX,network_server:()=>GX,network_socket_accept:()=>WX,network_socket_bind:()=>wX,network_socket_close:()=>jX,network_socket_connect:()=>HX,network_socket_init:()=>UX,network_socket_listen:()=>kX,network_socket_readline:()=>KX,network_socket_receive:()=>JX,network_socket_receive_from:()=>qX,network_socket_send:()=>QX,network_socket_send_to:()=>zX,network_stop:()=>XX,network_wifi_connect:()=>vX,ntptime_address:()=>ix,ntptime_time:()=>ex,requests_attribute:()=>ZX,requests_attribute2:()=>sx,requests_get:()=>$X,requests_get2:()=>nx,requests_method:()=>tx,requests_post:()=>ox});var nt={};t.r(nt),t.d(nt,{pe_g1_battery_left:()=>Ix,pe_g1_dc_motor:()=>Tx,pe_g1_dc_motor_speed:()=>Mx,pe_g1_servo_get_angle:()=>Ex,pe_g1_servo_get_speed:()=>Ox,pe_g1_servo_set_angle:()=>hx,pe_g1_servo_set_speed:()=>mx,pe_g1_use_i2c_init:()=>lx});var st={};t.r(st),t.d(st,{CI130X_BROADCAST:()=>wx,CI130X_GET_THE_RECOGNIZED_CMD:()=>Ux,CI130X_GET_WHETHER_IDENTIFY:()=>Gx,CI130X_IDENTIFY_AND_SAVE:()=>Bx,CI130X_SET_SYSTEM_CMD:()=>Hx,HCSR04:()=>cb,PS2_Button:()=>Sb,PS2_Buttons:()=>Ab,PS2_Buttons_new:()=>Yb,PS2_State:()=>Lb,PS2_init:()=>gb,PS2_init_new:()=>Pb,PS2_stk:()=>Nb,PS2_stk_new:()=>Xb,PS2_vibration:()=>Cb,PS2_vibration_new:()=>vb,RTC_get_time:()=>fb,RTC_set_date:()=>Nx,RTC_set_datetime:()=>Db,RTC_set_time:()=>Lx,camera_sensor_init:()=>dy,camera_sensor_result:()=>ly,column_tube_foot:()=>hy,define_keyboards:()=>my,educore_body_sensor:()=>ey,educore_button_sensor_extern:()=>oy,educore_camera_sensor:()=>ry,educore_infrared_sensor:()=>sy,educore_soilhum_sensor:()=>iy,educore_temp_sensor:()=>uy,educore_temphum_sensor:()=>ny,educore_ultrasonic_sensor:()=>py,esp32_s2_weather_init:()=>mb,esp32_s2_weather_rain:()=>Ob,esp32_s2_weather_wd:()=>Eb,esp32_s2_weather_ws:()=>Rb,extern_rfid_read:()=>ob,extern_rfid_readcontent:()=>pb,extern_rfid_readid:()=>_b,extern_rfid_status:()=>rb,extern_rfid_write:()=>ab,extern_rfid_write_return:()=>ub,get_keboards_value:()=>Oy,gnss_get_data:()=>yb,gnss_have_data:()=>Vb,init_init_rotary_encoder:()=>Ry,init_matrix_keyboard:()=>Ey,interaction_whether_to_interaction:()=>yx,interaction_whether_to_interaction_SANT:()=>Vx,line_tube_foot:()=>My,mixbot_sensor_extern_get_addr:()=>Qb,mixbot_sensor_extern_set_addr:()=>qb,pm25_get_data:()=>bb,radar_set_DETECTION_THRESHOLD:()=>xx,radar_set_DETECTION_THRESHOLD_SANT:()=>bx,robot_button_extern_get_value:()=>Gb,robot_color_extern_get_value:()=>Wb,robot_infrared_extern_get_value:()=>wb,robot_infrared_extern_grey_get_value:()=>Hb,robot_potentiometer_extern_get_value:()=>kb,robot_sonar_extern_get_value:()=>Kb,robot_sonar_extern_led:()=>Jb,robot_touch_extern_get_value:()=>Ub,rotary_key:()=>cy,sensor_APDS9960_extern:()=>Wx,sensor_DS18X20:()=>ty,sensor_LTR308_extern:()=>Kx,sensor_LTR390UV_extern:()=>Zx,sensor_MAX30102_extern:()=>kx,sensor_QMC5883L_extern:()=>tb,sensor_VL530LX_extern:()=>nb,sensor_aht11_extern:()=>ib,sensor_bmp:()=>vx,sensor_dht11:()=>Fb,sensor_distance_hrsc04:()=>Ax,sensor_hp203_extern:()=>Jx,sensor_ltr381_extern:()=>jx,sensor_mixgo_extern_button_attachInterrupt:()=>Cx,sensor_mixgo_extern_button_get_presses:()=>gx,sensor_mixgo_extern_button_is_pressed:()=>Rx,sensor_mixgo_extern_button_was_pressed:()=>cx,sensor_mixgo_extern_light:()=>Dx,sensor_mixgo_extern_pin_near:()=>Fx,sensor_mixgo_extern_sound:()=>fx,sensor_mixgoce_hot_wheel_degrees:()=>hb,sensor_mixgoce_hot_wheel_is_touched:()=>Mb,sensor_mpu9250_attachGestureInterrupt:()=>Sx,sensor_ms5611_extern:()=>qx,sensor_ms5611_extern_altitude:()=>zx,sensor_read_humiture:()=>_y,sensor_rtc_init:()=>Px,sensor_sht:()=>Yx,sensor_shtc3_extern:()=>eb,sensor_spl06_001_extern:()=>Qx,sensor_ucs12071_extern:()=>$x,sensor_use_i2c_init:()=>Xx,sensor_use_spi_init:()=>sb,sensor_use_uart_init:()=>xb,sensor_weather_solo_init:()=>zb,sensor_weather_solo_rain:()=>Zb,sensor_weather_solo_wd:()=>jb,sensor_weather_solo_ws:()=>$b,sensor_weigh_init:()=>Iy,tvoc_get_data:()=>Bb,ultrasonic_sensor_read_distance:()=>ay,weather_data:()=>db,weather_have_data:()=>lb,weather_set_label:()=>Tb,weather_uart_mixio:()=>Ib,weigh_sensor_get_weight:()=>Ty});var ot={};t.r(ot),t.d(ot,{HCSR04:()=>Fy,bitbot_als_num:()=>$V,dht11:()=>_B,educore_button_sensor:()=>IB,educore_button_was_pressed:()=>TB,educore_gyroscope_sensor:()=>rB,educore_gyroscope_sensor_read:()=>dB,educore_gyroscope_sensor_shake:()=>lB,educore_light_sensor:()=>uB,educore_rfid_sensor:()=>MB,educore_rfid_sensor_scan:()=>hB,educore_rfid_sensor_scan_data:()=>mB,educore_voice_sensor:()=>pB,number1:()=>Py,number2:()=>vy,number3:()=>Yy,number4:()=>Xy,number5:()=>xy,number6:()=>by,number7:()=>yy,onboard_RTC_get_time:()=>DV,onboard_RTC_get_time_str:()=>PV,onboard_RTC_get_timestamp:()=>fV,onboard_RTC_get_timetuple_to_str:()=>vV,onboard_RTC_set_datetime:()=>LV,onboard_RTC_settime_string:()=>NV,onboard_RTC_timestamp_totuple:()=>FV,rfid_readcontent:()=>Zy,rfid_readid:()=>$y,rfid_status:()=>iV,rfid_write:()=>tV,rfid_write_return:()=>eV,sensor_LTR308:()=>Jy,sensor_adxl345_get_acceleration:()=>dV,sensor_aht11:()=>zy,sensor_bitbot_ALS:()=>jV,sensor_button_get_presses:()=>eB,sensor_button_is_pressed:()=>ZV,sensor_button_was_pressed:()=>tB,sensor_compass_reset:()=>mV,sensor_ds18x20:()=>Wy,sensor_eulerangles:()=>sV,sensor_get_acceleration:()=>nV,sensor_get_temperature:()=>jy,sensor_get_the_coprocessor_version:()=>EB,sensor_hp203:()=>qy,sensor_light:()=>oB,sensor_lm35:()=>Ky,sensor_mixbot_get_gyro:()=>zV,sensor_mixbot_patrol_calibrate:()=>JV,sensor_mixbot_patrol_value:()=>QV,sensor_mixbot_temperature:()=>qV,sensor_mixgo_LTR308:()=>wy,sensor_mixgo_button_attachInterrupt:()=>Ay,sensor_mixgo_button_get_presses:()=>Sy,sensor_mixgo_button_is_pressed:()=>gy,sensor_mixgo_button_was_pressed:()=>Cy,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>xV,sensor_mixgo_cc_mmc5603_get_angle:()=>XV,sensor_mixgo_cc_mmc5603_get_magnetic:()=>YV,sensor_mixgo_light:()=>sB,sensor_mixgo_nova_LTR308:()=>ky,sensor_mixgo_nova_pin_near:()=>Uy,sensor_mixgo_pin_near:()=>Gy,sensor_mixgo_pin_near_double:()=>By,sensor_mixgo_pin_near_single:()=>Vy,sensor_mixgo_pin_pressed:()=>uV,sensor_mixgo_sant_color:()=>Hy,sensor_mixgo_touch_slide:()=>aV,sensor_mixgocar42_button_attachInterrupt:()=>fy,sensor_mixgocar42_button_get_presses:()=>Dy,sensor_mixgocar42_button_is_pressed:()=>Ly,sensor_mixgocar42_button_was_pressed:()=>Ny,sensor_mixgocar_battery_left:()=>KV,sensor_mixgocar_pin_near:()=>kV,sensor_mixgocar_pin_near_line:()=>HV,sensor_mixgocar_pin_near_state_change:()=>WV,sensor_mixgoce_pin_pressed:()=>pV,sensor_mixgoce_temperature:()=>yV,sensor_mixgome_temperature:()=>bV,sensor_mpu9250_calibrate_compass:()=>TV,sensor_mpu9250_field_strength:()=>hV,sensor_mpu9250_gesture:()=>oV,sensor_mpu9250_get_acceleration:()=>_V,sensor_mpu9250_get_gyro:()=>IV,sensor_mpu9250_get_magnetic:()=>lV,sensor_mpu9250_temperature:()=>MV,sensor_mpython_pin_pressed:()=>rV,sensor_mpython_qmi8658_get_gyro:()=>VV,sensor_mpython_qmi8658_temperature:()=>BV,sensor_onboard_compass_reset:()=>AV,sensor_onboard_mpu9250_calibrate_compass:()=>gV,sensor_onboard_mpu9250_field_strength:()=>SV,sensor_onboard_mpu9250_gesture:()=>EV,sensor_onboard_mpu9250_get_acceleration:()=>OV,sensor_onboard_mpu9250_get_gyro:()=>cV,sensor_onboard_mpu9250_get_magnetic:()=>RV,sensor_onboard_mpu9250_temperature:()=>CV,sensor_pin_near:()=>nB,sensor_pin_pressed:()=>iB,sensor_read:()=>aB,sensor_rm_acc:()=>wV,sensor_rm_battery_left:()=>UV,sensor_rm_pin_near_double:()=>GV,sensor_sound:()=>Qy,simulated_light_sensor:()=>OB});var _t={};t.r(_t),t.d(_t,{serial_any:()=>SB,serial_print:()=>RB,serial_print_byte:()=>cB,serial_print_hex:()=>CB,serial_println:()=>gB,serial_read_from_ai:()=>xB,serial_readline:()=>LB,serial_readstr:()=>AB,serial_send_to_ai:()=>XB,serial_softserial:()=>NB,serial_softserial_new:()=>DB,system_input:()=>fB,system_print:()=>FB,system_print_end:()=>vB,system_print_inline:()=>PB,system_print_many:()=>YB});var pt={};t.r(pt),t.d(pt,{Panic_with_status_code:()=>JB,Timer_init:()=>uG,base_delay:()=>lG,controls_delay:()=>$B,controls_delay_new:()=>ZB,controls_end_program:()=>qB,controls_millis:()=>QB,controls_uname:()=>jB,reset:()=>zB,set_system_timer:()=>eG,system_bitbot_shutdown:()=>aG,system_device_name:()=>WB,system_device_serial_number:()=>KB,system_event_bus_source:()=>HB,system_event_bus_value:()=>kB,system_machine_reset:()=>pG,system_on_event:()=>GB,system_raise_event:()=>BB,system_reset:()=>yB,system_run_in_background:()=>bB,system_ticks_diff:()=>iG,system_timer:()=>sG,system_timer_init:()=>nG,system_timestamp:()=>UB,system_value:()=>wB,system_wait:()=>VB,system_wdt_feed:()=>_G,system_wdt_init:()=>oG,time_ticks_diff:()=>dG,timer:()=>tG,timer2:()=>rG});var at={};t.r(at),t.d(at,{Air_daily_content:()=>AG,Air_now_content:()=>EG,Geo_moon_content:()=>NG,Geo_sun_content:()=>LG,Life_suggestion_content:()=>RG,Location_search_content:()=>gG,Tide_daily_content:()=>cG,WEATHER_DAILY:()=>TG,WEATHER_HOUR:()=>MG,WEATHER_NOW:()=>IG,Weather_alarm_content:()=>OG,Weather_daily:()=>CG,Weather_daily_content:()=>SG,Weather_now:()=>hG,Weather_now_content:()=>mG});var ut={};t.r(ut),t.d(ut,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>FG});var rt={};t.r(rt),t.d(rt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>vG});var dt={};t.r(dt),t.d(dt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>XG});var lt={};t.r(lt),t.d(lt,{analog_input:()=>JG,analog_output:()=>qG,espnow_channel:()=>kG,haskylens_model:()=>WG,i2c_A_pin:()=>zG,i2c_B_pin:()=>jG,pins_analog:()=>iU,pins_analog_pin:()=>nU,pins_axis:()=>OU,pins_brightness:()=>RU,pins_builtinimg:()=>lU,pins_builtinimg_extern:()=>IU,pins_button:()=>_U,pins_dac:()=>sU,pins_dac_pin:()=>oU,pins_digital:()=>BG,pins_digital_dot:()=>DU,pins_digital_pin:()=>GG,pins_exlcdh:()=>mU,pins_exlcdv:()=>EU,pins_imglist:()=>TU,pins_input_pin:()=>UG,pins_mpython_touch:()=>HG,pins_one_more:()=>NU,pins_output_pin:()=>wG,pins_playlist:()=>MU,pins_playlist_extern:()=>hU,pins_pwm:()=>pU,pins_pwm_pin:()=>aU,pins_radio_datarate:()=>LU,pins_radio_power:()=>AU,pins_serial:()=>dU,pins_tone_notes:()=>SU,pins_touch:()=>rU,pins_touch_pin:()=>uU,pins_tts_bgmusic:()=>CU,pins_tts_builtin_music:()=>gU,pins_tts_voice:()=>cU,pwm_input:()=>KG,pwm_output:()=>QG,spi_A_pin:()=>$G,spi_B_pin:()=>ZG,spi_C_pin:()=>tU,spi_D_pin:()=>eU,timer_id_pin:()=>fU});var It={};t.r(It),t.d(It,{espnow_channel:()=>BU,haskylens_model:()=>GU,pins_analog:()=>bU,pins_analog_pin:()=>xU,pins_axis:()=>ZU,pins_brightness:()=>iw,pins_builtinimg:()=>QU,pins_builtinimg_extern:()=>qU,pins_button:()=>PU,pins_dac:()=>HU,pins_dac_pin:()=>wU,pins_digital:()=>FU,pins_digital_dot:()=>rw,pins_digital_pin:()=>vU,pins_exlcdh:()=>tw,pins_exlcdv:()=>ew,pins_imglist:()=>zU,pins_input_pin:()=>YU,pins_interrupt:()=>KU,pins_mpython_touch:()=>UU,pins_one_more:()=>uw,pins_output_pin:()=>XU,pins_playlist:()=>jU,pins_playlist_extern:()=>$U,pins_pwm:()=>VU,pins_pwm_pin:()=>yU,pins_radio_datarate:()=>aw,pins_radio_power:()=>pw,pins_serial:()=>JU,pins_tone_notes:()=>_w,pins_touch:()=>WU,pins_touch_pin:()=>kU,pins_tts_bgmusic:()=>ow,pins_tts_builtin_music:()=>sw,pins_tts_voice:()=>nw,timer_id_pin:()=>dw});const Tt=Blockly,Mt=Mixly,ht={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},mt=ht; -/** - * @license - * Visual Blocks Editor - * - * Copyright 2012 Google Inc. - * https://developers.google.com/blockly/ - * - * 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. - */ -class Et{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Tt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Tt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Tt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Tt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},yt={init:function(){this.setColour(Pt),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.PYTHON_RANGE).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Vt={init:function(){this.setColour(Pt),this.appendValueInput("LIST").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Tt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Tt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Bt={init:function(){this.setColour(Pt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Tt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Tt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Tt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Tt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Gt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Tt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Ut={init:function(){this.setColour(Pt);var t=new Tt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Tt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Tt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},wt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Tt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Tt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ht={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Tt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Tt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Bt.OPERATORS=[[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Ut.OPERATORS=[[Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Tt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const kt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Wt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Kt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Tt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Jt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Qt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},qt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Tt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},zt={init:function(){this.jsonInit({message0:Tt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Pt,tooltip:Tt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Tt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},jt={init:function(){this.setColour(Pt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_STAT),this.setOutput(!0)}},$t={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Zt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},te={init:function(){this.appendDummyInput().appendField(Tt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Tt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Tt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Tt.FieldDropdown([[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Tt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ee={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ie={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ne={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},se={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_GET_UNIQUE_IDEN)}},oe={init:function(){this.setColour(Pt),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},_e={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},pe=230;Tt.FieldTextInput.math_number_validator=function(t){return String(t)},Tt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const ae={init:function(){this.setColour(pe),this.appendDummyInput().appendField(new Tt.FieldTextInput("0",Tt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MATH_NUMBER_TOOLTIP)}},ue={init:function(){this.setColour(pe);this.appendDummyInput("").appendField(Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Tt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},re={init:function(){this.setColour(pe);this.appendDummyInput("").appendField(Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Tt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Tt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},de={init:function(){this.setColour(pe),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Tt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},le={init:function(){this.setColour(pe),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Tt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Tt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ie={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Tt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Te={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Tt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Tt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Tt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Tt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Tt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Tt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Tt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Tt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Me={init:function(){var t=[[Tt.Msg.MATH_BIN,"bin"],[Tt.Msg.MATH_OCT,"oct"],[Tt.Msg.MATH_HEX,"hex"]];this.setColour(pe),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Tt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Tt.Msg.MATH_DEC_TOOLTIP_BIN,oct:Tt.Msg.MATH_DEC_TOOLTIP_OCT,hex:Tt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},he={init:function(){var t=[[Tt.Msg.LANG_MATH_TO_ROUND,"round"],[Tt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Tt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Tt.Msg.MATH_ABS,"fabs"],[Tt.Msg.MATH_SQRT,"sqrt"]];this.setColour(pe),this.appendValueInput("A").setCheck(Number).appendField(new Tt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Tt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Tt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Tt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Tt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Tt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Tt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},me={init:function(){var t=[[Tt.Msg.MIXLY_MAX,"max"],[Tt.Msg.MIXLY_MIN,"min"]];this.setColour(pe),this.appendValueInput("A").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Tt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Tt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Tt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Ee={init:function(){var t=[[Tt.Msg.MATH_TWO,"two"],[Tt.Msg.MATH_EIGHT,"eight"],[Tt.Msg.MATH_TEN,"ten"],[Tt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(pe),this.appendDummyInput("").appendField(Tt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Tt.FieldDropdown(t),"OP").appendField(Tt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MATH_ZHW).appendField(new Tt.FieldDropdown(t),"OP2").appendField(Tt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Tt.Msg.MATH_Before_two,eight:Tt.Msg.MATH_Before_eight,ten:Tt.Msg.MATH_Before_ten,sixteen:Tt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Tt.Msg.MATH_Behind_two,eight:Tt.Msg.MATH_Behind_eight,ten:Tt.Msg.MATH_Behind_ten,sixteen:Tt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Oe={init:function(){var t=[[Tt.Msg.LANG_MATH_INT,"int"],[Tt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(pe),this.setOutput(!0,Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Tt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Tt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Tt.Msg.LANG_MATH_INT,float:Tt.Msg.LANG_MATH_FLOAT_RANDOM};return Tt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Re={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Tt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MATH_CONSTRAIN_TOOLTIP)}},ce={init:function(){this.setColour(pe),this.appendValueInput("NUM",Number).appendField(Tt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Tt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Tt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ge={init:function(){this.setColour(pe),this.appendDummyInput().appendField(new Tt.FieldTextInput("0",Tt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Tt.Msg.MATH_NUMBER_TOOLTIP)}},Ce={init:function(){this.setColour(pe),this.appendValueInput("NUM").setCheck(Number).appendField(Tt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Se={init:function(){this.setColour(pe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MATH_ROUND).appendField(Tt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Tt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ae={init:function(){var t=[[Tt.Msg.MIXLY_TO_INT,"int"],[Tt.Msg.MIXLY_TO_FLOAT,"float"],[Tt.Msg.MIXLY_TO_BITES,"b"],[Tt.Msg.LANG_MATH_BYTE+Tt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(pe),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Le={init:function(){var t=[[Tt.Msg.MIXLY_TO_INT,"int"],[Tt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(pe),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Tt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ne=ce,De={init:function(){this.setColour(pe),this.appendValueInput("VAR").appendField(Tt.Msg.LANG_MATH_BYTE+Tt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},fe={init:function(){this.setColour(pe),this.itemCount_=1,this.setMutator(new Tt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Tt.Msg.MIXLY_PRODUCT+Tt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Tt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Tt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Tt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const be={init:function(){this.setColour(ve),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Tt.FieldTextInput("",Tt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Tt.FieldImage(e,7,12,'"')}},ye={init:function(){this.setColour(ve),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Tt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Ve={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Be={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(String).appendField(Tt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ge={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Ue={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},we={init:function(){this.WHERE_OPTIONS=[[Tt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Tt.Msg.TEXT_GET_INDEX_RANDOM+1+Tt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.LISTS_GET_INDEX_GET,"MODE"),Tt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Tt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Tt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Tt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Tt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Tt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Tt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Tt.Msg.TEXT_GET_INDEX_RANDOM};return Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Tt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Tt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Tt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Tt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Tt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Tt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},He={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Tt.Msg.LISTS_GET_INDEX_GET+" "+Tt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Tt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+Tt.Msg.LISTS_GET_INDEX_FROM_START+"n"+Tt.Msg.TEXT_CHARAT2)}},ke={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Tt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Tt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},We={init:function(){this.WHERE_OPTIONS_1=[[Tt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Tt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Tt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Tt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Tt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Tt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Tt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Tt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Tt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Tt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Tt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},Ke={init:function(){this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Tt.Msg.LISTS_GET_INDEX_GET+" "+Tt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Tt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Tt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Tt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Je={init:function(){var t=[[Tt.Msg.MIXLY_EQUALS,"==="],[Tt.Msg.MIXLY_STARTSWITH,"startswith"],[Tt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Tt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Qe={init:function(){this.setColour(ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Tt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_COMPARETO_HELP)}},qe={init:function(){var t=[[Tt.Msg.TEXT_UPPER,"upper"],[Tt.Msg.TEXT_TITLE,"title"],[Tt.Msg.TEXT_CAPITALIZE,"capitalize"],[Tt.Msg.TEXT_SWAPCASE,"swapcase"],[Tt.Msg.TEXT_LOWER,"lower"]];this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Tt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Tt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Tt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Tt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Tt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Tt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ze={init:function(){var t=[[Tt.Msg.TEXT_LJUST,"ljust"],[Tt.Msg.TEXT_CENTER,"center"],[Tt.Msg.TEXT_RJUST,"rjust"]];this.setColour(ve),this.appendValueInput("VAR").appendField(new Tt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Tt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Tt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},je={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Tt.Msg.MIXLY_MID+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},$e={init:function(){this.setColour(ve),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Ze={init:function(){this.setColour(ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Tt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Tt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ti={init:function(){this.setColour(ve),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Tt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Tt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ei={init:function(){var t=[[Tt.Msg.TEXT_TRIM_BOTH,"strip"],[Tt.Msg.TEXT_TRIM_LEFT,"lstrip"],[Tt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(ve),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Tt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Tt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Tt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Tt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Tt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Tt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ii={init:function(){this.setColour(ve),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Tt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Tt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},$i={init:function(){this.setColour(zi),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Zi={init:function(){this.setColour(zi),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},tn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_KEYS),this.setTooltip(Tt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},en={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Tt.Msg.DICTS_GET_TOOLTIP)}},nn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Tt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Tt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},sn={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},on={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Tt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_DELETE_TOOLTIP)}},_n={init:function(){this.setColour(zi),this.appendValueInput("DICT2").setCheck("Dict").appendField(Tt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Tt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MID),this.setTooltip(Tt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_CLEAR),this.setTooltip(Tt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},an={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_ITEMS),this.setTooltip(Tt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},un={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_VALUES),this.setTooltip(Tt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_LENGTH),this.setTooltip(Tt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},dn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.DICT_DELDICT),this.setTooltip(Tt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ln={init:function(){this.MODE=[[Tt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Tt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Tt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Tt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Tt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Tt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Tt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Tt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},In={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Tt.Msg.DICTS_ADD_VALUE),this.setTooltip(Tt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Tn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Tt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Tt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Mn={init:function(){this.setColour(zi),this.appendDummyInput("").appendField(new Tt.FieldLabel(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Tt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},hn={init:function(){this.setColour(zi),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},mn={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},En={init:function(){this.setColour(zi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},On={init:function(){this.setColour(zi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Rn={init:function(){this.setColour(zi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TO_JSON),this.setTooltip(Tt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},cn=210,gn={init:function(){var t=Tt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Tt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Tt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Tt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Tt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Tt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Tt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Cn={init:function(){var t=Tt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Tt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Tt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Sn={init:function(){var t=[[Tt.Msg.LOGIC_OPERATION_AND,"AND"],[Tt.Msg.LOGIC_OPERATION_OR,"OR"],[Tt.Msg.LOGIC_OPERATION_NOR,"NOR"],[Tt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Tt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Tt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Tt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},An={init:function(){this.setColour(cn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Tt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Tt.Msg.LOGIC_NEGATE_TOOLTIP)}},Ln={init:function(){var t=[[Tt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Tt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(cn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Tt.FieldDropdown(t),"BOOL"),this.setTooltip(Tt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Nn={init:function(){this.setColour(cn),this.setOutput(!0),this.appendDummyInput().appendField(Tt.Msg.LOGIC_NULL),this.setTooltip(Tt.Msg.LOGIC_NULL_TOOLTIP)}},Dn={init:function(){this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Tt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Tt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},fn={init:function(){var t=[[Tt.Msg.TEXT_APPEND_TO,"in"],[Tt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Tt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Tt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.IN)}},Fn={init:function(){var t=[[Tt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Tt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(cn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Tt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Pn={init:function(){this.setColour(cn),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Tt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Tt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Tt.Msg.MIXLY_ADD,"a"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_ADD,"ab"],[Tt.Msg.MIXLY_R_W,"r+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_R_W,"rb+"],[Tt.Msg.MIXLY_W_R,"w+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_W_R,"wb+"],[Tt.Msg.MIXLY_A_R,"a+"],[Tt.Msg.MATH_BIN+Tt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Xn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG,_=Tt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Tt.Msg.MIXPY_TEXT_ENCODE).appendField(new Tt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_USE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Tt.Msg.MIXLY_BELONG,_=Tt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},bn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Tt.Msg.MIXLY_MICROBIT_TYPE_STRING+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MICROBIT_PYTHON_TYPE)}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.HTML_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Hn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const kn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},qn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Tt.Msg.MIXLY_ESP32_SET+{mkdir:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Tt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.HTML_FILE,"isfile"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Zn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Tt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ts={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Tt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},es={init:function(){var t=Tt.Procedures.findLegalName("",this),e=new Tt.FieldTextInput(t,Tt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Tt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Tt.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Tt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Tt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Tt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Tt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Tt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Tt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Tt.Events.enable()}},mutationToDom:function(t){var e=Tt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Tt.Msg.MIXLY_AIP_ATTR).setAlign(Tt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zs={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},js={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_FORM_CONTENT).appendField(new Tt.FieldDropdown([[Tt.Msg.HTML_TEXT,"text"],[Tt.Msg.HTML_EMAIL,"email"],[Tt.Msg.HTML_NUMBER,"number"],[Tt.Msg.HTML_PASSWORD,"password"],[Tt.Msg.HTML_CHECKBOX,"checkbox"],[Tt.Msg.HTML_RADIOBUTTON,"radiobutton"],[Tt.Msg.HTML_BUTTON,"button"],[Tt.Msg.HTML_COLOUR,"colour"],[Tt.Msg.HTML_DATE,"date"],[Tt.Msg.HTML_LOCALTIME,"local time"],[Tt.Msg.HTML_FILE,"file"],[Tt.Msg.HTML_HIDDEN,"hidden"],[Tt.Msg.HTML_IMAGE,"image"],[Tt.Msg.HTML_MONTH,"month"],[Tt.Msg.HTML_RANGE,"range"],[Tt.Msg.HTML_RESET,"reset"],[Tt.Msg.HTML_SEARCH,"search"],[Tt.Msg.HTML_SUBMIT,"submit"],[Tt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Tt.Msg.HTML_TIME,"time"],[Tt.Msg.HTML_URL,"url"],[Tt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Tt.Msg.HTML_NAME).appendField(new Tt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Tt.Msg.HTML_VALUE).appendField(new Tt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Tt.Msg.MIXLY_AIP_ATTR).setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$s={init:function(){this.setColour(ks),this.appendDummyInput().appendField(new Tt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Tt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zs={init:function(){this.setColour(ks),this.appendDummyInput().appendField(new Tt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Tt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},to={init:function(){this.setColour(ks),this.appendDummyInput().appendField(Tt.Msg.HTML_TEXT).appendField(new Tt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eo=160,io={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Tt.FieldTable(""),"TEXT")}},no={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Tt.FieldMultilineInput(""),"TEXT")}},so={init:function(){this.setColour(eo),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Tt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},oo={init:function(){this.setColour(eo),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},_o={init:function(){this.setColour(eo),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Tt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},po={init:function(){this.setColour(eo),this.appendValueInput("VALUE").appendField(Tt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},ao={init:function(){this.setColour(eo),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Tt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Tt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},Tt.isNumber(n)&&Tt.isNumber(s)&&Tt.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const sa=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},oa=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},_a=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},pa=function(t,e){return["None",e.ORDER_ATOMIC]},aa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ua=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ra=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},da=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},la=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Ia=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ta=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ma=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},ma=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Ea=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Oa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ra=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ca=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},ga=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Ca=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Sa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Aa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Na=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Da=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},fa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},va=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ya=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Tt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Eu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Ou=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Ru=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},cu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},gu=function(t,e){return'"},Cu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Su=function(){return this.getFieldValue("TEXT")+"\n"},Au=function(t){return t.getFieldValue("TEXT")+"\n"},Lu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Nu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Du=function(){return""},fu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Fu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n")},Xu.scrubNakedValue=function(t){return t+"\n"},Xu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Xu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Xu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Tt.utils.string.wrap(o,Xu.COMMENT_WRAP-3),n+=Xu.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const xu="#74A55B",bu={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Tt.Msg.MIXLY_RGB_PIN_COUNT)}},yu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Vu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Bu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Gu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Uu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Tt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Tt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},wu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Hu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_RESET)}},ku={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wu={init:function(){this.setColour(xu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Tt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ku={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Ju={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Qu={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},qu={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},zu={init:function(){this.setColour(xu),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ju={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},$u={init:function(){this.setColour(xu),this.appendValueInput("VAR").appendField("360°"+Tt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SETTING+Tt.Msg.blockpy_turtle_rotate+Tt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Zu={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},tr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},er={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ir={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},nr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Tt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Tt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},sr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Tt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Tt.Msg.MOTOR_N,"ms32006.MOT_N"],[Tt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},or={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Tt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Tt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},_r={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Tt.Msg.MIXLY_RGB_PIN_COUNT)}},pr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},ar={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ur={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_WRI)}},rr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},lr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Tt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([["SYN6288"+Tt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Tt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ir={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_WHETHER).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_STOPPED,"0"],[Tt.Msg.MIXLY_PLAYING,"1"],[Tt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Tr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_STAT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MP3_PLAY,"1"],[Tt.Msg.MIXLY_MP3_PAUSE,"2"],[Tt.Msg.MIXLY_STOP,"3"],[Tt.Msg.MIXLY_MP3_PREV,"4"],[Tt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Tt.Msg.MIXLY_MP3_VOL+Tt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},hr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MODE+Tt.Msg.MIXLY_STAT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Tt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Tt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Tt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Tt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Tt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Tt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Er={},Or={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Rr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},cr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},gr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Tt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Tt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Cr={init:function(){this.setColour(xu),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Sr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Ar={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.LISTS_SET_INDEX_SET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_WHITE,"W"],[Tt.Msg.COLOUR_RGB_RED,"R"],[Tt.Msg.COLOUR_RGB_YELLOW,"Y"],[Tt.Msg.COLOUR_RGB_GREEN,"G"],[Tt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_WHITE,"W"],[Tt.Msg.COLOUR_RGB_RED,"R"],[Tt.Msg.COLOUR_RGB_YELLOW,"Y"],[Tt.Msg.COLOUR_RGB_GREEN,"G"],[Tt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},fr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Tt.Msg.MIXLY_SPEED,"[1]"],[Tt.Msg.MATH_SINGLE_OP_ABSOLUTE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Tt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Tt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Tt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Tt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MATH_SINGLE_OP_ABSOLUTE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"0"],[Tt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Tt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Yr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField("("+Tt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},xr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.ME_GO_MOTOR_EXTERN+Tt.Msg.MIXLY_SERVO_MOTOR).appendField(Tt.Msg.MIXLY_RELATIVE+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Tt.Msg.MSG.run).appendField("("+Tt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Tt.Msg.PIN_NUMBERING).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LEFT,"0"],[Tt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MODE).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPEED+Tt.Msg.MIXLY_MODE,"0"],[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Tt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"0"],[Tt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},br={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MOTOR,"ext_motor"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Tt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Tt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Tt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Tt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Tt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Tt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},yr={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MOTOR,"ext_motor"],[Tt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Tt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Tt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Tt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Tt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Tt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Tt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Br={init:function(){this.setColour(xu),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SERVO+Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Ur={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wr={init:function(){this.setColour(xu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MOTOR+Tt.Msg.MIXLY_SETUP+Tt.Msg.MIXLY_AT).appendField(Tt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Hr={init:function(){this.setColour(xu),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Tt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kr="#6C9858",Wr={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},Kr={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_ON,"1"],[Tt.Msg.MIXLY_ESP32_OFF,"0"],[Tt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Jr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Qr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},qr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},zr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_BUILDIN_LED+Tt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},jr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Tt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_LCD_SETCOLOR).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_LIGHT_RED,"1"],[Tt.Msg.MIXLY_LIGHT_GREEN,"2"],[Tt.Msg.MIXLY_LIGHT_BLUE,"3"],[Tt.Msg.MIXLY_LIGHT_YELLOW,"4"],[Tt.Msg.MIXLY_LIGHT_CYAN,"5"],[Tt.Msg.MIXLY_LIGHT_PURPLE,"6"],[Tt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},$r={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Zr={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},td={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ed={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SETTING).appendField(Tt.Msg.MIXLY_BUILDIN_LED).appendField(new Tt.FieldDropdown([[Tt.Msg.COLOUR_RGB_RED,"r"],[Tt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_BUILDIN_LED+Tt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},id={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},nd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},sd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},od={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},_d={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},pd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_WRI)}},ad={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Mt.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Tt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ud={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},rd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.PYTHON_RANGE_STEP).appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dd={init:function(){this.setColour(kr),this.appendValueInput("TICKS").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Tt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Tt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},ld={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Id={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Td={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Md={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},hd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},md={init:function(){this.setColour(kr),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ed={init:function(){this.setColour(kr),this.appendValueInput("LIST").appendField(Tt.Msg.MIXLY_BACKSTAGE+Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Od={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Rd={init:function(){this.setColour(kr),this.appendDummyInput().appendField("MixGo Car").appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},gd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Tt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MOTOR_DC).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Tt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STOP).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Sd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Ad={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Tt.Msg.MIXLY_SPEED,"SPEED"],[Tt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ld={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXBOT).appendField(Tt.Msg.MIXLY_MOTOR).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"1"],[Tt.Msg.TEXT_TRIM_RIGHT,"2"],[Tt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Tt.Msg.MIXLY_SPEED,"SPEED"],[Tt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Dd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Tt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},fd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.blockpy_forward,"F"],[Tt.Msg.blockpy_backward,"B"],[Tt.Msg.blockpy_left,"L"],[Tt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(new Tt.FieldDropdown([[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.BITBOT).appendField(Tt.Msg.MIXLY_MOTOR).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"0"],[Tt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vd={init:function(){this.setColour(kr),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Yd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Xd={init:function(){this.setColour(kr),this.appendValueInput("bright").appendField(Tt.Msg.MIXLY_SETTING+Tt.Msg.MIXLY_MIXBOT_BUZZER+Tt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_SETONOFF)}},xd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MIXBOT_BUZZER+Tt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_LED_GETONOFF)}},bd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_RECORD_AUDIO).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Tt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_PLAY_AUDIO).appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Vd={init:function(){this.setColour(kr),this.appendValueInput("PATH").appendField(Tt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Tt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Gd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ud={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===Mt.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendValueInput("duty").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},wd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===Mt.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new Tt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT+Tt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.ME_GO_MOTOR_EXTERN).appendField(Tt.Msg.MIXLY_ALL+Tt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Tt.ALIGN_RIGHT).appendField(Tt.Msg.blynk_IOT_IR_POWER+Tt.Msg.MIXLY_PINMODEOUT+Tt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},kd={init:function(){this.setColour(kr),this.appendDummyInput().appendField(Tt.Msg.ANALOG+Tt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_RELEASE).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ANALOG+Tt.Msg.MIXLY_KEYBOARD_INPUT)}},Wd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SPECIAL_KEY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Tt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Tt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Tt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Tt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Tt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Tt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Tt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Tt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Kd={init:function(){this.setColour(kr),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GENERAL_KEY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},Jd={init:function(){this.setColour(kr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Tt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Tt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},yh={init:function(){this.jsonInit({colour:Lh,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Tt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Tt.Msg.MIXLY_MICROBIT_Built_in_image})}},Vh={init:function(){this.setColour(Lh),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Bh={init:function(){this.setColour(Lh),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Tt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Tt.FieldDropdown(Bh.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Tt.Msg.MIXLY_MICROBIT_image_add,"-":Tt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Tt.Msg.MICROBIT_DISPLAY_UNION,"add"],[Tt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Gh={init:function(){this.setColour(Lh),this.appendValueInput("A").setCheck("esp32_image").appendField(Tt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Uh={init:function(){this.setColour(Lh),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).appendField(new Tt.FieldDropdown(Uh.OPERATORS),"OP"),this.appendValueInput("val").appendField(Tt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_UNIT);Mt.Boards.getSelectedBoardKey();"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Tt.Msg.DISPLAY_IMAGE_LET,n=Tt.Msg.DISPLAY_IMAGE_LET2,s=Tt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Tt.Msg.MIXLY_UP,shift_down:Tt.Msg.MIXLY_DOWN,shift_left:Tt.Msg.MIXLY_LEFT,shift_right:Tt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Tt.Msg.MIXLY_UP,"shift_up"],[Tt.Msg.MIXLY_DOWN,"shift_down"],[Tt.Msg.MIXLY_LEFT,"shift_left"],[Tt.Msg.MIXLY_RIGHT,"shift_right"]]},wh={init:function(){this.setColour(Lh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Hh={init:function(){this.setColour(Lh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},kh={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Wh={init:function(){this.setColour(Lh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Kh={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Clear_display);Mt.Boards.getSelectedBoardKey();"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Clear_display)}},Jh={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_SHOW+Tt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(qh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},zh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},jh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(jh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},$h={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Zh={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(Zh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},tm={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.OLED_SET_FONT).appendField(new Tt.FieldDropdown(tm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Tt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Tt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Tt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},em={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},im={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},nm={init:function(){this.setColour(Lh),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Tt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING)}},sm={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Tt.Msg.TEXT_CENTER).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},om={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},_m={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},pm={init:function(){this.setColour(Lh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},am={init:function(){this.jsonInit({colour:Lh,args0:[{name:"state",options:[[Tt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Tt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},um={init:function(){this.jsonInit({colour:Lh,args0:[{name:"state",options:[[Tt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Tt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Tt.Msg.mpython_vertical,"0"],[Tt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Tt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},rm={init:function(){this.jsonInit({colour:Lh,args0:[{name:"state",options:[[Tt.Msg.mpython_display_hline_1,"1"],[Tt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.mpython_display_line_TOOLTIP,message0:Tt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},dm={init:function(){this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Tt.FieldDropdown(dm.IMAGES),"path"),this.setColour(Lh),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},lm={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Im={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(Im.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Tm={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Mm={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},hm={init:function(){this.setColour(Lh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},mm={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Tt.FieldDropdown(mm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Tt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Tt.Msg.CLOCKWISE+"90"+Tt.Msg.blockpy_setheading_degree,"1"],[Tt.Msg.CLOCKWISE+"180"+Tt.Msg.blockpy_setheading_degree,"2"],[Tt.Msg.CLOCKWISE+"270"+Tt.Msg.blockpy_setheading_degree,"3"]]},Em={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Tt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Om={init:function(){this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Tt.inputs.Align.CENTRE).appendField(new Tt.FieldBitmap(Om.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Lh),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Rm={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR);Mt.Boards.getSelectedBoardKey();"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cm={init:function(){this.setColour(Lh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Tt.Msg.MIXLY_AipImageClassify_Image+Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gm={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Tt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Tt.Msg.TEXT_CENTER).appendField(new Tt.FieldDropdown([[Tt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Tt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR);Mt.Boards.getSelectedBoardKey();"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Cm={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Sm={init:function(){this.jsonInit({colour:Lh,args0:[{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Am={init:function(){this.jsonInit({colour:Lh,args0:[{name:"dir_h_v",options:[[Tt.Msg.mpython_vertical,"0"],[Tt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Lm={init:function(){this.jsonInit({colour:Lh,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,tooltip:Tt.Msg.mpython_display_line_TOOLTIP,message0:Tt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Nm={init:function(){this.setColour(Lh),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Tt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Dm={init:function(){this.setColour(Lh),this.appendValueInput("x").setCheck(Number).appendField(Tt.Msg.MIXLY_LCD_SETCOLOR).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR);Mt.Boards.getSelectedBoardKey();"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},fm={init:function(){this.setColour(Lh),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_SCREEN_FILL);Mt.Boards.getSelectedBoardKey();"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fm={init:function(){this.setColour(Lh),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pm={init:function(){this.setColour(Lh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vm={init:function(){this.setColour(Lh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Tt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Tt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Tt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ym={init:function(){this.setColour(Lh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xm={init:function(){this.setColour(Lh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Tt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xm={init:function(){this.jsonInit({colour:Lh,args0:[{name:"shape",options:[[Tt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Tt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Tt.Msg.mpython_HELPURL,message0:Tt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},bm={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER).appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.DRAW_POINTER_TOOLTIP)}},ym={init:function(){this.setColour(Lh),this.appendDummyInput().appendField(Tt.Msg.DRAW_POINTER).appendField(Tt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.DRAW_POINTER_TOOLTIP)}},Vm={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR);Mt.Boards.getSelectedBoardKey();"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bm={init:function(){this.setColour(Lh),this.appendValueInput("direct").appendField(Tt.Msg.OLED_BITMAP).appendField(Tt.Msg.MIXLY_QR_CODE),"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Gm={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP).appendField(Tt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ERROR_RATE).appendField(new Tt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Tt.Msg.HTML_COLOUR),"Python ESP32-S3"===Mt.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Tt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Um={init:function(){this.setColour(Lh),this.appendValueInput("data").appendField(Tt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},wm={init:function(){fh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Hm={init:function(){Yh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},km={init:function(){Uh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Wm={init:function(){kh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Km={init:function(){Wh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Jm={init:function(){Kh.init.call(this),this.appendDummyInput().appendField(`(${Tt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Tt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Qm=180,qm={init:function(){this.setColour(Qm),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Tt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).appendField(new Tt.FieldDropdown(qm.OPERATORS),"OP"),this.appendValueInput("val").appendField(Tt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Tt.Msg.DISPLAY_IMAGE_LET,n=Tt.Msg.DISPLAY_IMAGE_LET2,s=Tt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"]]},zm={init:function(){this.setColour(Qm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Tt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Tt.FieldDropdown(zm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Tt.Msg.MIXLY_MICROBIT_image_add,"-":Tt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Tt.Msg.MICROBIT_DISPLAY_UNION,"+"],[Tt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},jm={init:function(){this.setColour(Qm),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Tt.FieldDropdown(jm.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_MICROBIT_IMAGE+{height:Tt.Msg.MIXLY_HEIGHT,width:Tt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Tt.Msg.MIXLY_HEIGHT,"height"],[Tt.Msg.MIXLY_WIDTH,"width"]]},$m={init:function(){this.setColour(Qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RECT).appendField(new Tt.FieldDropdown($m.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_OLED_RECT)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Zm={init:function(){this.setColour(Qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Tt.FieldDropdown(Zm.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},tE={init:function(){this.setColour(Qm),this.appendValueInput("VAR").appendField(Tt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_DISPLAY_DRAW+Tt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Tt.FieldDropdown(tE.STATUS),"OP"),this.jsonInit({message0:Tt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Tt.Msg.MIXLY_DISPLAY_DRAW+Tt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Tt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Tt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},eE="#777777",iE={init:function(){this.setColour(eE),this.appendDummyInput("").appendField("from ").appendField(new Tt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Tt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nE={init:function(){this.setColour(eE),this.appendDummyInput("").appendField("import ").appendField(new Tt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sE={init:function(){this.setColour(eE),this.appendDummyInput("").appendField(new Tt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Tt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},WE={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},KE={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},JE={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},QE={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Tt.Msg.MIXLY_WIFI_USERNAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.MIXLY_IOT_PASSWORD).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_PROJECT).setAlign(Tt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qE={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},zE={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.appendDummyInput().appendField(Tt.Msg.MIXLY_Service_quality_display).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_AT_MOST_ONCE,"0"],[Tt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},jE={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},$E={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ZE={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tO={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eO={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Tt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},iO={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},nO={init:function(){this.setColour(VE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},sO={init:function(){this.setColour(VE),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},oO={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},_O={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO").appendField(Tt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Tt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},pO={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+Tt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aO={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Tt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uO={init:function(){this.VISITOR_ID=Mt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(VE),this.appendDummyInput("").appendField(new Tt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},rO={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MixIO").appendField(Tt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},dO={init:function(){this.setColour(VE),this.appendDummyInput().appendField("HTTP"+Tt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Tt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Tt.Msg.MIXLY_REQUESTS_GET).appendField(Tt.Msg.MIXLY_GET_CURRENT_TIME).appendField(Tt.Msg.MIXLY_OPEN_DEBUG).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lO={init:function(){this.setColour(VE),this.appendDummyInput().appendField("HTTP"+Tt.Msg.MIXLY_Client).appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Tt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Tt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},IO={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MQTT"+Tt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Tt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Tt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Tt.Msg.MQTT_Topic).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Tt.Msg.MIXLY_OPEN_DEBUG).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Tt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TO={init:function(){this.setColour(VE),this.appendDummyInput().appendField("MQTT"+Tt.Msg.MIXLY_Client).appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Tt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Tt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},MO=BE,hO=GE,mO=UE,EO=wE,OO=kE,RO={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Tt.Msg.MODEL_NAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Tt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cO=RO,gO={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Tt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Tt.Msg.MODEL_NAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Tt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},CO={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SO={init:function(){this.setColour(VE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},AO={init:function(){this.setColour(VE),this.appendDummyInput().appendField("Ollama "+Tt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},LO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Tt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},NO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Tt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Tt.inputs.Align.RIGHT).appendField(`MixIO ${Tt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Tt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},FO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},PO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Tt.inputs.Align.RIGHT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Tt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},vO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Tt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},YO=225,XO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Tt.Msg.MIXLY_NETWORK_MODE).appendField(new Tt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},xO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Tt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Tt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Tt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Tt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},bO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},yO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Tt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Tt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},VO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Tt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Tt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},BO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_NETWORK_WIFI_CONNECT+Tt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},GO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Tt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Tt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Tt.Msg.MIXLY_ESP32_NETWORK_IP,1:Tt.Msg.MIXLY_ESP32_NETWORK_MASK,2:Tt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},UO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},wO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Tt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},HO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Tt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Tt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},kO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},WO={init:function(){this.setColour(YO),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Tt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},KO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},JO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},QO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},qO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},zO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},jO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},$O={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},ZO={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},tR={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},eR={init:function(){this.setColour(YO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},iR={init:function(){this.setColour(YO),this.appendValueInput("DOMAIN").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_REQUESTS_GET).appendField(new Tt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Tt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},nR={init:function(){this.appendValueInput("VAL"),this.setColour(YO),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown(nR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Tt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Tt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Tt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Tt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},sR={init:function(){this.appendValueInput("VAR").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(YO),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown(sR.METHOD),"DIR"),this.appendDummyInput("").appendField(Tt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Tt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Tt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},oR={init:function(){this.setColour(YO),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Tt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},_R={init:function(){this.setColour(YO),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},pR="#3288dd",aR={init:function(){this.setColour(pR),this.appendValueInput("URL").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Tt.Msg.blockpy_REQUESTS).appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},uR={init:function(){this.setColour(pR),this.appendValueInput("URL").appendField(Tt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Tt.Msg.blockpy_CONDUCT).appendField(new Tt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Tt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Tt.Msg.blockpy_REQUESTS+Tt.Msg.OLED_STRING),this.appendDummyInput("").appendField(Tt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},rR={init:function(){this.appendValueInput("VAL"),this.setColour(pR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown(rR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Tt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Tt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Tt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},dR={init:function(){this.setColour(pR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Tt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Tt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},lR={init:function(){this.setColour(pR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_SERVER).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Tt.Msg.MIXLY_EMQX_PORT).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Tt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Tt.Msg.MIXLY_WIFI_USERNAME).setAlign(Tt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Tt.Msg.MIXLY_IOT_PASSWORD).setAlign(Tt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IR={init:function(){this.setColour(pR),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Tt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},TR={init:function(){this.setColour(pR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_SUBSCRIBE+Tt.Msg.MIXLY_MICROBIT_MSG).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Tt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR={init:function(){this.setColour(pR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Tt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Tt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hR={init:function(){this.setColour(pR),this.appendDummyInput().appendField("mqtt"+Tt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},mR=100,ER={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(mR),this.appendValueInput("I2CSUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(e),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},OR={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(mR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},RR={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(mR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField(Tt.Msg.MOTOR_DC).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Direction).appendField(new Tt.FieldDropdown([[Tt.Msg.CLOCKWISE,"CW"],[Tt.Msg.ANTI_CLOCKWISE,"CCW"],[Tt.Msg.MOTOR_P,"P"],[Tt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cR={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(mR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField(Tt.Msg.MOTOR_DC).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},gR={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(mR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_MOVE)}},CR={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(mR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Tt.inputs.Align.RIGHT).appendField(Tt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},SR={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(mR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Tt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},AR={init:function(){var t=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(mR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Tt.Msg.MIXLY_SERVO).appendField(Tt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},LR="#A58C5B",NR={init:function(){this.setColour(LR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Tt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SENOR_IS_PRESSED)}},DR={init:function(){this.setColour(LR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Tt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_SENOR_WAS_PRESSED)}},fR={init:function(){this.setColour(LR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Tt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.PROCEDURES_DEFRETURN_RETURN+Tt.Msg.MIXLY_BUTTON+Tt.Msg.MIXLY_GET_PRESSES)}},FR={init:function(){this.setColour(LR),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_BUTTON).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MODE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Tt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Tt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},PR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_shake,"shake"],[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"],[Tt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Tt.Msg.MIXLY_MICROBIT_face_down,"face down"],[Tt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Tt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Tt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Tt.Msg.MSG.catSensor,s=Tt.Msg.MIXLY_MICROBIT_JS_STATE,o=Tt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Tt.Msg.MIXLY_MICROBIT_shake,up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT,"face up":Tt.Msg.MIXLY_MICROBIT_face_up,"face down":Tt.Msg.MIXLY_MICROBIT_face_down,freefall:Tt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},vR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},YR={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},XR={init:function(){this.setColour(LR),this.appendValueInput("PIN",Number).appendField(new Tt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Tt.FieldDropdown(XR.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Tt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},xR={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},bR={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},yR={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.TEXT_TRIM_LEFT,"left"],[Tt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Tt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=Tt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Tt.Msg.MIXLY_ESP32_NEAR;return i+{left:Tt.Msg.TEXT_TRIM_LEFT,right:Tt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},VR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Tt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Tt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Tt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},BR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Tt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},GR={init:function(){this.setColour(LR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},UR={init:function(){this.setColour(LR),this.appendDummyInput("").appendField("LM35"+Tt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Tt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Tt.Msg.MIXLY_TOOLTIP_LM35)}},wR={init:function(){this.setColour(LR),this.appendValueInput("I2CSUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Tt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Tt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Tt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Tt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Tt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Tt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Tt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Tt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Tt.Msg.HTML_COLOUR+"、"+Tt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Tt.Msg.MIXLY_NEXT+"、"+Tt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Tt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Tt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Tt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Tt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Tt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},HR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Tt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Tt.Msg.MIXLY_DELAY_TIME_RANGE)}},kR={init:function(){this.setColour(LR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RADAR).appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Tt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Tt.Msg.MIXLY_DELAY_TIME_RANGE)}},WR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},KR={init:function(){this.setColour(LR),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RADAR).appendField(Tt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},JR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},QR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Tt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Tt.Msg.MIXLY_THE_FIRST,"3"],[Tt.Msg.MIXLY_THE_SECOND,"4"],[Tt.Msg.MIXLY_THE_THIRD,"5"],[Tt.Msg.MIXLY_THE_FOURTH,"6"],[Tt.Msg.MIXLY_THE_FIFTH,"7"],[Tt.Msg.MIXLY_THE_SIXTH,"8"],[Tt.Msg.MIXLY_THE_SEVENTH,"9"],[Tt.Msg.MIXLY_THE_EIGHTH,"10"],[Tt.Msg.MIXLY_THE_NINTH,"11"],[Tt.Msg.MIXLY_THE_TENTH,"12"],[Tt.Msg.MIXLY_THE_ELEVENTH,"13"],[Tt.Msg.MIXLY_THE_TWELFTH,"14"],[Tt.Msg.MIXLY_THE_13TH,"15"],[Tt.Msg.MIXLY_THE_14TH,"16"],[Tt.Msg.MIXLY_THE_15TH,"17"],[Tt.Msg.MIXLY_THE_16TH,"18"],[Tt.Msg.MIXLY_THE_17TH,"19"],[Tt.Msg.MIXLY_THE_18TH,"20"],[Tt.Msg.MIXLY_THE_19TH,"21"],[Tt.Msg.MIXLY_THE_20TH,"22"],[Tt.Msg.MIXLY_Turn_on_the_lights,"23"],[Tt.Msg.MIXLY_Turn_off_the_lights,"24"],[Tt.Msg.MIXLY_Turn_up_the_brightness,"25"],[Tt.Msg.MIXLY_Turn_down_the_brightness,"26"],[Tt.Msg.MIXLY_Set_it_to_red,"27"],[Tt.Msg.MIXLY_Set_it_to_orange,"28"],[Tt.Msg.MIXLY_Set_it_to_yellow,"29"],[Tt.Msg.MIXLY_Set_it_to_green,"30"],[Tt.Msg.MIXLY_Set_it_to_cyan,"31"],[Tt.Msg.MIXLY_Set_it_to_blue,"32"],[Tt.Msg.MIXLY_Set_it_to_purple,"33"],[Tt.Msg.MIXLY_Set_it_to_white,"34"],[Tt.Msg.MIXLY_Turn_on_the_fan,"35"],[Tt.Msg.MIXLY_Turn_off_the_fan,"36"],[Tt.Msg.MIXLY_First_gear,"37"],[Tt.Msg.MIXLY_Wind_speed_second,"38"],[Tt.Msg.MIXLY_Third_gear,"39"],[Tt.Msg.MIXLY_Previous,"40"],[Tt.Msg.MIXLY_Next_page,"41"],[Tt.Msg.MIXLY_Show_smiley_face,"42"],[Tt.Msg.MIXLY_Show_crying_face,"43"],[Tt.Msg.MIXLY_Show_love,"44"],[Tt.Msg.MIXLY_Close_display,"45"],[Tt.Msg.MIXLY_Start_execution,"46"],[Tt.Msg.MIXLY_FORWARD,"47"],[Tt.Msg.MIXLY_BACKWARD,"48"],[Tt.Msg.MIXLY_TURNLEFT,"49"],[Tt.Msg.MIXLY_TURNRIGHT,"50"],[Tt.Msg.MIXLY_STOP,"51"],[Tt.Msg.MIXLY_Accelerate,"52"],[Tt.Msg.MIXLY_retard,"53"],[Tt.Msg.ROTATION_FORWARD,"54"],[Tt.Msg.ROTATION_BACKWARD,"55"],[Tt.Msg.MIXLY_Query_temperature,"56"],[Tt.Msg.MIXLY_Query_humidity,"57"],[Tt.Msg.MIXLY_Query_brightness,"58"],[Tt.Msg.MIXLY_Query_sound,"59"],[Tt.Msg.MIXLY_Query_time,"60"],[Tt.Msg.MIXLY_Query_distance,"61"],[Tt.Msg.MIXLY_Query_pressure,"62"],[Tt.Msg.MIXLY_Query_key,"63"],[Tt.Msg.MIXLY_Query_touch,"64"],[Tt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Tt.Msg.MIXLY_WHETHER+Tt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},qR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Tt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Tt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},zR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MP3_PLAY).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Tt.Msg.MIXLY_WIND_SPEED,"154"],[Tt.Msg.MIXLY_HYETAL,"155"],[Tt.Msg.MIXLY_TEMPERATURE,"156"],[Tt.Msg.MIXLY_Humidity,"157"],[Tt.Msg.MIXLY_Altitude,"158"],[Tt.Msg.MIXLY_SOUND,"159"],[Tt.Msg.MIXLY_BRIGHTNESS,"160"],[Tt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Tt.Msg.MIXLY_SERVO,"162"],[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Tt.Msg.MIXLY_BUTTON2,"164"],[Tt.Msg.MIXLY_ESP32_TOUCH,"165"],[Tt.Msg.MIXLY_PAY,"166"],[Tt.Msg.MIXLY_CARSH_CHANGE,"167"],[Tt.Msg.MIXLY_COUNTDOWN,"168"],[Tt.Msg.MIXLY_TIMING,"169"],[Tt.Msg.MIXLY_AT_THE_MOMENT,"170"],[Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Tt.Msg.MIXLY_FORWARD,"172"],[Tt.Msg.MIXLY_BACKWARD,"173"],[Tt.Msg.MIXLY_TURNLEFT,"174"],[Tt.Msg.MIXLY_TURNRIGHT,"175"],[Tt.Msg.MIXLY_STOP,"176"],[Tt.Msg.MIXLY_Accelerate,"177"],[Tt.Msg.MIXLY_retard,"178"],[Tt.Msg.ROTATION_FORWARD,"179"],[Tt.Msg.ROTATION_BACKWARD,"180"],[Tt.Msg.TUPLE_JOIN,"181"],[Tt.Msg.MIXLY_SHOW,"182"],[Tt.Msg.MIXLY_LAMPLIGHT,"183"],[Tt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Tt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_UNIT).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Tt.Msg.MIXLY_YEAR,"117"],[Tt.Msg.MIXLY_MONTH,"118"],[Tt.Msg.MIXLY_DAY,"119"],[Tt.Msg.MIXLY_HOUR,"120"],[Tt.Msg.MIXLY_MINUTE,"121"],[Tt.Msg.MIXLY_SECOND,"122"],[Tt.Msg.MIXLY_WEEK2,"123"],[Tt.Msg.MIXLY_RMB_UNIT,"124"],[Tt.Msg.blockpy_setheading_degree,"125"],[Tt.Msg.MIXLY_GEAR,"126"],[Tt.Msg.MIXLY_LAYER,"127"],[Tt.Msg.MIXLY_GRAM,"128"],[Tt.Msg.MIXLY_METER,"129"],[Tt.Msg.MIXLY_CENTIMETER,"130"],[Tt.Msg.MIXLY_MILLIMETER,"131"],[Tt.Msg.MIXLY_LUMEN,"132"],[Tt.Msg.MIXLY_DECIBEL,"133"],[Tt.Msg.MIXLY_hectopascal,"134"],[Tt.Msg.MIXLY_PERCENT,"135"],[Tt.Msg.MIXLY_CELSIUS,"136"],[Tt.Msg.MIXLY_METER_PER_SEC,"137"],[Tt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Tt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Tt.Msg.MIXLY_SUCCESS,"140"],[Tt.Msg.MIXLY_FAILED,"141"],[Tt.Msg.MIXLY_WRONG,"142"],[Tt.Msg.MIXLY_GOOD,"143"],[Tt.Msg.MIXLY_blockpy_set_add,"144"],[Tt.Msg.MIXLY_DECREASE,"145"],[Tt.Msg.COLOUR_RGB_RED,"146"],[Tt.Msg.COLOUR_RGB_ORANGE,"147"],[Tt.Msg.COLOUR_YELLOW,"148"],[Tt.Msg.COLOUR_RGB_GREEN,"149"],[Tt.Msg.COLOUR_CYAN,"150"],[Tt.Msg.COLOUR_RGB_BLUE,"151"],[Tt.Msg.COLOUR_RGB_PURPLE,"152"],[Tt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},jR={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.LISTS_SET_INDEX_SET+Tt.Msg.MIXLY_SYSTEM+Tt.Msg.MIXLY_CMD).appendField(new Tt.FieldDropdown([[Tt.Msg.MILXY_ENTER_WAKE_UP,"1"],[Tt.Msg.MIXLY_INCREASE_VOLUME,"202"],[Tt.Msg.MIXLY_REDUCE_VOLUME,"203"],[Tt.Msg.MIXLY_MAX_VOLUME,"204"],[Tt.Msg.MIXLY_MINIMUM,"205"],[Tt.Msg.MIXLY_OPEN_RESPONSE,"206"],[Tt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Tt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$R={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Tt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Tt.Msg.MIXLY_ESP32_MAX30102_IR+","+Tt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ZR={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Tt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Tt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},tc={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},ec={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.HTML_COLOUR+Tt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET+Tt.Msg.HTML_COLOUR,"[2]"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_IR_STRENGTH,"[1]"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.HTML_COLOUR+Tt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET+"RGB"+Tt.Msg.HTML_COLOUR,"0"],[Tt.Msg.MIXLY_GET+Tt.Msg.MIXLY_RGB_RAW,"1"],[Tt.Msg.MIXLY_GET_ENV_LIGHT+Tt.Msg.MIXLY_BRIGHTNESS,"2"],[Tt.Msg.GET_IR_STRENGTH+Tt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},nc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Tt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},sc={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},_c={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Tt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Tt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},pc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ac={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},uc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Tt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Tt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},rc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_Altitude+Tt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Tt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Tt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},dc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MIXGOPE_FIELD+Tt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Tt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},lc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_shake,"shake"],[Tt.Msg.MIXLY_UP,"up"],[Tt.Msg.MIXLY_DOWN,"down"],[Tt.Msg.MIXLY_LEFT,"left"],[Tt.Msg.MIXLY_RIGHT,"right"],[Tt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Tt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Tt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Tt.Msg.MSG.catSensor,s=Tt.Msg.MIXLY_MICROBIT_JS_STATE,o=Tt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Tt.Msg.MIXLY_MICROBIT_shake,up:Tt.Msg.MIXLY_UP,down:Tt.Msg.MIXLY_DOWN,left:Tt.Msg.MIXLY_LEFT,right:Tt.Msg.MIXLY_RIGHT,"face up":Tt.Msg.MIXLY_MICROBIT_face_up,"face down":Tt.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},Ic={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Tc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET+Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Mc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Tt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Tt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Tt.Msg.MIXLY_MICROBIT_Direction,s=Tt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Tt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},hc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},mc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_GETTEMPERATUE)}},Ec={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return Tt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Tt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Tt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Oc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Tt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Tt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Rc={init:function(){this.setColour(LR),this.appendValueInput("SPISUB").appendField(Tt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Tt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SETUP+Tt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Tt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},cc={init:function(){this.setColour(LR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Tt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},gc={init:function(){this.setColour(LR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cc={init:function(){this.setColour(LR),this.appendDummyInput().appendField("RFID"+Tt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Sc={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Tt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ac={init:function(){this.setColour(LR),this.appendDummyInput().appendField(Tt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Tt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Tt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Tt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Lc={init:function(){this.setColour(LR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Tt.FieldDropdown([[Tt.Msg.MIXLY_RFID_SCAN_OK,"0"],[Tt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Tt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Tt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},Dc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Tt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},fc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Fc={init:function(){this.setColour(LR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Tt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+", font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},wF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},HF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},kF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},WF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},KF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},JF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},QF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},qF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},zF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},jF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},$F=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},ZF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},tP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},eP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},iP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},nP=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},sP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},oP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},_P=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n"}},pP=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},aP=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},uP=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},rP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},dP=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},lP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},IP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},TP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},MP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},hP=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),o=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),_=this.getFieldValue("key");return"TM1650"==_?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+_+"(clk="+s+",dio="+o+")\n"):"TM1637"==_&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+_+"(clk="+s+",dio="+o+")\n"),i},mP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},EP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},OP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},RP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},cP=function(t,e){e.definitions_.import_st7789="import st7789";var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+_+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},gP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+o+", size="+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+o+", size="+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},CP=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},SP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},AP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},LP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},NP=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},DP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},fP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+o+")\n"},FP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},PP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},vP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},YP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},XP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=this.getFieldValue("driver"),_=Mt.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(_)>=0?"0x700000":["mixgo_sant"].indexOf(_)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+o+")\n"},xP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},bP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},yP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},VP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},BP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},GP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},UP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},HP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},kP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},WP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},KP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},JP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},QP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},qP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},zP=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},jP=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+o+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+o+")\n"},$P=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},ZP=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.frame("+n+", delay="+s+")\n"}return o},tv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},ev=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.scroll("+n+", speed="+s+", space="+o+")\n"}else if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+o+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.scroll("+n+", speed="+s+", space="+o+")\n"}return _},iv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},nv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},sv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},ov=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},_v=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},kv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},Wv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},Kv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Jv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},Qv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},qv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},zv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},jv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),_=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+",sync="+_+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+_+")\n"}return p},$v=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var o="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o="onboard_tft.fill(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+",sync="+s+")\n"}return o},Zv=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+", "+s+", "+o+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},tY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},eY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},iY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},nY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},sY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},oY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Mt.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},_Y=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},pY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},aY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"direct",e.ORDER_ATOMIC);e.valueToCode(this,"boolean",e.ORDER_ATOMIC);return"onboard_tft.qrcode("+n+")\n"},uY=function(t,e){var i=Mt.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},rY=zP,dY=Mv,lY=lv,IY=Mv,TY=hv,MY=av,hY=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},mY=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},EY=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},yB=function(){return"control.reset()\n"},VB=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},BB=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},GB=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},UB=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},wB=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},HB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},kB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},WB=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},KB=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},JB=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},QB=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},qB=function(){return"while True:\n pass\n"},zB=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},jB=function(t,e){return e.definitions_.import_os="import os","os.uname()"},$B=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},ZB=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},tG=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},eG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},iG=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},nG=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},sG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},oG=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},_G=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},pG=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},aG=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},uG=nG,rG=sG,dG=iG,lG=$B,IG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},TG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},MG=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},hG=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},mG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},EG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},OG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},RG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},cG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},gG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},CG=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},SG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},AG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},LG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},NG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},DG='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:fG}=Mt,FG=fG.render(DG,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:PG}=Mt,vG=PG.render(DG,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:YG}=Mt,XG=YG.render(DG,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),xG=new Tt.Generator("Python");xG.INDENT=" ",xG.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),xG.ORDER_ATOMIC=0,xG.ORDER_COLLECTION=1,xG.ORDER_STRING_CONVERSION=1,xG.ORDER_UNARY_POSTFIX=1,xG.ORDER_UNARY_PREFIX=2,xG.ORDER_MEMBER=2.1,xG.ORDER_FUNCTION_CALL=2.2,xG.ORDER_EXPONENTIATION=3,xG.ORDER_UNARY_SIGN=4,xG.ORDER_BITWISE_NOT=4,xG.ORDER_MULTIPLICATIVE=5,xG.ORDER_ADDITIVE=6,xG.ORDER_BITWISE_SHIFT=7,xG.ORDER_BITWISE_AND=8,xG.ORDER_BITWISE_XOR=9,xG.ORDER_BITWISE_OR=10,xG.ORDER_RELATIONAL=11,xG.ORDER_EQUALITY=11,xG.ORDER_LOGICAL_NOT=12,xG.ORDER_LOGICAL_AND=13,xG.ORDER_LOGICAL_OR=14,xG.ORDER_ASSIGNMENT=14,xG.ORDER_CONDITIONAL=15,xG.ORDER_LAMBDA=16,xG.ORDER_NONE=99,xG.ORDER_OVERRIDES=[[xG.ORDER_FUNCTION_CALL,xG.ORDER_MEMBER],[xG.ORDER_FUNCTION_CALL,xG.ORDER_FUNCTION_CALL],[xG.ORDER_MEMBER,xG.ORDER_MEMBER],[xG.ORDER_MEMBER,xG.ORDER_FUNCTION_CALL]],xG.init=function(){xG.PASS=this.INDENT+"pass\n",xG.definitions_=Object.create(null),xG.functionNames_=Object.create(null),xG.setups_=Object.create(null),xG.loops_=Object.create(null),xG.codeEnd_=Object.create(null),xG.variableDB_?xG.variableDB_.reset():xG.variableDB_=new Ot(xG.RESERVED_WORDS_)},xG.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in xG.functions_)_.push(xG.functions_[s]);_.length&&_.push("\n");var p=[];for(var s in xG.setups_)p.push(xG.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in xG.loops_)a.push(xG.loops_[s]);var u=[];for(var s in xG.codeEnd_)u.push(xG.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n"),r},xG.scrubNakedValue=function(t){return t+"\n"},xG.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},xG.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},xG.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Tt.utils.string.wrap(o,xG.COMMENT_WRAP-3),n+=xG.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const bG={};bG.MixGo={description:"MicroPython[ESP32 MixGo]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},bG["MixGo PE"]={description:"MicroPython[ESP32 MixGo PE]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin7","pin7"],["pin8","pin8"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm7","pwm7"],["pwm8","pwm8"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:Mt.Profile.generate(["0-7"]),exlcdv:Mt.Profile.generate(["0-4"]),brightness:Mt.Profile.generate(["0-9"]),tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},bG["ESP32 Generic(4MB)"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin11","pin11"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"],["pwm33","pwm33"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},bG.mPython={description:"MicroPython[ESP32 Generic]",digital_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],digital:[["pin0","pin33"],["pin1","pin32"],["pin2","pin35"],["pin5","pin0"],["pin6","pin16"],["pin7","pin17"],["pin8","pin26"],["pin9","pin25"],["pin11","pin2"],["pin13","pin18"],["pin14","pin19"],["pin15","pin21"],["pin16","pin5"],["pin19","pin22"],["pin20","pin23"]],input_pin:[["p0","33"],["p1","32"],["p2","35"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],output_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm_pin:[["p0","33"],["p1","32"],["p5","0"],["p6","16"],["p7","17"],["p8","26"],["p9","25"],["p11","2"],["p13","18"],["p14","19"],["p15","21"],["p16","5"],["p19","22"],["p20","23"]],pwm:[["pwm0","pwm33"],["pwm1","pwm32"],["pwm5","pwm0"],["pwm6","pwm16"],["pwm7","pwm17"],["pwm8","pwm26"],["pwm9","pwm25"],["pwm11","pwm2"],["pwm13","pwm18"],["pwm14","pwm19"],["pwm15","pwm21"],["pwm16","pwm5"],["pwm19","pwm22"],["pwm20","pwm23"]],espnow_channel:Mt.Profile.generate(["1-13"]),haskylens_model:Mt.Profile.generate(["0-4"]),analog_pin:[["p0","33"],["p1","32"],["p2","35"],["p3","34"],["p4","39"],["p10","36"]],analog:[["adc0","adc33"],["adc1","adc32"],["adc2","adc35"],["adc3","adc34"],["adc4","adc39"],["adc10","adc36"]],dac_pin:[["p8","26"],["p9","25"]],dac:[["dac8","dac26"],["dac9","dac25"]],touch_mpython:[["p","p"],["y","y"],["t","t"],["h","h"],["o","o"],["n","n"]],touch:[["tc0","tc33"],["tc1","tc32"],["tc5","tc0"],["tc11","tc2"],["tc23","tc27"],["tc24","tc14"],["tc25","tc12"],["tc26","tc13"],["tc27","tc15"],["tc28","tc4"]],touch_pin:[["p0","33"],["p1","32"],["p5","0"],["p11","2"],["p23","27"],["p24","14"],["p25","12"],["p26","13"],["p27","15"],["p28","4"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:Mt.Profile.generate(["0-16"]),tts_builtin_music:Mt.Profile.generate(["0-47"]),tts_bgmusic:Mt.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]};const yG=bG,VG=230,BG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital),"PIN"),this.setOutput(!0)}},GG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},UG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},wG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},HG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},kG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},WG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},KG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},JG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},QG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},qG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},zG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},jG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},$G={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},ZG={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},tU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},eU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},iU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog),"PIN"),this.setOutput(!0)}},nU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},sU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.dac),"PIN"),this.setOutput(!0)}},oU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},_U={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},pU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},aU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},uU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},rU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.touch),"PIN"),this.setOutput(!0)}},dU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},lU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},IU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},TU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},MU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},hU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},mU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},EU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},OU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},RU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},cU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},gU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},CU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},SU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},AU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},LU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},NU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},DU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown(Mt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},fU={init:function(){this.setColour(VG),this.appendDummyInput("").appendField(new Tt.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},FU=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},PU=FU,vU=FU,YU=FU,XU=FU,xU=FU,bU=FU,yU=FU,VU=FU,BU=FU,GU=FU,UU=FU,wU=FU,HU=FU,kU=FU,WU=FU,KU=FU,JU=FU,QU=FU,qU=FU,zU=FU,jU=FU,$U=FU,ZU=FU,tw=FU,ew=FU,iw=FU,nw=FU,sw=FU,ow=FU,_w=FU,pw=FU,aw=FU,uw=FU,rw=FU,dw=FU;Object.assign(Tt.Variables,mt),Object.assign(Tt.Procedures,Yu),Object.assign(Tt.Lang.ZhHans,ut),Object.assign(Tt.Lang.ZhHant,rt),Object.assign(Tt.Lang.En,dt),Tt.Python=Xu,Tt.generator=Xu,Mt.Profile.default={},Object.assign(Mt.Profile,yG),Object.assign(Mt.Profile.default,yG["ESP32 Generic"]),Object.assign(Tt.Blocks,e,i,n,s,o,_,p,a,u,r,d,l,I,b,H,w,v,y,k,f,U,G,B,V,F,D,N,X,Y,x,P,lt),Object.assign(Tt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,tt,pt,_t,z,et,at,J,ot,st,nt,it,Q,K,W,$,j,Z,q,It)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/index.xml b/boards/default/micropython_esp32c2/index.xml index 8f42f14f..958116de 100644 --- a/boards/default/micropython_esp32c2/index.xml +++ b/boards/default/micropython_esp32c2/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_func1attachInterrupt_funcattachInterrupt_funcrfid00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,010044044010000100412000000000001000100010020000Hello, Mixly!10mixly.wav5Mixly0MixlyMixly500MixlyMixly50010.501001001000interrupt_funcinterrupt_functurnsdistance00Mixly0Mixly00Mixly0Mixlywifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京10000https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyasrllmasrasr3llmquestionllmllmcb_func灯光控制用来控制LED灯光的开关power开为true,关为falsecb_funcinfoble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cb100midi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_func1attachInterrupt_funcattachInterrupt_funcrfid00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,010044044010000100412000000000001000100010020000Hello, Mixly!10mixly.wav5Mixly0MixlyMixly500MixlyMixly50010.501001001000interrupt_funcinterrupt_functurnsdistancei2c_extend2122400000pei2c_extendpepe100pepe100pepe100pe00Mixly0Mixly00Mixly0Mixlywifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京10000https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyasrllmasrasr3llmquestionllmllmcb_func灯光控制用来控制LED灯光的开关power开为true,关为falsecb_funcinfoble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cb100midi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/main.bundle.1cce2904.js b/boards/default/micropython_esp32c2/main.bundle.1cce2904.js new file mode 100644 index 00000000..5ba47332 --- /dev/null +++ b/boards/default/micropython_esp32c2/main.bundle.1cce2904.js @@ -0,0 +1,21 @@ +(()=>{"use strict";var e={d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{controls_type:()=>Ge,controls_typeLists:()=>Ue,lists_zip:()=>we,lists_zip_container:()=>He,lists_zip_item:()=>ke,unpack_iterable_object:()=>We,variables_change:()=>Ve,variables_get:()=>xe,variables_global:()=>Be,variables_set:()=>be});var i={};e.r(i),e.d(i,{base_setup:()=>Qe,controls_delay:()=>qe,controls_end_program:()=>ze,controls_except:()=>ut,controls_finally:()=>rt,controls_flow_statements:()=>it,controls_for:()=>nt,controls_forEach:()=>Ze,controls_for_range:()=>st,controls_if:()=>je,controls_if_else:()=>pt,controls_if_elseif:()=>ot,controls_if_if:()=>_t,controls_lambda:()=>lt,controls_main:()=>Je,controls_pass:()=>It,controls_range:()=>$e,controls_repeat_ext:()=>dt,controls_thread:()=>Mt,controls_try:()=>at,controls_try_finally:()=>tt,controls_whileUntil:()=>et,datetime_fromtimestamp:()=>Rt,do_while:()=>Tt,garbage_collection:()=>ht,gene_unique_identifier:()=>ct,get_mem_alloc:()=>mt,get_mem_free:()=>Et,get_unique_identifier:()=>Ot});var n={};e.r(n),e.d(n,{base_map:()=>wt,generate_cartesian_product:()=>kt,math_arithmetic:()=>Lt,math_bit:()=>Dt,math_constant:()=>St,math_constant_mp:()=>At,math_constrain:()=>yt,math_dec:()=>Ft,math_degree_to_radian:()=>Kt,math_indexer_number:()=>bt,math_map:()=>xt,math_max_min:()=>Yt,math_number:()=>Ct,math_number_base_conversion:()=>vt,math_radian_to_degree:()=>Wt,math_random:()=>Xt,math_random_seed:()=>Vt,math_round:()=>Bt,math_selfcalcu:()=>Nt,math_to_int:()=>Pt,math_trig:()=>ft,text_to_number:()=>Gt,text_to_number_skulpt:()=>Ut,turn_to_int:()=>Ht});var s={};e.r(s),e.d(s,{ascii_to_char:()=>Zt,char_to_ascii:()=>ei,number_to_text:()=>ti,os_system:()=>Li,text:()=>Qt,text_bytes:()=>zt,text_capital:()=>ri,text_center:()=>di,text_char:()=>jt,text_char_at:()=>si,text_char_at2:()=>ni,text_char_at3:()=>gi,text_compareTo:()=>ci,text_compare_to:()=>ui,text_create_with_container:()=>Ei,text_create_with_item:()=>Oi,text_encode:()=>Si,text_equals_starts_ends:()=>ai,text_eval:()=>Ai,text_find:()=>li,text_format:()=>mi,text_format_noreturn:()=>Ci,text_join:()=>$t,text_join_seq:()=>Ii,text_length:()=>ii,text_random_char:()=>_i,text_replace:()=>Mi,text_split:()=>Ti,text_strip:()=>hi,text_substring:()=>pi,text_substring2:()=>oi,text_substring3:()=>Ri,text_textarea:()=>qt});var _={};e.r(_),e.d(_,{ENUMERATE:()=>un,content_in_lists:()=>dn,enumerate:()=>rn,list_many_input:()=>qi,list_tolist:()=>Zi,list_tolist2:()=>an,list_trig:()=>Ki,lists_2d_get_col_row_data:()=>Pi,lists_2d_get_data_with_col_row:()=>Fi,lists_append_extend:()=>bi,lists_change_to:()=>Qi,lists_change_to_general:()=>ji,lists_clear:()=>wi,lists_create_with:()=>Yi,lists_create_with2:()=>en,lists_create_with_container:()=>Xi,lists_create_with_item:()=>yi,lists_create_with_noreturn:()=>zi,lists_create_with_text:()=>vi,lists_create_with_text2:()=>tn,lists_del_general:()=>$i,lists_find:()=>Wi,lists_getIndex3:()=>nn,lists_getSublist3:()=>sn,lists_get_index:()=>Di,lists_get_random_item:()=>Vi,lists_get_random_sublist:()=>Bi,lists_get_sublist:()=>fi,lists_insert_value:()=>Gi,lists_insert_value2:()=>on,lists_pop:()=>ki,lists_remove_at:()=>Hi,lists_remove_at2:()=>pn,lists_reverse:()=>Ui,lists_setIndex3:()=>_n,lists_set_index:()=>xi,lists_sort:()=>Ji});var o={};e.r(o),e.d(o,{dicts_add_change_del:()=>Nn,dicts_add_or_change:()=>On,dicts_clear:()=>gn,dicts_create_with:()=>In,dicts_create_with_container:()=>Mn,dicts_create_with_item:()=>Tn,dicts_create_with_noreturn:()=>Fn,dicts_deldict:()=>Ln,dicts_delete:()=>Rn,dicts_get:()=>mn,dicts_get_default:()=>En,dicts_items:()=>Cn,dicts_keys:()=>hn,dicts_length:()=>An,dicts_pop:()=>Dn,dicts_setdefault:()=>fn,dicts_to_json:()=>Yn,dicts_to_json2:()=>yn,dicts_to_to:()=>Xn,dicts_todict:()=>Pn,dicts_update:()=>cn,dicts_values:()=>Sn,json_to_dicts:()=>vn});var p={};e.r(p),e.d(p,{logic_boolean:()=>Un,logic_compare:()=>bn,logic_compare_continous:()=>Vn,logic_is:()=>Wn,logic_is_in:()=>kn,logic_negate:()=>Gn,logic_null:()=>wn,logic_operation:()=>Bn,logic_tobool:()=>Kn,logic_true_or_false:()=>Hn});var a={};e.r(a),e.d(a,{sdcard_mount:()=>Ts,sdcard_use_spi_init:()=>Ms,storage_can_write_ornot:()=>ts,storage_change_dir:()=>ls,storage_close_file:()=>ns,storage_delete_file:()=>_s,storage_file_seek:()=>as,storage_file_tell:()=>ps,storage_file_write:()=>jn,storage_fileopen:()=>Qn,storage_fileopen_new:()=>qn,storage_fileopen_new_encoding:()=>zn,storage_get_a_line:()=>es,storage_get_contents:()=>Zn,storage_get_contents_without_para:()=>$n,storage_get_current_dir:()=>us,storage_get_file_size:()=>os,storage_get_filename:()=>is,storage_is_file:()=>Is,storage_list_all_files:()=>ss,storage_make_dir:()=>rs,storage_open_file_with_os:()=>Jn,storage_rename:()=>ds});var u={};e.r(u),e.d(u,{procedures_callnoreturn:()=>Rs,procedures_callreturn:()=>cs,procedures_defnoreturn:()=>hs,procedures_defreturn:()=>ms,procedures_ifreturn:()=>gs,procedures_mutatorarg:()=>Os,procedures_mutatorcontainer:()=>Es,procedures_return:()=>Cs});var r={};e.r(r),e.d(r,{tuple_change_to:()=>ys,tuple_create_llm_params:()=>ks,tuple_create_with:()=>As,tuple_create_with_container:()=>Ls,tuple_create_with_item:()=>Ns,tuple_create_with_noreturn:()=>Bs,tuple_create_with_text2:()=>Ds,tuple_create_with_text_return:()=>fs,tuple_del:()=>Ys,tuple_find:()=>xs,tuple_getIndex:()=>Fs,tuple_getSublist:()=>Vs,tuple_get_random_item:()=>Us,tuple_get_sublist:()=>Gs,tuple_input:()=>Hs,tuple_join:()=>vs,tuple_length:()=>Ps,tuple_max:()=>Xs,tuple_totuple:()=>ws,tuple_trig:()=>bs});var d={};e.r(d),e.d(d,{set_add_discard:()=>e_,set_clear:()=>js,set_create_with:()=>Ks,set_create_with_container:()=>Js,set_create_with_item:()=>Qs,set_create_with_text_return:()=>n_,set_length:()=>qs,set_operate:()=>$s,set_operate_update:()=>Zs,set_pop:()=>zs,set_sub:()=>t_,set_toset:()=>s_,set_update:()=>i_});var l={};e.r(l),e.d(l,{html_content:()=>u_,html_content_more:()=>r_,html_document:()=>o_,html_form:()=>l_,html_head_body:()=>a_,html_style:()=>d_,html_style_color:()=>M_,html_style_content:()=>I_,html_text:()=>T_,html_title:()=>p_});var I={};e.r(I),e.d(I,{attribute_access:()=>f_,function_call:()=>L_,function_call_container:()=>N_,function_call_item:()=>D_,raw_block:()=>E_,raw_empty:()=>R_,raw_expression:()=>O_,raw_table:()=>m_,text_comment:()=>c_,text_print_multiple:()=>C_,text_print_multiple_container:()=>S_,text_print_multiple_item:()=>A_,type_check:()=>g_});var M={};e.r(M),e.d(M,{controls_type:()=>X_,controls_typeLists:()=>y_,lists_zip:()=>x_,unpack_iterable_object:()=>b_,variables_change:()=>Y_,variables_get:()=>F_,variables_global:()=>v_,variables_set:()=>P_});var T={};e.r(T),e.d(T,{Panic_with_status_code:()=>J_,base_setup:()=>B_,controls_delay:()=>K_,controls_flow_statements:()=>W_,controls_for:()=>w_,controls_forEach:()=>$_,controls_for_range:()=>H_,controls_if:()=>G_,controls_interrupts:()=>z_,controls_lambda:()=>eo,controls_main:()=>V_,controls_millis:()=>Q_,controls_nointerrupts:()=>j_,controls_pass:()=>io,controls_range:()=>Z_,controls_repeat:()=>ro,controls_repeat_ext:()=>_o,controls_thread:()=>no,controls_try_finally:()=>U_,controls_whileUntil:()=>k_,datetime_fromtimestamp:()=>lo,do_while:()=>so,garbage_collection:()=>oo,gene_unique_identifier:()=>Io,get_mem_alloc:()=>po,get_mem_free:()=>ao,get_unique_identifier:()=>uo,reset:()=>q_,time_sleep:()=>to});var h={};e.r(h),e.d(h,{base_map:()=>Xo,generate_cartesian_product:()=>xo,math_arithmetic:()=>Eo,math_bit:()=>mo,math_constant:()=>To,math_constant_mp:()=>ho,math_constrain:()=>No,math_dec:()=>go,math_degree_to_radian:()=>Vo,math_indexer_number:()=>Fo,math_map:()=>Lo,math_max_min:()=>So,math_number:()=>Mo,math_number_base_conversion:()=>Do,math_radian_to_degree:()=>bo,math_random:()=>Ao,math_random_seed:()=>fo,math_round:()=>Po,math_selfcalcu:()=>Oo,math_single:()=>Ro,math_to_int:()=>Co,math_trig:()=>co,text_to_number:()=>Yo,text_to_number_skulpt:()=>vo,turn_to_int:()=>yo});var m={};e.r(m),e.d(m,{ascii_to_char:()=>ko,char_to_ascii:()=>Wo,number_to_text:()=>Ko,os_system:()=>Tp,text:()=>Bo,text_bytes:()=>Uo,text_capital:()=>tp,text_center:()=>ip,text_char:()=>wo,text_char_at:()=>qo,text_char_at2:()=>Qo,text_char_at3:()=>lp,text_compareTo:()=>dp,text_compare_to:()=>$o,text_encode:()=>Ip,text_equals_starts_ends:()=>jo,text_eval:()=>Mp,text_find:()=>np,text_format:()=>ap,text_format_noreturn:()=>up,text_join:()=>Ho,text_join_seq:()=>sp,text_length:()=>Jo,text_random_char:()=>zo,text_replace:()=>_p,text_split:()=>op,text_strip:()=>pp,text_substring:()=>ep,text_substring2:()=>Zo,text_substring3:()=>rp,text_textarea:()=>Go});var E={};e.r(E),e.d(E,{content_in_lists:()=>qp,enumerate:()=>Qp,list_many_input:()=>yp,list_tolist:()=>Kp,list_tolist2:()=>Jp,list_trig:()=>Yp,lists_2d_get_col_row_data:()=>Ep,lists_2d_get_data_with_col_row:()=>mp,lists_append_extend:()=>Cp,lists_change_to:()=>Xp,lists_change_to_general:()=>bp,lists_clear:()=>Dp,lists_create_with:()=>Op,lists_create_with2:()=>Bp,lists_create_with_noreturn:()=>xp,lists_create_with_text:()=>Rp,lists_create_with_text2:()=>Gp,lists_del_general:()=>Vp,lists_find:()=>fp,lists_getIndex3:()=>Up,lists_getSublist3:()=>wp,lists_get_index:()=>cp,lists_get_random_item:()=>Sp,lists_get_random_sublist:()=>Ap,lists_get_sublist:()=>hp,lists_insert_value:()=>Lp,lists_insert_value2:()=>kp,lists_pop:()=>Pp,lists_remove_at:()=>Fp,lists_remove_at2:()=>Wp,lists_reverse:()=>Np,lists_setIndex3:()=>Hp,lists_set_index:()=>gp,lists_sort:()=>vp});var O={};e.r(O),e.d(O,{dicts_add_change_del:()=>aa,dicts_add_or_change:()=>ea,dicts_clear:()=>na,dicts_create_with:()=>zp,dicts_create_with_noreturn:()=>da,dicts_deldict:()=>pa,dicts_delete:()=>ta,dicts_get:()=>$p,dicts_get_default:()=>Zp,dicts_items:()=>sa,dicts_keys:()=>jp,dicts_length:()=>oa,dicts_pop:()=>ua,dicts_setdefault:()=>ra,dicts_to_json:()=>Ia,dicts_to_json2:()=>ha,dicts_to_to:()=>Ta,dicts_todict:()=>la,dicts_update:()=>ia,dicts_values:()=>_a,json_to_dicts:()=>Ma});var R={};e.r(R),e.d(R,{logic_boolean:()=>ca,logic_compare:()=>ma,logic_compare_continous:()=>Ea,logic_is:()=>Aa,logic_is_in:()=>Sa,logic_negate:()=>Ra,logic_null:()=>ga,logic_operation:()=>Oa,logic_tobool:()=>La,logic_true_or_false:()=>Ca});var c={};e.r(c),e.d(c,{sdcard_mount:()=>qa,sdcard_use_spi_init:()=>Qa,storage_can_write_ornot:()=>ya,storage_change_dir:()=>Ha,storage_close_file:()=>ba,storage_delete_file:()=>Ba,storage_file_seek:()=>wa,storage_file_tell:()=>Ua,storage_file_write:()=>Pa,storage_fileopen:()=>Da,storage_fileopen_new:()=>fa,storage_fileopen_new_encoding:()=>Fa,storage_get_a_line:()=>Xa,storage_get_contents:()=>va,storage_get_contents_without_para:()=>Ya,storage_get_current_dir:()=>ka,storage_get_file_size:()=>Ga,storage_get_filename:()=>xa,storage_is_file:()=>Ja,storage_list_all_files:()=>Va,storage_make_dir:()=>Wa,storage_open_file_with_os:()=>Na,storage_rename:()=>Ka});var g={};e.r(g),e.d(g,{procedures_callnoreturn:()=>Za,procedures_callreturn:()=>$a,procedures_defnoreturn:()=>ja,procedures_defreturn:()=>za,procedures_ifreturn:()=>eu,procedures_return:()=>tu});var C={};e.r(C),e.d(C,{tuple_change_to:()=>ru,tuple_create_llm_params:()=>Ou,tuple_create_with:()=>iu,tuple_create_with_noreturn:()=>Mu,tuple_create_with_text2:()=>nu,tuple_create_with_text_return:()=>su,tuple_del:()=>pu,tuple_find:()=>du,tuple_getIndex:()=>_u,tuple_getSublist:()=>Iu,tuple_get_random_item:()=>hu,tuple_get_sublist:()=>Tu,tuple_input:()=>Eu,tuple_join:()=>au,tuple_length:()=>ou,tuple_max:()=>uu,tuple_totuple:()=>mu,tuple_trig:()=>lu});var S={};e.r(S),e.d(S,{set_add_discard:()=>Lu,set_clear:()=>Cu,set_create_with:()=>Ru,set_create_with_text_return:()=>fu,set_length:()=>cu,set_operate:()=>Su,set_operate_update:()=>Au,set_pop:()=>gu,set_sub:()=>Nu,set_toset:()=>Fu,set_update:()=>Du});var A={};e.r(A),e.d(A,{html_content:()=>Xu,html_content_more:()=>yu,html_document:()=>Pu,html_form:()=>bu,html_head_body:()=>vu,html_style:()=>xu,html_style_content:()=>Vu,html_text:()=>Bu,html_title:()=>Yu});var L={};e.r(L),e.d(L,{attribute_access:()=>Ku,function_call:()=>Wu,raw_block:()=>Gu,raw_empty:()=>wu,raw_expression:()=>Uu,raw_table:()=>Hu,type_check:()=>ku});var N={};e.r(N),e.d(N,{PIN_init:()=>Zr,actuator_extern_get_led_bright:()=>ar,actuator_extern_get_led_state:()=>ur,actuator_extern_led_bright:()=>pr,actuator_extern_led_brightness:()=>rr,actuator_ms32006_dcmotor:()=>Or,actuator_ms32006_init:()=>Er,actuator_ms32006_stepper:()=>Rr,actuator_neopixel_init:()=>cr,actuator_neopixel_rgb:()=>gr,actuator_neopixel_rgb_all:()=>Cr,actuator_neopixel_rgb_show_all_chase:()=>Lr,actuator_neopixel_rgb_show_all_rainbow:()=>Ar,actuator_neopixel_write:()=>Sr,actuator_use_uart_init:()=>Nr,backstage_esp32_music_play_list:()=>tr,esp32_music_get_tempo_extern:()=>nr,esp32_music_pitch:()=>$u,esp32_music_pitch_init:()=>ju,esp32_music_pitch_with_time:()=>Zu,esp32_music_play_list:()=>er,esp32_music_reset_extern:()=>sr,esp32_music_set_tempo_extern:()=>ir,esp32_music_stop:()=>_r,esp32_set_music_volume:()=>or,mixbot_actuator_extern_get_addr:()=>jr,mixbot_actuator_extern_set_addr:()=>$r,mixbot_addr_extern:()=>Vr,parrot_PIN_init:()=>nd,parrot_move_speed:()=>sd,pin_led_bright:()=>ed,player_insert_music:()=>vr,player_play_music:()=>Yr,player_set_mode:()=>Pr,player_set_play:()=>fr,player_set_volume:()=>Fr,player_whether_stop:()=>Dr,robot_led_extern:()=>wr,robot_led_extern_get_value:()=>Hr,robot_motor_extern:()=>Br,robot_motor_extern_get_speed:()=>Gr,robot_servo_extern_absolute_run:()=>Jr,robot_servo_extern_get_status:()=>kr,robot_servo_extern_relative_continue:()=>zr,robot_servo_extern_relative_origin:()=>Qr,robot_servo_extern_relative_run:()=>qr,robot_servo_extern_stop:()=>Kr,robot_servo_extern_stop_mode:()=>Wr,robot_traffic_light_extern:()=>Ur,servo_PIN_init:()=>td,servo_get_angle:()=>hr,servo_get_speed:()=>mr,servo_init:()=>dr,servo_move:()=>lr,servo_move_angle:()=>id,servo_set_angle:()=>Mr,servo_set_speed:()=>Tr,servo_speed_360:()=>Ir,syn6288_builtin_voice:()=>xr,syn6288_get_voice:()=>yr,syn6288_set_voice:()=>Xr,syn6288_tts_play:()=>br});var D={};e.r(D),e.d(D,{actuator_dc_motor:()=>bd,actuator_dc_motor_stop:()=>Vd,actuator_get_led_bright:()=>ud,actuator_get_led_state:()=>rd,actuator_led_bright:()=>ad,actuator_led_brightness:()=>dd,actuator_mixbot_buzzer_on_off:()=>Hd,actuator_mixgo_nova_mic_get:()=>Qd,actuator_mixgo_nova_mic_set:()=>Jd,actuator_mixgo_nova_onboard_music_pitch:()=>el,actuator_mixgo_nova_onboard_music_stop:()=>tl,actuator_mixgo_nova_play_audio:()=>$d,actuator_mixgo_nova_play_online_audio:()=>Zd,actuator_mixgo_nova_record_audio:()=>jd,actuator_mixgo_nova_voice_get:()=>zd,actuator_mixgo_nova_voice_set:()=>qd,actuator_mixgo_zero_led_color:()=>ld,actuator_onboard_neopixel_rgb:()=>Ed,actuator_onboard_neopixel_rgb_all:()=>Od,actuator_onboard_neopixel_rgb_show_all_chase:()=>cd,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Rd,actuator_onboard_neopixel_write:()=>gd,actuator_rm_onboard_neopixel_rgb:()=>Cd,actuator_rm_onboard_neopixel_rgb_all:()=>Sd,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>Ad,actuator_stepper_keep:()=>yd,actuator_stepper_stop:()=>xd,analog_ble_keyboard_init:()=>Tl,analog_ble_keyboard_input:()=>El,analog_ble_keyboard_mouse_init:()=>Ll,analog_ble_keyboard_mouse_input:()=>Fl,analog_ble_keyboard_mouse_send_battery:()=>fl,analog_ble_keyboard_mouse_str:()=>Pl,analog_ble_keyboard_send_battery:()=>Rl,analog_ble_keyboard_str:()=>Ol,analog_ble_mouse_init:()=>cl,analog_ble_mouse_input:()=>Sl,analog_ble_mouse_keyboard_input:()=>Yl,analog_ble_mouse_send_battery:()=>Al,analog_keyboard_input:()=>ol,analog_keyboard_str:()=>Ml,analog_mouse_input:()=>ll,backstage_onboard_music_play_list:()=>vd,bitbot_motor:()=>Kd,bitbot_move:()=>kd,bitbot_stop:()=>Wd,ble_keyboard_connect:()=>ml,ble_keyboard_get_mac:()=>hl,ble_keyboard_mouse_connect:()=>Dl,ble_keyboard_mouse_get_mac:()=>Nl,ble_mouse_connect:()=>Cl,ble_mouse_get_mac:()=>gl,cc_number:()=>md,educore_ble_keyboard_input:()=>wl,educore_ble_sensor_connected:()=>Ul,educore_ble_sensor_init:()=>Gl,educore_buzzer:()=>vl,educore_buzzer_play_tone:()=>Xl,educore_buzzer_play_tone_time:()=>yl,educore_buzzer_stop:()=>xl,educore_neopixel_clear:()=>Bl,educore_neopixel_rgb:()=>Vl,educore_rgb_light:()=>bl,esp32_music_get_tempo:()=>Nd,esp32_music_reset:()=>Dd,esp32_music_set_tempo:()=>Ld,esp32_onboard_music_pitch:()=>fd,esp32_onboard_music_pitch_with_time:()=>Fd,esp32_onboard_music_play_list:()=>Yd,esp32_onboard_music_stop:()=>Pd,general_key:()=>al,general_key_tuple:()=>ul,generalkey_container:()=>rl,generalkey_create_with_item:()=>dl,get_keyboard_light:()=>Hl,get_power_output:()=>nl,ledswitch:()=>pd,mixbot_motor:()=>wd,mixbot_motor_status:()=>Bd,mixbot_move:()=>Gd,mixbot_stop:()=>Ud,mouse_key:()=>Il,number:()=>od,record_audio:()=>Wl,rm_actuator_get_led_bright:()=>Md,rm_actuator_get_led_state:()=>Td,rm_actuator_led_bright:()=>Id,rm_actuator_led_brightness:()=>hd,rm_motor:()=>Xd,set_all_power_output:()=>sl,set_microphone_amplification:()=>kl,set_music_volume:()=>Kl,set_part_power_output:()=>_l,set_power_output:()=>il,special_key:()=>pl});var f={};e.r(f),e.d(f,{ai_sensor_20object:()=>LI,ai_sensor_ailocal_class:()=>TI,ai_sensor_ailocal_class_result:()=>hI,ai_sensor_ailocal_train:()=>MI,ai_sensor_asr_recognize:()=>cI,ai_sensor_audio_play:()=>EI,ai_sensor_audio_record:()=>mI,ai_sensor_barcode:()=>eI,ai_sensor_circle:()=>oI,ai_sensor_classifier_faces:()=>AI,ai_sensor_color:()=>rI,ai_sensor_color_chases:()=>II,ai_sensor_color_chases_result:()=>lI,ai_sensor_config:()=>$l,ai_sensor_face:()=>SI,ai_sensor_find_20objects:()=>NI,ai_sensor_find_barcodes:()=>tI,ai_sensor_find_circles:()=>pI,ai_sensor_find_colors:()=>dI,ai_sensor_find_licenseplates:()=>CI,ai_sensor_find_lines:()=>_I,ai_sensor_find_qrcodes:()=>jl,ai_sensor_find_rects:()=>uI,ai_sensor_find_tags:()=>nI,ai_sensor_licenseplate:()=>gI,ai_sensor_line:()=>sI,ai_sensor_qrcode:()=>ql,ai_sensor_qrcode_lite:()=>zl,ai_sensor_rect:()=>aI,ai_sensor_rgb:()=>Zl,ai_sensor_tag:()=>iI,ai_sensor_use_uart_init:()=>Ql,ai_sensor_yolo_recognize:()=>OI,ai_sensor_yolo_recognize_result:()=>RI});var F={};e.r(F),e.d(F,{MICROPYTHON_AI_Speech_asr:()=>FI,MICROPYTHON_AI_Speech_unit:()=>fI,MICROPYTHON_AI_client:()=>DI});var P={};e.r(P),e.d(P,{AI_CAMERA_INIT:()=>oM,AI_CAMERA_INIT_FACERECOGNIZE:()=>uM,AI_CAMERA_INIT_SIMPLE:()=>yM,AI_STOP_ACQUISITION:()=>YM,CAMERA_LOOGOUT:()=>qI,CI130X_BROADCAST_SANT:()=>UI,CI130X_BROADCAST_SYSTEM_TIME:()=>HI,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>GI,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>BI,CI130X_IDENTIFY_AND_SAVE_SANT:()=>VI,CI130X_OPEN_AND_CLOSE:()=>xI,CI130X_PLAY_SYSTEM_CMD_SANT:()=>bI,CI130X_SET_SYSTEM_CMD_SANT:()=>wI,CONVERT_IMAGE_TO_JPG:()=>$I,CREATE_CAMERA:()=>kI,CREATE_CAMERA_SIMPLE:()=>XM,DELETE_FACE_ALL:()=>CM,DELETE_FACE_FROM_DATABASE:()=>gM,GET_CAT_FACE_DETECTION_NUM:()=>DM,GET_COLOR_DETECTION_NUM:()=>NM,GET_FACE_DETECTION_NAME:()=>PM,GET_FACE_DETECTION_NUM:()=>FM,GET_HOW_MUCH_RECOGNITION:()=>IM,GET_HUMAN_DETECTION_NUM:()=>fM,GET_IMAGE_AND_SAVE:()=>KI,GET_IMAGE_FROM_NET:()=>QI,GET_NO_CAT_OR_FACE_RECOGNITION:()=>TM,GET_NO_FACE_RECOGNITION_INFO:()=>EM,GET_NO_RECOGNITION:()=>MM,GET_NO_XY_RECOGNITION:()=>hM,GET_NO_XY_RECOGNITION_FACE:()=>mM,GET_PICTURE_DATA_EXACT:()=>zI,GET_PICTURE_DATA_WHS:()=>ZI,GET_PICTURE_RECOGNITION_DATA:()=>LM,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>jI,GET_QR_CODE_RECOGNITION_DATA:()=>AM,GET_SCREEN_IMAGE:()=>_M,GET_SCREEN_IMAGE_SIZE:()=>sM,MIXIO_REPORT_IMAGE_DATA:()=>vM,MODEL_INIT_HEIGHT:()=>aM,MODEL_INIT_WIDTH:()=>pM,MODEL_LOGOUT:()=>rM,MODEL_RUN:()=>dM,MODEL_WHETHER_RUN_SUCCEED:()=>lM,OPEN_IMAGE:()=>JI,PRINT_FACE_DATABASE:()=>SM,REGISTER_NEW_FACE:()=>cM,REGISTER_NEW_FACE_SIMPLE:()=>bM,Register_color_recognition:()=>RM,Register_color_recognition_fixed:()=>OM,Register_color_recognition_fixed_SIMPLE:()=>xM,SCREEN_DISPLAY_IMAGE:()=>iM,SCREEN_DISPLAY_IMAGE_LOCATION:()=>nM,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>eM,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>tM,SHOOT_AND_SAVE_PICTURE:()=>WI,VOICE_RECOGNITION_CONTROL:()=>yI,yesorno:()=>XI});var Y={};e.r(Y),e.d(Y,{init_xunfei_Chinese_Model:()=>UM,init_xunfei_Spark_Ultra:()=>GM,init_xunfei_Spark_Ultra_clr_his:()=>kM,init_xunfei_vi:()=>BM,llm_set_callback:()=>WM,llm_set_callback_container:()=>KM,llm_set_callback_item:()=>JM,xunfei_Spark_Ultra_run:()=>HM,xunfei_vi_run:()=>wM});var v={};e.r(v),e.d(v,{mpython_blynk_app_data:()=>aT,mpython_blynk_app_notify:()=>tT,mpython_blynk_email:()=>sT,mpython_blynk_get_timers:()=>_T,mpython_blynk_on_connected:()=>$M,mpython_blynk_on_disconnected:()=>jM,mpython_blynk_run:()=>eT,mpython_blynk_sensor_data_to_app:()=>pT,mpython_blynk_set_property:()=>nT,mpython_blynk_setup:()=>uT,mpython_blynk_stop_timers:()=>iT,mpython_blynk_sync_virtual:()=>zM,mpython_blynk_terminal_widget_vpin:()=>qM,mpython_blynktimer:()=>oT,mpython_blynktimer_run:()=>ZM});var X={};e.r(X),e.d(X,{cc_g1_init:()=>rT,cc_g1_read_bat:()=>dT,cc_g1_read_joystick:()=>lT,cc_g1_read_key:()=>IT,cc_g1_turnoff:()=>MT});var y={};e.r(y),e.d(y,{ce_go_dc_motor:()=>CT,ce_go_get_led_bright:()=>ET,ce_go_get_led_state:()=>OT,ce_go_hall_attachInterrupt:()=>ST,ce_go_hall_data:()=>LT,ce_go_hall_initialize:()=>AT,ce_go_led_bright:()=>mT,ce_go_led_brightness:()=>RT,ce_go_light_number:()=>hT,ce_go_pin_light:()=>PT,ce_go_pin_near:()=>DT,ce_go_pin_near_line:()=>NT,ce_go_pin_near_state_change:()=>fT,ce_go_stepper_keep:()=>cT,ce_go_stepper_stop:()=>gT,educore_car:()=>YT,educore_car_pin_near:()=>xT,educore_car_pin_near_line:()=>yT,educore_car_stepper_keep:()=>vT,educore_car_stepper_stop:()=>XT,sensor_mixgome_eulerangles:()=>FT});var x={};e.r(x),e.d(x,{communicate_bluetooth_central_init:()=>Eh,communicate_bluetooth_connect:()=>gh,communicate_bluetooth_disconnect:()=>Ch,communicate_bluetooth_handle:()=>Dh,communicate_bluetooth_is_connected:()=>Ah,communicate_bluetooth_mac:()=>ch,communicate_bluetooth_peripheral_init:()=>Oh,communicate_bluetooth_recv:()=>Lh,communicate_bluetooth_recv_only:()=>Nh,communicate_bluetooth_scan:()=>Rh,communicate_bluetooth_send:()=>Sh,communicate_espnow_init:()=>fh,communicate_espnow_init_new:()=>Fh,communicate_i2c_available:()=>eh,communicate_i2c_init:()=>GT,communicate_i2c_master_read:()=>ZT,communicate_i2c_onboard:()=>VT,communicate_i2c_read:()=>UT,communicate_i2c_scan:()=>HT,communicate_i2c_write:()=>wT,communicate_ir_recv_init:()=>ah,communicate_ir_send_init:()=>Ih,communicate_ow_init:()=>ih,communicate_ow_read:()=>sh,communicate_ow_reset:()=>ph,communicate_ow_scan:()=>nh,communicate_ow_select:()=>oh,communicate_ow_write:()=>_h,communicate_spi_buffer:()=>KT,communicate_spi_init:()=>kT,communicate_spi_onboard:()=>BT,communicate_spi_read:()=>JT,communicate_spi_read_output:()=>QT,communicate_spi_readinto:()=>qT,communicate_spi_readinto_output:()=>zT,communicate_spi_set:()=>WT,communicate_spi_write:()=>jT,communicate_spi_write_readinto:()=>$T,espnow_radio_channel:()=>xh,espnow_radio_channel_new:()=>Vh,espnow_radio_on_off:()=>Bh,espnow_radio_rec:()=>Uh,espnow_radio_recv:()=>Hh,espnow_radio_recv_certain_msg:()=>kh,espnow_radio_recv_certain_msg_new:()=>Kh,espnow_radio_recv_msg:()=>wh,espnow_radio_recv_new:()=>Wh,espnow_radio_send:()=>Gh,espnow_radio_txpower:()=>bh,i2c_available:()=>Mm,i2c_init:()=>em,i2c_master_reader2:()=>Im,i2c_read:()=>tm,i2c_scan:()=>nm,i2c_slave_onreceive:()=>th,i2c_write:()=>im,internal_variable:()=>uh,ir_recv_timeout:()=>lh,ir_transmit_busy:()=>mh,ir_transmit_conventional_data:()=>Mh,ir_transmit_raw_code:()=>hh,ir_transmit_study_code:()=>Th,ir_whether_recv:()=>dh,lora_init:()=>Jh,lora_packet:()=>Qh,lora_recv:()=>zh,lora_send:()=>qh,network_espnow_info:()=>Yh,network_espnow_mac:()=>Ph,network_espnow_recv:()=>vh,network_espnow_recv_handle:()=>yh,network_espnow_send:()=>Xh,recv_fun:()=>rh,spi_buffer:()=>om,spi_init:()=>sm,spi_read:()=>pm,spi_read_output:()=>am,spi_readinto:()=>um,spi_readinto_output:()=>rm,spi_set:()=>_m,spi_write:()=>dm,spi_write_readinto:()=>lm,urequests_attribute:()=>$h,urequests_get:()=>jh,urequests_method:()=>Zh});var b={};e.r(b),e.d(b,{display_animate:()=>Km,display_blink_rate:()=>wm,display_circle:()=>Jm,display_color_seclet:()=>_E,display_draw_4strings:()=>xm,display_fill:()=>Wm,display_get_screen_image:()=>Um,display_help:()=>qm,display_image_size:()=>bm,display_lcd_use_i2c_init:()=>dE,display_line:()=>Bm,display_line_arbitrarily:()=>Gm,display_matrix_extern_bright_point:()=>Dm,display_matrix_extern_bright_screen:()=>Fm,display_matrix_extern_clear:()=>Pm,display_matrix_extern_get_pixel:()=>Nm,display_matrix_extern_get_screen_pixel:()=>fm,display_matrix_extern_image_builtins:()=>Ym,display_matrix_extern_scroll_string:()=>gm,display_matrix_extern_scroll_string_delay:()=>Cm,display_matrix_extern_shift:()=>Lm,display_matrix_extern_show_frame_string:()=>Sm,display_matrix_extern_show_frame_string_delay:()=>Am,display_matrix_extern_show_image:()=>Rm,display_matrix_extern_show_image_or_string_delay:()=>cm,display_matrix_use_i2c_init:()=>Om,display_oled_drawPixel:()=>jm,display_oled_showBitmap:()=>zm,display_oled_use_i2c_init:()=>hE,display_onoff:()=>km,display_rect:()=>Vm,display_rgb_color:()=>Hm,display_tm1650_power:()=>Zm,display_tm1650_set_brightness:()=>iE,display_tm1650_show_dot:()=>tE,display_tm1650_show_num:()=>eE,display_tm_use_i2c_init:()=>$m,display_triangle:()=>Qm,display_use_i2c_init:()=>ym,extern_oled_bright_point:()=>NE,extern_oled_clear:()=>DE,extern_oled_get_pixel:()=>LE,extern_oled_hvline:()=>FE,extern_oled_line:()=>PE,extern_oled_scroll_string:()=>cE,extern_oled_scroll_string_delay:()=>gE,extern_oled_shape_rect:()=>fE,extern_oled_shift:()=>AE,extern_oled_show_frame_string:()=>CE,extern_oled_show_frame_string_delay:()=>SE,extern_oled_show_image:()=>mE,extern_oled_show_image_or_string_delay:()=>RE,extern_oled_show_image_xy:()=>EE,extern_oled_show_string:()=>OE,lcd_backlight:()=>ME,lcd_clear:()=>TE,lcd_print_string:()=>IE,lcd_show_image_or_string_delay:()=>lE,matrix_extern_image_arithmetic:()=>vm,matrix_extern_image_invert:()=>Xm,tft_fill:()=>uE,tft_line_arbitrarily:()=>rE,tft_scroll_string_delay:()=>pE,tft_show_frame_string_delay:()=>aE,tft_show_image_or_string_delay:()=>oE,tft_show_image_xy:()=>sE,tft_use_spi_init:()=>nE});var V={};e.r(V),e.d(V,{bitbot_display_bitmap_create:()=>AO,bitbot_display_image_create:()=>SO,display_available:()=>ZE,display_bitmap_create:()=>wE,display_bright_point:()=>qE,display_bright_screen:()=>jE,display_clear:()=>$E,display_get_pixel:()=>QE,display_get_screen_pixel:()=>zE,display_image_builtins:()=>HE,display_image_builtins_all:()=>kE,display_image_create:()=>UE,display_scroll_string:()=>yE,display_scroll_string_delay:()=>xE,display_scroll_way:()=>bE,display_shift:()=>JE,display_show_frame_string:()=>BE,display_show_frame_string_delay:()=>GE,display_show_image:()=>vE,display_show_image_or_string_delay:()=>XE,draw_pointer:()=>wO,image_arithmetic:()=>WE,image_invert:()=>KE,mixbot_display_bitmap_create:()=>OO,mixbot_display_bright_screen:()=>gO,mixbot_display_get_ambientbright:()=>cO,mixbot_display_get_screen_pixel:()=>RO,mixbot_display_image_create:()=>EO,mixbot_display_rotate:()=>CO,mixgo_display_bitmap_create:()=>_O,mixgo_display_image_create_new:()=>sO,mixgome_display_bitmap_create:()=>tO,mixgome_display_font:()=>oO,mixgome_display_image_create:()=>eO,mixgomini_display_bitmap_create:()=>nO,mixgomini_display_image_create:()=>iO,mpython_display_hvline:()=>TO,mpython_display_line:()=>hO,mpython_display_shape_rect:()=>MO,mpython_pbm_image:()=>mO,nova_draw_pointer:()=>HO,onboard_oled_bright_point:()=>IO,onboard_oled_scroll_string_delay:()=>dO,onboard_oled_show_frame_string_delay:()=>lO,onboard_oled_show_image:()=>pO,onboard_oled_show_image_or_string_delay:()=>rO,onboard_oled_show_image_xy:()=>aO,onboard_oled_show_string:()=>uO,onboard_tft_bright_point:()=>XO,onboard_tft_bright_screen:()=>$O,onboard_tft_clear:()=>ZO,onboard_tft_clock_clear:()=>GO,onboard_tft_clock_draw:()=>BO,onboard_tft_clock_get_rtctime:()=>bO,onboard_tft_clock_init:()=>xO,onboard_tft_clock_set_time:()=>VO,onboard_tft_display_hvline:()=>PO,onboard_tft_display_line:()=>YO,onboard_tft_display_shape_circle:()=>UO,onboard_tft_display_shape_rect:()=>FO,onboard_tft_fill:()=>yO,onboard_tft_get_pixel:()=>vO,onboard_tft_get_screen_pixel:()=>jO,onboard_tft_scroll_string:()=>QO,onboard_tft_scroll_string_delay:()=>VE,onboard_tft_shift:()=>zO,onboard_tft_show_frame_string:()=>qO,onboard_tft_show_frame_string_delay:()=>fO,onboard_tft_show_image:()=>JO,onboard_tft_show_image_or_string_delay:()=>DO,onboard_tft_show_image_xy:()=>LO,onboard_tft_show_image_xy_direct:()=>NO,onboard_tft_show_qrcode:()=>WO,onboard_tft_show_qrcode_details:()=>KO,onboard_tft_show_texts:()=>kO});var B={};e.r(B),e.d(B,{factory_block:()=>mR,factory_block_return:()=>ER,factory_block_return_with_textarea:()=>RR,factory_block_with_textarea:()=>OR,factory_callMethod_noreturn:()=>TR,factory_callMethod_return:()=>hR,factory_create_with_container:()=>dR,factory_create_with_item:()=>lR,factory_declare:()=>MR,factory_from_import:()=>aR,factory_function_noreturn:()=>rR,factory_function_return:()=>IR,factory_import:()=>uR,folding_block:()=>cR});var G={};e.r(G),e.d(G,{controls_pin_attachInterrupt:()=>HR,inout_analog_atten:()=>PR,inout_analog_read:()=>FR,inout_analog_read_init:()=>bR,inout_analog_write:()=>NR,inout_analog_write_init:()=>xR,inout_analog_write_set:()=>DR,inout_analog_write_set_freq:()=>GR,inout_digital_init:()=>XR,inout_digital_read:()=>AR,inout_digital_write:()=>SR,inout_highlow:()=>CR,inout_pinMode:()=>BR,inout_pin_attachInterrupt:()=>vR,inout_pin_pressed:()=>YR,inout_pin_pressed_init:()=>VR,inout_pwm_analog_write:()=>LR,inout_pwm_analog_write_init:()=>yR,inout_pwm_analog_write_set_freq:()=>fR,pin_pressed:()=>wR,pin_pressed_init:()=>UR});var U={};e.r(U),e.d(U,{IOT_CONNECT_OLLAMA:()=>Nc,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Mc,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Ic,IOT_EMQX_PING:()=>dc,IOT_FORMATTING:()=>uc,IOT_FORMAT_STRING:()=>rc,IOT_MIXIO_NTP:()=>lc,IOT_MIXIO_PUBLISH:()=>tc,IOT_MIXIO_PUBLISHEX:()=>ic,IOT_MIXIO_SUBSCRIBE:()=>nc,iot_checkonenet:()=>Sc,iot_client_onboard:()=>hc,iot_connect_ollama:()=>Lc,iot_connect_openai:()=>Dc,iot_create_with_item:()=>ZR,iot_http_client:()=>mc,iot_http_data:()=>Ec,iot_mixio_check:()=>oc,iot_mixio_connect:()=>ec,iot_mixio_connect_only:()=>_c,iot_mixio_disconnect:()=>sc,iot_mixio_format_msg:()=>ac,iot_mixio_format_topic:()=>pc,iot_mixly_key:()=>Tc,iot_mqtt_client:()=>Oc,iot_mqtt_data:()=>Rc,iot_onenet_check:()=>QR,iot_onenet_connect:()=>KR,iot_onenet_disconnect:()=>JR,iot_onenet_publish:()=>zR,iot_onenet_publish_dict:()=>qR,iot_onenetconnect:()=>gc,iot_onenetdisconnect:()=>Cc,iot_publish:()=>Ac,iot_publish_container:()=>jR,iot_publish_item:()=>$R,iot_tiny_web_db_count:()=>xc,iot_tiny_web_db_delete:()=>Vc,iot_tiny_web_db_get:()=>yc,iot_tiny_web_db_init:()=>Yc,iot_tiny_web_db_init_with_mqtt:()=>vc,iot_tiny_web_db_search:()=>bc,iot_tiny_web_db_update:()=>Xc,iot_wifi_connect:()=>WR,iot_wificonnect:()=>cc,ollama_empty_history:()=>Pc,use_ollama_llm_to_chat:()=>fc,use_ollama_llm_to_chat_return:()=>Fc});var w={};e.r(w),e.d(w,{educore_mqtt_connect:()=>Eg,educore_mqtt_connect_success:()=>gg,educore_mqtt_subscribe_message:()=>Og,educore_mqtt_topic_publish:()=>cg,educore_mqtt_topic_subscribe:()=>Rg,educore_wifi_connect:()=>mg,network_ap_connect:()=>qc,network_connect:()=>kc,network_get_connect:()=>Kc,network_get_wifi:()=>Qc,network_init:()=>Gc,network_is_active:()=>wc,network_open:()=>Uc,network_scan:()=>Hc,network_server:()=>zc,network_socket_accept:()=>tg,network_socket_bind:()=>$c,network_socket_close:()=>pg,network_socket_connect:()=>Zc,network_socket_init:()=>jc,network_socket_listen:()=>eg,network_socket_readline:()=>ig,network_socket_receive:()=>ng,network_socket_receive_from:()=>_g,network_socket_send:()=>sg,network_socket_send_to:()=>og,network_stop:()=>Jc,network_wifi_connect:()=>Wc,ntptime_address:()=>lg,ntptime_time:()=>dg,requests_attribute:()=>ug,requests_attribute2:()=>hg,requests_get:()=>ag,requests_get2:()=>Mg,requests_method:()=>rg,requests_post:()=>Tg});var H={};e.r(H),e.d(H,{pe_g1_battery_left:()=>Ag,pe_g1_dc_motor:()=>Lg,pe_g1_dc_motor_speed:()=>Ng,pe_g1_servo_get_angle:()=>Fg,pe_g1_servo_get_speed:()=>Pg,pe_g1_servo_set_angle:()=>Dg,pe_g1_servo_set_speed:()=>fg,pe_g1_use_i2c_init:()=>Sg});var k={};e.r(k),e.d(k,{CI130X_BROADCAST:()=>iC,CI130X_GET_THE_RECOGNIZED_CMD:()=>tC,CI130X_GET_WHETHER_IDENTIFY:()=>eC,CI130X_IDENTIFY_AND_SAVE:()=>Zg,CI130X_SET_SYSTEM_CMD:()=>nC,HCSR04:()=>WC,PS2_Button:()=>qC,PS2_Buttons:()=>jC,PS2_Buttons_new:()=>tS,PS2_State:()=>zC,PS2_init:()=>KC,PS2_init_new:()=>ZC,PS2_stk:()=>$C,PS2_stk_new:()=>iS,PS2_vibration:()=>QC,PS2_vibration_new:()=>eS,camera_sensor_init:()=>YS,camera_sensor_result:()=>vS,column_tube_foot:()=>VS,define_keyboards:()=>BS,educore_body_sensor:()=>gS,educore_button_sensor_extern:()=>LS,educore_camera_sensor:()=>PS,educore_infrared_sensor:()=>AS,educore_soilhum_sensor:()=>CS,educore_temp_sensor:()=>FS,educore_temphum_sensor:()=>SS,educore_ultrasonic_sensor:()=>DS,esp32_s2_weather_init:()=>UC,esp32_s2_weather_rain:()=>HC,esp32_s2_weather_wd:()=>wC,esp32_s2_weather_ws:()=>kC,extern_rfid_read:()=>NC,extern_rfid_readcontent:()=>fC,extern_rfid_readid:()=>DC,extern_rfid_status:()=>YC,extern_rfid_write:()=>FC,extern_rfid_write_return:()=>PC,get_keboards_value:()=>GS,gnss_get_data:()=>oS,gnss_have_data:()=>_S,init_init_rotary_encoder:()=>US,init_matrix_keyboard:()=>xS,interaction_whether_to_interaction:()=>jg,interaction_whether_to_interaction_SANT:()=>$g,line_tube_foot:()=>bS,mixbot_sensor_extern_get_addr:()=>MS,mixbot_sensor_extern_set_addr:()=>TS,pm25_get_data:()=>sS,radar_set_DETECTION_THRESHOLD:()=>qg,radar_set_DETECTION_THRESHOLD_SANT:()=>zg,robot_button_extern_get_value:()=>aS,robot_color_extern_get_value:()=>IS,robot_infrared_extern_get_value:()=>rS,robot_infrared_extern_grey_get_value:()=>dS,robot_potentiometer_extern_get_value:()=>lS,robot_sonar_extern_get_value:()=>hS,robot_sonar_extern_led:()=>mS,robot_touch_extern_get_value:()=>uS,rotary_key:()=>wS,sensor_APDS9960_extern:()=>_C,sensor_DS18X20:()=>Kg,sensor_LTR308_extern:()=>oC,sensor_LTR390UV_extern:()=>uC,sensor_MAX30102_extern:()=>sC,sensor_QMC5883L_extern:()=>mC,sensor_VL530LX_extern:()=>rC,sensor_adxl345_get_acceleration:()=>Vg,sensor_aht11_extern:()=>lC,sensor_bmp:()=>kg,sensor_compass_reset:()=>AC,sensor_dht11:()=>Gg,sensor_hp203_extern:()=>IC,sensor_light_level:()=>Bg,sensor_lm35:()=>Jg,sensor_ltr381_extern:()=>pC,sensor_mixgo_extern_button_attachInterrupt:()=>xg,sensor_mixgo_extern_button_get_presses:()=>yg,sensor_mixgo_extern_button_is_pressed:()=>vg,sensor_mixgo_extern_button_was_pressed:()=>Xg,sensor_mixgo_extern_light:()=>Ug,sensor_mixgo_extern_pin_near:()=>Hg,sensor_mixgo_extern_sound:()=>wg,sensor_mixgoce_hot_wheel_degrees:()=>GC,sensor_mixgoce_hot_wheel_is_touched:()=>BC,sensor_mpu9250_attachGestureInterrupt:()=>bg,sensor_mpu9250_calibrate_compass:()=>gC,sensor_mpu9250_field_strength:()=>SC,sensor_mpu9250_gesture:()=>EC,sensor_mpu9250_get_acceleration:()=>OC,sensor_mpu9250_get_gyro:()=>cC,sensor_mpu9250_get_magnetic:()=>RC,sensor_mpu9250_temperature:()=>CC,sensor_ms5611_extern:()=>TC,sensor_ms5611_extern_altitude:()=>hC,sensor_read_humiture:()=>NS,sensor_sht:()=>Wg,sensor_shtc3_extern:()=>dC,sensor_spl06_001_extern:()=>MC,sensor_ucs12071_extern:()=>aC,sensor_use_i2c_init:()=>Qg,sensor_use_spi_init:()=>LC,sensor_use_uart_init:()=>nS,sensor_weather_solo_init:()=>ES,sensor_weather_solo_rain:()=>cS,sensor_weather_solo_wd:()=>OS,sensor_weather_solo_ws:()=>RS,sensor_weigh_init:()=>XS,tvoc_get_data:()=>pS,ultrasonic_sensor_read_distance:()=>fS,weather_data:()=>vC,weather_have_data:()=>XC,weather_set_label:()=>xC,weather_set_label_container:()=>bC,weather_set_label_item:()=>VC,weather_uart_mixio:()=>yC,weigh_sensor_get_weight:()=>yS});var W={};e.r(W),e.d(W,{HCSR04:()=>_A,RTC_set_date:()=>sA,RTC_set_time:()=>nA,bitbot_als_num:()=>ML,dht11:()=>cL,educore_button_sensor:()=>FL,educore_button_was_pressed:()=>PL,educore_gyroscope_sensor:()=>NL,educore_gyroscope_sensor_read:()=>DL,educore_gyroscope_sensor_shake:()=>fL,educore_light_sensor:()=>LL,educore_rfid_sensor:()=>YL,educore_rfid_sensor_scan:()=>vL,educore_rfid_sensor_scan_data:()=>XL,educore_voice_sensor:()=>SL,number1:()=>pA,number2:()=>aA,number3:()=>uA,number4:()=>rA,number5:()=>dA,number6:()=>lA,number7:()=>IA,onboard_RTC_get_time:()=>cA,onboard_RTC_get_time_str:()=>NA,onboard_RTC_get_timestamp:()=>gA,onboard_RTC_get_timetuple_to_str:()=>DA,onboard_RTC_set_datetime:()=>AA,onboard_RTC_settime_string:()=>SA,onboard_RTC_timestamp_totuple:()=>CA,rfid_readcontent:()=>yA,rfid_readid:()=>XA,rfid_status:()=>VA,rfid_write:()=>xA,rfid_write_return:()=>bA,sensor_LTR308:()=>fA,sensor_aht11:()=>PA,sensor_bitbot_ALS:()=>IL,sensor_button_get_presses:()=>mL,sensor_button_is_pressed:()=>TL,sensor_button_was_pressed:()=>hL,sensor_distance_hrsc04:()=>iA,sensor_eulerangles:()=>GA,sensor_field_strength:()=>gL,sensor_get_acceleration:()=>BA,sensor_get_temperature:()=>YA,sensor_get_the_coprocessor_version:()=>yL,sensor_hp203:()=>vA,sensor_light:()=>RL,sensor_mixbot_get_gyro:()=>lL,sensor_mixbot_patrol_calibrate:()=>uL,sensor_mixbot_patrol_value:()=>rL,sensor_mixbot_temperature:()=>dL,sensor_mixgo_LTR308:()=>OA,sensor_mixgo_button_attachInterrupt:()=>JS,sensor_mixgo_button_get_presses:()=>KS,sensor_mixgo_button_is_pressed:()=>kS,sensor_mixgo_button_was_pressed:()=>WS,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>jA,sensor_mixgo_cc_mmc5603_get_angle:()=>zA,sensor_mixgo_cc_mmc5603_get_magnetic:()=>qA,sensor_mixgo_light:()=>oA,sensor_mixgo_nova_LTR308:()=>EA,sensor_mixgo_nova_pin_near:()=>mA,sensor_mixgo_pin_near:()=>hA,sensor_mixgo_pin_near_double:()=>TA,sensor_mixgo_pin_near_single:()=>MA,sensor_mixgo_pin_pressed:()=>$S,sensor_mixgo_sant_color:()=>RA,sensor_mixgo_touch_slide:()=>tA,sensor_mixgocar42_button_attachInterrupt:()=>jS,sensor_mixgocar42_button_get_presses:()=>zS,sensor_mixgocar42_button_is_pressed:()=>QS,sensor_mixgocar42_button_was_pressed:()=>qS,sensor_mixgocar_battery_left:()=>aL,sensor_mixgocar_pin_near:()=>oL,sensor_mixgocar_pin_near_line:()=>_L,sensor_mixgocar_pin_near_state_change:()=>pL,sensor_mixgoce_pin_pressed:()=>ZS,sensor_mixgoce_temperature:()=>ZA,sensor_mixgome_temperature:()=>$A,sensor_mpython_pin_pressed:()=>eA,sensor_mpython_qmi8658_get_gyro:()=>eL,sensor_mpython_qmi8658_temperature:()=>tL,sensor_onboard_compass_reset:()=>QA,sensor_onboard_mpu9250_calibrate_compass:()=>WA,sensor_onboard_mpu9250_field_strength:()=>JA,sensor_onboard_mpu9250_gesture:()=>UA,sensor_onboard_mpu9250_get_acceleration:()=>wA,sensor_onboard_mpu9250_get_gyro:()=>kA,sensor_onboard_mpu9250_get_magnetic:()=>HA,sensor_onboard_mpu9250_temperature:()=>KA,sensor_pin_near:()=>OL,sensor_pin_pressed:()=>EL,sensor_read:()=>AL,sensor_rm_acc:()=>sL,sensor_rm_battery_left:()=>nL,sensor_rm_pin_near_double:()=>iL,sensor_rtc_init:()=>LA,sensor_sound:()=>FA,sensor_temperature:()=>CL,simulated_light_sensor:()=>xL});var K={};e.r(K),e.d(K,{serial_any:()=>KL,serial_begin:()=>jL,serial_print:()=>UL,serial_print_byte:()=>GL,serial_print_hex:()=>HL,serial_println:()=>wL,serial_read_from_ai:()=>oN,serial_readline:()=>JL,serial_readstr:()=>WL,serial_readstr_until:()=>QL,serial_receive_data_event:()=>kL,serial_send_to_ai:()=>_N,serial_softserial:()=>zL,serial_softserial_new:()=>qL,system_input:()=>$L,system_print:()=>ZL,system_print_container:()=>nN,system_print_end:()=>tN,system_print_inline:()=>eN,system_print_item:()=>sN,system_print_many:()=>iN});var J={};e.r(J),e.d(J,{Panic_with_status_code:()=>rN,Timer_init:()=>SN,base_delay:()=>NN,controls_delay:()=>uN,controls_delay_new:()=>aN,controls_millis:()=>lN,controls_uname:()=>MN,raw_block:()=>IN,reset:()=>dN,set_system_timer:()=>ON,system_bitbot_shutdown:()=>CN,system_machine_reset:()=>gN,system_ticks_diff:()=>mN,system_timer:()=>hN,system_timer_init:()=>EN,system_wdt_feed:()=>cN,system_wdt_init:()=>RN,time_ticks_diff:()=>LN,timer:()=>TN,timer2:()=>AN});var Q={};e.r(Q),e.d(Q,{Air_daily_content:()=>UN,Air_now_content:()=>XN,Geo_moon_content:()=>HN,Geo_sun_content:()=>wN,Life_suggestion_content:()=>xN,Location_search_content:()=>VN,Tide_daily_content:()=>bN,WEATHER_DAILY:()=>FN,WEATHER_HOUR:()=>PN,WEATHER_NOW:()=>fN,Weather_alarm_content:()=>yN,Weather_daily:()=>BN,Weather_daily_content:()=>GN,Weather_now:()=>YN,Weather_now_content:()=>vN});var q={};e.r(q),e.d(q,{PIN_init:()=>WD,actuator_extern_get_led_bright:()=>dD,actuator_extern_get_led_state:()=>lD,actuator_extern_led_bright:()=>rD,actuator_extern_led_brightness:()=>ID,actuator_ms32006_dcmotor:()=>jN,actuator_ms32006_init:()=>zN,actuator_ms32006_stepper:()=>$N,actuator_neopixel_init:()=>MD,actuator_neopixel_rgb:()=>mD,actuator_neopixel_rgb_all:()=>TD,actuator_neopixel_rgb_show_all_chase:()=>ED,actuator_neopixel_rgb_show_all_rainbow:()=>OD,actuator_neopixel_write:()=>hD,actuator_use_uart_init:()=>RD,backstage_esp32_music_play_list:()=>pD,esp32_music_get_tempo_extern:()=>_D,esp32_music_pitch:()=>eD,esp32_music_pitch_init:()=>ZN,esp32_music_pitch_with_time:()=>tD,esp32_music_play_list:()=>oD,esp32_music_reset_extern:()=>aD,esp32_music_set_tempo_extern:()=>sD,esp32_music_stop:()=>iD,esp32_set_music_volume:()=>nD,mixbot_actuator_extern_get_addr:()=>HD,mixbot_actuator_extern_set_addr:()=>kD,mixbot_addr_extern:()=>FD,parrot_PIN_init:()=>qD,parrot_move_speed:()=>zD,pin_led_bright:()=>KD,player_play_music:()=>AD,player_set_mode:()=>SD,player_set_play:()=>gD,player_set_volume:()=>CD,player_whether_stop:()=>cD,robot_led_extern:()=>XD,robot_led_extern_get_value:()=>yD,robot_motor_extern:()=>PD,robot_motor_extern_get_speed:()=>YD,robot_servo_extern_absolute_run:()=>BD,robot_servo_extern_get_status:()=>xD,robot_servo_extern_relative_continue:()=>wD,robot_servo_extern_relative_origin:()=>GD,robot_servo_extern_relative_run:()=>UD,robot_servo_extern_stop:()=>VD,robot_servo_extern_stop_mode:()=>bD,robot_traffic_light_extern:()=>vD,servo_PIN_init:()=>JD,servo_get_angle:()=>QN,servo_get_speed:()=>qN,servo_init:()=>kN,servo_move:()=>uD,servo_move_angle:()=>QD,servo_set_angle:()=>KN,servo_set_speed:()=>JN,servo_speed_360:()=>WN,syn6288_builtin_voice:()=>DD,syn6288_get_voice:()=>ND,syn6288_set_voice:()=>LD,syn6288_tts_play:()=>fD});var z={};e.r(z),e.d(z,{actuator_dc_motor:()=>Lf,actuator_dc_motor_stop:()=>Nf,actuator_get_led_bright:()=>uf,actuator_get_led_state:()=>rf,actuator_led_bright:()=>af,actuator_led_brightness:()=>df,actuator_mixbot_buzzer_on_off:()=>Yf,actuator_mixgo_nova_mic_get:()=>bf,actuator_mixgo_nova_mic_set:()=>xf,actuator_mixgo_nova_onboard_music_pitch:()=>Hf,actuator_mixgo_nova_onboard_music_stop:()=>kf,actuator_mixgo_nova_play_audio:()=>Uf,actuator_mixgo_nova_play_online_audio:()=>wf,actuator_mixgo_nova_record_audio:()=>Gf,actuator_mixgo_nova_voice_get:()=>Bf,actuator_mixgo_nova_voice_set:()=>Vf,actuator_mixgo_zero_led_color:()=>lf,actuator_onboard_neopixel_rgb:()=>Of,actuator_onboard_neopixel_rgb_all:()=>Rf,actuator_onboard_neopixel_rgb_show_all_chase:()=>cf,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>gf,actuator_onboard_neopixel_write:()=>Ef,actuator_stepper_keep:()=>Sf,actuator_stepper_stop:()=>Af,analog_ble_keyboard_init:()=>iF,analog_ble_keyboard_input:()=>_F,analog_ble_keyboard_mouse_init:()=>IF,analog_ble_keyboard_mouse_input:()=>mF,analog_ble_keyboard_mouse_send_battery:()=>hF,analog_ble_keyboard_mouse_str:()=>EF,analog_ble_keyboard_send_battery:()=>pF,analog_ble_keyboard_str:()=>oF,analog_ble_mouse_init:()=>aF,analog_ble_mouse_input:()=>dF,analog_ble_mouse_keyboard_input:()=>OF,analog_ble_mouse_send_battery:()=>lF,analog_keyboard_input:()=>qf,analog_keyboard_str:()=>eF,analog_mouse_input:()=>$f,backstage_onboard_music_play_list:()=>sf,bitbot_motor:()=>yf,bitbot_move:()=>vf,bitbot_stop:()=>Xf,ble_keyboard_connect:()=>sF,ble_keyboard_get_mac:()=>nF,ble_keyboard_mouse_connect:()=>TF,ble_keyboard_mouse_get_mac:()=>MF,ble_mouse_connect:()=>rF,ble_mouse_get_mac:()=>uF,cc_number:()=>If,educore_ble_keyboard_input:()=>fF,educore_ble_sensor_connected:()=>DF,educore_ble_sensor_init:()=>NF,educore_buzzer:()=>RF,educore_buzzer_play_tone:()=>cF,educore_buzzer_play_tone_time:()=>gF,educore_buzzer_stop:()=>CF,educore_neopixel_clear:()=>LF,educore_neopixel_rgb:()=>AF,educore_rgb_light:()=>SF,esp32_music_get_tempo:()=>$D,esp32_music_reset:()=>_f,esp32_music_set_tempo:()=>jD,esp32_onboard_music_pitch:()=>ZD,esp32_onboard_music_pitch_with_time:()=>ef,esp32_onboard_music_play_list:()=>nf,esp32_onboard_music_stop:()=>tf,general_key:()=>jf,general_key_tuple:()=>tF,get_keyboard_light:()=>FF,get_power_output:()=>Kf,ledswitch:()=>pf,mixbot_motor:()=>Pf,mixbot_motor_status:()=>Df,mixbot_move:()=>ff,mixbot_stop:()=>Ff,mouse_key:()=>Zf,number:()=>of,record_audio:()=>YF,rm_actuator_get_led_bright:()=>Tf,rm_actuator_get_led_state:()=>hf,rm_actuator_led_bright:()=>Mf,rm_actuator_led_brightness:()=>mf,rm_motor:()=>Cf,set_all_power_output:()=>Jf,set_microphone_amplification:()=>PF,set_music_volume:()=>vF,set_part_power_output:()=>Qf,set_power_output:()=>Wf,special_key:()=>zf});var j={};e.r(j),e.d(j,{ai_sensor_20object:()=>lP,ai_sensor_ailocal_class:()=>tP,ai_sensor_ailocal_class_result:()=>iP,ai_sensor_ailocal_train:()=>eP,ai_sensor_asr_recognize:()=>pP,ai_sensor_audio_play:()=>sP,ai_sensor_audio_record:()=>nP,ai_sensor_barcode:()=>GF,ai_sensor_circle:()=>KF,ai_sensor_classifier_faces:()=>dP,ai_sensor_color:()=>zF,ai_sensor_color_chases:()=>ZF,ai_sensor_color_chases_result:()=>$F,ai_sensor_config:()=>xF,ai_sensor_face:()=>rP,ai_sensor_find_20objects:()=>IP,ai_sensor_find_barcodes:()=>UF,ai_sensor_find_circles:()=>JF,ai_sensor_find_colors:()=>jF,ai_sensor_find_licenseplates:()=>uP,ai_sensor_find_lines:()=>WF,ai_sensor_find_qrcodes:()=>BF,ai_sensor_find_rects:()=>qF,ai_sensor_find_tags:()=>HF,ai_sensor_licenseplate:()=>aP,ai_sensor_line:()=>kF,ai_sensor_qrcode:()=>VF,ai_sensor_qrcode_lite:()=>yF,ai_sensor_rect:()=>QF,ai_sensor_rgb:()=>bF,ai_sensor_tag:()=>wF,ai_sensor_use_uart_init:()=>XF,ai_sensor_yolo_recognize:()=>_P,ai_sensor_yolo_recognize_result:()=>oP});var $={};e.r($),e.d($,{AI_CAMERA_INIT:()=>GP,AI_CAMERA_INIT_FACERECOGNIZE:()=>HP,AI_CAMERA_INIT_SIMPLE:()=>TY,AI_STOP_ACQUISITION:()=>lY,CAMERA_LOOGOUT:()=>fP,CI130X_BROADCAST_SANT:()=>RP,CI130X_BROADCAST_SYSTEM_TIME:()=>gP,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>OP,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>EP,CI130X_IDENTIFY_AND_SAVE_SANT:()=>mP,CI130X_OPEN_AND_CLOSE:()=>hP,CI130X_PLAY_SYSTEM_CMD_SANT:()=>CP,CI130X_SET_SYSTEM_CMD_SANT:()=>cP,CONVERT_IMAGE_TO_JPG:()=>YP,CREATE_CAMERA:()=>SP,CREATE_CAMERA_SIMPLE:()=>MY,DELETE_FACE_ALL:()=>iY,DELETE_FACE_FROM_DATABASE:()=>tY,GET_CAT_FACE_DETECTION_NUM:()=>pY,GET_COLOR_DETECTION_NUM:()=>oY,GET_FACE_DETECTION_NAME:()=>rY,GET_FACE_DETECTION_NUM:()=>uY,GET_HOW_MUCH_RECOGNITION:()=>JP,GET_HUMAN_DETECTION_NUM:()=>aY,GET_IMAGE_AND_SAVE:()=>LP,GET_IMAGE_FROM_NET:()=>DP,GET_NO_CAT_OR_FACE_RECOGNITION:()=>jP,GET_NO_FACE_RECOGNITION_INFO:()=>dY,GET_NO_RECOGNITION:()=>QP,GET_NO_XY_RECOGNITION:()=>qP,GET_NO_XY_RECOGNITION_FACE:()=>zP,GET_PICTURE_DATA_EXACT:()=>FP,GET_PICTURE_DATA_WHS:()=>vP,GET_PICTURE_RECOGNITION_DATA:()=>_Y,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>PP,GET_QR_CODE_RECOGNITION_DATA:()=>sY,GET_SCREEN_IMAGE:()=>VP,GET_SCREEN_IMAGE_SIZE:()=>BP,MIXIO_REPORT_IMAGE_DATA:()=>IY,MODEL_INIT_HEIGHT:()=>wP,MODEL_INIT_WIDTH:()=>UP,MODEL_LOGOUT:()=>kP,MODEL_RUN:()=>WP,MODEL_WHETHER_RUN_SUCCEED:()=>KP,OPEN_IMAGE:()=>NP,PRINT_FACE_DATABASE:()=>nY,REGISTER_NEW_FACE:()=>eY,REGISTER_NEW_FACE_SIMPLE:()=>mY,Register_color_recognition:()=>ZP,Register_color_recognition_fixed:()=>$P,Register_color_recognition_fixed_SIMPLE:()=>hY,SCREEN_DISPLAY_IMAGE:()=>xP,SCREEN_DISPLAY_IMAGE_LOCATION:()=>bP,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>XP,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>yP,SHOOT_AND_SAVE_PICTURE:()=>AP,VOICE_RECOGNITION_CONTROL:()=>TP,yesorno:()=>MP});var Z={};e.r(Z),e.d(Z,{MICROPYTHON_AI_Speech_asr:()=>RY,MICROPYTHON_AI_Speech_unit:()=>OY,MICROPYTHON_AI_client:()=>EY});var ee={};e.r(ee),e.d(ee,{init_xunfei_Chinese_Model:()=>CY,init_xunfei_Spark_Ultra:()=>gY,init_xunfei_Spark_Ultra_clr_his:()=>LY,init_xunfei_vi:()=>cY,llm_set_callback:()=>NY,xunfei_Spark_Ultra_run:()=>AY,xunfei_vi_run:()=>SY});var te={};e.r(te),e.d(te,{mpython_blynk_app_data:()=>BY,mpython_blynk_app_notify:()=>XY,mpython_blynk_email:()=>GY,mpython_blynk_get_timers:()=>xY,mpython_blynk_on_connected:()=>PY,mpython_blynk_on_disconnected:()=>FY,mpython_blynk_run:()=>vY,mpython_blynk_sensor_data_to_app:()=>VY,mpython_blynk_set_property:()=>UY,mpython_blynk_setup:()=>wY,mpython_blynk_stop_timers:()=>yY,mpython_blynk_sync_virtual:()=>fY,mpython_blynk_terminal_widget_vpin:()=>DY,mpython_blynktimer:()=>bY,mpython_blynktimer_run:()=>YY});var ie={};e.r(ie),e.d(ie,{cc_g1_read_bat:()=>HY,cc_g1_read_joystick:()=>kY,cc_g1_read_key:()=>WY,cc_g1_turnoff:()=>KY});var ne={};e.r(ne),e.d(ne,{ce_go_dc_motor:()=>ev,ce_go_get_led_bright:()=>qY,ce_go_get_led_state:()=>zY,ce_go_hall_attachInterrupt:()=>tv,ce_go_hall_data:()=>nv,ce_go_hall_initialize:()=>iv,ce_go_led_bright:()=>QY,ce_go_led_brightness:()=>jY,ce_go_light_number:()=>JY,ce_go_pin_light:()=>av,ce_go_pin_near:()=>_v,ce_go_pin_near_line:()=>sv,ce_go_pin_near_state_change:()=>ov,ce_go_stepper_keep:()=>$Y,ce_go_stepper_stop:()=>ZY,educore_car:()=>uv,educore_car_pin_near:()=>Iv,educore_car_pin_near_line:()=>lv,educore_car_stepper_keep:()=>rv,educore_car_stepper_stop:()=>dv,sensor_mixgome_eulerangles:()=>pv});var se={};e.r(se),e.d(se,{communicate_bluetooth_central_init:()=>Qv,communicate_bluetooth_connect:()=>jv,communicate_bluetooth_disconnect:()=>$v,communicate_bluetooth_handle:()=>sX,communicate_bluetooth_is_connected:()=>eX,communicate_bluetooth_mac:()=>Zv,communicate_bluetooth_peripheral_init:()=>qv,communicate_bluetooth_recv:()=>nX,communicate_bluetooth_recv_only:()=>iX,communicate_bluetooth_scan:()=>zv,communicate_bluetooth_send:()=>tX,communicate_espnow_init:()=>_X,communicate_espnow_init_new:()=>oX,communicate_i2c_available:()=>cv,communicate_i2c_init:()=>hv,communicate_i2c_master_read:()=>Rv,communicate_i2c_onboard:()=>Mv,communicate_i2c_read:()=>mv,communicate_i2c_scan:()=>Ov,communicate_i2c_write:()=>Ev,communicate_ir_recv_init:()=>Vv,communicate_ir_send_init:()=>Hv,communicate_ow_init:()=>Yv,communicate_ow_read:()=>yv,communicate_ow_reset:()=>Xv,communicate_ow_scan:()=>vv,communicate_ow_select:()=>bv,communicate_ow_write:()=>xv,communicate_spi_buffer:()=>Av,communicate_spi_init:()=>Cv,communicate_spi_onboard:()=>Tv,communicate_spi_read:()=>Lv,communicate_spi_read_output:()=>Nv,communicate_spi_readinto:()=>Dv,communicate_spi_readinto_output:()=>fv,communicate_spi_set:()=>Sv,communicate_spi_write:()=>Fv,communicate_spi_write_readinto:()=>Pv,espnow_radio_channel:()=>lX,espnow_radio_channel_new:()=>MX,espnow_radio_on_off:()=>TX,espnow_radio_rec:()=>mX,espnow_radio_recv:()=>OX,espnow_radio_recv_certain_msg:()=>RX,espnow_radio_recv_certain_msg_new:()=>gX,espnow_radio_recv_msg:()=>EX,espnow_radio_recv_new:()=>cX,espnow_radio_send:()=>hX,espnow_radio_txpower:()=>IX,i2c_slave_onreceive:()=>gv,internal_variable:()=>Bv,ir_recv_timeout:()=>wv,ir_transmit_busy:()=>Jv,ir_transmit_conventional_data:()=>kv,ir_transmit_raw_code:()=>Kv,ir_transmit_study_code:()=>Wv,ir_whether_recv:()=>Uv,lora_init:()=>CX,lora_packet:()=>SX,lora_recv:()=>LX,lora_send:()=>AX,network_espnow_info:()=>aX,network_espnow_mac:()=>pX,network_espnow_recv:()=>uX,network_espnow_recv_handle:()=>dX,network_espnow_send:()=>rX,recv_fun:()=>Gv,urequests_attribute:()=>DX,urequests_get:()=>NX,urequests_method:()=>fX});var _e={};e.r(_e),e.d(_e,{display_animate:()=>ey,display_circle:()=>ty,display_color_seclet:()=>ly,display_draw_4strings:()=>JX,display_fill:()=>ZX,display_lcd_use_i2c_init:()=>Ey,display_line:()=>zX,display_line_arbitrarily:()=>QX,display_matrix_extern_bright_point:()=>GX,display_matrix_extern_bright_screen:()=>wX,display_matrix_extern_clear:()=>bX,display_matrix_extern_get_pixel:()=>BX,display_matrix_extern_get_screen_pixel:()=>UX,display_matrix_extern_image_builtins:()=>HX,display_matrix_extern_scroll_string:()=>yX,display_matrix_extern_scroll_string_delay:()=>xX,display_matrix_extern_shift:()=>VX,display_matrix_extern_show_frame_string:()=>vX,display_matrix_extern_show_frame_string_delay:()=>XX,display_matrix_extern_show_image:()=>PX,display_matrix_extern_show_image_or_string_delay:()=>YX,display_matrix_use_i2c_init:()=>FX,display_oled_drawPixel:()=>sy,display_oled_showBitmap:()=>ny,display_oled_use_i2c_init:()=>Cy,display_onoff:()=>jX,display_rect:()=>qX,display_tm1650_power:()=>oy,display_tm1650_set_brightness:()=>uy,display_tm1650_show_dot:()=>ay,display_tm1650_show_num:()=>py,display_tm_use_i2c_init:()=>_y,display_triangle:()=>iy,display_use_i2c_init:()=>KX,extern_oled_bright_point:()=>yy,extern_oled_clear:()=>Yy,extern_oled_get_pixel:()=>Xy,extern_oled_hvline:()=>by,extern_oled_line:()=>Vy,extern_oled_scroll_string:()=>Fy,extern_oled_scroll_string_delay:()=>Py,extern_oled_shape_rect:()=>xy,extern_oled_shift:()=>vy,extern_oled_show_frame_string:()=>Dy,extern_oled_show_frame_string_delay:()=>fy,extern_oled_show_image:()=>Sy,extern_oled_show_image_or_string_delay:()=>Ny,extern_oled_show_image_xy:()=>Ay,extern_oled_show_string:()=>Ly,image_shift:()=>$X,lcd_backlight:()=>cy,lcd_clear:()=>gy,lcd_print_string:()=>Ry,lcd_show_image_or_string_delay:()=>Oy,matrix_extern_image_arithmetic:()=>kX,matrix_extern_image_invert:()=>WX,tft_fill:()=>hy,tft_line_arbitrarily:()=>my,tft_scroll_string_delay:()=>Ty,tft_show_frame_string_delay:()=>My,tft_show_image_or_string_delay:()=>Iy,tft_show_image_xy:()=>dy,tft_use_spi_init:()=>ry});var oe={};e.r(oe),e.d(oe,{bitbot_display_bitmap_create:()=>Px,bitbot_display_image_create:()=>Fx,display_available:()=>$y,display_bitmap_create:()=>zy,display_bright_point:()=>nx,display_bright_screen:()=>_x,display_clear:()=>jy,display_get_pixel:()=>ix,display_get_screen_pixel:()=>sx,display_image_builtins:()=>Jy,display_image_builtins_all:()=>Qy,display_image_create:()=>qy,display_scroll_string:()=>Hy,display_scroll_string_delay:()=>ky,display_scroll_way:()=>Wy,display_shift:()=>tx,display_show_frame_string:()=>Uy,display_show_frame_string_delay:()=>wy,display_show_image:()=>By,display_show_image_or_string_delay:()=>Gy,draw_pointer:()=>Qx,image_arithmetic:()=>Zy,image_invert:()=>ex,mixbot_display_bitmap_create:()=>Ax,mixbot_display_bright_screen:()=>Dx,mixbot_display_get_ambientbright:()=>Nx,mixbot_display_get_screen_pixel:()=>Lx,mixbot_display_image_create:()=>Sx,mixbot_display_rotate:()=>fx,mixgo_display_bitmap_create:()=>lx,mixgo_display_image_create_new:()=>dx,mixgome_display_bitmap_create:()=>px,mixgome_display_font:()=>rx,mixgome_display_image_create:()=>ox,mixgomini_display_bitmap_create:()=>ux,mixgomini_display_image_create:()=>ax,mpython_display_hvline:()=>gx,mpython_display_line:()=>Cx,mpython_display_shape_rect:()=>cx,mpython_pbm_image:()=>Ix,nova_draw_pointer:()=>qx,onboard_oled_bright_point:()=>Rx,onboard_oled_scroll_string_delay:()=>Ox,onboard_oled_show_frame_string_delay:()=>Ex,onboard_oled_show_image:()=>Mx,onboard_oled_show_image_or_string_delay:()=>mx,onboard_oled_show_image_xy:()=>Tx,onboard_oled_show_string:()=>hx,onboard_tft_bright_point:()=>Gx,onboard_tft_bright_screen:()=>nb,onboard_tft_clear:()=>sb,onboard_tft_clock_clear:()=>Kx,onboard_tft_clock_draw:()=>Wx,onboard_tft_clock_get_rtctime:()=>Hx,onboard_tft_clock_init:()=>wx,onboard_tft_clock_set_time:()=>kx,onboard_tft_display_hvline:()=>bx,onboard_tft_display_line:()=>Vx,onboard_tft_display_shape_circle:()=>Jx,onboard_tft_display_shape_rect:()=>xx,onboard_tft_fill:()=>Ux,onboard_tft_get_pixel:()=>Bx,onboard_tft_get_screen_pixel:()=>ib,onboard_tft_scroll_string_delay:()=>Ky,onboard_tft_shift:()=>tb,onboard_tft_show_frame_string:()=>eb,onboard_tft_show_frame_string_delay:()=>yx,onboard_tft_show_image:()=>Zx,onboard_tft_show_image_or_string_delay:()=>Xx,onboard_tft_show_image_xy:()=>Yx,onboard_tft_show_image_xy_direct:()=>vx,onboard_tft_show_qrcode:()=>jx,onboard_tft_show_qrcode_details:()=>$x,onboard_tft_show_texts:()=>zx});var pe={};e.r(pe),e.d(pe,{factory_block:()=>lb,factory_block_return:()=>Ib,factory_block_return_with_textarea:()=>Tb,factory_block_with_textarea:()=>Mb,factory_callMethod_noreturn:()=>rb,factory_callMethod_return:()=>db,factory_declare:()=>ub,factory_from_import:()=>_b,factory_function_noreturn:()=>pb,factory_function_return:()=>ab,factory_import:()=>ob,folding_block:()=>hb});var ae={};e.r(ae),e.d(ae,{inout_analog_atten:()=>Pb,inout_analog_read:()=>Sb,inout_analog_read_init:()=>Fb,inout_analog_write:()=>cb,inout_analog_write_init:()=>fb,inout_analog_write_set:()=>gb,inout_digital_init:()=>Nb,inout_digital_read:()=>Ob,inout_digital_write:()=>Eb,inout_highlow:()=>mb,inout_pin_attachInterrupt:()=>Lb,inout_pin_pressed:()=>Ab,inout_pin_pressed_init:()=>Yb,inout_pwm_analog_write:()=>Rb,inout_pwm_analog_write_init:()=>Db,inout_pwm_analog_write_set_freq:()=>Cb});var ue={};e.r(ue),e.d(ue,{IOT_CONNECT_OLLAMA:()=>pV,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>$b,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>zb,IOT_EMQX_PING:()=>Zb,IOT_FORMATTING:()=>Qb,IOT_FORMAT_STRING:()=>qb,IOT_MIXIO_NTP:()=>eV,IOT_MIXIO_PUBLISH:()=>Gb,IOT_MIXIO_PUBLISHEX:()=>Ub,IOT_MIXIO_SUBSCRIBE:()=>wb,iot_client_onboard:()=>tV,iot_connect_ollama:()=>oV,iot_connect_openai:()=>aV,iot_http_client:()=>iV,iot_http_data:()=>nV,iot_mixio_check:()=>Wb,iot_mixio_connect:()=>Bb,iot_mixio_connect_only:()=>kb,iot_mixio_disconnect:()=>Hb,iot_mixio_format_msg:()=>Jb,iot_mixio_format_topic:()=>Kb,iot_mixly_key:()=>jb,iot_mqtt_client:()=>sV,iot_mqtt_data:()=>_V,iot_onenet_check:()=>bb,iot_onenet_connect:()=>Xb,iot_onenet_disconnect:()=>yb,iot_onenet_publish:()=>Vb,iot_onenet_publish_dict:()=>xb,iot_tiny_web_db_count:()=>hV,iot_tiny_web_db_delete:()=>EV,iot_tiny_web_db_get:()=>TV,iot_tiny_web_db_init:()=>lV,iot_tiny_web_db_init_with_mqtt:()=>IV,iot_tiny_web_db_search:()=>mV,iot_tiny_web_db_update:()=>MV,iot_wifi_connect:()=>vb,ollama_empty_history:()=>dV,use_ollama_llm_to_chat:()=>uV,use_ollama_llm_to_chat_return:()=>rV});var re={};e.r(re),e.d(re,{educore_mqtt_connect:()=>zV,educore_mqtt_connect_success:()=>eB,educore_mqtt_subscribe_message:()=>jV,educore_mqtt_topic_publish:()=>ZV,educore_mqtt_topic_subscribe:()=>$V,educore_wifi_connect:()=>qV,network_ap_connect:()=>NV,network_connect:()=>RV,network_get_connect:()=>gV,network_get_wifi:()=>LV,network_init:()=>OV,network_is_active:()=>AV,network_open:()=>SV,network_scan:()=>DV,network_server:()=>fV,network_socket_accept:()=>XV,network_socket_bind:()=>PV,network_socket_close:()=>GV,network_socket_connect:()=>YV,network_socket_init:()=>FV,network_socket_listen:()=>vV,network_socket_readline:()=>yV,network_socket_receive:()=>xV,network_socket_receive_from:()=>VV,network_socket_send:()=>bV,network_socket_send_to:()=>BV,network_stop:()=>CV,network_wifi_connect:()=>cV,ntptime_address:()=>WV,ntptime_time:()=>kV,requests_attribute:()=>wV,requests_attribute2:()=>JV,requests_get:()=>UV,requests_get2:()=>KV,requests_method:()=>HV,requests_post:()=>QV});var de={};e.r(de),e.d(de,{pe_g1_battery_left:()=>iB,pe_g1_dc_motor:()=>nB,pe_g1_dc_motor_speed:()=>sB,pe_g1_servo_get_angle:()=>pB,pe_g1_servo_get_speed:()=>aB,pe_g1_servo_set_angle:()=>_B,pe_g1_servo_set_speed:()=>oB,pe_g1_use_i2c_init:()=>tB});var le={};e.r(le),e.d(le,{CI130X_BROADCAST:()=>PB,CI130X_GET_THE_RECOGNIZED_CMD:()=>FB,CI130X_GET_WHETHER_IDENTIFY:()=>fB,CI130X_IDENTIFY_AND_SAVE:()=>DB,CI130X_SET_SYSTEM_CMD:()=>YB,HCSR04:()=>rG,PS2_Button:()=>IG,PS2_Buttons:()=>MG,PS2_Buttons_new:()=>gG,PS2_State:()=>TG,PS2_init:()=>dG,PS2_init_new:()=>RG,PS2_stk:()=>hG,PS2_stk_new:()=>CG,PS2_vibration:()=>lG,PS2_vibration_new:()=>cG,RTC_get_time:()=>EG,RTC_set_date:()=>hB,RTC_set_datetime:()=>mG,RTC_set_time:()=>TB,camera_sensor_init:()=>eU,camera_sensor_result:()=>tU,column_tube_foot:()=>_U,define_keyboards:()=>oU,educore_body_sensor:()=>kG,educore_button_sensor_extern:()=>QG,educore_camera_sensor:()=>ZG,educore_infrared_sensor:()=>JG,educore_soilhum_sensor:()=>WG,educore_temp_sensor:()=>$G,educore_temphum_sensor:()=>KG,educore_ultrasonic_sensor:()=>zG,esp32_s2_weather_init:()=>oG,esp32_s2_weather_rain:()=>aG,esp32_s2_weather_wd:()=>pG,esp32_s2_weather_ws:()=>uG,extern_rfid_read:()=>QB,extern_rfid_readcontent:()=>zB,extern_rfid_readid:()=>qB,extern_rfid_status:()=>ZB,extern_rfid_write:()=>jB,extern_rfid_write_return:()=>$B,get_keboards_value:()=>aU,gnss_get_data:()=>LG,gnss_have_data:()=>NG,init_init_rotary_encoder:()=>uU,init_matrix_keyboard:()=>pU,interaction_whether_to_interaction:()=>LB,interaction_whether_to_interaction_SANT:()=>NB,line_tube_foot:()=>sU,mixbot_sensor_extern_get_addr:()=>bG,mixbot_sensor_extern_set_addr:()=>VG,pm25_get_data:()=>AG,radar_set_DETECTION_THRESHOLD:()=>SB,radar_set_DETECTION_THRESHOLD_SANT:()=>AB,robot_button_extern_get_value:()=>fG,robot_color_extern_get_value:()=>XG,robot_infrared_extern_get_value:()=>PG,robot_infrared_extern_grey_get_value:()=>YG,robot_potentiometer_extern_get_value:()=>vG,robot_sonar_extern_get_value:()=>yG,robot_sonar_extern_led:()=>xG,robot_touch_extern_get_value:()=>FG,rotary_key:()=>rU,sensor_APDS9960_extern:()=>XB,sensor_DS18X20:()=>HG,sensor_LTR308_extern:()=>yB,sensor_LTR390UV_extern:()=>wB,sensor_MAX30102_extern:()=>vB,sensor_QMC5883L_extern:()=>HB,sensor_VL530LX_extern:()=>KB,sensor_aht11_extern:()=>WB,sensor_bmp:()=>cB,sensor_dht11:()=>OG,sensor_distance_hrsc04:()=>MB,sensor_hp203_extern:()=>xB,sensor_ltr381_extern:()=>GB,sensor_mixgo_extern_button_attachInterrupt:()=>lB,sensor_mixgo_extern_button_get_presses:()=>dB,sensor_mixgo_extern_button_is_pressed:()=>uB,sensor_mixgo_extern_button_was_pressed:()=>rB,sensor_mixgo_extern_light:()=>mB,sensor_mixgo_extern_pin_near:()=>OB,sensor_mixgo_extern_sound:()=>EB,sensor_mixgoce_hot_wheel_degrees:()=>_G,sensor_mixgoce_hot_wheel_is_touched:()=>sG,sensor_mpu9250_attachGestureInterrupt:()=>IB,sensor_ms5611_extern:()=>VB,sensor_ms5611_extern_altitude:()=>BB,sensor_read_humiture:()=>qG,sensor_rtc_init:()=>RB,sensor_sht:()=>gB,sensor_shtc3_extern:()=>kB,sensor_spl06_001_extern:()=>bB,sensor_ucs12071_extern:()=>UB,sensor_use_i2c_init:()=>CB,sensor_use_spi_init:()=>JB,sensor_use_uart_init:()=>SG,sensor_weather_solo_init:()=>BG,sensor_weather_solo_rain:()=>wG,sensor_weather_solo_wd:()=>GG,sensor_weather_solo_ws:()=>UG,sensor_weigh_init:()=>iU,tvoc_get_data:()=>DG,ultrasonic_sensor_read_distance:()=>jG,weather_data:()=>eG,weather_have_data:()=>tG,weather_set_label:()=>nG,weather_uart_mixio:()=>iG,weigh_sensor_get_weight:()=>nU});var Ie={};e.r(Ie),e.d(Ie,{HCSR04:()=>OU,bitbot_als_num:()=>Uw,dht11:()=>qw,educore_button_sensor:()=>iH,educore_button_was_pressed:()=>nH,educore_gyroscope_sensor:()=>Zw,educore_gyroscope_sensor_read:()=>eH,educore_gyroscope_sensor_shake:()=>tH,educore_light_sensor:()=>$w,educore_rfid_sensor:()=>sH,educore_rfid_sensor_scan:()=>_H,educore_rfid_sensor_scan_data:()=>oH,educore_voice_sensor:()=>zw,number1:()=>RU,number2:()=>cU,number3:()=>gU,number4:()=>CU,number5:()=>SU,number6:()=>AU,number7:()=>LU,onboard_RTC_get_time:()=>mw,onboard_RTC_get_time_str:()=>Rw,onboard_RTC_get_timestamp:()=>Ew,onboard_RTC_get_timetuple_to_str:()=>cw,onboard_RTC_set_datetime:()=>Tw,onboard_RTC_settime_string:()=>hw,onboard_RTC_timestamp_totuple:()=>Ow,rfid_readcontent:()=>wU,rfid_readid:()=>UU,rfid_status:()=>WU,rfid_write:()=>HU,rfid_write_return:()=>kU,sensor_LTR308:()=>xU,sensor_adxl345_get_acceleration:()=>ew,sensor_aht11:()=>BU,sensor_bitbot_ALS:()=>Gw,sensor_button_get_presses:()=>kw,sensor_button_is_pressed:()=>ww,sensor_button_was_pressed:()=>Hw,sensor_compass_reset:()=>ow,sensor_ds18x20:()=>XU,sensor_eulerangles:()=>JU,sensor_get_acceleration:()=>KU,sensor_get_temperature:()=>GU,sensor_get_the_coprocessor_version:()=>pH,sensor_hp203:()=>VU,sensor_light:()=>Qw,sensor_lm35:()=>yU,sensor_mixbot_get_gyro:()=>Bw,sensor_mixbot_patrol_calibrate:()=>xw,sensor_mixbot_patrol_value:()=>bw,sensor_mixbot_temperature:()=>Vw,sensor_mixgo_LTR308:()=>PU,sensor_mixgo_button_attachInterrupt:()=>MU,sensor_mixgo_button_get_presses:()=>IU,sensor_mixgo_button_is_pressed:()=>dU,sensor_mixgo_button_was_pressed:()=>lU,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>Sw,sensor_mixgo_cc_mmc5603_get_angle:()=>Cw,sensor_mixgo_cc_mmc5603_get_magnetic:()=>gw,sensor_mixgo_light:()=>Jw,sensor_mixgo_nova_LTR308:()=>vU,sensor_mixgo_nova_pin_near:()=>FU,sensor_mixgo_pin_near:()=>fU,sensor_mixgo_pin_near_double:()=>DU,sensor_mixgo_pin_near_single:()=>NU,sensor_mixgo_pin_pressed:()=>$U,sensor_mixgo_sant_color:()=>YU,sensor_mixgo_touch_slide:()=>jU,sensor_mixgocar42_button_attachInterrupt:()=>EU,sensor_mixgocar42_button_get_presses:()=>mU,sensor_mixgocar42_button_is_pressed:()=>TU,sensor_mixgocar42_button_was_pressed:()=>hU,sensor_mixgocar_battery_left:()=>yw,sensor_mixgocar_pin_near:()=>vw,sensor_mixgocar_pin_near_line:()=>Yw,sensor_mixgocar_pin_near_state_change:()=>Xw,sensor_mixgoce_pin_pressed:()=>zU,sensor_mixgoce_temperature:()=>Lw,sensor_mixgome_temperature:()=>Aw,sensor_mpu9250_calibrate_compass:()=>nw,sensor_mpu9250_field_strength:()=>_w,sensor_mpu9250_gesture:()=>QU,sensor_mpu9250_get_acceleration:()=>qU,sensor_mpu9250_get_gyro:()=>iw,sensor_mpu9250_get_magnetic:()=>tw,sensor_mpu9250_temperature:()=>sw,sensor_mpython_pin_pressed:()=>ZU,sensor_mpython_qmi8658_get_gyro:()=>Nw,sensor_mpython_qmi8658_temperature:()=>Dw,sensor_onboard_compass_reset:()=>Mw,sensor_onboard_mpu9250_calibrate_compass:()=>dw,sensor_onboard_mpu9250_field_strength:()=>Iw,sensor_onboard_mpu9250_gesture:()=>pw,sensor_onboard_mpu9250_get_acceleration:()=>aw,sensor_onboard_mpu9250_get_gyro:()=>rw,sensor_onboard_mpu9250_get_magnetic:()=>uw,sensor_onboard_mpu9250_temperature:()=>lw,sensor_pin_near:()=>Kw,sensor_pin_pressed:()=>Ww,sensor_read:()=>jw,sensor_rm_acc:()=>Pw,sensor_rm_battery_left:()=>Fw,sensor_rm_pin_near_double:()=>fw,sensor_sound:()=>bU,simulated_light_sensor:()=>aH});var Me={};e.r(Me),e.d(Me,{serial_any:()=>IH,serial_print:()=>uH,serial_print_byte:()=>rH,serial_print_hex:()=>lH,serial_println:()=>dH,serial_read_from_ai:()=>SH,serial_readline:()=>TH,serial_readstr:()=>MH,serial_send_to_ai:()=>CH,serial_softserial:()=>hH,serial_softserial_new:()=>mH,system_input:()=>EH,system_print:()=>OH,system_print_end:()=>cH,system_print_inline:()=>RH,system_print_many:()=>gH});var Te={};e.r(Te),e.d(Te,{Panic_with_status_code:()=>xH,Timer_init:()=>$H,base_delay:()=>tk,controls_delay:()=>UH,controls_delay_new:()=>wH,controls_end_program:()=>VH,controls_millis:()=>bH,controls_uname:()=>GH,reset:()=>BH,set_system_timer:()=>kH,system_bitbot_shutdown:()=>jH,system_device_name:()=>XH,system_device_serial_number:()=>yH,system_event_bus_source:()=>YH,system_event_bus_value:()=>vH,system_machine_reset:()=>zH,system_on_event:()=>fH,system_raise_event:()=>DH,system_reset:()=>LH,system_run_in_background:()=>AH,system_ticks_diff:()=>WH,system_timer:()=>JH,system_timer_init:()=>KH,system_timestamp:()=>FH,system_value:()=>PH,system_wait:()=>NH,system_wdt_feed:()=>qH,system_wdt_init:()=>QH,time_ticks_diff:()=>ek,timer:()=>HH,timer2:()=>ZH});var he={};e.r(he),e.d(he,{Air_daily_content:()=>Mk,Air_now_content:()=>pk,Geo_moon_content:()=>hk,Geo_sun_content:()=>Tk,Life_suggestion_content:()=>uk,Location_search_content:()=>dk,Tide_daily_content:()=>rk,WEATHER_DAILY:()=>nk,WEATHER_HOUR:()=>sk,WEATHER_NOW:()=>ik,Weather_alarm_content:()=>ak,Weather_daily:()=>lk,Weather_daily_content:()=>Ik,Weather_now:()=>_k,Weather_now_content:()=>ok});var me={};e.r(me),e.d(me,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>Ok});var Ee={};e.r(Ee),e.d(Ee,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>ck});var Oe={};e.r(Oe),e.d(Oe,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>Ck});var Re={};e.r(Re),e.d(Re,{controls_pin_attachInterrupt:()=>Hk,inout_analog_atten:()=>vk,inout_analog_write:()=>Pk,inout_analog_write_init:()=>bk,inout_analog_write_set:()=>Yk,inout_analog_write_set_freq:()=>Bk,inout_digital_init:()=>xk,inout_digital_read:()=>Fk,inout_digital_write:()=>fk,inout_highlow:()=>Dk,inout_pinMode:()=>Gk,inout_pin_attachInterrupt:()=>yk,inout_pin_pressed:()=>Xk,inout_pin_pressed_init:()=>Vk,pin_pressed:()=>wk,pin_pressed_init:()=>Uk});var ce={};e.r(ce),e.d(ce,{mini_g2_aht11:()=>Wk,mini_g2_hp203:()=>Kk,mini_g2_rfid_readcontent:()=>qk,mini_g2_rfid_readid:()=>Qk,mini_g2_rfid_status:()=>$k,mini_g2_rfid_write:()=>zk,mini_g2_rfid_write_outcome:()=>jk,mini_g2_varistor:()=>Jk});var ge={};e.r(ge),e.d(ge,{me_go_dc_motor:()=>pW,me_go_get_led_bright:()=>iW,me_go_get_led_state:()=>nW,me_go_hall_attachInterrupt:()=>aW,me_go_hall_data:()=>rW,me_go_hall_initialize:()=>uW,me_go_led_bright:()=>tW,me_go_led_brightness:()=>sW,me_go_light_number:()=>eW,me_go_pin_light:()=>TW,me_go_pin_near:()=>lW,me_go_pin_near_line:()=>dW,me_go_pin_near_state_change:()=>IW,me_go_stepper_keep:()=>_W,me_go_stepper_stop:()=>oW,sensor_mixgome_eulerangles:()=>MW});var Ce={};e.r(Ce),e.d(Ce,{analog_input:()=>SW,analog_output:()=>LW,espnow_channel:()=>cW,haskylens_model:()=>gW,i2c_A_pin:()=>NW,i2c_B_pin:()=>DW,pins_analog:()=>vW,pins_analog_pin:()=>XW,pins_axis:()=>jW,pins_brightness:()=>$W,pins_builtinimg:()=>kW,pins_builtinimg_extern:()=>WW,pins_button:()=>bW,pins_buttonB:()=>VW,pins_dac:()=>yW,pins_dac_pin:()=>xW,pins_digital:()=>mW,pins_digital_dot:()=>oK,pins_digital_pin:()=>EW,pins_exlcdh:()=>qW,pins_exlcdv:()=>zW,pins_imglist:()=>KW,pins_input_pin:()=>OW,pins_one_more:()=>_K,pins_output_pin:()=>RW,pins_playlist:()=>JW,pins_playlist_extern:()=>QW,pins_pwm:()=>BW,pins_pwm_pin:()=>GW,pins_radio_datarate:()=>sK,pins_radio_power:()=>nK,pins_serial:()=>HW,pins_tone_notes:()=>iK,pins_touch:()=>wW,pins_touch_pin:()=>UW,pins_tts_bgmusic:()=>tK,pins_tts_builtin_music:()=>eK,pins_tts_voice:()=>ZW,pwm_input:()=>CW,pwm_output:()=>AW,spi_A_pin:()=>fW,spi_B_pin:()=>FW,spi_C_pin:()=>PW,spi_D_pin:()=>YW,timer_id_pin:()=>pK});var Se={};e.r(Se),e.d(Se,{actuator_neopixel_init:()=>aK});var Ae={};e.r(Ae),e.d(Ae,{inout_analog_atten:()=>EK,inout_analog_write:()=>lK,inout_analog_write_init:()=>mK,inout_analog_write_set:()=>IK,inout_digital_init:()=>hK,inout_digital_read:()=>dK,inout_digital_write:()=>rK,inout_highlow:()=>uK,inout_pin_attachInterrupt:()=>TK,inout_pin_pressed:()=>MK,inout_pin_pressed_init:()=>OK});var Le={};e.r(Le),e.d(Le,{mini_g2_aht11:()=>RK,mini_g2_hp203:()=>cK,mini_g2_rfid_readcontent:()=>SK,mini_g2_rfid_readid:()=>CK,mini_g2_rfid_status:()=>NK,mini_g2_rfid_write:()=>AK,mini_g2_rfid_write_outcome:()=>LK,mini_g2_varistor:()=>gK});var Ne={};e.r(Ne),e.d(Ne,{me_go_dc_motor:()=>yK,me_go_get_led_bright:()=>FK,me_go_get_led_state:()=>PK,me_go_hall_attachInterrupt:()=>xK,me_go_hall_data:()=>VK,me_go_hall_initialize:()=>bK,me_go_led_bright:()=>fK,me_go_led_brightness:()=>YK,me_go_light_number:()=>DK,me_go_pin_light:()=>HK,me_go_pin_near:()=>GK,me_go_pin_near_line:()=>BK,me_go_pin_near_state_change:()=>UK,me_go_stepper_keep:()=>vK,me_go_stepper_stop:()=>XK,sensor_mixgome_eulerangles:()=>wK});var De={};e.r(De),e.d(De,{analog_input:()=>ZK,analog_output:()=>tJ,espnow_channel:()=>jK,haskylens_model:()=>$K,i2c_A_pin:()=>iJ,i2c_B_pin:()=>nJ,pins_analog:()=>uJ,pins_analog_pin:()=>aJ,pins_axis:()=>CJ,pins_brightness:()=>LJ,pins_builtinimg:()=>EJ,pins_builtinimg_extern:()=>OJ,pins_button:()=>WK,pins_buttonB:()=>KK,pins_dac:()=>IJ,pins_dac_pin:()=>lJ,pins_digital:()=>kK,pins_digital_dot:()=>XJ,pins_digital_pin:()=>JK,pins_exlcdh:()=>SJ,pins_exlcdv:()=>AJ,pins_imglist:()=>RJ,pins_input_pin:()=>QK,pins_interrupt:()=>hJ,pins_one_more:()=>vJ,pins_output_pin:()=>qK,pins_playlist:()=>cJ,pins_playlist_extern:()=>gJ,pins_pwm:()=>dJ,pins_pwm_input:()=>zK,pins_pwm_pin:()=>rJ,pins_radio_datarate:()=>YJ,pins_radio_power:()=>PJ,pins_serial:()=>mJ,pins_tone_notes:()=>FJ,pins_touch:()=>TJ,pins_touch_pin:()=>MJ,pins_tts_bgmusic:()=>fJ,pins_tts_builtin_music:()=>DJ,pins_tts_voice:()=>NJ,pwm_output:()=>eJ,spi_A_pin:()=>sJ,spi_B_pin:()=>_J,spi_C_pin:()=>oJ,spi_D_pin:()=>pJ,timer_id_pin:()=>yJ});const fe=Blockly,Fe=Mixly,Pe={NAME_TYPE:"VARIABLE",allVariables:function(e){var t;if(e.getDescendants)t=e.getDescendants();else{if(!e.getAllBlocks)throw"Not Block or Workspace: "+e;t=e.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Ye=Pe; +/** + * @license + * Visual Blocks Editor + * + * Copyright 2012 Google Inc. + * https://developers.google.com/blockly/ + * + * 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. + */ +class ve{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(fe.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(fe.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(fe.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(fe.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(fe.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(fe.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},$e={init:function(){this.setColour(Ke),this.appendValueInput("FROM").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.PYTHON_RANGE).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ze={init:function(){this.setColour(Ke),this.appendValueInput("LIST").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(fe.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},et={init:function(){this.setColour(Ke),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(fe.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new fe.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(fe.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:fe.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:fe.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},tt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(fe.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new fe.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(fe.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(fe.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(fe.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(fe.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(fe.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},it={init:function(){this.setColour(Ke);var e=new fe.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(fe.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:fe.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:fe.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(fe.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},nt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new fe.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return fe.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},st={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new fe.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return fe.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};et.OPERATORS=[[fe.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[fe.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],it.OPERATORS=[[fe.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[fe.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const _t={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(fe.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},ot={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},pt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(fe.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},at={init:function(){this.setColour(Ke),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ut={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(fe.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},rt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(fe.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},dt={init:function(){this.jsonInit({message0:fe.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Ke,tooltip:fe.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:fe.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},lt={init:function(){this.setColour(Ke),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_STAT),this.setOutput(!0)}},It={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Mt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(fe.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},Tt={init:function(){this.appendDummyInput().appendField(fe.Msg.CONTROLS_REPEAT_TITLE_REPEAT+fe.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(fe.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new fe.FieldDropdown([[fe.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[fe.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ke),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ht={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mt={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Et={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Ot={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(fe.Msg.PROCEDURES_DEFRETURN_RETURN+fe.Msg.MIXLY_GET_UNIQUE_IDEN)}},Rt={init:function(){this.setColour(Ke),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(fe.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},ct={init:function(){this.setColour(Ke),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},gt=230;fe.FieldTextInput.math_number_validator=function(e){return String(e)},fe.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const Ct={init:function(){this.setColour(gt),this.appendDummyInput().appendField(new fe.FieldTextInput("0",fe.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MATH_NUMBER_TOOLTIP)}},St={init:function(){this.setColour(gt);this.appendDummyInput("").appendField(fe.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new fe.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:fe.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:fe.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},At={init:function(){this.setColour(gt);this.appendDummyInput("").appendField(fe.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new fe.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:fe.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:fe.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},Lt={init:function(){this.setColour(gt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:fe.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:fe.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:fe.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:fe.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:fe.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:fe.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:fe.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Nt={init:function(){this.setColour(gt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:fe.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:fe.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:fe.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:fe.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:fe.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:fe.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:fe.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Dt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new fe.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ft={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new fe.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:fe.Msg.MATH_TRIG_TOOLTIP_SIN,COS:fe.Msg.MATH_TRIG_TOOLTIP_COS,TAN:fe.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:fe.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:fe.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:fe.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:fe.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},Ft={init:function(){var e=[[fe.Msg.MATH_BIN,"bin"],[fe.Msg.MATH_OCT,"oct"],[fe.Msg.MATH_HEX,"hex"]];this.setColour(gt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new fe.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:fe.Msg.MATH_DEC_TOOLTIP_BIN,oct:fe.Msg.MATH_DEC_TOOLTIP_OCT,hex:fe.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},Pt={init:function(){var e=[[fe.Msg.LANG_MATH_TO_ROUND,"round"],[fe.Msg.LANG_MATH_TO_CEIL,"ceil"],[fe.Msg.LANG_MATH_TO_FLOOR,"floor"],[fe.Msg.MATH_ABS,"fabs"],[fe.Msg.MATH_SQRT,"sqrt"]];this.setColour(gt),this.appendValueInput("A").setCheck(Number).appendField(new fe.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:fe.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:fe.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:fe.Msg.MATH_SINGLE_TOOLTIP_SQ,round:fe.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:fe.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:fe.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},Yt={init:function(){var e=[[fe.Msg.MIXLY_MAX,"max"],[fe.Msg.MIXLY_MIN,"min"]];this.setColour(gt),this.appendValueInput("A").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(fe.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:fe.Msg.MIXLY_TOOLTIP_MATH_MAX,min:fe.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},vt={init:function(){var e=[[fe.Msg.MATH_TWO,"two"],[fe.Msg.MATH_EIGHT,"eight"],[fe.Msg.MATH_TEN,"ten"],[fe.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(gt),this.appendDummyInput("").appendField(fe.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new fe.FieldDropdown(e),"OP").appendField(fe.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MATH_ZHW).appendField(new fe.FieldDropdown(e),"OP2").appendField(fe.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:fe.Msg.MATH_Before_two,eight:fe.Msg.MATH_Before_eight,ten:fe.Msg.MATH_Before_ten,sixteen:fe.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:fe.Msg.MATH_Behind_two,eight:fe.Msg.MATH_Behind_eight,ten:fe.Msg.MATH_Behind_ten,sixteen:fe.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},Xt={init:function(){var e=[[fe.Msg.LANG_MATH_INT,"int"],[fe.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(gt),this.setOutput(!0,Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_RANDOM).appendField(new fe.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(fe.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:fe.Msg.LANG_MATH_INT,float:fe.Msg.LANG_MATH_FLOAT_RANDOM};return fe.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},yt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(fe.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(fe.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(fe.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(fe.Msg.MATH_CONSTRAIN_TOOLTIP)}},xt={init:function(){this.setColour(gt),this.appendValueInput("NUM",Number).appendField(fe.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(fe.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(fe.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_MATH_MAP)}},bt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(new fe.FieldTextInput("0",fe.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(fe.Msg.MATH_NUMBER_TOOLTIP)}},Vt={init:function(){this.setColour(gt),this.appendValueInput("NUM").setCheck(Number).appendField(fe.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Bt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(fe.Msg.MATH_ROUND).appendField(fe.Msg.TEXT_KEEP),this.appendDummyInput().appendField(fe.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(fe.Msg.MATH_ROUND_NEW_TOOLTIP)}},Gt={init:function(){var e=[[fe.Msg.MIXLY_TO_INT,"int"],[fe.Msg.MIXLY_TO_FLOAT,"float"],[fe.Msg.MIXLY_TO_BITES,"b"],[fe.Msg.LANG_MATH_BYTE+fe.Msg.MIXLY_TO_INT,"bti"]];this.setColour(gt),this.appendValueInput("VAR").appendField(new fe.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:fe.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:fe.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:fe.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Ut={init:function(){var e=[[fe.Msg.MIXLY_TO_INT,"int"],[fe.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(gt),this.appendValueInput("VAR").appendField(new fe.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:fe.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:fe.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},wt=xt,Ht={init:function(){this.setColour(gt),this.appendValueInput("VAR").appendField(fe.Msg.LANG_MATH_BYTE+fe.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},kt={init:function(){this.setColour(gt),this.itemCount_=1,this.setMutator(new fe.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(fe.Msg.MIXLY_PRODUCT+fe.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(fe.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(fe.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(fe.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const jt={init:function(){this.setColour(Jt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new fe.FieldTextInput("",fe.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(fe.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new fe.FieldImage(t,7,12,'"')}},$t={init:function(){this.setColour(Jt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(fe.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Zt={init:function(){this.setColour(Jt),this.appendValueInput("VAR").setCheck(Number).appendField(fe.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},ei={init:function(){this.setColour(Jt),this.appendValueInput("VAR").setCheck(String).appendField(fe.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},ti={init:function(){this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ii={init:function(){this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ni={init:function(){this.WHERE_OPTIONS=[[fe.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[fe.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[fe.Msg.TEXT_GET_INDEX_RANDOM+1+fe.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(fe.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(fe.Msg.LISTS_GET_INDEX_GET,"MODE"),fe.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(fe.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=fe.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=fe.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=fe.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=fe.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+fe.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",fe.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:fe.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:fe.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:fe.Msg.TEXT_GET_INDEX_RANDOM};return fe.Msg.PROCEDURES_DEFRETURN_RETURN+fe.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+fe.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==fe.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),fe.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(fe.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new fe.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),fe.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},si={init:function(){this.setHelpUrl(fe.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(fe.Msg.LISTS_GET_INDEX_GET+" "+fe.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(fe.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(fe.Msg.PROCEDURES_DEFRETURN_RETURN+fe.Msg.MIXLY_MICROBIT_TYPE_STRING+fe.Msg.LISTS_GET_INDEX_FROM_START+"n"+fe.Msg.TEXT_CHARAT2)}},_i={init:function(){this.setHelpUrl(fe.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(fe.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(fe.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},oi={init:function(){this.WHERE_OPTIONS_1=[[fe.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[fe.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[fe.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[fe.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[fe.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[fe.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(fe.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(fe.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==fe.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==fe.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),fe.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(fe.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new fe.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},pi={init:function(){this.setHelpUrl(fe.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(fe.Msg.LISTS_GET_INDEX_GET+" "+fe.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(fe.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(fe.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(fe.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ai={init:function(){var e=[[fe.Msg.MIXLY_EQUALS,"==="],[fe.Msg.MIXLY_STARTSWITH,"startswith"],[fe.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Jt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new fe.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ui={init:function(){this.setColour(Jt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(fe.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_COMPARETO_HELP)}},ri={init:function(){var e=[[fe.Msg.TEXT_UPPER,"upper"],[fe.Msg.TEXT_TITLE,"title"],[fe.Msg.TEXT_CAPITALIZE,"capitalize"],[fe.Msg.TEXT_SWAPCASE,"swapcase"],[fe.Msg.TEXT_LOWER,"lower"]];this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:fe.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:fe.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:fe.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:fe.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:fe.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},di={init:function(){var e=[[fe.Msg.TEXT_LJUST,"ljust"],[fe.Msg.TEXT_CENTER,"center"],[fe.Msg.TEXT_RJUST,"rjust"]];this.setColour(Jt),this.appendValueInput("VAR").appendField(new fe.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(fe.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(fe.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},li={init:function(){this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(fe.Msg.MIXLY_MID+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(fe.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Ii={init:function(){this.setColour(Jt),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(fe.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Mi={init:function(){this.setColour(Jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(fe.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(fe.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Ti={init:function(){this.setColour(Jt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(fe.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(fe.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},hi={init:function(){var e=[[fe.Msg.TEXT_TRIM_BOTH,"strip"],[fe.Msg.TEXT_TRIM_LEFT,"lstrip"],[fe.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Jt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(fe.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new fe.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(fe.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:fe.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:fe.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:fe.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},mi={init:function(){this.setColour(Jt),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new fe.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new fe.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Mn={init:function(){this.setColour(ln),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Tn={init:function(){this.setColour(ln),this.appendDummyInput().appendField(fe.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},hn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_KEYS),this.setTooltip(fe.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(fe.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(fe.Msg.DICTS_GET_TOOLTIP)}},En={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(fe.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(fe.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(fe.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},On={init:function(){this.setColour(ln),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(fe.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Rn={init:function(){this.setColour(ln),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(fe.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_DELETE_TOOLTIP)}},cn={init:function(){this.setColour(ln),this.appendValueInput("DICT2").setCheck("Dict").appendField(fe.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(fe.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MID),this.setTooltip(fe.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_CLEAR),this.setTooltip(fe.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_ITEMS),this.setTooltip(fe.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Sn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_VALUES),this.setTooltip(fe.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},An={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_LENGTH),this.setTooltip(fe.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Ln={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.DICT_DELDICT),this.setTooltip(fe.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nn={init:function(){this.MODE=[[fe.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[fe.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(fe.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(fe.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=fe.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=fe.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==fe.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new fe.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},Dn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(fe.Msg.DICTS_ADD_VALUE),this.setTooltip(fe.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},fn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(fe.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(fe.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Fn={init:function(){this.setColour(ln),this.appendDummyInput("").appendField(new fe.FieldLabel(fe.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new fe.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Pn={init:function(){this.setColour(ln),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Yn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_TO_JSON),this.setTooltip(fe.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},vn={init:function(){this.setColour(ln),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(fe.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Xn={init:function(){this.setColour(ln),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},yn={init:function(){this.setColour(ln),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_TO_JSON),this.setTooltip(fe.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},xn=210,bn={init:function(){var e=fe.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(xn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:fe.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:fe.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:fe.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:fe.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:fe.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:fe.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},Vn={init:function(){var e=fe.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=fe.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(xn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new fe.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Bn={init:function(){var e=[[fe.Msg.LOGIC_OPERATION_AND,"AND"],[fe.Msg.LOGIC_OPERATION_OR,"OR"],[fe.Msg.LOGIC_OPERATION_NOR,"NOR"],[fe.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(xn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new fe.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:fe.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:fe.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:fe.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:fe.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},Gn={init:function(){this.setColour(xn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(fe.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(fe.Msg.LOGIC_NEGATE_TOOLTIP)}},Un={init:function(){var e=[[fe.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[fe.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(xn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new fe.FieldDropdown(e),"BOOL"),this.setTooltip(fe.Msg.LOGIC_BOOLEAN_TOOLTIP)}},wn={init:function(){this.setColour(xn),this.setOutput(!0),this.appendDummyInput().appendField(fe.Msg.LOGIC_NULL),this.setTooltip(fe.Msg.LOGIC_NULL_TOOLTIP)}},Hn={init:function(){this.setColour(xn),this.appendValueInput("A"),this.appendValueInput("B").appendField(fe.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(fe.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},kn={init:function(){var e=[[fe.Msg.TEXT_APPEND_TO,"in"],[fe.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(xn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new fe.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(fe.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.IN)}},Wn={init:function(){var e=[[fe.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[fe.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(xn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new fe.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Kn={init:function(){this.setColour(xn),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(fe.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Jn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(fe.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[fe.Msg.MIXLY_ADD,"a"],[fe.Msg.MATH_BIN+fe.Msg.MIXLY_ADD,"ab"],[fe.Msg.MIXLY_R_W,"r+"],[fe.Msg.MATH_BIN+fe.Msg.MIXLY_R_W,"rb+"],[fe.Msg.MIXLY_W_R,"w+"],[fe.Msg.MATH_BIN+fe.Msg.MIXLY_W_R,"wb+"],[fe.Msg.MIXLY_A_R,"a+"],[fe.Msg.MATH_BIN+fe.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_USE,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=fe.Msg.MIXLY_BELONG;return i+{r:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},qn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_USE,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=fe.Msg.MIXLY_BELONG,o=fe.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},zn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(fe.Msg.MIXPY_TEXT_ENCODE).appendField(new fe.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_USE,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=fe.Msg.MIXLY_BELONG,o=fe.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},jn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+fe.Msg.MIXLY_MICROBIT_TYPE_STRING+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(fe.Msg.MICROBIT_PYTHON_TYPE)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(fe.Msg.HTML_FILE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},is={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},ss={init:function(){this.setColour(0),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};fe.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const _s={init:function(){this.setColour(0),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},ps={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},as={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},us={init:function(){this.setColour(0),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},rs={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return fe.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+fe.Msg.MIXLY_ESP32_SET+{mkdir:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ds={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(fe.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ls={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Is={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.HTML_FILE,"isfile"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},Ms={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(fe.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ts={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(fe.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},hs={init:function(){var e=fe.Procedures.findLegalName("",this),t=new fe.FieldTextInput(e,fe.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new fe.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&fe.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(fe.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(fe.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(fe.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(fe.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=fe.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),fe.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{fe.Events.enable()}},mutationToDom:function(e){var t=fe.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(fe.Msg.MIXLY_AIP_ATTR).setAlign(fe.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},d_={init:function(){this.setColour(__),this.appendDummyInput().appendField(fe.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},l_={init:function(){this.setColour(__),this.appendDummyInput().appendField(fe.Msg.HTML_FORM_CONTENT).appendField(new fe.FieldDropdown([[fe.Msg.HTML_TEXT,"text"],[fe.Msg.HTML_EMAIL,"email"],[fe.Msg.HTML_NUMBER,"number"],[fe.Msg.HTML_PASSWORD,"password"],[fe.Msg.HTML_CHECKBOX,"checkbox"],[fe.Msg.HTML_RADIOBUTTON,"radiobutton"],[fe.Msg.HTML_BUTTON,"button"],[fe.Msg.HTML_COLOUR,"colour"],[fe.Msg.HTML_DATE,"date"],[fe.Msg.HTML_LOCALTIME,"local time"],[fe.Msg.HTML_FILE,"file"],[fe.Msg.HTML_HIDDEN,"hidden"],[fe.Msg.HTML_IMAGE,"image"],[fe.Msg.HTML_MONTH,"month"],[fe.Msg.HTML_RANGE,"range"],[fe.Msg.HTML_RESET,"reset"],[fe.Msg.HTML_SEARCH,"search"],[fe.Msg.HTML_SUBMIT,"submit"],[fe.Msg.HTML_TELEPHONENUMBER,"telephone number"],[fe.Msg.HTML_TIME,"time"],[fe.Msg.HTML_URL,"url"],[fe.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(fe.Msg.HTML_NAME).appendField(new fe.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(fe.Msg.HTML_VALUE).appendField(new fe.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(fe.Msg.MIXLY_AIP_ATTR).setAlign(fe.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},I_={init:function(){this.setColour(__),this.appendDummyInput().appendField(new fe.FieldTextInput("property"),"KEY").appendField(":").appendField(new fe.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},M_={init:function(){this.setColour(__),this.appendDummyInput().appendField(new fe.FieldTextInput("property"),"KEY").appendField(":").appendField(new fe.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},T_={init:function(){this.setColour(__),this.appendDummyInput().appendField(fe.Msg.HTML_TEXT).appendField(new fe.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},h_=160,m_={init:function(){this.setColour(h_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new fe.FieldTable(""),"TEXT")}},E_={init:function(){this.setColour(h_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new fe.FieldMultilineInput(""),"TEXT")}},O_={init:function(){this.setColour(h_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new fe.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},R_={init:function(){this.setColour(h_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},c_={init:function(){this.setColour(h_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new fe.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},g_={init:function(){this.setColour(h_),this.appendValueInput("VALUE").appendField(fe.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},C_={init:function(){this.setColour(h_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new fe.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(fe.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=fe.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},fe.isNumber(n)&&fe.isNumber(s)&&fe.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const Oa=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ra=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},ca=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},ga=function(e,t){return["None",t.ORDER_ATOMIC]},Ca=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},Sa=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Aa=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},La=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Na=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},Da=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},fa=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},Fa=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},Pa=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Ya=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},va=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ya=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},ba=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Va=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Ba=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},Ga=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ua=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},wa=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},Ha=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ka=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},Wa=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},Ka=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Ja=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Qa=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},qa=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},za=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),fe.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Yu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},vu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Xu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},yu=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},xu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},bu=function(e,t){return'"},Vu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Bu=function(){return this.getFieldValue("TEXT")+"\n"},Gu=function(e){return e.getFieldValue("TEXT")+"\n"},Uu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},wu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},Hu=function(){return""},ku=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},Wu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},qu.scrubNakedValue=function(e){return e+"\n"},qu.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},qu.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},qu.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=fe.utils.string.wrap(_,qu.COMMENT_WRAP-3),n+=qu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const zu="#74A55B",ju={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_RGB_PIN_COUNT)}},$u={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Zu={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},er={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},tr={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_BACKSTAGE+fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_BACKSTAGE+fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},ir={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(fe.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(fe.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},nr={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},sr={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_RESET)}},_r={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},or={init:function(){this.setColour(zu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(fe.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},pr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING).appendField(fe.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},ar={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ur={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},rr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING).appendField(fe.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},dr={init:function(){this.setColour(zu),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_MOVE)}},Ir={init:function(){this.setColour(zu),this.appendValueInput("VAR").appendField("360°"+fe.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SETTING+fe.Msg.blockpy_turtle_rotate+fe.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},Mr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField("180°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_MOVE)}},Tr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField("360°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},hr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField("180°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},mr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).appendField("360°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Er={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new fe.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(fe.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},Or={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"ms32006.MOT_CW"],[fe.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[fe.Msg.MOTOR_N,"ms32006.MOT_N"],[fe.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Rr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new fe.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"ms32006.MOT_CW"],[fe.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},cr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_RGB_PIN_COUNT)}},gr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Cr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Sr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_WRI)}},Ar={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_DURATION).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Lr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.PYTHON_RANGE_STEP).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Nr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new fe.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new fe.FieldDropdown([["SYN6288"+fe.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+fe.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Dr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_WHETHER).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_STOPPED,"0"],[fe.Msg.MIXLY_PLAYING,"1"],[fe.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},fr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_STAT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MP3_PLAY,"1"],[fe.Msg.MIXLY_MP3_PAUSE,"2"],[fe.Msg.MIXLY_STOP,"3"],[fe.Msg.MIXLY_MP3_PREV,"4"],[fe.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(fe.Msg.MIXLY_MP3_VOL+fe.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Pr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MODE+fe.Msg.MIXLY_STAT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MP3_LOOP_ALL,"0"],[fe.Msg.MIXLY_MP3_LOOP_ONE,"1"],[fe.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[fe.Msg.MIXLY_MP3_LOOP_RAM,"3"],[fe.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[fe.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[fe.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},vr={},Xr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(fe.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},yr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},xr={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(fe.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(fe.Msg.MIXLY_PROGRAM_BLOCK).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},br={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(fe.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(fe.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(fe.Msg.MIXLY_PROGRAM_BLOCK).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Vr={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Br={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Gr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ur={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_TRAFFIC_LIGHT).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.LISTS_SET_INDEX_SET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[fe.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_WHITE,"W"],[fe.Msg.COLOUR_RGB_RED,"R"],[fe.Msg.COLOUR_RGB_YELLOW,"Y"],[fe.Msg.COLOUR_RGB_GREEN,"G"],[fe.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_WHITE,"W"],[fe.Msg.COLOUR_RGB_RED,"R"],[fe.Msg.COLOUR_RGB_YELLOW,"Y"],[fe.Msg.COLOUR_RGB_GREEN,"G"],[fe.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},kr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[fe.Msg.MIXLY_SPEED,"[1]"],[fe.Msg.MATH_SINGLE_OP_ABSOLUTE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[fe.Msg.MIXLY_RELATIVE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[fe.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[fe.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[fe.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[fe.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[fe.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.MATH_SINGLE_OP_ABSOLUTE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+fe.Msg.MSG.run).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MODE).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPEED+fe.Msg.MIXLY_MODE,"0"],[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER+fe.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"0"],[fe.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[fe.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Qr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.MIXLY_RELATIVE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+fe.Msg.MSG.run).appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.MIXLY_RELATIVE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+fe.Msg.MSG.run).appendField("("+fe.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MODE).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPEED+fe.Msg.MIXLY_MODE,"0"],[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER+fe.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},zr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.ME_GO_MOTOR_EXTERN+fe.Msg.MIXLY_SERVO_MOTOR).appendField(fe.Msg.MIXLY_RELATIVE+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+fe.Msg.MSG.run).appendField("("+fe.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(fe.Msg.PIN_NUMBERING).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LEFT,"0"],[fe.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MODE).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPEED+fe.Msg.MIXLY_MODE,"0"],[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER+fe.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"0"],[fe.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MOTOR,"ext_motor"],[fe.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[fe.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[fe.Msg.COLOUR_RGB_RED+"LED","R_LED"],[fe.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[fe.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[fe.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[fe.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},$r={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MOTOR,"ext_motor"],[fe.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[fe.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[fe.Msg.COLOUR_RGB_RED+"LED","R_LED"],[fe.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[fe.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[fe.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[fe.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zr={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SETUP+fe.Msg.MIXLY_AT).appendField(fe.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},ed={init:function(){this.setColour(zu),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},td={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SERVO+fe.Msg.MIXLY_SETUP+fe.Msg.MIXLY_AT).appendField(fe.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},id={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(fe.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nd={init:function(){this.setColour(zu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_MOTOR+fe.Msg.MIXLY_SETUP+fe.Msg.MIXLY_AT).appendField(fe.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},sd={init:function(){this.setColour(zu),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+fe.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_d="#6C9858",od={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(new fe.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},pd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_ON,"1"],[fe.Msg.MIXLY_ESP32_OFF,"0"],[fe.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},ad={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},ud={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(fe.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},rd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},dd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SETTING+fe.Msg.MIXLY_BUILDIN_LED+fe.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},ld={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(fe.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(fe.Msg.MIXLY_LCD_SETCOLOR).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_LIGHT_RED,"1"],[fe.Msg.MIXLY_LIGHT_GREEN,"2"],[fe.Msg.MIXLY_LIGHT_BLUE,"3"],[fe.Msg.MIXLY_LIGHT_YELLOW,"4"],[fe.Msg.MIXLY_LIGHT_CYAN,"5"],[fe.Msg.MIXLY_LIGHT_PURPLE,"6"],[fe.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Id={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING).appendField(fe.Msg.MIXLY_BUILDIN_LED).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_RED,"r"],[fe.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},Md={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_BUILDIN_LED).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_RED,"r"],[fe.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(fe.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},Td={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_BUILDIN_LED).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_RED,"r"],[fe.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},hd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING).appendField(fe.Msg.MIXLY_BUILDIN_LED).appendField(new fe.FieldDropdown([[fe.Msg.COLOUR_RGB_RED,"r"],[fe.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SETTING+fe.Msg.MIXLY_BUILDIN_LED+fe.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},md={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(new fe.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},Ed={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Fe.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Od={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Rd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_DURATION).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},cd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(fe.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.PYTHON_RANGE_STEP).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},gd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_WRI)}},Cd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Fe.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(fe.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Sd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Ad={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(fe.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.PYTHON_RANGE_STEP).appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ld={init:function(){this.setColour(_d),this.appendValueInput("TICKS").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(fe.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(fe.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Nd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Dd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_RESET)}},fd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Fd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Pd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yd={init:function(){this.setColour(_d),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},vd={init:function(){this.setColour(_d),this.appendValueInput("LIST").appendField(fe.Msg.MIXLY_BACKSTAGE+fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Xd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MOTOR_DC).appendField(new fe.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"CW"],[fe.Msg.ANTI_CLOCKWISE,"CCW"],[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yd={init:function(){this.setColour(_d),this.appendDummyInput().appendField("MixGo Car").appendField(new fe.FieldDropdown([[fe.Msg.blockpy_forward,"F"],[fe.Msg.blockpy_backward,"B"],[fe.Msg.blockpy_left,"L"],[fe.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xd={init:function(){this.setColour(_d),this.appendDummyInput("").appendField("MixGo Car").appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},bd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MOTOR_DC).appendField(new fe.FieldDropdown([[fe.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[fe.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"CW"],[fe.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MOTOR_DC).appendField(new fe.FieldDropdown([[fe.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[fe.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_STOP).appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Gd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(new fe.FieldDropdown([[fe.Msg.blockpy_forward,"F"],[fe.Msg.blockpy_backward,"B"],[fe.Msg.blockpy_left,"L"],[fe.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[fe.Msg.MIXLY_SPEED,"SPEED"],[fe.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ud={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXBOT).appendField(fe.Msg.MIXLY_MOTOR).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"1"],[fe.Msg.TEXT_TRIM_RIGHT,"2"],[fe.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[fe.Msg.MIXLY_SPEED,"SPEED"],[fe.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Hd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[fe.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.BITBOT).appendField(new fe.FieldDropdown([[fe.Msg.blockpy_forward,"F"],[fe.Msg.blockpy_backward,"B"],[fe.Msg.blockpy_left,"L"],[fe.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.BITBOT).appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.BITBOT).appendField(fe.Msg.MIXLY_MOTOR).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"0"],[fe.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"CW"],[fe.Msg.ANTI_CLOCKWISE,"CCW"],[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jd={init:function(){this.setColour(_d),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},Qd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},qd={init:function(){this.setColour(_d),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_SETTING+fe.Msg.MIXLY_MIXBOT_BUZZER+fe.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},zd={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_MIXBOT_BUZZER+fe.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},jd={init:function(){this.setColour(_d),this.appendValueInput("PATH").appendField(fe.Msg.MIXLY_RECORD_AUDIO).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(fe.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$d={init:function(){this.setColour(_d),this.appendValueInput("PATH").appendField(fe.Msg.MIXLY_PLAY_AUDIO).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Zd={init:function(){this.setColour(_d),this.appendValueInput("PATH").appendField(fe.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},el={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(fe.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},tl={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},il={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.ME_GO_MOTOR_EXTERN).appendField(fe.Msg.PIN_NUMBERING);switch(Fe.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.blynk_IOT_IR_POWER+fe.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},nl={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.ME_GO_MOTOR_EXTERN).appendField(fe.Msg.PIN_NUMBERING);switch(Fe.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new fe.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.blynk_IOT_IR_POWER+fe.Msg.MIXLY_PINMODEOUT+fe.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},sl={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.ME_GO_MOTOR_EXTERN).appendField(fe.Msg.MIXLY_ALL+fe.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(fe.ALIGN_RIGHT).appendField(fe.Msg.blynk_IOT_IR_POWER+fe.Msg.MIXLY_PINMODEOUT+fe.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},_l={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.ME_GO_MOTOR_EXTERN).appendField(new fe.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(fe.ALIGN_RIGHT).appendField(fe.Msg.blynk_IOT_IR_POWER+fe.Msg.MIXLY_PINMODEOUT+fe.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},ol={init:function(){this.setColour(_d),this.appendDummyInput().appendField(fe.Msg.ANALOG+fe.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(fe.Msg.MIXLY_RELEASE).appendField(new fe.FieldDropdown([[fe.Msg.MICROPYTHON_DISPLAY_YES,"True"],[fe.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.ANALOG+fe.Msg.MIXLY_KEYBOARD_INPUT)}},pl={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SPECIAL_KEY).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[fe.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[fe.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[fe.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[fe.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[fe.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[fe.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[fe.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[fe.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},al={init:function(){this.setColour(_d),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GENERAL_KEY).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},ul={init:function(){this.setColour(_d),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new fe.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(fe.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},HE={init:function(){this.jsonInit({colour:YE,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:fe.Msg.MIXLY_MICROBIT_Built_in_image1,message0:fe.Msg.MIXLY_MICROBIT_Built_in_image})}},kE={init:function(){this.setColour(YE),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new fe.FieldDropdown(Fe.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},WE={init:function(){this.setColour(YE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(fe.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new fe.FieldDropdown(WE.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":fe.Msg.MIXLY_MICROBIT_image_add,"-":fe.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[fe.Msg.MICROBIT_DISPLAY_UNION,"add"],[fe.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},KE={init:function(){this.setColour(YE),this.appendValueInput("A").setCheck("esp32_image").appendField(fe.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},JE={init:function(){this.setColour(YE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_LET2).appendField(new fe.FieldDropdown(JE.OPERATORS),"OP"),this.appendValueInput("val").appendField(fe.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=fe.Msg.DISPLAY_IMAGE_LET,n=fe.Msg.DISPLAY_IMAGE_LET2,s=fe.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:fe.Msg.MIXLY_UP,shift_down:fe.Msg.MIXLY_DOWN,shift_left:fe.Msg.MIXLY_LEFT,shift_right:fe.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[fe.Msg.MIXLY_UP,"shift_up"],[fe.Msg.MIXLY_DOWN,"shift_down"],[fe.Msg.MIXLY_LEFT,"shift_left"],[fe.Msg.MIXLY_RIGHT,"shift_right"]]},QE={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},qE={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},zE={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},jE={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},$E={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Clear_display)}},ZE={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_SHOW+fe.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},tO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(tO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},iO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},nO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(nO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},sO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},_O={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(_O.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},oO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.OLED_SET_FONT).appendField(new fe.FieldDropdown(oO.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+fe.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+fe.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+fe.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},pO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.OLED_BITMAP_OR_STRING)}},aO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.OLED_BITMAP_OR_STRING)}},uO={init:function(){this.setColour(YE),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(fe.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.OLED_BITMAP_OR_STRING)}},rO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(fe.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(fe.Msg.TEXT_CENTER).appendField(new fe.FieldDropdown([[fe.Msg.MICROPYTHON_DISPLAY_YES,"True"],[fe.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},dO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(fe.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},lO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IO={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},MO={init:function(){this.jsonInit({colour:YE,args0:[{name:"state",options:[[fe.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[fe.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[fe.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[fe.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:fe.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},TO={init:function(){this.jsonInit({colour:YE,args0:[{name:"state",options:[[fe.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[fe.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[fe.Msg.mpython_vertical,"0"],[fe.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:fe.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},hO={init:function(){this.jsonInit({colour:YE,args0:[{name:"state",options:[[fe.Msg.mpython_display_hline_1,"1"],[fe.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.mpython_display_line_TOOLTIP,message0:fe.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},mO={init:function(){this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new fe.FieldDropdown(mO.IMAGES),"path"),this.setColour(YE),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},EO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},OO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(OO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},RO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},cO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},gO={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},CO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new fe.FieldDropdown(CO.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[fe.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[fe.Msg.CLOCKWISE+"90"+fe.Msg.blockpy_setheading_degree,"1"],[fe.Msg.CLOCKWISE+"180"+fe.Msg.blockpy_setheading_degree,"2"],[fe.Msg.CLOCKWISE+"270"+fe.Msg.blockpy_setheading_degree,"3"]]},SO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new fe.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AO={init:function(){this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(fe.inputs.Align.CENTRE).appendField(new fe.FieldBitmap(AO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(YE),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},LO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},NO={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(fe.Msg.MIXLY_AipImageClassify_Image+fe.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},DO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(fe.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(fe.Msg.TEXT_CENTER).appendField(new fe.FieldDropdown([[fe.Msg.MICROPYTHON_DISPLAY_YES,"True"],[fe.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},fO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},FO={init:function(){this.jsonInit({colour:YE,args0:[{name:"shape",options:[[fe.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[fe.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:fe.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},PO={init:function(){this.jsonInit({colour:YE,args0:[{name:"dir_h_v",options:[[fe.Msg.mpython_vertical,"0"],[fe.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:fe.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},YO={init:function(){this.jsonInit({colour:YE,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,tooltip:fe.Msg.mpython_display_line_TOOLTIP,message0:fe.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},vO={init:function(){this.setColour(YE),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(fe.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},XO={init:function(){this.setColour(YE),this.appendValueInput("x").setCheck(Number).appendField(fe.Msg.MIXLY_LCD_SETCOLOR).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},yO={init:function(){this.setColour(YE),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xO={init:function(){this.setColour(YE),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(fe.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bO={init:function(){this.setColour(YE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VO={init:function(){this.setColour(YE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(fe.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(fe.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(fe.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},BO={init:function(){this.setColour(YE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},GO={init:function(){this.setColour(YE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(fe.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},UO={init:function(){this.jsonInit({colour:YE,args0:[{name:"shape",options:[[fe.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[fe.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:fe.Msg.mpython_HELPURL,message0:fe.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},wO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.DRAW_POINTER).appendField(fe.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(fe.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.DRAW_POINTER_TOOLTIP)}},HO={init:function(){this.setColour(YE),this.appendDummyInput().appendField(fe.Msg.DRAW_POINTER).appendField(fe.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(fe.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.DRAW_POINTER_TOOLTIP)}},kO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},WO={init:function(){this.setColour(YE),this.appendValueInput("direct").appendField(fe.Msg.OLED_BITMAP).appendField(fe.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},KO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP).appendField(fe.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ERROR_RATE).appendField(new fe.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(fe.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Fe.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(fe.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JO={init:function(){this.setColour(YE),this.appendValueInput("data").appendField(fe.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},QO={init:function(){yE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qO={init:function(){BE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zO={init:function(){JE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},jO={init:function(){zE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$O={init:function(){jE.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},ZO={init:function(){$E.init.call(this),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},eR=180,tR={init:function(){this.setColour(eR),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(fe.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_LET2).appendField(new fe.FieldDropdown(tR.OPERATORS),"OP"),this.appendValueInput("val").appendField(fe.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=fe.Msg.DISPLAY_IMAGE_LET,n=fe.Msg.DISPLAY_IMAGE_LET2,s=fe.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:fe.Msg.MIXLY_UP,down:fe.Msg.MIXLY_DOWN,left:fe.Msg.MIXLY_LEFT,right:fe.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[fe.Msg.MIXLY_UP,"up"],[fe.Msg.MIXLY_DOWN,"down"],[fe.Msg.MIXLY_LEFT,"left"],[fe.Msg.MIXLY_RIGHT,"right"]]},iR={init:function(){this.setColour(eR),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(fe.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new fe.FieldDropdown(iR.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":fe.Msg.MIXLY_MICROBIT_image_add,"-":fe.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[fe.Msg.MICROBIT_DISPLAY_UNION,"+"],[fe.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},nR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+fe.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new fe.FieldDropdown(nR.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+fe.Msg.MIXLY_MICROBIT_IMAGE+{height:fe.Msg.MIXLY_HEIGHT,width:fe.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[fe.Msg.MIXLY_HEIGHT,"height"],[fe.Msg.MIXLY_WIDTH,"width"]]},sR={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(fe.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RECT).appendField(new fe.FieldDropdown(sR.STATUS),"OP"),this.jsonInit({message0:fe.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_OLED_RECT)},STATUS:[[fe.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[fe.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},_R={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(fe.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new fe.FieldDropdown(_R.STATUS),"OP"),this.jsonInit({message0:fe.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[fe.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[fe.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},oR={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(fe.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_DISPLAY_DRAW+fe.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new fe.FieldDropdown(oR.STATUS),"OP"),this.jsonInit({message0:fe.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(fe.Msg.MIXLY_DISPLAY_DRAW+fe.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[fe.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[fe.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},pR="#777777",aR={init:function(){this.setColour(pR),this.appendDummyInput("").appendField("from ").appendField(new fe.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new fe.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(pR),this.appendDummyInput("").appendField("import ").appendField(new fe.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rR={init:function(){this.setColour(pR),this.appendDummyInput("").appendField(new fe.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new fe.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},jR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},$R={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},ZR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},ec={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(fe.Msg.MIXLY_WIFI_USERNAME).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(fe.Msg.MIXLY_IOT_PASSWORD).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_PROJECT).setAlign(fe.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(fe.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},ic={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(fe.Msg.HTML_BODY),this.appendDummyInput().appendField(fe.Msg.MIXLY_Service_quality_display).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_AT_MOST_ONCE,"0"],[fe.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},nc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_SUBSCRIBE+fe.Msg.MIXLY_MICROBIT_MSG).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(fe.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},sc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_c={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(fe.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},ac={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},uc={init:function(){this.setColour(kR),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},rc={init:function(){this.setColour(kR),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},dc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},lc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO").appendField(fe.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(fe.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Ic={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+fe.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(fe.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(fe.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tc={init:function(){this.VISITOR_ID=Fe.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(kR),this.appendDummyInput("").appendField(new fe.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},hc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MixIO").appendField(fe.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},mc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("HTTP"+fe.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(fe.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(fe.Msg.MIXLY_REQUESTS_GET).appendField(fe.Msg.MIXLY_GET_CURRENT_TIME).appendField(fe.Msg.MIXLY_OPEN_DEBUG).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ec={init:function(){this.setColour(kR),this.appendDummyInput().appendField("HTTP"+fe.Msg.MIXLY_Client).appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_REQUESTS_LEN,"client_len"],[fe.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[fe.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Oc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MQTT"+fe.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(fe.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(fe.Msg.MIXLY_INIT_SUBSCRIBE).appendField(fe.Msg.MQTT_Topic).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(fe.Msg.MIXLY_OPEN_DEBUG).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[fe.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("MQTT"+fe.Msg.MIXLY_Client).appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_REQUESTS_LEN,"client_len"],[fe.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[fe.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},cc=WR,gc=KR,Cc=JR,Sc=QR,Ac=zR,Lc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(fe.Msg.MODEL_NAME).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(fe.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nc=Lc,Dc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(fe.Msg.MIXLY_API_PRIVATE_KEY).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(fe.Msg.MODEL_NAME).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(fe.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(fe.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fc={init:function(){this.setColour(kR),this.appendDummyInput().appendField(fe.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(fe.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},Pc={init:function(){this.setColour(kR),this.appendDummyInput().appendField("Ollama "+fe.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yc={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${fe.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vc={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${fe.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(fe.inputs.Align.RIGHT).appendField(`MixIO ${fe.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(fe.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},xc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},bc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(fe.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(fe.inputs.Align.RIGHT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[fe.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},Vc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(fe.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bc=225,Gc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(fe.Msg.MIXLY_NETWORK_MODE).appendField(new fe.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Uc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[fe.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=fe.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:fe.Msg.MIXLY_NETWORK_WIFI_OPEN,False:fe.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},wc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},Hc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:fe.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},kc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(fe.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(fe.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},Wc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_NETWORK_WIFI_CONNECT+fe.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},Kc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[fe.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[fe.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return fe.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:fe.Msg.MIXLY_ESP32_NETWORK_IP,1:fe.Msg.MIXLY_ESP32_NETWORK_MASK,2:fe.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},Jc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},Qc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[fe.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},qc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(fe.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(fe.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},zc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},jc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new fe.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},$c={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},Zc={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},eg={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},tg={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},ig={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},ng={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},sg={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},_g={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},og={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},pg={init:function(){this.setColour(Bc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},ag={init:function(){this.setColour(Bc),this.appendValueInput("DOMAIN").appendField(fe.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(fe.Msg.blockpy_REQUESTS_GET).appendField(new fe.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ug={init:function(){this.appendValueInput("VAL"),this.setColour(Bc),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_GET).appendField(new fe.FieldDropdown(ug.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:fe.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:fe.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:fe.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[fe.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},rg={init:function(){this.appendValueInput("VAR").appendField(fe.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(Bc),this.appendDummyInput("").appendField(fe.Msg.blockpy_CONDUCT).appendField(new fe.FieldDropdown(rg.METHOD),"DIR"),this.appendDummyInput("").appendField(fe.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:fe.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:fe.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},dg={init:function(){this.setColour(Bc),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(fe.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},lg={init:function(){this.setColour(Bc),this.appendDummyInput("").appendField(new fe.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},Ig="#3288dd",Mg={init:function(){this.setColour(Ig),this.appendValueInput("URL").appendField(fe.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(fe.Msg.blockpy_CONDUCT).appendField(new fe.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(fe.Msg.blockpy_REQUESTS).appendField(fe.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Tg={init:function(){this.setColour(Ig),this.appendValueInput("URL").appendField(fe.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(fe.Msg.blockpy_CONDUCT).appendField(new fe.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(fe.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(fe.Msg.blockpy_REQUESTS+fe.Msg.OLED_STRING),this.appendDummyInput("").appendField(fe.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},hg={init:function(){this.appendValueInput("VAL"),this.setColour(Ig),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_GET).appendField(new fe.FieldDropdown(hg.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[fe.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[fe.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[fe.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},mg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(fe.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(fe.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(fe.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(fe.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Eg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_SERVER).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(fe.Msg.MIXLY_EMQX_PORT).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(fe.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(fe.Msg.MIXLY_WIFI_USERNAME).setAlign(fe.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(fe.Msg.MIXLY_IOT_PASSWORD).setAlign(fe.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Og={init:function(){this.setColour(Ig),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_SUBSCRIBE+fe.Msg.MIXLY_MICROBIT_MSG).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(fe.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},Rg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_SUBSCRIBE+fe.Msg.MIXLY_MICROBIT_MSG).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(fe.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(fe.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(fe.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(fe.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gg={init:function(){this.setColour(Ig),this.appendDummyInput().appendField("mqtt"+fe.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Cg=100,Sg={init:function(){this.setColour(Cg),this.appendValueInput("I2CSUB").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ag={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(fe.Msg.MOTOR_DC).appendField(fe.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.CLOCKWISE,"CW"],[fe.Msg.ANTI_CLOCKWISE,"CCW"],[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ng={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(fe.Msg.MOTOR_DC).appendField(fe.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(fe.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_MOVE)}},fg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Fg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+fe.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pg={init:function(){this.setColour(Cg),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+fe.Msg.MIXLY_SERVO).appendField(fe.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET+fe.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yg="#A58C5B",vg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_BUTTON).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(fe.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SENOR_IS_PRESSED)}},Xg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_BUTTON).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(fe.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SENOR_WAS_PRESSED)}},yg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_BUTTON).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(fe.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.PROCEDURES_DEFRETURN_RETURN+fe.Msg.MIXLY_BUTTON+fe.Msg.MIXLY_GET_PRESSES)}},xg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_BUTTON).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[fe.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[fe.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},bg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_shake,"shake"],[fe.Msg.MIXLY_UP,"up"],[fe.Msg.MIXLY_DOWN,"down"],[fe.Msg.MIXLY_LEFT,"left"],[fe.Msg.MIXLY_RIGHT,"right"],[fe.Msg.MIXLY_MICROBIT_face_up,"face up"],[fe.Msg.MIXLY_MICROBIT_face_down,"face down"],[fe.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=fe.Msg.MIXLY_MICROBIT_JS_CURRENT,n=fe.Msg.MSG.catSensor,s=fe.Msg.MIXLY_MICROBIT_JS_STATE,_=fe.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:fe.Msg.MIXLY_MICROBIT_shake,up:fe.Msg.MIXLY_UP,down:fe.Msg.MIXLY_DOWN,left:fe.Msg.MIXLY_LEFT,right:fe.Msg.MIXLY_RIGHT,"face up":fe.Msg.MIXLY_MICROBIT_face_up,"face down":fe.Msg.MIXLY_MICROBIT_face_down,freefall:fe.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},Vg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new fe.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=fe.Msg.MIXLY_MICROBIT_Direction,s=fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":fe.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Bg={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Gg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField(new fe.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new fe.FieldDropdown(Gg.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:fe.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[fe.Msg.MIXLY_GETTEMPERATUE,"temperature"],[fe.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Ug={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},wg={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},Hg={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"left"],[fe.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(fe.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=fe.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=fe.Msg.MIXLY_ESP32_NEAR;return i+{left:fe.Msg.TEXT_TRIM_LEFT,right:fe.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},kg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[fe.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":fe.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":fe.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},Wg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[fe.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Kg={init:function(){this.setColour(Yg),this.appendValueInput("PIN",Number).appendField("DS18X20 "+fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},Jg={init:function(){this.setColour(Yg),this.appendDummyInput("").appendField("LM35"+fe.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(fe.Msg.MIXLY_TOOLTIP_LM35)}},Qg={init:function(){this.setColour(Yg),this.appendValueInput("I2CSUB").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[fe.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[fe.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[fe.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[fe.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[fe.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[fe.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[fe.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[fe.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[fe.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[fe.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[fe.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[fe.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[fe.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[fe.Msg.HTML_COLOUR+"、"+fe.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+fe.Msg.MIXLY_NEXT+"、"+fe.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[fe.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[fe.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[fe.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[fe.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[fe.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},qg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(fe.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+fe.Msg.MIXLY_DELAY_TIME_RANGE)}},zg={init:function(){this.setColour(Yg),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RADAR).appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(fe.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+fe.Msg.MIXLY_DELAY_TIME_RANGE)}},jg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},$g={init:function(){this.setColour(Yg),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RADAR).appendField(fe.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Zg={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},eC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_HELLO_XIAOZHI,"1"],[fe.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[fe.Msg.MIXLY_THE_FIRST,"3"],[fe.Msg.MIXLY_THE_SECOND,"4"],[fe.Msg.MIXLY_THE_THIRD,"5"],[fe.Msg.MIXLY_THE_FOURTH,"6"],[fe.Msg.MIXLY_THE_FIFTH,"7"],[fe.Msg.MIXLY_THE_SIXTH,"8"],[fe.Msg.MIXLY_THE_SEVENTH,"9"],[fe.Msg.MIXLY_THE_EIGHTH,"10"],[fe.Msg.MIXLY_THE_NINTH,"11"],[fe.Msg.MIXLY_THE_TENTH,"12"],[fe.Msg.MIXLY_THE_ELEVENTH,"13"],[fe.Msg.MIXLY_THE_TWELFTH,"14"],[fe.Msg.MIXLY_THE_13TH,"15"],[fe.Msg.MIXLY_THE_14TH,"16"],[fe.Msg.MIXLY_THE_15TH,"17"],[fe.Msg.MIXLY_THE_16TH,"18"],[fe.Msg.MIXLY_THE_17TH,"19"],[fe.Msg.MIXLY_THE_18TH,"20"],[fe.Msg.MIXLY_THE_19TH,"21"],[fe.Msg.MIXLY_THE_20TH,"22"],[fe.Msg.MIXLY_Turn_on_the_lights,"23"],[fe.Msg.MIXLY_Turn_off_the_lights,"24"],[fe.Msg.MIXLY_Turn_up_the_brightness,"25"],[fe.Msg.MIXLY_Turn_down_the_brightness,"26"],[fe.Msg.MIXLY_Set_it_to_red,"27"],[fe.Msg.MIXLY_Set_it_to_orange,"28"],[fe.Msg.MIXLY_Set_it_to_yellow,"29"],[fe.Msg.MIXLY_Set_it_to_green,"30"],[fe.Msg.MIXLY_Set_it_to_cyan,"31"],[fe.Msg.MIXLY_Set_it_to_blue,"32"],[fe.Msg.MIXLY_Set_it_to_purple,"33"],[fe.Msg.MIXLY_Set_it_to_white,"34"],[fe.Msg.MIXLY_Turn_on_the_fan,"35"],[fe.Msg.MIXLY_Turn_off_the_fan,"36"],[fe.Msg.MIXLY_First_gear,"37"],[fe.Msg.MIXLY_Wind_speed_second,"38"],[fe.Msg.MIXLY_Third_gear,"39"],[fe.Msg.MIXLY_Previous,"40"],[fe.Msg.MIXLY_Next_page,"41"],[fe.Msg.MIXLY_Show_smiley_face,"42"],[fe.Msg.MIXLY_Show_crying_face,"43"],[fe.Msg.MIXLY_Show_love,"44"],[fe.Msg.MIXLY_Close_display,"45"],[fe.Msg.MIXLY_Start_execution,"46"],[fe.Msg.MIXLY_FORWARD,"47"],[fe.Msg.MIXLY_BACKWARD,"48"],[fe.Msg.MIXLY_TURNLEFT,"49"],[fe.Msg.MIXLY_TURNRIGHT,"50"],[fe.Msg.MIXLY_STOP,"51"],[fe.Msg.MIXLY_Accelerate,"52"],[fe.Msg.MIXLY_retard,"53"],[fe.Msg.ROTATION_FORWARD,"54"],[fe.Msg.ROTATION_BACKWARD,"55"],[fe.Msg.MIXLY_Query_temperature,"56"],[fe.Msg.MIXLY_Query_humidity,"57"],[fe.Msg.MIXLY_Query_brightness,"58"],[fe.Msg.MIXLY_Query_sound,"59"],[fe.Msg.MIXLY_Query_time,"60"],[fe.Msg.MIXLY_Query_distance,"61"],[fe.Msg.MIXLY_Query_pressure,"62"],[fe.Msg.MIXLY_Query_key,"63"],[fe.Msg.MIXLY_Query_touch,"64"],[fe.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(fe.Msg.MIXLY_WHETHER+fe.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},tC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[fe.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[fe.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},iC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MP3_PLAY).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[fe.Msg.MIXLY_WIND_SPEED,"154"],[fe.Msg.MIXLY_HYETAL,"155"],[fe.Msg.MIXLY_TEMPERATURE,"156"],[fe.Msg.MIXLY_Humidity,"157"],[fe.Msg.MIXLY_Altitude,"158"],[fe.Msg.MIXLY_SOUND,"159"],[fe.Msg.MIXLY_BRIGHTNESS,"160"],[fe.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[fe.Msg.MIXLY_SERVO,"162"],[fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[fe.Msg.MIXLY_BUTTON2,"164"],[fe.Msg.MIXLY_ESP32_TOUCH,"165"],[fe.Msg.MIXLY_PAY,"166"],[fe.Msg.MIXLY_CARSH_CHANGE,"167"],[fe.Msg.MIXLY_COUNTDOWN,"168"],[fe.Msg.MIXLY_TIMING,"169"],[fe.Msg.MIXLY_AT_THE_MOMENT,"170"],[fe.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[fe.Msg.MIXLY_FORWARD,"172"],[fe.Msg.MIXLY_BACKWARD,"173"],[fe.Msg.MIXLY_TURNLEFT,"174"],[fe.Msg.MIXLY_TURNRIGHT,"175"],[fe.Msg.MIXLY_STOP,"176"],[fe.Msg.MIXLY_Accelerate,"177"],[fe.Msg.MIXLY_retard,"178"],[fe.Msg.ROTATION_FORWARD,"179"],[fe.Msg.ROTATION_BACKWARD,"180"],[fe.Msg.TUPLE_JOIN,"181"],[fe.Msg.MIXLY_SHOW,"182"],[fe.Msg.MIXLY_LAMPLIGHT,"183"],[fe.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(fe.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(fe.Msg.MIXLY_UNIT).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[fe.Msg.MIXLY_YEAR,"117"],[fe.Msg.MIXLY_MONTH,"118"],[fe.Msg.MIXLY_DAY,"119"],[fe.Msg.MIXLY_HOUR,"120"],[fe.Msg.MIXLY_MINUTE,"121"],[fe.Msg.MIXLY_SECOND,"122"],[fe.Msg.MIXLY_WEEK2,"123"],[fe.Msg.MIXLY_RMB_UNIT,"124"],[fe.Msg.blockpy_setheading_degree,"125"],[fe.Msg.MIXLY_GEAR,"126"],[fe.Msg.MIXLY_LAYER,"127"],[fe.Msg.MIXLY_GRAM,"128"],[fe.Msg.MIXLY_METER,"129"],[fe.Msg.MIXLY_CENTIMETER,"130"],[fe.Msg.MIXLY_MILLIMETER,"131"],[fe.Msg.MIXLY_LUMEN,"132"],[fe.Msg.MIXLY_DECIBEL,"133"],[fe.Msg.MIXLY_hectopascal,"134"],[fe.Msg.MIXLY_PERCENT,"135"],[fe.Msg.MIXLY_CELSIUS,"136"],[fe.Msg.MIXLY_METER_PER_SEC,"137"],[fe.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[fe.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[fe.Msg.MIXLY_SUCCESS,"140"],[fe.Msg.MIXLY_FAILED,"141"],[fe.Msg.MIXLY_WRONG,"142"],[fe.Msg.MIXLY_GOOD,"143"],[fe.Msg.MIXLY_blockpy_set_add,"144"],[fe.Msg.MIXLY_DECREASE,"145"],[fe.Msg.COLOUR_RGB_RED,"146"],[fe.Msg.COLOUR_RGB_ORANGE,"147"],[fe.Msg.COLOUR_YELLOW,"148"],[fe.Msg.COLOUR_RGB_GREEN,"149"],[fe.Msg.COLOUR_CYAN,"150"],[fe.Msg.COLOUR_RGB_BLUE,"151"],[fe.Msg.COLOUR_RGB_PURPLE,"152"],[fe.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},nC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.LISTS_SET_INDEX_SET+fe.Msg.MIXLY_SYSTEM+fe.Msg.MIXLY_CMD).appendField(new fe.FieldDropdown([[fe.Msg.MILXY_ENTER_WAKE_UP,"1"],[fe.Msg.MIXLY_INCREASE_VOLUME,"202"],[fe.Msg.MIXLY_REDUCE_VOLUME,"203"],[fe.Msg.MIXLY_MAX_VOLUME,"204"],[fe.Msg.MIXLY_MINIMUM,"205"],[fe.Msg.MIXLY_OPEN_RESPONSE,"206"],[fe.Msg.MIXLY_CLOSE_RESPONSE,"207"],[fe.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},sC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[fe.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[fe.Msg.MIXLY_ESP32_MAX30102_IR+","+fe.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},_C={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[fe.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[fe.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},pC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.HTML_COLOUR+fe.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GET+fe.Msg.HTML_COLOUR,"[2]"],[fe.Msg.MIXLY_GET+fe.Msg.MIXLY_IR_STRENGTH,"[1]"],[fe.Msg.MIXLY_GET+fe.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},aC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.HTML_COLOUR+fe.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GET+"RGB"+fe.Msg.HTML_COLOUR,"0"],[fe.Msg.MIXLY_GET+fe.Msg.MIXLY_RGB_RAW,"1"],[fe.Msg.MIXLY_GET_ENV_LIGHT+fe.Msg.MIXLY_BRIGHTNESS,"2"],[fe.Msg.GET_IR_STRENGTH+fe.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},uC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GET_ENV_LIGHT,"E"],[fe.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},rC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},dC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"temperature"],[fe.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},lC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"temperature"],[fe.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},IC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETPRESSURE,"pressure()"],[fe.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[fe.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},MC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETPRESSURE,"pressure()"],[fe.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[fe.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},TC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETPRESSURE,"pressure()"],[fe.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[fe.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},hC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(fe.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(fe.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},mC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MIXGOPE_FIELD+fe.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[fe.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},EC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_shake,"shake"],[fe.Msg.MIXLY_UP,"up"],[fe.Msg.MIXLY_DOWN,"down"],[fe.Msg.MIXLY_LEFT,"left"],[fe.Msg.MIXLY_RIGHT,"right"],[fe.Msg.MIXLY_MICROBIT_face_up,"face up"],[fe.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=fe.Msg.MIXLY_MICROBIT_JS_CURRENT,n=fe.Msg.MSG.catSensor,s=fe.Msg.MIXLY_MICROBIT_JS_STATE,_=fe.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:fe.Msg.MIXLY_MICROBIT_shake,up:fe.Msg.MIXLY_UP,down:fe.Msg.MIXLY_DOWN,left:fe.Msg.MIXLY_LEFT,right:fe.Msg.MIXLY_RIGHT,"face up":fe.Msg.MIXLY_MICROBIT_face_up,"face down":fe.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},OC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new fe.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=fe.Msg.MIXLY_MICROBIT_Direction,s=fe.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":fe.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},RC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_GET+fe.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new fe.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=fe.Msg.MIXLY_MICROBIT_Direction,s=fe.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":fe.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},cC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+fe.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new fe.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=fe.Msg.MIXLY_MICROBIT_Direction,s=fe.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":fe.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},gC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},CC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_GETTEMPERATUE)}},SC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return fe.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:fe.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:fe.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},AC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},LC={init:function(){this.setColour(Yg),this.appendValueInput("SPISUB").appendField(fe.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(fe.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP+fe.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new fe.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},NC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[fe.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},DC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},fC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},FC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(fe.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},PC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField(fe.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(fe.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(fe.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},YC={init:function(){this.setColour(Yg),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RFID_SCAN_OK,"0"],[fe.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[fe.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},vC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_JS_GET).appendField(new fe.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},XC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},yC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},xC={init:function(){this.setColour(Yg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new fe.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1)o=i+".function_call("+_+", "+n+", "+s+", ("+o.join(", ")+"))\n";else if(1==this.itemCount_)o=i+".function_call("+_+", "+n+", "+s+", "+o.join(", ")+")\n";else o=i+".function_call("+_+", "+n+", "+s+")\n";return o},DY=function(e,t){var i=t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC);t.functions_["terminal_widget_vpin_"+i]=`\nALLOWED_COMMANDS_LIST = ['ls', 'lsusb', 'ip a', 'ip abc']\n\n@blynk.handle_event('write V${i}')\ndef write_handler(pin, _values):\n header = ''\n result = ''\n delimiter = '{}\\n'.format('=' * 30)\n if _values and _values[0] in ALLOWED_COMMANDS_LIST:\n cmd_params = _values[0].split(' ')\n try:\n result = subprocess.check_output(cmd_params).decode('utf-8')\n header = '[output]\\n'\n except subprocess.CalledProcessError as exe_err:\n header = '[error]\\n'\n result = 'Return Code: {}\\n'.format(exe_err.returncode)\n except Exception as g_err:\n print("Command caused '{}'".format(g_err))\n elif _values and _values[0] == 'help':\n header = '[help -> allowed commands]\\n'\n result = '{}\\n'.format('\\n'.join(ALLOWED_COMMANDS_LIST))\n\n # communicate with terminal if help or some allowed command\n if result:\n output = '{}{}{}{}'.format(header, delimiter, result, delimiter)\n print(output)\n blynk.virtual_write(pin, output)\n blynk.virtual_write(pin, '\\n')\n`;return""},fY=function(e,t){return"blynk.virtual_sync("+t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC)+")\n"},FY=function(e,t){var i=t.statementToCode(this,"DO");return i=t.addLoopTrap(i,this.id)||t.PASS,t.definitions_.blynk_on_disconnected="@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n"+i,""},PY=function(e,t){var i=t.statementToCode(this,"DO");return i=t.addLoopTrap(i,this.id)||t.PASS,t.definitions_.blynk_on_connected="@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n"+i,""},YY=function(){return"blynk_timer.run()\n"},vY=function(){return"blynk.run()\n"},XY=function(e,t){return"blynk.notify("+t.valueToCode(this,"notification",t.ORDER_ATOMIC)+")\n"},yY=function(e,t){t.definitions_.import_blynktimer="import blynktimer",t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";var i=t.valueToCode(this,"timer_num",t.ORDER_ATOMIC);return`blynk_timer.stop('${i}_blynk_timer${i}')\n`},xY=function(e,t){t.definitions_.import_blynktimer="import blynktimer",t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";return["blynk_timer.get_timers()",t.ORDER_ATOMIC]},bY=function(e,t){t.definitions_.import_blynktimer="import blynktimer";var i=t.valueToCode(this,"Num",t.ORDER_ATOMIC),n=t.valueToCode(this,"period",t.ORDER_ATOMIC),s=this.getFieldValue("Timer_mode"),_=t.statementToCode(this,"DO");return _=t.addLoopTrap(_,this.id)||t.PASS,t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)",t.definitions_["blynktimer_event"+i]=`\n@blynk_timer.register(interval=${n}, run_once=${s})\ndef blynk_timer${i}():\n`+_,""},VY=function(e,t){var i=t.valueToCode(this,"sensor_data",t.ORDER_ATOMIC);return"blynk.virtual_write("+t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC)+", "+i+")\n"},BY=function(e,t){var i=t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC),n=t.statementToCode(this,"DO");return n=t.addLoopTrap(n,this.id)||t.PASS,t.definitions_["blynk_VIRTUAL_WRITE_"+i]="@blynk.handle_event('write V"+i+"')\ndef write_virtual_pin_handler(pin, _value):\n for i in range(0, len(_value)):\n try: _value[i] = eval(_value[i])\n except: pass\n if len(_value) == 1: _value = _value[0]\n"+n,""},GY=function(e,t){var i=t.valueToCode(this,"body",t.ORDER_ATOMIC),n=t.valueToCode(this,"subject",t.ORDER_ATOMIC);return`blynk.email(${t.valueToCode(this,"TargetEmail",t.ORDER_ATOMIC)}, ${n}, ${i})\n`},UY=function(e,t){var i=t.valueToCode(this,"attribute_value",t.ORDER_ATOMIC);return`blynk.set_property(pin, ${t.valueToCode(this,"attribute_name",t.ORDER_ATOMIC)}, ${i})\n`},wY=function(e,t){t.definitions_.import_BlynkLib="import blynklib";var i=t.valueToCode(this,"server",t.ORDER_ATOMIC),n=t.valueToCode(this,"auth",t.ORDER_ATOMIC),s=t.valueToCode(this,"port",t.ORDER_ATOMIC);return t.definitions_.mpython_blynk_setup="blynk = blynklib.Blynk("+n+", server="+i+", port="+s+")",t.definitions_.blynk_on_connected="\n@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n",t.definitions_.blynk_on_disconnected="\n@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n",""},HY=function(e,t){t.definitions_.import_cc_g1="from cc_g1 import handle";return["handle.read_bat()",t.ORDER_ATOMIC]},kY=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_cc_g1="from cc_g1 import handle",["handle.read_joystick()"+i,t.ORDER_ATOMIC]},WY=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_cc_g1="from cc_g1 import handle",["handle.read_key("+i+")",t.ORDER_ATOMIC]},KY=function(e,t){t.definitions_.import_cc_g1="from cc_g1 import handle";return"handle.shutdown()"},JY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car."+this.getFieldValue("op"),t.ORDER_ATOMIC]},QY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_mini"==i?t.definitions_.import_mini_go_car="from mini_go import car":"mixgo_ce"==i&&(t.definitions_.import_ce_go_car="from ce_go import car"),"car.setonoff("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},qY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car.getrightness("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},zY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car.getonoff("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},jY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),"car.setbrightness("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},$Y=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),'car.move("'+this.getFieldValue("VAR")+'", '+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},ZY=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),'car.move("'+this.getFieldValue("VAR")+'")\n'},ev=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car");var n=this.getFieldValue("wheel"),s=this.getFieldValue("direction");return 0==n&&("CW"==s?s="CCW":"CCW"==s&&(s="CW")),"car.motor(car.MOTO["+n+'], "'+s+'", '+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},tv=function(e,t){var i=this.getFieldValue("mode"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==n?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==n&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i),"hall_"+i+".irq_cb("+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+")\n"},iv=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args"),s=Fe.Boards.getSelectedBoardKey().split(":")[2];"mixgo_me"==s||"mixgo_cc"==s?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==s?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==s&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i);var _=t.valueToCode(this,"num",t.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+_+", distance="+_+")\n":"hall_"+i+".initial("+n+"="+_+")\n"},nv=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args"),s=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==s||"mixgo_cc"==s?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==s?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==s&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i),["hall_"+i+"."+n,t.ORDER_ATOMIC]},sv=function(e,t){var i=this.getFieldValue("key"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.patrol()"+i,t.ORDER_ATOMIC]},_v=function(e,t){var i=this.getFieldValue("key"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.obstacle()"+i,t.ORDER_ATOMIC]},ov=function(e,t){var i=this.getFieldValue("key"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),"car.ir_mode(car."+i+")\n"},pv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa":"mixgo_ce"==i?t.definitions_.import_mixgo_ce_onboard_mxc6655xa="from mixgo_ce import onboard_mxc6655xa":"mixgo_mini"==i&&(t.definitions_.import_mini_onboard_mxc6655xa="from mini_go import onboard_mxc6655xa"),["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),t.ORDER_ATOMIC]},av=function(e,t){var i=this.getFieldValue("key"),n=Fe.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.light()"+i,t.ORDER_ATOMIC]},uv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_car"]="from "+i+" import car";return["car()",t.ORDER_ATOMIC]},rv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+"."+this.getFieldValue("VAR")+"("+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},dv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+"."+this.getFieldValue("VAR")+"()\n"},lv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",[t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+".get_itr_dnum("+this.getFieldValue("key")+")",t.ORDER_ATOMIC]},Iv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",[t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+".get_distance()",t.ORDER_ATOMIC]},Mv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_i2c"]="from "+i+" import onboard_i2c";return["onboard_i2c",t.ORDER_ATOMIC]},Tv=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_i2c"]="from "+i+" import onboard_spi";return["onboard_spi",t.ORDER_ATOMIC]},hv=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"RX",t.ORDER_ATOMIC),n=t.valueToCode(this,"TX",t.ORDER_ATOMIC),s=t.valueToCode(this,"freq",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = machine.SoftI2C(scl = machine.Pin("+n+"), sda=machine.Pin("+i+"), freq="+s+")\n"},mv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readfrom("+t.valueToCode(this,"address",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ev=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".writeto("+t.valueToCode(this,"address",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},Ov=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},Rv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},cv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".available()",t.ORDER_ATOMIC]},gv=function(e,t){var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);t.setups_["setup_i2c_"+i]="Wire.begin("+i+");",t.setups_["setup_i2c_onReceive_"+i]="Wire.onReceive(i2cReceiveEvent_"+i+");";var n="i2cReceiveEvent_"+i,s="void "+n+"(int howMany) {\n"+t.statementToCode(this,"DO")+"}\n";return t.definitions_[n]=s,""},Cv=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"freq",t.ORDER_ATOMIC),s=t.valueToCode(this,"mosi",t.ORDER_ATOMIC),_=t.valueToCode(this,"miso",t.ORDER_ATOMIC);return i+" = machine.SoftSPI(baudrate="+n+", sck=machine.Pin("+t.valueToCode(this,"sck",t.ORDER_ATOMIC)+"), mosi=machine.Pin("+s+"), miso=machine.Pin("+_+"))\n"},Sv=function(e,t){return"spi.init(baudrate="+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},Av=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=bytearray("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},Lv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Nv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Dv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},fv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Fv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+".encode('utf-8'))",t.ORDER_ATOMIC]},Pv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".write_readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+".encode('utf-8'), "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Yv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_onewire="import onewire",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=onewire.OneWire(machine.Pin("+t.valueToCode(this,"BUS",t.ORDER_ATOMIC)+"))\n"},vv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},Xv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".reset()\n"},yv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readbyte()",t.ORDER_ATOMIC]},xv=function(e,t){var i=t.valueToCode(this,"byte",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("op")+"("+i+")\n"},bv=function(e,t){var i=t.valueToCode(this,"byte",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".select_rom("+i+".encode('utf-8'))\n"},Vv=function(e,t){t.definitions_.import_irremote="import irremote";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("type"),s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);if(""==s&&"RC5"==n)var _="ir_rx = irremote.RC5_RX("+i+")\n";else if("RC5"==n)_="ir_rx = irremote.RC5_RX("+i+", "+s+")\n";else if(""==s)_="ir_rx = irremote.NEC_RX("+i+", "+n+")\n";else _="ir_rx = irremote.NEC_RX("+i+", "+n+", "+s+")\n";return _},Bv=function(e,t){return t.definitions_.import_irremote="import irremote",["ir_rx.code["+this.getFieldValue("index")+"]",t.ORDER_ATOMIC]},Gv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_rx.enable("+this.getFieldValue("en")+")\n"},Uv=function(e,t){t.definitions_.import_irremote="import irremote";return["ir_rx.any()",t.ORDER_ATOMIC]},wv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_rx.timeout("+t.valueToCode(this,"time",t.ORDER_ATOMIC)+")\n"},Hv=function(e,t){t.definitions_.import_irremote="import irremote";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("type"),s=t.valueToCode(this,"power",t.ORDER_ATOMIC);if("RC5"==n)var _="ir_tx = irremote.RC5_TX("+i+", "+s+")\n";else _="ir_tx = irremote.NEC_TX("+i+", "+n+", "+s+")\n";return _},kv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit("+t.valueToCode(this,"cmd",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"toggle",t.ORDER_ATOMIC)+")\n"},Wv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit(pulses="+t.valueToCode(this,"LIST",t.ORDER_ATOMIC)+")\n"},Kv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit(raw="+t.valueToCode(this,"raw",t.ORDER_ATOMIC)+")\n"},Jv=function(e,t){t.definitions_.import_irremote="import irremote";return["ir_tx.busy()",t.ORDER_ATOMIC]},Qv=function(e,t){return t.definitions_.import_ble_central="import ble_central",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+" = ble_central.BLESimpleCentral()\n"},qv=function(e,t){t.definitions_.import_ble_peripheral="import ble_peripheral";var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+" = ble_peripheral.BLESimplePeripheral("+i+")\n"},zv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},jv=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".connect("+this.getFieldValue("mode")+"="+i+")\n"},$v=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".disconnect()\n"},Zv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".mac",t.ORDER_ATOMIC]},eX=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".is_connected()",t.ORDER_ATOMIC]},tX=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".send("+i+")\n"},iX=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv()",t.ORDER_ATOMIC]},nX=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},sX=function(e,t){t.definitions_.import_ble_handle="import ble_handle";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);return i+"=ble_handle.Handle()\n"+i+".recv("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},_X=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=radio.ESPNow(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+", txpower="+this.getFieldValue("op")+")\n"},oX=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=radio.ESPNow(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+", txpower="+t.valueToCode(this,"DB",t.ORDER_ATOMIC)+")\n"},pX=function(e,t){return t.definitions_.import_radio="import radio",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".mac",t.ORDER_ATOMIC]},aX=function(e,t){return t.definitions_.import_radio="import radio",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".info()",t.ORDER_ATOMIC]},uX=function(e,t){t.definitions_.import_radio="import radio";var i=this.getFieldValue("mode");return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv()"+i,t.ORDER_ATOMIC]},rX=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".send("+t.valueToCode(this,"mac",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"content",t.ORDER_ATOMIC)+")\n"},dX=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv_cb("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},lX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow()","ESPNow_radio.set_channel(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+")\n"},IX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow()","ESPNow_radio.set_channel(txpower="+this.getFieldValue("op")+")\n"},MX=function(e,t){t.definitions_.import_radio="import radio";var i=t.valueToCode(this,"DB",t.ORDER_ATOMIC);return t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow(channel=1, txpower="+i+")","ESPNow_radio.set_channel("+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+")\n"},TX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()","ESPNow_radio.active("+this.getFieldValue("on_off")+")\n"},hX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()",'ESPNow_radio.send("ffffffffffff",'+t.valueToCode(this,"send",t.ORDER_ATOMIC)+")\n"},mX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";return["ESPNow_radio.recv()",t.ORDER_ATOMIC]},EX=function(e,t){return["ESPNow_radio_msg",t.ORDER_ATOMIC]},OX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.import_ubinascii="import ubinascii",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";var i=t.statementToCode(e,"DO")||t.PASS;return t.definitions_.def_ESPNow_radio_recv="def ESPNow_radio_recv(mac,ESPNow_radio_msg):\n"+i,t.definitions_.def_ESPNow_radio_recv_all="_radio_msg_list = []\ndef ESPNow_radio_recv_callback(mac,ESPNow_radio_msg):\n global _radio_msg_list\n try:\n ESPNow_radio_recv(mac,ESPNow_radio_msg)\n except:\n pass\n if str(ESPNow_radio_msg) in _radio_msg_list:\n eval('radio_recv_' + bytes.decode(ubinascii.hexlify(ESPNow_radio_msg)) + '()')\n",t.definitions_.ESPNow_radio_recv_callback="ESPNow_radio.recv_cb(ESPNow_radio_recv_callback)\n",""};const RX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.import_ubinascii="import ubinascii",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";var i=t.statementToCode(e,"DO")||t.PASS;t.definitions_.def_ESPNow_radio_recv_all="_radio_msg_list = []\ndef ESPNow_radio_recv_callback(mac,ESPNow_radio_msg):\n global _radio_msg_list\n try:\n ESPNow_radio_recv(mac,ESPNow_radio_msg)\n except:\n pass\n if str(ESPNow_radio_msg) in _radio_msg_list:\n eval('radio_recv_' + bytes.decode(ubinascii.hexlify(ESPNow_radio_msg)) + '()')\n",t.definitions_.ESPNow_radio_recv_callback="ESPNow_radio.recv_cb(ESPNow_radio_recv_callback)\n";var n=e.getFieldValue("msg"),s=function(e){for(var t=function(e,t){for(var i=[],n=0,s=0;s>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},PX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},YX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},vX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},XX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},yX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},xX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},bX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},VX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},BX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},GX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},UX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},wX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},HX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},kX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},WX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},KX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},JX=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},QX=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},qX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},zX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},jX=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},$X=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ZX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},ey=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},ty=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},iy=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},ny=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},sy=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},_y=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},oy=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},py=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},ay=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},uy=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},ry=function(e,t){t.definitions_.import_st7789="import st7789";var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},dy=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},ly=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},Iy=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},My=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Ty=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},hy=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},my=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Ey=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},Oy=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},Ry=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},cy=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},gy=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},Cy=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Fe.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},Sy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Ay=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},Ly=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Ny=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Dy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},fy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},Fy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Py=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Yy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},vy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},Xy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},yy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},xy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},by=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},Vy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},By=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},Gy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},Uy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},wy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},Hy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},ky=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},Wy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},Ky=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Jy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},Qy=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},qy=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},vx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},Xx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},yx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},xx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},bx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Vx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Bx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},Gx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},Ux=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},wx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Hx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},kx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},Wx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},Kx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Jx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},Qx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Fe.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},qx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},zx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},jx=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+t.valueToCode(this,"direct",t.ORDER_ATOMIC)+")\n"},$x=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},Zx=By,eb=sx,tb=tx,ib=sx,nb=_x,sb=jy,_b=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},ob=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},pb=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},LH=function(){return"control.reset()\n"},NH=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+")\n"},DH=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+")\n"},fH=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Fe.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},FH=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},PH=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},YH=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},vH=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},XH=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},yH=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},xH=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},bH=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},VH=function(){return"while True:\n pass\n"},BH=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},GH=function(e,t){return t.definitions_.import_os="import os","os.uname()"},UH=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},wH=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},HH=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},kH=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},WH=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},KH=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},JH=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},QH=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},qH=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},zH=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},jH=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},$H=KH,ZH=JH,ek=WH,tk=UH,ik=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},nk=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},sk=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},_k=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},ok=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},pk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},ak=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},uk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},rk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},dk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},lk=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},Ik=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},Mk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},Tk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},hk=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},mk='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:Ek}=Fe,Ok=Ek.render(mk,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:Rk}=Fe,ck=Rk.render(mk,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:gk}=Fe,Ck=gk.render(mk,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),Sk=new fe.Generator("Python");Sk.INDENT=" ",Sk.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),Sk.ORDER_ATOMIC=0,Sk.ORDER_COLLECTION=1,Sk.ORDER_STRING_CONVERSION=1,Sk.ORDER_UNARY_POSTFIX=1,Sk.ORDER_UNARY_PREFIX=2,Sk.ORDER_MEMBER=2.1,Sk.ORDER_FUNCTION_CALL=2.2,Sk.ORDER_EXPONENTIATION=3,Sk.ORDER_UNARY_SIGN=4,Sk.ORDER_BITWISE_NOT=4,Sk.ORDER_MULTIPLICATIVE=5,Sk.ORDER_ADDITIVE=6,Sk.ORDER_BITWISE_SHIFT=7,Sk.ORDER_BITWISE_AND=8,Sk.ORDER_BITWISE_XOR=9,Sk.ORDER_BITWISE_OR=10,Sk.ORDER_RELATIONAL=11,Sk.ORDER_EQUALITY=11,Sk.ORDER_LOGICAL_NOT=12,Sk.ORDER_LOGICAL_AND=13,Sk.ORDER_LOGICAL_OR=14,Sk.ORDER_ASSIGNMENT=14,Sk.ORDER_CONDITIONAL=15,Sk.ORDER_LAMBDA=16,Sk.ORDER_NONE=99,Sk.ORDER_OVERRIDES=[[Sk.ORDER_FUNCTION_CALL,Sk.ORDER_MEMBER],[Sk.ORDER_FUNCTION_CALL,Sk.ORDER_FUNCTION_CALL],[Sk.ORDER_MEMBER,Sk.ORDER_MEMBER],[Sk.ORDER_MEMBER,Sk.ORDER_FUNCTION_CALL]],Sk.init=function(){Sk.PASS=this.INDENT+"pass\n",Sk.definitions_=Object.create(null),Sk.functionNames_=Object.create(null),Sk.setups_=Object.create(null),Sk.loops_=Object.create(null),Sk.codeEnd_=Object.create(null),Sk.variableDB_?Sk.variableDB_.reset():Sk.variableDB_=new Xe(Sk.RESERVED_WORDS_)},Sk.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in Sk.functions_)o.push(Sk.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in Sk.setups_)p.push(Sk.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in Sk.loops_)a.push(Sk.loops_[s]);var u=[];for(var s in Sk.codeEnd_)u.push(Sk.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},Sk.scrubNakedValue=function(e){return e+"\n"},Sk.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},Sk.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},Sk.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=fe.utils.string.wrap(_,Sk.COMMENT_WRAP-3),n+=Sk.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Ak={};Ak["MixGo MINI"]={description:"MicroPython[ESP32C3 MixGo MINI]",digital_pin:Fe.Profile.generate(["0-10","18"]),input_pin:Fe.Profile.generate(["0-10","18"]),output_pin:Fe.Profile.generate(["0-10","18"]),pwm_input:Fe.Profile.generate(["0-10","18"],"pwm","pwm"),analog_input:Fe.Profile.generate(["0-4"],"adc","adc"),pwm_output:Fe.Profile.generate(["0-10","18"],"pwm","pwm"),analog_output:Fe.Profile.generate(["0-4"],"adc","adc"),espnow_channel:Fe.Profile.generate(["1-13"]),haskylens_model:Fe.Profile.generate(["0-4"]),digital:Fe.Profile.generate(["0-10","18"],"pin","pin"),pwm_pin:Fe.Profile.generate(["0-10","18"]),pwm:Fe.Profile.generate(["0-10","18"],"pwm","pwm"),analog_pin:Fe.Profile.generate(["0-4"]),analog:Fe.Profile.generate(["0-4"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Fe.Profile.generate(["0-4"]),exlcdh:Fe.Profile.generate(["0-11"]),exlcdv:Fe.Profile.generate(["0-7"]),brightness:Fe.Profile.generate(["0-9"]),tts_voice:Fe.Profile.generate(["0-16"]),tts_builtin_music:Fe.Profile.generate(["0-47"]),tts_bgmusic:Fe.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["ANGRY","onboard_matrix.ANGRY"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["BIRTHDAY","onboard_music.BIRTHDAY"],["BA_DING","onboard_music.BA_DING"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},Ak["ESP32C2 Generic(2M)"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Fe.Profile.generate(["0-11","18-21"]),input_pin:Fe.Profile.generate(["0-11","18-21"]),output_pin:Fe.Profile.generate(["0-11","18-21"]),pwm_input:Fe.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Fe.Profile.generate(["0-5"],"adc","adc"),pwm_output:Fe.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Fe.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Fe.Profile.generate(["1-13"]),haskylens_model:Fe.Profile.generate(["0-4"]),digital:Fe.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Fe.Profile.generate(["0-11","18-21"]),pwm:Fe.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Fe.Profile.generate(["0-5"]),analog:Fe.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Fe.Profile.generate(["0-4"]),exlcdh:Fe.Profile.generate(["0-31"]),exlcdv:Fe.Profile.generate(["0-11"]),brightness:Fe.Profile.generate(["0-9"]),tts_voice:Fe.Profile.generate(["0-16"]),tts_builtin_music:Fe.Profile.generate(["0-47"]),tts_bgmusic:Fe.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const Lk=Ak,Nk=20,Dk={init:function(){this.setColour(Nk),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_HIGH,"HIGH"],[fe.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},fk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(fe.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},Fk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},Pk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField("DAC"+fe.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(fe.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},Yk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_mSecond,"period"],[fe.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(fe.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},vk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_REF_VOLTAGE+fe.Msg.MIXLY_STAT).appendField(new fe.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},Xk={init:function(){this.setColour(Nk),this.appendValueInput("pin").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(fe.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(fe.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},yk={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MODE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[fe.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[fe.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},xk={init:function(){this.setColour(20),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETUP).appendField(new fe.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROPYTHON_AS).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[fe.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[fe.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[fe.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},bk={init:function(){this.setColour(Nk),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP).appendField(new fe.FieldTextInput("dac#"),"PIN_OBJ").appendField(fe.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+fe.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},Vk={init:function(){this.setColour(Nk),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP).appendField(new fe.FieldTextInput("tc#"),"PIN_OBJ").appendField(fe.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(fe.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){fe.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},Bk={init:function(){this.setColour(Nk),this.appendValueInput("PIN",Number).appendField("PWM"+fe.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(fe.Msg.MIXLY_FREQUENCY+fe.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(fe.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},Gk=xk,Uk=Vk,wk=Xk,Hk=yk,kk=40,Wk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput("").appendField(e).appendField(fe.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETTEMPERATUE,"temperature"],[fe.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:fe.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Kk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput("").appendField(e).appendField(fe.Msg.MIXLY_Altitude+fe.Msg.MSG.catSensor+" HP203X").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_GETPRESSURE,"pressure()"],[fe.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[fe.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField(fe.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(fe.Msg.MIXLY_RFID_READ_CARD_UID),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField("RFID"+fe.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField(fe.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(fe.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},jk={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField(fe.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(fe.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(fe.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(fe.Msg.RETURN_SUCCESS_OR_NOT),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setOutput(!0),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$k={init:function(){if("mixgo_me"==Fe.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(kk),this.appendDummyInput().appendField(e).appendField("RFID"),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_RFID_SCAN_OK,"True"],[fe.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[fe.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.appendDummyInput().appendField(`(${fe.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(fe.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Zk=100,eW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.MIXGO_LEFT_FRONT+fe.Msg.COLOUR_RGB_GREEN+fe.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[fe.Msg.MIXGO_RIGHT_FRONT+fe.Msg.COLOUR_RGB_GREEN+fe.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[fe.Msg.MIXGO_LEFT_BACK+fe.Msg.COLOUR_RGB_GREEN+fe.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[fe.Msg.MIXGO_RIGHT_BACK+fe.Msg.COLOUR_RGB_GREEN+fe.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[fe.Msg.MIXGO_LEFT_FRONT+fe.Msg.COLOUR_RGB_RED+fe.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[fe.Msg.MIXGO_RIGHT_FRONT+fe.Msg.COLOUR_RGB_RED+fe.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[fe.Msg.MIXGO_LEFT_BACK+fe.Msg.COLOUR_RGB_RED+fe.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[fe.Msg.MIXGO_RIGHT_BACK+fe.Msg.COLOUR_RGB_RED+fe.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[fe.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},tW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_SETONOFF)}},iW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},nW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(fe.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_ESP32_LED_GETONOFF)}},sW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(fe.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(fe.Msg.MIXLY_SETTING+fe.Msg.MIXLY_BUILDIN_LED+fe.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},_W={init:function(){this.setColour(Zk),this.appendDummyInput().appendField("ME GO").appendField(new fe.FieldDropdown([[fe.Msg.blockpy_forward,"F"],[fe.Msg.blockpy_backward,"B"],[fe.Msg.blockpy_left,"L"],[fe.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},oW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField("ME GO").appendField(new fe.FieldDropdown([[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},pW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField("ME GO").appendField(fe.Msg.MOTOR_DC).appendField(new fe.FieldDropdown([[fe.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[fe.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[fe.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_Direction).appendField(new fe.FieldDropdown([[fe.Msg.ROTATION_FORWARD,"CW"],[fe.Msg.ROTATION_BACKWARD,"CCW"],[fe.Msg.MOTOR_P,"P"],[fe.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(fe.inputs.Align.RIGHT).appendField(fe.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(fe.Msg.MIXLY_ESP32_INTERRUPT).appendField(fe.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"A"],[fe.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(fe.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},uW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(fe.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"A"],[fe.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new fe.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},rW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(fe.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"A"],[fe.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new fe.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},dW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"[0]"],[fe.Msg.MIXGO_LEFT_MID,"[1]"],[fe.Msg.MIXGO_RIGHT_MID,"[2]"],[fe.Msg.TEXT_TRIM_RIGHT,"[3]"],[fe.Msg.MIXLY_ALL,""]]),"key").appendField(fe.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+fe.Msg.MIXLY_ESP32_NEAR}))}},lW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown([[fe.Msg.MIXGO_LEFT_FRONT,"[0]"],[fe.Msg.MIXGO_RIGHT_FRONT,"[1]"],[fe.Msg.MIXGO_LEFT_BACK,"[3]"],[fe.Msg.MIXGO_RIGHT_BACK,"[2]"],[fe.Msg.MIXLY_ALL,""]]),"key").appendField(fe.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+fe.Msg.MIXLY_ESP32_NEAR}))}},IW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new fe.FieldDropdown([[fe.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[fe.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[fe.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[fe.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[fe.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},MW={init:function(){this.setColour(Zk),this.appendDummyInput("").appendField(fe.Msg.MIXLY_GET_GESTURE).appendField(new fe.FieldDropdown([[fe.Msg.ME_GO_PITCH,"[0]"],[fe.Msg.ME_GO_ROLL,"[1]"],[fe.Msg.ME_GO_PITCH+", "+fe.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},TW={init:function(){this.setColour(Zk),this.appendDummyInput().appendField(fe.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new fe.FieldDropdown([[fe.Msg.TEXT_TRIM_LEFT,"[0]"],[fe.Msg.MIXGO_LEFT_MID,"[1]"],[fe.Msg.MIXGO_RIGHT_MID,"[2]"],[fe.Msg.TEXT_TRIM_RIGHT,"[3]"],[fe.Msg.MIXLY_ALL,""]]),"key").appendField(fe.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return fe.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+fe.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},hW=230,mW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.digital),"PIN"),this.setOutput(!0)}},EW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},OW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},RW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},cW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},gW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},CW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},SW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},AW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},LW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},NW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},DW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},fW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},FW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},PW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},YW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},vW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.analog),"PIN"),this.setOutput(!0)}},XW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},yW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.dac),"PIN"),this.setOutput(!0)}},xW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},bW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},VW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},BW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.pwm),"PIN"),this.setOutput(!0)}},GW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},UW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},wW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.touch),"PIN"),this.setOutput(!0)}},HW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},kW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},WW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},KW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.imglist),"PIN"),this.setOutput(!0)}},JW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.playlist),"PIN"),this.setOutput(!0)}},QW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},qW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},zW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},jW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},$W={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},ZW={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},eK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},tK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},iK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},nK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},sK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},_K={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.one_more),"PIN"),this.setOutput(!0)}},oK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown(Fe.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},pK={init:function(){this.setColour(hW),this.appendDummyInput("").appendField(new fe.FieldDropdown([["0","0"]]),"PIN"),this.setOutput(!0,Number)}},aK=function(e,t){const i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=t.valueToCode(this,"LEDCOUNT",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ws2812x_NeoPixel="from ws2812x import NeoPixel";return`${i} = NeoPixel(machine.Pin(${n}), ${s})\n`},uK=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},rK=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},dK=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},lK=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},IK=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},MK=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},TK=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},hK=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,fe.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},mK=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,fe.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},EK=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},OK=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,fe.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},RK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_ahtx0."+i+"()",t.ORDER_ATOMIC]},cK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_hp203x."+i,t.ORDER_ATOMIC]},gK=function(e,t){t.definitions_.import_mini_g2="import mini_g2";return["mini_g2.varistor()",t.ORDER_ATOMIC]},CK=function(e,t){t.definitions_.import_mini_g2="import mini_g2";var i=Fe.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var n='ext_rfid.read_card(0, x="id")'}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";n='onboard_rfid.read_card(0, x="id")'}return[n,t.ORDER_ATOMIC]},SK=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";s="onboard_rfid.read_card("+n+', x="content")'}return[s,t.ORDER_ATOMIC]},AK=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";_="onboard_rfid.write_card("+s+", "+n+")\n"}return _},LK=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";_="onboard_rfid.write_card("+s+", "+n+")"}return[_,t.ORDER_ATOMIC]},NK=function(e,t){var i=Fe.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";s="onboard_rfid.scan_card()=="+n}return[s,t.ORDER_ATOMIC]},DK=function(e,t){return t.definitions_.import_me_go_car="from me_go import car",["car."+this.getFieldValue("op"),t.ORDER_ATOMIC]},fK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car","car.setonoff("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},FK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car",["car.getrightness("+i+")",t.ORDER_ATOMIC]},PK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car",["car.getonoff("+i+")",t.ORDER_ATOMIC]},YK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car","car.setbrightness("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},vK=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'",'+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},XK=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'")\n'},yK=function(e,t){var i=this.getFieldValue("wheel");t.definitions_.import_me_go_car="from me_go import car";var n=this.getFieldValue("direction");return 0==i&&("CW"==n?n="CCW":"CCW"==n&&(n="CW")),"car.motor(car.MOTO["+i+'],"'+n+'",'+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},xK=function(e,t){var i=this.getFieldValue("mode");return t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,"hall_"+i+".irq_cb("+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+")\n"},bK=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i;var s=t.valueToCode(this,"num",t.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+s+",distance="+s+")\n":"hall_"+i+".initial("+n+"="+s+")\n"},VK=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");return t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,["hall_"+i+"."+n,t.ORDER_ATOMIC]},BK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.patrol()"+i,t.ORDER_ATOMIC]},GK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.obstacle()"+i,t.ORDER_ATOMIC]},UK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car","car.ir_mode(car."+i+")\n"},wK=function(e,t){return t.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa",["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),t.ORDER_ATOMIC]},HK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.light()"+i,t.ORDER_ATOMIC]},kK=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},WK=kK,KK=kK,JK=kK,QK=kK,qK=kK,zK=kK,jK=kK,$K=kK,ZK=kK,eJ=kK,tJ=kK,iJ=kK,nJ=kK,sJ=kK,_J=kK,oJ=kK,pJ=kK,aJ=kK,uJ=kK,rJ=kK,dJ=kK,lJ=kK,IJ=kK,MJ=kK,TJ=kK,hJ=kK,mJ=kK,EJ=kK,OJ=kK,RJ=kK,cJ=kK,gJ=kK,CJ=kK,SJ=kK,AJ=kK,LJ=kK,NJ=kK,DJ=kK,fJ=kK,FJ=kK,PJ=kK,YJ=kK,vJ=kK,XJ=kK,yJ=kK;Object.assign(fe.Variables,Ye),Object.assign(fe.Procedures,Qu),Object.assign(fe.Lang.ZhHans,me),Object.assign(fe.Lang.ZhHant,Ee),Object.assign(fe.Lang.En,Oe),fe.Python=qu,fe.generator=qu,Fe.Profile.default={},Object.assign(Fe.Profile,Lk),Object.assign(Fe.Profile.default,Lk["MixGo CC"]),Object.assign(fe.Blocks,t,i,n,s,_,o,p,a,u,r,d,l,I,G,J,K,x,U,Q,f,P,Y,W,k,w,H,F,D,N,V,b,B,v,X,y,Re,ce,ge,Ce),Object.assign(fe.Python.forBlock,M,T,h,m,E,O,R,c,g,C,S,A,L,ae,Te,Me,se,ue,he,j,$,ee,Ie,le,re,de,Z,z,q,oe,_e,pe,te,ie,ne,Se,Ae,Le,Ne,De)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/main.bundle.29be3cf1.js b/boards/default/micropython_esp32c2/main.bundle.29be3cf1.js deleted file mode 100644 index cfce006e..00000000 --- a/boards/default/micropython_esp32c2/main.bundle.29be3cf1.js +++ /dev/null @@ -1,21 +0,0 @@ -(()=>{"use strict";var e={d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{controls_type:()=>Ve,controls_typeLists:()=>Be,lists_zip:()=>Ge,lists_zip_container:()=>Ue,lists_zip_item:()=>we,unpack_iterable_object:()=>He,variables_change:()=>xe,variables_get:()=>Xe,variables_global:()=>be,variables_set:()=>ye});var i={};e.r(i),e.d(i,{base_setup:()=>Ke,controls_delay:()=>Je,controls_end_program:()=>Qe,controls_except:()=>pt,controls_finally:()=>at,controls_flow_statements:()=>et,controls_for:()=>tt,controls_forEach:()=>je,controls_for_range:()=>it,controls_if:()=>qe,controls_if_else:()=>_t,controls_if_elseif:()=>st,controls_if_if:()=>nt,controls_lambda:()=>rt,controls_main:()=>We,controls_pass:()=>dt,controls_range:()=>ze,controls_repeat_ext:()=>ut,controls_thread:()=>lt,controls_try:()=>ot,controls_try_finally:()=>Ze,controls_whileUntil:()=>$e,datetime_fromtimestamp:()=>Et,do_while:()=>It,garbage_collection:()=>Tt,gene_unique_identifier:()=>Ot,get_mem_alloc:()=>Mt,get_mem_free:()=>ht,get_unique_identifier:()=>mt});var n={};e.r(n),e.d(n,{base_map:()=>Gt,generate_cartesian_product:()=>wt,math_arithmetic:()=>St,math_bit:()=>Lt,math_constant:()=>gt,math_constant_mp:()=>Ct,math_constrain:()=>vt,math_dec:()=>Dt,math_degree_to_radian:()=>kt,math_indexer_number:()=>yt,math_map:()=>Xt,math_max_min:()=>Ft,math_number:()=>ct,math_number_base_conversion:()=>Pt,math_radian_to_degree:()=>Ht,math_random:()=>Yt,math_random_seed:()=>xt,math_round:()=>bt,math_selfcalcu:()=>At,math_to_int:()=>ft,math_trig:()=>Nt,text_to_number:()=>Vt,text_to_number_skulpt:()=>Bt,turn_to_int:()=>Ut});var s={};e.r(s),e.d(s,{ascii_to_char:()=>jt,char_to_ascii:()=>$t,number_to_text:()=>Zt,os_system:()=>Si,text:()=>Kt,text_bytes:()=>Qt,text_capital:()=>ai,text_center:()=>ui,text_char:()=>qt,text_char_at:()=>ii,text_char_at2:()=>ti,text_char_at3:()=>Ri,text_compareTo:()=>Oi,text_compare_to:()=>pi,text_create_with_container:()=>hi,text_create_with_item:()=>mi,text_encode:()=>gi,text_equals_starts_ends:()=>oi,text_eval:()=>Ci,text_find:()=>ri,text_format:()=>Mi,text_format_noreturn:()=>ci,text_join:()=>zt,text_join_seq:()=>di,text_length:()=>ei,text_random_char:()=>ni,text_replace:()=>li,text_split:()=>Ii,text_strip:()=>Ti,text_substring:()=>_i,text_substring2:()=>si,text_substring3:()=>Ei,text_textarea:()=>Jt});var _={};e.r(_),e.d(_,{ENUMERATE:()=>pn,content_in_lists:()=>un,enumerate:()=>an,list_many_input:()=>Ji,list_tolist:()=>ji,list_tolist2:()=>on,list_trig:()=>ki,lists_2d_get_col_row_data:()=>fi,lists_2d_get_data_with_col_row:()=>Di,lists_append_extend:()=>yi,lists_change_to:()=>Ki,lists_change_to_general:()=>qi,lists_clear:()=>Gi,lists_create_with:()=>Fi,lists_create_with2:()=>$i,lists_create_with_container:()=>Yi,lists_create_with_item:()=>vi,lists_create_with_noreturn:()=>Qi,lists_create_with_text:()=>Pi,lists_create_with_text2:()=>Zi,lists_del_general:()=>zi,lists_find:()=>Hi,lists_getIndex3:()=>en,lists_getSublist3:()=>tn,lists_get_index:()=>Li,lists_get_random_item:()=>xi,lists_get_random_sublist:()=>bi,lists_get_sublist:()=>Ni,lists_insert_value:()=>Vi,lists_insert_value2:()=>sn,lists_pop:()=>wi,lists_remove_at:()=>Ui,lists_remove_at2:()=>_n,lists_reverse:()=>Bi,lists_setIndex3:()=>nn,lists_set_index:()=>Xi,lists_sort:()=>Wi});var o={};e.r(o),e.d(o,{dicts_add_change_del:()=>An,dicts_add_or_change:()=>mn,dicts_clear:()=>Rn,dicts_create_with:()=>dn,dicts_create_with_container:()=>ln,dicts_create_with_item:()=>In,dicts_create_with_noreturn:()=>Dn,dicts_deldict:()=>Sn,dicts_delete:()=>En,dicts_get:()=>Mn,dicts_get_default:()=>hn,dicts_items:()=>cn,dicts_keys:()=>Tn,dicts_length:()=>Cn,dicts_pop:()=>Ln,dicts_setdefault:()=>Nn,dicts_to_json:()=>Fn,dicts_to_json2:()=>vn,dicts_to_to:()=>Yn,dicts_todict:()=>fn,dicts_update:()=>On,dicts_values:()=>gn,json_to_dicts:()=>Pn});var p={};e.r(p),e.d(p,{logic_boolean:()=>Bn,logic_compare:()=>yn,logic_compare_continous:()=>xn,logic_is:()=>Hn,logic_is_in:()=>wn,logic_negate:()=>Vn,logic_null:()=>Gn,logic_operation:()=>bn,logic_tobool:()=>kn,logic_true_or_false:()=>Un});var a={};e.r(a),e.d(a,{sdcard_mount:()=>Is,sdcard_use_spi_init:()=>ls,storage_can_write_ornot:()=>Zn,storage_change_dir:()=>rs,storage_close_file:()=>ts,storage_delete_file:()=>ns,storage_file_seek:()=>os,storage_file_tell:()=>_s,storage_file_write:()=>qn,storage_fileopen:()=>Kn,storage_fileopen_new:()=>Jn,storage_fileopen_new_encoding:()=>Qn,storage_get_a_line:()=>$n,storage_get_contents:()=>jn,storage_get_contents_without_para:()=>zn,storage_get_current_dir:()=>ps,storage_get_file_size:()=>ss,storage_get_filename:()=>es,storage_is_file:()=>ds,storage_list_all_files:()=>is,storage_make_dir:()=>as,storage_open_file_with_os:()=>Wn,storage_rename:()=>us});var u={};e.r(u),e.d(u,{procedures_callnoreturn:()=>Es,procedures_callreturn:()=>Os,procedures_defnoreturn:()=>Ts,procedures_defreturn:()=>Ms,procedures_ifreturn:()=>Rs,procedures_mutatorarg:()=>ms,procedures_mutatorcontainer:()=>hs,procedures_return:()=>cs});var r={};e.r(r),e.d(r,{tuple_change_to:()=>vs,tuple_create_llm_params:()=>ws,tuple_create_with:()=>Cs,tuple_create_with_container:()=>Ss,tuple_create_with_item:()=>As,tuple_create_with_noreturn:()=>bs,tuple_create_with_text2:()=>Ls,tuple_create_with_text_return:()=>Ns,tuple_del:()=>Fs,tuple_find:()=>Xs,tuple_getIndex:()=>Ds,tuple_getSublist:()=>xs,tuple_get_random_item:()=>Bs,tuple_get_sublist:()=>Vs,tuple_input:()=>Us,tuple_join:()=>Ps,tuple_length:()=>fs,tuple_max:()=>Ys,tuple_totuple:()=>Gs,tuple_trig:()=>ys});var d={};e.r(d),e.d(d,{set_add_discard:()=>$s,set_clear:()=>qs,set_create_with:()=>ks,set_create_with_container:()=>Ws,set_create_with_item:()=>Ks,set_create_with_text_return:()=>t_,set_length:()=>Js,set_operate:()=>zs,set_operate_update:()=>js,set_pop:()=>Qs,set_sub:()=>Zs,set_toset:()=>i_,set_update:()=>e_});var l={};e.r(l),e.d(l,{html_content:()=>p_,html_content_more:()=>a_,html_document:()=>s_,html_form:()=>r_,html_head_body:()=>o_,html_style:()=>u_,html_style_color:()=>l_,html_style_content:()=>d_,html_text:()=>I_,html_title:()=>__});var I={};e.r(I),e.d(I,{attribute_access:()=>N_,function_call:()=>S_,function_call_container:()=>A_,function_call_item:()=>L_,raw_block:()=>h_,raw_empty:()=>E_,raw_expression:()=>m_,raw_table:()=>M_,text_comment:()=>O_,text_print_multiple:()=>c_,text_print_multiple_container:()=>g_,text_print_multiple_item:()=>C_,type_check:()=>R_});var T={};e.r(T),e.d(T,{controls_type:()=>Y_,controls_typeLists:()=>v_,lists_zip:()=>X_,unpack_iterable_object:()=>y_,variables_change:()=>F_,variables_get:()=>D_,variables_global:()=>P_,variables_set:()=>f_});var M={};e.r(M),e.d(M,{Panic_with_status_code:()=>W_,base_setup:()=>b_,controls_delay:()=>k_,controls_flow_statements:()=>H_,controls_for:()=>G_,controls_forEach:()=>z_,controls_for_range:()=>U_,controls_if:()=>V_,controls_interrupts:()=>Q_,controls_lambda:()=>$_,controls_main:()=>x_,controls_millis:()=>K_,controls_nointerrupts:()=>q_,controls_pass:()=>eo,controls_range:()=>j_,controls_repeat:()=>ao,controls_repeat_ext:()=>no,controls_thread:()=>to,controls_try_finally:()=>B_,controls_whileUntil:()=>w_,datetime_fromtimestamp:()=>uo,do_while:()=>io,garbage_collection:()=>so,gene_unique_identifier:()=>ro,get_mem_alloc:()=>_o,get_mem_free:()=>oo,get_unique_identifier:()=>po,reset:()=>J_,time_sleep:()=>Z_});var h={};e.r(h),e.d(h,{base_map:()=>Yo,generate_cartesian_product:()=>Xo,math_arithmetic:()=>ho,math_bit:()=>Mo,math_constant:()=>Io,math_constant_mp:()=>To,math_constrain:()=>Ao,math_dec:()=>Ro,math_degree_to_radian:()=>xo,math_indexer_number:()=>Do,math_map:()=>So,math_max_min:()=>go,math_number:()=>lo,math_number_base_conversion:()=>Lo,math_radian_to_degree:()=>yo,math_random:()=>Co,math_random_seed:()=>No,math_round:()=>fo,math_selfcalcu:()=>mo,math_single:()=>Eo,math_to_int:()=>co,math_trig:()=>Oo,text_to_number:()=>Fo,text_to_number_skulpt:()=>Po,turn_to_int:()=>vo});var m={};e.r(m),e.d(m,{ascii_to_char:()=>wo,char_to_ascii:()=>Ho,number_to_text:()=>ko,os_system:()=>Ip,text:()=>bo,text_bytes:()=>Bo,text_capital:()=>Zo,text_center:()=>ep,text_char:()=>Go,text_char_at:()=>Jo,text_char_at2:()=>Ko,text_char_at3:()=>rp,text_compareTo:()=>up,text_compare_to:()=>zo,text_encode:()=>dp,text_equals_starts_ends:()=>qo,text_eval:()=>lp,text_find:()=>tp,text_format:()=>op,text_format_noreturn:()=>pp,text_join:()=>Uo,text_join_seq:()=>ip,text_length:()=>Wo,text_random_char:()=>Qo,text_replace:()=>np,text_split:()=>sp,text_strip:()=>_p,text_substring:()=>$o,text_substring2:()=>jo,text_substring3:()=>ap,text_textarea:()=>Vo});var E={};e.r(E),e.d(E,{content_in_lists:()=>Jp,enumerate:()=>Kp,list_many_input:()=>vp,list_tolist:()=>kp,list_tolist2:()=>Wp,list_trig:()=>Fp,lists_2d_get_col_row_data:()=>hp,lists_2d_get_data_with_col_row:()=>Mp,lists_append_extend:()=>cp,lists_change_to:()=>Yp,lists_change_to_general:()=>yp,lists_clear:()=>Lp,lists_create_with:()=>mp,lists_create_with2:()=>bp,lists_create_with_noreturn:()=>Xp,lists_create_with_text:()=>Ep,lists_create_with_text2:()=>Vp,lists_del_general:()=>xp,lists_find:()=>Np,lists_getIndex3:()=>Bp,lists_getSublist3:()=>Gp,lists_get_index:()=>Op,lists_get_random_item:()=>gp,lists_get_random_sublist:()=>Cp,lists_get_sublist:()=>Tp,lists_insert_value:()=>Sp,lists_insert_value2:()=>wp,lists_pop:()=>fp,lists_remove_at:()=>Dp,lists_remove_at2:()=>Hp,lists_reverse:()=>Ap,lists_setIndex3:()=>Up,lists_set_index:()=>Rp,lists_sort:()=>Pp});var O={};e.r(O),e.d(O,{dicts_add_change_del:()=>oa,dicts_add_or_change:()=>$p,dicts_clear:()=>ta,dicts_create_with:()=>Qp,dicts_create_with_noreturn:()=>ua,dicts_deldict:()=>_a,dicts_delete:()=>Zp,dicts_get:()=>zp,dicts_get_default:()=>jp,dicts_items:()=>ia,dicts_keys:()=>qp,dicts_length:()=>sa,dicts_pop:()=>pa,dicts_setdefault:()=>aa,dicts_to_json:()=>da,dicts_to_json2:()=>Ta,dicts_to_to:()=>Ia,dicts_todict:()=>ra,dicts_update:()=>ea,dicts_values:()=>na,json_to_dicts:()=>la});var R={};e.r(R),e.d(R,{logic_boolean:()=>Oa,logic_compare:()=>Ma,logic_compare_continous:()=>ha,logic_is:()=>Ca,logic_is_in:()=>ga,logic_negate:()=>Ea,logic_null:()=>Ra,logic_operation:()=>ma,logic_tobool:()=>Sa,logic_true_or_false:()=>ca});var c={};e.r(c),e.d(c,{sdcard_mount:()=>Ja,sdcard_use_spi_init:()=>Ka,storage_can_write_ornot:()=>va,storage_change_dir:()=>Ua,storage_close_file:()=>ya,storage_delete_file:()=>ba,storage_file_seek:()=>Ga,storage_file_tell:()=>Ba,storage_file_write:()=>fa,storage_fileopen:()=>La,storage_fileopen_new:()=>Na,storage_fileopen_new_encoding:()=>Da,storage_get_a_line:()=>Ya,storage_get_contents:()=>Pa,storage_get_contents_without_para:()=>Fa,storage_get_current_dir:()=>wa,storage_get_file_size:()=>Va,storage_get_filename:()=>Xa,storage_is_file:()=>Wa,storage_list_all_files:()=>xa,storage_make_dir:()=>Ha,storage_open_file_with_os:()=>Aa,storage_rename:()=>ka});var g={};e.r(g),e.d(g,{procedures_callnoreturn:()=>ja,procedures_callreturn:()=>za,procedures_defnoreturn:()=>qa,procedures_defreturn:()=>Qa,procedures_ifreturn:()=>$a,procedures_return:()=>Za});var C={};e.r(C),e.d(C,{tuple_change_to:()=>au,tuple_create_llm_params:()=>mu,tuple_create_with:()=>eu,tuple_create_with_noreturn:()=>lu,tuple_create_with_text2:()=>tu,tuple_create_with_text_return:()=>iu,tuple_del:()=>_u,tuple_find:()=>uu,tuple_getIndex:()=>nu,tuple_getSublist:()=>du,tuple_get_random_item:()=>Tu,tuple_get_sublist:()=>Iu,tuple_input:()=>hu,tuple_join:()=>ou,tuple_length:()=>su,tuple_max:()=>pu,tuple_totuple:()=>Mu,tuple_trig:()=>ru});var S={};e.r(S),e.d(S,{set_add_discard:()=>Su,set_clear:()=>cu,set_create_with:()=>Eu,set_create_with_text_return:()=>Nu,set_length:()=>Ou,set_operate:()=>gu,set_operate_update:()=>Cu,set_pop:()=>Ru,set_sub:()=>Au,set_toset:()=>Du,set_update:()=>Lu});var A={};e.r(A),e.d(A,{html_content:()=>Yu,html_content_more:()=>vu,html_document:()=>fu,html_form:()=>yu,html_head_body:()=>Pu,html_style:()=>Xu,html_style_content:()=>xu,html_text:()=>bu,html_title:()=>Fu});var L={};e.r(L),e.d(L,{attribute_access:()=>ku,function_call:()=>Hu,raw_block:()=>Vu,raw_empty:()=>Gu,raw_expression:()=>Bu,raw_table:()=>Uu,type_check:()=>wu});var N={};e.r(N),e.d(N,{PIN_init:()=>jr,actuator_extern_get_led_bright:()=>or,actuator_extern_get_led_state:()=>pr,actuator_extern_led_bright:()=>_r,actuator_extern_led_brightness:()=>ar,actuator_ms32006_dcmotor:()=>mr,actuator_ms32006_init:()=>hr,actuator_ms32006_stepper:()=>Er,actuator_neopixel_init:()=>Or,actuator_neopixel_rgb:()=>Rr,actuator_neopixel_rgb_all:()=>cr,actuator_neopixel_rgb_show_all_chase:()=>Sr,actuator_neopixel_rgb_show_all_rainbow:()=>Cr,actuator_neopixel_write:()=>gr,actuator_use_uart_init:()=>Ar,backstage_esp32_music_play_list:()=>Zu,esp32_music_get_tempo_extern:()=>tr,esp32_music_pitch:()=>zu,esp32_music_pitch_init:()=>qu,esp32_music_pitch_with_time:()=>ju,esp32_music_play_list:()=>$u,esp32_music_reset_extern:()=>ir,esp32_music_set_tempo_extern:()=>er,esp32_music_stop:()=>nr,esp32_set_music_volume:()=>sr,mixbot_actuator_extern_get_addr:()=>qr,mixbot_actuator_extern_set_addr:()=>zr,mixbot_addr_extern:()=>xr,parrot_PIN_init:()=>td,parrot_move_speed:()=>id,pin_led_bright:()=>$r,player_insert_music:()=>Pr,player_play_music:()=>Fr,player_set_mode:()=>fr,player_set_play:()=>Nr,player_set_volume:()=>Dr,player_whether_stop:()=>Lr,robot_led_extern:()=>Gr,robot_led_extern_get_value:()=>Ur,robot_motor_extern:()=>br,robot_motor_extern_get_speed:()=>Vr,robot_servo_extern_absolute_run:()=>Wr,robot_servo_extern_get_status:()=>wr,robot_servo_extern_relative_continue:()=>Qr,robot_servo_extern_relative_origin:()=>Kr,robot_servo_extern_relative_run:()=>Jr,robot_servo_extern_stop:()=>kr,robot_servo_extern_stop_mode:()=>Hr,robot_traffic_light_extern:()=>Br,servo_PIN_init:()=>Zr,servo_get_angle:()=>Tr,servo_get_speed:()=>Mr,servo_init:()=>ur,servo_move:()=>rr,servo_move_angle:()=>ed,servo_set_angle:()=>lr,servo_set_speed:()=>Ir,servo_speed_360:()=>dr,syn6288_builtin_voice:()=>Xr,syn6288_get_voice:()=>vr,syn6288_set_voice:()=>Yr,syn6288_tts_play:()=>yr});var D={};e.r(D),e.d(D,{actuator_dc_motor:()=>yd,actuator_dc_motor_stop:()=>xd,actuator_get_led_bright:()=>pd,actuator_get_led_state:()=>ad,actuator_led_bright:()=>od,actuator_led_brightness:()=>ud,actuator_mixbot_buzzer_on_off:()=>Ud,actuator_mixgo_nova_mic_get:()=>Kd,actuator_mixgo_nova_mic_set:()=>Wd,actuator_mixgo_nova_onboard_music_pitch:()=>$d,actuator_mixgo_nova_onboard_music_stop:()=>Zd,actuator_mixgo_nova_play_audio:()=>zd,actuator_mixgo_nova_play_online_audio:()=>jd,actuator_mixgo_nova_record_audio:()=>qd,actuator_mixgo_nova_voice_get:()=>Qd,actuator_mixgo_nova_voice_set:()=>Jd,actuator_mixgo_zero_led_color:()=>rd,actuator_onboard_neopixel_rgb:()=>hd,actuator_onboard_neopixel_rgb_all:()=>md,actuator_onboard_neopixel_rgb_show_all_chase:()=>Od,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Ed,actuator_onboard_neopixel_write:()=>Rd,actuator_rm_onboard_neopixel_rgb:()=>cd,actuator_rm_onboard_neopixel_rgb_all:()=>gd,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>Cd,actuator_stepper_keep:()=>vd,actuator_stepper_stop:()=>Xd,analog_ble_keyboard_init:()=>ll,analog_ble_keyboard_input:()=>Ml,analog_ble_keyboard_mouse_init:()=>Cl,analog_ble_keyboard_mouse_input:()=>Nl,analog_ble_keyboard_mouse_send_battery:()=>Ll,analog_ble_keyboard_mouse_str:()=>Dl,analog_ble_keyboard_send_battery:()=>ml,analog_ble_keyboard_str:()=>hl,analog_ble_mouse_init:()=>El,analog_ble_mouse_input:()=>cl,analog_ble_mouse_keyboard_input:()=>fl,analog_ble_mouse_send_battery:()=>gl,analog_keyboard_input:()=>nl,analog_keyboard_str:()=>dl,analog_mouse_input:()=>ul,backstage_onboard_music_play_list:()=>Pd,bitbot_motor:()=>kd,bitbot_move:()=>wd,bitbot_stop:()=>Hd,ble_keyboard_connect:()=>Tl,ble_keyboard_get_mac:()=>Il,ble_keyboard_mouse_connect:()=>Al,ble_keyboard_mouse_get_mac:()=>Sl,ble_mouse_connect:()=>Rl,ble_mouse_get_mac:()=>Ol,cc_number:()=>Md,educore_ble_keyboard_input:()=>Bl,educore_ble_sensor_connected:()=>Vl,educore_ble_sensor_init:()=>bl,educore_buzzer:()=>Fl,educore_buzzer_play_tone:()=>Pl,educore_buzzer_play_tone_time:()=>Yl,educore_buzzer_stop:()=>vl,educore_neopixel_clear:()=>xl,educore_neopixel_rgb:()=>yl,educore_rgb_light:()=>Xl,esp32_music_get_tempo:()=>Ad,esp32_music_reset:()=>Ld,esp32_music_set_tempo:()=>Sd,esp32_onboard_music_pitch:()=>Nd,esp32_onboard_music_pitch_with_time:()=>Dd,esp32_onboard_music_play_list:()=>Fd,esp32_onboard_music_stop:()=>fd,general_key:()=>_l,general_key_tuple:()=>ol,generalkey_container:()=>pl,generalkey_create_with_item:()=>al,get_keyboard_light:()=>Gl,get_power_output:()=>tl,ledswitch:()=>_d,mixbot_motor:()=>Gd,mixbot_motor_status:()=>bd,mixbot_move:()=>Vd,mixbot_stop:()=>Bd,mouse_key:()=>rl,number:()=>sd,record_audio:()=>wl,rm_actuator_get_led_bright:()=>ld,rm_actuator_get_led_state:()=>Id,rm_actuator_led_bright:()=>dd,rm_actuator_led_brightness:()=>Td,rm_motor:()=>Yd,set_all_power_output:()=>il,set_microphone_amplification:()=>Ul,set_music_volume:()=>Hl,set_power_output:()=>el,special_key:()=>sl});var f={};e.r(f),e.d(f,{ai_sensor_20object:()=>CI,ai_sensor_ailocal_class:()=>lI,ai_sensor_ailocal_class_result:()=>II,ai_sensor_ailocal_train:()=>dI,ai_sensor_asr_recognize:()=>EI,ai_sensor_audio_play:()=>MI,ai_sensor_audio_record:()=>TI,ai_sensor_barcode:()=>jl,ai_sensor_circle:()=>nI,ai_sensor_classifier_faces:()=>gI,ai_sensor_color:()=>pI,ai_sensor_color_chases:()=>rI,ai_sensor_color_chases_result:()=>uI,ai_sensor_config:()=>ql,ai_sensor_face:()=>cI,ai_sensor_find_20objects:()=>SI,ai_sensor_find_barcodes:()=>$l,ai_sensor_find_circles:()=>sI,ai_sensor_find_colors:()=>aI,ai_sensor_find_licenseplates:()=>RI,ai_sensor_find_lines:()=>iI,ai_sensor_find_qrcodes:()=>Ql,ai_sensor_find_rects:()=>oI,ai_sensor_find_tags:()=>eI,ai_sensor_licenseplate:()=>OI,ai_sensor_line:()=>tI,ai_sensor_qrcode:()=>Kl,ai_sensor_qrcode_lite:()=>Jl,ai_sensor_rect:()=>_I,ai_sensor_rgb:()=>zl,ai_sensor_tag:()=>Zl,ai_sensor_use_uart_init:()=>Wl,ai_sensor_yolo_recognize:()=>hI,ai_sensor_yolo_recognize_result:()=>mI});var F={};e.r(F),e.d(F,{MICROPYTHON_AI_Speech_asr:()=>NI,MICROPYTHON_AI_Speech_unit:()=>LI,MICROPYTHON_AI_client:()=>AI});var P={};e.r(P),e.d(P,{AI_CAMERA_INIT:()=>nT,AI_CAMERA_INIT_FACERECOGNIZE:()=>oT,AI_CAMERA_INIT_SIMPLE:()=>YT,AI_STOP_ACQUISITION:()=>fT,CAMERA_LOOGOUT:()=>KI,CI130X_BROADCAST_SANT:()=>VI,CI130X_BROADCAST_SYSTEM_TIME:()=>GI,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>bI,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>xI,CI130X_IDENTIFY_AND_SAVE_SANT:()=>yI,CI130X_OPEN_AND_CLOSE:()=>vI,CI130X_PLAY_SYSTEM_CMD_SANT:()=>XI,CI130X_SET_SYSTEM_CMD_SANT:()=>BI,CONVERT_IMAGE_TO_JPG:()=>qI,CREATE_CAMERA:()=>UI,CREATE_CAMERA_SIMPLE:()=>PT,DELETE_FACE_ALL:()=>RT,DELETE_FACE_FROM_DATABASE:()=>OT,GET_CAT_FACE_DETECTION_NUM:()=>AT,GET_COLOR_DETECTION_NUM:()=>ST,GET_FACE_DETECTION_NAME:()=>DT,GET_FACE_DETECTION_NUM:()=>NT,GET_HOW_MUCH_RECOGNITION:()=>rT,GET_HUMAN_DETECTION_NUM:()=>LT,GET_IMAGE_AND_SAVE:()=>HI,GET_IMAGE_FROM_NET:()=>WI,GET_NO_CAT_OR_FACE_RECOGNITION:()=>lT,GET_NO_FACE_RECOGNITION_INFO:()=>MT,GET_NO_RECOGNITION:()=>dT,GET_NO_XY_RECOGNITION:()=>IT,GET_NO_XY_RECOGNITION_FACE:()=>TT,GET_PICTURE_DATA_EXACT:()=>JI,GET_PICTURE_DATA_WHS:()=>zI,GET_PICTURE_RECOGNITION_DATA:()=>CT,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>QI,GET_QR_CODE_RECOGNITION_DATA:()=>gT,GET_SCREEN_IMAGE:()=>iT,GET_SCREEN_IMAGE_SIZE:()=>tT,MIXIO_REPORT_IMAGE_DATA:()=>FT,MODEL_INIT_HEIGHT:()=>_T,MODEL_INIT_WIDTH:()=>sT,MODEL_LOGOUT:()=>pT,MODEL_RUN:()=>aT,MODEL_WHETHER_RUN_SUCCEED:()=>uT,OPEN_IMAGE:()=>kI,PRINT_FACE_DATABASE:()=>cT,REGISTER_NEW_FACE:()=>ET,REGISTER_NEW_FACE_SIMPLE:()=>XT,Register_color_recognition:()=>mT,Register_color_recognition_fixed:()=>hT,Register_color_recognition_fixed_SIMPLE:()=>vT,SCREEN_DISPLAY_IMAGE:()=>ZI,SCREEN_DISPLAY_IMAGE_LOCATION:()=>eT,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>jI,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>$I,SHOOT_AND_SAVE_PICTURE:()=>wI,VOICE_RECOGNITION_CONTROL:()=>YI,yesorno:()=>PI});var Y={};e.r(Y),e.d(Y,{init_xunfei_Chinese_Model:()=>VT,init_xunfei_Spark_Ultra:()=>bT,init_xunfei_Spark_Ultra_clr_his:()=>UT,init_xunfei_vi:()=>xT,llm_set_callback:()=>wT,llm_set_callback_container:()=>HT,llm_set_callback_item:()=>kT,xunfei_Spark_Ultra_run:()=>GT,xunfei_vi_run:()=>BT});var v={};e.r(v),e.d(v,{mpython_blynk_app_data:()=>_M,mpython_blynk_app_notify:()=>$T,mpython_blynk_email:()=>tM,mpython_blynk_get_timers:()=>iM,mpython_blynk_on_connected:()=>qT,mpython_blynk_on_disconnected:()=>QT,mpython_blynk_run:()=>jT,mpython_blynk_sensor_data_to_app:()=>sM,mpython_blynk_set_property:()=>eM,mpython_blynk_setup:()=>oM,mpython_blynk_stop_timers:()=>ZT,mpython_blynk_sync_virtual:()=>JT,mpython_blynk_terminal_widget_vpin:()=>KT,mpython_blynktimer:()=>nM,mpython_blynktimer_run:()=>zT});var X={};e.r(X),e.d(X,{cc_g1_init:()=>pM,cc_g1_read_bat:()=>aM,cc_g1_read_joystick:()=>uM,cc_g1_read_key:()=>rM,cc_g1_turnoff:()=>dM});var y={};e.r(y),e.d(y,{ce_go_dc_motor:()=>RM,ce_go_get_led_bright:()=>MM,ce_go_get_led_state:()=>hM,ce_go_hall_attachInterrupt:()=>cM,ce_go_hall_data:()=>CM,ce_go_hall_initialize:()=>gM,ce_go_led_bright:()=>TM,ce_go_led_brightness:()=>mM,ce_go_light_number:()=>IM,ce_go_pin_light:()=>DM,ce_go_pin_near:()=>AM,ce_go_pin_near_line:()=>SM,ce_go_pin_near_state_change:()=>LM,ce_go_stepper_keep:()=>EM,ce_go_stepper_stop:()=>OM,educore_car:()=>fM,educore_car_pin_near:()=>vM,educore_car_pin_near_line:()=>YM,educore_car_stepper_keep:()=>FM,educore_car_stepper_stop:()=>PM,sensor_mixgome_eulerangles:()=>NM});var x={};e.r(x),e.d(x,{communicate_bluetooth_central_init:()=>Mh,communicate_bluetooth_connect:()=>Oh,communicate_bluetooth_disconnect:()=>Rh,communicate_bluetooth_handle:()=>Ah,communicate_bluetooth_is_connected:()=>gh,communicate_bluetooth_mac:()=>Eh,communicate_bluetooth_peripheral_init:()=>hh,communicate_bluetooth_recv:()=>Ch,communicate_bluetooth_recv_only:()=>Sh,communicate_bluetooth_scan:()=>mh,communicate_bluetooth_send:()=>ch,communicate_espnow_init:()=>Lh,communicate_espnow_init_new:()=>Nh,communicate_i2c_available:()=>jM,communicate_i2c_init:()=>bM,communicate_i2c_master_read:()=>zM,communicate_i2c_onboard:()=>yM,communicate_i2c_read:()=>VM,communicate_i2c_scan:()=>GM,communicate_i2c_write:()=>BM,communicate_ir_recv_init:()=>_h,communicate_ir_send_init:()=>rh,communicate_ow_init:()=>ZM,communicate_ow_read:()=>th,communicate_ow_reset:()=>sh,communicate_ow_scan:()=>eh,communicate_ow_select:()=>nh,communicate_ow_write:()=>ih,communicate_spi_buffer:()=>HM,communicate_spi_init:()=>UM,communicate_spi_onboard:()=>xM,communicate_spi_read:()=>kM,communicate_spi_read_output:()=>WM,communicate_spi_readinto:()=>KM,communicate_spi_readinto_output:()=>JM,communicate_spi_set:()=>wM,communicate_spi_write:()=>QM,communicate_spi_write_readinto:()=>qM,espnow_radio_channel:()=>vh,espnow_radio_channel_new:()=>yh,espnow_radio_on_off:()=>xh,espnow_radio_rec:()=>Vh,espnow_radio_recv:()=>Gh,espnow_radio_recv_certain_msg:()=>Uh,espnow_radio_recv_certain_msg_new:()=>Hh,espnow_radio_recv_msg:()=>Bh,espnow_radio_recv_new:()=>wh,espnow_radio_send:()=>bh,espnow_radio_txpower:()=>Xh,i2c_available:()=>dm,i2c_init:()=>jh,i2c_master_reader2:()=>rm,i2c_read:()=>$h,i2c_scan:()=>em,i2c_slave_onreceive:()=>$M,i2c_write:()=>Zh,internal_variable:()=>oh,ir_recv_timeout:()=>uh,ir_transmit_busy:()=>Th,ir_transmit_conventional_data:()=>dh,ir_transmit_raw_code:()=>Ih,ir_transmit_study_code:()=>lh,ir_whether_recv:()=>ah,lora_init:()=>kh,lora_packet:()=>Wh,lora_recv:()=>Jh,lora_send:()=>Kh,network_espnow_info:()=>fh,network_espnow_mac:()=>Dh,network_espnow_recv:()=>Fh,network_espnow_recv_handle:()=>Yh,network_espnow_send:()=>Ph,recv_fun:()=>ph,spi_buffer:()=>nm,spi_init:()=>tm,spi_read:()=>sm,spi_read_output:()=>_m,spi_readinto:()=>om,spi_readinto_output:()=>pm,spi_set:()=>im,spi_write:()=>am,spi_write_readinto:()=>um,urequests_attribute:()=>qh,urequests_get:()=>Qh,urequests_method:()=>zh});var b={};e.r(b),e.d(b,{display_animate:()=>Hm,display_blink_rate:()=>Bm,display_circle:()=>km,display_color_seclet:()=>iE,display_draw_4strings:()=>vm,display_fill:()=>wm,display_get_screen_image:()=>Vm,display_help:()=>Km,display_image_size:()=>Xm,display_lcd_use_i2c_init:()=>aE,display_line:()=>xm,display_line_arbitrarily:()=>bm,display_matrix_extern_bright_point:()=>Am,display_matrix_extern_bright_screen:()=>Nm,display_matrix_extern_clear:()=>Dm,display_matrix_extern_get_pixel:()=>Sm,display_matrix_extern_get_screen_pixel:()=>Lm,display_matrix_extern_image_builtins:()=>fm,display_matrix_extern_scroll_string:()=>Om,display_matrix_extern_scroll_string_delay:()=>Rm,display_matrix_extern_shift:()=>Cm,display_matrix_extern_show_frame_string:()=>cm,display_matrix_extern_show_frame_string_delay:()=>gm,display_matrix_extern_show_image:()=>mm,display_matrix_extern_show_image_or_string_delay:()=>Em,display_matrix_use_i2c_init:()=>hm,display_oled_drawPixel:()=>Qm,display_oled_showBitmap:()=>Jm,display_oled_use_i2c_init:()=>IE,display_onoff:()=>Um,display_rect:()=>ym,display_rgb_color:()=>Gm,display_tm1650_power:()=>zm,display_tm1650_set_brightness:()=>Zm,display_tm1650_show_dot:()=>$m,display_tm1650_show_num:()=>jm,display_tm_use_i2c_init:()=>qm,display_triangle:()=>Wm,display_use_i2c_init:()=>Ym,extern_oled_bright_point:()=>SE,extern_oled_clear:()=>AE,extern_oled_get_pixel:()=>CE,extern_oled_hvline:()=>NE,extern_oled_line:()=>DE,extern_oled_scroll_string:()=>EE,extern_oled_scroll_string_delay:()=>OE,extern_oled_shape_rect:()=>LE,extern_oled_shift:()=>gE,extern_oled_show_frame_string:()=>RE,extern_oled_show_frame_string_delay:()=>cE,extern_oled_show_image:()=>TE,extern_oled_show_image_or_string_delay:()=>mE,extern_oled_show_image_xy:()=>ME,extern_oled_show_string:()=>hE,lcd_backlight:()=>dE,lcd_clear:()=>lE,lcd_print_string:()=>rE,lcd_show_image_or_string_delay:()=>uE,matrix_extern_image_arithmetic:()=>Fm,matrix_extern_image_invert:()=>Pm,tft_fill:()=>oE,tft_line_arbitrarily:()=>pE,tft_scroll_string_delay:()=>sE,tft_show_frame_string_delay:()=>_E,tft_show_image_or_string_delay:()=>nE,tft_show_image_xy:()=>tE,tft_use_spi_init:()=>eE});var V={};e.r(V),e.d(V,{bitbot_display_bitmap_create:()=>gO,bitbot_display_image_create:()=>cO,display_available:()=>zE,display_bitmap_create:()=>BE,display_bright_point:()=>KE,display_bright_screen:()=>QE,display_clear:()=>qE,display_get_pixel:()=>WE,display_get_screen_pixel:()=>JE,display_image_builtins:()=>GE,display_image_builtins_all:()=>UE,display_image_create:()=>VE,display_scroll_string:()=>YE,display_scroll_string_delay:()=>vE,display_scroll_way:()=>XE,display_shift:()=>kE,display_show_frame_string:()=>xE,display_show_frame_string_delay:()=>bE,display_show_image:()=>FE,display_show_image_or_string_delay:()=>PE,draw_pointer:()=>BO,image_arithmetic:()=>wE,image_invert:()=>HE,mixbot_display_bitmap_create:()=>hO,mixbot_display_bright_screen:()=>OO,mixbot_display_get_ambientbright:()=>EO,mixbot_display_get_screen_pixel:()=>mO,mixbot_display_image_create:()=>MO,mixbot_display_rotate:()=>RO,mixgo_display_bitmap_create:()=>iO,mixgo_display_image_create_new:()=>tO,mixgome_display_bitmap_create:()=>$E,mixgome_display_font:()=>nO,mixgome_display_image_create:()=>jE,mixgomini_display_bitmap_create:()=>eO,mixgomini_display_image_create:()=>ZE,mpython_display_hvline:()=>lO,mpython_display_line:()=>IO,mpython_display_shape_rect:()=>dO,mpython_pbm_image:()=>TO,nova_draw_pointer:()=>GO,onboard_oled_bright_point:()=>rO,onboard_oled_scroll_string_delay:()=>aO,onboard_oled_show_frame_string_delay:()=>uO,onboard_oled_show_image:()=>sO,onboard_oled_show_image_or_string_delay:()=>pO,onboard_oled_show_image_xy:()=>_O,onboard_oled_show_string:()=>oO,onboard_tft_bright_point:()=>PO,onboard_tft_bright_screen:()=>qO,onboard_tft_clear:()=>zO,onboard_tft_clock_clear:()=>bO,onboard_tft_clock_draw:()=>xO,onboard_tft_clock_get_rtctime:()=>XO,onboard_tft_clock_init:()=>vO,onboard_tft_clock_set_time:()=>yO,onboard_tft_display_hvline:()=>DO,onboard_tft_display_line:()=>fO,onboard_tft_display_shape_circle:()=>VO,onboard_tft_display_shape_rect:()=>NO,onboard_tft_fill:()=>YO,onboard_tft_get_pixel:()=>FO,onboard_tft_get_screen_pixel:()=>QO,onboard_tft_scroll_string:()=>WO,onboard_tft_scroll_string_delay:()=>yE,onboard_tft_shift:()=>JO,onboard_tft_show_frame_string:()=>KO,onboard_tft_show_frame_string_delay:()=>LO,onboard_tft_show_image:()=>kO,onboard_tft_show_image_or_string_delay:()=>AO,onboard_tft_show_image_xy:()=>CO,onboard_tft_show_image_xy_direct:()=>SO,onboard_tft_show_qrcode:()=>wO,onboard_tft_show_qrcode_details:()=>HO,onboard_tft_show_texts:()=>UO});var B={};e.r(B),e.d(B,{factory_block:()=>TR,factory_block_return:()=>MR,factory_block_return_with_textarea:()=>mR,factory_block_with_textarea:()=>hR,factory_callMethod_noreturn:()=>lR,factory_callMethod_return:()=>IR,factory_create_with_container:()=>aR,factory_create_with_item:()=>uR,factory_declare:()=>dR,factory_from_import:()=>_R,factory_function_noreturn:()=>pR,factory_function_return:()=>rR,factory_import:()=>oR,folding_block:()=>ER});var G={};e.r(G),e.d(G,{controls_pin_attachInterrupt:()=>GR,inout_analog_atten:()=>DR,inout_analog_read:()=>NR,inout_analog_read_init:()=>XR,inout_analog_write:()=>SR,inout_analog_write_init:()=>vR,inout_analog_write_set:()=>AR,inout_analog_write_set_freq:()=>bR,inout_digital_init:()=>PR,inout_digital_read:()=>gR,inout_digital_write:()=>cR,inout_highlow:()=>RR,inout_pinMode:()=>xR,inout_pin_attachInterrupt:()=>FR,inout_pin_pressed:()=>fR,inout_pin_pressed_init:()=>yR,inout_pwm_analog_write:()=>CR,inout_pwm_analog_write_init:()=>YR,inout_pwm_analog_write_set_freq:()=>LR,pin_pressed:()=>BR,pin_pressed_init:()=>VR});var U={};e.r(U),e.d(U,{IOT_CONNECT_OLLAMA:()=>Sc,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>dc,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>rc,IOT_EMQX_PING:()=>ac,IOT_FORMATTING:()=>oc,IOT_FORMAT_STRING:()=>pc,IOT_MIXIO_NTP:()=>uc,IOT_MIXIO_PUBLISH:()=>$R,IOT_MIXIO_PUBLISHEX:()=>ZR,IOT_MIXIO_SUBSCRIBE:()=>ec,iot_checkonenet:()=>cc,iot_client_onboard:()=>Ic,iot_connect_ollama:()=>Cc,iot_connect_openai:()=>Ac,iot_create_with_item:()=>zR,iot_http_client:()=>Tc,iot_http_data:()=>Mc,iot_mixio_check:()=>nc,iot_mixio_connect:()=>jR,iot_mixio_connect_only:()=>ic,iot_mixio_disconnect:()=>tc,iot_mixio_format_msg:()=>_c,iot_mixio_format_topic:()=>sc,iot_mixly_key:()=>lc,iot_mqtt_client:()=>hc,iot_mqtt_data:()=>mc,iot_onenet_check:()=>WR,iot_onenet_connect:()=>HR,iot_onenet_disconnect:()=>kR,iot_onenet_publish:()=>JR,iot_onenet_publish_dict:()=>KR,iot_onenetconnect:()=>Oc,iot_onenetdisconnect:()=>Rc,iot_publish:()=>gc,iot_publish_container:()=>QR,iot_publish_item:()=>qR,iot_tiny_web_db_count:()=>vc,iot_tiny_web_db_delete:()=>yc,iot_tiny_web_db_get:()=>Yc,iot_tiny_web_db_init:()=>fc,iot_tiny_web_db_init_with_mqtt:()=>Fc,iot_tiny_web_db_search:()=>Xc,iot_tiny_web_db_update:()=>Pc,iot_wifi_connect:()=>wR,iot_wificonnect:()=>Ec,ollama_empty_history:()=>Dc,use_ollama_llm_to_chat:()=>Lc,use_ollama_llm_to_chat_return:()=>Nc});var w={};e.r(w),e.d(w,{educore_mqtt_connect:()=>Mg,educore_mqtt_connect_success:()=>Og,educore_mqtt_subscribe_message:()=>hg,educore_mqtt_topic_publish:()=>Eg,educore_mqtt_topic_subscribe:()=>mg,educore_wifi_connect:()=>Tg,network_ap_connect:()=>Kc,network_connect:()=>Uc,network_get_connect:()=>Hc,network_get_wifi:()=>Wc,network_init:()=>bc,network_is_active:()=>Bc,network_open:()=>Vc,network_scan:()=>Gc,network_server:()=>Jc,network_socket_accept:()=>$c,network_socket_bind:()=>qc,network_socket_close:()=>sg,network_socket_connect:()=>zc,network_socket_init:()=>Qc,network_socket_listen:()=>jc,network_socket_readline:()=>Zc,network_socket_receive:()=>eg,network_socket_receive_from:()=>ig,network_socket_send:()=>tg,network_socket_send_to:()=>ng,network_stop:()=>kc,network_wifi_connect:()=>wc,ntptime_address:()=>ug,ntptime_time:()=>ag,requests_attribute:()=>og,requests_attribute2:()=>Ig,requests_get:()=>_g,requests_get2:()=>dg,requests_method:()=>pg,requests_post:()=>lg});var H={};e.r(H),e.d(H,{CI130X_BROADCAST:()=>kg,CI130X_GET_THE_RECOGNIZED_CMD:()=>Hg,CI130X_GET_WHETHER_IDENTIFY:()=>wg,CI130X_IDENTIFY_AND_SAVE:()=>Ug,CI130X_SET_SYSTEM_CMD:()=>Wg,HCSR04:()=>vC,PS2_Button:()=>bC,PS2_Buttons:()=>BC,PS2_Buttons_new:()=>HC,PS2_State:()=>VC,PS2_init:()=>XC,PS2_init_new:()=>UC,PS2_stk:()=>GC,PS2_stk_new:()=>kC,PS2_vibration:()=>xC,PS2_vibration_new:()=>wC,camera_sensor_init:()=>RS,camera_sensor_result:()=>cS,column_tube_foot:()=>LS,define_keyboards:()=>NS,educore_body_sensor:()=>rS,educore_button_sensor_extern:()=>TS,educore_camera_sensor:()=>OS,educore_infrared_sensor:()=>IS,educore_soilhum_sensor:()=>dS,educore_temp_sensor:()=>ES,educore_temphum_sensor:()=>lS,educore_ultrasonic_sensor:()=>hS,esp32_s2_weather_init:()=>fC,esp32_s2_weather_rain:()=>PC,esp32_s2_weather_wd:()=>FC,esp32_s2_weather_ws:()=>YC,extern_rfid_read:()=>MC,extern_rfid_readcontent:()=>mC,extern_rfid_readid:()=>hC,extern_rfid_status:()=>RC,extern_rfid_write:()=>EC,extern_rfid_write_return:()=>OC,get_keboards_value:()=>DS,gnss_get_data:()=>QC,gnss_have_data:()=>JC,init_init_rotary_encoder:()=>fS,init_matrix_keyboard:()=>SS,interaction_whether_to_interaction:()=>Bg,interaction_whether_to_interaction_SANT:()=>Gg,line_tube_foot:()=>AS,mixbot_sensor_extern_get_addr:()=>iS,mixbot_sensor_extern_set_addr:()=>nS,pm25_get_data:()=>KC,radar_set_DETECTION_THRESHOLD:()=>bg,radar_set_DETECTION_THRESHOLD_SANT:()=>Vg,robot_button_extern_get_value:()=>zC,robot_color_extern_get_value:()=>tS,robot_infrared_extern_get_value:()=>$C,robot_infrared_extern_grey_get_value:()=>ZC,robot_potentiometer_extern_get_value:()=>eS,robot_sonar_extern_get_value:()=>sS,robot_sonar_extern_led:()=>_S,robot_touch_extern_get_value:()=>jC,rotary_key:()=>FS,sensor_APDS9960_extern:()=>Jg,sensor_DS18X20:()=>Xg,sensor_LTR308_extern:()=>Qg,sensor_LTR390UV_extern:()=>jg,sensor_MAX30102_extern:()=>Kg,sensor_QMC5883L_extern:()=>_C,sensor_VL530LX_extern:()=>$g,sensor_adxl345_get_acceleration:()=>Lg,sensor_aht11_extern:()=>eC,sensor_bmp:()=>Yg,sensor_compass_reset:()=>IC,sensor_dht11:()=>Dg,sensor_hp203_extern:()=>tC,sensor_light_level:()=>Ng,sensor_lm35:()=>yg,sensor_ltr381_extern:()=>qg,sensor_mixgo_extern_button_attachInterrupt:()=>Sg,sensor_mixgo_extern_button_get_presses:()=>Cg,sensor_mixgo_extern_button_is_pressed:()=>cg,sensor_mixgo_extern_button_was_pressed:()=>gg,sensor_mixgo_extern_light:()=>fg,sensor_mixgo_extern_pin_near:()=>Pg,sensor_mixgo_extern_sound:()=>Fg,sensor_mixgoce_hot_wheel_degrees:()=>DC,sensor_mixgoce_hot_wheel_is_touched:()=>NC,sensor_mpu9250_attachGestureInterrupt:()=>Ag,sensor_mpu9250_calibrate_compass:()=>rC,sensor_mpu9250_field_strength:()=>lC,sensor_mpu9250_gesture:()=>oC,sensor_mpu9250_get_acceleration:()=>pC,sensor_mpu9250_get_gyro:()=>uC,sensor_mpu9250_get_magnetic:()=>aC,sensor_mpu9250_temperature:()=>dC,sensor_ms5611_extern:()=>nC,sensor_ms5611_extern_altitude:()=>sC,sensor_read_humiture:()=>MS,sensor_sht:()=>vg,sensor_shtc3_extern:()=>Zg,sensor_spl06_001_extern:()=>iC,sensor_ucs12071_extern:()=>zg,sensor_use_i2c_init:()=>xg,sensor_use_spi_init:()=>TC,sensor_use_uart_init:()=>WC,sensor_weather_solo_init:()=>oS,sensor_weather_solo_rain:()=>uS,sensor_weather_solo_wd:()=>pS,sensor_weather_solo_ws:()=>aS,sensor_weigh_init:()=>gS,tvoc_get_data:()=>qC,ultrasonic_sensor_read_distance:()=>mS,weather_data:()=>cC,weather_have_data:()=>gC,weather_set_label:()=>SC,weather_set_label_container:()=>AC,weather_set_label_item:()=>LC,weather_uart_mixio:()=>CC,weigh_sensor_get_weight:()=>CS});var k={};e.r(k),e.d(k,{HCSR04:()=>JS,RTC_set_date:()=>KS,RTC_set_time:()=>WS,bitbot_als_num:()=>iL,dht11:()=>uL,educore_button_sensor:()=>EL,educore_button_was_pressed:()=>OL,educore_gyroscope_sensor:()=>ML,educore_gyroscope_sensor_read:()=>hL,educore_gyroscope_sensor_shake:()=>mL,educore_light_sensor:()=>TL,educore_rfid_sensor:()=>RL,educore_rfid_sensor_scan:()=>cL,educore_rfid_sensor_scan_data:()=>gL,educore_voice_sensor:()=>lL,number1:()=>qS,number2:()=>zS,number3:()=>jS,number4:()=>$S,number5:()=>ZS,number6:()=>eA,number7:()=>tA,onboard_RTC_get_time:()=>uA,onboard_RTC_get_time_str:()=>MA,onboard_RTC_get_timestamp:()=>rA,onboard_RTC_get_timetuple_to_str:()=>hA,onboard_RTC_set_datetime:()=>IA,onboard_RTC_settime_string:()=>lA,onboard_RTC_timestamp_totuple:()=>dA,rfid_readcontent:()=>CA,rfid_readid:()=>gA,rfid_status:()=>LA,rfid_write:()=>SA,rfid_write_return:()=>AA,sensor_LTR308:()=>mA,sensor_aht11:()=>OA,sensor_bitbot_ALS:()=>tL,sensor_button_get_presses:()=>_L,sensor_button_is_pressed:()=>nL,sensor_button_was_pressed:()=>sL,sensor_distance_hrsc04:()=>kS,sensor_eulerangles:()=>DA,sensor_field_strength:()=>rL,sensor_get_acceleration:()=>NA,sensor_get_temperature:()=>RA,sensor_get_the_coprocessor_version:()=>CL,sensor_hp203:()=>cA,sensor_light:()=>aL,sensor_mixbot_get_gyro:()=>eL,sensor_mixbot_patrol_calibrate:()=>jA,sensor_mixbot_patrol_value:()=>$A,sensor_mixbot_temperature:()=>ZA,sensor_mixgo_LTR308:()=>pA,sensor_mixgo_button_attachInterrupt:()=>yS,sensor_mixgo_button_get_presses:()=>XS,sensor_mixgo_button_is_pressed:()=>YS,sensor_mixgo_button_was_pressed:()=>vS,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>BA,sensor_mixgo_cc_mmc5603_get_angle:()=>VA,sensor_mixgo_cc_mmc5603_get_magnetic:()=>bA,sensor_mixgo_light:()=>QS,sensor_mixgo_nova_LTR308:()=>oA,sensor_mixgo_nova_pin_near:()=>_A,sensor_mixgo_pin_near:()=>sA,sensor_mixgo_pin_near_double:()=>nA,sensor_mixgo_pin_near_single:()=>iA,sensor_mixgo_pin_pressed:()=>GS,sensor_mixgo_sant_color:()=>aA,sensor_mixgo_touch_slide:()=>HS,sensor_mixgocar42_button_attachInterrupt:()=>BS,sensor_mixgocar42_button_get_presses:()=>VS,sensor_mixgocar42_button_is_pressed:()=>xS,sensor_mixgocar42_button_was_pressed:()=>bS,sensor_mixgocar_battery_left:()=>zA,sensor_mixgocar_pin_near:()=>QA,sensor_mixgocar_pin_near_line:()=>JA,sensor_mixgocar_pin_near_state_change:()=>qA,sensor_mixgoce_pin_pressed:()=>US,sensor_mixgoce_temperature:()=>UA,sensor_mixgome_temperature:()=>GA,sensor_mpython_pin_pressed:()=>wS,sensor_mpython_qmi8658_get_gyro:()=>wA,sensor_mpython_qmi8658_temperature:()=>HA,sensor_onboard_compass_reset:()=>xA,sensor_onboard_mpu9250_calibrate_compass:()=>vA,sensor_onboard_mpu9250_field_strength:()=>yA,sensor_onboard_mpu9250_gesture:()=>fA,sensor_onboard_mpu9250_get_acceleration:()=>FA,sensor_onboard_mpu9250_get_gyro:()=>YA,sensor_onboard_mpu9250_get_magnetic:()=>PA,sensor_onboard_mpu9250_temperature:()=>XA,sensor_pin_near:()=>pL,sensor_pin_pressed:()=>oL,sensor_read:()=>IL,sensor_rm_acc:()=>KA,sensor_rm_battery_left:()=>WA,sensor_rm_pin_near_double:()=>kA,sensor_rtc_init:()=>TA,sensor_sound:()=>EA,sensor_temperature:()=>dL,simulated_light_sensor:()=>SL});var W={};e.r(W),e.d(W,{serial_any:()=>XL,serial_begin:()=>BL,serial_print:()=>fL,serial_print_byte:()=>DL,serial_print_hex:()=>PL,serial_println:()=>FL,serial_read_from_ai:()=>QL,serial_readline:()=>yL,serial_readstr:()=>vL,serial_readstr_until:()=>xL,serial_receive_data_event:()=>YL,serial_send_to_ai:()=>JL,serial_softserial:()=>VL,serial_softserial_new:()=>bL,system_input:()=>GL,system_print:()=>UL,system_print_container:()=>WL,system_print_end:()=>HL,system_print_inline:()=>wL,system_print_item:()=>KL,system_print_many:()=>kL});var K={};e.r(K),e.d(K,{Panic_with_status_code:()=>$L,Timer_init:()=>lN,base_delay:()=>MN,controls_delay:()=>jL,controls_delay_new:()=>zL,controls_millis:()=>eN,controls_uname:()=>iN,raw_block:()=>tN,reset:()=>ZL,set_system_timer:()=>pN,system_bitbot_shutdown:()=>dN,system_machine_reset:()=>rN,system_ticks_diff:()=>_N,system_timer:()=>sN,system_timer_init:()=>oN,system_wdt_feed:()=>uN,system_wdt_init:()=>aN,time_ticks_diff:()=>TN,timer:()=>nN,timer2:()=>IN});var J={};e.r(J),e.d(J,{Air_daily_content:()=>fN,Air_now_content:()=>gN,Geo_moon_content:()=>PN,Geo_sun_content:()=>FN,Life_suggestion_content:()=>SN,Location_search_content:()=>LN,Tide_daily_content:()=>AN,WEATHER_DAILY:()=>EN,WEATHER_HOUR:()=>ON,WEATHER_NOW:()=>mN,Weather_alarm_content:()=>CN,Weather_daily:()=>NN,Weather_daily_content:()=>DN,Weather_now:()=>RN,Weather_now_content:()=>cN});var Q={};e.r(Q),e.d(Q,{PIN_init:()=>vD,actuator_extern_get_led_bright:()=>ZN,actuator_extern_get_led_state:()=>eD,actuator_extern_led_bright:()=>$N,actuator_extern_led_brightness:()=>tD,actuator_ms32006_dcmotor:()=>BN,actuator_ms32006_init:()=>VN,actuator_ms32006_stepper:()=>GN,actuator_neopixel_init:()=>iD,actuator_neopixel_rgb:()=>_D,actuator_neopixel_rgb_all:()=>nD,actuator_neopixel_rgb_show_all_chase:()=>oD,actuator_neopixel_rgb_show_all_rainbow:()=>pD,actuator_neopixel_write:()=>sD,actuator_use_uart_init:()=>aD,backstage_esp32_music_play_list:()=>qN,esp32_music_get_tempo_extern:()=>JN,esp32_music_pitch:()=>wN,esp32_music_pitch_init:()=>UN,esp32_music_pitch_with_time:()=>HN,esp32_music_play_list:()=>QN,esp32_music_reset_extern:()=>zN,esp32_music_set_tempo_extern:()=>KN,esp32_music_stop:()=>kN,esp32_set_music_volume:()=>WN,mixbot_actuator_extern_get_addr:()=>PD,mixbot_actuator_extern_set_addr:()=>YD,mixbot_addr_extern:()=>ED,parrot_PIN_init:()=>bD,parrot_move_speed:()=>VD,pin_led_bright:()=>XD,player_play_music:()=>ID,player_set_mode:()=>lD,player_set_play:()=>rD,player_set_volume:()=>dD,player_whether_stop:()=>uD,robot_led_extern:()=>gD,robot_led_extern_get_value:()=>CD,robot_motor_extern:()=>OD,robot_motor_extern_get_speed:()=>RD,robot_servo_extern_absolute_run:()=>ND,robot_servo_extern_get_status:()=>SD,robot_servo_extern_relative_continue:()=>FD,robot_servo_extern_relative_origin:()=>DD,robot_servo_extern_relative_run:()=>fD,robot_servo_extern_stop:()=>LD,robot_servo_extern_stop_mode:()=>AD,robot_traffic_light_extern:()=>cD,servo_PIN_init:()=>yD,servo_get_angle:()=>xN,servo_get_speed:()=>bN,servo_init:()=>YN,servo_move:()=>jN,servo_move_angle:()=>xD,servo_set_angle:()=>XN,servo_set_speed:()=>yN,servo_speed_360:()=>vN,syn6288_builtin_voice:()=>hD,syn6288_get_voice:()=>MD,syn6288_set_voice:()=>TD,syn6288_tts_play:()=>mD});var q={};e.r(q),e.d(q,{actuator_dc_motor:()=>Tf,actuator_dc_motor_stop:()=>Mf,actuator_get_led_bright:()=>zD,actuator_get_led_state:()=>jD,actuator_led_bright:()=>qD,actuator_led_brightness:()=>$D,actuator_mixbot_buzzer_on_off:()=>Rf,actuator_mixgo_nova_mic_get:()=>Af,actuator_mixgo_nova_mic_set:()=>Sf,actuator_mixgo_nova_onboard_music_pitch:()=>Pf,actuator_mixgo_nova_onboard_music_stop:()=>Yf,actuator_mixgo_nova_play_audio:()=>ff,actuator_mixgo_nova_play_online_audio:()=>Ff,actuator_mixgo_nova_record_audio:()=>Df,actuator_mixgo_nova_voice_get:()=>Nf,actuator_mixgo_nova_voice_set:()=>Lf,actuator_mixgo_zero_led_color:()=>ZD,actuator_onboard_neopixel_rgb:()=>pf,actuator_onboard_neopixel_rgb_all:()=>af,actuator_onboard_neopixel_rgb_show_all_chase:()=>uf,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>rf,actuator_onboard_neopixel_write:()=>of,actuator_stepper_keep:()=>lf,actuator_stepper_stop:()=>If,analog_ble_keyboard_init:()=>Hf,analog_ble_keyboard_input:()=>Kf,analog_ble_keyboard_mouse_init:()=>eF,analog_ble_keyboard_mouse_input:()=>sF,analog_ble_keyboard_mouse_send_battery:()=>nF,analog_ble_keyboard_mouse_str:()=>_F,analog_ble_keyboard_send_battery:()=>Qf,analog_ble_keyboard_str:()=>Jf,analog_ble_mouse_init:()=>qf,analog_ble_mouse_input:()=>$f,analog_ble_mouse_keyboard_input:()=>oF,analog_ble_mouse_send_battery:()=>Zf,analog_keyboard_input:()=>xf,analog_keyboard_str:()=>Uf,analog_mouse_input:()=>Bf,backstage_onboard_music_play_list:()=>WD,bitbot_motor:()=>Cf,bitbot_move:()=>cf,bitbot_stop:()=>gf,ble_keyboard_connect:()=>Wf,ble_keyboard_get_mac:()=>kf,ble_keyboard_mouse_connect:()=>iF,ble_keyboard_mouse_get_mac:()=>tF,ble_mouse_connect:()=>jf,ble_mouse_get_mac:()=>zf,cc_number:()=>ef,educore_ble_keyboard_input:()=>hF,educore_ble_sensor_connected:()=>MF,educore_ble_sensor_init:()=>TF,educore_buzzer:()=>pF,educore_buzzer_play_tone:()=>aF,educore_buzzer_play_tone_time:()=>uF,educore_buzzer_stop:()=>rF,educore_neopixel_clear:()=>IF,educore_neopixel_rgb:()=>lF,educore_rgb_light:()=>dF,esp32_music_get_tempo:()=>GD,esp32_music_reset:()=>KD,esp32_music_set_tempo:()=>BD,esp32_onboard_music_pitch:()=>UD,esp32_onboard_music_pitch_with_time:()=>wD,esp32_onboard_music_play_list:()=>kD,esp32_onboard_music_stop:()=>HD,general_key:()=>Vf,general_key_tuple:()=>wf,get_keyboard_light:()=>mF,get_power_output:()=>Xf,ledswitch:()=>QD,mixbot_motor:()=>Of,mixbot_motor_status:()=>hf,mixbot_move:()=>mf,mixbot_stop:()=>Ef,mouse_key:()=>Gf,number:()=>JD,record_audio:()=>OF,rm_actuator_get_led_bright:()=>nf,rm_actuator_get_led_state:()=>sf,rm_actuator_led_bright:()=>tf,rm_actuator_led_brightness:()=>_f,rm_motor:()=>df,set_all_power_output:()=>yf,set_microphone_amplification:()=>EF,set_music_volume:()=>RF,set_power_output:()=>vf,special_key:()=>bf});var z={};e.r(z),e.d(z,{ai_sensor_20object:()=>ZF,ai_sensor_ailocal_class:()=>wF,ai_sensor_ailocal_class_result:()=>HF,ai_sensor_ailocal_train:()=>UF,ai_sensor_asr_recognize:()=>QF,ai_sensor_audio_play:()=>WF,ai_sensor_audio_record:()=>kF,ai_sensor_barcode:()=>NF,ai_sensor_circle:()=>vF,ai_sensor_classifier_faces:()=>$F,ai_sensor_color:()=>bF,ai_sensor_color_chases:()=>GF,ai_sensor_color_chases_result:()=>BF,ai_sensor_config:()=>CF,ai_sensor_face:()=>jF,ai_sensor_find_20objects:()=>eP,ai_sensor_find_barcodes:()=>DF,ai_sensor_find_circles:()=>XF,ai_sensor_find_colors:()=>VF,ai_sensor_find_licenseplates:()=>zF,ai_sensor_find_lines:()=>YF,ai_sensor_find_qrcodes:()=>LF,ai_sensor_find_rects:()=>xF,ai_sensor_find_tags:()=>FF,ai_sensor_licenseplate:()=>qF,ai_sensor_line:()=>PF,ai_sensor_qrcode:()=>AF,ai_sensor_qrcode_lite:()=>gF,ai_sensor_rect:()=>yF,ai_sensor_rgb:()=>SF,ai_sensor_tag:()=>fF,ai_sensor_use_uart_init:()=>cF,ai_sensor_yolo_recognize:()=>KF,ai_sensor_yolo_recognize_result:()=>JF});var j={};e.r(j),e.d(j,{AI_CAMERA_INIT:()=>NP,AI_CAMERA_INIT_FACERECOGNIZE:()=>FP,AI_CAMERA_INIT_SIMPLE:()=>iY,AI_STOP_ACQUISITION:()=>ZP,CAMERA_LOOGOUT:()=>hP,CI130X_BROADCAST_SANT:()=>pP,CI130X_BROADCAST_SYSTEM_TIME:()=>uP,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>oP,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>_P,CI130X_IDENTIFY_AND_SAVE_SANT:()=>sP,CI130X_OPEN_AND_CLOSE:()=>nP,CI130X_PLAY_SYSTEM_CMD_SANT:()=>rP,CI130X_SET_SYSTEM_CMD_SANT:()=>aP,CONVERT_IMAGE_TO_JPG:()=>OP,CREATE_CAMERA:()=>dP,CREATE_CAMERA_SIMPLE:()=>tY,DELETE_FACE_ALL:()=>HP,DELETE_FACE_FROM_DATABASE:()=>wP,GET_CAT_FACE_DETECTION_NUM:()=>QP,GET_COLOR_DETECTION_NUM:()=>JP,GET_FACE_DETECTION_NAME:()=>jP,GET_FACE_DETECTION_NUM:()=>zP,GET_HOW_MUCH_RECOGNITION:()=>XP,GET_HUMAN_DETECTION_NUM:()=>qP,GET_IMAGE_AND_SAVE:()=>IP,GET_IMAGE_FROM_NET:()=>MP,GET_NO_CAT_OR_FACE_RECOGNITION:()=>VP,GET_NO_FACE_RECOGNITION_INFO:()=>$P,GET_NO_RECOGNITION:()=>yP,GET_NO_XY_RECOGNITION:()=>xP,GET_NO_XY_RECOGNITION_FACE:()=>bP,GET_PICTURE_DATA_EXACT:()=>mP,GET_PICTURE_DATA_WHS:()=>RP,GET_PICTURE_RECOGNITION_DATA:()=>KP,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>EP,GET_QR_CODE_RECOGNITION_DATA:()=>WP,GET_SCREEN_IMAGE:()=>AP,GET_SCREEN_IMAGE_SIZE:()=>LP,MIXIO_REPORT_IMAGE_DATA:()=>eY,MODEL_INIT_HEIGHT:()=>fP,MODEL_INIT_WIDTH:()=>DP,MODEL_LOGOUT:()=>PP,MODEL_RUN:()=>YP,MODEL_WHETHER_RUN_SUCCEED:()=>vP,OPEN_IMAGE:()=>TP,PRINT_FACE_DATABASE:()=>kP,REGISTER_NEW_FACE:()=>UP,REGISTER_NEW_FACE_SIMPLE:()=>sY,Register_color_recognition:()=>GP,Register_color_recognition_fixed:()=>BP,Register_color_recognition_fixed_SIMPLE:()=>nY,SCREEN_DISPLAY_IMAGE:()=>CP,SCREEN_DISPLAY_IMAGE_LOCATION:()=>SP,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>cP,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>gP,SHOOT_AND_SAVE_PICTURE:()=>lP,VOICE_RECOGNITION_CONTROL:()=>iP,yesorno:()=>tP});var $={};e.r($),e.d($,{MICROPYTHON_AI_Speech_asr:()=>pY,MICROPYTHON_AI_Speech_unit:()=>oY,MICROPYTHON_AI_client:()=>_Y});var Z={};e.r(Z),e.d(Z,{init_xunfei_Chinese_Model:()=>rY,init_xunfei_Spark_Ultra:()=>uY,init_xunfei_Spark_Ultra_clr_his:()=>IY,init_xunfei_vi:()=>aY,llm_set_callback:()=>TY,xunfei_Spark_Ultra_run:()=>lY,xunfei_vi_run:()=>dY});var ee={};e.r(ee),e.d(ee,{mpython_blynk_app_data:()=>LY,mpython_blynk_app_notify:()=>cY,mpython_blynk_email:()=>NY,mpython_blynk_get_timers:()=>CY,mpython_blynk_on_connected:()=>EY,mpython_blynk_on_disconnected:()=>mY,mpython_blynk_run:()=>RY,mpython_blynk_sensor_data_to_app:()=>AY,mpython_blynk_set_property:()=>DY,mpython_blynk_setup:()=>fY,mpython_blynk_stop_timers:()=>gY,mpython_blynk_sync_virtual:()=>hY,mpython_blynk_terminal_widget_vpin:()=>MY,mpython_blynktimer:()=>SY,mpython_blynktimer_run:()=>OY});var te={};e.r(te),e.d(te,{cc_g1_read_bat:()=>FY,cc_g1_read_joystick:()=>PY,cc_g1_read_key:()=>YY,cc_g1_turnoff:()=>vY});var ie={};e.r(ie),e.d(ie,{ce_go_dc_motor:()=>UY,ce_go_get_led_bright:()=>xY,ce_go_get_led_state:()=>bY,ce_go_hall_attachInterrupt:()=>wY,ce_go_hall_data:()=>kY,ce_go_hall_initialize:()=>HY,ce_go_led_bright:()=>yY,ce_go_led_brightness:()=>VY,ce_go_light_number:()=>XY,ce_go_pin_light:()=>qY,ce_go_pin_near:()=>KY,ce_go_pin_near_line:()=>WY,ce_go_pin_near_state_change:()=>JY,ce_go_stepper_keep:()=>BY,ce_go_stepper_stop:()=>GY,educore_car:()=>zY,educore_car_pin_near:()=>ev,educore_car_pin_near_line:()=>ZY,educore_car_stepper_keep:()=>jY,educore_car_stepper_stop:()=>$Y,sensor_mixgome_eulerangles:()=>QY});var ne={};e.r(ne),e.d(ne,{communicate_bluetooth_central_init:()=>yv,communicate_bluetooth_connect:()=>Vv,communicate_bluetooth_disconnect:()=>Bv,communicate_bluetooth_handle:()=>Wv,communicate_bluetooth_is_connected:()=>Uv,communicate_bluetooth_mac:()=>Gv,communicate_bluetooth_peripheral_init:()=>xv,communicate_bluetooth_recv:()=>kv,communicate_bluetooth_recv_only:()=>Hv,communicate_bluetooth_scan:()=>bv,communicate_bluetooth_send:()=>wv,communicate_espnow_init:()=>Kv,communicate_espnow_init_new:()=>Jv,communicate_i2c_available:()=>av,communicate_i2c_init:()=>nv,communicate_i2c_master_read:()=>pv,communicate_i2c_onboard:()=>tv,communicate_i2c_read:()=>sv,communicate_i2c_scan:()=>ov,communicate_i2c_write:()=>_v,communicate_ir_recv_init:()=>Av,communicate_ir_send_init:()=>Fv,communicate_ow_init:()=>Ov,communicate_ow_read:()=>gv,communicate_ow_reset:()=>cv,communicate_ow_scan:()=>Rv,communicate_ow_select:()=>Sv,communicate_ow_write:()=>Cv,communicate_spi_buffer:()=>lv,communicate_spi_init:()=>rv,communicate_spi_onboard:()=>iv,communicate_spi_read:()=>Iv,communicate_spi_read_output:()=>Tv,communicate_spi_readinto:()=>Mv,communicate_spi_readinto_output:()=>hv,communicate_spi_set:()=>dv,communicate_spi_write:()=>mv,communicate_spi_write_readinto:()=>Ev,espnow_radio_channel:()=>Zv,espnow_radio_channel_new:()=>tX,espnow_radio_on_off:()=>iX,espnow_radio_rec:()=>sX,espnow_radio_recv:()=>oX,espnow_radio_recv_certain_msg:()=>pX,espnow_radio_recv_certain_msg_new:()=>uX,espnow_radio_recv_msg:()=>_X,espnow_radio_recv_new:()=>aX,espnow_radio_send:()=>nX,espnow_radio_txpower:()=>eX,i2c_slave_onreceive:()=>uv,internal_variable:()=>Lv,ir_recv_timeout:()=>fv,ir_transmit_busy:()=>Xv,ir_transmit_conventional_data:()=>Pv,ir_transmit_raw_code:()=>vv,ir_transmit_study_code:()=>Yv,ir_whether_recv:()=>Dv,lora_init:()=>rX,lora_packet:()=>dX,lora_recv:()=>IX,lora_send:()=>lX,network_espnow_info:()=>qv,network_espnow_mac:()=>Qv,network_espnow_recv:()=>zv,network_espnow_recv_handle:()=>$v,network_espnow_send:()=>jv,recv_fun:()=>Nv,urequests_attribute:()=>MX,urequests_get:()=>TX,urequests_method:()=>hX});var se={};e.r(se),e.d(se,{display_animate:()=>UX,display_circle:()=>wX,display_color_seclet:()=>ZX,display_draw_4strings:()=>XX,display_fill:()=>GX,display_lcd_use_i2c_init:()=>_y,display_line:()=>bX,display_line_arbitrarily:()=>yX,display_matrix_extern_bright_point:()=>NX,display_matrix_extern_bright_screen:()=>fX,display_matrix_extern_clear:()=>SX,display_matrix_extern_get_pixel:()=>LX,display_matrix_extern_get_screen_pixel:()=>DX,display_matrix_extern_image_builtins:()=>FX,display_matrix_extern_scroll_string:()=>gX,display_matrix_extern_scroll_string_delay:()=>CX,display_matrix_extern_shift:()=>AX,display_matrix_extern_show_frame_string:()=>RX,display_matrix_extern_show_frame_string_delay:()=>cX,display_matrix_extern_show_image:()=>EX,display_matrix_extern_show_image_or_string_delay:()=>OX,display_matrix_use_i2c_init:()=>mX,display_oled_drawPixel:()=>WX,display_oled_showBitmap:()=>kX,display_oled_use_i2c_init:()=>ry,display_onoff:()=>VX,display_rect:()=>xX,display_tm1650_power:()=>JX,display_tm1650_set_brightness:()=>zX,display_tm1650_show_dot:()=>qX,display_tm1650_show_num:()=>QX,display_tm_use_i2c_init:()=>KX,display_triangle:()=>HX,display_use_i2c_init:()=>vX,extern_oled_bright_point:()=>gy,extern_oled_clear:()=>Oy,extern_oled_get_pixel:()=>cy,extern_oled_hvline:()=>Sy,extern_oled_line:()=>Ay,extern_oled_scroll_string:()=>my,extern_oled_scroll_string_delay:()=>Ey,extern_oled_shape_rect:()=>Cy,extern_oled_shift:()=>Ry,extern_oled_show_frame_string:()=>My,extern_oled_show_frame_string_delay:()=>hy,extern_oled_show_image:()=>dy,extern_oled_show_image_or_string_delay:()=>Ty,extern_oled_show_image_xy:()=>ly,extern_oled_show_string:()=>Iy,image_shift:()=>BX,lcd_backlight:()=>ay,lcd_clear:()=>uy,lcd_print_string:()=>py,lcd_show_image_or_string_delay:()=>oy,matrix_extern_image_arithmetic:()=>PX,matrix_extern_image_invert:()=>YX,tft_fill:()=>ny,tft_line_arbitrarily:()=>sy,tft_scroll_string_delay:()=>iy,tft_show_frame_string_delay:()=>ty,tft_show_image_or_string_delay:()=>ey,tft_show_image_xy:()=>$X,tft_use_spi_init:()=>jX});var _e={};e.r(_e),e.d(_e,{bitbot_display_bitmap_create:()=>Ex,bitbot_display_image_create:()=>mx,display_available:()=>By,display_bitmap_create:()=>by,display_bright_point:()=>ky,display_bright_screen:()=>Ky,display_clear:()=>Vy,display_get_pixel:()=>Hy,display_get_screen_pixel:()=>Wy,display_image_builtins:()=>Xy,display_image_builtins_all:()=>yy,display_image_create:()=>xy,display_scroll_string:()=>Fy,display_scroll_string_delay:()=>Py,display_scroll_way:()=>Yy,display_shift:()=>wy,display_show_frame_string:()=>Dy,display_show_frame_string_delay:()=>fy,display_show_image:()=>Ly,display_show_image_or_string_delay:()=>Ny,draw_pointer:()=>yx,image_arithmetic:()=>Gy,image_invert:()=>Uy,mixbot_display_bitmap_create:()=>lx,mixbot_display_bright_screen:()=>Mx,mixbot_display_get_ambientbright:()=>Tx,mixbot_display_get_screen_pixel:()=>Ix,mixbot_display_image_create:()=>dx,mixbot_display_rotate:()=>hx,mixgo_display_bitmap_create:()=>Zy,mixgo_display_image_create_new:()=>$y,mixgome_display_bitmap_create:()=>Qy,mixgome_display_font:()=>jy,mixgome_display_image_create:()=>Jy,mixgomini_display_bitmap_create:()=>zy,mixgomini_display_image_create:()=>qy,mpython_display_hvline:()=>ux,mpython_display_line:()=>rx,mpython_display_shape_rect:()=>ax,mpython_pbm_image:()=>ex,nova_draw_pointer:()=>xx,onboard_oled_bright_point:()=>px,onboard_oled_scroll_string_delay:()=>ox,onboard_oled_show_frame_string_delay:()=>_x,onboard_oled_show_image:()=>tx,onboard_oled_show_image_or_string_delay:()=>sx,onboard_oled_show_image_xy:()=>ix,onboard_oled_show_string:()=>nx,onboard_tft_bright_point:()=>Nx,onboard_tft_bright_screen:()=>kx,onboard_tft_clear:()=>Wx,onboard_tft_clock_clear:()=>vx,onboard_tft_clock_draw:()=>Yx,onboard_tft_clock_get_rtctime:()=>Fx,onboard_tft_clock_init:()=>fx,onboard_tft_clock_set_time:()=>Px,onboard_tft_display_hvline:()=>Sx,onboard_tft_display_line:()=>Ax,onboard_tft_display_shape_circle:()=>Xx,onboard_tft_display_shape_rect:()=>Cx,onboard_tft_fill:()=>Dx,onboard_tft_get_pixel:()=>Lx,onboard_tft_get_screen_pixel:()=>Hx,onboard_tft_scroll_string_delay:()=>vy,onboard_tft_shift:()=>wx,onboard_tft_show_frame_string:()=>Ux,onboard_tft_show_frame_string_delay:()=>gx,onboard_tft_show_image:()=>Gx,onboard_tft_show_image_or_string_delay:()=>cx,onboard_tft_show_image_xy:()=>Ox,onboard_tft_show_image_xy_direct:()=>Rx,onboard_tft_show_qrcode:()=>Vx,onboard_tft_show_qrcode_details:()=>Bx,onboard_tft_show_texts:()=>bx});var oe={};e.r(oe),e.d(oe,{factory_block:()=>Zx,factory_block_return:()=>eb,factory_block_return_with_textarea:()=>ib,factory_block_with_textarea:()=>tb,factory_callMethod_noreturn:()=>jx,factory_callMethod_return:()=>$x,factory_declare:()=>zx,factory_from_import:()=>Kx,factory_function_noreturn:()=>Qx,factory_function_return:()=>qx,factory_import:()=>Jx,folding_block:()=>nb});var pe={};e.r(pe),e.d(pe,{inout_analog_atten:()=>Eb,inout_analog_read:()=>db,inout_analog_read_init:()=>mb,inout_analog_write:()=>ab,inout_analog_write_init:()=>hb,inout_analog_write_set:()=>ub,inout_digital_init:()=>Tb,inout_digital_read:()=>ob,inout_digital_write:()=>_b,inout_highlow:()=>sb,inout_pin_attachInterrupt:()=>Ib,inout_pin_pressed:()=>lb,inout_pin_pressed_init:()=>Ob,inout_pwm_analog_write:()=>pb,inout_pwm_analog_write_init:()=>Mb,inout_pwm_analog_write_set_freq:()=>rb});var ae={};e.r(ae),e.d(ae,{IOT_CONNECT_OLLAMA:()=>Qb,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Bb,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>bb,IOT_EMQX_PING:()=>Gb,IOT_FORMATTING:()=>yb,IOT_FORMAT_STRING:()=>xb,IOT_MIXIO_NTP:()=>Ub,IOT_MIXIO_PUBLISH:()=>Nb,IOT_MIXIO_PUBLISHEX:()=>Db,IOT_MIXIO_SUBSCRIBE:()=>fb,iot_client_onboard:()=>wb,iot_connect_ollama:()=>Jb,iot_connect_openai:()=>qb,iot_http_client:()=>Hb,iot_http_data:()=>kb,iot_mixio_check:()=>Yb,iot_mixio_connect:()=>Lb,iot_mixio_connect_only:()=>Pb,iot_mixio_disconnect:()=>Fb,iot_mixio_format_msg:()=>Xb,iot_mixio_format_topic:()=>vb,iot_mixly_key:()=>Vb,iot_mqtt_client:()=>Wb,iot_mqtt_data:()=>Kb,iot_onenet_check:()=>Sb,iot_onenet_connect:()=>cb,iot_onenet_disconnect:()=>gb,iot_onenet_publish:()=>Ab,iot_onenet_publish_dict:()=>Cb,iot_tiny_web_db_count:()=>nV,iot_tiny_web_db_delete:()=>_V,iot_tiny_web_db_get:()=>iV,iot_tiny_web_db_init:()=>Zb,iot_tiny_web_db_init_with_mqtt:()=>eV,iot_tiny_web_db_search:()=>sV,iot_tiny_web_db_update:()=>tV,iot_wifi_connect:()=>Rb,ollama_empty_history:()=>$b,use_ollama_llm_to_chat:()=>zb,use_ollama_llm_to_chat_return:()=>jb});var ue={};e.r(ue),e.d(ue,{educore_mqtt_connect:()=>bV,educore_mqtt_connect_success:()=>UV,educore_mqtt_subscribe_message:()=>VV,educore_mqtt_topic_publish:()=>GV,educore_mqtt_topic_subscribe:()=>BV,educore_wifi_connect:()=>xV,network_ap_connect:()=>TV,network_connect:()=>pV,network_get_connect:()=>uV,network_get_wifi:()=>IV,network_init:()=>oV,network_is_active:()=>lV,network_open:()=>dV,network_scan:()=>MV,network_server:()=>hV,network_socket_accept:()=>cV,network_socket_bind:()=>EV,network_socket_close:()=>NV,network_socket_connect:()=>OV,network_socket_init:()=>mV,network_socket_listen:()=>RV,network_socket_readline:()=>gV,network_socket_receive:()=>CV,network_socket_receive_from:()=>AV,network_socket_send:()=>SV,network_socket_send_to:()=>LV,network_stop:()=>rV,network_wifi_connect:()=>aV,ntptime_address:()=>YV,ntptime_time:()=>PV,requests_attribute:()=>fV,requests_attribute2:()=>XV,requests_get:()=>DV,requests_get2:()=>vV,requests_method:()=>FV,requests_post:()=>yV});var re={};e.r(re),e.d(re,{CI130X_BROADCAST:()=>rB,CI130X_GET_THE_RECOGNIZED_CMD:()=>uB,CI130X_GET_WHETHER_IDENTIFY:()=>aB,CI130X_IDENTIFY_AND_SAVE:()=>pB,CI130X_SET_SYSTEM_CMD:()=>dB,HCSR04:()=>HB,PS2_Button:()=>KB,PS2_Buttons:()=>JB,PS2_Buttons_new:()=>tG,PS2_State:()=>QB,PS2_init:()=>kB,PS2_init_new:()=>ZB,PS2_stk:()=>qB,PS2_stk_new:()=>iG,PS2_vibration:()=>WB,PS2_vibration_new:()=>eG,RTC_get_time:()=>jB,RTC_set_date:()=>qV,RTC_set_datetime:()=>zB,RTC_set_time:()=>QV,camera_sensor_init:()=>vG,camera_sensor_result:()=>XG,column_tube_foot:()=>VG,define_keyboards:()=>BG,educore_body_sensor:()=>CG,educore_button_sensor_extern:()=>NG,educore_camera_sensor:()=>YG,educore_infrared_sensor:()=>LG,educore_soilhum_sensor:()=>SG,educore_temp_sensor:()=>PG,educore_temphum_sensor:()=>AG,educore_ultrasonic_sensor:()=>fG,esp32_s2_weather_init:()=>BB,esp32_s2_weather_rain:()=>UB,esp32_s2_weather_wd:()=>GB,esp32_s2_weather_ws:()=>wB,extern_rfid_read:()=>NB,extern_rfid_readcontent:()=>fB,extern_rfid_readid:()=>DB,extern_rfid_status:()=>YB,extern_rfid_write:()=>FB,extern_rfid_write_return:()=>PB,get_keboards_value:()=>UG,gnss_get_data:()=>_G,gnss_have_data:()=>oG,init_init_rotary_encoder:()=>wG,init_matrix_keyboard:()=>GG,interaction_whether_to_interaction:()=>_B,interaction_whether_to_interaction_SANT:()=>oB,line_tube_foot:()=>bG,mixbot_sensor_extern_get_addr:()=>hG,mixbot_sensor_extern_set_addr:()=>mG,pm25_get_data:()=>sG,radar_set_DETECTION_THRESHOLD:()=>nB,radar_set_DETECTION_THRESHOLD_SANT:()=>sB,robot_button_extern_get_value:()=>aG,robot_color_extern_get_value:()=>IG,robot_infrared_extern_get_value:()=>rG,robot_infrared_extern_grey_get_value:()=>dG,robot_potentiometer_extern_get_value:()=>lG,robot_sonar_extern_get_value:()=>TG,robot_sonar_extern_led:()=>MG,robot_touch_extern_get_value:()=>uG,rotary_key:()=>HG,sensor_APDS9960_extern:()=>IB,sensor_DS18X20:()=>gG,sensor_LTR308_extern:()=>TB,sensor_LTR390UV_extern:()=>cB,sensor_MAX30102_extern:()=>lB,sensor_QMC5883L_extern:()=>gB,sensor_VL530LX_extern:()=>AB,sensor_aht11_extern:()=>SB,sensor_bmp:()=>eB,sensor_dht11:()=>$B,sensor_distance_hrsc04:()=>JV,sensor_hp203_extern:()=>MB,sensor_ltr381_extern:()=>OB,sensor_mixgo_extern_button_attachInterrupt:()=>WV,sensor_mixgo_extern_button_get_presses:()=>kV,sensor_mixgo_extern_button_is_pressed:()=>wV,sensor_mixgo_extern_button_was_pressed:()=>HV,sensor_mixgo_extern_light:()=>zV,sensor_mixgo_extern_pin_near:()=>$V,sensor_mixgo_extern_sound:()=>jV,sensor_mixgoce_hot_wheel_degrees:()=>VB,sensor_mixgoce_hot_wheel_is_touched:()=>bB,sensor_mpu9250_attachGestureInterrupt:()=>KV,sensor_ms5611_extern:()=>mB,sensor_ms5611_extern_altitude:()=>EB,sensor_read_humiture:()=>DG,sensor_rtc_init:()=>ZV,sensor_sht:()=>tB,sensor_shtc3_extern:()=>CB,sensor_spl06_001_extern:()=>hB,sensor_ucs12071_extern:()=>RB,sensor_use_i2c_init:()=>iB,sensor_use_spi_init:()=>LB,sensor_use_uart_init:()=>nG,sensor_weather_solo_init:()=>EG,sensor_weather_solo_rain:()=>cG,sensor_weather_solo_wd:()=>OG,sensor_weather_solo_ws:()=>RG,sensor_weigh_init:()=>yG,tvoc_get_data:()=>pG,ultrasonic_sensor_read_distance:()=>FG,weather_data:()=>vB,weather_have_data:()=>XB,weather_set_label:()=>xB,weather_uart_mixio:()=>yB,weigh_sensor_get_weight:()=>xG});var de={};e.r(de),e.d(de,{HCSR04:()=>$G,bitbot_als_num:()=>Rw,dht11:()=>Dw,educore_button_sensor:()=>yw,educore_button_was_pressed:()=>xw,educore_gyroscope_sensor:()=>Yw,educore_gyroscope_sensor_read:()=>vw,educore_gyroscope_sensor_shake:()=>Xw,educore_light_sensor:()=>Pw,educore_rfid_sensor:()=>bw,educore_rfid_sensor_scan:()=>Vw,educore_rfid_sensor_scan_data:()=>Bw,educore_voice_sensor:()=>fw,number1:()=>ZG,number2:()=>eU,number3:()=>tU,number4:()=>iU,number5:()=>nU,number6:()=>sU,number7:()=>_U,onboard_RTC_get_time:()=>zU,onboard_RTC_get_time_str:()=>ZU,onboard_RTC_get_timestamp:()=>jU,onboard_RTC_get_timetuple_to_str:()=>ew,onboard_RTC_set_datetime:()=>QU,onboard_RTC_settime_string:()=>qU,onboard_RTC_timestamp_totuple:()=>$U,rfid_readcontent:()=>cU,rfid_readid:()=>RU,rfid_status:()=>SU,rfid_write:()=>gU,rfid_write_return:()=>CU,sensor_LTR308:()=>MU,sensor_adxl345_get_acceleration:()=>vU,sensor_aht11:()=>EU,sensor_bitbot_ALS:()=>Ow,sensor_button_get_presses:()=>Cw,sensor_button_is_pressed:()=>cw,sensor_button_was_pressed:()=>gw,sensor_compass_reset:()=>BU,sensor_ds18x20:()=>IU,sensor_eulerangles:()=>LU,sensor_get_acceleration:()=>AU,sensor_get_temperature:()=>OU,sensor_get_the_coprocessor_version:()=>Gw,sensor_hp203:()=>mU,sensor_light:()=>Nw,sensor_lm35:()=>TU,sensor_mixbot_get_gyro:()=>Ew,sensor_mixbot_patrol_calibrate:()=>Mw,sensor_mixbot_patrol_value:()=>hw,sensor_mixbot_temperature:()=>mw,sensor_mixgo_LTR308:()=>rU,sensor_mixgo_button_attachInterrupt:()=>JG,sensor_mixgo_button_get_presses:()=>KG,sensor_mixgo_button_is_pressed:()=>kG,sensor_mixgo_button_was_pressed:()=>WG,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>nw,sensor_mixgo_cc_mmc5603_get_angle:()=>iw,sensor_mixgo_cc_mmc5603_get_magnetic:()=>tw,sensor_mixgo_light:()=>Lw,sensor_mixgo_nova_LTR308:()=>lU,sensor_mixgo_nova_pin_near:()=>uU,sensor_mixgo_pin_near:()=>aU,sensor_mixgo_pin_near_double:()=>pU,sensor_mixgo_pin_near_single:()=>oU,sensor_mixgo_pin_pressed:()=>PU,sensor_mixgo_sant_color:()=>dU,sensor_mixgo_touch_slide:()=>FU,sensor_mixgocar42_button_attachInterrupt:()=>jG,sensor_mixgocar42_button_get_presses:()=>zG,sensor_mixgocar42_button_is_pressed:()=>QG,sensor_mixgocar42_button_was_pressed:()=>qG,sensor_mixgocar_battery_left:()=>Tw,sensor_mixgocar_pin_near:()=>lw,sensor_mixgocar_pin_near_line:()=>dw,sensor_mixgocar_pin_near_state_change:()=>Iw,sensor_mixgoce_pin_pressed:()=>fU,sensor_mixgoce_temperature:()=>_w,sensor_mixgome_temperature:()=>sw,sensor_mpu9250_calibrate_compass:()=>xU,sensor_mpu9250_field_strength:()=>VU,sensor_mpu9250_gesture:()=>NU,sensor_mpu9250_get_acceleration:()=>DU,sensor_mpu9250_get_gyro:()=>yU,sensor_mpu9250_get_magnetic:()=>XU,sensor_mpu9250_temperature:()=>bU,sensor_mpython_pin_pressed:()=>YU,sensor_mpython_qmi8658_get_gyro:()=>ow,sensor_mpython_qmi8658_temperature:()=>pw,sensor_onboard_compass_reset:()=>JU,sensor_onboard_mpu9250_calibrate_compass:()=>kU,sensor_onboard_mpu9250_field_strength:()=>KU,sensor_onboard_mpu9250_gesture:()=>GU,sensor_onboard_mpu9250_get_acceleration:()=>UU,sensor_onboard_mpu9250_get_gyro:()=>HU,sensor_onboard_mpu9250_get_magnetic:()=>wU,sensor_onboard_mpu9250_temperature:()=>WU,sensor_pin_near:()=>Aw,sensor_pin_pressed:()=>Sw,sensor_read:()=>Fw,sensor_rm_acc:()=>rw,sensor_rm_battery_left:()=>uw,sensor_rm_pin_near_double:()=>aw,sensor_sound:()=>hU,simulated_light_sensor:()=>Uw});var le={};e.r(le),e.d(le,{serial_any:()=>Kw,serial_print:()=>ww,serial_print_byte:()=>Hw,serial_print_hex:()=>Ww,serial_println:()=>kw,serial_read_from_ai:()=>nH,serial_readline:()=>Qw,serial_readstr:()=>Jw,serial_send_to_ai:()=>iH,serial_softserial:()=>qw,serial_softserial_new:()=>zw,system_input:()=>jw,system_print:()=>$w,system_print_end:()=>eH,system_print_inline:()=>Zw,system_print_many:()=>tH});var Ie={};e.r(Ie),e.d(Ie,{Panic_with_status_code:()=>MH,Timer_init:()=>PH,base_delay:()=>XH,controls_delay:()=>RH,controls_delay_new:()=>cH,controls_end_program:()=>mH,controls_millis:()=>hH,controls_uname:()=>OH,reset:()=>EH,set_system_timer:()=>CH,system_bitbot_shutdown:()=>FH,system_device_name:()=>IH,system_device_serial_number:()=>TH,system_event_bus_source:()=>dH,system_event_bus_value:()=>lH,system_machine_reset:()=>fH,system_on_event:()=>aH,system_raise_event:()=>pH,system_reset:()=>_H,system_run_in_background:()=>sH,system_ticks_diff:()=>SH,system_timer:()=>LH,system_timer_init:()=>AH,system_timestamp:()=>uH,system_value:()=>rH,system_wait:()=>oH,system_wdt_feed:()=>DH,system_wdt_init:()=>NH,time_ticks_diff:()=>vH,timer:()=>gH,timer2:()=>YH});var Te={};e.r(Te),e.d(Te,{Air_daily_content:()=>JH,Air_now_content:()=>GH,Geo_moon_content:()=>qH,Geo_sun_content:()=>QH,Life_suggestion_content:()=>wH,Location_search_content:()=>kH,Tide_daily_content:()=>HH,WEATHER_DAILY:()=>xH,WEATHER_HOUR:()=>bH,WEATHER_NOW:()=>yH,Weather_alarm_content:()=>UH,Weather_daily:()=>WH,Weather_daily_content:()=>KH,Weather_now:()=>VH,Weather_now_content:()=>BH});var Me={};e.r(Me),e.d(Me,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>$H});var he={};e.r(he),e.d(he,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>ek});var me={};e.r(me),e.d(me,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>ik});var Ee={};e.r(Ee),e.d(Ee,{controls_pin_attachInterrupt:()=>gk,inout_analog_atten:()=>lk,inout_analog_write:()=>rk,inout_analog_write_init:()=>hk,inout_analog_write_set:()=>dk,inout_analog_write_set_freq:()=>Ek,inout_digital_init:()=>Mk,inout_digital_read:()=>uk,inout_digital_write:()=>ak,inout_highlow:()=>pk,inout_pinMode:()=>Ok,inout_pin_attachInterrupt:()=>Tk,inout_pin_pressed:()=>Ik,inout_pin_pressed_init:()=>mk,pin_pressed:()=>ck,pin_pressed_init:()=>Rk});var Oe={};e.r(Oe),e.d(Oe,{mini_g2_aht11:()=>Sk,mini_g2_hp203:()=>Ak,mini_g2_rfid_readcontent:()=>Dk,mini_g2_rfid_readid:()=>Nk,mini_g2_rfid_status:()=>Pk,mini_g2_rfid_write:()=>fk,mini_g2_rfid_write_outcome:()=>Fk,mini_g2_varistor:()=>Lk});var Re={};e.r(Re),e.d(Re,{me_go_dc_motor:()=>Gk,me_go_get_led_bright:()=>yk,me_go_get_led_state:()=>xk,me_go_hall_attachInterrupt:()=>Uk,me_go_hall_data:()=>Hk,me_go_hall_initialize:()=>wk,me_go_led_bright:()=>Xk,me_go_led_brightness:()=>bk,me_go_light_number:()=>vk,me_go_pin_light:()=>Qk,me_go_pin_near:()=>Wk,me_go_pin_near_line:()=>kk,me_go_pin_near_state_change:()=>Kk,me_go_stepper_keep:()=>Vk,me_go_stepper_stop:()=>Bk,sensor_mixgome_eulerangles:()=>Jk});var ce={};e.r(ce),e.d(ce,{analog_input:()=>nW,analog_output:()=>_W,espnow_channel:()=>eW,haskylens_model:()=>tW,i2c_A_pin:()=>oW,i2c_B_pin:()=>pW,pins_analog:()=>lW,pins_analog_pin:()=>IW,pins_axis:()=>FW,pins_brightness:()=>PW,pins_builtinimg:()=>CW,pins_builtinimg_extern:()=>SW,pins_button:()=>hW,pins_buttonB:()=>mW,pins_dac:()=>TW,pins_dac_pin:()=>MW,pins_digital:()=>zk,pins_digital_dot:()=>BW,pins_digital_pin:()=>jk,pins_exlcdh:()=>DW,pins_exlcdv:()=>fW,pins_imglist:()=>AW,pins_input_pin:()=>$k,pins_one_more:()=>VW,pins_output_pin:()=>Zk,pins_playlist:()=>LW,pins_playlist_extern:()=>NW,pins_pwm:()=>EW,pins_pwm_pin:()=>OW,pins_radio_datarate:()=>bW,pins_radio_power:()=>xW,pins_serial:()=>gW,pins_tone_notes:()=>yW,pins_touch:()=>cW,pins_touch_pin:()=>RW,pins_tts_bgmusic:()=>XW,pins_tts_builtin_music:()=>vW,pins_tts_voice:()=>YW,pwm_input:()=>iW,pwm_output:()=>sW,spi_A_pin:()=>aW,spi_B_pin:()=>uW,spi_C_pin:()=>rW,spi_D_pin:()=>dW,timer_id_pin:()=>GW});var ge={};e.r(ge),e.d(ge,{actuator_neopixel_init:()=>UW});var Ce={};e.r(Ce),e.d(Ce,{inout_analog_atten:()=>jW,inout_analog_write:()=>WW,inout_analog_write_init:()=>zW,inout_analog_write_set:()=>KW,inout_digital_init:()=>qW,inout_digital_read:()=>kW,inout_digital_write:()=>HW,inout_highlow:()=>wW,inout_pin_attachInterrupt:()=>QW,inout_pin_pressed:()=>JW,inout_pin_pressed_init:()=>$W});var Se={};e.r(Se),e.d(Se,{mini_g2_aht11:()=>ZW,mini_g2_hp203:()=>eK,mini_g2_rfid_readcontent:()=>nK,mini_g2_rfid_readid:()=>iK,mini_g2_rfid_status:()=>oK,mini_g2_rfid_write:()=>sK,mini_g2_rfid_write_outcome:()=>_K,mini_g2_varistor:()=>tK});var Ae={};e.r(Ae),e.d(Ae,{me_go_dc_motor:()=>TK,me_go_get_led_bright:()=>uK,me_go_get_led_state:()=>rK,me_go_hall_attachInterrupt:()=>MK,me_go_hall_data:()=>mK,me_go_hall_initialize:()=>hK,me_go_led_bright:()=>aK,me_go_led_brightness:()=>dK,me_go_light_number:()=>pK,me_go_pin_light:()=>gK,me_go_pin_near:()=>OK,me_go_pin_near_line:()=>EK,me_go_pin_near_state_change:()=>RK,me_go_stepper_keep:()=>lK,me_go_stepper_stop:()=>IK,sensor_mixgome_eulerangles:()=>cK});var Le={};e.r(Le),e.d(Le,{analog_input:()=>YK,analog_output:()=>XK,espnow_channel:()=>FK,haskylens_model:()=>PK,i2c_A_pin:()=>yK,i2c_B_pin:()=>xK,pins_analog:()=>wK,pins_analog_pin:()=>UK,pins_axis:()=>iJ,pins_brightness:()=>_J,pins_builtinimg:()=>jK,pins_builtinimg_extern:()=>$K,pins_button:()=>SK,pins_buttonB:()=>AK,pins_dac:()=>KK,pins_dac_pin:()=>WK,pins_digital:()=>CK,pins_digital_dot:()=>IJ,pins_digital_pin:()=>LK,pins_exlcdh:()=>nJ,pins_exlcdv:()=>sJ,pins_imglist:()=>ZK,pins_input_pin:()=>NK,pins_interrupt:()=>qK,pins_one_more:()=>lJ,pins_output_pin:()=>DK,pins_playlist:()=>eJ,pins_playlist_extern:()=>tJ,pins_pwm:()=>kK,pins_pwm_input:()=>fK,pins_pwm_pin:()=>HK,pins_radio_datarate:()=>dJ,pins_radio_power:()=>rJ,pins_serial:()=>zK,pins_tone_notes:()=>uJ,pins_touch:()=>QK,pins_touch_pin:()=>JK,pins_tts_bgmusic:()=>aJ,pins_tts_builtin_music:()=>pJ,pins_tts_voice:()=>oJ,pwm_output:()=>vK,spi_A_pin:()=>bK,spi_B_pin:()=>VK,spi_C_pin:()=>BK,spi_D_pin:()=>GK,timer_id_pin:()=>TJ});const Ne=Blockly,De=Mixly,fe={NAME_TYPE:"VARIABLE",allVariables:function(e){var t;if(e.getDescendants)t=e.getDescendants();else{if(!e.getAllBlocks)throw"Not Block or Workspace: "+e;t=e.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Fe=fe; -/** - * @license - * Visual Blocks Editor - * - * Copyright 2012 Google Inc. - * https://developers.google.com/blockly/ - * - * 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. - */ -class Pe{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Ne.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Ne.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ne.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Ne.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(Ne.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ne.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},ze={init:function(){this.setColour(ke),this.appendValueInput("FROM").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.PYTHON_RANGE).appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ne.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},je={init:function(){this.setColour(ke),this.appendValueInput("LIST").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Ne.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Ne.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Ne.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},$e={init:function(){this.setColour(ke),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Ne.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Ne.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Ne.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Ne.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:Ne.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Ne.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},Ze={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Ne.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ne.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Ne.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Ne.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ne.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Ne.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ne.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},et={init:function(){this.setColour(ke);var e=new Ne.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(Ne.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Ne.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:Ne.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Ne.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(Ne.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},tt={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Ne.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Ne.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return Ne.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},it={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Ne.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Ne.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return Ne.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};$e.OPERATORS=[[Ne.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Ne.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],et.OPERATORS=[[Ne.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Ne.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const nt={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Ne.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},st={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},_t={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Ne.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},ot={init:function(){this.setColour(ke),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},pt={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Ne.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},at={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Ne.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},ut={init:function(){this.jsonInit({message0:Ne.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:ke,tooltip:Ne.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Ne.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},rt={init:function(){this.setColour(ke),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Ne.Msg.MIXLY_STAT),this.setOutput(!0)}},dt={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},lt={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Ne.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},It={init:function(){this.appendDummyInput().appendField(Ne.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Ne.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Ne.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Ne.FieldDropdown([[Ne.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Ne.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ke),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Tt={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mt={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ht={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},mt={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ne.Msg.PROCEDURES_DEFRETURN_RETURN+Ne.Msg.MIXLY_GET_UNIQUE_IDEN)}},Et={init:function(){this.setColour(ke),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Ne.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Ot={init:function(){this.setColour(ke),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Rt=230;Ne.FieldTextInput.math_number_validator=function(e){return String(e)},Ne.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const ct={init:function(){this.setColour(Rt),this.appendDummyInput().appendField(new Ne.FieldTextInput("0",Ne.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MATH_NUMBER_TOOLTIP)}},gt={init:function(){this.setColour(Rt);this.appendDummyInput("").appendField(Ne.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Ne.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:Ne.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Ne.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},Ct={init:function(){this.setColour(Rt);this.appendDummyInput("").appendField(Ne.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Ne.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:Ne.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Ne.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},St={init:function(){this.setColour(Rt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ne.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Ne.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},At={init:function(){this.setColour(Rt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ne.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Ne.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Ne.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Lt={init:function(){this.setColour(Rt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Ne.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Nt={init:function(){this.setColour(Rt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Ne.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:Ne.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Ne.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Ne.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Ne.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Ne.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Ne.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Ne.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},Dt={init:function(){var e=[[Ne.Msg.MATH_BIN,"bin"],[Ne.Msg.MATH_OCT,"oct"],[Ne.Msg.MATH_HEX,"hex"]];this.setColour(Rt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Ne.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:Ne.Msg.MATH_DEC_TOOLTIP_BIN,oct:Ne.Msg.MATH_DEC_TOOLTIP_OCT,hex:Ne.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},ft={init:function(){var e=[[Ne.Msg.LANG_MATH_TO_ROUND,"round"],[Ne.Msg.LANG_MATH_TO_CEIL,"ceil"],[Ne.Msg.LANG_MATH_TO_FLOOR,"floor"],[Ne.Msg.MATH_ABS,"fabs"],[Ne.Msg.MATH_SQRT,"sqrt"]];this.setColour(Rt),this.appendValueInput("A").setCheck(Number).appendField(new Ne.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:Ne.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Ne.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Ne.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Ne.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Ne.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Ne.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},Ft={init:function(){var e=[[Ne.Msg.MIXLY_MAX,"max"],[Ne.Msg.MIXLY_MIN,"min"]];this.setColour(Rt),this.appendValueInput("A").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(new Ne.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Ne.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:Ne.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Ne.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},Pt={init:function(){var e=[[Ne.Msg.MATH_TWO,"two"],[Ne.Msg.MATH_EIGHT,"eight"],[Ne.Msg.MATH_TEN,"ten"],[Ne.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Rt),this.appendDummyInput("").appendField(Ne.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Ne.FieldDropdown(e),"OP").appendField(Ne.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Ne.Msg.MATH_ZHW).appendField(new Ne.FieldDropdown(e),"OP2").appendField(Ne.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:Ne.Msg.MATH_Before_two,eight:Ne.Msg.MATH_Before_eight,ten:Ne.Msg.MATH_Before_ten,sixteen:Ne.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:Ne.Msg.MATH_Behind_two,eight:Ne.Msg.MATH_Behind_eight,ten:Ne.Msg.MATH_Behind_ten,sixteen:Ne.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},Yt={init:function(){var e=[[Ne.Msg.LANG_MATH_INT,"int"],[Ne.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Rt),this.setOutput(!0,Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Ne.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Ne.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:Ne.Msg.LANG_MATH_INT,float:Ne.Msg.LANG_MATH_FLOAT_RANDOM};return Ne.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},vt={init:function(){this.setColour(Rt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Ne.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Ne.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Ne.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MATH_CONSTRAIN_TOOLTIP)}},Xt={init:function(){this.setColour(Rt),this.appendValueInput("NUM",Number).appendField(Ne.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Ne.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Ne.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_MATH_MAP)}},yt={init:function(){this.setColour(Rt),this.appendDummyInput().appendField(new Ne.FieldTextInput("0",Ne.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Ne.Msg.MATH_NUMBER_TOOLTIP)}},xt={init:function(){this.setColour(Rt),this.appendValueInput("NUM").setCheck(Number).appendField(Ne.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},bt={init:function(){this.setColour(Rt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Ne.Msg.MATH_ROUND).appendField(Ne.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Ne.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MATH_ROUND_NEW_TOOLTIP)}},Vt={init:function(){var e=[[Ne.Msg.MIXLY_TO_INT,"int"],[Ne.Msg.MIXLY_TO_FLOAT,"float"],[Ne.Msg.MIXLY_TO_BITES,"b"],[Ne.Msg.LANG_MATH_BYTE+Ne.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Rt),this.appendValueInput("VAR").appendField(new Ne.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:Ne.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Ne.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Ne.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Bt={init:function(){var e=[[Ne.Msg.MIXLY_TO_INT,"int"],[Ne.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Rt),this.appendValueInput("VAR").appendField(new Ne.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:Ne.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Ne.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},Gt=Xt,Ut={init:function(){this.setColour(Rt),this.appendValueInput("VAR").appendField(Ne.Msg.LANG_MATH_BYTE+Ne.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},wt={init:function(){this.setColour(Rt),this.itemCount_=1,this.setMutator(new Ne.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Ne.Msg.MIXLY_PRODUCT+Ne.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Ne.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Ne.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Ne.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const qt={init:function(){this.setColour(Wt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Ne.FieldTextInput("",Ne.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new Ne.FieldImage(t,7,12,'"')}},zt={init:function(){this.setColour(Wt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Ne.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},jt={init:function(){this.setColour(Wt),this.appendValueInput("VAR").setCheck(Number).appendField(Ne.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},$t={init:function(){this.setColour(Wt),this.appendValueInput("VAR").setCheck(String).appendField(Ne.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Zt={init:function(){this.setColour(Wt),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ei={init:function(){this.setColour(Wt),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ti={init:function(){this.WHERE_OPTIONS=[[Ne.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Ne.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Ne.Msg.TEXT_GET_INDEX_RANDOM+1+Ne.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Ne.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.LISTS_GET_INDEX_GET,"MODE"),Ne.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Ne.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=Ne.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Ne.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Ne.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Ne.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Ne.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Ne.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:Ne.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Ne.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Ne.Msg.TEXT_GET_INDEX_RANDOM};return Ne.Msg.PROCEDURES_DEFRETURN_RETURN+Ne.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+Ne.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==Ne.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),Ne.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Ne.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new Ne.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),Ne.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},ii={init:function(){this.setHelpUrl(Ne.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Ne.Msg.LISTS_GET_INDEX_GET+" "+Ne.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Ne.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Ne.Msg.PROCEDURES_DEFRETURN_RETURN+Ne.Msg.MIXLY_MICROBIT_TYPE_STRING+Ne.Msg.LISTS_GET_INDEX_FROM_START+"n"+Ne.Msg.TEXT_CHARAT2)}},ni={init:function(){this.setHelpUrl(Ne.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Ne.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Ne.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},si={init:function(){this.WHERE_OPTIONS_1=[[Ne.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Ne.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Ne.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Ne.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Ne.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Ne.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Ne.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Ne.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==Ne.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==Ne.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),Ne.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(Ne.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new Ne.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},_i={init:function(){this.setHelpUrl(Ne.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Ne.Msg.LISTS_GET_INDEX_GET+" "+Ne.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Ne.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Ne.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Ne.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},oi={init:function(){var e=[[Ne.Msg.MIXLY_EQUALS,"==="],[Ne.Msg.MIXLY_STARTSWITH,"startswith"],[Ne.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Wt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Ne.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},pi={init:function(){this.setColour(Wt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Ne.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_COMPARETO_HELP)}},ai={init:function(){var e=[[Ne.Msg.TEXT_UPPER,"upper"],[Ne.Msg.TEXT_TITLE,"title"],[Ne.Msg.TEXT_CAPITALIZE,"capitalize"],[Ne.Msg.TEXT_SWAPCASE,"swapcase"],[Ne.Msg.TEXT_LOWER,"lower"]];this.setColour(Wt),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Ne.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:Ne.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Ne.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Ne.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Ne.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Ne.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},ui={init:function(){var e=[[Ne.Msg.TEXT_LJUST,"ljust"],[Ne.Msg.TEXT_CENTER,"center"],[Ne.Msg.TEXT_RJUST,"rjust"]];this.setColour(Wt),this.appendValueInput("VAR").appendField(new Ne.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Ne.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Ne.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ri={init:function(){this.setColour(Wt),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Ne.Msg.MIXLY_MID+Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Ne.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},di={init:function(){this.setColour(Wt),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Ne.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},li={init:function(){this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Ne.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Ne.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Ii={init:function(){this.setColour(Wt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Ne.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Ne.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Ne.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Ti={init:function(){var e=[[Ne.Msg.TEXT_TRIM_BOTH,"strip"],[Ne.Msg.TEXT_TRIM_LEFT,"lstrip"],[Ne.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Wt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Ne.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Ne.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(Ne.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:Ne.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Ne.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Ne.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},Mi={init:function(){this.setColour(Wt),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Ne.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Ne.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Ne.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ln={init:function(){this.setColour(rn),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Ne.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},In={init:function(){this.setColour(rn),this.appendDummyInput().appendField(Ne.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Tn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ne.Msg.DICT_KEYS),this.setTooltip(Ne.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Mn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ne.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Ne.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Ne.Msg.DICTS_GET_TOOLTIP)}},hn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ne.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Ne.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Ne.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Ne.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},mn={init:function(){this.setColour(rn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Ne.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Ne.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},En={init:function(){this.setColour(rn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Ne.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Ne.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.DICTS_DELETE_TOOLTIP)}},On={init:function(){this.setColour(rn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Ne.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Ne.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MID),this.setTooltip(Ne.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ne.Msg.DICT_CLEAR),this.setTooltip(Ne.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ne.Msg.DICT_ITEMS),this.setTooltip(Ne.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},gn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ne.Msg.DICT_VALUES),this.setTooltip(Ne.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Cn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_LENGTH),this.setTooltip(Ne.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Sn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ne.Msg.DICT_DELDICT),this.setTooltip(Ne.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},An={init:function(){this.MODE=[[Ne.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Ne.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Ne.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Ne.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=Ne.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=Ne.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==Ne.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new Ne.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},Ln={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ne.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Ne.Msg.DICTS_ADD_VALUE),this.setTooltip(Ne.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Nn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ne.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Ne.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Dn={init:function(){this.setColour(rn),this.appendDummyInput("").appendField(new Ne.FieldLabel(Ne.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Ne.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Ne.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},fn={init:function(){this.setColour(rn),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Ne.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Fn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_TO_JSON),this.setTooltip(Ne.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Pn={init:function(){this.setColour(rn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Ne.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Yn={init:function(){this.setColour(rn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},vn={init:function(){this.setColour(rn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_TO_JSON),this.setTooltip(Ne.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Xn=210,yn={init:function(){var e=Ne.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Xn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ne.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:Ne.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Ne.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Ne.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Ne.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Ne.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Ne.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},xn={init:function(){var e=Ne.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=Ne.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Xn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ne.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new Ne.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},bn={init:function(){var e=[[Ne.Msg.LOGIC_OPERATION_AND,"AND"],[Ne.Msg.LOGIC_OPERATION_OR,"OR"],[Ne.Msg.LOGIC_OPERATION_NOR,"NOR"],[Ne.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Xn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Ne.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:Ne.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Ne.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Ne.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Ne.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},Vn={init:function(){this.setColour(Xn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Ne.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Ne.Msg.LOGIC_NEGATE_TOOLTIP)}},Bn={init:function(){var e=[[Ne.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Ne.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Xn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Ne.FieldDropdown(e),"BOOL"),this.setTooltip(Ne.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Gn={init:function(){this.setColour(Xn),this.setOutput(!0),this.appendDummyInput().appendField(Ne.Msg.LOGIC_NULL),this.setTooltip(Ne.Msg.LOGIC_NULL_TOOLTIP)}},Un={init:function(){this.setColour(Xn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Ne.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Ne.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},wn={init:function(){var e=[[Ne.Msg.TEXT_APPEND_TO,"in"],[Ne.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Xn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Ne.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(Ne.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ne.Msg.IN)}},Hn={init:function(){var e=[[Ne.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Ne.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Xn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ne.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},kn={init:function(){this.setColour(Xn),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Ne.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Wn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Ne.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Ne.Msg.MIXLY_ADD,"a"],[Ne.Msg.MATH_BIN+Ne.Msg.MIXLY_ADD,"ab"],[Ne.Msg.MIXLY_R_W,"r+"],[Ne.Msg.MATH_BIN+Ne.Msg.MIXLY_R_W,"rb+"],[Ne.Msg.MIXLY_W_R,"w+"],[Ne.Msg.MATH_BIN+Ne.Msg.MIXLY_W_R,"wb+"],[Ne.Msg.MIXLY_A_R,"a+"],[Ne.Msg.MATH_BIN+Ne.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Ne.Msg.MIXLY_USE,n=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Ne.Msg.MIXLY_BELONG;return i+{r:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Ne.Msg.MIXLY_USE,n=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Ne.Msg.MIXLY_BELONG,o=Ne.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Ne.Msg.MIXPY_TEXT_ENCODE).appendField(new Ne.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Ne.Msg.MIXLY_USE,n=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Ne.Msg.MIXLY_BELONG,o=Ne.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},qn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Ne.Msg.MIXLY_MICROBIT_TYPE_STRING+Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MICROBIT_PYTHON_TYPE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ne.Msg.HTML_FILE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const ns={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},ps={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},as={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Ne.Msg.MIXLY_ESP32_SET+{mkdir:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},us={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Ne.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},rs={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},ds={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.HTML_FILE,"isfile"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ls={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Ne.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SETUP+Ne.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Ne.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Is={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Ne.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Ts={init:function(){var e=Ne.Procedures.findLegalName("",this),t=new Ne.FieldTextInput(e,Ne.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new Ne.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Ne.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Ne.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Ne.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Ne.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(Ne.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=Ne.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Ne.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{Ne.Events.enable()}},mutationToDom:function(e){var t=Ne.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Ne.Msg.MIXLY_AIP_ATTR).setAlign(Ne.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_={init:function(){this.setColour(n_),this.appendDummyInput().appendField(Ne.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},r_={init:function(){this.setColour(n_),this.appendDummyInput().appendField(Ne.Msg.HTML_FORM_CONTENT).appendField(new Ne.FieldDropdown([[Ne.Msg.HTML_TEXT,"text"],[Ne.Msg.HTML_EMAIL,"email"],[Ne.Msg.HTML_NUMBER,"number"],[Ne.Msg.HTML_PASSWORD,"password"],[Ne.Msg.HTML_CHECKBOX,"checkbox"],[Ne.Msg.HTML_RADIOBUTTON,"radiobutton"],[Ne.Msg.HTML_BUTTON,"button"],[Ne.Msg.HTML_COLOUR,"colour"],[Ne.Msg.HTML_DATE,"date"],[Ne.Msg.HTML_LOCALTIME,"local time"],[Ne.Msg.HTML_FILE,"file"],[Ne.Msg.HTML_HIDDEN,"hidden"],[Ne.Msg.HTML_IMAGE,"image"],[Ne.Msg.HTML_MONTH,"month"],[Ne.Msg.HTML_RANGE,"range"],[Ne.Msg.HTML_RESET,"reset"],[Ne.Msg.HTML_SEARCH,"search"],[Ne.Msg.HTML_SUBMIT,"submit"],[Ne.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Ne.Msg.HTML_TIME,"time"],[Ne.Msg.HTML_URL,"url"],[Ne.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Ne.Msg.HTML_NAME).appendField(new Ne.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Ne.Msg.HTML_VALUE).appendField(new Ne.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Ne.Msg.MIXLY_AIP_ATTR).setAlign(Ne.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},d_={init:function(){this.setColour(n_),this.appendDummyInput().appendField(new Ne.FieldTextInput("property"),"KEY").appendField(":").appendField(new Ne.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},l_={init:function(){this.setColour(n_),this.appendDummyInput().appendField(new Ne.FieldTextInput("property"),"KEY").appendField(":").appendField(new Ne.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},I_={init:function(){this.setColour(n_),this.appendDummyInput().appendField(Ne.Msg.HTML_TEXT).appendField(new Ne.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},T_=160,M_={init:function(){this.setColour(T_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Ne.FieldTable(""),"TEXT")}},h_={init:function(){this.setColour(T_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Ne.FieldMultilineInput(""),"TEXT")}},m_={init:function(){this.setColour(T_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Ne.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},E_={init:function(){this.setColour(T_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},O_={init:function(){this.setColour(T_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Ne.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},R_={init:function(){this.setColour(T_),this.appendValueInput("VALUE").appendField(Ne.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},c_={init:function(){this.setColour(T_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ne.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Ne.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=Ne.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},Ne.isNumber(n)&&Ne.isNumber(s)&&Ne.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const ma=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ea=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},Oa=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Ra=function(e,t){return["None",t.ORDER_ATOMIC]},ca=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},ga=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Ca=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Sa=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Aa=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},La=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Na=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},Da=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},fa=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Fa=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},Pa=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ya=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},va=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},Xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},ya=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},xa=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},ba=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},Va=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ba=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},Ga=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},Ua=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},wa=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},Ha=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},ka=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Wa=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Ka=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},Ja=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},Qa=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),Ne.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Fu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Pu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Yu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},vu=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Xu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},yu=function(e,t){return'"},xu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},bu=function(){return this.getFieldValue("TEXT")+"\n"},Vu=function(e){return e.getFieldValue("TEXT")+"\n"},Bu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},Gu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},Uu=function(){return""},wu=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},Hu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},Ju.scrubNakedValue=function(e){return e+"\n"},Ju.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},Ju.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},Ju.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=Ne.utils.string.wrap(_,Ju.COMMENT_WRAP-3),n+=Ju.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Qu="#74A55B",qu={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ne.Msg.MIXLY_RGB_PIN_COUNT)}},zu={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Ne.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},ju={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Ne.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},$u={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Ne.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Zu={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Ne.Msg.MIXLY_BACKSTAGE+Ne.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_BACKSTAGE+Ne.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},er={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Ne.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Ne.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},tr={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ir={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_RESET)}},nr={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sr={init:function(){this.setColour(Qu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Ne.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},_r={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING).appendField(Ne.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},or={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Ne.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},pr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Ne.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ar={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING).appendField(Ne.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},ur={init:function(){this.setColour(Qu),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_SETUP+Ne.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rr={init:function(){this.setColour(Qu),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_SERVO).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_SERVO_MOVE)}},dr={init:function(){this.setColour(Qu),this.appendValueInput("VAR").appendField("360°"+Ne.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_SETTING+Ne.Msg.blockpy_turtle_rotate+Ne.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},lr={init:function(){this.setColour(Qu),this.appendValueInput("PIN",Number).appendField("180°"+Ne.Msg.MIXLY_SERVO).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_SERVO_MOVE)}},Ir={init:function(){this.setColour(Qu),this.appendValueInput("PIN",Number).appendField("360°"+Ne.Msg.MIXLY_SERVO).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Tr={init:function(){this.setColour(Qu),this.appendValueInput("PIN",Number).appendField("180°"+Ne.Msg.MIXLY_SERVO).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Mr={init:function(){this.setColour(Qu),this.appendValueInput("PIN",Number).appendField("360°"+Ne.Msg.MIXLY_SERVO).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},hr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Ne.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Ne.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},mr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Direction).appendField(new Ne.FieldDropdown([[Ne.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Ne.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Ne.Msg.MOTOR_N,"ms32006.MOT_N"],[Ne.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Er={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Ne.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Direction).appendField(new Ne.FieldDropdown([[Ne.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Ne.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Or={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ne.Msg.MIXLY_RGB_PIN_COUNT)}},Rr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},cr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},gr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_WRI)}},Cr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.MIXLY_DURATION).appendField(Ne.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Sr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.PYTHON_RANGE_STEP).appendField(Ne.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ar={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(Ne.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Ne.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SETUP+Ne.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Ne.FieldDropdown([["SYN6288"+Ne.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Ne.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Lr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_WHETHER).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_STOPPED,"0"],[Ne.Msg.MIXLY_PLAYING,"1"],[Ne.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Nr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_STAT).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MP3_PLAY,"1"],[Ne.Msg.MIXLY_MP3_PAUSE,"2"],[Ne.Msg.MIXLY_STOP,"3"],[Ne.Msg.MIXLY_MP3_PREV,"4"],[Ne.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Ne.Msg.MIXLY_MP3_VOL+Ne.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MODE+Ne.Msg.MIXLY_STAT).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Ne.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Ne.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Ne.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Ne.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Ne.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Ne.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Pr={},Yr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Ne.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},vr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Xr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Ne.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Ne.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},yr={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Ne.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Ne.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Ne.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},xr={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},br={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_MOTOR).appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Vr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_MOTOR).appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Br={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.LISTS_SET_INDEX_SET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Ne.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Ne.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Ne.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Ne.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Ne.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Ne.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN).appendField(new Ne.FieldDropdown([[Ne.Msg.COLOUR_RGB_WHITE,"W"],[Ne.Msg.COLOUR_RGB_RED,"R"],[Ne.Msg.COLOUR_RGB_YELLOW,"Y"],[Ne.Msg.COLOUR_RGB_GREEN,"G"],[Ne.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ur={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN).appendField(new Ne.FieldDropdown([[Ne.Msg.COLOUR_RGB_WHITE,"W"],[Ne.Msg.COLOUR_RGB_RED,"R"],[Ne.Msg.COLOUR_RGB_YELLOW,"Y"],[Ne.Msg.COLOUR_RGB_GREEN,"G"],[Ne.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET+Ne.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_SERVO_MOTOR).appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Ne.Msg.MIXLY_SPEED,"[1]"],[Ne.Msg.MATH_SINGLE_OP_ABSOLUTE+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Ne.Msg.MIXLY_RELATIVE+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Ne.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Ne.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Ne.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_SERVO_MOTOR).appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Ne.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Ne.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_SERVO_MOTOR).appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_SERVO_MOTOR).appendField(Ne.Msg.MATH_SINGLE_OP_ABSOLUTE+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Ne.Msg.MSG.run).appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MODE).setAlign(Ne.inputs.Align.RIGHT).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_SPEED+Ne.Msg.MIXLY_MODE,"0"],[Ne.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Ne.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Ne.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Ne.inputs.Align.RIGHT).appendField(new Ne.FieldDropdown([[Ne.Msg.CLOCKWISE,"0"],[Ne.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Ne.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Kr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_SERVO_MOTOR).appendField(Ne.Msg.MIXLY_RELATIVE+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Ne.Msg.MSG.run).appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_SERVO_MOTOR).appendField(Ne.Msg.MIXLY_RELATIVE+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Ne.Msg.MSG.run).appendField("("+Ne.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MODE).setAlign(Ne.inputs.Align.RIGHT).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_SPEED+Ne.Msg.MIXLY_MODE,"0"],[Ne.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Ne.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Ne.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Qr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.ME_GO_MOTOR_EXTERN+Ne.Msg.MIXLY_SERVO_MOTOR).appendField(Ne.Msg.MIXLY_RELATIVE+Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Ne.Msg.MSG.run).appendField("("+Ne.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Ne.Msg.PIN_NUMBERING).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LEFT,"0"],[Ne.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MODE).setAlign(Ne.inputs.Align.RIGHT).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_SPEED+Ne.Msg.MIXLY_MODE,"0"],[Ne.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Ne.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Ne.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Ne.inputs.Align.RIGHT).appendField(new Ne.FieldDropdown([[Ne.Msg.CLOCKWISE,"0"],[Ne.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.MIXBOT).appendField(Ne.Msg.ME_GO_MOTOR_EXTERN).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MOTOR,"ext_motor"],[Ne.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Ne.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Ne.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Ne.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Ne.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Ne.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Ne.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},zr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.MIXBOT).appendField(Ne.Msg.ME_GO_MOTOR_EXTERN).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MOTOR,"ext_motor"],[Ne.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Ne.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Ne.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Ne.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Ne.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Ne.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Ne.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jr={init:function(){this.setColour(Qu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_SETUP+Ne.Msg.MIXLY_AT).appendField(Ne.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},$r={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zr={init:function(){this.setColour(Qu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_SERVO+Ne.Msg.MIXLY_SETUP+Ne.Msg.MIXLY_AT).appendField(Ne.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},ed={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Ne.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},td={init:function(){this.setColour(Qu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_MOTOR+Ne.Msg.MIXLY_SETUP+Ne.Msg.MIXLY_AT).appendField(Ne.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},id={init:function(){this.setColour(Qu),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Ne.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nd="#6C9858",sd={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(new Ne.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},_d={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_ESP32_ON,"1"],[Ne.Msg.MIXLY_ESP32_OFF,"0"],[Ne.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},od={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Ne.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_SETONOFF)}},pd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Ne.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Ne.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},ad={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Ne.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_GETONOFF)}},ud={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Ne.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_SETTING+Ne.Msg.MIXLY_BUILDIN_LED+Ne.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},rd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Ne.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_LCD_SETCOLOR).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_LIGHT_RED,"1"],[Ne.Msg.MIXLY_LIGHT_GREEN,"2"],[Ne.Msg.MIXLY_LIGHT_BLUE,"3"],[Ne.Msg.MIXLY_LIGHT_YELLOW,"4"],[Ne.Msg.MIXLY_LIGHT_CYAN,"5"],[Ne.Msg.MIXLY_LIGHT_PURPLE,"6"],[Ne.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},dd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING).appendField(Ne.Msg.MIXLY_BUILDIN_LED).appendField(new Ne.FieldDropdown([[Ne.Msg.COLOUR_RGB_RED,"r"],[Ne.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_SETONOFF)}},ld={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Ne.Msg.MIXLY_BUILDIN_LED).appendField(new Ne.FieldDropdown([[Ne.Msg.COLOUR_RGB_RED,"r"],[Ne.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_GETONOFF)}},Id={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Ne.Msg.MIXLY_BUILDIN_LED).appendField(new Ne.FieldDropdown([[Ne.Msg.COLOUR_RGB_RED,"r"],[Ne.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_GETONOFF)}},Td={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING).appendField(Ne.Msg.MIXLY_BUILDIN_LED).appendField(new Ne.FieldDropdown([[Ne.Msg.COLOUR_RGB_RED,"r"],[Ne.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_SETTING+Ne.Msg.MIXLY_BUILDIN_LED+Ne.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},Md={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(new Ne.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},hd={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(De.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Ne.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Ne.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Ne.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},md={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Ed={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.MIXLY_DURATION).appendField(Ne.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Od={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.PYTHON_RANGE_STEP).appendField(Ne.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rd={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_WRI)}},cd={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(De.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Ne.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Ne.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Ne.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},gd={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Cd={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.PYTHON_RANGE_STEP).appendField(Ne.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Sd={init:function(){this.setColour(nd),this.appendValueInput("TICKS").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Ne.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Ne.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Ad={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ld={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_RESET)}},Nd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Ne.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Dd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Ne.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},fd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fd={init:function(){this.setColour(nd),this.appendValueInput("LIST").appendField(Ne.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Pd={init:function(){this.setColour(nd),this.appendValueInput("LIST").appendField(Ne.Msg.MIXLY_BACKSTAGE+Ne.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Yd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MOTOR_DC).appendField(new Ne.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Direction).appendField(new Ne.FieldDropdown([[Ne.Msg.CLOCKWISE,"CW"],[Ne.Msg.ANTI_CLOCKWISE,"CCW"],[Ne.Msg.MOTOR_P,"P"],[Ne.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vd={init:function(){this.setColour(nd),this.appendDummyInput().appendField("MixGo Car").appendField(new Ne.FieldDropdown([[Ne.Msg.blockpy_forward,"F"],[Ne.Msg.blockpy_backward,"B"],[Ne.Msg.blockpy_left,"L"],[Ne.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xd={init:function(){this.setColour(nd),this.appendDummyInput("").appendField("MixGo Car").appendField(new Ne.FieldDropdown([[Ne.Msg.MOTOR_P,"P"],[Ne.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},yd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MOTOR_DC).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Ne.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Direction).appendField(new Ne.FieldDropdown([[Ne.Msg.CLOCKWISE,"CW"],[Ne.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MOTOR_DC).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Ne.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_STOP).appendField(new Ne.FieldDropdown([[Ne.Msg.MOTOR_P,"P"],[Ne.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Vd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXBOT).appendField(new Ne.FieldDropdown([[Ne.Msg.blockpy_forward,"F"],[Ne.Msg.blockpy_backward,"B"],[Ne.Msg.blockpy_left,"L"],[Ne.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Ne.Msg.MIXLY_SPEED,"SPEED"],[Ne.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Bd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXBOT).appendField(new Ne.FieldDropdown([[Ne.Msg.MOTOR_P,"P"],[Ne.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXBOT).appendField(Ne.Msg.MIXLY_MOTOR).appendField(new Ne.FieldDropdown([[Ne.Msg.TEXT_TRIM_LEFT,"1"],[Ne.Msg.TEXT_TRIM_RIGHT,"2"],[Ne.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Ne.Msg.MIXLY_SPEED,"SPEED"],[Ne.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ud={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Ne.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.BITBOT).appendField(new Ne.FieldDropdown([[Ne.Msg.blockpy_forward,"F"],[Ne.Msg.blockpy_backward,"B"],[Ne.Msg.blockpy_left,"L"],[Ne.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.BITBOT).appendField(new Ne.FieldDropdown([[Ne.Msg.MOTOR_P,"P"],[Ne.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.BITBOT).appendField(Ne.Msg.MIXLY_MOTOR).appendField(new Ne.FieldDropdown([[Ne.Msg.TEXT_TRIM_LEFT,"0"],[Ne.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Direction).appendField(new Ne.FieldDropdown([[Ne.Msg.CLOCKWISE,"CW"],[Ne.Msg.ANTI_CLOCKWISE,"CCW"],[Ne.Msg.MOTOR_P,"P"],[Ne.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(nd),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_SETONOFF)}},Kd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_GETONOFF)}},Jd={init:function(){this.setColour(nd),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_SETTING+Ne.Msg.MIXLY_MIXBOT_BUZZER+Ne.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_SETONOFF)}},Qd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_MIXBOT_BUZZER+Ne.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_GETONOFF)}},qd={init:function(){this.setColour(nd),this.appendValueInput("PATH").appendField(Ne.Msg.MIXLY_RECORD_AUDIO).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Ne.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},zd={init:function(){this.setColour(nd),this.appendValueInput("PATH").appendField(Ne.Msg.MIXLY_PLAY_AUDIO).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},jd={init:function(){this.setColour(nd),this.appendValueInput("PATH").appendField(Ne.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$d={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Ne.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Zd={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},el={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.LISTS_SET_INDEX_SET+Ne.Msg.ME_GO_MOTOR_EXTERN).appendField(Ne.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===De.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new Ne.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new Ne.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendValueInput("duty").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.blynk_IOT_IR_POWER+Ne.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},tl={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET+Ne.Msg.ME_GO_MOTOR_EXTERN).appendField(Ne.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===De.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new Ne.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new Ne.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendDummyInput().setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.blynk_IOT_IR_POWER+Ne.Msg.MIXLY_PINMODEOUT+Ne.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},il={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.LISTS_SET_INDEX_SET+Ne.Msg.ME_GO_MOTOR_EXTERN).appendField(Ne.Msg.MIXLY_ALL+Ne.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Ne.ALIGN_RIGHT).appendField(Ne.Msg.blynk_IOT_IR_POWER+Ne.Msg.MIXLY_PINMODEOUT+Ne.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},nl={init:function(){this.setColour(nd),this.appendDummyInput().appendField(Ne.Msg.ANALOG+Ne.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_RELEASE).appendField(new Ne.FieldDropdown([[Ne.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Ne.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.ANALOG+Ne.Msg.MIXLY_KEYBOARD_INPUT)}},sl={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SPECIAL_KEY).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Ne.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Ne.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Ne.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Ne.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Ne.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Ne.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Ne.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Ne.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},_l={init:function(){this.setColour(nd),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_GENERAL_KEY).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},ol={init:function(){this.setColour(nd),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Ne.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Ne.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},GE={init:function(){this.jsonInit({colour:fE,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Ne.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Ne.Msg.MIXLY_MICROBIT_Built_in_image})}},UE={init:function(){this.setColour(fE),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Ne.FieldDropdown(De.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},wE={init:function(){this.setColour(fE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Ne.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Ne.FieldDropdown(wE.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Ne.Msg.MIXLY_MICROBIT_image_add,"-":Ne.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[Ne.Msg.MICROBIT_DISPLAY_UNION,"add"],[Ne.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},HE={init:function(){this.setColour(fE),this.appendValueInput("A").setCheck("esp32_image").appendField(Ne.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},kE={init:function(){this.setColour(fE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Ne.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Ne.Msg.DISPLAY_IMAGE_LET2).appendField(new Ne.FieldDropdown(kE.OPERATORS),"OP"),this.appendValueInput("val").appendField(Ne.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Ne.Msg.DISPLAY_IMAGE_UNIT);De.Boards.getSelectedBoardKey();"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Ne.Msg.DISPLAY_IMAGE_LET,n=Ne.Msg.DISPLAY_IMAGE_LET2,s=Ne.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Ne.Msg.MIXLY_UP,shift_down:Ne.Msg.MIXLY_DOWN,shift_left:Ne.Msg.MIXLY_LEFT,shift_right:Ne.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[Ne.Msg.MIXLY_UP,"shift_up"],[Ne.Msg.MIXLY_DOWN,"shift_down"],[Ne.Msg.MIXLY_LEFT,"shift_left"],[Ne.Msg.MIXLY_RIGHT,"shift_right"]]},WE={init:function(){this.setColour(fE),this.appendValueInput("x").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},KE={init:function(){this.setColour(fE),this.appendValueInput("x").setCheck(Number).appendField(Ne.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},JE={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},QE={init:function(){this.setColour(fE),this.appendValueInput("x").setCheck(Number).appendField(Ne.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},qE={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Clear_display);De.Boards.getSelectedBoardKey();"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Clear_display)}},zE={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SHOW+Ne.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jE={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new Ne.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$E={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Ne.inputs.Align.CENTRE).appendField(new Ne.FieldBitmap($E.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},ZE={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new Ne.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},eO={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Ne.inputs.Align.CENTRE).appendField(new Ne.FieldBitmap(eO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},tO={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new Ne.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},iO={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Ne.inputs.Align.CENTRE).appendField(new Ne.FieldBitmap(iO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},nO={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.OLED_SET_FONT).appendField(new Ne.FieldDropdown(nO.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Ne.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Ne.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Ne.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},sO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.OLED_BITMAP_OR_STRING)}},_O={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.OLED_BITMAP_OR_STRING)}},oO={init:function(){this.setColour(fE),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Ne.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.OLED_BITMAP_OR_STRING)}},pO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Ne.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Ne.Msg.TEXT_CENTER).appendField(new Ne.FieldDropdown([[Ne.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Ne.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},aO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Ne.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},uO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rO={init:function(){this.setColour(fE),this.appendValueInput("x").setCheck(Number).appendField(Ne.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},dO={init:function(){this.jsonInit({colour:fE,args0:[{name:"state",options:[[Ne.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Ne.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Ne.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Ne.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Ne.Msg.mpython_HELPURL,tooltip:Ne.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Ne.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},lO={init:function(){this.jsonInit({colour:fE,args0:[{name:"state",options:[[Ne.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Ne.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Ne.Msg.mpython_vertical,"0"],[Ne.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Ne.Msg.mpython_HELPURL,tooltip:Ne.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Ne.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},IO={init:function(){this.jsonInit({colour:fE,args0:[{name:"state",options:[[Ne.Msg.mpython_display_hline_1,"1"],[Ne.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Ne.Msg.mpython_HELPURL,tooltip:Ne.Msg.mpython_display_line_TOOLTIP,message0:Ne.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},TO={init:function(){this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Ne.FieldDropdown(TO.IMAGES),"path"),this.setColour(fE),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},MO={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new Ne.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},hO={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Ne.inputs.Align.CENTRE).appendField(new Ne.FieldBitmap(hO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},mO={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},EO={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},OO={init:function(){this.setColour(fE),this.appendValueInput("x").setCheck(Number).appendField(Ne.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},RO={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Ne.FieldDropdown(RO.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Ne.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Ne.Msg.CLOCKWISE+"90"+Ne.Msg.blockpy_setheading_degree,"1"],[Ne.Msg.CLOCKWISE+"180"+Ne.Msg.blockpy_setheading_degree,"2"],[Ne.Msg.CLOCKWISE+"270"+Ne.Msg.blockpy_setheading_degree,"3"]]},cO={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new Ne.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},gO={init:function(){this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Ne.inputs.Align.CENTRE).appendField(new Ne.FieldBitmap(gO.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(fE),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},CO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Ne.Msg.HTML_COLOUR);De.Boards.getSelectedBoardKey();"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},SO={init:function(){this.setColour(fE),this.appendValueInput("x").setCheck(Number).appendField(Ne.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Ne.Msg.MIXLY_AipImageClassify_Image+Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},AO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Ne.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Ne.Msg.TEXT_CENTER).appendField(new Ne.FieldDropdown([[Ne.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Ne.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Ne.Msg.HTML_COLOUR);De.Boards.getSelectedBoardKey();"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},LO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Ne.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},NO={init:function(){this.jsonInit({colour:fE,args0:[{name:"shape",options:[[Ne.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Ne.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Ne.Msg.mpython_HELPURL,tooltip:Ne.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Ne.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},DO={init:function(){this.jsonInit({colour:fE,args0:[{name:"dir_h_v",options:[[Ne.Msg.mpython_vertical,"0"],[Ne.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Ne.Msg.mpython_HELPURL,tooltip:Ne.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Ne.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},fO={init:function(){this.jsonInit({colour:fE,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Ne.Msg.mpython_HELPURL,tooltip:Ne.Msg.mpython_display_line_TOOLTIP,message0:Ne.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},FO={init:function(){this.setColour(fE),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Ne.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},PO={init:function(){this.setColour(fE),this.appendValueInput("x").setCheck(Number).appendField(Ne.Msg.MIXLY_LCD_SETCOLOR).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Ne.Msg.HTML_COLOUR);De.Boards.getSelectedBoardKey();"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},YO={init:function(){this.setColour(fE),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_SCREEN_FILL);De.Boards.getSelectedBoardKey();"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vO={init:function(){this.setColour(fE),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Ne.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Ne.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},XO={init:function(){this.setColour(fE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Ne.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yO={init:function(){this.setColour(fE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Ne.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Ne.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Ne.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Ne.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xO={init:function(){this.setColour(fE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Ne.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bO={init:function(){this.setColour(fE),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Ne.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VO={init:function(){this.jsonInit({colour:fE,args0:[{name:"shape",options:[[Ne.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Ne.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Ne.Msg.mpython_HELPURL,message0:Ne.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},BO={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.DRAW_POINTER).appendField(Ne.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.DRAW_POINTER_TOOLTIP)}},GO={init:function(){this.setColour(fE),this.appendDummyInput().appendField(Ne.Msg.DRAW_POINTER).appendField(Ne.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Ne.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.DRAW_POINTER_TOOLTIP)}},UO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Ne.Msg.HTML_COLOUR);De.Boards.getSelectedBoardKey();"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wO={init:function(){this.setColour(fE),this.appendValueInput("direct").appendField(Ne.Msg.OLED_BITMAP).appendField(Ne.Msg.MIXLY_QR_CODE),"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},HO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.OLED_BITMAP).appendField(Ne.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ERROR_RATE).appendField(new Ne.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Ne.Msg.HTML_COLOUR),"Python ESP32-S3"===De.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Ne.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kO={init:function(){this.setColour(fE),this.appendValueInput("data").appendField(Ne.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},WO={init:function(){YE.init.call(this),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},KO={init:function(){xE.init.call(this),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},JO={init:function(){kE.init.call(this),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},QO={init:function(){JE.init.call(this),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qO={init:function(){QE.init.call(this),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zO={init:function(){qE.init.call(this),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},jO=180,$O={init:function(){this.setColour(jO),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Ne.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Ne.Msg.DISPLAY_IMAGE_LET2).appendField(new Ne.FieldDropdown($O.OPERATORS),"OP"),this.appendValueInput("val").appendField(Ne.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Ne.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Ne.Msg.DISPLAY_IMAGE_LET,n=Ne.Msg.DISPLAY_IMAGE_LET2,s=Ne.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Ne.Msg.MIXLY_UP,down:Ne.Msg.MIXLY_DOWN,left:Ne.Msg.MIXLY_LEFT,right:Ne.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[Ne.Msg.MIXLY_UP,"up"],[Ne.Msg.MIXLY_DOWN,"down"],[Ne.Msg.MIXLY_LEFT,"left"],[Ne.Msg.MIXLY_RIGHT,"right"]]},ZO={init:function(){this.setColour(jO),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Ne.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Ne.FieldDropdown(ZO.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Ne.Msg.MIXLY_MICROBIT_image_add,"-":Ne.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[Ne.Msg.MICROBIT_DISPLAY_UNION,"+"],[Ne.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},eR={init:function(){this.setColour(jO),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Ne.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Ne.FieldDropdown(eR.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Ne.Msg.MIXLY_MICROBIT_IMAGE+{height:Ne.Msg.MIXLY_HEIGHT,width:Ne.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[Ne.Msg.MIXLY_HEIGHT,"height"],[Ne.Msg.MIXLY_WIDTH,"width"]]},tR={init:function(){this.setColour(jO),this.appendValueInput("VAR").appendField(Ne.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RECT).appendField(new Ne.FieldDropdown(tR.STATUS),"OP"),this.jsonInit({message0:Ne.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_OLED_RECT)},STATUS:[[Ne.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Ne.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},iR={init:function(){this.setColour(jO),this.appendValueInput("VAR").appendField(Ne.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Ne.FieldDropdown(iR.STATUS),"OP"),this.jsonInit({message0:Ne.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Ne.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Ne.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},nR={init:function(){this.setColour(jO),this.appendValueInput("VAR").appendField(Ne.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_DISPLAY_DRAW+Ne.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Ne.FieldDropdown(nR.STATUS),"OP"),this.jsonInit({message0:Ne.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Ne.Msg.MIXLY_DISPLAY_DRAW+Ne.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Ne.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Ne.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},sR="#777777",_R={init:function(){this.setColour(sR),this.appendDummyInput("").appendField("from ").appendField(new Ne.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Ne.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(sR),this.appendDummyInput("").appendField("import ").appendField(new Ne.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pR={init:function(){this.setColour(sR),this.appendDummyInput("").appendField(new Ne.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ne.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},QR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Ne.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},qR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},zR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},jR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Ne.Msg.MIXLY_EMQX_SERVER).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Ne.Msg.MIXLY_WIFI_USERNAME).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Ne.Msg.MIXLY_IOT_PASSWORD).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Ne.Msg.MIXLY_EMQX_PROJECT).setAlign(Ne.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$R={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Ne.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},ZR={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Ne.Msg.HTML_BODY),this.appendDummyInput().appendField(Ne.Msg.MIXLY_Service_quality_display).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_AT_MOST_ONCE,"0"],[Ne.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},ec={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ne.Msg.MIXLY_EMQX_SUBSCRIBE+Ne.Msg.MIXLY_MICROBIT_MSG).appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Ne.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},tc={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ic={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nc={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sc={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Ne.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},_c={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},oc={init:function(){this.setColour(UR),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},pc={init:function(){this.setColour(UR),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},ac={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},uc={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO").appendField(Ne.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Ne.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},rc={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Ne.Msg.MIXLY_EMQX_SERVER).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Ne.Msg.CONTROLS_FOR_INPUT_WITH+Ne.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Ne.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dc={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Ne.Msg.MIXLY_EMQX_SERVER).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Ne.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Ne.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lc={init:function(){this.VISITOR_ID=De.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(UR),this.appendDummyInput("").appendField(new Ne.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},Ic={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MixIO").appendField(Ne.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Tc={init:function(){this.setColour(UR),this.appendDummyInput().appendField("HTTP"+Ne.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Ne.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Ne.Msg.MIXLY_REQUESTS_GET).appendField(Ne.Msg.MIXLY_GET_CURRENT_TIME).appendField(Ne.Msg.MIXLY_OPEN_DEBUG).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Ne.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mc={init:function(){this.setColour(UR),this.appendDummyInput().appendField("HTTP"+Ne.Msg.MIXLY_Client).appendField(Ne.Msg.MIXLY_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Ne.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Ne.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},hc={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MQTT"+Ne.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Ne.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Ne.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Ne.Msg.MQTT_Topic).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Ne.Msg.MIXLY_OPEN_DEBUG).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Ne.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mc={init:function(){this.setColour(UR),this.appendDummyInput().appendField("MQTT"+Ne.Msg.MIXLY_Client).appendField(Ne.Msg.MIXLY_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Ne.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Ne.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Ec=wR,Oc=HR,Rc=kR,cc=WR,gc=JR,Cc={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Ne.Msg.MIXLY_EMQX_SERVER).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Ne.Msg.MODEL_NAME).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Ne.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Sc=Cc,Ac={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Ne.Msg.MIXLY_EMQX_SERVER).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Ne.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Ne.Msg.MODEL_NAME).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Ne.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Lc={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Ne.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Ne.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nc={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Ne.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Ne.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},Dc={init:function(){this.setColour(UR),this.appendDummyInput().appendField("Ollama "+Ne.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fc={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Ne.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fc={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Ne.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Ne.inputs.Align.RIGHT).appendField(`MixIO ${Ne.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Ne.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Ne.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},vc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},Xc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Ne.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Ne.inputs.Align.RIGHT).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Ne.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Ne.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},yc={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Ne.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xc=225,bc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Ne.Msg.MIXLY_NETWORK_MODE).appendField(new Ne.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Vc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Ne.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=Ne.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Ne.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Ne.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},Bc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},Gc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Ne.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Ne.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},Uc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Ne.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Ne.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},wc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_NETWORK_WIFI_CONNECT+Ne.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},Hc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Ne.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Ne.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return Ne.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Ne.Msg.MIXLY_ESP32_NETWORK_IP,1:Ne.Msg.MIXLY_ESP32_NETWORK_MASK,2:Ne.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},kc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},Wc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Ne.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},Kc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.LISTS_SET_INDEX_SET+Ne.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Ne.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Ne.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Ne.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},Jc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},Qc={init:function(){this.setColour(xc),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Ne.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},qc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},zc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},jc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},$c={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},Zc={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},eg={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},tg={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},ig={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},ng={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},sg={init:function(){this.setColour(xc),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},_g={init:function(){this.setColour(xc),this.appendValueInput("DOMAIN").appendField(Ne.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ne.Msg.blockpy_REQUESTS_GET).appendField(new Ne.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},og={init:function(){this.appendValueInput("VAL"),this.setColour(xc),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Ne.FieldDropdown(og.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:Ne.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Ne.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Ne.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[Ne.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Ne.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Ne.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Ne.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},pg={init:function(){this.appendValueInput("VAR").appendField(Ne.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(xc),this.appendDummyInput("").appendField(Ne.Msg.blockpy_CONDUCT).appendField(new Ne.FieldDropdown(pg.METHOD),"DIR"),this.appendDummyInput("").appendField(Ne.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:Ne.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Ne.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},ag={init:function(){this.setColour(xc),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Ne.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},ug={init:function(){this.setColour(xc),this.appendDummyInput("").appendField(new Ne.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},rg="#3288dd",dg={init:function(){this.setColour(rg),this.appendValueInput("URL").appendField(Ne.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ne.Msg.blockpy_CONDUCT).appendField(new Ne.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Ne.Msg.blockpy_REQUESTS).appendField(Ne.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},lg={init:function(){this.setColour(rg),this.appendValueInput("URL").appendField(Ne.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ne.Msg.blockpy_CONDUCT).appendField(new Ne.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Ne.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Ne.Msg.blockpy_REQUESTS+Ne.Msg.OLED_STRING),this.appendDummyInput("").appendField(Ne.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ig={init:function(){this.appendValueInput("VAL"),this.setColour(rg),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Ne.FieldDropdown(Ig.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Ne.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Ne.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Ne.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Ne.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Ne.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},Tg={init:function(){this.setColour(rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Ne.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Ne.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Ne.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Mg={init:function(){this.setColour(rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Ne.Msg.MIXLY_EMQX_SERVER).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Ne.Msg.MIXLY_EMQX_PORT).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Ne.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Ne.Msg.MIXLY_WIFI_USERNAME).setAlign(Ne.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Ne.Msg.MIXLY_IOT_PASSWORD).setAlign(Ne.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hg={init:function(){this.setColour(rg),this.appendValueInput("TOPIC").appendField(Ne.Msg.MIXLY_EMQX_SUBSCRIBE+Ne.Msg.MIXLY_MICROBIT_MSG).appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Ne.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},mg={init:function(){this.setColour(rg),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Ne.Msg.MIXLY_EMQX_SUBSCRIBE+Ne.Msg.MIXLY_MICROBIT_MSG).appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Ne.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Eg={init:function(){this.setColour(rg),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Ne.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Ne.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Og={init:function(){this.setColour(rg),this.appendDummyInput().appendField("mqtt"+Ne.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Rg="#A58C5B",cg={init:function(){this.setColour(Rg),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_BUTTON).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Ne.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_SENOR_IS_PRESSED)}},gg={init:function(){this.setColour(Rg),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_BUTTON).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Ne.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_SENOR_WAS_PRESSED)}},Cg={init:function(){this.setColour(Rg),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_BUTTON).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Ne.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.PROCEDURES_DEFRETURN_RETURN+Ne.Msg.MIXLY_BUTTON+Ne.Msg.MIXLY_GET_PRESSES)}},Sg={init:function(){this.setColour(Rg),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_BUTTON).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MODE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Ne.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Ne.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Ne.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},Ag={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_shake,"shake"],[Ne.Msg.MIXLY_UP,"up"],[Ne.Msg.MIXLY_DOWN,"down"],[Ne.Msg.MIXLY_LEFT,"left"],[Ne.Msg.MIXLY_RIGHT,"right"],[Ne.Msg.MIXLY_MICROBIT_face_up,"face up"],[Ne.Msg.MIXLY_MICROBIT_face_down,"face down"],[Ne.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Ne.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=Ne.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Ne.Msg.MSG.catSensor,s=Ne.Msg.MIXLY_MICROBIT_JS_STATE,_=Ne.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Ne.Msg.MIXLY_MICROBIT_shake,up:Ne.Msg.MIXLY_UP,down:Ne.Msg.MIXLY_DOWN,left:Ne.Msg.MIXLY_LEFT,right:Ne.Msg.MIXLY_RIGHT,"face up":Ne.Msg.MIXLY_MICROBIT_face_up,"face down":Ne.Msg.MIXLY_MICROBIT_face_down,freefall:Ne.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},Lg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Ne.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Ne.Msg.MIXLY_MICROBIT_Direction,s=Ne.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Ne.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Ng={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Dg={init:function(){this.setColour(Rg),this.appendValueInput("PIN",Number).appendField(new Ne.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Ne.FieldDropdown(Dg.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:Ne.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Ne.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Ne.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[Ne.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Ne.Msg.MIXLY_GETHUMIDITY,"humidity"]]},fg={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Fg={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},Pg={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.TEXT_TRIM_LEFT,"left"],[Ne.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Ne.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=Ne.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Ne.Msg.MIXLY_ESP32_NEAR;return i+{left:Ne.Msg.TEXT_TRIM_LEFT,right:Ne.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},Yg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Ne.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":Ne.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Ne.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},vg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Ne.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":Ne.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Ne.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Xg={init:function(){this.setColour(Rg),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},yg={init:function(){this.setColour(Rg),this.appendDummyInput("").appendField("LM35"+Ne.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ne.Msg.MIXLY_TOOLTIP_LM35)}},xg={init:function(){this.setColour(Rg),this.appendValueInput("I2CSUB").appendField(Ne.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SETUP+Ne.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Ne.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Ne.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Ne.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Ne.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Ne.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Ne.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Ne.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Ne.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Ne.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Ne.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Ne.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Ne.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Ne.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Ne.Msg.HTML_COLOUR+"、"+Ne.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Ne.Msg.MIXLY_NEXT+"、"+Ne.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Ne.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Ne.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Ne.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Ne.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Ne.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},bg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.LISTS_SET_INDEX_SET+Ne.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Ne.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Ne.Msg.MIXLY_DELAY_TIME_RANGE)}},Vg={init:function(){this.setColour(Rg),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RADAR).appendField(Ne.Msg.LISTS_SET_INDEX_SET+Ne.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Ne.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Ne.Msg.MIXLY_DELAY_TIME_RANGE)}},Bg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Gg={init:function(){this.setColour(Rg),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RADAR).appendField(Ne.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Ug={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Ne.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Ne.Msg.MIXLY_THE_FIRST,"3"],[Ne.Msg.MIXLY_THE_SECOND,"4"],[Ne.Msg.MIXLY_THE_THIRD,"5"],[Ne.Msg.MIXLY_THE_FOURTH,"6"],[Ne.Msg.MIXLY_THE_FIFTH,"7"],[Ne.Msg.MIXLY_THE_SIXTH,"8"],[Ne.Msg.MIXLY_THE_SEVENTH,"9"],[Ne.Msg.MIXLY_THE_EIGHTH,"10"],[Ne.Msg.MIXLY_THE_NINTH,"11"],[Ne.Msg.MIXLY_THE_TENTH,"12"],[Ne.Msg.MIXLY_THE_ELEVENTH,"13"],[Ne.Msg.MIXLY_THE_TWELFTH,"14"],[Ne.Msg.MIXLY_THE_13TH,"15"],[Ne.Msg.MIXLY_THE_14TH,"16"],[Ne.Msg.MIXLY_THE_15TH,"17"],[Ne.Msg.MIXLY_THE_16TH,"18"],[Ne.Msg.MIXLY_THE_17TH,"19"],[Ne.Msg.MIXLY_THE_18TH,"20"],[Ne.Msg.MIXLY_THE_19TH,"21"],[Ne.Msg.MIXLY_THE_20TH,"22"],[Ne.Msg.MIXLY_Turn_on_the_lights,"23"],[Ne.Msg.MIXLY_Turn_off_the_lights,"24"],[Ne.Msg.MIXLY_Turn_up_the_brightness,"25"],[Ne.Msg.MIXLY_Turn_down_the_brightness,"26"],[Ne.Msg.MIXLY_Set_it_to_red,"27"],[Ne.Msg.MIXLY_Set_it_to_orange,"28"],[Ne.Msg.MIXLY_Set_it_to_yellow,"29"],[Ne.Msg.MIXLY_Set_it_to_green,"30"],[Ne.Msg.MIXLY_Set_it_to_cyan,"31"],[Ne.Msg.MIXLY_Set_it_to_blue,"32"],[Ne.Msg.MIXLY_Set_it_to_purple,"33"],[Ne.Msg.MIXLY_Set_it_to_white,"34"],[Ne.Msg.MIXLY_Turn_on_the_fan,"35"],[Ne.Msg.MIXLY_Turn_off_the_fan,"36"],[Ne.Msg.MIXLY_First_gear,"37"],[Ne.Msg.MIXLY_Wind_speed_second,"38"],[Ne.Msg.MIXLY_Third_gear,"39"],[Ne.Msg.MIXLY_Previous,"40"],[Ne.Msg.MIXLY_Next_page,"41"],[Ne.Msg.MIXLY_Show_smiley_face,"42"],[Ne.Msg.MIXLY_Show_crying_face,"43"],[Ne.Msg.MIXLY_Show_love,"44"],[Ne.Msg.MIXLY_Close_display,"45"],[Ne.Msg.MIXLY_Start_execution,"46"],[Ne.Msg.MIXLY_FORWARD,"47"],[Ne.Msg.MIXLY_BACKWARD,"48"],[Ne.Msg.MIXLY_TURNLEFT,"49"],[Ne.Msg.MIXLY_TURNRIGHT,"50"],[Ne.Msg.MIXLY_STOP,"51"],[Ne.Msg.MIXLY_Accelerate,"52"],[Ne.Msg.MIXLY_retard,"53"],[Ne.Msg.ROTATION_FORWARD,"54"],[Ne.Msg.ROTATION_BACKWARD,"55"],[Ne.Msg.MIXLY_Query_temperature,"56"],[Ne.Msg.MIXLY_Query_humidity,"57"],[Ne.Msg.MIXLY_Query_brightness,"58"],[Ne.Msg.MIXLY_Query_sound,"59"],[Ne.Msg.MIXLY_Query_time,"60"],[Ne.Msg.MIXLY_Query_distance,"61"],[Ne.Msg.MIXLY_Query_pressure,"62"],[Ne.Msg.MIXLY_Query_key,"63"],[Ne.Msg.MIXLY_Query_touch,"64"],[Ne.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Ne.Msg.MIXLY_WHETHER+Ne.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},Hg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Ne.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Ne.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},kg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MP3_PLAY).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Ne.Msg.MIXLY_WIND_SPEED,"154"],[Ne.Msg.MIXLY_HYETAL,"155"],[Ne.Msg.MIXLY_TEMPERATURE,"156"],[Ne.Msg.MIXLY_Humidity,"157"],[Ne.Msg.MIXLY_Altitude,"158"],[Ne.Msg.MIXLY_SOUND,"159"],[Ne.Msg.MIXLY_BRIGHTNESS,"160"],[Ne.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Ne.Msg.MIXLY_SERVO,"162"],[Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Ne.Msg.MIXLY_BUTTON2,"164"],[Ne.Msg.MIXLY_ESP32_TOUCH,"165"],[Ne.Msg.MIXLY_PAY,"166"],[Ne.Msg.MIXLY_CARSH_CHANGE,"167"],[Ne.Msg.MIXLY_COUNTDOWN,"168"],[Ne.Msg.MIXLY_TIMING,"169"],[Ne.Msg.MIXLY_AT_THE_MOMENT,"170"],[Ne.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Ne.Msg.MIXLY_FORWARD,"172"],[Ne.Msg.MIXLY_BACKWARD,"173"],[Ne.Msg.MIXLY_TURNLEFT,"174"],[Ne.Msg.MIXLY_TURNRIGHT,"175"],[Ne.Msg.MIXLY_STOP,"176"],[Ne.Msg.MIXLY_Accelerate,"177"],[Ne.Msg.MIXLY_retard,"178"],[Ne.Msg.ROTATION_FORWARD,"179"],[Ne.Msg.ROTATION_BACKWARD,"180"],[Ne.Msg.TUPLE_JOIN,"181"],[Ne.Msg.MIXLY_SHOW,"182"],[Ne.Msg.MIXLY_LAMPLIGHT,"183"],[Ne.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Ne.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_UNIT).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Ne.Msg.MIXLY_YEAR,"117"],[Ne.Msg.MIXLY_MONTH,"118"],[Ne.Msg.MIXLY_DAY,"119"],[Ne.Msg.MIXLY_HOUR,"120"],[Ne.Msg.MIXLY_MINUTE,"121"],[Ne.Msg.MIXLY_SECOND,"122"],[Ne.Msg.MIXLY_WEEK2,"123"],[Ne.Msg.MIXLY_RMB_UNIT,"124"],[Ne.Msg.blockpy_setheading_degree,"125"],[Ne.Msg.MIXLY_GEAR,"126"],[Ne.Msg.MIXLY_LAYER,"127"],[Ne.Msg.MIXLY_GRAM,"128"],[Ne.Msg.MIXLY_METER,"129"],[Ne.Msg.MIXLY_CENTIMETER,"130"],[Ne.Msg.MIXLY_MILLIMETER,"131"],[Ne.Msg.MIXLY_LUMEN,"132"],[Ne.Msg.MIXLY_DECIBEL,"133"],[Ne.Msg.MIXLY_hectopascal,"134"],[Ne.Msg.MIXLY_PERCENT,"135"],[Ne.Msg.MIXLY_CELSIUS,"136"],[Ne.Msg.MIXLY_METER_PER_SEC,"137"],[Ne.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Ne.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Ne.Msg.MIXLY_SUCCESS,"140"],[Ne.Msg.MIXLY_FAILED,"141"],[Ne.Msg.MIXLY_WRONG,"142"],[Ne.Msg.MIXLY_GOOD,"143"],[Ne.Msg.MIXLY_blockpy_set_add,"144"],[Ne.Msg.MIXLY_DECREASE,"145"],[Ne.Msg.COLOUR_RGB_RED,"146"],[Ne.Msg.COLOUR_RGB_ORANGE,"147"],[Ne.Msg.COLOUR_YELLOW,"148"],[Ne.Msg.COLOUR_RGB_GREEN,"149"],[Ne.Msg.COLOUR_CYAN,"150"],[Ne.Msg.COLOUR_RGB_BLUE,"151"],[Ne.Msg.COLOUR_RGB_PURPLE,"152"],[Ne.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.LISTS_SET_INDEX_SET+Ne.Msg.MIXLY_SYSTEM+Ne.Msg.MIXLY_CMD).appendField(new Ne.FieldDropdown([[Ne.Msg.MILXY_ENTER_WAKE_UP,"1"],[Ne.Msg.MIXLY_INCREASE_VOLUME,"202"],[Ne.Msg.MIXLY_REDUCE_VOLUME,"203"],[Ne.Msg.MIXLY_MAX_VOLUME,"204"],[Ne.Msg.MIXLY_MINIMUM,"205"],[Ne.Msg.MIXLY_OPEN_RESPONSE,"206"],[Ne.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Ne.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kg={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Ne.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Ne.Msg.MIXLY_ESP32_MAX30102_IR+","+Ne.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jg={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Ne.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Ne.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qg={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},qg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.HTML_COLOUR+Ne.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GET+Ne.Msg.HTML_COLOUR,"[2]"],[Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_IR_STRENGTH,"[1]"],[Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},zg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.HTML_COLOUR+Ne.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GET+"RGB"+Ne.Msg.HTML_COLOUR,"0"],[Ne.Msg.MIXLY_GET+Ne.Msg.MIXLY_RGB_RAW,"1"],[Ne.Msg.MIXLY_GET_ENV_LIGHT+Ne.Msg.MIXLY_BRIGHTNESS,"2"],[Ne.Msg.GET_IR_STRENGTH+Ne.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},jg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Ne.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},$g={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Zg={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Ne.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:Ne.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Ne.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},eC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Ne.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:Ne.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Ne.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},tC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_Altitude+Ne.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETPRESSURE,"pressure()"],[Ne.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Ne.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},iC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_Altitude+Ne.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETPRESSURE,"pressure()"],[Ne.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Ne.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},nC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_Altitude+Ne.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETPRESSURE,"pressure()"],[Ne.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Ne.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},sC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_Altitude+Ne.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Ne.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Ne.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},_C={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MIXGOPE_FIELD+Ne.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Ne.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_shake,"shake"],[Ne.Msg.MIXLY_UP,"up"],[Ne.Msg.MIXLY_DOWN,"down"],[Ne.Msg.MIXLY_LEFT,"left"],[Ne.Msg.MIXLY_RIGHT,"right"],[Ne.Msg.MIXLY_MICROBIT_face_up,"face up"],[Ne.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=Ne.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Ne.Msg.MSG.catSensor,s=Ne.Msg.MIXLY_MICROBIT_JS_STATE,_=Ne.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Ne.Msg.MIXLY_MICROBIT_shake,up:Ne.Msg.MIXLY_UP,down:Ne.Msg.MIXLY_DOWN,left:Ne.Msg.MIXLY_LEFT,right:Ne.Msg.MIXLY_RIGHT,"face up":Ne.Msg.MIXLY_MICROBIT_face_up,"face down":Ne.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},pC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Ne.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Ne.Msg.MIXLY_MICROBIT_Direction,s=Ne.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Ne.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},aC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_JS_GET+Ne.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Ne.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Ne.Msg.MIXLY_MICROBIT_Direction,s=Ne.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Ne.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},uC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Ne.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Ne.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Ne.Msg.MIXLY_MICROBIT_Direction,s=Ne.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Ne.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},rC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},dC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_GETTEMPERATUE)}},lC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return Ne.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Ne.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Ne.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},IC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},TC={init:function(){this.setColour(Rg),this.appendValueInput("SPISUB").appendField(Ne.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Ne.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SETUP+Ne.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Ne.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},MC={init:function(){this.setColour(Rg),this.appendDummyInput().appendField("RFID"+Ne.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Ne.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Ne.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},hC={init:function(){this.setColour(Rg),this.appendDummyInput().appendField("RFID"+Ne.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},mC={init:function(){this.setColour(Rg),this.appendDummyInput().appendField("RFID"+Ne.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Ne.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},EC={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Ne.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Ne.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},OC={init:function(){this.setColour(Rg),this.appendDummyInput().appendField(Ne.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Ne.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Ne.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Ne.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},RC={init:function(){this.setColour(Rg),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_RFID_SCAN_OK,"0"],[Ne.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Ne.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},cC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Ne.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},gC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},CC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},SC={init:function(){this.setColour(Rg),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Ne.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1)o=i+".function_call("+_+", "+n+", "+s+", ("+o.join(", ")+"))\n";else if(1==this.itemCount_)o=i+".function_call("+_+", "+n+", "+s+", "+o.join(", ")+")\n";else o=i+".function_call("+_+", "+n+", "+s+")\n";return o},MY=function(e,t){var i=t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC);t.functions_["terminal_widget_vpin_"+i]=`\nALLOWED_COMMANDS_LIST = ['ls', 'lsusb', 'ip a', 'ip abc']\n\n@blynk.handle_event('write V${i}')\ndef write_handler(pin, _values):\n header = ''\n result = ''\n delimiter = '{}\\n'.format('=' * 30)\n if _values and _values[0] in ALLOWED_COMMANDS_LIST:\n cmd_params = _values[0].split(' ')\n try:\n result = subprocess.check_output(cmd_params).decode('utf-8')\n header = '[output]\\n'\n except subprocess.CalledProcessError as exe_err:\n header = '[error]\\n'\n result = 'Return Code: {}\\n'.format(exe_err.returncode)\n except Exception as g_err:\n print("Command caused '{}'".format(g_err))\n elif _values and _values[0] == 'help':\n header = '[help -> allowed commands]\\n'\n result = '{}\\n'.format('\\n'.join(ALLOWED_COMMANDS_LIST))\n\n # communicate with terminal if help or some allowed command\n if result:\n output = '{}{}{}{}'.format(header, delimiter, result, delimiter)\n print(output)\n blynk.virtual_write(pin, output)\n blynk.virtual_write(pin, '\\n')\n`;return""},hY=function(e,t){return"blynk.virtual_sync("+t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC)+")\n"},mY=function(e,t){var i=t.statementToCode(this,"DO");return i=t.addLoopTrap(i,this.id)||t.PASS,t.definitions_.blynk_on_disconnected="@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n"+i,""},EY=function(e,t){var i=t.statementToCode(this,"DO");return i=t.addLoopTrap(i,this.id)||t.PASS,t.definitions_.blynk_on_connected="@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n"+i,""},OY=function(){return"blynk_timer.run()\n"},RY=function(){return"blynk.run()\n"},cY=function(e,t){return"blynk.notify("+t.valueToCode(this,"notification",t.ORDER_ATOMIC)+")\n"},gY=function(e,t){t.definitions_.import_blynktimer="import blynktimer",t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";var i=t.valueToCode(this,"timer_num",t.ORDER_ATOMIC);return`blynk_timer.stop('${i}_blynk_timer${i}')\n`},CY=function(e,t){t.definitions_.import_blynktimer="import blynktimer",t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";return["blynk_timer.get_timers()",t.ORDER_ATOMIC]},SY=function(e,t){t.definitions_.import_blynktimer="import blynktimer";var i=t.valueToCode(this,"Num",t.ORDER_ATOMIC),n=t.valueToCode(this,"period",t.ORDER_ATOMIC),s=this.getFieldValue("Timer_mode"),_=t.statementToCode(this,"DO");return _=t.addLoopTrap(_,this.id)||t.PASS,t.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)",t.definitions_["blynktimer_event"+i]=`\n@blynk_timer.register(interval=${n}, run_once=${s})\ndef blynk_timer${i}():\n`+_,""},AY=function(e,t){var i=t.valueToCode(this,"sensor_data",t.ORDER_ATOMIC);return"blynk.virtual_write("+t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC)+", "+i+")\n"},LY=function(e,t){var i=t.valueToCode(this,"virtual_pin",t.ORDER_ATOMIC),n=t.statementToCode(this,"DO");return n=t.addLoopTrap(n,this.id)||t.PASS,t.definitions_["blynk_VIRTUAL_WRITE_"+i]="@blynk.handle_event('write V"+i+"')\ndef write_virtual_pin_handler(pin, _value):\n for i in range(0, len(_value)):\n try: _value[i] = eval(_value[i])\n except: pass\n if len(_value) == 1: _value = _value[0]\n"+n,""},NY=function(e,t){var i=t.valueToCode(this,"body",t.ORDER_ATOMIC),n=t.valueToCode(this,"subject",t.ORDER_ATOMIC);return`blynk.email(${t.valueToCode(this,"TargetEmail",t.ORDER_ATOMIC)}, ${n}, ${i})\n`},DY=function(e,t){var i=t.valueToCode(this,"attribute_value",t.ORDER_ATOMIC);return`blynk.set_property(pin, ${t.valueToCode(this,"attribute_name",t.ORDER_ATOMIC)}, ${i})\n`},fY=function(e,t){t.definitions_.import_BlynkLib="import blynklib";var i=t.valueToCode(this,"server",t.ORDER_ATOMIC),n=t.valueToCode(this,"auth",t.ORDER_ATOMIC),s=t.valueToCode(this,"port",t.ORDER_ATOMIC);return t.definitions_.mpython_blynk_setup="blynk = blynklib.Blynk("+n+", server="+i+", port="+s+")",t.definitions_.blynk_on_connected="\n@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n",t.definitions_.blynk_on_disconnected="\n@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n",""},FY=function(e,t){t.definitions_.import_cc_g1="from cc_g1 import handle";return["handle.read_bat()",t.ORDER_ATOMIC]},PY=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_cc_g1="from cc_g1 import handle",["handle.read_joystick()"+i,t.ORDER_ATOMIC]},YY=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_cc_g1="from cc_g1 import handle",["handle.read_key("+i+")",t.ORDER_ATOMIC]},vY=function(e,t){t.definitions_.import_cc_g1="from cc_g1 import handle";return"handle.shutdown()"},XY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car."+this.getFieldValue("op"),t.ORDER_ATOMIC]},yY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_mini"==i?t.definitions_.import_mini_go_car="from mini_go import car":"mixgo_ce"==i&&(t.definitions_.import_ce_go_car="from ce_go import car"),"car.setonoff("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},xY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car.getrightness("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},bY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),["car.getonoff("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},VY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),"car.setbrightness("+t.valueToCode(this,"led",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},BY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),'car.move("'+this.getFieldValue("VAR")+'", '+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},GY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car"),'car.move("'+this.getFieldValue("VAR")+'")\n'},UY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_me_go_car="from me_go import car":"mixgo_ce"==i?t.definitions_.import_ce_go_car="from ce_go import car":"mixgo_mini"==i&&(t.definitions_.import_mini_go_car="from mini_go import car");var n=this.getFieldValue("wheel"),s=this.getFieldValue("direction");return 0==n&&("CW"==s?s="CCW":"CCW"==s&&(s="CW")),"car.motor(car.MOTO["+n+'], "'+s+'", '+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},wY=function(e,t){var i=this.getFieldValue("mode"),n=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==n?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==n&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i),"hall_"+i+".irq_cb("+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+")\n"},HY=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args"),s=De.Boards.getSelectedBoardKey().split(":")[2];"mixgo_me"==s||"mixgo_cc"==s?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==s?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==s&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i);var _=t.valueToCode(this,"num",t.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+_+", distance="+_+")\n":"hall_"+i+".initial("+n+"="+_+")\n"},kY=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args"),s=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==s||"mixgo_cc"==s?t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i:"mixgo_ce"==s?t.definitions_["import_ce_go_hall_"+i]="from ce_go import hall_"+i:"mixgo_mini"==s&&(t.definitions_["import_mini_go_hall"+i]="from mini_go import hall_"+i),["hall_"+i+"."+n,t.ORDER_ATOMIC]},WY=function(e,t){var i=this.getFieldValue("key"),n=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.patrol()"+i,t.ORDER_ATOMIC]},KY=function(e,t){var i=this.getFieldValue("key"),n=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.obstacle()"+i,t.ORDER_ATOMIC]},JY=function(e,t){var i=this.getFieldValue("key"),n=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),"car.ir_mode(car."+i+")\n"},QY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==i||"mixgo_cc"==i?t.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa":"mixgo_ce"==i?t.definitions_.import_mixgo_ce_onboard_mxc6655xa="from mixgo_ce import onboard_mxc6655xa":"mixgo_mini"==i&&(t.definitions_.import_mini_onboard_mxc6655xa="from mini_go import onboard_mxc6655xa"),["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),t.ORDER_ATOMIC]},qY=function(e,t){var i=this.getFieldValue("key"),n=De.Boards.getSelectedBoardKey().split(":")[2];return"mixgo_me"==n||"mixgo_cc"==n?t.definitions_.import_me_go_hall="from me_go import car":"mixgo_ce"==n?t.definitions_.import_ce_go_hall="from ce_go import car":"mixgo_mini"==n&&(t.definitions_.import_mini_go_hall="from mini_go import car"),["car.light()"+i,t.ORDER_ATOMIC]},zY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_car"]="from "+i+" import car";return["car()",t.ORDER_ATOMIC]},jY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+"."+this.getFieldValue("VAR")+"("+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},$Y=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+"."+this.getFieldValue("VAR")+"()\n"},ZY=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",[t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+".get_itr_dnum("+this.getFieldValue("key")+")",t.ORDER_ATOMIC]},ev=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_car"]="from "+i+" import car",[t.valueToCode(this,"car",t.ORDER_ASSIGNMENT)+".get_distance()",t.ORDER_ATOMIC]},tv=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_i2c"]="from "+i+" import onboard_i2c";return["onboard_i2c",t.ORDER_ATOMIC]},iv=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_i2c"]="from "+i+" import onboard_spi";return["onboard_spi",t.ORDER_ATOMIC]},nv=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"RX",t.ORDER_ATOMIC),n=t.valueToCode(this,"TX",t.ORDER_ATOMIC),s=t.valueToCode(this,"freq",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = machine.SoftI2C(scl = machine.Pin("+n+"), sda=machine.Pin("+i+"), freq="+s+")\n"},sv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readfrom("+t.valueToCode(this,"address",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},_v=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".writeto("+t.valueToCode(this,"address",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},ov=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},pv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},av=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".available()",t.ORDER_ATOMIC]},uv=function(e,t){var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);t.setups_["setup_i2c_"+i]="Wire.begin("+i+");",t.setups_["setup_i2c_onReceive_"+i]="Wire.onReceive(i2cReceiveEvent_"+i+");";var n="i2cReceiveEvent_"+i,s="void "+n+"(int howMany) {\n"+t.statementToCode(this,"DO")+"}\n";return t.definitions_[n]=s,""},rv=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"freq",t.ORDER_ATOMIC),s=t.valueToCode(this,"mosi",t.ORDER_ATOMIC),_=t.valueToCode(this,"miso",t.ORDER_ATOMIC);return i+" = machine.SoftSPI(baudrate="+n+", sck=machine.Pin("+t.valueToCode(this,"sck",t.ORDER_ATOMIC)+"), mosi=machine.Pin("+s+"), miso=machine.Pin("+_+"))\n"},dv=function(e,t){return"spi.init(baudrate="+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},lv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=bytearray("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},Iv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Tv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".read("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Mv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},hv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},mv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+".encode('utf-8'))",t.ORDER_ATOMIC]},Ev=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".write_readinto("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+".encode('utf-8'), "+t.valueToCode(this,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ov=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_onewire="import onewire",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=onewire.OneWire(machine.Pin("+t.valueToCode(this,"BUS",t.ORDER_ATOMIC)+"))\n"},Rv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},cv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".reset()\n"},gv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".readbyte()",t.ORDER_ATOMIC]},Cv=function(e,t){var i=t.valueToCode(this,"byte",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("op")+"("+i+")\n"},Sv=function(e,t){var i=t.valueToCode(this,"byte",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".select_rom("+i+".encode('utf-8'))\n"},Av=function(e,t){t.definitions_.import_irremote="import irremote";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("type"),s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);if(""==s&&"RC5"==n)var _="ir_rx = irremote.RC5_RX("+i+")\n";else if("RC5"==n)_="ir_rx = irremote.RC5_RX("+i+", "+s+")\n";else if(""==s)_="ir_rx = irremote.NEC_RX("+i+", "+n+")\n";else _="ir_rx = irremote.NEC_RX("+i+", "+n+", "+s+")\n";return _},Lv=function(e,t){return t.definitions_.import_irremote="import irremote",["ir_rx.code["+this.getFieldValue("index")+"]",t.ORDER_ATOMIC]},Nv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_rx.enable("+this.getFieldValue("en")+")\n"},Dv=function(e,t){t.definitions_.import_irremote="import irremote";return["ir_rx.any()",t.ORDER_ATOMIC]},fv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_rx.timeout("+t.valueToCode(this,"time",t.ORDER_ATOMIC)+")\n"},Fv=function(e,t){t.definitions_.import_irremote="import irremote";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("type"),s=t.valueToCode(this,"power",t.ORDER_ATOMIC);if("RC5"==n)var _="ir_tx = irremote.RC5_TX("+i+", "+s+")\n";else _="ir_tx = irremote.NEC_TX("+i+", "+n+", "+s+")\n";return _},Pv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit("+t.valueToCode(this,"cmd",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"toggle",t.ORDER_ATOMIC)+")\n"},Yv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit(pulses="+t.valueToCode(this,"LIST",t.ORDER_ATOMIC)+")\n"},vv=function(e,t){return t.definitions_.import_irremote="import irremote","ir_tx.transmit(raw="+t.valueToCode(this,"raw",t.ORDER_ATOMIC)+")\n"},Xv=function(e,t){t.definitions_.import_irremote="import irremote";return["ir_tx.busy()",t.ORDER_ATOMIC]},yv=function(e,t){return t.definitions_.import_ble_central="import ble_central",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+" = ble_central.BLESimpleCentral()\n"},xv=function(e,t){t.definitions_.import_ble_peripheral="import ble_peripheral";var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+" = ble_peripheral.BLESimplePeripheral("+i+")\n"},bv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".scan()",t.ORDER_ATOMIC]},Vv=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".connect("+this.getFieldValue("mode")+"="+i+")\n"},Bv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".disconnect()\n"},Gv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".mac",t.ORDER_ATOMIC]},Uv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".is_connected()",t.ORDER_ATOMIC]},wv=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".send("+i+")\n"},Hv=function(e,t){return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv()",t.ORDER_ATOMIC]},kv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},Wv=function(e,t){t.definitions_.import_ble_handle="import ble_handle";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);return i+"=ble_handle.Handle()\n"+i+".recv("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},Kv=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=radio.ESPNow(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+", txpower="+this.getFieldValue("op")+")\n"},Jv=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"=radio.ESPNow(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+", txpower="+t.valueToCode(this,"DB",t.ORDER_ATOMIC)+")\n"},Qv=function(e,t){return t.definitions_.import_radio="import radio",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".mac",t.ORDER_ATOMIC]},qv=function(e,t){return t.definitions_.import_radio="import radio",[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".info()",t.ORDER_ATOMIC]},zv=function(e,t){t.definitions_.import_radio="import radio";var i=this.getFieldValue("mode");return[t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv()"+i,t.ORDER_ATOMIC]},jv=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".send("+t.valueToCode(this,"mac",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"content",t.ORDER_ATOMIC)+")\n"},$v=function(e,t){return t.definitions_.import_radio="import radio",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".recv_cb("+t.valueToCode(this,"METHOD",t.ORDER_ATOMIC)+")\n"},Zv=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow()","ESPNow_radio.set_channel(channel="+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+")\n"},eX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow()","ESPNow_radio.set_channel(txpower="+this.getFieldValue("op")+")\n"},tX=function(e,t){t.definitions_.import_radio="import radio";var i=t.valueToCode(this,"DB",t.ORDER_ATOMIC);return t.definitions_.var_declare_ESPNow_radio="ESPNow_radio=radio.ESPNow(channel=1, txpower="+i+")","ESPNow_radio.set_channel("+t.valueToCode(this,"CHNL",t.ORDER_ATOMIC)+")\n"},iX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()","ESPNow_radio.active("+this.getFieldValue("on_off")+")\n"},nX=function(e,t){return t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()",'ESPNow_radio.send("ffffffffffff",'+t.valueToCode(this,"send",t.ORDER_ATOMIC)+")\n"},sX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";return["ESPNow_radio.recv()",t.ORDER_ATOMIC]},_X=function(e,t){return["ESPNow_radio_msg",t.ORDER_ATOMIC]},oX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.import_ubinascii="import ubinascii",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";var i=t.statementToCode(e,"DO")||t.PASS;return t.definitions_.def_ESPNow_radio_recv="def ESPNow_radio_recv(mac,ESPNow_radio_msg):\n"+i,t.definitions_.def_ESPNow_radio_recv_all="_radio_msg_list = []\ndef ESPNow_radio_recv_callback(mac,ESPNow_radio_msg):\n global _radio_msg_list\n try:\n ESPNow_radio_recv(mac,ESPNow_radio_msg)\n except:\n pass\n if str(ESPNow_radio_msg) in _radio_msg_list:\n eval('radio_recv_' + bytes.decode(ubinascii.hexlify(ESPNow_radio_msg)) + '()')\n",t.definitions_.ESPNow_radio_recv_callback="ESPNow_radio.recv_cb(ESPNow_radio_recv_callback)\n",""};const pX=function(e,t){t.definitions_.import_radio="import radio",t.definitions_.import_ubinascii="import ubinascii",t.definitions_.var_declare_ESPNow_radio="ESPNow_radio = radio.ESPNow()";var i=t.statementToCode(e,"DO")||t.PASS;t.definitions_.def_ESPNow_radio_recv_all="_radio_msg_list = []\ndef ESPNow_radio_recv_callback(mac,ESPNow_radio_msg):\n global _radio_msg_list\n try:\n ESPNow_radio_recv(mac,ESPNow_radio_msg)\n except:\n pass\n if str(ESPNow_radio_msg) in _radio_msg_list:\n eval('radio_recv_' + bytes.decode(ubinascii.hexlify(ESPNow_radio_msg)) + '()')\n",t.definitions_.ESPNow_radio_recv_callback="ESPNow_radio.recv_cb(ESPNow_radio_recv_callback)\n";var n=e.getFieldValue("msg"),s=function(e){for(var t=function(e,t){for(var i=[],n=0,s=0;s>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},EX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},OX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},RX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},cX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},gX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},CX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},SX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},AX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},LX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},NX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},DX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},fX=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},FX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},PX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},YX=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},vX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},XX=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},yX=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},xX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},bX=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},VX=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},BX=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},GX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},UX=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},wX=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},HX=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},kX=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},WX=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},KX=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},JX=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},QX=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},qX=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},zX=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},jX=function(e,t){t.definitions_.import_st7789="import st7789";var i=De.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},$X=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},ZX=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},ey=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},ty=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},iy=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},ny=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},sy=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},_y=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},oy=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},py=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},ay=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},uy=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},ry=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=De.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},dy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},ly=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},Iy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Ty=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},My=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},hy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},my=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Ey=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Oy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},Ry=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},cy=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},gy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},Cy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},Sy=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},Ay=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},Ly=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("Python ESP32-S3"===De.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},Ny=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},Dy=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===De.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},fy=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===De.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},Fy=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===De.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},Py=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===De.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},Yy=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},vy=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Xy=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},yy=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===De.JSFuncs.getPlatform()){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},xy=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Rx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},cx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},gx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Cx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},Sx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Ax=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Lx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},Nx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},Dx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},fx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Fx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Px=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},Yx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},vx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Xx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},yx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===De.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},xx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},bx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Vx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"direct",t.ORDER_ATOMIC);t.valueToCode(this,"boolean",t.ORDER_ATOMIC);return"onboard_tft.qrcode("+n+")\n"},Bx=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},Gx=Ly,Ux=Wy,wx=wy,Hx=Wy,kx=Ky,Wx=Vy,Kx=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},Jx=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},Qx=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},_H=function(){return"control.reset()\n"},oH=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||De.Profile.default.serial)+")\n"},pH=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||De.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||De.Profile.default.serial)+")\n"},aH=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||De.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||De.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},uH=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},rH=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},dH=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},lH=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},IH=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},TH=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},MH=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},hH=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},mH=function(){return"while True:\n pass\n"},EH=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},OH=function(e,t){return t.definitions_.import_os="import os","os.uname()"},RH=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},cH=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},gH=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},CH=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},SH=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},AH=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},LH=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},NH=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},DH=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},fH=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},FH=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},PH=AH,YH=LH,vH=SH,XH=RH,yH=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},xH=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},bH=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},VH=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},BH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},GH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},UH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},wH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},HH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},kH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},WH=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},KH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},JH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},QH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},qH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},zH='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:jH}=De,$H=jH.render(zH,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:ZH}=De,ek=ZH.render(zH,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:tk}=De,ik=tk.render(zH,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),nk=new Ne.Generator("Python");nk.INDENT=" ",nk.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),nk.ORDER_ATOMIC=0,nk.ORDER_COLLECTION=1,nk.ORDER_STRING_CONVERSION=1,nk.ORDER_UNARY_POSTFIX=1,nk.ORDER_UNARY_PREFIX=2,nk.ORDER_MEMBER=2.1,nk.ORDER_FUNCTION_CALL=2.2,nk.ORDER_EXPONENTIATION=3,nk.ORDER_UNARY_SIGN=4,nk.ORDER_BITWISE_NOT=4,nk.ORDER_MULTIPLICATIVE=5,nk.ORDER_ADDITIVE=6,nk.ORDER_BITWISE_SHIFT=7,nk.ORDER_BITWISE_AND=8,nk.ORDER_BITWISE_XOR=9,nk.ORDER_BITWISE_OR=10,nk.ORDER_RELATIONAL=11,nk.ORDER_EQUALITY=11,nk.ORDER_LOGICAL_NOT=12,nk.ORDER_LOGICAL_AND=13,nk.ORDER_LOGICAL_OR=14,nk.ORDER_ASSIGNMENT=14,nk.ORDER_CONDITIONAL=15,nk.ORDER_LAMBDA=16,nk.ORDER_NONE=99,nk.ORDER_OVERRIDES=[[nk.ORDER_FUNCTION_CALL,nk.ORDER_MEMBER],[nk.ORDER_FUNCTION_CALL,nk.ORDER_FUNCTION_CALL],[nk.ORDER_MEMBER,nk.ORDER_MEMBER],[nk.ORDER_MEMBER,nk.ORDER_FUNCTION_CALL]],nk.init=function(){nk.PASS=this.INDENT+"pass\n",nk.definitions_=Object.create(null),nk.functionNames_=Object.create(null),nk.setups_=Object.create(null),nk.loops_=Object.create(null),nk.codeEnd_=Object.create(null),nk.variableDB_?nk.variableDB_.reset():nk.variableDB_=new Ye(nk.RESERVED_WORDS_)},nk.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in nk.functions_)o.push(nk.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in nk.setups_)p.push(nk.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in nk.loops_)a.push(nk.loops_[s]);var u=[];for(var s in nk.codeEnd_)u.push(nk.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},nk.scrubNakedValue=function(e){return e+"\n"},nk.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},nk.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},nk.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=Ne.utils.string.wrap(_,nk.COMMENT_WRAP-3),n+=nk.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const sk={};sk["MixGo MINI"]={description:"MicroPython[ESP32C3 MixGo MINI]",digital_pin:De.Profile.generate(["0-10","18"]),input_pin:De.Profile.generate(["0-10","18"]),output_pin:De.Profile.generate(["0-10","18"]),pwm_input:De.Profile.generate(["0-10","18"],"pwm","pwm"),analog_input:De.Profile.generate(["0-4"],"adc","adc"),pwm_output:De.Profile.generate(["0-10","18"],"pwm","pwm"),analog_output:De.Profile.generate(["0-4"],"adc","adc"),espnow_channel:De.Profile.generate(["1-13"]),haskylens_model:De.Profile.generate(["0-4"]),digital:De.Profile.generate(["0-10","18"],"pin","pin"),pwm_pin:De.Profile.generate(["0-10","18"]),pwm:De.Profile.generate(["0-10","18"],"pwm","pwm"),analog_pin:De.Profile.generate(["0-4"]),analog:De.Profile.generate(["0-4"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:De.Profile.generate(["0-4"]),exlcdh:De.Profile.generate(["0-11"]),exlcdv:De.Profile.generate(["0-7"]),brightness:De.Profile.generate(["0-9"]),tts_voice:De.Profile.generate(["0-16"]),tts_builtin_music:De.Profile.generate(["0-47"]),tts_bgmusic:De.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["ANGRY","onboard_matrix.ANGRY"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["BIRTHDAY","onboard_music.BIRTHDAY"],["BA_DING","onboard_music.BA_DING"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},sk["ESP32C2 Generic(2M)"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:De.Profile.generate(["0-11","18-21"]),input_pin:De.Profile.generate(["0-11","18-21"]),output_pin:De.Profile.generate(["0-11","18-21"]),pwm_input:De.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:De.Profile.generate(["0-5"],"adc","adc"),pwm_output:De.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:De.Profile.generate(["0-5"],"adc","adc"),espnow_channel:De.Profile.generate(["1-13"]),haskylens_model:De.Profile.generate(["0-4"]),digital:De.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:De.Profile.generate(["0-11","18-21"]),pwm:De.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:De.Profile.generate(["0-5"]),analog:De.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:De.Profile.generate(["0-4"]),exlcdh:De.Profile.generate(["0-31"]),exlcdv:De.Profile.generate(["0-11"]),brightness:De.Profile.generate(["0-9"]),tts_voice:De.Profile.generate(["0-16"]),tts_builtin_music:De.Profile.generate(["0-47"]),tts_bgmusic:De.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const _k=sk,ok=20,pk={init:function(){this.setColour(ok),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_HIGH,"HIGH"],[Ne.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},ak={init:function(){this.setColour(ok),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Ne.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},uk={init:function(){this.setColour(ok),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Ne.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},rk={init:function(){this.setColour(ok),this.appendValueInput("PIN",Number).appendField("DAC"+Ne.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Ne.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},dk={init:function(){this.setColour(ok),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_mSecond,"period"],[Ne.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(Ne.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},lk={init:function(){this.setColour(ok),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_REF_VOLTAGE+Ne.Msg.MIXLY_STAT).appendField(new Ne.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},Ik={init:function(){this.setColour(ok),this.appendValueInput("pin").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Ne.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(Ne.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},Tk={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MODE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Ne.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Ne.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Ne.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},Mk={init:function(){this.setColour(20),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETUP).appendField(new Ne.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROPYTHON_AS).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[Ne.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[Ne.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[Ne.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},hk={init:function(){this.setColour(ok),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SETUP).appendField(new Ne.FieldTextInput("dac#"),"PIN_OBJ").appendField(Ne.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+Ne.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},mk={init:function(){this.setColour(ok),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SETUP).appendField(new Ne.FieldTextInput("tc#"),"PIN_OBJ").appendField(Ne.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(Ne.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Ne.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},Ek={init:function(){this.setColour(ok),this.appendValueInput("PIN",Number).appendField("PWM"+Ne.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Ne.Msg.MIXLY_FREQUENCY+Ne.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ne.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},Ok=Mk,Rk=mk,ck=Ik,gk=Tk,Ck=40,Sk={init:function(){if("mixgo_me"==De.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(Ck),this.appendDummyInput("").appendField(e).appendField(Ne.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Ne.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Ne.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Ne.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Ak={init:function(){if("mixgo_me"==De.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(Ck),this.appendDummyInput("").appendField(e).appendField(Ne.Msg.MIXLY_Altitude+Ne.Msg.MSG.catSensor+" HP203X").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_GETPRESSURE,"pressure()"],[Ne.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Ne.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lk={init:function(){if("mixgo_me"==De.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(Ck),this.appendDummyInput().appendField(e).appendField(Ne.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nk={init:function(){if("mixgo_me"==De.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(Ck),this.appendDummyInput().appendField(e).appendField("RFID"+Ne.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_RFID_READ_CARD_UID),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Dk={init:function(){if("mixgo_me"==De.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(Ck),this.appendDummyInput().appendField(e).appendField("RFID"+Ne.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(Ne.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fk={init:function(){if("mixgo_me"==De.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(Ck),this.appendDummyInput().appendField(e).appendField(Ne.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(Ne.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Ne.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Fk={init:function(){if("mixgo_me"==De.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(Ck),this.appendDummyInput().appendField(e).appendField(Ne.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(Ne.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Ne.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Ne.Msg.RETURN_SUCCESS_OR_NOT),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setOutput(!0),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Pk={init:function(){if("mixgo_me"==De.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(Ck),this.appendDummyInput().appendField(e).appendField("RFID"),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_RFID_SCAN_OK,"True"],[Ne.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[Ne.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.appendDummyInput().appendField(`(${Ne.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(Ne.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Yk=100,vk={init:function(){this.setColour(Yk),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.MIXGO_LEFT_FRONT+Ne.Msg.COLOUR_RGB_GREEN+Ne.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[Ne.Msg.MIXGO_RIGHT_FRONT+Ne.Msg.COLOUR_RGB_GREEN+Ne.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[Ne.Msg.MIXGO_LEFT_BACK+Ne.Msg.COLOUR_RGB_GREEN+Ne.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[Ne.Msg.MIXGO_RIGHT_BACK+Ne.Msg.COLOUR_RGB_GREEN+Ne.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[Ne.Msg.MIXGO_LEFT_FRONT+Ne.Msg.COLOUR_RGB_RED+Ne.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[Ne.Msg.MIXGO_RIGHT_FRONT+Ne.Msg.COLOUR_RGB_RED+Ne.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[Ne.Msg.MIXGO_LEFT_BACK+Ne.Msg.COLOUR_RGB_RED+Ne.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[Ne.Msg.MIXGO_RIGHT_BACK+Ne.Msg.COLOUR_RGB_RED+Ne.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[Ne.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},Xk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_SETONOFF)}},yk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_GETONOFF)}},xk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_ESP32_LED_GETONOFF)}},bk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField(Ne.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),this.appendValueInput("bright").appendField(Ne.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ne.Msg.MIXLY_SETTING+Ne.Msg.MIXLY_BUILDIN_LED+Ne.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},Vk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField("ME GO").appendField(new Ne.FieldDropdown([[Ne.Msg.blockpy_forward,"F"],[Ne.Msg.blockpy_backward,"B"],[Ne.Msg.blockpy_left,"L"],[Ne.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField("ME GO").appendField(new Ne.FieldDropdown([[Ne.Msg.MOTOR_P,"P"],[Ne.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField("ME GO").appendField(Ne.Msg.MOTOR_DC).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[Ne.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[Ne.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_Direction).appendField(new Ne.FieldDropdown([[Ne.Msg.ROTATION_FORWARD,"CW"],[Ne.Msg.ROTATION_BACKWARD,"CCW"],[Ne.Msg.MOTOR_P,"P"],[Ne.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Ne.inputs.Align.RIGHT).appendField(Ne.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Uk={init:function(){this.setColour(Yk),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_ESP32_INTERRUPT).appendField(Ne.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.TEXT_TRIM_LEFT,"A"],[Ne.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(Ne.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wk={init:function(){this.setColour(Yk),this.appendDummyInput("").appendField(Ne.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.TEXT_TRIM_LEFT,"A"],[Ne.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new Ne.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hk={init:function(){this.setColour(Yk),this.appendDummyInput("").appendField(Ne.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new Ne.FieldDropdown([[Ne.Msg.TEXT_TRIM_LEFT,"A"],[Ne.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new Ne.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},kk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.TEXT_TRIM_LEFT,"[0]"],[Ne.Msg.MIXGO_LEFT_MID,"[1]"],[Ne.Msg.MIXGO_RIGHT_MID,"[2]"],[Ne.Msg.TEXT_TRIM_RIGHT,"[3]"],[Ne.Msg.MIXLY_ALL,""]]),"key").appendField(Ne.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return Ne.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+Ne.Msg.MIXLY_ESP32_NEAR}))}},Wk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXGO_LEFT_FRONT,"[0]"],[Ne.Msg.MIXGO_RIGHT_FRONT,"[1]"],[Ne.Msg.MIXGO_LEFT_BACK,"[3]"],[Ne.Msg.MIXGO_RIGHT_BACK,"[2]"],[Ne.Msg.MIXLY_ALL,""]]),"key").appendField(Ne.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return Ne.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+Ne.Msg.MIXLY_ESP32_NEAR}))}},Kk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new Ne.FieldDropdown([[Ne.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[Ne.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[Ne.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[Ne.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[Ne.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jk={init:function(){this.setColour(Yk),this.appendDummyInput("").appendField(Ne.Msg.MIXLY_GET_GESTURE).appendField(new Ne.FieldDropdown([[Ne.Msg.ME_GO_PITCH,"[0]"],[Ne.Msg.ME_GO_ROLL,"[1]"],[Ne.Msg.ME_GO_PITCH+", "+Ne.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qk={init:function(){this.setColour(Yk),this.appendDummyInput().appendField(Ne.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Ne.FieldDropdown([[Ne.Msg.TEXT_TRIM_LEFT,"[0]"],[Ne.Msg.MIXGO_LEFT_MID,"[1]"],[Ne.Msg.MIXGO_RIGHT_MID,"[2]"],[Ne.Msg.TEXT_TRIM_RIGHT,"[3]"],[Ne.Msg.MIXLY_ALL,""]]),"key").appendField(Ne.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return Ne.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+Ne.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},qk=230,zk={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.digital),"PIN"),this.setOutput(!0)}},jk={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},$k={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},Zk={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},eW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},tW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},iW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},nW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},sW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},_W={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},oW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},pW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},aW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},uW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},rW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},dW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},lW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.analog),"PIN"),this.setOutput(!0)}},IW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},TW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.dac),"PIN"),this.setOutput(!0)}},MW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},hW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},mW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},EW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.pwm),"PIN"),this.setOutput(!0)}},OW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},RW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},cW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.touch),"PIN"),this.setOutput(!0)}},gW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},CW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},SW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},AW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.imglist),"PIN"),this.setOutput(!0)}},LW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.playlist),"PIN"),this.setOutput(!0)}},NW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},DW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},fW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},FW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},PW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},YW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},vW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},XW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},yW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},xW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},bW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},VW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.one_more),"PIN"),this.setOutput(!0)}},BW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown(De.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},GW={init:function(){this.setColour(qk),this.appendDummyInput("").appendField(new Ne.FieldDropdown([["0","0"]]),"PIN"),this.setOutput(!0,Number)}},UW=function(e,t){const i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=t.valueToCode(this,"LEDCOUNT",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ws2812x_NeoPixel="from ws2812x import NeoPixel";return`${i} = NeoPixel(machine.Pin(${n}), ${s})\n`},wW=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},HW=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},kW=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},WW=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},KW=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},JW=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},QW=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},qW=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,Ne.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},zW=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,Ne.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},jW=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},$W=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,Ne.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},ZW=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_ahtx0."+i+"()",t.ORDER_ATOMIC]},eK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_mini_g2="import mini_g2",["mini_g2.ext_hp203x."+i,t.ORDER_ATOMIC]},tK=function(e,t){t.definitions_.import_mini_g2="import mini_g2";return["mini_g2.varistor()",t.ORDER_ATOMIC]},iK=function(e,t){t.definitions_.import_mini_g2="import mini_g2";var i=De.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var n='ext_rfid.read_card(0, x="id")'}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";n='onboard_rfid.read_card(0, x="id")'}return[n,t.ORDER_ATOMIC]},nK=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";s="onboard_rfid.read_card("+n+', x="content")'}return[s,t.ORDER_ATOMIC]},sK=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";_="onboard_rfid.write_card("+s+", "+n+")\n"}return _},_K=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";_="onboard_rfid.write_card("+s+", "+n+")"}return[_,t.ORDER_ATOMIC]},oK=function(e,t){var i=De.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else{t.definitions_["import_"+i+"_onboard_rfid"]="from "+i+" import onboard_rfid";s="onboard_rfid.scan_card()=="+n}return[s,t.ORDER_ATOMIC]},pK=function(e,t){return t.definitions_.import_me_go_car="from me_go import car",["car."+this.getFieldValue("op"),t.ORDER_ATOMIC]},aK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car","car.setonoff("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},uK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car",["car.getrightness("+i+")",t.ORDER_ATOMIC]},rK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car",["car.getonoff("+i+")",t.ORDER_ATOMIC]},dK=function(e,t){var i=t.valueToCode(this,"led",t.ORDER_ATOMIC);return t.definitions_.import_me_go_car="from me_go import car","car.setbrightness("+i+","+t.valueToCode(this,"bright",t.ORDER_ATOMIC)+")\n"},lK=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'",'+t.valueToCode(this,"speed",t.ORDER_ASSIGNMENT)+")\n"},IK=function(e,t){var i=this.getFieldValue("VAR");return t.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'")\n'},TK=function(e,t){var i=this.getFieldValue("wheel");t.definitions_.import_me_go_car="from me_go import car";var n=this.getFieldValue("direction");return 0==i&&("CW"==n?n="CCW":"CCW"==n&&(n="CW")),"car.motor(car.MOTO["+i+'],"'+n+'",'+t.valueToCode(this,"speed",t.ORDER_ATOMIC)+")\n"},MK=function(e,t){var i=this.getFieldValue("mode");return t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,"hall_"+i+".irq_cb("+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+")\n"},hK=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i;var s=t.valueToCode(this,"num",t.ORDER_ATOMIC);return"all"==n?"hall_"+i+".initial(turns="+s+",distance="+s+")\n":"hall_"+i+".initial("+n+"="+s+")\n"},mK=function(e,t){var i=this.getFieldValue("mode"),n=this.getFieldValue("args");return t.definitions_["import_me_go_hall_"+i]="from me_go import hall_"+i,["hall_"+i+"."+n,t.ORDER_ATOMIC]},EK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.patrol()"+i,t.ORDER_ATOMIC]},OK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.obstacle()"+i,t.ORDER_ATOMIC]},RK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car","car.ir_mode(car."+i+")\n"},cK=function(e,t){return t.definitions_.import_mixgo_me_onboard_mxc6655xa="from mixgo_me import onboard_mxc6655xa",["onboard_mxc6655xa.eulerangles(upright=True)"+this.getFieldValue("angle"),t.ORDER_ATOMIC]},gK=function(e,t){var i=this.getFieldValue("key");return t.definitions_.import_me_go_hall="from me_go import car",["car.light()"+i,t.ORDER_ATOMIC]},CK=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},SK=CK,AK=CK,LK=CK,NK=CK,DK=CK,fK=CK,FK=CK,PK=CK,YK=CK,vK=CK,XK=CK,yK=CK,xK=CK,bK=CK,VK=CK,BK=CK,GK=CK,UK=CK,wK=CK,HK=CK,kK=CK,WK=CK,KK=CK,JK=CK,QK=CK,qK=CK,zK=CK,jK=CK,$K=CK,ZK=CK,eJ=CK,tJ=CK,iJ=CK,nJ=CK,sJ=CK,_J=CK,oJ=CK,pJ=CK,aJ=CK,uJ=CK,rJ=CK,dJ=CK,lJ=CK,IJ=CK,TJ=CK;Object.assign(Ne.Variables,Fe),Object.assign(Ne.Procedures,Ku),Object.assign(Ne.Lang.ZhHans,Me),Object.assign(Ne.Lang.ZhHant,he),Object.assign(Ne.Lang.En,me),Ne.Python=Ju,Ne.generator=Ju,De.Profile.default={},Object.assign(De.Profile,_k),Object.assign(De.Profile.default,_k["MixGo CC"]),Object.assign(Ne.Blocks,t,i,n,s,_,o,p,a,u,r,d,l,I,G,K,W,x,U,J,f,P,Y,k,H,w,F,D,N,V,b,B,v,X,y,Ee,Oe,Re,ce),Object.assign(Ne.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,pe,Ie,le,ne,ae,Te,z,j,Z,de,re,ue,$,q,Q,_e,se,oe,ee,te,ie,ge,Ce,Se,Ae,Le)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c2/styles/main.fad90f1f.css b/boards/default/micropython_esp32c2/styles/main.0665557c.css similarity index 97% rename from boards/default/micropython_esp32c2/styles/main.fad90f1f.css rename to boards/default/micropython_esp32c2/styles/main.0665557c.css index 8fd38444..8157a190 100644 --- a/boards/default/micropython_esp32c2/styles/main.fad90f1f.css +++ b/boards/default/micropython_esp32c2/styles/main.0665557c.css @@ -158,6 +158,16 @@ div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(12)>div.blocklyTr background-size: 100% auto; } +#catPE_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZDNmNzAyOWQtOWMwYy00NTRiLTllMTQtNTg0MjY3NTRiYWMyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkM2Y3MDI5ZC05YzBjLTQ1NGItOWUxNC01ODQyNjc1NGJhYzI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/zmC9wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADFklEQVR42uzXPYgdVRjG8f/znnFbEUWwFBENKVLEMosoWNiYoEnYL4MEtbAQoqsi9gHNrh+FYKKNMfeGZZeNNoKaJhIrU9ikEQnpUq2gRYp1zvtYzFxJjAlC5pImpxyGc37M+3HekW3u5NJdwLWA5fEikUGNpC2VsChZ3ha8D/zu1HzC9xEJGSQQpULb4EgiEtfSPY+EWrBMlIrbhiyVAFYWRjcHKAMDLhWh3bIu2HwmeAzxlGEd8iVquZoaHLD0hcwm1rcKAB8yfOkaQgnFr8o6jozbWEwxHhTw1njJ4I+AN0AA+4F1Uo8gX0oZarkvIkcEz9qcBx+klitDAt4DjvaAF4ANUg8Dl90foKgg9gmdAXDGspWrUwcApIVKBcC1lCh5QnDY8Bt4nzMuThVgC3oAtUBUCO+R42vgfpvVtJanBgBwJAZUC5SKZahBBEeBd4E/jZ+jLeccUwAgk/L1gAxCxvC4rE2JHU59lfByRN12HRIAXa8AFHkdIPvQROTrhD8BgX3AtWwMCgBIQDLuO+O1AJWK4UE5Tof8tK2zVTkXsDUYwAA3+QI9ANqGaNqDwJoRmD0ri6d+GgTwT0LeAqC2gabFFiF+Bp44tnBKwwCs7vBIMoMAVCqZgTKgaclaCAuaFjkuALsHA9iC/wVgIZocuQPPrsyPzg9TBVb3Vn/oDYBSHwKtBcw69UPK80Rurc6PByjDSJyB+s54A8BxJCI/dJeKB1zLhiMhkmEApXYX078BkTsNZyQ9StXJlF9R5Pbkyp4uQD4msQz8YeVe2uac5e7yGgrgPvvVJ5hS0NQnhb4B7rX5wNY76puT+7DcPsBcJro6V8YEMBPwOeFD4F+B551xcdKihweU7OaBDFTqftB6X45HjD+eDCS3C/jvkQwu9bF+QGgs+RnjH8FzynIlZYYAHE9508rvGgfAi7ZOdkOpUeRriE8B3JYFy6ejVKiFYQCjJWqppEVTC8AuhX9x6oTEDuRZmzWUh6nN1cm0MyygacntGbQ9A6VS7vnrTYVXsLacmrM5q6bfcGjA3X/DO7H+HgDRj5vujRlaHAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catPE_G1.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmEyZmFlYWEtZjcyYS1hYjQzLThkN2EtYjEwY2QxMTA3MmNiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYTJmYWVhYS1mNzJhLWFiNDMtOGQ3YS1iMTBjZDExMDcyY2I8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+wqwjaAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABl0lEQVR42uzXP0hVcRjG8c9FcI0wgsYQSWloqDEJgwYXk/6IFYaEOjQIlRTRLpTanyHIaqlQEaV0ESoXI6ccWlxCws1JwYaGltvyHrhIQ8O9ryC+0+89cA7f3znv73meUyqXy3azSvsA/wFwFw+xhSv4lAlwEit4gWNowwx68bsWAK/xHgvRX8cblKIfwHisr2Gy2gBlPMHt6C/FjhvxM64dxATa8RVd2KgmwAMMR38RsziK9R33duJDrIcwlg0AdXiJG1gLqNVMgKJOYw4N8SaGsgGKGsZ9/EIHlrIBoDlOUgveoQ9/MgGKGsSzWF+O56QCwGFM4SwW0Y3NTICiujBdMbDL2QBFfcOpCmVNB1gJf0kHuBryDa0h4SkAR+Lbt+Jz2HnaEN7C4904hsfDpJrwFv2ZQjQSPrCN85lSfAbzOIBHuJdlRvV4FcnpBy5k2nGRloqBe5oVyQ5FFjyHL6HvVYtk42GlH6PviUkulOsmnleIy1StY/kJfI/Y1RKCMh0RrCax/F91B6OhYN1hq/v/hnsH4O8A38/3wXV4mTEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + #catME_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTgzOWI5NTgtMjZhNy1kYTQwLTg1NDQtZWRkY2UzZjYzYmNhPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplODM5Yjk1OC0yNmE3LWRhNDAtODU0NC1lZGRjZTNmNjNiY2E8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+w67uMwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAFA0lEQVR42sSXS6hkVxWGv3/tfW4bgxIJNK1RuKJ4J42PgWJGCUkEHwMHcZSbgYKQgWRqRKI4izF3IoiERnzQ3pkRRwaFpB21GATRJpDuIDFog23EGNMm3XXOXr+DU1W36tbDJhlkD+ucOvtba/3r32vLNm/l0uHBfXdJfOSN/h+7DarnWpQ/iTEYI2SzkxOESQcArRSGqGghaB0e7P8W+OSbCGIw+klKX8ZLZBTaCGRtBfCU+iLYQNzoxsDbBbvAZSfvnT0wIpRIvmGAl2xOzlK1IdeglZ9vDvkq8HxaH1p8UNTmGyXx/wFInyTAEhzTpWQaBaWRPb4zrltD/ucigNG4eRijEbrxpMwHhlI+00f353AeAzBXpDyl4o3RX9PbaC7UHIicf+C2kP8GXEprbx59NDKCzDHyIM+Gfb/R633Uj1m6uAhwbRrlGcbY19TB0ahnmuKPAKW17QAaAdxEaY2sAdKjkflVS6/YvCecr80A/gW8a8yVNyqA5CvG3wcWS7ACEE4UHjNAoQ49GcH1ukPX2g9rDl9CPpfEXZbQ4cH+AFwF7t0meVsXDP849vMcoFl7YRNuEPFwhqrRt5QmS4EYn0XjBVu7rcbnMuKXMxFewT6FtA1gXX6WM6AxO+F0GCw/k9an+rrzn+qBkgMmbhecR7yYYncG8Hfsd/sYgOy5KuzYCuBkr0Wh7zq6Nvlg19oPEHckerZFOW1EbQMiQboAOp3SJ3R4sD8BesM3jgoOwAmZ87Z/M+3F0VC0OQOy6WtHkJRsCM7JvtPSd4YoD4WTaAnSA4jHDQc6PNh/GbhlbdrRU2ndo43iXAVoUXBopumbuhz+C6gR7wRenXrAnuA5i9/r8GC/BybYDy61oelU+IMifzezUlvz3t7WhtTRO4wI+6wa9zfpCyk9UTIRrkg90C9p4Fj4qHhsqQwiRm/v+w5bM59fCxDMzgFj4gHQ49hfF37EsxpKLwO3LANsOYYUSYmktcIw1DcEADyy4O9zgLEEmpdAqy5EAX4dkX+xRWvlBkowraf9UzX2m3RvSj8vmciuhHpgslWEyz4QDyZ875ggVwBk4xB9qYS9KMJ3AFfnIhTPmVGEE6DH/uaWDHRYPzM8fyNWbAmHCHvWho8OUb62pg0f2yzC1Z6cr1SstWJhSiYZ8T6Js8J3GD07LBmRQVwAnbb08a1WbIRtgukcgBY3Xz0Lxjc6FJPpF56xdc+k7rzauR9PRpXbhc8jv5jS7tbDyOivaS5pNhF5Kf3LJUj2HEHWiDoM35V4JdHDaqaVgooZS+AXjHZbic9m6MmF43ht8/3K6U+PaR8xtonQEn3tONGuI8zgyg4TmgrX4wQ1hx91OXzR4unmcvfsOL42jfYMPnJC4ZKKp1rEE7YoNKoGMsdJZ50PyGYolUIjSByiU8/QKk59u8gPJfq3zW2yX1ucCa/YnEoLpjOhnAy14hp02VNoRzo4gljpAksESWUYQzGkyy+MPg+83kf9qKVLq0Opx6F0SQPTjwU5n2znQ2orOOPWiFwaSuVxGnJoCgzFvhxu2Ue9cyjrh9KXFHmSmDv1aAg+6oZ1KzNu1ijgFYC+dnO9lNZqyTZkBEPZcDGRfNEbh9K1U+IA3GTr/YbLTC8mllCaVsuofpvIcT7YBPBmr2bN6MeLVzMx3h1mm20HeOy+u018mO1j8cZECGeLeHrxcjqr4cwztgK81dfz/w0AHjWdyjCbBL0AAAAASUVORK5CYII=) no-repeat; background-size: 100% auto; diff --git a/boards/default/micropython_esp32c3/index.xml b/boards/default/micropython_esp32c3/index.xml index 9b273e62..f9871464 100644 --- a/boards/default/micropython_esp32c3/index.xml +++ b/boards/default/micropython_esp32c3/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_func1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,0100100100440440100001004120000000000010001000Mixly0MixlyMixly500MixlyMixly50010.51001001000interrupt_funcinterrupt_functurnsdistance00Mixly0Mixlywifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cbvar_re345rotary_cbrotary_cb100midi0midi440midi4401000midimidi100midimidimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_func1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,0100100100440440100001004120000000000010001000Mixly0MixlyMixly500MixlyMixly50010.51001001000interrupt_funcinterrupt_functurnsdistancei2c_extend2122400000pei2c_extendpepe100pepe100pepe100pe00Mixly0Mixlywifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"sound"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!1002000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi2000004512spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr0121ws_wrws_wrws_wr360002zsensorzsensorzsensorzsensorzsensorweight12500weightvar_re345rotary_cbrotary_cbvar_re345rotary_cbrotary_cb100midi0midi440midi4401000midimidi100midimidimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi1000000450spi78tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32c3/main.bundle.6027d445.js b/boards/default/micropython_esp32c3/main.bundle.6027d445.js new file mode 100644 index 00000000..861e2baf --- /dev/null +++ b/boards/default/micropython_esp32c3/main.bundle.6027d445.js @@ -0,0 +1,21 @@ +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>vt,controls_typeLists:()=>Xt,lists_zip:()=>xt,lists_zip_container:()=>yt,lists_zip_item:()=>bt,unpack_iterable_object:()=>Vt,variables_change:()=>Pt,variables_get:()=>ft,variables_global:()=>Yt,variables_set:()=>Ft});var i={};t.r(i),t.d(i,{base_setup:()=>Ut,controls_delay:()=>wt,controls_end_program:()=>kt,controls_except:()=>ie,controls_finally:()=>ne,controls_flow_statements:()=>qt,controls_for:()=>zt,controls_forEach:()=>Kt,controls_for_range:()=>jt,controls_if:()=>Ht,controls_if_else:()=>te,controls_if_elseif:()=>Zt,controls_if_if:()=>$t,controls_lambda:()=>_e,controls_main:()=>Gt,controls_pass:()=>oe,controls_range:()=>Wt,controls_repeat_ext:()=>se,controls_thread:()=>pe,controls_try:()=>ee,controls_try_finally:()=>Qt,controls_whileUntil:()=>Jt,datetime_fromtimestamp:()=>Ie,do_while:()=>ae,garbage_collection:()=>ue,gene_unique_identifier:()=>Te,get_mem_alloc:()=>re,get_mem_free:()=>de,get_unique_identifier:()=>le});var n={};t.r(n),t.d(n,{base_map:()=>xe,generate_cartesian_product:()=>be,math_arithmetic:()=>Oe,math_bit:()=>ce,math_constant:()=>me,math_constant_mp:()=>Ee,math_constrain:()=>De,math_dec:()=>Ce,math_degree_to_radian:()=>Be,math_indexer_number:()=>Fe,math_map:()=>fe,math_max_min:()=>Ae,math_number:()=>he,math_number_base_conversion:()=>Le,math_radian_to_degree:()=>Ve,math_random:()=>Ne,math_random_seed:()=>Pe,math_round:()=>Ye,math_selfcalcu:()=>Re,math_to_int:()=>Se,math_trig:()=>ge,text_to_number:()=>ve,text_to_number_skulpt:()=>Xe,turn_to_int:()=>ye});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Ke,char_to_ascii:()=>Je,number_to_text:()=>Qe,os_system:()=>Oi,text:()=>Ue,text_bytes:()=>ke,text_capital:()=>ni,text_center:()=>si,text_char:()=>He,text_char_at:()=>je,text_char_at2:()=>ze,text_char_at3:()=>Mi,text_compareTo:()=>Ti,text_compare_to:()=>ii,text_create_with_container:()=>di,text_create_with_item:()=>li,text_encode:()=>mi,text_equals_starts_ends:()=>ei,text_eval:()=>Ei,text_find:()=>_i,text_format:()=>ri,text_format_noreturn:()=>hi,text_join:()=>We,text_join_seq:()=>oi,text_length:()=>qe,text_random_char:()=>$e,text_replace:()=>pi,text_split:()=>ai,text_strip:()=>ui,text_substring:()=>ti,text_substring2:()=>Ze,text_substring3:()=>Ii,text_textarea:()=>we});var _={};t.r(_),t.d(_,{ENUMERATE:()=>en,content_in_lists:()=>sn,enumerate:()=>nn,list_many_input:()=>wi,list_tolist:()=>Ki,list_tolist2:()=>tn,list_trig:()=>Bi,lists_2d_get_col_row_data:()=>Si,lists_2d_get_data_with_col_row:()=>Ci,lists_append_extend:()=>Fi,lists_change_to:()=>Ui,lists_change_to_general:()=>Hi,lists_clear:()=>xi,lists_create_with:()=>Ai,lists_create_with2:()=>Ji,lists_create_with_container:()=>Ni,lists_create_with_item:()=>Di,lists_create_with_noreturn:()=>ki,lists_create_with_text:()=>Li,lists_create_with_text2:()=>Qi,lists_del_general:()=>Wi,lists_find:()=>Vi,lists_getIndex3:()=>qi,lists_getSublist3:()=>zi,lists_get_index:()=>ci,lists_get_random_item:()=>Pi,lists_get_random_sublist:()=>Yi,lists_get_sublist:()=>gi,lists_insert_value:()=>vi,lists_insert_value2:()=>$i,lists_pop:()=>bi,lists_remove_at:()=>yi,lists_remove_at2:()=>Zi,lists_reverse:()=>Xi,lists_setIndex3:()=>ji,lists_set_index:()=>fi,lists_sort:()=>Gi});var o={};t.r(o),t.d(o,{dicts_add_change_del:()=>Rn,dicts_add_or_change:()=>ln,dicts_clear:()=>Mn,dicts_create_with:()=>on,dicts_create_with_container:()=>pn,dicts_create_with_item:()=>an,dicts_create_with_noreturn:()=>Cn,dicts_deldict:()=>On,dicts_delete:()=>In,dicts_get:()=>rn,dicts_get_default:()=>dn,dicts_items:()=>hn,dicts_keys:()=>un,dicts_length:()=>En,dicts_pop:()=>cn,dicts_setdefault:()=>gn,dicts_to_json:()=>An,dicts_to_json2:()=>Dn,dicts_to_to:()=>Nn,dicts_todict:()=>Sn,dicts_update:()=>Tn,dicts_values:()=>mn,json_to_dicts:()=>Ln});var p={};t.r(p),t.d(p,{logic_boolean:()=>Xn,logic_compare:()=>Fn,logic_compare_continous:()=>Pn,logic_is:()=>Vn,logic_is_in:()=>bn,logic_negate:()=>vn,logic_null:()=>xn,logic_operation:()=>Yn,logic_tobool:()=>Bn,logic_true_or_false:()=>yn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>as,sdcard_use_spi_init:()=>ps,storage_can_write_ornot:()=>Qn,storage_change_dir:()=>_s,storage_close_file:()=>zn,storage_delete_file:()=>$n,storage_file_seek:()=>es,storage_file_tell:()=>ts,storage_file_write:()=>Hn,storage_fileopen:()=>Un,storage_fileopen_new:()=>wn,storage_fileopen_new_encoding:()=>kn,storage_get_a_line:()=>Jn,storage_get_contents:()=>Kn,storage_get_contents_without_para:()=>Wn,storage_get_current_dir:()=>is,storage_get_file_size:()=>Zn,storage_get_filename:()=>qn,storage_is_file:()=>os,storage_list_all_files:()=>jn,storage_make_dir:()=>ns,storage_open_file_with_os:()=>Gn,storage_rename:()=>ss});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>Is,procedures_callreturn:()=>Ts,procedures_defnoreturn:()=>us,procedures_defreturn:()=>rs,procedures_ifreturn:()=>Ms,procedures_mutatorarg:()=>ls,procedures_mutatorcontainer:()=>ds,procedures_return:()=>hs});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Ds,tuple_create_llm_params:()=>bs,tuple_create_with:()=>Es,tuple_create_with_container:()=>Os,tuple_create_with_item:()=>Rs,tuple_create_with_noreturn:()=>Ys,tuple_create_with_text2:()=>cs,tuple_create_with_text_return:()=>gs,tuple_del:()=>As,tuple_find:()=>fs,tuple_getIndex:()=>Cs,tuple_getSublist:()=>Ps,tuple_get_random_item:()=>Xs,tuple_get_sublist:()=>vs,tuple_input:()=>ys,tuple_join:()=>Ls,tuple_length:()=>Ss,tuple_max:()=>Ns,tuple_totuple:()=>xs,tuple_trig:()=>Fs});var d={};t.r(d),t.d(d,{set_add_discard:()=>Js,set_clear:()=>Hs,set_create_with:()=>Bs,set_create_with_container:()=>Gs,set_create_with_item:()=>Us,set_create_with_text_return:()=>zs,set_length:()=>ws,set_operate:()=>Ws,set_operate_update:()=>Ks,set_pop:()=>ks,set_sub:()=>Qs,set_toset:()=>js,set_update:()=>qs});var l={};t.r(l),t.d(l,{html_content:()=>i_,html_content_more:()=>n_,html_document:()=>Zs,html_form:()=>__,html_head_body:()=>e_,html_style:()=>s_,html_style_color:()=>p_,html_style_content:()=>o_,html_text:()=>a_,html_title:()=>t_});var I={};t.r(I),t.d(I,{attribute_access:()=>g_,function_call:()=>O_,function_call_container:()=>R_,function_call_item:()=>c_,raw_block:()=>d_,raw_empty:()=>I_,raw_expression:()=>l_,raw_table:()=>r_,text_comment:()=>T_,text_print_multiple:()=>h_,text_print_multiple_container:()=>m_,text_print_multiple_item:()=>E_,type_check:()=>M_});var T={};t.r(T),t.d(T,{controls_type:()=>N_,controls_typeLists:()=>D_,lists_zip:()=>f_,unpack_iterable_object:()=>F_,variables_change:()=>A_,variables_get:()=>C_,variables_global:()=>L_,variables_set:()=>S_});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>G_,base_setup:()=>Y_,controls_delay:()=>B_,controls_flow_statements:()=>V_,controls_for:()=>x_,controls_forEach:()=>W_,controls_for_range:()=>y_,controls_if:()=>v_,controls_interrupts:()=>k_,controls_lambda:()=>J_,controls_main:()=>P_,controls_millis:()=>U_,controls_nointerrupts:()=>H_,controls_pass:()=>q_,controls_range:()=>K_,controls_repeat:()=>no,controls_repeat_ext:()=>$_,controls_thread:()=>z_,controls_try_finally:()=>X_,controls_whileUntil:()=>b_,datetime_fromtimestamp:()=>so,do_while:()=>j_,garbage_collection:()=>Z_,gene_unique_identifier:()=>_o,get_mem_alloc:()=>to,get_mem_free:()=>eo,get_unique_identifier:()=>io,reset:()=>w_,time_sleep:()=>Q_});var h={};t.r(h),t.d(h,{base_map:()=>No,generate_cartesian_product:()=>fo,math_arithmetic:()=>ro,math_bit:()=>uo,math_constant:()=>po,math_constant_mp:()=>ao,math_constrain:()=>Ro,math_dec:()=>Mo,math_degree_to_radian:()=>Po,math_indexer_number:()=>Co,math_map:()=>Oo,math_max_min:()=>mo,math_number:()=>oo,math_number_base_conversion:()=>co,math_radian_to_degree:()=>Fo,math_random:()=>Eo,math_random_seed:()=>go,math_round:()=>So,math_selfcalcu:()=>lo,math_single:()=>Io,math_to_int:()=>ho,math_trig:()=>To,text_to_number:()=>Ao,text_to_number_skulpt:()=>Lo,turn_to_int:()=>Do});var m={};t.r(m),t.d(m,{ascii_to_char:()=>bo,char_to_ascii:()=>Vo,number_to_text:()=>Bo,os_system:()=>ap,text:()=>Yo,text_bytes:()=>Xo,text_capital:()=>Qo,text_center:()=>qo,text_char:()=>xo,text_char_at:()=>wo,text_char_at2:()=>Uo,text_char_at3:()=>_p,text_compareTo:()=>sp,text_compare_to:()=>Wo,text_encode:()=>op,text_equals_starts_ends:()=>Ho,text_eval:()=>pp,text_find:()=>zo,text_format:()=>ep,text_format_noreturn:()=>ip,text_join:()=>yo,text_join_seq:()=>jo,text_length:()=>Go,text_random_char:()=>ko,text_replace:()=>$o,text_split:()=>Zo,text_strip:()=>tp,text_substring:()=>Jo,text_substring2:()=>Ko,text_substring3:()=>np,text_textarea:()=>vo});var E={};t.r(E),t.d(E,{content_in_lists:()=>wp,enumerate:()=>Up,list_many_input:()=>Dp,list_tolist:()=>Bp,list_tolist2:()=>Gp,list_trig:()=>Ap,lists_2d_get_col_row_data:()=>dp,lists_2d_get_data_with_col_row:()=>rp,lists_append_extend:()=>hp,lists_change_to:()=>Np,lists_change_to_general:()=>Fp,lists_clear:()=>cp,lists_create_with:()=>lp,lists_create_with2:()=>Yp,lists_create_with_noreturn:()=>fp,lists_create_with_text:()=>Ip,lists_create_with_text2:()=>vp,lists_del_general:()=>Pp,lists_find:()=>gp,lists_getIndex3:()=>Xp,lists_getSublist3:()=>xp,lists_get_index:()=>Tp,lists_get_random_item:()=>mp,lists_get_random_sublist:()=>Ep,lists_get_sublist:()=>up,lists_insert_value:()=>Op,lists_insert_value2:()=>bp,lists_pop:()=>Sp,lists_remove_at:()=>Cp,lists_remove_at2:()=>Vp,lists_reverse:()=>Rp,lists_setIndex3:()=>yp,lists_set_index:()=>Mp,lists_sort:()=>Lp});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>ea,dicts_add_or_change:()=>Jp,dicts_clear:()=>zp,dicts_create_with:()=>kp,dicts_create_with_noreturn:()=>sa,dicts_deldict:()=>ta,dicts_delete:()=>Qp,dicts_get:()=>Wp,dicts_get_default:()=>Kp,dicts_items:()=>jp,dicts_keys:()=>Hp,dicts_length:()=>Zp,dicts_pop:()=>ia,dicts_setdefault:()=>na,dicts_to_json:()=>oa,dicts_to_json2:()=>ua,dicts_to_to:()=>aa,dicts_todict:()=>_a,dicts_update:()=>qp,dicts_values:()=>$p,json_to_dicts:()=>pa});var R={};t.r(R),t.d(R,{logic_boolean:()=>Ta,logic_compare:()=>ra,logic_compare_continous:()=>da,logic_is:()=>Ea,logic_is_in:()=>ma,logic_negate:()=>Ia,logic_null:()=>Ma,logic_operation:()=>la,logic_tobool:()=>Oa,logic_true_or_false:()=>ha});var c={};t.r(c),t.d(c,{sdcard_mount:()=>wa,sdcard_use_spi_init:()=>Ua,storage_can_write_ornot:()=>Da,storage_change_dir:()=>ya,storage_close_file:()=>Fa,storage_delete_file:()=>Ya,storage_file_seek:()=>xa,storage_file_tell:()=>Xa,storage_file_write:()=>Sa,storage_fileopen:()=>ca,storage_fileopen_new:()=>ga,storage_fileopen_new_encoding:()=>Ca,storage_get_a_line:()=>Na,storage_get_contents:()=>La,storage_get_contents_without_para:()=>Aa,storage_get_current_dir:()=>ba,storage_get_file_size:()=>va,storage_get_filename:()=>fa,storage_is_file:()=>Ga,storage_list_all_files:()=>Pa,storage_make_dir:()=>Va,storage_open_file_with_os:()=>Ra,storage_rename:()=>Ba});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Ka,procedures_callreturn:()=>Wa,procedures_defnoreturn:()=>Ha,procedures_defreturn:()=>ka,procedures_ifreturn:()=>Ja,procedures_return:()=>Qa});var C={};t.r(C),t.d(C,{tuple_change_to:()=>nu,tuple_create_llm_params:()=>lu,tuple_create_with:()=>qa,tuple_create_with_noreturn:()=>pu,tuple_create_with_text2:()=>za,tuple_create_with_text_return:()=>ja,tuple_del:()=>tu,tuple_find:()=>su,tuple_getIndex:()=>$a,tuple_getSublist:()=>ou,tuple_get_random_item:()=>uu,tuple_get_sublist:()=>au,tuple_input:()=>du,tuple_join:()=>eu,tuple_length:()=>Za,tuple_max:()=>iu,tuple_totuple:()=>ru,tuple_trig:()=>_u});var S={};t.r(S),t.d(S,{set_add_discard:()=>Ou,set_clear:()=>hu,set_create_with:()=>Iu,set_create_with_text_return:()=>gu,set_length:()=>Tu,set_operate:()=>mu,set_operate_update:()=>Eu,set_pop:()=>Mu,set_sub:()=>Ru,set_toset:()=>Cu,set_update:()=>cu});var A={};t.r(A),t.d(A,{html_content:()=>Nu,html_content_more:()=>Du,html_document:()=>Su,html_form:()=>Fu,html_head_body:()=>Lu,html_style:()=>fu,html_style_content:()=>Pu,html_text:()=>Yu,html_title:()=>Au});var L={};t.r(L),t.d(L,{attribute_access:()=>Bu,function_call:()=>Vu,raw_block:()=>vu,raw_empty:()=>xu,raw_expression:()=>Xu,raw_table:()=>yu,type_check:()=>bu});var N={};t.r(N),t.d(N,{PIN_init:()=>Kr,actuator_extern_get_led_bright:()=>er,actuator_extern_get_led_state:()=>ir,actuator_extern_led_bright:()=>tr,actuator_extern_led_brightness:()=>nr,actuator_ms32006_dcmotor:()=>lr,actuator_ms32006_init:()=>dr,actuator_ms32006_stepper:()=>Ir,actuator_neopixel_init:()=>Tr,actuator_neopixel_rgb:()=>Mr,actuator_neopixel_rgb_all:()=>hr,actuator_neopixel_rgb_show_all_chase:()=>Or,actuator_neopixel_rgb_show_all_rainbow:()=>Er,actuator_neopixel_write:()=>mr,actuator_use_uart_init:()=>Rr,backstage_esp32_music_play_list:()=>Qu,esp32_music_get_tempo_extern:()=>zu,esp32_music_pitch:()=>Wu,esp32_music_pitch_init:()=>Hu,esp32_music_pitch_with_time:()=>Ku,esp32_music_play_list:()=>Ju,esp32_music_reset_extern:()=>ju,esp32_music_set_tempo_extern:()=>qu,esp32_music_stop:()=>$u,esp32_set_music_volume:()=>Zu,mixbot_actuator_extern_get_addr:()=>Hr,mixbot_actuator_extern_set_addr:()=>Wr,mixbot_addr_extern:()=>Pr,parrot_PIN_init:()=>zr,parrot_move_speed:()=>jr,pin_led_bright:()=>Jr,player_insert_music:()=>Lr,player_play_music:()=>Ar,player_set_mode:()=>Sr,player_set_play:()=>gr,player_set_volume:()=>Cr,player_whether_stop:()=>cr,robot_led_extern:()=>xr,robot_led_extern_get_value:()=>yr,robot_motor_extern:()=>Yr,robot_motor_extern_get_speed:()=>vr,robot_servo_extern_absolute_run:()=>Gr,robot_servo_extern_get_status:()=>br,robot_servo_extern_relative_continue:()=>kr,robot_servo_extern_relative_origin:()=>Ur,robot_servo_extern_relative_run:()=>wr,robot_servo_extern_stop:()=>Br,robot_servo_extern_stop_mode:()=>Vr,robot_traffic_light_extern:()=>Xr,servo_PIN_init:()=>Qr,servo_get_angle:()=>ur,servo_get_speed:()=>rr,servo_init:()=>sr,servo_move:()=>_r,servo_move_angle:()=>qr,servo_set_angle:()=>pr,servo_set_speed:()=>ar,servo_speed_360:()=>or,syn6288_builtin_voice:()=>fr,syn6288_get_voice:()=>Dr,syn6288_set_voice:()=>Nr,syn6288_tts_play:()=>Fr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Fd,actuator_dc_motor_stop:()=>Pd,actuator_get_led_bright:()=>id,actuator_get_led_state:()=>nd,actuator_led_bright:()=>ed,actuator_led_brightness:()=>sd,actuator_mixbot_buzzer_on_off:()=>yd,actuator_mixgo_nova_mic_get:()=>Ud,actuator_mixgo_nova_mic_set:()=>Gd,actuator_mixgo_nova_onboard_music_pitch:()=>Jd,actuator_mixgo_nova_onboard_music_stop:()=>Qd,actuator_mixgo_nova_play_audio:()=>Wd,actuator_mixgo_nova_play_online_audio:()=>Kd,actuator_mixgo_nova_record_audio:()=>Hd,actuator_mixgo_nova_voice_get:()=>kd,actuator_mixgo_nova_voice_set:()=>wd,actuator_mixgo_zero_led_color:()=>_d,actuator_onboard_neopixel_rgb:()=>dd,actuator_onboard_neopixel_rgb_all:()=>ld,actuator_onboard_neopixel_rgb_show_all_chase:()=>Td,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Id,actuator_onboard_neopixel_write:()=>Md,actuator_rm_onboard_neopixel_rgb:()=>hd,actuator_rm_onboard_neopixel_rgb_all:()=>md,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>Ed,actuator_stepper_keep:()=>Dd,actuator_stepper_stop:()=>fd,analog_ble_keyboard_init:()=>al,analog_ble_keyboard_input:()=>dl,analog_ble_keyboard_mouse_init:()=>Ol,analog_ble_keyboard_mouse_input:()=>Cl,analog_ble_keyboard_mouse_send_battery:()=>gl,analog_ble_keyboard_mouse_str:()=>Sl,analog_ble_keyboard_send_battery:()=>Il,analog_ble_keyboard_str:()=>ll,analog_ble_mouse_init:()=>Tl,analog_ble_mouse_input:()=>ml,analog_ble_mouse_keyboard_input:()=>Al,analog_ble_mouse_send_battery:()=>El,analog_keyboard_input:()=>Zd,analog_keyboard_str:()=>pl,analog_mouse_input:()=>_l,backstage_onboard_music_play_list:()=>Ld,bitbot_motor:()=>Bd,bitbot_move:()=>bd,bitbot_stop:()=>Vd,ble_keyboard_connect:()=>rl,ble_keyboard_get_mac:()=>ul,ble_keyboard_mouse_connect:()=>cl,ble_keyboard_mouse_get_mac:()=>Rl,ble_mouse_connect:()=>hl,ble_mouse_get_mac:()=>Ml,cc_number:()=>rd,educore_ble_keyboard_input:()=>xl,educore_ble_sensor_connected:()=>Xl,educore_ble_sensor_init:()=>vl,educore_buzzer:()=>Ll,educore_buzzer_play_tone:()=>Nl,educore_buzzer_play_tone_time:()=>Dl,educore_buzzer_stop:()=>fl,educore_neopixel_clear:()=>Yl,educore_neopixel_rgb:()=>Pl,educore_rgb_light:()=>Fl,esp32_music_get_tempo:()=>Rd,esp32_music_reset:()=>cd,esp32_music_set_tempo:()=>Od,esp32_onboard_music_pitch:()=>gd,esp32_onboard_music_pitch_with_time:()=>Cd,esp32_onboard_music_play_list:()=>Ad,esp32_onboard_music_stop:()=>Sd,general_key:()=>el,general_key_tuple:()=>il,generalkey_container:()=>nl,generalkey_create_with_item:()=>sl,get_keyboard_light:()=>yl,get_power_output:()=>zd,ledswitch:()=>td,mixbot_motor:()=>xd,mixbot_motor_status:()=>Yd,mixbot_move:()=>vd,mixbot_stop:()=>Xd,mouse_key:()=>ol,number:()=>Zr,record_audio:()=>Vl,rm_actuator_get_led_bright:()=>pd,rm_actuator_get_led_state:()=>ad,rm_actuator_led_bright:()=>od,rm_actuator_led_brightness:()=>ud,rm_motor:()=>Nd,set_all_power_output:()=>jd,set_microphone_amplification:()=>bl,set_music_volume:()=>Bl,set_part_power_output:()=>$d,set_power_output:()=>qd,special_key:()=>tl});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>OI,ai_sensor_ailocal_class:()=>aI,ai_sensor_ailocal_class_result:()=>uI,ai_sensor_ailocal_train:()=>pI,ai_sensor_asr_recognize:()=>TI,ai_sensor_audio_play:()=>dI,ai_sensor_audio_record:()=>rI,ai_sensor_barcode:()=>Jl,ai_sensor_circle:()=>Zl,ai_sensor_classifier_faces:()=>EI,ai_sensor_color:()=>nI,ai_sensor_color_chases:()=>oI,ai_sensor_color_chases_result:()=>_I,ai_sensor_config:()=>Wl,ai_sensor_face:()=>mI,ai_sensor_find_20objects:()=>RI,ai_sensor_find_barcodes:()=>Ql,ai_sensor_find_circles:()=>tI,ai_sensor_find_colors:()=>sI,ai_sensor_find_licenseplates:()=>hI,ai_sensor_find_lines:()=>$l,ai_sensor_find_qrcodes:()=>Hl,ai_sensor_find_rects:()=>iI,ai_sensor_find_tags:()=>zl,ai_sensor_licenseplate:()=>MI,ai_sensor_line:()=>jl,ai_sensor_qrcode:()=>wl,ai_sensor_qrcode_lite:()=>kl,ai_sensor_rect:()=>eI,ai_sensor_rgb:()=>Kl,ai_sensor_tag:()=>ql,ai_sensor_use_uart_init:()=>Ul,ai_sensor_yolo_recognize:()=>lI,ai_sensor_yolo_recognize_result:()=>II});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>CI,MICROPYTHON_AI_Speech_unit:()=>gI,MICROPYTHON_AI_client:()=>cI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>VI,mpython_blynk_app_notify:()=>PI,mpython_blynk_email:()=>XI,mpython_blynk_get_timers:()=>xI,mpython_blynk_on_connected:()=>DI,mpython_blynk_on_disconnected:()=>NI,mpython_blynk_run:()=>FI,mpython_blynk_sensor_data_to_app:()=>bI,mpython_blynk_set_property:()=>vI,mpython_blynk_setup:()=>BI,mpython_blynk_stop_timers:()=>YI,mpython_blynk_sync_virtual:()=>LI,mpython_blynk_terminal_widget_vpin:()=>AI,mpython_blynktimer:()=>yI,mpython_blynktimer_run:()=>fI});var Y={};t.r(Y),t.d(Y,{cc_g1_init:()=>GI,cc_g1_read_bat:()=>UI,cc_g1_read_joystick:()=>wI,cc_g1_read_key:()=>kI,cc_g1_turnoff:()=>HI});var v={};t.r(v),t.d(v,{ce_go_dc_motor:()=>ZI,ce_go_get_led_bright:()=>QI,ce_go_get_led_state:()=>qI,ce_go_hall_attachInterrupt:()=>tT,ce_go_hall_data:()=>iT,ce_go_hall_initialize:()=>eT,ce_go_led_bright:()=>JI,ce_go_led_brightness:()=>zI,ce_go_light_number:()=>KI,ce_go_pin_light:()=>pT,ce_go_pin_near:()=>sT,ce_go_pin_near_line:()=>nT,ce_go_pin_near_state_change:()=>_T,ce_go_stepper_keep:()=>jI,ce_go_stepper_stop:()=>$I,educore_car:()=>aT,educore_car_pin_near:()=>lT,educore_car_pin_near_line:()=>dT,educore_car_stepper_keep:()=>uT,educore_car_stepper_stop:()=>rT,sensor_mixgome_eulerangles:()=>oT});var X={};t.r(X),t.d(X,{communicate_bluetooth_central_init:()=>QT,communicate_bluetooth_connect:()=>$T,communicate_bluetooth_disconnect:()=>ZT,communicate_bluetooth_handle:()=>sM,communicate_bluetooth_is_connected:()=>eM,communicate_bluetooth_mac:()=>jT,communicate_bluetooth_peripheral_init:()=>qT,communicate_bluetooth_recv:()=>iM,communicate_bluetooth_recv_only:()=>nM,communicate_bluetooth_scan:()=>zT,communicate_bluetooth_send:()=>tM,communicate_espnow_init:()=>_M,communicate_espnow_init_new:()=>oM,communicate_i2c_available:()=>FT,communicate_i2c_init:()=>hT,communicate_i2c_master_read:()=>fT,communicate_i2c_onboard:()=>TT,communicate_i2c_read:()=>mT,communicate_i2c_scan:()=>OT,communicate_i2c_write:()=>ET,communicate_ir_recv_init:()=>VT,communicate_ir_send_init:()=>kT,communicate_ow_init:()=>YT,communicate_ow_read:()=>XT,communicate_ow_reset:()=>bT,communicate_ow_scan:()=>vT,communicate_ow_select:()=>yT,communicate_ow_write:()=>xT,communicate_spi_buffer:()=>gT,communicate_spi_init:()=>RT,communicate_spi_onboard:()=>MT,communicate_spi_read:()=>CT,communicate_spi_read_output:()=>ST,communicate_spi_readinto:()=>AT,communicate_spi_readinto_output:()=>LT,communicate_spi_set:()=>cT,communicate_spi_write:()=>NT,communicate_spi_write_readinto:()=>DT,espnow_radio_channel:()=>lM,espnow_radio_channel_new:()=>TM,espnow_radio_on_off:()=>MM,espnow_radio_rec:()=>mM,espnow_radio_recv:()=>OM,espnow_radio_recv_certain_msg:()=>RM,espnow_radio_recv_certain_msg_new:()=>gM,espnow_radio_recv_msg:()=>EM,espnow_radio_recv_new:()=>cM,espnow_radio_send:()=>hM,espnow_radio_txpower:()=>IM,i2c_available:()=>HM,i2c_init:()=>FM,i2c_master_reader2:()=>kM,i2c_read:()=>PM,i2c_scan:()=>vM,i2c_slave_onreceive:()=>PT,i2c_write:()=>YM,internal_variable:()=>BT,ir_recv_timeout:()=>wT,ir_transmit_busy:()=>JT,ir_transmit_conventional_data:()=>HT,ir_transmit_raw_code:()=>KT,ir_transmit_study_code:()=>WT,ir_whether_recv:()=>UT,lora_init:()=>CM,lora_packet:()=>SM,lora_recv:()=>LM,lora_send:()=>AM,network_espnow_info:()=>aM,network_espnow_mac:()=>pM,network_espnow_recv:()=>uM,network_espnow_recv_handle:()=>dM,network_espnow_send:()=>rM,recv_fun:()=>GT,spi_buffer:()=>yM,spi_init:()=>XM,spi_read:()=>bM,spi_read_output:()=>VM,spi_readinto:()=>BM,spi_readinto_output:()=>GM,spi_set:()=>xM,spi_write:()=>UM,spi_write_readinto:()=>wM,urequests_attribute:()=>DM,urequests_get:()=>NM,urequests_method:()=>fM});var x={};t.r(x),t.d(x,{display_animate:()=>gh,display_blink_rate:()=>Eh,display_circle:()=>Ch,display_color_seclet:()=>xh,display_draw_4strings:()=>lh,display_fill:()=>ch,display_get_screen_image:()=>mh,display_help:()=>Ah,display_image_size:()=>Ih,display_lcd_use_i2c_init:()=>Uh,display_line:()=>Mh,display_line_arbitrarily:()=>hh,display_matrix_extern_bright_point:()=>sh,display_matrix_extern_bright_screen:()=>oh,display_matrix_extern_clear:()=>ph,display_matrix_extern_get_pixel:()=>nh,display_matrix_extern_get_screen_pixel:()=>_h,display_matrix_extern_image_builtins:()=>ah,display_matrix_extern_scroll_string:()=>$M,display_matrix_extern_scroll_string_delay:()=>ZM,display_matrix_extern_shift:()=>ih,display_matrix_extern_show_frame_string:()=>th,display_matrix_extern_show_frame_string_delay:()=>eh,display_matrix_extern_show_image:()=>zM,display_matrix_extern_show_image_or_string_delay:()=>jM,display_matrix_use_i2c_init:()=>qM,display_oled_drawPixel:()=>Nh,display_oled_showBitmap:()=>Lh,display_oled_use_i2c_init:()=>Kh,display_onoff:()=>Rh,display_rect:()=>Th,display_rgb_color:()=>Oh,display_tm1650_power:()=>fh,display_tm1650_set_brightness:()=>Yh,display_tm1650_show_dot:()=>Ph,display_tm1650_show_num:()=>Fh,display_tm_use_i2c_init:()=>Dh,display_triangle:()=>Sh,display_use_i2c_init:()=>dh,extern_oled_bright_point:()=>nm,extern_oled_clear:()=>sm,extern_oled_get_pixel:()=>im,extern_oled_hvline:()=>om,extern_oled_line:()=>pm,extern_oled_scroll_string:()=>jh,extern_oled_scroll_string_delay:()=>$h,extern_oled_shape_rect:()=>_m,extern_oled_shift:()=>em,extern_oled_show_frame_string:()=>Zh,extern_oled_show_frame_string_delay:()=>tm,extern_oled_show_image:()=>Jh,extern_oled_show_image_or_string_delay:()=>zh,extern_oled_show_image_xy:()=>Qh,extern_oled_show_string:()=>qh,lcd_backlight:()=>Hh,lcd_clear:()=>Wh,lcd_print_string:()=>kh,lcd_show_image_or_string_delay:()=>wh,matrix_extern_image_arithmetic:()=>uh,matrix_extern_image_invert:()=>rh,tft_fill:()=>Bh,tft_line_arbitrarily:()=>Gh,tft_scroll_string_delay:()=>bh,tft_show_frame_string_delay:()=>Vh,tft_show_image_or_string_delay:()=>yh,tft_show_image_xy:()=>Xh,tft_use_spi_init:()=>vh});var y={};t.r(y),t.d(y,{bitbot_display_bitmap_create:()=>eE,bitbot_display_image_create:()=>tE,display_available:()=>fm,display_bitmap_create:()=>Em,display_bright_point:()=>Am,display_bright_screen:()=>Nm,display_clear:()=>Dm,display_get_pixel:()=>Sm,display_get_screen_pixel:()=>Lm,display_image_builtins:()=>Om,display_image_builtins_all:()=>Rm,display_image_create:()=>mm,display_scroll_string:()=>dm,display_scroll_string_delay:()=>lm,display_scroll_way:()=>Im,display_shift:()=>Cm,display_show_frame_string:()=>Mm,display_show_frame_string_delay:()=>hm,display_show_image:()=>um,display_show_image_or_string_delay:()=>rm,draw_pointer:()=>EE,image_arithmetic:()=>cm,image_invert:()=>gm,mixbot_display_bitmap_create:()=>qm,mixbot_display_bright_screen:()=>$m,mixbot_display_get_ambientbright:()=>jm,mixbot_display_get_screen_pixel:()=>zm,mixbot_display_image_create:()=>Qm,mixbot_display_rotate:()=>Zm,mixgo_display_bitmap_create:()=>xm,mixgo_display_image_create_new:()=>Xm,mixgome_display_bitmap_create:()=>Pm,mixgome_display_font:()=>ym,mixgome_display_image_create:()=>Fm,mixgomini_display_bitmap_create:()=>vm,mixgomini_display_image_create:()=>Ym,mpython_display_hvline:()=>Wm,mpython_display_line:()=>Km,mpython_display_shape_rect:()=>Hm,mpython_pbm_image:()=>Jm,nova_draw_pointer:()=>OE,onboard_oled_bright_point:()=>km,onboard_oled_scroll_string_delay:()=>Um,onboard_oled_show_frame_string_delay:()=>wm,onboard_oled_show_image:()=>bm,onboard_oled_show_image_or_string_delay:()=>Gm,onboard_oled_show_image_xy:()=>Vm,onboard_oled_show_string:()=>Bm,onboard_tft_bright_point:()=>rE,onboard_tft_bright_screen:()=>DE,onboard_tft_clear:()=>fE,onboard_tft_clock_clear:()=>hE,onboard_tft_clock_draw:()=>ME,onboard_tft_clock_get_rtctime:()=>IE,onboard_tft_clock_init:()=>lE,onboard_tft_clock_set_time:()=>TE,onboard_tft_display_hvline:()=>pE,onboard_tft_display_line:()=>aE,onboard_tft_display_shape_circle:()=>mE,onboard_tft_display_shape_rect:()=>oE,onboard_tft_fill:()=>dE,onboard_tft_get_pixel:()=>uE,onboard_tft_get_screen_pixel:()=>NE,onboard_tft_scroll_string:()=>SE,onboard_tft_scroll_string_delay:()=>Tm,onboard_tft_shift:()=>LE,onboard_tft_show_frame_string:()=>AE,onboard_tft_show_frame_string_delay:()=>_E,onboard_tft_show_image:()=>CE,onboard_tft_show_image_or_string_delay:()=>sE,onboard_tft_show_image_xy:()=>iE,onboard_tft_show_image_xy_direct:()=>nE,onboard_tft_show_qrcode:()=>cE,onboard_tft_show_qrcode_details:()=>gE,onboard_tft_show_texts:()=>RE});var b={};t.r(b),t.d(b,{factory_block:()=>JE,factory_block_return:()=>QE,factory_block_return_with_textarea:()=>zE,factory_block_with_textarea:()=>qE,factory_callMethod_noreturn:()=>WE,factory_callMethod_return:()=>KE,factory_create_with_container:()=>UE,factory_create_with_item:()=>wE,factory_declare:()=>HE,factory_from_import:()=>VE,factory_function_noreturn:()=>GE,factory_function_return:()=>kE,factory_import:()=>BE,folding_block:()=>jE});var V={};t.r(V),t.d(V,{controls_pin_attachInterrupt:()=>OO,inout_analog_atten:()=>pO,inout_analog_read:()=>oO,inout_analog_read_init:()=>IO,inout_analog_write:()=>nO,inout_analog_write_init:()=>lO,inout_analog_write_set:()=>sO,inout_analog_write_set_freq:()=>hO,inout_digital_init:()=>rO,inout_digital_read:()=>eO,inout_digital_write:()=>tO,inout_highlow:()=>ZE,inout_pinMode:()=>MO,inout_pin_attachInterrupt:()=>uO,inout_pin_pressed:()=>aO,inout_pin_pressed_init:()=>TO,inout_pwm_analog_write:()=>iO,inout_pwm_analog_write_init:()=>dO,inout_pwm_analog_write_set_freq:()=>_O,pin_pressed:()=>EO,pin_pressed_init:()=>mO});var B={};t.r(B),t.d(B,{IOT_CONNECT_OLLAMA:()=>nR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>HO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>kO,IOT_EMQX_PING:()=>UO,IOT_FORMATTING:()=>BO,IOT_FORMAT_STRING:()=>GO,IOT_MIXIO_NTP:()=>wO,IOT_MIXIO_PUBLISH:()=>PO,IOT_MIXIO_PUBLISHEX:()=>YO,IOT_MIXIO_SUBSCRIBE:()=>vO,iot_checkonenet:()=>tR,iot_client_onboard:()=>KO,iot_connect_ollama:()=>iR,iot_connect_openai:()=>sR,iot_create_with_item:()=>fO,iot_http_client:()=>JO,iot_http_data:()=>QO,iot_mixio_check:()=>yO,iot_mixio_connect:()=>FO,iot_mixio_connect_only:()=>xO,iot_mixio_disconnect:()=>XO,iot_mixio_format_msg:()=>VO,iot_mixio_format_topic:()=>bO,iot_mixly_key:()=>WO,iot_mqtt_client:()=>qO,iot_mqtt_data:()=>zO,iot_onenet_check:()=>SO,iot_onenet_connect:()=>gO,iot_onenet_disconnect:()=>CO,iot_onenet_publish:()=>LO,iot_onenet_publish_dict:()=>AO,iot_onenetconnect:()=>$O,iot_onenetdisconnect:()=>ZO,iot_publish:()=>eR,iot_publish_container:()=>NO,iot_publish_item:()=>DO,iot_tiny_web_db_count:()=>lR,iot_tiny_web_db_delete:()=>TR,iot_tiny_web_db_get:()=>dR,iot_tiny_web_db_init:()=>aR,iot_tiny_web_db_init_with_mqtt:()=>uR,iot_tiny_web_db_search:()=>IR,iot_tiny_web_db_update:()=>rR,iot_wifi_connect:()=>cO,iot_wificonnect:()=>jO,ollama_empty_history:()=>pR,use_ollama_llm_to_chat:()=>_R,use_ollama_llm_to_chat_return:()=>oR});var G={};t.r(G),t.d(G,{educore_mqtt_connect:()=>QR,educore_mqtt_connect_success:()=>$R,educore_mqtt_subscribe_message:()=>qR,educore_mqtt_topic_publish:()=>jR,educore_mqtt_topic_subscribe:()=>zR,educore_wifi_connect:()=>JR,network_ap_connect:()=>AR,network_connect:()=>RR,network_get_connect:()=>gR,network_get_wifi:()=>SR,network_init:()=>hR,network_is_active:()=>ER,network_open:()=>mR,network_scan:()=>OR,network_server:()=>LR,network_socket_accept:()=>PR,network_socket_bind:()=>DR,network_socket_close:()=>bR,network_socket_connect:()=>fR,network_socket_init:()=>NR,network_socket_listen:()=>FR,network_socket_readline:()=>YR,network_socket_receive:()=>vR,network_socket_receive_from:()=>xR,network_socket_send:()=>XR,network_socket_send_to:()=>yR,network_stop:()=>CR,network_wifi_connect:()=>cR,ntptime_address:()=>wR,ntptime_time:()=>UR,requests_attribute:()=>BR,requests_attribute2:()=>KR,requests_get:()=>VR,requests_get2:()=>HR,requests_method:()=>GR,requests_post:()=>WR});var U={};t.r(U),t.d(U,{pe_g1_battery_left:()=>ec,pe_g1_dc_motor:()=>ic,pe_g1_dc_motor_speed:()=>nc,pe_g1_servo_get_angle:()=>oc,pe_g1_servo_get_speed:()=>pc,pe_g1_servo_set_angle:()=>sc,pe_g1_servo_set_speed:()=>_c,pe_g1_use_i2c_init:()=>tc});var w={};t.r(w),t.d(w,{CI130X_BROADCAST:()=>Yc,CI130X_GET_THE_RECOGNIZED_CMD:()=>Pc,CI130X_GET_WHETHER_IDENTIFY:()=>Fc,CI130X_IDENTIFY_AND_SAVE:()=>fc,CI130X_SET_SYSTEM_CMD:()=>vc,HCSR04:()=>cg,PS2_Button:()=>Ag,PS2_Buttons:()=>Ng,PS2_Buttons_new:()=>Pg,PS2_State:()=>Lg,PS2_init:()=>gg,PS2_init_new:()=>fg,PS2_stk:()=>Dg,PS2_stk_new:()=>Yg,PS2_vibration:()=>Sg,PS2_vibration_new:()=>Fg,camera_sensor_init:()=>aC,camera_sensor_result:()=>uC,column_tube_foot:()=>TC,define_keyboards:()=>MC,educore_body_sensor:()=>$g,educore_button_sensor_extern:()=>iC,educore_camera_sensor:()=>pC,educore_infrared_sensor:()=>eC,educore_soilhum_sensor:()=>Zg,educore_temp_sensor:()=>oC,educore_temphum_sensor:()=>tC,educore_ultrasonic_sensor:()=>sC,esp32_s2_weather_init:()=>mg,esp32_s2_weather_rain:()=>Og,esp32_s2_weather_wd:()=>Eg,esp32_s2_weather_ws:()=>Rg,extern_rfid_read:()=>ng,extern_rfid_readcontent:()=>_g,extern_rfid_readid:()=>sg,extern_rfid_status:()=>ag,extern_rfid_write:()=>og,extern_rfid_write_return:()=>pg,get_keboards_value:()=>hC,gnss_get_data:()=>yg,gnss_have_data:()=>xg,init_init_rotary_encoder:()=>mC,init_matrix_keyboard:()=>lC,interaction_whether_to_interaction:()=>Nc,interaction_whether_to_interaction_SANT:()=>Dc,line_tube_foot:()=>IC,mixbot_sensor_extern_get_addr:()=>Hg,mixbot_sensor_extern_set_addr:()=>Wg,pm25_get_data:()=>Xg,radar_set_DETECTION_THRESHOLD:()=>Ac,radar_set_DETECTION_THRESHOLD_SANT:()=>Lc,robot_button_extern_get_value:()=>Vg,robot_color_extern_get_value:()=>kg,robot_infrared_extern_get_value:()=>Gg,robot_infrared_extern_grey_get_value:()=>Ug,robot_potentiometer_extern_get_value:()=>wg,robot_sonar_extern_get_value:()=>Kg,robot_sonar_extern_led:()=>Jg,robot_touch_extern_get_value:()=>Bg,rotary_key:()=>EC,sensor_APDS9960_extern:()=>xc,sensor_DS18X20:()=>gc,sensor_LTR308_extern:()=>yc,sensor_LTR390UV_extern:()=>Bc,sensor_MAX30102_extern:()=>Xc,sensor_QMC5883L_extern:()=>Jc,sensor_VL530LX_extern:()=>Gc,sensor_adxl345_get_acceleration:()=>Tc,sensor_aht11_extern:()=>wc,sensor_bmp:()=>Rc,sensor_compass_reset:()=>eg,sensor_dht11:()=>hc,sensor_hp203_extern:()=>kc,sensor_light_level:()=>Mc,sensor_lm35:()=>Cc,sensor_ltr381_extern:()=>bc,sensor_mixgo_extern_button_attachInterrupt:()=>lc,sensor_mixgo_extern_button_get_presses:()=>dc,sensor_mixgo_extern_button_is_pressed:()=>uc,sensor_mixgo_extern_button_was_pressed:()=>rc,sensor_mixgo_extern_light:()=>mc,sensor_mixgo_extern_pin_near:()=>Oc,sensor_mixgo_extern_sound:()=>Ec,sensor_mixgoce_hot_wheel_degrees:()=>hg,sensor_mixgoce_hot_wheel_is_touched:()=>Mg,sensor_mpu9250_attachGestureInterrupt:()=>Ic,sensor_mpu9250_calibrate_compass:()=>$c,sensor_mpu9250_field_strength:()=>tg,sensor_mpu9250_gesture:()=>Qc,sensor_mpu9250_get_acceleration:()=>qc,sensor_mpu9250_get_gyro:()=>jc,sensor_mpu9250_get_magnetic:()=>zc,sensor_mpu9250_temperature:()=>Zc,sensor_ms5611_extern:()=>Wc,sensor_ms5611_extern_altitude:()=>Kc,sensor_read_humiture:()=>nC,sensor_sht:()=>cc,sensor_shtc3_extern:()=>Uc,sensor_spl06_001_extern:()=>Hc,sensor_ucs12071_extern:()=>Vc,sensor_use_i2c_init:()=>Sc,sensor_use_spi_init:()=>ig,sensor_use_uart_init:()=>vg,sensor_weather_solo_init:()=>Qg,sensor_weather_solo_rain:()=>jg,sensor_weather_solo_wd:()=>qg,sensor_weather_solo_ws:()=>zg,sensor_weigh_init:()=>rC,tvoc_get_data:()=>bg,ultrasonic_sensor_read_distance:()=>_C,weather_data:()=>ug,weather_have_data:()=>rg,weather_set_label:()=>lg,weather_set_label_container:()=>Ig,weather_set_label_item:()=>Tg,weather_uart_mixio:()=>dg,weigh_sensor_get_weight:()=>dC});var k={};t.r(k),t.d(k,{HCSR04:()=>xC,RTC_set_date:()=>XC,RTC_set_time:()=>vC,bitbot_als_num:()=>HS,dht11:()=>jS,educore_button_sensor:()=>oA,educore_button_was_pressed:()=>pA,educore_gyroscope_sensor:()=>nA,educore_gyroscope_sensor_read:()=>sA,educore_gyroscope_sensor_shake:()=>_A,educore_light_sensor:()=>iA,educore_rfid_sensor:()=>aA,educore_rfid_sensor_scan:()=>uA,educore_rfid_sensor_scan_data:()=>rA,educore_voice_sensor:()=>tA,number1:()=>bC,number2:()=>VC,number3:()=>BC,number4:()=>GC,number5:()=>UC,number6:()=>wC,number7:()=>kC,onboard_RTC_get_time:()=>jC,onboard_RTC_get_time_str:()=>nS,onboard_RTC_get_timestamp:()=>$C,onboard_RTC_get_timetuple_to_str:()=>sS,onboard_RTC_set_datetime:()=>eS,onboard_RTC_settime_string:()=>tS,onboard_RTC_timestamp_totuple:()=>ZC,rfid_readcontent:()=>dS,rfid_readid:()=>rS,rfid_status:()=>TS,rfid_write:()=>lS,rfid_write_return:()=>IS,sensor_LTR308:()=>_S,sensor_aht11:()=>pS,sensor_bitbot_ALS:()=>kS,sensor_button_get_presses:()=>JS,sensor_button_is_pressed:()=>WS,sensor_button_was_pressed:()=>KS,sensor_distance_hrsc04:()=>YC,sensor_eulerangles:()=>hS,sensor_field_strength:()=>$S,sensor_get_acceleration:()=>MS,sensor_get_temperature:()=>aS,sensor_get_the_coprocessor_version:()=>dA,sensor_hp203:()=>uS,sensor_light:()=>zS,sensor_mixbot_get_gyro:()=>wS,sensor_mixbot_patrol_calibrate:()=>BS,sensor_mixbot_patrol_value:()=>GS,sensor_mixbot_temperature:()=>US,sensor_mixgo_LTR308:()=>qC,sensor_mixgo_button_attachInterrupt:()=>CC,sensor_mixgo_button_get_presses:()=>gC,sensor_mixgo_button_is_pressed:()=>RC,sensor_mixgo_button_was_pressed:()=>cC,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>NS,sensor_mixgo_cc_mmc5603_get_angle:()=>LS,sensor_mixgo_cc_mmc5603_get_magnetic:()=>AS,sensor_mixgo_light:()=>yC,sensor_mixgo_nova_LTR308:()=>QC,sensor_mixgo_nova_pin_near:()=>JC,sensor_mixgo_pin_near:()=>KC,sensor_mixgo_pin_near_double:()=>WC,sensor_mixgo_pin_near_single:()=>HC,sensor_mixgo_pin_pressed:()=>DC,sensor_mixgo_sant_color:()=>zC,sensor_mixgo_touch_slide:()=>PC,sensor_mixgocar42_button_attachInterrupt:()=>NC,sensor_mixgocar42_button_get_presses:()=>LC,sensor_mixgocar42_button_is_pressed:()=>SC,sensor_mixgocar42_button_was_pressed:()=>AC,sensor_mixgocar_battery_left:()=>VS,sensor_mixgocar_pin_near:()=>yS,sensor_mixgocar_pin_near_line:()=>xS,sensor_mixgocar_pin_near_state_change:()=>bS,sensor_mixgoce_pin_pressed:()=>fC,sensor_mixgoce_temperature:()=>fS,sensor_mixgome_temperature:()=>DS,sensor_mpython_pin_pressed:()=>FC,sensor_mpython_qmi8658_get_gyro:()=>FS,sensor_mpython_qmi8658_temperature:()=>PS,sensor_onboard_compass_reset:()=>SS,sensor_onboard_mpu9250_calibrate_compass:()=>cS,sensor_onboard_mpu9250_field_strength:()=>CS,sensor_onboard_mpu9250_gesture:()=>mS,sensor_onboard_mpu9250_get_acceleration:()=>ES,sensor_onboard_mpu9250_get_gyro:()=>RS,sensor_onboard_mpu9250_get_magnetic:()=>OS,sensor_onboard_mpu9250_temperature:()=>gS,sensor_pin_near:()=>qS,sensor_pin_pressed:()=>QS,sensor_read:()=>eA,sensor_rm_acc:()=>XS,sensor_rm_battery_left:()=>vS,sensor_rm_pin_near_double:()=>YS,sensor_rtc_init:()=>iS,sensor_sound:()=>oS,sensor_temperature:()=>ZS,simulated_light_sensor:()=>lA});var H={};t.r(H),t.d(H,{serial_any:()=>gA,serial_begin:()=>NA,serial_print:()=>mA,serial_print_byte:()=>hA,serial_print_hex:()=>OA,serial_println:()=>EA,serial_read_from_ai:()=>yA,serial_readline:()=>CA,serial_readstr:()=>cA,serial_readstr_until:()=>SA,serial_receive_data_event:()=>RA,serial_send_to_ai:()=>xA,serial_softserial:()=>LA,serial_softserial_new:()=>AA,system_input:()=>DA,system_print:()=>fA,system_print_container:()=>vA,system_print_end:()=>PA,system_print_inline:()=>FA,system_print_item:()=>XA,system_print_many:()=>YA});var W={};t.r(W),t.d(W,{Panic_with_status_code:()=>GA,Timer_init:()=>tL,base_delay:()=>nL,controls_delay:()=>BA,controls_delay_new:()=>VA,controls_millis:()=>wA,controls_uname:()=>HA,raw_block:()=>kA,reset:()=>UA,set_system_timer:()=>qA,system_bitbot_shutdown:()=>ZA,system_machine_reset:()=>$A,system_ticks_diff:()=>JA,system_timer:()=>KA,system_timer_init:()=>QA,system_wdt_feed:()=>jA,system_wdt_init:()=>zA,time_ticks_diff:()=>iL,timer:()=>WA,timer2:()=>eL});var K={};t.r(K),t.d(K,{Air_daily_content:()=>mL,Air_now_content:()=>rL,Geo_moon_content:()=>OL,Geo_sun_content:()=>EL,Life_suggestion_content:()=>lL,Location_search_content:()=>TL,Tide_daily_content:()=>IL,WEATHER_DAILY:()=>oL,WEATHER_HOUR:()=>pL,WEATHER_NOW:()=>_L,Weather_alarm_content:()=>dL,Weather_daily:()=>ML,Weather_daily_content:()=>hL,Weather_now:()=>aL,Weather_now_content:()=>uL});var J={};t.r(J),t.d(J,{PIN_init:()=>cN,actuator_extern_get_led_bright:()=>UL,actuator_extern_get_led_state:()=>wL,actuator_extern_led_bright:()=>GL,actuator_extern_led_brightness:()=>kL,actuator_ms32006_dcmotor:()=>NL,actuator_ms32006_init:()=>LL,actuator_ms32006_stepper:()=>DL,actuator_neopixel_init:()=>HL,actuator_neopixel_rgb:()=>JL,actuator_neopixel_rgb_all:()=>WL,actuator_neopixel_rgb_show_all_chase:()=>QL,actuator_neopixel_rgb_show_all_rainbow:()=>qL,actuator_neopixel_write:()=>KL,actuator_use_uart_init:()=>zL,backstage_esp32_music_play_list:()=>bL,esp32_music_get_tempo_extern:()=>xL,esp32_music_pitch:()=>FL,esp32_music_pitch_init:()=>fL,esp32_music_pitch_with_time:()=>PL,esp32_music_play_list:()=>yL,esp32_music_reset_extern:()=>VL,esp32_music_set_tempo_extern:()=>XL,esp32_music_stop:()=>YL,esp32_set_music_volume:()=>vL,mixbot_actuator_extern_get_addr:()=>ON,mixbot_actuator_extern_set_addr:()=>RN,mixbot_addr_extern:()=>oN,parrot_PIN_init:()=>AN,parrot_move_speed:()=>LN,pin_led_bright:()=>gN,player_play_music:()=>eN,player_set_mode:()=>tN,player_set_play:()=>$L,player_set_volume:()=>ZL,player_whether_stop:()=>jL,robot_led_extern:()=>rN,robot_led_extern_get_value:()=>dN,robot_motor_extern:()=>pN,robot_motor_extern_get_speed:()=>aN,robot_servo_extern_absolute_run:()=>MN,robot_servo_extern_get_status:()=>lN,robot_servo_extern_relative_continue:()=>EN,robot_servo_extern_relative_origin:()=>hN,robot_servo_extern_relative_run:()=>mN,robot_servo_extern_stop:()=>TN,robot_servo_extern_stop_mode:()=>IN,robot_traffic_light_extern:()=>uN,servo_PIN_init:()=>CN,servo_get_angle:()=>SL,servo_get_speed:()=>AL,servo_init:()=>RL,servo_move:()=>BL,servo_move_angle:()=>SN,servo_set_angle:()=>gL,servo_set_speed:()=>CL,servo_speed_360:()=>cL,syn6288_builtin_voice:()=>sN,syn6288_get_voice:()=>nN,syn6288_set_voice:()=>iN,syn6288_tts_play:()=>_N});var Q={};t.r(Q),t.d(Q,{actuator_dc_motor:()=>eD,actuator_dc_motor_stop:()=>iD,actuator_get_led_bright:()=>VN,actuator_get_led_state:()=>BN,actuator_led_bright:()=>bN,actuator_led_brightness:()=>GN,actuator_mixbot_buzzer_on_off:()=>pD,actuator_mixgo_nova_mic_get:()=>lD,actuator_mixgo_nova_mic_set:()=>dD,actuator_mixgo_nova_onboard_music_pitch:()=>ED,actuator_mixgo_nova_onboard_music_stop:()=>OD,actuator_mixgo_nova_play_audio:()=>hD,actuator_mixgo_nova_play_online_audio:()=>mD,actuator_mixgo_nova_record_audio:()=>MD,actuator_mixgo_nova_voice_get:()=>TD,actuator_mixgo_nova_voice_set:()=>ID,actuator_mixgo_zero_led_color:()=>UN,actuator_onboard_neopixel_rgb:()=>QN,actuator_onboard_neopixel_rgb_all:()=>qN,actuator_onboard_neopixel_rgb_show_all_chase:()=>zN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>jN,actuator_onboard_neopixel_write:()=>JN,actuator_stepper_keep:()=>ZN,actuator_stepper_stop:()=>tD,analog_ble_keyboard_init:()=>PD,analog_ble_keyboard_input:()=>XD,analog_ble_keyboard_mouse_init:()=>wD,analog_ble_keyboard_mouse_input:()=>KD,analog_ble_keyboard_mouse_send_battery:()=>WD,analog_ble_keyboard_mouse_str:()=>JD,analog_ble_keyboard_send_battery:()=>yD,analog_ble_keyboard_str:()=>xD,analog_ble_mouse_init:()=>bD,analog_ble_mouse_input:()=>GD,analog_ble_mouse_keyboard_input:()=>QD,analog_ble_mouse_send_battery:()=>UD,analog_keyboard_input:()=>SD,analog_keyboard_str:()=>fD,analog_mouse_input:()=>ND,backstage_onboard_music_play_list:()=>vN,bitbot_motor:()=>rD,bitbot_move:()=>aD,bitbot_stop:()=>uD,ble_keyboard_connect:()=>vD,ble_keyboard_get_mac:()=>YD,ble_keyboard_mouse_connect:()=>HD,ble_keyboard_mouse_get_mac:()=>kD,ble_mouse_connect:()=>BD,ble_mouse_get_mac:()=>VD,cc_number:()=>wN,educore_ble_keyboard_input:()=>_f,educore_ble_sensor_connected:()=>sf,educore_ble_sensor_init:()=>nf,educore_buzzer:()=>qD,educore_buzzer_play_tone:()=>zD,educore_buzzer_play_tone_time:()=>jD,educore_buzzer_stop:()=>$D,educore_neopixel_clear:()=>ef,educore_neopixel_rgb:()=>tf,educore_rgb_light:()=>ZD,esp32_music_get_tempo:()=>DN,esp32_music_reset:()=>XN,esp32_music_set_tempo:()=>NN,esp32_onboard_music_pitch:()=>fN,esp32_onboard_music_pitch_with_time:()=>FN,esp32_onboard_music_play_list:()=>YN,esp32_onboard_music_stop:()=>PN,general_key:()=>LD,general_key_tuple:()=>FD,get_keyboard_light:()=>of,get_power_output:()=>cD,ledswitch:()=>yN,mixbot_motor:()=>oD,mixbot_motor_status:()=>nD,mixbot_move:()=>sD,mixbot_stop:()=>_D,mouse_key:()=>DD,number:()=>xN,record_audio:()=>af,rm_actuator_get_led_bright:()=>HN,rm_actuator_get_led_state:()=>WN,rm_actuator_led_bright:()=>kN,rm_actuator_led_brightness:()=>KN,rm_motor:()=>$N,set_all_power_output:()=>gD,set_microphone_amplification:()=>pf,set_music_volume:()=>uf,set_part_power_output:()=>CD,set_power_output:()=>RD,special_key:()=>AD});var q={};t.r(q),t.d(q,{ai_sensor_20object:()=>wf,ai_sensor_ailocal_class:()=>Pf,ai_sensor_ailocal_class_result:()=>Yf,ai_sensor_ailocal_train:()=>Ff,ai_sensor_asr_recognize:()=>bf,ai_sensor_audio_play:()=>Xf,ai_sensor_audio_record:()=>vf,ai_sensor_barcode:()=>hf,ai_sensor_circle:()=>gf,ai_sensor_classifier_faces:()=>Uf,ai_sensor_color:()=>Lf,ai_sensor_color_chases:()=>ff,ai_sensor_color_chases_result:()=>Df,ai_sensor_config:()=>lf,ai_sensor_face:()=>Gf,ai_sensor_find_20objects:()=>kf,ai_sensor_find_barcodes:()=>mf,ai_sensor_find_circles:()=>Cf,ai_sensor_find_colors:()=>Nf,ai_sensor_find_licenseplates:()=>Bf,ai_sensor_find_lines:()=>cf,ai_sensor_find_qrcodes:()=>Mf,ai_sensor_find_rects:()=>Af,ai_sensor_find_tags:()=>Of,ai_sensor_licenseplate:()=>Vf,ai_sensor_line:()=>Rf,ai_sensor_qrcode:()=>Tf,ai_sensor_qrcode_lite:()=>df,ai_sensor_rect:()=>Sf,ai_sensor_rgb:()=>If,ai_sensor_tag:()=>Ef,ai_sensor_use_uart_init:()=>rf,ai_sensor_yolo_recognize:()=>xf,ai_sensor_yolo_recognize_result:()=>yf});var z={};t.r(z),t.d(z,{MICROPYTHON_AI_Speech_asr:()=>Kf,MICROPYTHON_AI_Speech_unit:()=>Wf,MICROPYTHON_AI_client:()=>Hf});var j={};t.r(j),t.d(j,{mpython_blynk_app_data:()=>sF,mpython_blynk_app_notify:()=>Zf,mpython_blynk_email:()=>_F,mpython_blynk_get_timers:()=>eF,mpython_blynk_on_connected:()=>zf,mpython_blynk_on_disconnected:()=>qf,mpython_blynk_run:()=>$f,mpython_blynk_sensor_data_to_app:()=>nF,mpython_blynk_set_property:()=>oF,mpython_blynk_setup:()=>pF,mpython_blynk_stop_timers:()=>tF,mpython_blynk_sync_virtual:()=>Qf,mpython_blynk_terminal_widget_vpin:()=>Jf,mpython_blynktimer:()=>iF,mpython_blynktimer_run:()=>jf});var $={};t.r($),t.d($,{cc_g1_read_bat:()=>aF,cc_g1_read_joystick:()=>uF,cc_g1_read_key:()=>rF,cc_g1_turnoff:()=>dF});var Z={};t.r(Z),t.d(Z,{ce_go_dc_motor:()=>OF,ce_go_get_led_bright:()=>TF,ce_go_get_led_state:()=>MF,ce_go_hall_attachInterrupt:()=>RF,ce_go_hall_data:()=>gF,ce_go_hall_initialize:()=>cF,ce_go_led_bright:()=>IF,ce_go_led_brightness:()=>hF,ce_go_light_number:()=>lF,ce_go_pin_light:()=>NF,ce_go_pin_near:()=>SF,ce_go_pin_near_line:()=>CF,ce_go_pin_near_state_change:()=>AF,ce_go_stepper_keep:()=>mF,ce_go_stepper_stop:()=>EF,educore_car:()=>DF,educore_car_pin_near:()=>YF,educore_car_pin_near_line:()=>PF,educore_car_stepper_keep:()=>fF,educore_car_stepper_stop:()=>FF,sensor_mixgome_eulerangles:()=>LF});var tt={};t.r(tt),t.d(tt,{communicate_bluetooth_central_init:()=>IP,communicate_bluetooth_connect:()=>hP,communicate_bluetooth_disconnect:()=>mP,communicate_bluetooth_handle:()=>CP,communicate_bluetooth_is_connected:()=>OP,communicate_bluetooth_mac:()=>EP,communicate_bluetooth_peripheral_init:()=>TP,communicate_bluetooth_recv:()=>gP,communicate_bluetooth_recv_only:()=>cP,communicate_bluetooth_scan:()=>MP,communicate_bluetooth_send:()=>RP,communicate_espnow_init:()=>SP,communicate_espnow_init_new:()=>AP,communicate_i2c_available:()=>GF,communicate_i2c_init:()=>xF,communicate_i2c_master_read:()=>BF,communicate_i2c_onboard:()=>vF,communicate_i2c_read:()=>yF,communicate_i2c_scan:()=>VF,communicate_i2c_write:()=>bF,communicate_ir_recv_init:()=>nP,communicate_ir_send_init:()=>aP,communicate_ow_init:()=>jF,communicate_ow_read:()=>tP,communicate_ow_reset:()=>ZF,communicate_ow_scan:()=>$F,communicate_ow_select:()=>iP,communicate_ow_write:()=>eP,communicate_spi_buffer:()=>HF,communicate_spi_init:()=>wF,communicate_spi_onboard:()=>XF,communicate_spi_read:()=>WF,communicate_spi_read_output:()=>KF,communicate_spi_readinto:()=>JF,communicate_spi_readinto_output:()=>QF,communicate_spi_set:()=>kF,communicate_spi_write:()=>qF,communicate_spi_write_readinto:()=>zF,espnow_radio_channel:()=>PP,espnow_radio_channel_new:()=>vP,espnow_radio_on_off:()=>XP,espnow_radio_rec:()=>yP,espnow_radio_recv:()=>VP,espnow_radio_recv_certain_msg:()=>BP,espnow_radio_recv_certain_msg_new:()=>UP,espnow_radio_recv_msg:()=>bP,espnow_radio_recv_new:()=>GP,espnow_radio_send:()=>xP,espnow_radio_txpower:()=>YP,i2c_slave_onreceive:()=>UF,internal_variable:()=>sP,ir_recv_timeout:()=>pP,ir_transmit_busy:()=>lP,ir_transmit_conventional_data:()=>uP,ir_transmit_raw_code:()=>dP,ir_transmit_study_code:()=>rP,ir_whether_recv:()=>oP,lora_init:()=>wP,lora_packet:()=>kP,lora_recv:()=>WP,lora_send:()=>HP,network_espnow_info:()=>NP,network_espnow_mac:()=>LP,network_espnow_recv:()=>DP,network_espnow_recv_handle:()=>FP,network_espnow_send:()=>fP,recv_fun:()=>_P,urequests_attribute:()=>JP,urequests_get:()=>KP,urequests_method:()=>QP});var et={};t.r(et),t.d(et,{display_animate:()=>OY,display_circle:()=>RY,display_color_seclet:()=>PY,display_draw_4strings:()=>lY,display_fill:()=>EY,display_lcd_use_i2c_init:()=>bY,display_line:()=>MY,display_line_arbitrarily:()=>IY,display_matrix_extern_bright_point:()=>_Y,display_matrix_extern_bright_screen:()=>pY,display_matrix_extern_clear:()=>iY,display_matrix_extern_get_pixel:()=>sY,display_matrix_extern_get_screen_pixel:()=>oY,display_matrix_extern_image_builtins:()=>aY,display_matrix_extern_scroll_string:()=>tY,display_matrix_extern_scroll_string_delay:()=>eY,display_matrix_extern_shift:()=>nY,display_matrix_extern_show_frame_string:()=>$P,display_matrix_extern_show_frame_string_delay:()=>ZP,display_matrix_extern_show_image:()=>zP,display_matrix_extern_show_image_or_string_delay:()=>jP,display_matrix_use_i2c_init:()=>qP,display_oled_drawPixel:()=>CY,display_oled_showBitmap:()=>gY,display_oled_use_i2c_init:()=>wY,display_onoff:()=>hY,display_rect:()=>TY,display_tm1650_power:()=>AY,display_tm1650_set_brightness:()=>DY,display_tm1650_show_dot:()=>NY,display_tm1650_show_num:()=>LY,display_tm_use_i2c_init:()=>SY,display_triangle:()=>cY,display_use_i2c_init:()=>dY,extern_oled_bright_point:()=>tv,extern_oled_clear:()=>jY,extern_oled_get_pixel:()=>ZY,extern_oled_hvline:()=>iv,extern_oled_line:()=>nv,extern_oled_scroll_string:()=>qY,extern_oled_scroll_string_delay:()=>zY,extern_oled_shape_rect:()=>ev,extern_oled_shift:()=>$Y,extern_oled_show_frame_string:()=>JY,extern_oled_show_frame_string_delay:()=>QY,extern_oled_show_image:()=>kY,extern_oled_show_image_or_string_delay:()=>KY,extern_oled_show_image_xy:()=>HY,extern_oled_show_string:()=>WY,image_shift:()=>mY,lcd_backlight:()=>GY,lcd_clear:()=>UY,lcd_print_string:()=>BY,lcd_show_image_or_string_delay:()=>VY,matrix_extern_image_arithmetic:()=>uY,matrix_extern_image_invert:()=>rY,tft_fill:()=>xY,tft_line_arbitrarily:()=>yY,tft_scroll_string_delay:()=>XY,tft_show_frame_string_delay:()=>vY,tft_show_image_or_string_delay:()=>YY,tft_show_image_xy:()=>FY,tft_use_spi_init:()=>fY});var it={};t.r(it),t.d(it,{bitbot_display_bitmap_create:()=>zv,bitbot_display_image_create:()=>qv,display_available:()=>mv,display_bitmap_create:()=>Mv,display_bright_point:()=>gv,display_bright_screen:()=>Sv,display_clear:()=>hv,display_get_pixel:()=>cv,display_get_screen_pixel:()=>Cv,display_image_builtins:()=>lv,display_image_builtins_all:()=>Iv,display_image_create:()=>Tv,display_scroll_string:()=>av,display_scroll_string_delay:()=>uv,display_scroll_way:()=>rv,display_shift:()=>Rv,display_show_frame_string:()=>ov,display_show_frame_string_delay:()=>pv,display_show_image:()=>sv,display_show_image_or_string_delay:()=>_v,draw_pointer:()=>IX,image_arithmetic:()=>Ev,image_invert:()=>Ov,mixbot_display_bitmap_create:()=>Hv,mixbot_display_bright_screen:()=>Jv,mixbot_display_get_ambientbright:()=>Kv,mixbot_display_get_screen_pixel:()=>Wv,mixbot_display_image_create:()=>kv,mixbot_display_rotate:()=>Qv,mixgo_display_bitmap_create:()=>Pv,mixgo_display_image_create_new:()=>Fv,mixgome_display_bitmap_create:()=>Lv,mixgome_display_font:()=>fv,mixgome_display_image_create:()=>Av,mixgomini_display_bitmap_create:()=>Dv,mixgomini_display_image_create:()=>Nv,mpython_display_hvline:()=>Uv,mpython_display_line:()=>wv,mpython_display_shape_rect:()=>Gv,mpython_pbm_image:()=>Yv,nova_draw_pointer:()=>TX,onboard_oled_bright_point:()=>Bv,onboard_oled_scroll_string_delay:()=>Vv,onboard_oled_show_frame_string_delay:()=>bv,onboard_oled_show_image:()=>vv,onboard_oled_show_image_or_string_delay:()=>yv,onboard_oled_show_image_xy:()=>Xv,onboard_oled_show_string:()=>xv,onboard_tft_bright_point:()=>_X,onboard_tft_bright_screen:()=>gX,onboard_tft_clear:()=>CX,onboard_tft_clock_clear:()=>dX,onboard_tft_clock_draw:()=>rX,onboard_tft_clock_get_rtctime:()=>aX,onboard_tft_clock_init:()=>pX,onboard_tft_clock_set_time:()=>uX,onboard_tft_display_hvline:()=>iX,onboard_tft_display_line:()=>nX,onboard_tft_display_shape_circle:()=>lX,onboard_tft_display_shape_rect:()=>eX,onboard_tft_fill:()=>oX,onboard_tft_get_pixel:()=>sX,onboard_tft_get_screen_pixel:()=>cX,onboard_tft_scroll_string_delay:()=>dv,onboard_tft_shift:()=>RX,onboard_tft_show_frame_string:()=>OX,onboard_tft_show_frame_string_delay:()=>tX,onboard_tft_show_image:()=>EX,onboard_tft_show_image_or_string_delay:()=>Zv,onboard_tft_show_image_xy:()=>jv,onboard_tft_show_image_xy_direct:()=>$v,onboard_tft_show_qrcode:()=>hX,onboard_tft_show_qrcode_details:()=>mX,onboard_tft_show_texts:()=>MX});var nt={};t.r(nt),t.d(nt,{factory_block:()=>PX,factory_block_return:()=>YX,factory_block_return_with_textarea:()=>XX,factory_block_with_textarea:()=>vX,factory_callMethod_noreturn:()=>fX,factory_callMethod_return:()=>FX,factory_declare:()=>DX,factory_from_import:()=>SX,factory_function_noreturn:()=>LX,factory_function_return:()=>NX,factory_import:()=>AX,folding_block:()=>xX});var st={};t.r(st),t.d(st,{inout_analog_atten:()=>zX,inout_analog_read:()=>kX,inout_analog_read_init:()=>qX,inout_analog_write:()=>GX,inout_analog_write_init:()=>QX,inout_analog_write_set:()=>UX,inout_digital_init:()=>KX,inout_digital_read:()=>VX,inout_digital_write:()=>bX,inout_highlow:()=>yX,inout_pin_attachInterrupt:()=>WX,inout_pin_pressed:()=>HX,inout_pin_pressed_init:()=>jX,inout_pwm_analog_write:()=>BX,inout_pwm_analog_write_init:()=>JX,inout_pwm_analog_write_set_freq:()=>wX});var _t={};t.r(_t),t.d(_t,{IOT_CONNECT_OLLAMA:()=>Lx,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>mx,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Mx,IOT_EMQX_PING:()=>Ex,IOT_FORMATTING:()=>Ix,IOT_FORMAT_STRING:()=>Tx,IOT_MIXIO_NTP:()=>Ox,IOT_MIXIO_PUBLISH:()=>_x,IOT_MIXIO_PUBLISHEX:()=>ox,IOT_MIXIO_SUBSCRIBE:()=>px,iot_client_onboard:()=>Rx,iot_connect_ollama:()=>Ax,iot_connect_openai:()=>Nx,iot_http_client:()=>cx,iot_http_data:()=>gx,iot_mixio_check:()=>rx,iot_mixio_connect:()=>sx,iot_mixio_connect_only:()=>ux,iot_mixio_disconnect:()=>ax,iot_mixio_format_msg:()=>lx,iot_mixio_format_topic:()=>dx,iot_mixly_key:()=>hx,iot_mqtt_client:()=>Cx,iot_mqtt_data:()=>Sx,iot_onenet_check:()=>ix,iot_onenet_connect:()=>ZX,iot_onenet_disconnect:()=>tx,iot_onenet_publish:()=>nx,iot_onenet_publish_dict:()=>ex,iot_tiny_web_db_count:()=>xx,iot_tiny_web_db_delete:()=>bx,iot_tiny_web_db_get:()=>Xx,iot_tiny_web_db_init:()=>Px,iot_tiny_web_db_init_with_mqtt:()=>Yx,iot_tiny_web_db_search:()=>yx,iot_tiny_web_db_update:()=>vx,iot_wifi_connect:()=>$X,ollama_empty_history:()=>Fx,use_ollama_llm_to_chat:()=>Dx,use_ollama_llm_to_chat_return:()=>fx});var ot={};t.r(ot),t.d(ot,{educore_mqtt_connect:()=>My,educore_mqtt_connect_success:()=>Oy,educore_mqtt_subscribe_message:()=>hy,educore_mqtt_topic_publish:()=>Ey,educore_mqtt_topic_subscribe:()=>my,educore_wifi_connect:()=>Ty,network_ap_connect:()=>Kx,network_connect:()=>Bx,network_get_connect:()=>Ux,network_get_wifi:()=>Wx,network_init:()=>Vx,network_is_active:()=>Hx,network_open:()=>kx,network_scan:()=>Jx,network_server:()=>Qx,network_socket_accept:()=>Zx,network_socket_bind:()=>zx,network_socket_close:()=>_y,network_socket_connect:()=>jx,network_socket_init:()=>qx,network_socket_listen:()=>$x,network_socket_readline:()=>ty,network_socket_receive:()=>ey,network_socket_receive_from:()=>ny,network_socket_send:()=>iy,network_socket_send_to:()=>sy,network_stop:()=>wx,network_wifi_connect:()=>Gx,ntptime_address:()=>ry,ntptime_time:()=>uy,requests_attribute:()=>py,requests_attribute2:()=>ly,requests_get:()=>oy,requests_get2:()=>dy,requests_method:()=>ay,requests_post:()=>Iy});var pt={};t.r(pt),t.d(pt,{pe_g1_battery_left:()=>cy,pe_g1_dc_motor:()=>gy,pe_g1_dc_motor_speed:()=>Cy,pe_g1_servo_get_angle:()=>Ly,pe_g1_servo_get_speed:()=>Ny,pe_g1_servo_set_angle:()=>Sy,pe_g1_servo_set_speed:()=>Ay,pe_g1_use_i2c_init:()=>Ry});var at={};t.r(at),t.d(at,{CI130X_BROADCAST:()=>zy,CI130X_GET_THE_RECOGNIZED_CMD:()=>qy,CI130X_GET_WHETHER_IDENTIFY:()=>Qy,CI130X_IDENTIFY_AND_SAVE:()=>Jy,CI130X_SET_SYSTEM_CMD:()=>jy,HCSR04:()=>fb,PS2_Button:()=>Yb,PS2_Buttons:()=>vb,PS2_Buttons_new:()=>Ub,PS2_State:()=>Xb,PS2_init:()=>Fb,PS2_init_new:()=>Bb,PS2_stk:()=>xb,PS2_stk_new:()=>wb,PS2_vibration:()=>Pb,PS2_vibration_new:()=>Gb,RTC_get_time:()=>bb,RTC_set_date:()=>xy,RTC_set_datetime:()=>yb,RTC_set_time:()=>Xy,camera_sensor_init:()=>OV,camera_sensor_result:()=>RV,column_tube_foot:()=>SV,define_keyboards:()=>AV,educore_body_sensor:()=>uV,educore_button_sensor_extern:()=>IV,educore_camera_sensor:()=>EV,educore_infrared_sensor:()=>lV,educore_soilhum_sensor:()=>rV,educore_temp_sensor:()=>mV,educore_temphum_sensor:()=>dV,educore_ultrasonic_sensor:()=>MV,esp32_s2_weather_init:()=>Ab,esp32_s2_weather_rain:()=>Nb,esp32_s2_weather_wd:()=>Lb,esp32_s2_weather_ws:()=>Db,extern_rfid_read:()=>Ib,extern_rfid_readcontent:()=>Mb,extern_rfid_readid:()=>Tb,extern_rfid_status:()=>Eb,extern_rfid_write:()=>hb,extern_rfid_write_return:()=>mb,get_keboards_value:()=>NV,gnss_get_data:()=>Wb,gnss_have_data:()=>Kb,init_init_rotary_encoder:()=>DV,init_matrix_keyboard:()=>LV,interaction_whether_to_interaction:()=>Wy,interaction_whether_to_interaction_SANT:()=>Ky,line_tube_foot:()=>CV,mixbot_sensor_extern_get_addr:()=>iV,mixbot_sensor_extern_set_addr:()=>nV,pm25_get_data:()=>Hb,radar_set_DETECTION_THRESHOLD:()=>ky,radar_set_DETECTION_THRESHOLD_SANT:()=>Hy,robot_button_extern_get_value:()=>Qb,robot_color_extern_get_value:()=>Zb,robot_infrared_extern_get_value:()=>zb,robot_infrared_extern_grey_get_value:()=>jb,robot_potentiometer_extern_get_value:()=>$b,robot_sonar_extern_get_value:()=>tV,robot_sonar_extern_led:()=>eV,robot_touch_extern_get_value:()=>qb,rotary_key:()=>fV,sensor_APDS9960_extern:()=>Zy,sensor_DS18X20:()=>aV,sensor_LTR308_extern:()=>tb,sensor_LTR390UV_extern:()=>pb,sensor_MAX30102_extern:()=>$y,sensor_QMC5883L_extern:()=>ab,sensor_VL530LX_extern:()=>db,sensor_aht11_extern:()=>rb,sensor_bmp:()=>Gy,sensor_dht11:()=>Vb,sensor_distance_hrsc04:()=>vy,sensor_hp203_extern:()=>eb,sensor_ltr381_extern:()=>_b,sensor_mixgo_extern_button_attachInterrupt:()=>Py,sensor_mixgo_extern_button_get_presses:()=>Fy,sensor_mixgo_extern_button_is_pressed:()=>Dy,sensor_mixgo_extern_button_was_pressed:()=>fy,sensor_mixgo_extern_light:()=>yy,sensor_mixgo_extern_pin_near:()=>Vy,sensor_mixgo_extern_sound:()=>by,sensor_mixgoce_hot_wheel_degrees:()=>Sb,sensor_mixgoce_hot_wheel_is_touched:()=>Cb,sensor_mpu9250_attachGestureInterrupt:()=>Yy,sensor_ms5611_extern:()=>nb,sensor_ms5611_extern_altitude:()=>sb,sensor_read_humiture:()=>TV,sensor_rtc_init:()=>By,sensor_sht:()=>Uy,sensor_shtc3_extern:()=>ub,sensor_spl06_001_extern:()=>ib,sensor_ucs12071_extern:()=>ob,sensor_use_i2c_init:()=>wy,sensor_use_spi_init:()=>lb,sensor_use_uart_init:()=>kb,sensor_weather_solo_init:()=>sV,sensor_weather_solo_rain:()=>pV,sensor_weather_solo_wd:()=>_V,sensor_weather_solo_ws:()=>oV,sensor_weigh_init:()=>cV,tvoc_get_data:()=>Jb,ultrasonic_sensor_read_distance:()=>hV,weather_data:()=>Ob,weather_have_data:()=>Rb,weather_set_label:()=>gb,weather_uart_mixio:()=>cb,weigh_sensor_get_weight:()=>gV});var ut={};t.r(ut),t.d(ut,{HCSR04:()=>VV,bitbot_als_num:()=>oG,dht11:()=>TG,educore_button_sensor:()=>cG,educore_button_was_pressed:()=>gG,educore_gyroscope_sensor:()=>EG,educore_gyroscope_sensor_read:()=>OG,educore_gyroscope_sensor_shake:()=>RG,educore_light_sensor:()=>mG,educore_rfid_sensor:()=>CG,educore_rfid_sensor_scan:()=>SG,educore_rfid_sensor_scan_data:()=>AG,educore_voice_sensor:()=>MG,number1:()=>BV,number2:()=>GV,number3:()=>UV,number4:()=>wV,number5:()=>kV,number6:()=>HV,number7:()=>WV,onboard_RTC_get_time:()=>yB,onboard_RTC_get_time_str:()=>BB,onboard_RTC_get_timestamp:()=>bB,onboard_RTC_get_timetuple_to_str:()=>GB,onboard_RTC_set_datetime:()=>XB,onboard_RTC_settime_string:()=>xB,onboard_RTC_timestamp_totuple:()=>VB,rfid_readcontent:()=>pB,rfid_readid:()=>oB,rfid_status:()=>rB,rfid_write:()=>aB,rfid_write_return:()=>uB,sensor_LTR308:()=>eB,sensor_adxl345_get_acceleration:()=>OB,sensor_aht11:()=>sB,sensor_bitbot_ALS:()=>_G,sensor_button_get_presses:()=>uG,sensor_button_is_pressed:()=>pG,sensor_button_was_pressed:()=>aG,sensor_compass_reset:()=>AB,sensor_ds18x20:()=>ZV,sensor_eulerangles:()=>lB,sensor_get_acceleration:()=>dB,sensor_get_temperature:()=>_B,sensor_get_the_coprocessor_version:()=>LG,sensor_hp203:()=>nB,sensor_light:()=>IG,sensor_lm35:()=>tB,sensor_mixbot_get_gyro:()=>sG,sensor_mixbot_patrol_calibrate:()=>eG,sensor_mixbot_patrol_value:()=>iG,sensor_mixbot_temperature:()=>nG,sensor_mixgo_LTR308:()=>zV,sensor_mixgo_button_attachInterrupt:()=>vV,sensor_mixgo_button_get_presses:()=>YV,sensor_mixgo_button_is_pressed:()=>FV,sensor_mixgo_button_was_pressed:()=>PV,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>kB,sensor_mixgo_cc_mmc5603_get_angle:()=>wB,sensor_mixgo_cc_mmc5603_get_magnetic:()=>UB,sensor_mixgo_light:()=>lG,sensor_mixgo_nova_LTR308:()=>$V,sensor_mixgo_nova_pin_near:()=>qV,sensor_mixgo_pin_near:()=>QV,sensor_mixgo_pin_near_double:()=>JV,sensor_mixgo_pin_near_single:()=>KV,sensor_mixgo_pin_pressed:()=>mB,sensor_mixgo_sant_color:()=>jV,sensor_mixgo_touch_slide:()=>hB,sensor_mixgocar42_button_attachInterrupt:()=>bV,sensor_mixgocar42_button_get_presses:()=>yV,sensor_mixgocar42_button_is_pressed:()=>XV,sensor_mixgocar42_button_was_pressed:()=>xV,sensor_mixgocar_battery_left:()=>tG,sensor_mixgocar_pin_near:()=>$B,sensor_mixgocar_pin_near_line:()=>jB,sensor_mixgocar_pin_near_state_change:()=>ZB,sensor_mixgoce_pin_pressed:()=>MB,sensor_mixgoce_temperature:()=>WB,sensor_mixgome_temperature:()=>HB,sensor_mpu9250_calibrate_compass:()=>gB,sensor_mpu9250_field_strength:()=>SB,sensor_mpu9250_gesture:()=>IB,sensor_mpu9250_get_acceleration:()=>TB,sensor_mpu9250_get_gyro:()=>cB,sensor_mpu9250_get_magnetic:()=>RB,sensor_mpu9250_temperature:()=>CB,sensor_mpython_pin_pressed:()=>EB,sensor_mpython_qmi8658_get_gyro:()=>KB,sensor_mpython_qmi8658_temperature:()=>JB,sensor_onboard_compass_reset:()=>vB,sensor_onboard_mpu9250_calibrate_compass:()=>FB,sensor_onboard_mpu9250_field_strength:()=>YB,sensor_onboard_mpu9250_gesture:()=>LB,sensor_onboard_mpu9250_get_acceleration:()=>NB,sensor_onboard_mpu9250_get_gyro:()=>fB,sensor_onboard_mpu9250_get_magnetic:()=>DB,sensor_onboard_mpu9250_temperature:()=>PB,sensor_pin_near:()=>dG,sensor_pin_pressed:()=>rG,sensor_read:()=>hG,sensor_rm_acc:()=>zB,sensor_rm_battery_left:()=>qB,sensor_rm_pin_near_double:()=>QB,sensor_sound:()=>iB,simulated_light_sensor:()=>NG});var rt={};t.r(rt),t.d(rt,{serial_any:()=>YG,serial_print:()=>DG,serial_print_byte:()=>fG,serial_print_hex:()=>PG,serial_println:()=>FG,serial_read_from_ai:()=>kG,serial_readline:()=>XG,serial_readstr:()=>vG,serial_send_to_ai:()=>wG,serial_softserial:()=>xG,serial_softserial_new:()=>yG,system_input:()=>bG,system_print:()=>VG,system_print_end:()=>GG,system_print_inline:()=>BG,system_print_many:()=>UG});var dt={};t.r(dt),t.d(dt,{Panic_with_status_code:()=>eU,Timer_init:()=>mU,base_delay:()=>RU,controls_delay:()=>oU,controls_delay_new:()=>pU,controls_end_program:()=>nU,controls_millis:()=>iU,controls_uname:()=>_U,reset:()=>sU,set_system_timer:()=>uU,system_bitbot_shutdown:()=>hU,system_device_name:()=>ZG,system_device_serial_number:()=>tU,system_event_bus_source:()=>jG,system_event_bus_value:()=>$G,system_machine_reset:()=>MU,system_on_event:()=>QG,system_raise_event:()=>JG,system_reset:()=>WG,system_run_in_background:()=>HG,system_ticks_diff:()=>rU,system_timer:()=>lU,system_timer_init:()=>dU,system_timestamp:()=>qG,system_value:()=>zG,system_wait:()=>KG,system_wdt_feed:()=>TU,system_wdt_init:()=>IU,time_ticks_diff:()=>OU,timer:()=>aU,timer2:()=>EU});var lt={};t.r(lt),t.d(lt,{Air_daily_content:()=>vU,Air_now_content:()=>LU,Geo_moon_content:()=>xU,Geo_sun_content:()=>XU,Life_suggestion_content:()=>DU,Location_search_content:()=>FU,Tide_daily_content:()=>fU,WEATHER_DAILY:()=>gU,WEATHER_HOUR:()=>CU,WEATHER_NOW:()=>cU,Weather_alarm_content:()=>NU,Weather_daily:()=>PU,Weather_daily_content:()=>YU,Weather_now:()=>SU,Weather_now_content:()=>AU});var It={};t.r(It),t.d(It,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>VU});var Tt={};t.r(Tt),t.d(Tt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>GU});var Mt={};t.r(Mt),t.d(Mt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>wU});var ht={};t.r(ht),t.d(ht,{controls_pin_attachInterrupt:()=>aw,inout_analog_atten:()=>$U,inout_analog_write:()=>zU,inout_analog_write_init:()=>iw,inout_analog_write_set:()=>jU,inout_analog_write_set_freq:()=>sw,inout_digital_init:()=>ew,inout_digital_read:()=>qU,inout_digital_write:()=>QU,inout_highlow:()=>JU,inout_pinMode:()=>_w,inout_pin_attachInterrupt:()=>tw,inout_pin_pressed:()=>ZU,inout_pin_pressed_init:()=>nw,pin_pressed:()=>pw,pin_pressed_init:()=>ow});var mt={};t.r(mt),t.d(mt,{me_g1_aht11:()=>rw,me_g1_hp203:()=>dw,me_g1_rfid_readcontent:()=>Tw,me_g1_rfid_readid:()=>Iw,me_g1_rfid_status:()=>mw,me_g1_rfid_write:()=>Mw,me_g1_rfid_write_outcome:()=>hw,me_g1_varistor:()=>lw});var Et={};t.r(Et),t.d(Et,{analog_input:()=>Lw,analog_output:()=>Dw,espnow_channel:()=>Cw,haskylens_model:()=>Sw,i2c_A_pin:()=>fw,i2c_B_pin:()=>Fw,pins_analog:()=>xw,pins_analog_pin:()=>yw,pins_axis:()=>Zw,pins_brightness:()=>tk,pins_builtinimg:()=>Kw,pins_builtinimg_extern:()=>Jw,pins_button:()=>Bw,pins_buttonB:()=>Gw,pins_dac:()=>bw,pins_dac_pin:()=>Vw,pins_digital:()=>Ow,pins_digital_dot:()=>ak,pins_digital_pin:()=>Rw,pins_exlcdh:()=>jw,pins_exlcdv:()=>$w,pins_imglist:()=>Qw,pins_input_pin:()=>cw,pins_one_more:()=>pk,pins_output_pin:()=>gw,pins_playlist:()=>qw,pins_playlist_extern:()=>zw,pins_pwm:()=>Uw,pins_pwm_pin:()=>ww,pins_radio_datarate:()=>ok,pins_radio_power:()=>_k,pins_serial:()=>Ww,pins_tone_notes:()=>sk,pins_touch:()=>Hw,pins_touch_pin:()=>kw,pins_tts_bgmusic:()=>nk,pins_tts_builtin_music:()=>ik,pins_tts_voice:()=>ek,pwm_input:()=>Aw,pwm_output:()=>Nw,spi_A_pin:()=>Pw,spi_B_pin:()=>Yw,spi_C_pin:()=>vw,spi_D_pin:()=>Xw,timer_id_pin:()=>uk});var Ot={};t.r(Ot),t.d(Ot,{inout_analog_atten:()=>Ok,inout_analog_write:()=>Ik,inout_analog_write_init:()=>Ek,inout_analog_write_set:()=>Tk,inout_digital_init:()=>mk,inout_digital_read:()=>lk,inout_digital_write:()=>dk,inout_highlow:()=>rk,inout_pin_attachInterrupt:()=>hk,inout_pin_pressed:()=>Mk,inout_pin_pressed_init:()=>Rk});var Rt={};t.r(Rt),t.d(Rt,{me_g1_aht11:()=>ck,me_g1_hp203:()=>gk,me_g1_rfid_readcontent:()=>Ak,me_g1_rfid_readid:()=>Sk,me_g1_rfid_status:()=>Dk,me_g1_rfid_write:()=>Lk,me_g1_rfid_write_outcome:()=>Nk,me_g1_varistor:()=>Ck});var ct={};t.r(ct),t.d(ct,{analog_input:()=>Vk,analog_output:()=>Gk,espnow_channel:()=>yk,haskylens_model:()=>bk,i2c_A_pin:()=>Uk,i2c_B_pin:()=>wk,pins_analog:()=>Qk,pins_analog_pin:()=>Jk,pins_axis:()=>aH,pins_brightness:()=>dH,pins_builtinimg:()=>nH,pins_builtinimg_extern:()=>sH,pins_button:()=>Fk,pins_buttonB:()=>Pk,pins_dac:()=>$k,pins_dac_pin:()=>jk,pins_digital:()=>fk,pins_digital_dot:()=>OH,pins_digital_pin:()=>Yk,pins_exlcdh:()=>uH,pins_exlcdv:()=>rH,pins_imglist:()=>_H,pins_input_pin:()=>vk,pins_interrupt:()=>eH,pins_one_more:()=>EH,pins_output_pin:()=>Xk,pins_playlist:()=>oH,pins_playlist_extern:()=>pH,pins_pwm:()=>zk,pins_pwm_input:()=>xk,pins_pwm_pin:()=>qk,pins_radio_datarate:()=>mH,pins_radio_power:()=>hH,pins_serial:()=>iH,pins_tone_notes:()=>MH,pins_touch:()=>tH,pins_touch_pin:()=>Zk,pins_tts_bgmusic:()=>TH,pins_tts_builtin_music:()=>IH,pins_tts_voice:()=>lH,pwm_output:()=>Bk,spi_A_pin:()=>kk,spi_B_pin:()=>Hk,spi_C_pin:()=>Wk,spi_D_pin:()=>Kk,timer_id_pin:()=>RH});const gt=Blockly,Ct=Mixly,St={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},At=St; +/** + * @license + * Visual Blocks Editor + * + * Copyright 2012 Google Inc. + * https://developers.google.com/blockly/ + * + * 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. + */ +class Lt{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(gt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(gt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(gt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(gt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Wt={init:function(){this.setColour(Bt),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.PYTHON_RANGE).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Kt={init:function(){this.setColour(Bt),this.appendValueInput("LIST").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(gt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Jt={init:function(){this.setColour(Bt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new gt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(gt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:gt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:gt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Qt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(gt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},qt={init:function(){this.setColour(Bt);var t=new gt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:gt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:gt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},zt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new gt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return gt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},jt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new gt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return gt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Jt.OPERATORS=[[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],qt.OPERATORS=[[gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[gt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const $t={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},te={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(gt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},ee={init:function(){this.setColour(Bt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ie={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ne={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(gt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},se={init:function(){this.jsonInit({message0:gt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Bt,tooltip:gt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:gt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},_e={init:function(){this.setColour(Bt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_STAT),this.setOutput(!0)}},oe={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pe={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ae={init:function(){this.appendDummyInput().appendField(gt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+gt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(gt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new gt.FieldDropdown([[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[gt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Bt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ue={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},re={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},de={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},le={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_GET_UNIQUE_IDEN)}},Ie={init:function(){this.setColour(Bt),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(gt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Te={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Me=230;gt.FieldTextInput.math_number_validator=function(t){return String(t)},gt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const he={init:function(){this.setColour(Me),this.appendDummyInput().appendField(new gt.FieldTextInput("0",gt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MATH_NUMBER_TOOLTIP)}},me={init:function(){this.setColour(Me);this.appendDummyInput("").appendField(gt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new gt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Ee={init:function(){this.setColour(Me);this.appendDummyInput("").appendField(gt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new gt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:gt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Oe={init:function(){this.setColour(Me),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:gt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:gt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:gt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Re={init:function(){this.setColour(Me),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:gt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:gt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:gt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:gt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:gt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ce={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new gt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ge={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new gt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:gt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:gt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:gt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:gt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:gt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:gt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:gt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ce={init:function(){var t=[[gt.Msg.MATH_BIN,"bin"],[gt.Msg.MATH_OCT,"oct"],[gt.Msg.MATH_HEX,"hex"]];this.setColour(Me),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new gt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:gt.Msg.MATH_DEC_TOOLTIP_BIN,oct:gt.Msg.MATH_DEC_TOOLTIP_OCT,hex:gt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Se={init:function(){var t=[[gt.Msg.LANG_MATH_TO_ROUND,"round"],[gt.Msg.LANG_MATH_TO_CEIL,"ceil"],[gt.Msg.LANG_MATH_TO_FLOOR,"floor"],[gt.Msg.MATH_ABS,"fabs"],[gt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Me),this.appendValueInput("A").setCheck(Number).appendField(new gt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:gt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:gt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:gt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:gt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:gt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:gt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ae={init:function(){var t=[[gt.Msg.MIXLY_MAX,"max"],[gt.Msg.MIXLY_MIN,"min"]];this.setColour(Me),this.appendValueInput("A").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(gt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:gt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:gt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Le={init:function(){var t=[[gt.Msg.MATH_TWO,"two"],[gt.Msg.MATH_EIGHT,"eight"],[gt.Msg.MATH_TEN,"ten"],[gt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Me),this.appendDummyInput("").appendField(gt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new gt.FieldDropdown(t),"OP").appendField(gt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MATH_ZHW).appendField(new gt.FieldDropdown(t),"OP2").appendField(gt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:gt.Msg.MATH_Before_two,eight:gt.Msg.MATH_Before_eight,ten:gt.Msg.MATH_Before_ten,sixteen:gt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:gt.Msg.MATH_Behind_two,eight:gt.Msg.MATH_Behind_eight,ten:gt.Msg.MATH_Behind_ten,sixteen:gt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ne={init:function(){var t=[[gt.Msg.LANG_MATH_INT,"int"],[gt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Me),this.setOutput(!0,Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new gt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(gt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:gt.Msg.LANG_MATH_INT,float:gt.Msg.LANG_MATH_FLOAT_RANDOM};return gt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},De={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(gt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(gt.Msg.MATH_CONSTRAIN_TOOLTIP)}},fe={init:function(){this.setColour(Me),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(gt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(gt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Fe={init:function(){this.setColour(Me),this.appendDummyInput().appendField(new gt.FieldTextInput("0",gt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(gt.Msg.MATH_NUMBER_TOOLTIP)}},Pe={init:function(){this.setColour(Me),this.appendValueInput("NUM").setCheck(Number).appendField(gt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Ye={init:function(){this.setColour(Me),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MATH_ROUND).appendField(gt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(gt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(gt.Msg.MATH_ROUND_NEW_TOOLTIP)}},ve={init:function(){var t=[[gt.Msg.MIXLY_TO_INT,"int"],[gt.Msg.MIXLY_TO_FLOAT,"float"],[gt.Msg.MIXLY_TO_BITES,"b"],[gt.Msg.LANG_MATH_BYTE+gt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Me),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:gt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:gt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:gt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Xe={init:function(){var t=[[gt.Msg.MIXLY_TO_INT,"int"],[gt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Me),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:gt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:gt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},xe=fe,ye={init:function(){this.setColour(Me),this.appendValueInput("VAR").appendField(gt.Msg.LANG_MATH_BYTE+gt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},be={init:function(){this.setColour(Me),this.itemCount_=1,this.setMutator(new gt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(gt.Msg.MIXLY_PRODUCT+gt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(gt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(gt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(gt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const He={init:function(){this.setColour(Ge),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new gt.FieldTextInput("",gt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(gt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new gt.FieldImage(e,7,12,'"')}},We={init:function(){this.setColour(Ge),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(gt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Ke={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Je={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String).appendField(gt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ze={init:function(){this.WHERE_OPTIONS=[[gt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[gt.Msg.TEXT_GET_INDEX_RANDOM+1+gt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.LISTS_GET_INDEX_GET,"MODE"),gt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(gt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=gt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+gt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",gt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:gt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:gt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:gt.Msg.TEXT_GET_INDEX_RANDOM};return gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+gt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==gt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),gt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(gt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new gt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),gt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},je={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(gt.Msg.LISTS_GET_INDEX_GET+" "+gt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(gt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+gt.Msg.LISTS_GET_INDEX_FROM_START+"n"+gt.Msg.TEXT_CHARAT2)}},$e={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(gt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(gt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ze={init:function(){this.WHERE_OPTIONS_1=[[gt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[gt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[gt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[gt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[gt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(gt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==gt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==gt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),gt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(gt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new gt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ti={init:function(){this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(gt.Msg.LISTS_GET_INDEX_GET+" "+gt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(gt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(gt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(gt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ei={init:function(){var t=[[gt.Msg.MIXLY_EQUALS,"==="],[gt.Msg.MIXLY_STARTSWITH,"startswith"],[gt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new gt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ii={init:function(){this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(gt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_COMPARETO_HELP)}},ni={init:function(){var t=[[gt.Msg.TEXT_UPPER,"upper"],[gt.Msg.TEXT_TITLE,"title"],[gt.Msg.TEXT_CAPITALIZE,"capitalize"],[gt.Msg.TEXT_SWAPCASE,"swapcase"],[gt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:gt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:gt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:gt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:gt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:gt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},si={init:function(){var t=[[gt.Msg.TEXT_LJUST,"ljust"],[gt.Msg.TEXT_CENTER,"center"],[gt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(new gt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(gt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(gt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},_i={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(gt.Msg.MIXLY_MID+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(gt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(gt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(gt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ai={init:function(){this.setColour(Ge),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(gt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(gt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ui={init:function(){var t=[[gt.Msg.TEXT_TRIM_BOTH,"strip"],[gt.Msg.TEXT_TRIM_LEFT,"lstrip"],[gt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ge),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(gt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new gt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(gt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:gt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:gt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:gt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ri={init:function(){this.setColour(Ge),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new gt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new gt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(_n),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_KEYS),this.setTooltip(gt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(gt.Msg.DICTS_GET_TOOLTIP)}},dn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(gt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(gt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},ln={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},In={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(gt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_DELETE_TOOLTIP)}},Tn={init:function(){this.setColour(_n),this.appendValueInput("DICT2").setCheck("Dict").appendField(gt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(gt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MID),this.setTooltip(gt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_CLEAR),this.setTooltip(gt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_ITEMS),this.setTooltip(gt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_VALUES),this.setTooltip(gt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},En={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_LENGTH),this.setTooltip(gt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},On={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.DICT_DELDICT),this.setTooltip(gt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[gt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[gt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(gt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(gt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=gt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=gt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==gt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new gt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},cn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(gt.Msg.DICTS_ADD_VALUE),this.setTooltip(gt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},gn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(gt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(gt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(_n),this.appendDummyInput("").appendField(new gt.FieldLabel(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new gt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Sn={init:function(){this.setColour(_n),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},An={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TO_JSON),this.setTooltip(gt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(_n),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(gt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TO_JSON),this.setTooltip(gt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},fn=210,Fn={init:function(){var t=gt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:gt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:gt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:gt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:gt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:gt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:gt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Pn={init:function(){var t=gt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=gt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new gt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Yn={init:function(){var t=[[gt.Msg.LOGIC_OPERATION_AND,"AND"],[gt.Msg.LOGIC_OPERATION_OR,"OR"],[gt.Msg.LOGIC_OPERATION_NOR,"NOR"],[gt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new gt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:gt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:gt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:gt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:gt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},vn={init:function(){this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(gt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(gt.Msg.LOGIC_NEGATE_TOOLTIP)}},Xn={init:function(){var t=[[gt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[gt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new gt.FieldDropdown(t),"BOOL"),this.setTooltip(gt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},xn={init:function(){this.setColour(fn),this.setOutput(!0),this.appendDummyInput().appendField(gt.Msg.LOGIC_NULL),this.setTooltip(gt.Msg.LOGIC_NULL_TOOLTIP)}},yn={init:function(){this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(gt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(gt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},bn={init:function(){var t=[[gt.Msg.TEXT_APPEND_TO,"in"],[gt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new gt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(gt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.IN)}},Vn={init:function(){var t=[[gt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[gt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new gt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Bn={init:function(){this.setColour(fn),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(gt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[gt.Msg.MIXLY_ADD,"a"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_ADD,"ab"],[gt.Msg.MIXLY_R_W,"r+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_R_W,"rb+"],[gt.Msg.MIXLY_W_R,"w+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_W_R,"wb+"],[gt.Msg.MIXLY_A_R,"a+"],[gt.Msg.MATH_BIN+gt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG,o=gt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},kn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(gt.Msg.MIXPY_TEXT_ENCODE).appendField(new gt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_USE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=gt.Msg.MIXLY_BELONG,o=gt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+gt.Msg.MIXLY_MICROBIT_TYPE_STRING+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(gt.Msg.MICROBIT_PYTHON_TYPE)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.HTML_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const $n={init:function(){this.setColour(0),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ns={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+gt.Msg.MIXLY_ESP32_SET+{mkdir:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(gt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.HTML_FILE,"isfile"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(gt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},as={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(gt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},us={init:function(){var t=gt.Procedures.findLegalName("",this),e=new gt.FieldTextInput(t,gt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new gt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&>.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(gt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(gt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(gt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(gt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=gt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),gt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{gt.Events.enable()}},mutationToDom:function(t){var e=gt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(gt.Msg.MIXLY_AIP_ATTR).setAlign(gt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},__={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_FORM_CONTENT).appendField(new gt.FieldDropdown([[gt.Msg.HTML_TEXT,"text"],[gt.Msg.HTML_EMAIL,"email"],[gt.Msg.HTML_NUMBER,"number"],[gt.Msg.HTML_PASSWORD,"password"],[gt.Msg.HTML_CHECKBOX,"checkbox"],[gt.Msg.HTML_RADIOBUTTON,"radiobutton"],[gt.Msg.HTML_BUTTON,"button"],[gt.Msg.HTML_COLOUR,"colour"],[gt.Msg.HTML_DATE,"date"],[gt.Msg.HTML_LOCALTIME,"local time"],[gt.Msg.HTML_FILE,"file"],[gt.Msg.HTML_HIDDEN,"hidden"],[gt.Msg.HTML_IMAGE,"image"],[gt.Msg.HTML_MONTH,"month"],[gt.Msg.HTML_RANGE,"range"],[gt.Msg.HTML_RESET,"reset"],[gt.Msg.HTML_SEARCH,"search"],[gt.Msg.HTML_SUBMIT,"submit"],[gt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[gt.Msg.HTML_TIME,"time"],[gt.Msg.HTML_URL,"url"],[gt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(gt.Msg.HTML_NAME).appendField(new gt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(gt.Msg.HTML_VALUE).appendField(new gt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(gt.Msg.MIXLY_AIP_ATTR).setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new gt.FieldTextInput("property"),"KEY").appendField(":").appendField(new gt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new gt.FieldTextInput("property"),"KEY").appendField(":").appendField(new gt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},a_={init:function(){this.setColour($s),this.appendDummyInput().appendField(gt.Msg.HTML_TEXT).appendField(new gt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_=160,r_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new gt.FieldTable(""),"TEXT")}},d_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new gt.FieldMultilineInput(""),"TEXT")}},l_={init:function(){this.setColour(u_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new gt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},I_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},T_={init:function(){this.setColour(u_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new gt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},M_={init:function(){this.setColour(u_),this.appendValueInput("VALUE").appendField(gt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},h_={init:function(){this.setColour(u_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(gt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=gt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},gt.isNumber(n)&>.isNumber(s)&>.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const la=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ia=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Ta=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ma=function(t,e){return["None",e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ea=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Oa=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},ca=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ga=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Sa=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Aa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},La=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Da=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},fa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Pa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Ya=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},va=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Xa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},xa=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},ya=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ba=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Va=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ba=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ua=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},wa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},ka=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),gt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Au=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Lu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Nu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Du=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},fu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Fu=function(t,e){return'"},Pu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Yu=function(){return this.getFieldValue("TEXT")+"\n"},vu=function(t){return t.getFieldValue("TEXT")+"\n"},Xu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},xu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},yu=function(){return""},bu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Vu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n")},wu.scrubNakedValue=function(t){return t+"\n"},wu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},wu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},wu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=gt.utils.string.wrap(_,wu.COMMENT_WRAP-3),n+=wu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const ku="#74A55B",Hu={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_RGB_PIN_COUNT)}},Wu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ku={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},qu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(gt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(gt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ju={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_RESET)}},$u={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zu={init:function(){this.setColour(ku),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(gt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},tr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},er={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ir={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},nr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},sr={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_r={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(ku),this.appendValueInput("VAR").appendField("360°"+gt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SETTING+gt.Msg.blockpy_turtle_rotate+gt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},pr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},ar={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ur={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},rr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new gt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(gt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},lr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[gt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[gt.Msg.MOTOR_N,"ms32006.MOT_N"],[gt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Ir={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new gt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[gt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Tr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_RGB_PIN_COUNT)}},Mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},hr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Er={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new gt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([["SYN6288"+gt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+gt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_WHETHER).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_STOPPED,"0"],[gt.Msg.MIXLY_PLAYING,"1"],[gt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},gr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MP3_PLAY,"1"],[gt.Msg.MIXLY_MP3_PAUSE,"2"],[gt.Msg.MIXLY_STOP,"3"],[gt.Msg.MIXLY_MP3_PREV,"4"],[gt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(gt.Msg.MIXLY_MP3_VOL+gt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Sr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE+gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[gt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[gt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[gt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[gt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[gt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[gt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Lr={},Nr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Dr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(gt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Fr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(gt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(gt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(gt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Pr={init:function(){this.setColour(ku),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.LISTS_SET_INDEX_SET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[gt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_WHITE,"W"],[gt.Msg.COLOUR_RGB_RED,"R"],[gt.Msg.COLOUR_RGB_YELLOW,"Y"],[gt.Msg.COLOUR_RGB_GREEN,"G"],[gt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_WHITE,"W"],[gt.Msg.COLOUR_RGB_RED,"R"],[gt.Msg.COLOUR_RGB_YELLOW,"Y"],[gt.Msg.COLOUR_RGB_GREEN,"G"],[gt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[gt.Msg.MIXLY_SPEED,"[1]"],[gt.Msg.MATH_SINGLE_OP_ABSOLUTE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[gt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[gt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[gt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[gt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MATH_SINGLE_OP_ABSOLUTE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"0"],[gt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[gt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField("("+gt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},kr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.ME_GO_MOTOR_EXTERN+gt.Msg.MIXLY_SERVO_MOTOR).appendField(gt.Msg.MIXLY_RELATIVE+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+gt.Msg.MSG.run).appendField("("+gt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(gt.Msg.PIN_NUMBERING).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LEFT,"0"],[gt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MODE).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPEED+gt.Msg.MIXLY_MODE,"0"],[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+gt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"0"],[gt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MOTOR,"ext_motor"],[gt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[gt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[gt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[gt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[gt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[gt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[gt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MOTOR,"ext_motor"],[gt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[gt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[gt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[gt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[gt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[gt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[gt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(ku),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SERVO+gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},qr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zr={init:function(){this.setColour(ku),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MOTOR+gt.Msg.MIXLY_SETUP+gt.Msg.MIXLY_AT).appendField(gt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},jr={init:function(){this.setColour(ku),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+gt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r="#6C9858",Zr={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_ON,"1"],[gt.Msg.MIXLY_ESP32_OFF,"0"],[gt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},ed={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},id={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},nd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},sd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},_d={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(gt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(gt.Msg.MIXLY_LCD_SETCOLOR).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_LIGHT_RED,"1"],[gt.Msg.MIXLY_LIGHT_GREEN,"2"],[gt.Msg.MIXLY_LIGHT_BLUE,"3"],[gt.Msg.MIXLY_LIGHT_YELLOW,"4"],[gt.Msg.MIXLY_LIGHT_CYAN,"5"],[gt.Msg.MIXLY_LIGHT_PURPLE,"6"],[gt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},od={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},pd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(gt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ad={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(gt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ud={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETTING).appendField(gt.Msg.MIXLY_BUILDIN_LED).appendField(new gt.FieldDropdown([[gt.Msg.COLOUR_RGB_RED,"r"],[gt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_BUILDIN_LED+gt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},rd={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new gt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},dd={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ld={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Id={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Td={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Md={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_WRI)}},hd={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(gt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},md={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Ed={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(gt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.PYTHON_RANGE_STEP).appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Od={init:function(){this.setColour($r),this.appendValueInput("TICKS").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(gt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(gt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Rd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},cd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_RESET)}},gd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Cd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Sd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ad={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ld={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(gt.Msg.MIXLY_BACKSTAGE+gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Nd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dd={init:function(){this.setColour($r),this.appendDummyInput().appendField("MixGo Car").appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fd={init:function(){this.setColour($r),this.appendDummyInput("").appendField("MixGo Car").appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MOTOR_DC).appendField(new gt.FieldDropdown([[gt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[gt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_STOP).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},vd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[gt.Msg.MIXLY_SPEED,"SPEED"],[gt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXBOT).appendField(gt.Msg.MIXLY_MOTOR).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"1"],[gt.Msg.TEXT_TRIM_RIGHT,"2"],[gt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[gt.Msg.MIXLY_SPEED,"SPEED"],[gt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},yd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[gt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},bd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(new gt.FieldDropdown([[gt.Msg.blockpy_forward,"F"],[gt.Msg.blockpy_backward,"B"],[gt.Msg.blockpy_left,"L"],[gt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(new gt.FieldDropdown([[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.BITBOT).appendField(gt.Msg.MIXLY_MOTOR).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"0"],[gt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gd={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ud={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},wd={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(gt.Msg.MIXLY_SETTING+gt.Msg.MIXLY_MIXBOT_BUZZER+gt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_SETONOFF)}},kd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MIXBOT_BUZZER+gt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Hd={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_RECORD_AUDIO).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(gt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wd={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_PLAY_AUDIO).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kd={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(gt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(gt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Qd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.PIN_NUMBERING);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},zd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.PIN_NUMBERING);switch(Ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new gt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},jd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(gt.Msg.MIXLY_ALL+gt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(gt.ALIGN_RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$d={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.ME_GO_MOTOR_EXTERN).appendField(new gt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(gt.ALIGN_RIGHT).appendField(gt.Msg.blynk_IOT_IR_POWER+gt.Msg.MIXLY_PINMODEOUT+gt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Zd={init:function(){this.setColour($r),this.appendDummyInput().appendField(gt.Msg.ANALOG+gt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(gt.Msg.MIXLY_RELEASE).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.ANALOG+gt.Msg.MIXLY_KEYBOARD_INPUT)}},tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SPECIAL_KEY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[gt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[gt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[gt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[gt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[gt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[gt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[gt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[gt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},el={init:function(){this.setColour($r),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GENERAL_KEY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},il={init:function(){this.setColour($r),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new gt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(gt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Om={init:function(){this.jsonInit({colour:am,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:gt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:gt.Msg.MIXLY_MICROBIT_Built_in_image})}},Rm={init:function(){this.setColour(am),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},cm={init:function(){this.setColour(am),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(gt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new gt.FieldDropdown(cm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":gt.Msg.MIXLY_MICROBIT_image_add,"-":gt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[gt.Msg.MICROBIT_DISPLAY_UNION,"add"],[gt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gm={init:function(){this.setColour(am),this.appendValueInput("A").setCheck("esp32_image").appendField(gt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Cm={init:function(){this.setColour(am),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET2).appendField(new gt.FieldDropdown(Cm.OPERATORS),"OP"),this.appendValueInput("val").appendField(gt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=gt.Msg.DISPLAY_IMAGE_LET,n=gt.Msg.DISPLAY_IMAGE_LET2,s=gt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:gt.Msg.MIXLY_UP,shift_down:gt.Msg.MIXLY_DOWN,shift_left:gt.Msg.MIXLY_LEFT,shift_right:gt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[gt.Msg.MIXLY_UP,"shift_up"],[gt.Msg.MIXLY_DOWN,"shift_down"],[gt.Msg.MIXLY_LEFT,"shift_left"],[gt.Msg.MIXLY_RIGHT,"shift_right"]]},Sm={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Am={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Lm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Nm={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Dm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Clear_display)}},fm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_SHOW+gt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Pm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(Pm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Ym={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},vm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(vm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Xm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},xm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(xm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},ym={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.OLED_SET_FONT).appendField(new gt.FieldDropdown(ym.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+gt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+gt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+gt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},bm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Vm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Bm={init:function(){this.setColour(am),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(gt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING)}},Gm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(gt.Msg.TEXT_CENTER).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Um={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},wm={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},km={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Hm={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[gt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Wm={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[gt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[gt.Msg.mpython_vertical,"0"],[gt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:gt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Km={init:function(){this.jsonInit({colour:am,args0:[{name:"state",options:[[gt.Msg.mpython_display_hline_1,"1"],[gt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.mpython_display_line_TOOLTIP,message0:gt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Jm={init:function(){this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new gt.FieldDropdown(Jm.IMAGES),"path"),this.setColour(am),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Qm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qm={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(qm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},zm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},jm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},$m={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Zm={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new gt.FieldDropdown(Zm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[gt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[gt.Msg.CLOCKWISE+"90"+gt.Msg.blockpy_setheading_degree,"1"],[gt.Msg.CLOCKWISE+"180"+gt.Msg.blockpy_setheading_degree,"2"],[gt.Msg.CLOCKWISE+"270"+gt.Msg.blockpy_setheading_degree,"3"]]},tE={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new gt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},eE={init:function(){this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(gt.inputs.Align.CENTRE).appendField(new gt.FieldBitmap(eE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(am),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},iE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nE={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(gt.Msg.MIXLY_AipImageClassify_Image+gt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(gt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(gt.Msg.TEXT_CENTER).appendField(new gt.FieldDropdown([[gt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[gt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},_E={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},oE={init:function(){this.jsonInit({colour:am,args0:[{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:gt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},pE={init:function(){this.jsonInit({colour:am,args0:[{name:"dir_h_v",options:[[gt.Msg.mpython_vertical,"0"],[gt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:gt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},aE={init:function(){this.jsonInit({colour:am,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,tooltip:gt.Msg.mpython_display_line_TOOLTIP,message0:gt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},uE={init:function(){this.setColour(am),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(gt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},rE={init:function(){this.setColour(am),this.appendValueInput("x").setCheck(Number).appendField(gt.Msg.MIXLY_LCD_SETCOLOR).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},dE={init:function(){this.setColour(am),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lE={init:function(){this.setColour(am),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(gt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(gt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(gt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(gt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ME={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hE={init:function(){this.setColour(am),this.appendValueInput("SUB"),this.appendDummyInput().appendField(gt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mE={init:function(){this.jsonInit({colour:am,args0:[{name:"shape",options:[[gt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[gt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:gt.Msg.mpython_HELPURL,message0:gt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},EE={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER).appendField(gt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(gt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.DRAW_POINTER_TOOLTIP)}},OE={init:function(){this.setColour(am),this.appendDummyInput().appendField(gt.Msg.DRAW_POINTER).appendField(gt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(gt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.DRAW_POINTER_TOOLTIP)}},RE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cE={init:function(){this.setColour(am),this.appendValueInput("direct").appendField(gt.Msg.OLED_BITMAP).appendField(gt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},gE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP).appendField(gt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ERROR_RATE).appendField(new gt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(gt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(gt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CE={init:function(){this.setColour(am),this.appendValueInput("data").appendField(gt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){dm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){Mm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Cm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){Lm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},DE={init:function(){Nm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fE={init:function(){Dm.init.call(this),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},FE=180,PE={init:function(){this.setColour(FE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(gt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_LET2).appendField(new gt.FieldDropdown(PE.OPERATORS),"OP"),this.appendValueInput("val").appendField(gt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=gt.Msg.DISPLAY_IMAGE_LET,n=gt.Msg.DISPLAY_IMAGE_LET2,s=gt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"]]},YE={init:function(){this.setColour(FE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(gt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new gt.FieldDropdown(YE.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":gt.Msg.MIXLY_MICROBIT_image_add,"-":gt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[gt.Msg.MICROBIT_DISPLAY_UNION,"+"],[gt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},vE={init:function(){this.setColour(FE),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new gt.FieldDropdown(vE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_MICROBIT_IMAGE+{height:gt.Msg.MIXLY_HEIGHT,width:gt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[gt.Msg.MIXLY_HEIGHT,"height"],[gt.Msg.MIXLY_WIDTH,"width"]]},XE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RECT).appendField(new gt.FieldDropdown(XE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_OLED_RECT)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new gt.FieldDropdown(xE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},yE={init:function(){this.setColour(FE),this.appendValueInput("VAR").appendField(gt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_DISPLAY_DRAW+gt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new gt.FieldDropdown(yE.STATUS),"OP"),this.jsonInit({message0:gt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(gt.Msg.MIXLY_DISPLAY_DRAW+gt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[gt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[gt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},bE="#777777",VE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField("from ").appendField(new gt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new gt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField("import ").appendField(new gt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GE={init:function(){this.setColour(bE),this.appendDummyInput("").appendField(new gt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new gt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},NO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},DO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},fO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},FO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(gt.Msg.MIXLY_WIFI_USERNAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.MIXLY_IOT_PASSWORD).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_PROJECT).setAlign(gt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},PO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},YO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.appendDummyInput().appendField(gt.Msg.MIXLY_Service_quality_display).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_AT_MOST_ONCE,"0"],[gt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},vO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},XO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(gt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},VO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},BO={init:function(){this.setColour(RO),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},GO={init:function(){this.setColour(RO),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},UO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(gt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},wO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO").appendField(gt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(gt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},kO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+gt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HO={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(gt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WO={init:function(){this.VISITOR_ID=Ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(RO),this.appendDummyInput("").appendField(new gt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},KO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MixIO").appendField(gt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},JO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("HTTP"+gt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(gt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(gt.Msg.MIXLY_REQUESTS_GET).appendField(gt.Msg.MIXLY_GET_CURRENT_TIME).appendField(gt.Msg.MIXLY_OPEN_DEBUG).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("HTTP"+gt.Msg.MIXLY_Client).appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[gt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[gt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},qO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MQTT"+gt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(gt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(gt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(gt.Msg.MQTT_Topic).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(gt.Msg.MIXLY_OPEN_DEBUG).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[gt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("MQTT"+gt.Msg.MIXLY_Client).appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[gt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[gt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},jO=cO,$O=gO,ZO=CO,tR=SO,eR=LO,iR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(gt.Msg.MODEL_NAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(gt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nR=iR,sR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(gt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(gt.Msg.MODEL_NAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(gt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_R={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(RO),this.appendDummyInput().appendField(gt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},pR={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Ollama "+gt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${gt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${gt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(gt.inputs.Align.RIGHT).appendField(`MixIO ${gt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(gt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},lR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},IR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(gt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(gt.inputs.Align.RIGHT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[gt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},TR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(gt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR=225,hR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(gt.Msg.MIXLY_NETWORK_MODE).appendField(new gt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},mR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[gt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=gt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:gt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:gt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},ER={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},OR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return gt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:gt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},RR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(gt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(gt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},cR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_NETWORK_WIFI_CONNECT+gt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},gR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[gt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[gt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:gt.Msg.MIXLY_ESP32_NETWORK_IP,1:gt.Msg.MIXLY_ESP32_NETWORK_MASK,2:gt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},CR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},SR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[gt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},AR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(gt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(gt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},LR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},NR={init:function(){this.setColour(MR),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new gt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},DR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},fR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},FR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},PR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},YR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},vR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},XR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},xR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},yR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},bR={init:function(){this.setColour(MR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},VR={init:function(){this.setColour(MR),this.appendValueInput("DOMAIN").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_REQUESTS_GET).appendField(new gt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},BR={init:function(){this.appendValueInput("VAL"),this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown(BR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:gt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:gt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:gt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[gt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},GR={init:function(){this.appendValueInput("VAR").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown(GR.METHOD),"DIR"),this.appendDummyInput("").appendField(gt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:gt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:gt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},UR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(gt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},wR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(new gt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},kR="#3288dd",HR={init:function(){this.setColour(kR),this.appendValueInput("URL").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(gt.Msg.blockpy_REQUESTS).appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},WR={init:function(){this.setColour(kR),this.appendValueInput("URL").appendField(gt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(gt.Msg.blockpy_CONDUCT).appendField(new gt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(gt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(gt.Msg.blockpy_REQUESTS+gt.Msg.OLED_STRING),this.appendDummyInput("").appendField(gt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},KR={init:function(){this.appendValueInput("VAL"),this.setColour(kR),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown(KR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[gt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[gt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[gt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},JR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(gt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(gt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(gt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},QR={init:function(){this.setColour(kR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_SERVER).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(gt.Msg.MIXLY_EMQX_PORT).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(gt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(gt.Msg.MIXLY_WIFI_USERNAME).setAlign(gt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(gt.Msg.MIXLY_IOT_PASSWORD).setAlign(gt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qR={init:function(){this.setColour(kR),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(gt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},zR={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_SUBSCRIBE+gt.Msg.MIXLY_MICROBIT_MSG).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(gt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jR={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(gt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(gt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(gt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$R={init:function(){this.setColour(kR),this.appendDummyInput().appendField("mqtt"+gt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},ZR=100,tc={init:function(){this.setColour(ZR),this.appendValueInput("I2CSUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ec={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(gt.Msg.MOTOR_DC).appendField(gt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Direction).appendField(new gt.FieldDropdown([[gt.Msg.CLOCKWISE,"CW"],[gt.Msg.ANTI_CLOCKWISE,"CCW"],[gt.Msg.MOTOR_P,"P"],[gt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(gt.Msg.MOTOR_DC).appendField(gt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(gt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},sc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_MOVE)}},_c={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(gt.inputs.Align.RIGHT).appendField(gt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},oc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+gt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},pc={init:function(){this.setColour(ZR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+gt.Msg.MIXLY_SERVO).appendField(gt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET+gt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ac="#A58C5B",uc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SENOR_IS_PRESSED)}},rc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_SENOR_WAS_PRESSED)}},dc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(gt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.PROCEDURES_DEFRETURN_RETURN+gt.Msg.MIXLY_BUTTON+gt.Msg.MIXLY_GET_PRESSES)}},lc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_BUTTON).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[gt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[gt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},Ic={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_shake,"shake"],[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"],[gt.Msg.MIXLY_MICROBIT_face_up,"face up"],[gt.Msg.MIXLY_MICROBIT_face_down,"face down"],[gt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=gt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=gt.Msg.MSG.catSensor,s=gt.Msg.MIXLY_MICROBIT_JS_STATE,_=gt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:gt.Msg.MIXLY_MICROBIT_shake,up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT,"face up":gt.Msg.MIXLY_MICROBIT_face_up,"face down":gt.Msg.MIXLY_MICROBIT_face_down,freefall:gt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},Tc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Mc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},hc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField(new gt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new gt.FieldDropdown(hc.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:gt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},mc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Ec={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},Oc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new gt.FieldDropdown([[gt.Msg.TEXT_TRIM_LEFT,"left"],[gt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(gt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=gt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=gt.Msg.MIXLY_ESP32_NEAR;return i+{left:gt.Msg.TEXT_TRIM_LEFT,right:gt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},Rc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[gt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":gt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":gt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},cc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[gt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},gc={init:function(){this.setColour(ac),this.appendValueInput("PIN",Number).appendField("DS18X20 "+gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},Cc={init:function(){this.setColour(ac),this.appendDummyInput("").appendField("LM35"+gt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(gt.Msg.MIXLY_TOOLTIP_LM35)}},Sc={init:function(){this.setColour(ac),this.appendValueInput("I2CSUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[gt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[gt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[gt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[gt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[gt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[gt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[gt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[gt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[gt.Msg.HTML_COLOUR+"、"+gt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+gt.Msg.MIXLY_NEXT+"、"+gt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[gt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[gt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[gt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[gt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[gt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ac={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(gt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+gt.Msg.MIXLY_DELAY_TIME_RANGE)}},Lc={init:function(){this.setColour(ac),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RADAR).appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(gt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+gt.Msg.MIXLY_DELAY_TIME_RANGE)}},Nc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(ac),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RADAR).appendField(gt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},fc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Fc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[gt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[gt.Msg.MIXLY_THE_FIRST,"3"],[gt.Msg.MIXLY_THE_SECOND,"4"],[gt.Msg.MIXLY_THE_THIRD,"5"],[gt.Msg.MIXLY_THE_FOURTH,"6"],[gt.Msg.MIXLY_THE_FIFTH,"7"],[gt.Msg.MIXLY_THE_SIXTH,"8"],[gt.Msg.MIXLY_THE_SEVENTH,"9"],[gt.Msg.MIXLY_THE_EIGHTH,"10"],[gt.Msg.MIXLY_THE_NINTH,"11"],[gt.Msg.MIXLY_THE_TENTH,"12"],[gt.Msg.MIXLY_THE_ELEVENTH,"13"],[gt.Msg.MIXLY_THE_TWELFTH,"14"],[gt.Msg.MIXLY_THE_13TH,"15"],[gt.Msg.MIXLY_THE_14TH,"16"],[gt.Msg.MIXLY_THE_15TH,"17"],[gt.Msg.MIXLY_THE_16TH,"18"],[gt.Msg.MIXLY_THE_17TH,"19"],[gt.Msg.MIXLY_THE_18TH,"20"],[gt.Msg.MIXLY_THE_19TH,"21"],[gt.Msg.MIXLY_THE_20TH,"22"],[gt.Msg.MIXLY_Turn_on_the_lights,"23"],[gt.Msg.MIXLY_Turn_off_the_lights,"24"],[gt.Msg.MIXLY_Turn_up_the_brightness,"25"],[gt.Msg.MIXLY_Turn_down_the_brightness,"26"],[gt.Msg.MIXLY_Set_it_to_red,"27"],[gt.Msg.MIXLY_Set_it_to_orange,"28"],[gt.Msg.MIXLY_Set_it_to_yellow,"29"],[gt.Msg.MIXLY_Set_it_to_green,"30"],[gt.Msg.MIXLY_Set_it_to_cyan,"31"],[gt.Msg.MIXLY_Set_it_to_blue,"32"],[gt.Msg.MIXLY_Set_it_to_purple,"33"],[gt.Msg.MIXLY_Set_it_to_white,"34"],[gt.Msg.MIXLY_Turn_on_the_fan,"35"],[gt.Msg.MIXLY_Turn_off_the_fan,"36"],[gt.Msg.MIXLY_First_gear,"37"],[gt.Msg.MIXLY_Wind_speed_second,"38"],[gt.Msg.MIXLY_Third_gear,"39"],[gt.Msg.MIXLY_Previous,"40"],[gt.Msg.MIXLY_Next_page,"41"],[gt.Msg.MIXLY_Show_smiley_face,"42"],[gt.Msg.MIXLY_Show_crying_face,"43"],[gt.Msg.MIXLY_Show_love,"44"],[gt.Msg.MIXLY_Close_display,"45"],[gt.Msg.MIXLY_Start_execution,"46"],[gt.Msg.MIXLY_FORWARD,"47"],[gt.Msg.MIXLY_BACKWARD,"48"],[gt.Msg.MIXLY_TURNLEFT,"49"],[gt.Msg.MIXLY_TURNRIGHT,"50"],[gt.Msg.MIXLY_STOP,"51"],[gt.Msg.MIXLY_Accelerate,"52"],[gt.Msg.MIXLY_retard,"53"],[gt.Msg.ROTATION_FORWARD,"54"],[gt.Msg.ROTATION_BACKWARD,"55"],[gt.Msg.MIXLY_Query_temperature,"56"],[gt.Msg.MIXLY_Query_humidity,"57"],[gt.Msg.MIXLY_Query_brightness,"58"],[gt.Msg.MIXLY_Query_sound,"59"],[gt.Msg.MIXLY_Query_time,"60"],[gt.Msg.MIXLY_Query_distance,"61"],[gt.Msg.MIXLY_Query_pressure,"62"],[gt.Msg.MIXLY_Query_key,"63"],[gt.Msg.MIXLY_Query_touch,"64"],[gt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(gt.Msg.MIXLY_WHETHER+gt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},Pc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[gt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[gt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Yc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MP3_PLAY).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[gt.Msg.MIXLY_WIND_SPEED,"154"],[gt.Msg.MIXLY_HYETAL,"155"],[gt.Msg.MIXLY_TEMPERATURE,"156"],[gt.Msg.MIXLY_Humidity,"157"],[gt.Msg.MIXLY_Altitude,"158"],[gt.Msg.MIXLY_SOUND,"159"],[gt.Msg.MIXLY_BRIGHTNESS,"160"],[gt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[gt.Msg.MIXLY_SERVO,"162"],[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[gt.Msg.MIXLY_BUTTON2,"164"],[gt.Msg.MIXLY_ESP32_TOUCH,"165"],[gt.Msg.MIXLY_PAY,"166"],[gt.Msg.MIXLY_CARSH_CHANGE,"167"],[gt.Msg.MIXLY_COUNTDOWN,"168"],[gt.Msg.MIXLY_TIMING,"169"],[gt.Msg.MIXLY_AT_THE_MOMENT,"170"],[gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[gt.Msg.MIXLY_FORWARD,"172"],[gt.Msg.MIXLY_BACKWARD,"173"],[gt.Msg.MIXLY_TURNLEFT,"174"],[gt.Msg.MIXLY_TURNRIGHT,"175"],[gt.Msg.MIXLY_STOP,"176"],[gt.Msg.MIXLY_Accelerate,"177"],[gt.Msg.MIXLY_retard,"178"],[gt.Msg.ROTATION_FORWARD,"179"],[gt.Msg.ROTATION_BACKWARD,"180"],[gt.Msg.TUPLE_JOIN,"181"],[gt.Msg.MIXLY_SHOW,"182"],[gt.Msg.MIXLY_LAMPLIGHT,"183"],[gt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(gt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(gt.Msg.MIXLY_UNIT).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[gt.Msg.MIXLY_YEAR,"117"],[gt.Msg.MIXLY_MONTH,"118"],[gt.Msg.MIXLY_DAY,"119"],[gt.Msg.MIXLY_HOUR,"120"],[gt.Msg.MIXLY_MINUTE,"121"],[gt.Msg.MIXLY_SECOND,"122"],[gt.Msg.MIXLY_WEEK2,"123"],[gt.Msg.MIXLY_RMB_UNIT,"124"],[gt.Msg.blockpy_setheading_degree,"125"],[gt.Msg.MIXLY_GEAR,"126"],[gt.Msg.MIXLY_LAYER,"127"],[gt.Msg.MIXLY_GRAM,"128"],[gt.Msg.MIXLY_METER,"129"],[gt.Msg.MIXLY_CENTIMETER,"130"],[gt.Msg.MIXLY_MILLIMETER,"131"],[gt.Msg.MIXLY_LUMEN,"132"],[gt.Msg.MIXLY_DECIBEL,"133"],[gt.Msg.MIXLY_hectopascal,"134"],[gt.Msg.MIXLY_PERCENT,"135"],[gt.Msg.MIXLY_CELSIUS,"136"],[gt.Msg.MIXLY_METER_PER_SEC,"137"],[gt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[gt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[gt.Msg.MIXLY_SUCCESS,"140"],[gt.Msg.MIXLY_FAILED,"141"],[gt.Msg.MIXLY_WRONG,"142"],[gt.Msg.MIXLY_GOOD,"143"],[gt.Msg.MIXLY_blockpy_set_add,"144"],[gt.Msg.MIXLY_DECREASE,"145"],[gt.Msg.COLOUR_RGB_RED,"146"],[gt.Msg.COLOUR_RGB_ORANGE,"147"],[gt.Msg.COLOUR_YELLOW,"148"],[gt.Msg.COLOUR_RGB_GREEN,"149"],[gt.Msg.COLOUR_CYAN,"150"],[gt.Msg.COLOUR_RGB_BLUE,"151"],[gt.Msg.COLOUR_RGB_PURPLE,"152"],[gt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.LISTS_SET_INDEX_SET+gt.Msg.MIXLY_SYSTEM+gt.Msg.MIXLY_CMD).appendField(new gt.FieldDropdown([[gt.Msg.MILXY_ENTER_WAKE_UP,"1"],[gt.Msg.MIXLY_INCREASE_VOLUME,"202"],[gt.Msg.MIXLY_REDUCE_VOLUME,"203"],[gt.Msg.MIXLY_MAX_VOLUME,"204"],[gt.Msg.MIXLY_MINIMUM,"205"],[gt.Msg.MIXLY_OPEN_RESPONSE,"206"],[gt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[gt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Xc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[gt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[gt.Msg.MIXLY_ESP32_MAX30102_IR+","+gt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[gt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[gt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},bc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.HTML_COLOUR+gt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET+gt.Msg.HTML_COLOUR,"[2]"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_IR_STRENGTH,"[1]"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.HTML_COLOUR+gt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET+"RGB"+gt.Msg.HTML_COLOUR,"0"],[gt.Msg.MIXLY_GET+gt.Msg.MIXLY_RGB_RAW,"1"],[gt.Msg.MIXLY_GET_ENV_LIGHT+gt.Msg.MIXLY_BRIGHTNESS,"2"],[gt.Msg.GET_IR_STRENGTH+gt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[gt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Gc={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Uc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},wc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},kc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(gt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(gt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MIXGOPE_FIELD+gt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[gt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_shake,"shake"],[gt.Msg.MIXLY_UP,"up"],[gt.Msg.MIXLY_DOWN,"down"],[gt.Msg.MIXLY_LEFT,"left"],[gt.Msg.MIXLY_RIGHT,"right"],[gt.Msg.MIXLY_MICROBIT_face_up,"face up"],[gt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=gt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=gt.Msg.MSG.catSensor,s=gt.Msg.MIXLY_MICROBIT_JS_STATE,_=gt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:gt.Msg.MIXLY_MICROBIT_shake,up:gt.Msg.MIXLY_UP,down:gt.Msg.MIXLY_DOWN,left:gt.Msg.MIXLY_LEFT,right:gt.Msg.MIXLY_RIGHT,"face up":gt.Msg.MIXLY_MICROBIT_face_up,"face down":gt.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},qc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},zc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_GET+gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},jc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+gt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new gt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=gt.Msg.MIXLY_MICROBIT_Direction,s=gt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":gt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},$c={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Zc={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_GETTEMPERATUE)}},tg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return gt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:gt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:gt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},eg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},ig={init:function(){this.setColour(ac),this.appendValueInput("SPISUB").appendField(gt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(gt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP+gt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new gt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},ng={init:function(){this.setColour(ac),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[gt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},sg={init:function(){this.setColour(ac),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},_g={init:function(){this.setColour(ac),this.appendDummyInput().appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},og={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},pg={init:function(){this.setColour(ac),this.appendDummyInput().appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(gt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},ag={init:function(){this.setColour(ac),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_SCAN_OK,"0"],[gt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[gt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ug={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new gt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},rg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},dg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},lg={init:function(){this.setColour(ac),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new gt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},zP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},jP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},$P=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},ZP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},tY=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},eY=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},iY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},nY=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},sY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},_Y=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},oY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},pY=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},aY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},uY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},rY=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},dY=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},lY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},IY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},TY=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},MY=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},hY=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},mY=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},EY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},OY=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},RY=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},cY=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},gY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},CY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},SY=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),_=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},AY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},LY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},NY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},DY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},fY=function(t,e){e.definitions_.import_st7789="import st7789";var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},FY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},PY=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},YY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},vY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},XY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},xY=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},yY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},bY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},VY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},BY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},GY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},UY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},wY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Ct.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},kY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},HY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},WY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},KY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},JY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},QY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},qY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},zY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},jY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},$Y=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},ZY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},tv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},ev=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},iv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},nv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},sv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},_v=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},ov=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},pv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},av=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},uv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},rv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},dv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},lv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},Iv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},Tv=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},$v=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},Zv=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},tX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},eX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},iX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},nX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},sX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},_X=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),o=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},oX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},pX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},aX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},uX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},rX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},dX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},lX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},IX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},TX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},MX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},hX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},mX=function(t,e){var i=Ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},EX=sv,OX=Cv,RX=Rv,cX=Cv,gX=Sv,CX=hv,SX=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},AX=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},LX=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},WG=function(){return"control.reset()\n"},KG=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},JG=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},QG=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},qG=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},zG=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},jG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},$G=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},ZG=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},tU=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},eU=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},iU=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},nU=function(){return"while True:\n pass\n"},sU=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},_U=function(t,e){return e.definitions_.import_os="import os","os.uname()"},oU=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},pU=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},aU=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},uU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},rU=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},dU=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},lU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},IU=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},TU=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},MU=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},hU=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},mU=dU,EU=lU,OU=rU,RU=oU,cU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},gU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},CU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},SU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},AU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},LU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},NU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},DU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},fU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},FU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},PU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},YU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},vU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},XU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},xU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},yU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:bU}=Ct,VU=bU.render(yU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:BU}=Ct,GU=BU.render(yU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:UU}=Ct,wU=UU.render(yU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),kU=new gt.Generator("Python");kU.INDENT=" ",kU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),kU.ORDER_ATOMIC=0,kU.ORDER_COLLECTION=1,kU.ORDER_STRING_CONVERSION=1,kU.ORDER_UNARY_POSTFIX=1,kU.ORDER_UNARY_PREFIX=2,kU.ORDER_MEMBER=2.1,kU.ORDER_FUNCTION_CALL=2.2,kU.ORDER_EXPONENTIATION=3,kU.ORDER_UNARY_SIGN=4,kU.ORDER_BITWISE_NOT=4,kU.ORDER_MULTIPLICATIVE=5,kU.ORDER_ADDITIVE=6,kU.ORDER_BITWISE_SHIFT=7,kU.ORDER_BITWISE_AND=8,kU.ORDER_BITWISE_XOR=9,kU.ORDER_BITWISE_OR=10,kU.ORDER_RELATIONAL=11,kU.ORDER_EQUALITY=11,kU.ORDER_LOGICAL_NOT=12,kU.ORDER_LOGICAL_AND=13,kU.ORDER_LOGICAL_OR=14,kU.ORDER_ASSIGNMENT=14,kU.ORDER_CONDITIONAL=15,kU.ORDER_LAMBDA=16,kU.ORDER_NONE=99,kU.ORDER_OVERRIDES=[[kU.ORDER_FUNCTION_CALL,kU.ORDER_MEMBER],[kU.ORDER_FUNCTION_CALL,kU.ORDER_FUNCTION_CALL],[kU.ORDER_MEMBER,kU.ORDER_MEMBER],[kU.ORDER_MEMBER,kU.ORDER_FUNCTION_CALL]],kU.init=function(){kU.PASS=this.INDENT+"pass\n",kU.definitions_=Object.create(null),kU.functionNames_=Object.create(null),kU.setups_=Object.create(null),kU.loops_=Object.create(null),kU.codeEnd_=Object.create(null),kU.variableDB_?kU.variableDB_.reset():kU.variableDB_=new Nt(kU.RESERVED_WORDS_)},kU.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?e.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in kU.functions_)o.push(kU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in kU.setups_)p.push(kU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in kU.loops_)a.push(kU.loops_[s]);var u=[];for(var s in kU.codeEnd_)u.push(kU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n"),r},kU.scrubNakedValue=function(t){return t+"\n"},kU.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},kU.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},kU.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=gt.utils.string.wrap(_,kU.COMMENT_WRAP-3),n+=kU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const HU={};HU["MixGo CC"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ct.Profile.generate(["0-11","18-21"]),input_pin:Ct.Profile.generate(["0-11","18-21"]),output_pin:Ct.Profile.generate(["0-11","18-21"]),pwm_input:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-11","18-21"]),pwm:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-5"]),analog:Ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-31"]),exlcdv:Ct.Profile.generate(["0-11"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},HU["MixGo ME"]={description:"MicroPython[ESP32C3 MixGo ME]",digital_pin:Ct.Profile.generate(["0-11","18-21"]),input_pin:Ct.Profile.generate(["0-11","18-21"]),output_pin:Ct.Profile.generate(["0-11","18-21"]),pwm_input:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-11","18-21"]),pwm:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-5"]),analog:Ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-7"]),exlcdv:Ct.Profile.generate(["0-4"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},HU["MixGo Car 4.2"]={description:"MicroPython[ESP32]",digital_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["20","20"],["21","21"]],digital:[["pin0","pin0"],["pin1","pin1"],["pin2","pin2"],["pin3","pin3"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin20","pin20"],["pin21","pin21"]],pwm_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["20","20"],["21","21"]],pwm:[["pwm0","pwm0"],["pwm1","pwm1"],["pwm2","pwm2"],["pwm3","pwm3"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm6","pwm6"],["pwm7","pwm7"],["pwm8","pwm8"],["pwm9","pwm9"],["pwm10","pwm10"],["pwm20","pwm20"],["pwm21","pwm21"]],espnow_channel:[["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"]],i2c_A_pin:[["6","6"],["9","9"]],i2c_B_pin:[["7","7"],["10","10"]],spi_A_pin:[["6","6"],["9","9"]],spi_B_pin:[["7","7"],["10","10"]],spi_C_pin:[["9","9"],["20","20"]],spi_D_pin:[["10","10"],["21","21"]],analog_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],analog:[["adc0","adc0"],["adc1","adc1"],["adc2","adc2"],["adc3","adc3"],["adc4","adc4"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],buttonB:[["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["24","24"],["25","25"],["26","26"],["27","27"],["28","28"],["29","29"],["30","30"],["31","31"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","matrix.Image.HEART"],["HEART_SMALL","matrix.Image.HEART_SMALL"],["HAPPY","matrix.Image.HAPPY"],["SAD","matrix.Image.SAD"],["SMILE","matrix.Image.SMILE"],["SILLY","matrix.Image.SILLY"],["FABULOUS","matrix.Image.FABULOUS"],["SURPRISED","matrix.Image.SURPRISED"],["ASLEEP","matrix.Image.ASLEEP"],["ANGRY","matrix.Image.ANGRY"],["CONFUSED","matrix.Image.CONFUSED"],["NO","matrix.Image.NO"],["YES","matrix.Image.YES"],["LEFT_ARROW","matrix.Image.LEFT_ARROW"],["RIGHT_ARROW","matrix.Image.RIGHT_ARROW"],["DRESS","matrix.Image.DRESS"],["TRANSFORMERS","matrix.Image.TRANSFORMERS"],["SCISSORS","matrix.Image.SCISSORS"],["EXIT","matrix.Image.EXIT"],["TREE","matrix.Image.TREE"],["PACMAN","matrix.Image.PACMAN"],["TARGET","matrix.Image.TARGET"],["TSHIRT","matrix.Image.TSHIRT"],["ROLLERSKATE","matrix.Image.ROLLERSKATE"],["DUCK","matrix.Image.DUCK"],["HOUSE","matrix.Image.HOUSE"],["TORTOISE","matrix.Image.TORTOISE"],["BUTTERFLY","matrix.Image.BUTTERFLY"],["STICKFIGURE","matrix.Image.STICKFIGURE"],["GHOST","matrix.Image.GHOST"],["PITCHFORK","matrix.Image.PITCHFORK"],["MUSIC_QUAVERS","matrix.Image.MUSIC_QUAVERS"],["MUSIC_QUAVER","matrix.Image.MUSIC_QUAVER"],["MUSIC_CROTCHET","matrix.Image.MUSIC_CROTCHET"],["COW","matrix.Image.COW"],["RABBIT","matrix.Image.RABBIT"],["SQUARE_SMALL","matrix.Image.SQUARE_SMALL"],["SQUARE","matrix.Image.SQUARE"],["DIAMOND_SMALL","matrix.Image.DIAMOND_SMALL"],["DIAMOND","matrix.Image.DIAMOND"],["CHESSBOARD","matrix.Image.CHESSBOARD"],["TRIANGLE_LEFT","matrix.Image.TRIANGLE_LEFT"],["TRIANGLE","matrix.Image.TRIANGLE"],["SNAKE","matrix.Image.SNAKE"],["UMBRELLA","matrix.Image.UMBRELLA"],["SKULL","matrix.Image.SKULL"],["GIRAFFE","matrix.Image.GIRAFFE"],["SWORD","matrix.Image.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","music.DADADADUM"],["ENTERTAINER","music.ENTERTAINER"],["PRELUDE","music.PRELUDE"],["ODE","music.ODE"],["NYAN","music.NYAN"],["RINGTONE","music.RINGTONE"],["FUNK","music.FUNK"],["BLUES","music.BLUES"],["BIRTHDAY","music.BIRTHDAY"],["WEDDING","music.WEDDING"],["FUNERAL","music.FUNERAL"],["PUNCHLINE","music.PUNCHLINE"],["PYTHON","music.PYTHON"],["BADDY","music.BADDY"],["CHASE","music.CHASE"],["BA_DING","music.BA_DING"],["WAWAWAWAA","music.WAWAWAWAA"],["JUMP_UP","music.JUMP_UP"],["JUMP_DOWN","music.JUMP_DOWN"],["POWER_UP","music.POWER_UP"],["POWER_DOWN","music.POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},HU["ESP32C3 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ct.Profile.generate(["0-11","18-21"]),input_pin:Ct.Profile.generate(["0-11","18-21"]),output_pin:Ct.Profile.generate(["0-11","18-21"]),pwm_input:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:Ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:Ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:Ct.Profile.generate(["1-13"]),haskylens_model:Ct.Profile.generate(["0-4"]),digital:Ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:Ct.Profile.generate(["0-11","18-21"]),pwm:Ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:Ct.Profile.generate(["0-5"]),analog:Ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ct.Profile.generate(["0-4"]),exlcdh:Ct.Profile.generate(["0-31"]),exlcdv:Ct.Profile.generate(["0-11"]),brightness:Ct.Profile.generate(["0-9"]),tts_voice:Ct.Profile.generate(["0-16"]),tts_builtin_music:Ct.Profile.generate(["0-47"]),tts_bgmusic:Ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const WU=HU,KU=20,JU={init:function(){this.setColour(KU),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_HIGH,"HIGH"],[gt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},QU={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(gt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},qU={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},zU={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField("DAC"+gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},jU={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(gt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_mSecond,"period"],[gt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},$U={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_REF_VOLTAGE+gt.Msg.MIXLY_STAT).appendField(new gt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},ZU={init:function(){this.setColour(KU),this.appendValueInput("pin").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(gt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(gt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},tw={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MODE).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[gt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[gt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(gt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},ew={init:function(){this.setColour(20),this.appendDummyInput().appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROPYTHON_AS).appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[gt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[gt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[gt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},iw={init:function(){this.setColour(KU),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("dac#"),"PIN_OBJ").appendField(gt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+gt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},nw={init:function(){this.setColour(KU),this.appendDummyInput("").appendField(gt.Msg.MIXLY_SETUP).appendField(new gt.FieldTextInput("tc#"),"PIN_OBJ").appendField(gt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(gt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(gt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){gt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},sw={init:function(){this.setColour(KU),this.appendValueInput("PIN",Number).appendField("PWM"+gt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(gt.Msg.MIXLY_FREQUENCY+gt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(gt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},_w=ew,ow=nw,pw=ZU,aw=tw,uw=40,rw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput("").appendField(t).appendField(gt.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[gt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:gt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},dw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput("").appendField(t).appendField(gt.Msg.MIXLY_Altitude+gt.Msg.MSG.catSensor+" HP203X").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_GETPRESSURE,"pressure()"],[gt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[gt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},lw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Iw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(gt.Msg.MIXLY_RFID_READ_CARD_UID),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Tw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField("RFID"+gt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(gt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Mw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},hw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField(gt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(gt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(gt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(gt.Msg.RETURN_SUCCESS_OR_NOT),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setOutput(!0),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},mw={init:function(){if("mixgo_me"==Ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(uw),this.appendDummyInput().appendField(t).appendField("RFID"),this.appendDummyInput("").appendField(new gt.FieldDropdown([[gt.Msg.MIXLY_RFID_SCAN_OK,"0"],[gt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[gt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.appendDummyInput().appendField(`(${gt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(gt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Ew=230,Ow={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},Rw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},cw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},Cw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},Sw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Aw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Lw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Nw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Dw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},fw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Fw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Pw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},vw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Xw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},xw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},yw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},bw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},Vw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Bw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Gw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Uw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},ww={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},kw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Hw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},Ww={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Kw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Jw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},Qw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},qw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},zw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},jw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},$w={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Zw={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},tk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},ik={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},sk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},_k={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},ok={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},pk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown(Ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},uk={init:function(){this.setColour(Ew),this.appendDummyInput("").appendField(new gt.FieldDropdown([["0","0"],["1","1"]]),"PIN"),this.setOutput(!0,Number)}},rk=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},dk=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},lk=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},Ik=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Tk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Mk=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},hk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},mk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},Ek=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},Ok=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Rk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,gt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},ck=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_ahtx0."+i+"()",e.ORDER_ATOMIC]},gk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_hp203x."+i,e.ORDER_ATOMIC]},Ck=function(t,e){e.definitions_.import_me_g1="import me_g1";return["me_g1.varistor()",e.ORDER_ATOMIC]},Sk=function(t,e){e.definitions_.import_me_g1="import me_g1";return['me_g1.ext_rc522.read_card(0, x="id")',e.ORDER_ATOMIC]},Ak=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.read_card("+i+")",e.ORDER_ATOMIC]},Lk=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1","me_g1.ext_rc522.write_card("+n+","+i+")\n"},Nk=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.write_card("+n+","+i+")",e.ORDER_ATOMIC]},Dk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.scan_card()=="+i,e.ORDER_ATOMIC]},fk=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},Fk=fk,Pk=fk,Yk=fk,vk=fk,Xk=fk,xk=fk,yk=fk,bk=fk,Vk=fk,Bk=fk,Gk=fk,Uk=fk,wk=fk,kk=fk,Hk=fk,Wk=fk,Kk=fk,Jk=fk,Qk=fk,qk=fk,zk=fk,jk=fk,$k=fk,Zk=fk,tH=fk,eH=fk,iH=fk,nH=fk,sH=fk,_H=fk,oH=fk,pH=fk,aH=fk,uH=fk,rH=fk,dH=fk,lH=fk,IH=fk,TH=fk,MH=fk,hH=fk,mH=fk,EH=fk,OH=fk,RH=fk;Object.assign(gt.Variables,At),Object.assign(gt.Procedures,Uu),Object.assign(gt.Lang.ZhHans,It),Object.assign(gt.Lang.ZhHant,Tt),Object.assign(gt.Lang.En,Mt),gt.Python=wu,gt.generator=wu,Ct.Profile.default={},Object.assign(Ct.Profile,WU),Object.assign(Ct.Profile.default,WU["MixGo CC"]),Object.assign(gt.Blocks,e,i,n,s,_,o,p,a,u,r,d,l,I,V,W,H,X,B,K,f,k,w,G,U,F,D,N,y,x,b,P,Y,v,ht,mt,Et),Object.assign(gt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,st,dt,rt,tt,_t,lt,q,ut,at,ot,pt,z,Q,J,it,et,nt,j,$,Z,Ot,Rt,ct)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c3/main.bundle.77273235.js b/boards/default/micropython_esp32c3/main.bundle.77273235.js deleted file mode 100644 index b6d9c18f..00000000 --- a/boards/default/micropython_esp32c3/main.bundle.77273235.js +++ /dev/null @@ -1,21 +0,0 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Pt,controls_typeLists:()=>Yt,lists_zip:()=>vt,lists_zip_container:()=>Xt,lists_zip_item:()=>xt,unpack_iterable_object:()=>yt,variables_change:()=>ft,variables_get:()=>Nt,variables_global:()=>Ft,variables_set:()=>Dt});var i={};t.r(i),t.d(i,{base_setup:()=>Bt,controls_delay:()=>Gt,controls_end_program:()=>Ut,controls_except:()=>te,controls_finally:()=>ee,controls_flow_statements:()=>Jt,controls_for:()=>Qt,controls_forEach:()=>Ht,controls_for_range:()=>qt,controls_if:()=>wt,controls_if_else:()=>$t,controls_if_elseif:()=>jt,controls_if_if:()=>zt,controls_lambda:()=>ne,controls_main:()=>Vt,controls_pass:()=>se,controls_range:()=>kt,controls_repeat_ext:()=>ie,controls_thread:()=>_e,controls_try:()=>Zt,controls_try_finally:()=>Kt,controls_whileUntil:()=>Wt,datetime_fromtimestamp:()=>de,do_while:()=>oe,garbage_collection:()=>pe,gene_unique_identifier:()=>le,get_mem_alloc:()=>ae,get_mem_free:()=>ue,get_unique_identifier:()=>re});var n={};t.r(n),t.d(n,{base_map:()=>ve,generate_cartesian_product:()=>xe,math_arithmetic:()=>me,math_bit:()=>Oe,math_constant:()=>Me,math_constant_mp:()=>he,math_constrain:()=>Le,math_dec:()=>ce,math_degree_to_radian:()=>be,math_indexer_number:()=>De,math_map:()=>Ne,math_max_min:()=>Ce,math_number:()=>Te,math_number_base_conversion:()=>Se,math_radian_to_degree:()=>ye,math_random:()=>Ae,math_random_seed:()=>fe,math_round:()=>Fe,math_selfcalcu:()=>Ee,math_to_int:()=>ge,math_trig:()=>Re,text_to_number:()=>Pe,text_to_number_skulpt:()=>Ye,turn_to_int:()=>Xe});var s={};t.r(s),t.d(s,{ascii_to_char:()=>He,char_to_ascii:()=>We,number_to_text:()=>Ke,os_system:()=>mi,text:()=>Be,text_bytes:()=>Ue,text_capital:()=>ei,text_center:()=>ii,text_char:()=>we,text_char_at:()=>qe,text_char_at2:()=>Qe,text_char_at3:()=>Ii,text_compareTo:()=>li,text_compare_to:()=>ti,text_create_with_container:()=>ui,text_create_with_item:()=>ri,text_encode:()=>Mi,text_equals_starts_ends:()=>Ze,text_eval:()=>hi,text_find:()=>ni,text_format:()=>ai,text_format_noreturn:()=>Ti,text_join:()=>ke,text_join_seq:()=>si,text_length:()=>Je,text_random_char:()=>ze,text_replace:()=>_i,text_split:()=>oi,text_strip:()=>pi,text_substring:()=>$e,text_substring2:()=>je,text_substring3:()=>di,text_textarea:()=>Ge});var _={};t.r(_),t.d(_,{ENUMERATE:()=>Zi,content_in_lists:()=>en,enumerate:()=>tn,list_many_input:()=>Gi,list_tolist:()=>Hi,list_tolist2:()=>$i,list_trig:()=>bi,lists_2d_get_col_row_data:()=>gi,lists_2d_get_data_with_col_row:()=>ci,lists_append_extend:()=>Di,lists_change_to:()=>Bi,lists_change_to_general:()=>wi,lists_clear:()=>vi,lists_create_with:()=>Ci,lists_create_with2:()=>Wi,lists_create_with_container:()=>Ai,lists_create_with_item:()=>Li,lists_create_with_noreturn:()=>Ui,lists_create_with_text:()=>Si,lists_create_with_text2:()=>Ki,lists_del_general:()=>ki,lists_find:()=>yi,lists_getIndex3:()=>Ji,lists_getSublist3:()=>Qi,lists_get_index:()=>Oi,lists_get_random_item:()=>fi,lists_get_random_sublist:()=>Fi,lists_get_sublist:()=>Ri,lists_insert_value:()=>Pi,lists_insert_value2:()=>zi,lists_pop:()=>xi,lists_remove_at:()=>Xi,lists_remove_at2:()=>ji,lists_reverse:()=>Yi,lists_setIndex3:()=>qi,lists_set_index:()=>Ni,lists_sort:()=>Vi});var o={};t.r(o),t.d(o,{dicts_add_change_del:()=>En,dicts_add_or_change:()=>rn,dicts_clear:()=>In,dicts_create_with:()=>sn,dicts_create_with_container:()=>_n,dicts_create_with_item:()=>on,dicts_create_with_noreturn:()=>cn,dicts_deldict:()=>mn,dicts_delete:()=>dn,dicts_get:()=>an,dicts_get_default:()=>un,dicts_items:()=>Tn,dicts_keys:()=>pn,dicts_length:()=>hn,dicts_pop:()=>On,dicts_setdefault:()=>Rn,dicts_to_json:()=>Cn,dicts_to_json2:()=>Ln,dicts_to_to:()=>An,dicts_todict:()=>gn,dicts_update:()=>ln,dicts_values:()=>Mn,json_to_dicts:()=>Sn});var p={};t.r(p),t.d(p,{logic_boolean:()=>Yn,logic_compare:()=>Dn,logic_compare_continous:()=>fn,logic_is:()=>yn,logic_is_in:()=>xn,logic_negate:()=>Pn,logic_null:()=>vn,logic_operation:()=>Fn,logic_tobool:()=>bn,logic_true_or_false:()=>Xn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>os,sdcard_use_spi_init:()=>_s,storage_can_write_ornot:()=>Kn,storage_change_dir:()=>ns,storage_close_file:()=>Qn,storage_delete_file:()=>zn,storage_file_seek:()=>Zn,storage_file_tell:()=>$n,storage_file_write:()=>wn,storage_fileopen:()=>Bn,storage_fileopen_new:()=>Gn,storage_fileopen_new_encoding:()=>Un,storage_get_a_line:()=>Wn,storage_get_contents:()=>Hn,storage_get_contents_without_para:()=>kn,storage_get_current_dir:()=>ts,storage_get_file_size:()=>jn,storage_get_filename:()=>Jn,storage_is_file:()=>ss,storage_list_all_files:()=>qn,storage_make_dir:()=>es,storage_open_file_with_os:()=>Vn,storage_rename:()=>is});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>ds,procedures_callreturn:()=>ls,procedures_defnoreturn:()=>ps,procedures_defreturn:()=>as,procedures_ifreturn:()=>Is,procedures_mutatorarg:()=>rs,procedures_mutatorcontainer:()=>us,procedures_return:()=>Ts});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Ls,tuple_create_llm_params:()=>xs,tuple_create_with:()=>hs,tuple_create_with_container:()=>ms,tuple_create_with_item:()=>Es,tuple_create_with_noreturn:()=>Fs,tuple_create_with_text2:()=>Os,tuple_create_with_text_return:()=>Rs,tuple_del:()=>Cs,tuple_find:()=>Ns,tuple_getIndex:()=>cs,tuple_getSublist:()=>fs,tuple_get_random_item:()=>Ys,tuple_get_sublist:()=>Ps,tuple_input:()=>Xs,tuple_join:()=>Ss,tuple_length:()=>gs,tuple_max:()=>As,tuple_totuple:()=>vs,tuple_trig:()=>Ds});var d={};t.r(d),t.d(d,{set_add_discard:()=>Ws,set_clear:()=>ws,set_create_with:()=>bs,set_create_with_container:()=>Vs,set_create_with_item:()=>Bs,set_create_with_text_return:()=>Qs,set_length:()=>Gs,set_operate:()=>ks,set_operate_update:()=>Hs,set_pop:()=>Us,set_sub:()=>Ks,set_toset:()=>qs,set_update:()=>Js});var l={};t.r(l),t.d(l,{html_content:()=>t_,html_content_more:()=>e_,html_document:()=>js,html_form:()=>n_,html_head_body:()=>Zs,html_style:()=>i_,html_style_color:()=>__,html_style_content:()=>s_,html_text:()=>o_,html_title:()=>$s});var I={};t.r(I),t.d(I,{attribute_access:()=>R_,function_call:()=>m_,function_call_container:()=>E_,function_call_item:()=>O_,raw_block:()=>u_,raw_empty:()=>d_,raw_expression:()=>r_,raw_table:()=>a_,text_comment:()=>l_,text_print_multiple:()=>T_,text_print_multiple_container:()=>M_,text_print_multiple_item:()=>h_,type_check:()=>I_});var T={};t.r(T),t.d(T,{controls_type:()=>A_,controls_typeLists:()=>L_,lists_zip:()=>N_,unpack_iterable_object:()=>D_,variables_change:()=>C_,variables_get:()=>c_,variables_global:()=>S_,variables_set:()=>g_});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>V_,base_setup:()=>F_,controls_delay:()=>b_,controls_flow_statements:()=>y_,controls_for:()=>v_,controls_forEach:()=>k_,controls_for_range:()=>X_,controls_if:()=>P_,controls_interrupts:()=>U_,controls_lambda:()=>W_,controls_main:()=>f_,controls_millis:()=>B_,controls_nointerrupts:()=>w_,controls_pass:()=>J_,controls_range:()=>H_,controls_repeat:()=>eo,controls_repeat_ext:()=>z_,controls_thread:()=>Q_,controls_try_finally:()=>Y_,controls_whileUntil:()=>x_,datetime_fromtimestamp:()=>io,do_while:()=>q_,garbage_collection:()=>j_,gene_unique_identifier:()=>no,get_mem_alloc:()=>$_,get_mem_free:()=>Z_,get_unique_identifier:()=>to,reset:()=>G_,time_sleep:()=>K_});var h={};t.r(h),t.d(h,{base_map:()=>Ao,generate_cartesian_product:()=>No,math_arithmetic:()=>ao,math_bit:()=>po,math_constant:()=>_o,math_constant_mp:()=>oo,math_constrain:()=>Eo,math_dec:()=>Io,math_degree_to_radian:()=>fo,math_indexer_number:()=>co,math_map:()=>mo,math_max_min:()=>Mo,math_number:()=>so,math_number_base_conversion:()=>Oo,math_radian_to_degree:()=>Do,math_random:()=>ho,math_random_seed:()=>Ro,math_round:()=>go,math_selfcalcu:()=>uo,math_single:()=>ro,math_to_int:()=>To,math_trig:()=>lo,text_to_number:()=>Co,text_to_number_skulpt:()=>So,turn_to_int:()=>Lo});var m={};t.r(m),t.d(m,{ascii_to_char:()=>xo,char_to_ascii:()=>yo,number_to_text:()=>bo,os_system:()=>op,text:()=>Fo,text_bytes:()=>Yo,text_capital:()=>Ko,text_center:()=>Jo,text_char:()=>vo,text_char_at:()=>Go,text_char_at2:()=>Bo,text_char_at3:()=>np,text_compareTo:()=>ip,text_compare_to:()=>ko,text_encode:()=>sp,text_equals_starts_ends:()=>wo,text_eval:()=>_p,text_find:()=>Qo,text_format:()=>Zo,text_format_noreturn:()=>tp,text_join:()=>Xo,text_join_seq:()=>qo,text_length:()=>Vo,text_random_char:()=>Uo,text_replace:()=>zo,text_split:()=>jo,text_strip:()=>$o,text_substring:()=>Wo,text_substring2:()=>Ho,text_substring3:()=>ep,text_textarea:()=>Po});var E={};t.r(E),t.d(E,{content_in_lists:()=>Gp,enumerate:()=>Bp,list_many_input:()=>Lp,list_tolist:()=>bp,list_tolist2:()=>Vp,list_trig:()=>Cp,lists_2d_get_col_row_data:()=>up,lists_2d_get_data_with_col_row:()=>ap,lists_append_extend:()=>Tp,lists_change_to:()=>Ap,lists_change_to_general:()=>Dp,lists_clear:()=>Op,lists_create_with:()=>rp,lists_create_with2:()=>Fp,lists_create_with_noreturn:()=>Np,lists_create_with_text:()=>dp,lists_create_with_text2:()=>Pp,lists_del_general:()=>fp,lists_find:()=>Rp,lists_getIndex3:()=>Yp,lists_getSublist3:()=>vp,lists_get_index:()=>lp,lists_get_random_item:()=>Mp,lists_get_random_sublist:()=>hp,lists_get_sublist:()=>pp,lists_insert_value:()=>mp,lists_insert_value2:()=>xp,lists_pop:()=>gp,lists_remove_at:()=>cp,lists_remove_at2:()=>yp,lists_reverse:()=>Ep,lists_setIndex3:()=>Xp,lists_set_index:()=>Ip,lists_sort:()=>Sp});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>Zp,dicts_add_or_change:()=>Wp,dicts_clear:()=>Qp,dicts_create_with:()=>Up,dicts_create_with_noreturn:()=>ia,dicts_deldict:()=>$p,dicts_delete:()=>Kp,dicts_get:()=>kp,dicts_get_default:()=>Hp,dicts_items:()=>qp,dicts_keys:()=>wp,dicts_length:()=>jp,dicts_pop:()=>ta,dicts_setdefault:()=>ea,dicts_to_json:()=>sa,dicts_to_json2:()=>pa,dicts_to_to:()=>oa,dicts_todict:()=>na,dicts_update:()=>Jp,dicts_values:()=>zp,json_to_dicts:()=>_a});var R={};t.r(R),t.d(R,{logic_boolean:()=>la,logic_compare:()=>aa,logic_compare_continous:()=>ua,logic_is:()=>ha,logic_is_in:()=>Ma,logic_negate:()=>da,logic_null:()=>Ia,logic_operation:()=>ra,logic_tobool:()=>ma,logic_true_or_false:()=>Ta});var c={};t.r(c),t.d(c,{sdcard_mount:()=>Ga,sdcard_use_spi_init:()=>Ba,storage_can_write_ornot:()=>La,storage_change_dir:()=>Xa,storage_close_file:()=>Da,storage_delete_file:()=>Fa,storage_file_seek:()=>va,storage_file_tell:()=>Ya,storage_file_write:()=>ga,storage_fileopen:()=>Oa,storage_fileopen_new:()=>Ra,storage_fileopen_new_encoding:()=>ca,storage_get_a_line:()=>Aa,storage_get_contents:()=>Sa,storage_get_contents_without_para:()=>Ca,storage_get_current_dir:()=>xa,storage_get_file_size:()=>Pa,storage_get_filename:()=>Na,storage_is_file:()=>Va,storage_list_all_files:()=>fa,storage_make_dir:()=>ya,storage_open_file_with_os:()=>Ea,storage_rename:()=>ba});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Ha,procedures_callreturn:()=>ka,procedures_defnoreturn:()=>wa,procedures_defreturn:()=>Ua,procedures_ifreturn:()=>Wa,procedures_return:()=>Ka});var C={};t.r(C),t.d(C,{tuple_change_to:()=>eu,tuple_create_llm_params:()=>ru,tuple_create_with:()=>Ja,tuple_create_with_noreturn:()=>_u,tuple_create_with_text2:()=>Qa,tuple_create_with_text_return:()=>qa,tuple_del:()=>$a,tuple_find:()=>iu,tuple_getIndex:()=>za,tuple_getSublist:()=>su,tuple_get_random_item:()=>pu,tuple_get_sublist:()=>ou,tuple_input:()=>uu,tuple_join:()=>Za,tuple_length:()=>ja,tuple_max:()=>tu,tuple_totuple:()=>au,tuple_trig:()=>nu});var S={};t.r(S),t.d(S,{set_add_discard:()=>mu,set_clear:()=>Tu,set_create_with:()=>du,set_create_with_text_return:()=>Ru,set_length:()=>lu,set_operate:()=>Mu,set_operate_update:()=>hu,set_pop:()=>Iu,set_sub:()=>Eu,set_toset:()=>cu,set_update:()=>Ou});var A={};t.r(A),t.d(A,{html_content:()=>Au,html_content_more:()=>Lu,html_document:()=>gu,html_form:()=>Du,html_head_body:()=>Su,html_style:()=>Nu,html_style_content:()=>fu,html_text:()=>Fu,html_title:()=>Cu});var L={};t.r(L),t.d(L,{attribute_access:()=>bu,function_call:()=>yu,raw_block:()=>Pu,raw_empty:()=>vu,raw_expression:()=>Yu,raw_table:()=>Xu,type_check:()=>xu});var N={};t.r(N),t.d(N,{PIN_init:()=>Hr,actuator_extern_get_led_bright:()=>Zu,actuator_extern_get_led_state:()=>tr,actuator_extern_led_bright:()=>$u,actuator_extern_led_brightness:()=>er,actuator_ms32006_dcmotor:()=>rr,actuator_ms32006_init:()=>ur,actuator_ms32006_stepper:()=>dr,actuator_neopixel_init:()=>lr,actuator_neopixel_rgb:()=>Ir,actuator_neopixel_rgb_all:()=>Tr,actuator_neopixel_rgb_show_all_chase:()=>mr,actuator_neopixel_rgb_show_all_rainbow:()=>hr,actuator_neopixel_write:()=>Mr,actuator_use_uart_init:()=>Er,backstage_esp32_music_play_list:()=>Ku,esp32_music_get_tempo_extern:()=>Qu,esp32_music_pitch:()=>ku,esp32_music_pitch_init:()=>wu,esp32_music_pitch_with_time:()=>Hu,esp32_music_play_list:()=>Wu,esp32_music_reset_extern:()=>qu,esp32_music_set_tempo_extern:()=>Ju,esp32_music_stop:()=>zu,esp32_set_music_volume:()=>ju,mixbot_actuator_extern_get_addr:()=>wr,mixbot_actuator_extern_set_addr:()=>kr,mixbot_addr_extern:()=>fr,parrot_PIN_init:()=>Qr,parrot_move_speed:()=>qr,pin_led_bright:()=>Wr,player_insert_music:()=>Sr,player_play_music:()=>Cr,player_set_mode:()=>gr,player_set_play:()=>Rr,player_set_volume:()=>cr,player_whether_stop:()=>Or,robot_led_extern:()=>vr,robot_led_extern_get_value:()=>Xr,robot_motor_extern:()=>Fr,robot_motor_extern_get_speed:()=>Pr,robot_servo_extern_absolute_run:()=>Vr,robot_servo_extern_get_status:()=>xr,robot_servo_extern_relative_continue:()=>Ur,robot_servo_extern_relative_origin:()=>Br,robot_servo_extern_relative_run:()=>Gr,robot_servo_extern_stop:()=>br,robot_servo_extern_stop_mode:()=>yr,robot_traffic_light_extern:()=>Yr,servo_PIN_init:()=>Kr,servo_get_angle:()=>pr,servo_get_speed:()=>ar,servo_init:()=>ir,servo_move:()=>nr,servo_move_angle:()=>Jr,servo_set_angle:()=>_r,servo_set_speed:()=>or,servo_speed_360:()=>sr,syn6288_builtin_voice:()=>Nr,syn6288_get_voice:()=>Lr,syn6288_set_voice:()=>Ar,syn6288_tts_play:()=>Dr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Dd,actuator_dc_motor_stop:()=>fd,actuator_get_led_bright:()=>td,actuator_get_led_state:()=>ed,actuator_led_bright:()=>Zr,actuator_led_brightness:()=>id,actuator_mixbot_buzzer_on_off:()=>Xd,actuator_mixgo_nova_mic_get:()=>Bd,actuator_mixgo_nova_mic_set:()=>Vd,actuator_mixgo_nova_onboard_music_pitch:()=>Wd,actuator_mixgo_nova_onboard_music_stop:()=>Kd,actuator_mixgo_nova_play_audio:()=>kd,actuator_mixgo_nova_play_online_audio:()=>Hd,actuator_mixgo_nova_record_audio:()=>wd,actuator_mixgo_nova_voice_get:()=>Ud,actuator_mixgo_nova_voice_set:()=>Gd,actuator_mixgo_zero_led_color:()=>nd,actuator_onboard_neopixel_rgb:()=>ud,actuator_onboard_neopixel_rgb_all:()=>rd,actuator_onboard_neopixel_rgb_show_all_chase:()=>ld,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>dd,actuator_onboard_neopixel_write:()=>Id,actuator_rm_onboard_neopixel_rgb:()=>Td,actuator_rm_onboard_neopixel_rgb_all:()=>Md,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>hd,actuator_stepper_keep:()=>Ld,actuator_stepper_stop:()=>Nd,analog_ble_keyboard_init:()=>_l,analog_ble_keyboard_input:()=>al,analog_ble_keyboard_mouse_init:()=>hl,analog_ble_keyboard_mouse_input:()=>Rl,analog_ble_keyboard_mouse_send_battery:()=>Ol,analog_ble_keyboard_mouse_str:()=>cl,analog_ble_keyboard_send_battery:()=>rl,analog_ble_keyboard_str:()=>ul,analog_ble_mouse_init:()=>dl,analog_ble_mouse_input:()=>Tl,analog_ble_mouse_keyboard_input:()=>gl,analog_ble_mouse_send_battery:()=>Ml,analog_keyboard_input:()=>zd,analog_keyboard_str:()=>sl,analog_mouse_input:()=>il,backstage_onboard_music_play_list:()=>Sd,bitbot_motor:()=>bd,bitbot_move:()=>xd,bitbot_stop:()=>yd,ble_keyboard_connect:()=>pl,ble_keyboard_get_mac:()=>ol,ble_keyboard_mouse_connect:()=>El,ble_keyboard_mouse_get_mac:()=>ml,ble_mouse_connect:()=>Il,ble_mouse_get_mac:()=>ll,cc_number:()=>ad,educore_ble_keyboard_input:()=>Yl,educore_ble_sensor_connected:()=>Pl,educore_ble_sensor_init:()=>Fl,educore_buzzer:()=>Cl,educore_buzzer_play_tone:()=>Sl,educore_buzzer_play_tone_time:()=>Al,educore_buzzer_stop:()=>Ll,educore_neopixel_clear:()=>fl,educore_neopixel_rgb:()=>Dl,educore_rgb_light:()=>Nl,esp32_music_get_tempo:()=>Ed,esp32_music_reset:()=>Od,esp32_music_set_tempo:()=>md,esp32_onboard_music_pitch:()=>Rd,esp32_onboard_music_pitch_with_time:()=>cd,esp32_onboard_music_play_list:()=>Cd,esp32_onboard_music_stop:()=>gd,general_key:()=>$d,general_key_tuple:()=>Zd,generalkey_container:()=>tl,generalkey_create_with_item:()=>el,get_keyboard_light:()=>vl,get_power_output:()=>Qd,ledswitch:()=>$r,mixbot_motor:()=>vd,mixbot_motor_status:()=>Fd,mixbot_move:()=>Pd,mixbot_stop:()=>Yd,mouse_key:()=>nl,number:()=>jr,record_audio:()=>xl,rm_actuator_get_led_bright:()=>_d,rm_actuator_get_led_state:()=>od,rm_actuator_led_bright:()=>sd,rm_actuator_led_brightness:()=>pd,rm_motor:()=>Ad,set_all_power_output:()=>qd,set_microphone_amplification:()=>Xl,set_music_volume:()=>yl,set_power_output:()=>Jd,special_key:()=>jd});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>hI,ai_sensor_ailocal_class:()=>_I,ai_sensor_ailocal_class_result:()=>oI,ai_sensor_ailocal_train:()=>sI,ai_sensor_asr_recognize:()=>dI,ai_sensor_audio_play:()=>aI,ai_sensor_audio_record:()=>pI,ai_sensor_barcode:()=>Hl,ai_sensor_circle:()=>zl,ai_sensor_classifier_faces:()=>MI,ai_sensor_color:()=>tI,ai_sensor_color_chases:()=>nI,ai_sensor_color_chases_result:()=>iI,ai_sensor_config:()=>wl,ai_sensor_face:()=>TI,ai_sensor_find_20objects:()=>mI,ai_sensor_find_barcodes:()=>Wl,ai_sensor_find_circles:()=>jl,ai_sensor_find_colors:()=>eI,ai_sensor_find_licenseplates:()=>II,ai_sensor_find_lines:()=>ql,ai_sensor_find_qrcodes:()=>Ul,ai_sensor_find_rects:()=>Zl,ai_sensor_find_tags:()=>Jl,ai_sensor_licenseplate:()=>lI,ai_sensor_line:()=>Ql,ai_sensor_qrcode:()=>Bl,ai_sensor_qrcode_lite:()=>Gl,ai_sensor_rect:()=>$l,ai_sensor_rgb:()=>kl,ai_sensor_tag:()=>Kl,ai_sensor_use_uart_init:()=>Vl,ai_sensor_yolo_recognize:()=>uI,ai_sensor_yolo_recognize_result:()=>rI});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>RI,MICROPYTHON_AI_Speech_unit:()=>OI,MICROPYTHON_AI_client:()=>EI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>xI,mpython_blynk_app_notify:()=>DI,mpython_blynk_email:()=>PI,mpython_blynk_get_timers:()=>YI,mpython_blynk_on_connected:()=>AI,mpython_blynk_on_disconnected:()=>SI,mpython_blynk_run:()=>NI,mpython_blynk_sensor_data_to_app:()=>XI,mpython_blynk_set_property:()=>FI,mpython_blynk_setup:()=>yI,mpython_blynk_stop_timers:()=>fI,mpython_blynk_sync_virtual:()=>CI,mpython_blynk_terminal_widget_vpin:()=>gI,mpython_blynktimer:()=>vI,mpython_blynktimer_run:()=>LI});var Y={};t.r(Y),t.d(Y,{cc_g1_init:()=>bI,cc_g1_read_bat:()=>VI,cc_g1_read_joystick:()=>BI,cc_g1_read_key:()=>GI,cc_g1_turnoff:()=>UI});var v={};t.r(v),t.d(v,{ce_go_dc_motor:()=>zI,ce_go_get_led_bright:()=>WI,ce_go_get_led_state:()=>KI,ce_go_hall_attachInterrupt:()=>jI,ce_go_hall_data:()=>ZI,ce_go_hall_initialize:()=>$I,ce_go_led_bright:()=>HI,ce_go_led_brightness:()=>JI,ce_go_light_number:()=>kI,ce_go_pin_light:()=>sT,ce_go_pin_near:()=>eT,ce_go_pin_near_line:()=>tT,ce_go_pin_near_state_change:()=>iT,ce_go_stepper_keep:()=>QI,ce_go_stepper_stop:()=>qI,educore_car:()=>_T,educore_car_pin_near:()=>uT,educore_car_pin_near_line:()=>aT,educore_car_stepper_keep:()=>oT,educore_car_stepper_stop:()=>pT,sensor_mixgome_eulerangles:()=>nT});var X={};t.r(X),t.d(X,{communicate_bluetooth_central_init:()=>WT,communicate_bluetooth_connect:()=>qT,communicate_bluetooth_disconnect:()=>zT,communicate_bluetooth_handle:()=>eM,communicate_bluetooth_is_connected:()=>$T,communicate_bluetooth_mac:()=>QT,communicate_bluetooth_peripheral_init:()=>KT,communicate_bluetooth_recv:()=>ZT,communicate_bluetooth_recv_only:()=>tM,communicate_bluetooth_scan:()=>JT,communicate_bluetooth_send:()=>jT,communicate_espnow_init:()=>iM,communicate_espnow_init_new:()=>nM,communicate_i2c_available:()=>NT,communicate_i2c_init:()=>IT,communicate_i2c_master_read:()=>LT,communicate_i2c_onboard:()=>dT,communicate_i2c_read:()=>TT,communicate_i2c_scan:()=>hT,communicate_i2c_write:()=>MT,communicate_ir_recv_init:()=>xT,communicate_ir_send_init:()=>GT,communicate_ow_init:()=>fT,communicate_ow_read:()=>PT,communicate_ow_reset:()=>XT,communicate_ow_scan:()=>FT,communicate_ow_select:()=>vT,communicate_ow_write:()=>YT,communicate_spi_buffer:()=>OT,communicate_spi_init:()=>mT,communicate_spi_onboard:()=>lT,communicate_spi_read:()=>RT,communicate_spi_read_output:()=>cT,communicate_spi_readinto:()=>gT,communicate_spi_readinto_output:()=>CT,communicate_spi_set:()=>ET,communicate_spi_write:()=>ST,communicate_spi_write_readinto:()=>AT,espnow_radio_channel:()=>uM,espnow_radio_channel_new:()=>dM,espnow_radio_on_off:()=>lM,espnow_radio_rec:()=>TM,espnow_radio_recv:()=>hM,espnow_radio_recv_certain_msg:()=>mM,espnow_radio_recv_certain_msg_new:()=>OM,espnow_radio_recv_msg:()=>MM,espnow_radio_recv_new:()=>EM,espnow_radio_send:()=>IM,espnow_radio_txpower:()=>rM,i2c_available:()=>UM,i2c_init:()=>NM,i2c_master_reader2:()=>GM,i2c_read:()=>DM,i2c_scan:()=>FM,i2c_slave_onreceive:()=>DT,i2c_write:()=>fM,internal_variable:()=>yT,ir_recv_timeout:()=>BT,ir_transmit_busy:()=>HT,ir_transmit_conventional_data:()=>UT,ir_transmit_raw_code:()=>kT,ir_transmit_study_code:()=>wT,ir_whether_recv:()=>VT,lora_init:()=>RM,lora_packet:()=>cM,lora_recv:()=>CM,lora_send:()=>gM,network_espnow_info:()=>_M,network_espnow_mac:()=>sM,network_espnow_recv:()=>oM,network_espnow_recv_handle:()=>aM,network_espnow_send:()=>pM,recv_fun:()=>bT,spi_buffer:()=>vM,spi_init:()=>PM,spi_read:()=>XM,spi_read_output:()=>xM,spi_readinto:()=>yM,spi_readinto_output:()=>bM,spi_set:()=>YM,spi_write:()=>VM,spi_write_readinto:()=>BM,urequests_attribute:()=>AM,urequests_get:()=>SM,urequests_method:()=>LM});var x={};t.r(x),t.d(x,{display_animate:()=>Oh,display_blink_rate:()=>Mh,display_circle:()=>Rh,display_color_seclet:()=>Yh,display_draw_4strings:()=>uh,display_fill:()=>Eh,display_get_screen_image:()=>Th,display_help:()=>gh,display_image_size:()=>rh,display_lcd_use_i2c_init:()=>Vh,display_line:()=>lh,display_line_arbitrarily:()=>Ih,display_matrix_extern_bright_point:()=>eh,display_matrix_extern_bright_screen:()=>nh,display_matrix_extern_clear:()=>sh,display_matrix_extern_get_pixel:()=>th,display_matrix_extern_get_screen_pixel:()=>ih,display_matrix_extern_image_builtins:()=>_h,display_matrix_extern_scroll_string:()=>qM,display_matrix_extern_scroll_string_delay:()=>zM,display_matrix_extern_shift:()=>ZM,display_matrix_extern_show_frame_string:()=>jM,display_matrix_extern_show_frame_string_delay:()=>$M,display_matrix_extern_show_image:()=>JM,display_matrix_extern_show_image_or_string_delay:()=>QM,display_matrix_use_i2c_init:()=>KM,display_oled_drawPixel:()=>Sh,display_oled_showBitmap:()=>Ch,display_oled_use_i2c_init:()=>kh,display_onoff:()=>mh,display_rect:()=>dh,display_rgb_color:()=>hh,display_tm1650_power:()=>Lh,display_tm1650_set_brightness:()=>fh,display_tm1650_show_dot:()=>Dh,display_tm1650_show_num:()=>Nh,display_tm_use_i2c_init:()=>Ah,display_triangle:()=>ch,display_use_i2c_init:()=>ah,extern_oled_bright_point:()=>tm,extern_oled_clear:()=>em,extern_oled_get_pixel:()=>Zh,extern_oled_hvline:()=>nm,extern_oled_line:()=>sm,extern_oled_scroll_string:()=>Qh,extern_oled_scroll_string_delay:()=>qh,extern_oled_shape_rect:()=>im,extern_oled_shift:()=>$h,extern_oled_show_frame_string:()=>zh,extern_oled_show_frame_string_delay:()=>jh,extern_oled_show_image:()=>Hh,extern_oled_show_image_or_string_delay:()=>Jh,extern_oled_show_image_xy:()=>Wh,extern_oled_show_string:()=>Kh,lcd_backlight:()=>Uh,lcd_clear:()=>wh,lcd_print_string:()=>Gh,lcd_show_image_or_string_delay:()=>Bh,matrix_extern_image_arithmetic:()=>oh,matrix_extern_image_invert:()=>ph,tft_fill:()=>yh,tft_line_arbitrarily:()=>bh,tft_scroll_string_delay:()=>Xh,tft_show_frame_string_delay:()=>xh,tft_show_image_or_string_delay:()=>vh,tft_show_image_xy:()=>Ph,tft_use_spi_init:()=>Fh});var y={};t.r(y),t.d(y,{bitbot_display_bitmap_create:()=>$m,bitbot_display_image_create:()=>jm,display_available:()=>Lm,display_bitmap_create:()=>Mm,display_bright_point:()=>gm,display_bright_screen:()=>Sm,display_clear:()=>Am,display_get_pixel:()=>cm,display_get_screen_pixel:()=>Cm,display_image_builtins:()=>hm,display_image_builtins_all:()=>mm,display_image_create:()=>Tm,display_scroll_string:()=>am,display_scroll_string_delay:()=>um,display_scroll_way:()=>rm,display_shift:()=>Rm,display_show_frame_string:()=>lm,display_show_frame_string_delay:()=>Im,display_show_image:()=>om,display_show_image_or_string_delay:()=>pm,draw_pointer:()=>ME,image_arithmetic:()=>Em,image_invert:()=>Om,mixbot_display_bitmap_create:()=>Km,mixbot_display_bright_screen:()=>qm,mixbot_display_get_ambientbright:()=>Qm,mixbot_display_get_screen_pixel:()=>Jm,mixbot_display_image_create:()=>Wm,mixbot_display_rotate:()=>zm,mixgo_display_bitmap_create:()=>Ym,mixgo_display_image_create_new:()=>Pm,mixgome_display_bitmap_create:()=>Dm,mixgome_display_font:()=>vm,mixgome_display_image_create:()=>Nm,mixgomini_display_bitmap_create:()=>Fm,mixgomini_display_image_create:()=>fm,mpython_display_hvline:()=>wm,mpython_display_line:()=>km,mpython_display_shape_rect:()=>Um,mpython_pbm_image:()=>Hm,nova_draw_pointer:()=>hE,onboard_oled_bright_point:()=>Gm,onboard_oled_scroll_string_delay:()=>Vm,onboard_oled_show_frame_string_delay:()=>Bm,onboard_oled_show_image:()=>Xm,onboard_oled_show_image_or_string_delay:()=>bm,onboard_oled_show_image_xy:()=>xm,onboard_oled_show_string:()=>ym,onboard_tft_bright_point:()=>pE,onboard_tft_bright_screen:()=>AE,onboard_tft_clear:()=>LE,onboard_tft_clock_clear:()=>IE,onboard_tft_clock_draw:()=>lE,onboard_tft_clock_get_rtctime:()=>rE,onboard_tft_clock_init:()=>uE,onboard_tft_clock_set_time:()=>dE,onboard_tft_display_hvline:()=>sE,onboard_tft_display_line:()=>_E,onboard_tft_display_shape_circle:()=>TE,onboard_tft_display_shape_rect:()=>nE,onboard_tft_fill:()=>aE,onboard_tft_get_pixel:()=>oE,onboard_tft_get_screen_pixel:()=>SE,onboard_tft_scroll_string:()=>cE,onboard_tft_scroll_string_delay:()=>dm,onboard_tft_shift:()=>CE,onboard_tft_show_frame_string:()=>gE,onboard_tft_show_frame_string_delay:()=>iE,onboard_tft_show_image:()=>RE,onboard_tft_show_image_or_string_delay:()=>eE,onboard_tft_show_image_xy:()=>Zm,onboard_tft_show_image_xy_direct:()=>tE,onboard_tft_show_qrcode:()=>EE,onboard_tft_show_qrcode_details:()=>OE,onboard_tft_show_texts:()=>mE});var b={};t.r(b),t.d(b,{factory_block:()=>HE,factory_block_return:()=>WE,factory_block_return_with_textarea:()=>JE,factory_block_with_textarea:()=>KE,factory_callMethod_noreturn:()=>wE,factory_callMethod_return:()=>kE,factory_create_with_container:()=>VE,factory_create_with_item:()=>BE,factory_declare:()=>UE,factory_from_import:()=>xE,factory_function_noreturn:()=>bE,factory_function_return:()=>GE,factory_import:()=>yE,folding_block:()=>QE});var V={};t.r(V),t.d(V,{controls_pin_attachInterrupt:()=>hO,inout_analog_atten:()=>sO,inout_analog_read:()=>nO,inout_analog_read_init:()=>rO,inout_analog_write:()=>tO,inout_analog_write_init:()=>uO,inout_analog_write_set:()=>eO,inout_analog_write_set_freq:()=>IO,inout_digital_init:()=>pO,inout_digital_read:()=>$E,inout_digital_write:()=>jE,inout_highlow:()=>zE,inout_pinMode:()=>lO,inout_pin_attachInterrupt:()=>oO,inout_pin_pressed:()=>_O,inout_pin_pressed_init:()=>dO,inout_pwm_analog_write:()=>ZE,inout_pwm_analog_write_init:()=>aO,inout_pwm_analog_write_set_freq:()=>iO,pin_pressed:()=>MO,pin_pressed_init:()=>TO});var B={};t.r(B),t.d(B,{IOT_CONNECT_OLLAMA:()=>tR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>UO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>GO,IOT_EMQX_PING:()=>VO,IOT_FORMATTING:()=>yO,IOT_FORMAT_STRING:()=>bO,IOT_MIXIO_NTP:()=>BO,IOT_MIXIO_PUBLISH:()=>DO,IOT_MIXIO_PUBLISHEX:()=>fO,IOT_MIXIO_SUBSCRIBE:()=>FO,iot_checkonenet:()=>jO,iot_client_onboard:()=>kO,iot_connect_ollama:()=>ZO,iot_connect_openai:()=>eR,iot_create_with_item:()=>LO,iot_http_client:()=>HO,iot_http_data:()=>WO,iot_mixio_check:()=>vO,iot_mixio_connect:()=>NO,iot_mixio_connect_only:()=>YO,iot_mixio_disconnect:()=>PO,iot_mixio_format_msg:()=>xO,iot_mixio_format_topic:()=>XO,iot_mixly_key:()=>wO,iot_mqtt_client:()=>KO,iot_mqtt_data:()=>JO,iot_onenet_check:()=>cO,iot_onenet_connect:()=>OO,iot_onenet_disconnect:()=>RO,iot_onenet_publish:()=>CO,iot_onenet_publish_dict:()=>gO,iot_onenetconnect:()=>qO,iot_onenetdisconnect:()=>zO,iot_publish:()=>$O,iot_publish_container:()=>SO,iot_publish_item:()=>AO,iot_tiny_web_db_count:()=>uR,iot_tiny_web_db_delete:()=>dR,iot_tiny_web_db_get:()=>aR,iot_tiny_web_db_init:()=>_R,iot_tiny_web_db_init_with_mqtt:()=>oR,iot_tiny_web_db_search:()=>rR,iot_tiny_web_db_update:()=>pR,iot_wifi_connect:()=>EO,iot_wificonnect:()=>QO,ollama_empty_history:()=>sR,use_ollama_llm_to_chat:()=>iR,use_ollama_llm_to_chat_return:()=>nR});var G={};t.r(G),t.d(G,{educore_mqtt_connect:()=>WR,educore_mqtt_connect_success:()=>qR,educore_mqtt_subscribe_message:()=>KR,educore_mqtt_topic_publish:()=>QR,educore_mqtt_topic_subscribe:()=>JR,educore_wifi_connect:()=>HR,network_ap_connect:()=>gR,network_connect:()=>mR,network_get_connect:()=>OR,network_get_wifi:()=>cR,network_init:()=>IR,network_is_active:()=>MR,network_open:()=>TR,network_scan:()=>hR,network_server:()=>CR,network_socket_accept:()=>DR,network_socket_bind:()=>AR,network_socket_close:()=>XR,network_socket_connect:()=>LR,network_socket_init:()=>SR,network_socket_listen:()=>NR,network_socket_readline:()=>fR,network_socket_receive:()=>FR,network_socket_receive_from:()=>YR,network_socket_send:()=>PR,network_socket_send_to:()=>vR,network_stop:()=>RR,network_wifi_connect:()=>ER,ntptime_address:()=>BR,ntptime_time:()=>VR,requests_attribute:()=>yR,requests_attribute2:()=>kR,requests_get:()=>xR,requests_get2:()=>UR,requests_method:()=>bR,requests_post:()=>wR});var U={};t.r(U),t.d(U,{CI130X_BROADCAST:()=>Rc,CI130X_GET_THE_RECOGNIZED_CMD:()=>Oc,CI130X_GET_WHETHER_IDENTIFY:()=>Ec,CI130X_IDENTIFY_AND_SAVE:()=>mc,CI130X_SET_SYSTEM_CMD:()=>cc,HCSR04:()=>ug,PS2_Button:()=>Ig,PS2_Buttons:()=>Mg,PS2_Buttons_new:()=>Og,PS2_State:()=>Tg,PS2_init:()=>rg,PS2_init_new:()=>mg,PS2_stk:()=>hg,PS2_stk_new:()=>Rg,PS2_vibration:()=>lg,PS2_vibration_new:()=>Eg,camera_sensor_init:()=>zg,camera_sensor_result:()=>jg,column_tube_foot:()=>iC,define_keyboards:()=>nC,educore_body_sensor:()=>Gg,educore_button_sensor_extern:()=>Hg,educore_camera_sensor:()=>qg,educore_infrared_sensor:()=>kg,educore_soilhum_sensor:()=>Ug,educore_temp_sensor:()=>Qg,educore_temphum_sensor:()=>wg,educore_ultrasonic_sensor:()=>Kg,esp32_s2_weather_init:()=>_g,esp32_s2_weather_rain:()=>pg,esp32_s2_weather_wd:()=>og,esp32_s2_weather_ws:()=>ag,extern_rfid_read:()=>Wc,extern_rfid_readcontent:()=>Jc,extern_rfid_readid:()=>Kc,extern_rfid_status:()=>zc,extern_rfid_write:()=>Qc,extern_rfid_write_return:()=>qc,get_keboards_value:()=>sC,gnss_get_data:()=>Sg,gnss_have_data:()=>Cg,init_init_rotary_encoder:()=>_C,init_matrix_keyboard:()=>tC,interaction_whether_to_interaction:()=>Mc,interaction_whether_to_interaction_SANT:()=>hc,line_tube_foot:()=>eC,mixbot_sensor_extern_get_addr:()=>Yg,mixbot_sensor_extern_set_addr:()=>vg,pm25_get_data:()=>gg,radar_set_DETECTION_THRESHOLD:()=>Ic,radar_set_DETECTION_THRESHOLD_SANT:()=>Tc,robot_button_extern_get_value:()=>Lg,robot_color_extern_get_value:()=>Pg,robot_infrared_extern_get_value:()=>Dg,robot_infrared_extern_grey_get_value:()=>fg,robot_potentiometer_extern_get_value:()=>Fg,robot_sonar_extern_get_value:()=>Xg,robot_sonar_extern_led:()=>xg,robot_touch_extern_get_value:()=>Ng,rotary_key:()=>oC,sensor_APDS9960_extern:()=>Cc,sensor_DS18X20:()=>rc,sensor_LTR308_extern:()=>Sc,sensor_LTR390UV_extern:()=>Nc,sensor_MAX30102_extern:()=>gc,sensor_QMC5883L_extern:()=>xc,sensor_VL530LX_extern:()=>Dc,sensor_adxl345_get_acceleration:()=>ic,sensor_aht11_extern:()=>Fc,sensor_bmp:()=>ac,sensor_compass_reset:()=>kc,sensor_dht11:()=>sc,sensor_hp203_extern:()=>Pc,sensor_light_level:()=>nc,sensor_lm35:()=>dc,sensor_ltr381_extern:()=>Ac,sensor_mixgo_extern_button_attachInterrupt:()=>tc,sensor_mixgo_extern_button_get_presses:()=>ZR,sensor_mixgo_extern_button_is_pressed:()=>jR,sensor_mixgo_extern_button_was_pressed:()=>$R,sensor_mixgo_extern_light:()=>_c,sensor_mixgo_extern_pin_near:()=>pc,sensor_mixgo_extern_sound:()=>oc,sensor_mixgoce_hot_wheel_degrees:()=>sg,sensor_mixgoce_hot_wheel_is_touched:()=>ng,sensor_mpu9250_attachGestureInterrupt:()=>ec,sensor_mpu9250_calibrate_compass:()=>Gc,sensor_mpu9250_field_strength:()=>wc,sensor_mpu9250_gesture:()=>yc,sensor_mpu9250_get_acceleration:()=>bc,sensor_mpu9250_get_gyro:()=>Bc,sensor_mpu9250_get_magnetic:()=>Vc,sensor_mpu9250_temperature:()=>Uc,sensor_ms5611_extern:()=>vc,sensor_ms5611_extern_altitude:()=>Xc,sensor_read_humiture:()=>Wg,sensor_sht:()=>uc,sensor_shtc3_extern:()=>fc,sensor_spl06_001_extern:()=>Yc,sensor_ucs12071_extern:()=>Lc,sensor_use_i2c_init:()=>lc,sensor_use_spi_init:()=>Hc,sensor_use_uart_init:()=>cg,sensor_weather_solo_init:()=>yg,sensor_weather_solo_rain:()=>Bg,sensor_weather_solo_wd:()=>bg,sensor_weather_solo_ws:()=>Vg,sensor_weigh_init:()=>$g,tvoc_get_data:()=>Ag,ultrasonic_sensor_read_distance:()=>Jg,weather_data:()=>jc,weather_have_data:()=>$c,weather_set_label:()=>tg,weather_set_label_container:()=>eg,weather_set_label_item:()=>ig,weather_uart_mixio:()=>Zc,weigh_sensor_get_weight:()=>Zg});var w={};t.r(w),t.d(w,{HCSR04:()=>CC,RTC_set_date:()=>gC,RTC_set_time:()=>cC,bitbot_als_num:()=>YS,dht11:()=>BS,educore_button_sensor:()=>QS,educore_button_was_pressed:()=>qS,educore_gyroscope_sensor:()=>WS,educore_gyroscope_sensor_read:()=>KS,educore_gyroscope_sensor_shake:()=>JS,educore_light_sensor:()=>HS,educore_rfid_sensor:()=>zS,educore_rfid_sensor_scan:()=>jS,educore_rfid_sensor_scan_data:()=>$S,educore_voice_sensor:()=>wS,number1:()=>AC,number2:()=>LC,number3:()=>NC,number4:()=>DC,number5:()=>fC,number6:()=>FC,number7:()=>PC,onboard_RTC_get_time:()=>BC,onboard_RTC_get_time_str:()=>WC,onboard_RTC_get_timestamp:()=>GC,onboard_RTC_get_timetuple_to_str:()=>KC,onboard_RTC_set_datetime:()=>kC,onboard_RTC_settime_string:()=>wC,onboard_RTC_timestamp_totuple:()=>UC,rfid_readcontent:()=>ZC,rfid_readid:()=>$C,rfid_status:()=>iS,rfid_write:()=>tS,rfid_write_return:()=>eS,sensor_LTR308:()=>JC,sensor_aht11:()=>qC,sensor_bitbot_ALS:()=>PS,sensor_button_get_presses:()=>xS,sensor_button_is_pressed:()=>vS,sensor_button_was_pressed:()=>XS,sensor_distance_hrsc04:()=>RC,sensor_eulerangles:()=>sS,sensor_field_strength:()=>GS,sensor_get_acceleration:()=>nS,sensor_get_temperature:()=>zC,sensor_get_the_coprocessor_version:()=>ZS,sensor_hp203:()=>jC,sensor_light:()=>VS,sensor_mixbot_get_gyro:()=>FS,sensor_mixbot_patrol_calibrate:()=>NS,sensor_mixbot_patrol_value:()=>DS,sensor_mixbot_temperature:()=>fS,sensor_mixgo_LTR308:()=>bC,sensor_mixgo_button_attachInterrupt:()=>dC,sensor_mixgo_button_get_presses:()=>rC,sensor_mixgo_button_is_pressed:()=>aC,sensor_mixgo_button_was_pressed:()=>uC,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>MS,sensor_mixgo_cc_mmc5603_get_angle:()=>TS,sensor_mixgo_cc_mmc5603_get_magnetic:()=>IS,sensor_mixgo_light:()=>SC,sensor_mixgo_nova_LTR308:()=>yC,sensor_mixgo_nova_pin_near:()=>xC,sensor_mixgo_pin_near:()=>XC,sensor_mixgo_pin_near_double:()=>vC,sensor_mixgo_pin_near_single:()=>YC,sensor_mixgo_pin_pressed:()=>hC,sensor_mixgo_sant_color:()=>VC,sensor_mixgo_touch_slide:()=>OC,sensor_mixgocar42_button_attachInterrupt:()=>MC,sensor_mixgocar42_button_get_presses:()=>TC,sensor_mixgocar42_button_is_pressed:()=>lC,sensor_mixgocar42_button_was_pressed:()=>IC,sensor_mixgocar_battery_left:()=>LS,sensor_mixgocar_pin_near:()=>SS,sensor_mixgocar_pin_near_line:()=>CS,sensor_mixgocar_pin_near_state_change:()=>AS,sensor_mixgoce_pin_pressed:()=>mC,sensor_mixgoce_temperature:()=>mS,sensor_mixgome_temperature:()=>hS,sensor_mpython_pin_pressed:()=>EC,sensor_mpython_qmi8658_get_gyro:()=>ES,sensor_mpython_qmi8658_temperature:()=>OS,sensor_onboard_compass_reset:()=>lS,sensor_onboard_mpu9250_calibrate_compass:()=>uS,sensor_onboard_mpu9250_field_strength:()=>dS,sensor_onboard_mpu9250_gesture:()=>_S,sensor_onboard_mpu9250_get_acceleration:()=>oS,sensor_onboard_mpu9250_get_gyro:()=>aS,sensor_onboard_mpu9250_get_magnetic:()=>pS,sensor_onboard_mpu9250_temperature:()=>rS,sensor_pin_near:()=>bS,sensor_pin_pressed:()=>yS,sensor_read:()=>kS,sensor_rm_acc:()=>gS,sensor_rm_battery_left:()=>cS,sensor_rm_pin_near_double:()=>RS,sensor_rtc_init:()=>HC,sensor_sound:()=>QC,sensor_temperature:()=>US,simulated_light_sensor:()=>tA});var k={};t.r(k),t.d(k,{serial_any:()=>rA,serial_begin:()=>MA,serial_print:()=>_A,serial_print_byte:()=>sA,serial_print_hex:()=>pA,serial_println:()=>oA,serial_read_from_ai:()=>SA,serial_readline:()=>dA,serial_readstr:()=>uA,serial_readstr_until:()=>lA,serial_receive_data_event:()=>aA,serial_send_to_ai:()=>CA,serial_softserial:()=>TA,serial_softserial_new:()=>IA,system_input:()=>hA,system_print:()=>mA,system_print_container:()=>cA,system_print_end:()=>OA,system_print_inline:()=>EA,system_print_item:()=>gA,system_print_many:()=>RA});var H={};t.r(H),t.d(H,{Panic_with_status_code:()=>DA,Timer_init:()=>wA,base_delay:()=>WA,controls_delay:()=>NA,controls_delay_new:()=>LA,controls_millis:()=>FA,controls_uname:()=>YA,raw_block:()=>PA,reset:()=>fA,set_system_timer:()=>bA,system_bitbot_shutdown:()=>UA,system_machine_reset:()=>GA,system_ticks_diff:()=>xA,system_timer:()=>XA,system_timer_init:()=>yA,system_wdt_feed:()=>BA,system_wdt_init:()=>VA,time_ticks_diff:()=>HA,timer:()=>vA,timer2:()=>kA});var W={};t.r(W),t.d(W,{Air_daily_content:()=>_L,Air_now_content:()=>$A,Geo_moon_content:()=>pL,Geo_sun_content:()=>oL,Life_suggestion_content:()=>tL,Location_search_content:()=>iL,Tide_daily_content:()=>eL,WEATHER_DAILY:()=>QA,WEATHER_HOUR:()=>qA,WEATHER_NOW:()=>JA,Weather_alarm_content:()=>ZA,Weather_daily:()=>nL,Weather_daily_content:()=>sL,Weather_now:()=>zA,Weather_now_content:()=>jA});var K={};t.r(K),t.d(K,{PIN_init:()=>uN,actuator_extern_get_led_bright:()=>fL,actuator_extern_get_led_state:()=>FL,actuator_extern_led_bright:()=>DL,actuator_extern_led_brightness:()=>PL,actuator_ms32006_dcmotor:()=>ML,actuator_ms32006_init:()=>TL,actuator_ms32006_stepper:()=>hL,actuator_neopixel_init:()=>YL,actuator_neopixel_rgb:()=>xL,actuator_neopixel_rgb_all:()=>vL,actuator_neopixel_rgb_show_all_chase:()=>yL,actuator_neopixel_rgb_show_all_rainbow:()=>bL,actuator_neopixel_write:()=>XL,actuator_use_uart_init:()=>VL,backstage_esp32_music_play_list:()=>AL,esp32_music_get_tempo_extern:()=>CL,esp32_music_pitch:()=>EL,esp32_music_pitch_init:()=>mL,esp32_music_pitch_with_time:()=>OL,esp32_music_play_list:()=>SL,esp32_music_reset_extern:()=>LL,esp32_music_set_tempo_extern:()=>gL,esp32_music_stop:()=>RL,esp32_set_music_volume:()=>cL,mixbot_actuator_extern_get_addr:()=>pN,mixbot_actuator_extern_set_addr:()=>aN,mixbot_addr_extern:()=>QL,parrot_PIN_init:()=>IN,parrot_move_speed:()=>TN,pin_led_bright:()=>rN,player_play_music:()=>kL,player_set_mode:()=>wL,player_set_play:()=>GL,player_set_volume:()=>UL,player_whether_stop:()=>BL,robot_led_extern:()=>$L,robot_led_extern_get_value:()=>ZL,robot_motor_extern:()=>qL,robot_motor_extern_get_speed:()=>zL,robot_servo_extern_absolute_run:()=>nN,robot_servo_extern_get_status:()=>tN,robot_servo_extern_relative_continue:()=>oN,robot_servo_extern_relative_origin:()=>sN,robot_servo_extern_relative_run:()=>_N,robot_servo_extern_stop:()=>iN,robot_servo_extern_stop_mode:()=>eN,robot_traffic_light_extern:()=>jL,servo_PIN_init:()=>dN,servo_get_angle:()=>lL,servo_get_speed:()=>IL,servo_init:()=>aL,servo_move:()=>NL,servo_move_angle:()=>lN,servo_set_angle:()=>rL,servo_set_speed:()=>dL,servo_speed_360:()=>uL,syn6288_builtin_voice:()=>KL,syn6288_get_voice:()=>WL,syn6288_set_voice:()=>HL,syn6288_tts_play:()=>JL});var J={};t.r(J),t.d(J,{actuator_dc_motor:()=>kN,actuator_dc_motor_stop:()=>HN,actuator_get_led_bright:()=>LN,actuator_get_led_state:()=>NN,actuator_led_bright:()=>AN,actuator_led_brightness:()=>DN,actuator_mixbot_buzzer_on_off:()=>qN,actuator_mixgo_nova_mic_get:()=>tD,actuator_mixgo_nova_mic_set:()=>ZN,actuator_mixgo_nova_onboard_music_pitch:()=>oD,actuator_mixgo_nova_onboard_music_stop:()=>pD,actuator_mixgo_nova_play_audio:()=>sD,actuator_mixgo_nova_play_online_audio:()=>_D,actuator_mixgo_nova_record_audio:()=>nD,actuator_mixgo_nova_voice_get:()=>iD,actuator_mixgo_nova_voice_set:()=>eD,actuator_mixgo_zero_led_color:()=>fN,actuator_onboard_neopixel_rgb:()=>yN,actuator_onboard_neopixel_rgb_all:()=>bN,actuator_onboard_neopixel_rgb_show_all_chase:()=>VN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>BN,actuator_onboard_neopixel_write:()=>xN,actuator_stepper_keep:()=>UN,actuator_stepper_stop:()=>wN,analog_ble_keyboard_init:()=>ED,analog_ble_keyboard_input:()=>cD,analog_ble_keyboard_mouse_init:()=>fD,analog_ble_keyboard_mouse_input:()=>vD,analog_ble_keyboard_mouse_send_battery:()=>YD,analog_ble_keyboard_mouse_str:()=>XD,analog_ble_keyboard_send_battery:()=>CD,analog_ble_keyboard_str:()=>gD,analog_ble_mouse_init:()=>SD,analog_ble_mouse_input:()=>ND,analog_ble_mouse_keyboard_input:()=>xD,analog_ble_mouse_send_battery:()=>DD,analog_keyboard_input:()=>dD,analog_keyboard_str:()=>hD,analog_mouse_input:()=>TD,backstage_onboard_music_play_list:()=>cN,bitbot_motor:()=>$N,bitbot_move:()=>zN,bitbot_stop:()=>jN,ble_keyboard_connect:()=>RD,ble_keyboard_get_mac:()=>OD,ble_keyboard_mouse_connect:()=>PD,ble_keyboard_mouse_get_mac:()=>FD,ble_mouse_connect:()=>LD,ble_mouse_get_mac:()=>AD,cc_number:()=>FN,educore_ble_keyboard_input:()=>WD,educore_ble_sensor_connected:()=>HD,educore_ble_sensor_init:()=>kD,educore_buzzer:()=>yD,educore_buzzer_play_tone:()=>bD,educore_buzzer_play_tone_time:()=>VD,educore_buzzer_stop:()=>BD,educore_neopixel_clear:()=>wD,educore_neopixel_rgb:()=>UD,educore_rgb_light:()=>GD,esp32_music_get_tempo:()=>hN,esp32_music_reset:()=>gN,esp32_music_set_tempo:()=>MN,esp32_onboard_music_pitch:()=>mN,esp32_onboard_music_pitch_with_time:()=>EN,esp32_onboard_music_play_list:()=>RN,esp32_onboard_music_stop:()=>ON,general_key:()=>ID,general_key_tuple:()=>mD,get_keyboard_light:()=>KD,get_power_output:()=>uD,ledswitch:()=>SN,mixbot_motor:()=>QN,mixbot_motor_status:()=>WN,mixbot_move:()=>KN,mixbot_stop:()=>JN,mouse_key:()=>MD,number:()=>CN,record_audio:()=>QD,rm_actuator_get_led_bright:()=>YN,rm_actuator_get_led_state:()=>vN,rm_actuator_led_bright:()=>PN,rm_actuator_led_brightness:()=>XN,rm_motor:()=>GN,set_all_power_output:()=>rD,set_microphone_amplification:()=>JD,set_music_volume:()=>qD,set_power_output:()=>aD,special_key:()=>lD});var Q={};t.r(Q),t.d(Q,{ai_sensor_20object:()=>ff,ai_sensor_ailocal_class:()=>Ef,ai_sensor_ailocal_class_result:()=>Of,ai_sensor_ailocal_train:()=>mf,ai_sensor_asr_recognize:()=>Sf,ai_sensor_audio_play:()=>cf,ai_sensor_audio_record:()=>Rf,ai_sensor_barcode:()=>nf,ai_sensor_circle:()=>uf,ai_sensor_classifier_faces:()=>Df,ai_sensor_color:()=>If,ai_sensor_color_chases:()=>hf,ai_sensor_color_chases_result:()=>Mf,ai_sensor_config:()=>$D,ai_sensor_face:()=>Nf,ai_sensor_find_20objects:()=>Ff,ai_sensor_find_barcodes:()=>sf,ai_sensor_find_circles:()=>rf,ai_sensor_find_colors:()=>Tf,ai_sensor_find_licenseplates:()=>Lf,ai_sensor_find_lines:()=>af,ai_sensor_find_qrcodes:()=>ef,ai_sensor_find_rects:()=>lf,ai_sensor_find_tags:()=>of,ai_sensor_licenseplate:()=>Af,ai_sensor_line:()=>pf,ai_sensor_qrcode:()=>tf,ai_sensor_qrcode_lite:()=>jD,ai_sensor_rect:()=>df,ai_sensor_rgb:()=>ZD,ai_sensor_tag:()=>_f,ai_sensor_use_uart_init:()=>zD,ai_sensor_yolo_recognize:()=>gf,ai_sensor_yolo_recognize_result:()=>Cf});var q={};t.r(q),t.d(q,{MICROPYTHON_AI_Speech_asr:()=>vf,MICROPYTHON_AI_Speech_unit:()=>Yf,MICROPYTHON_AI_client:()=>Pf});var z={};t.r(z),t.d(z,{mpython_blynk_app_data:()=>Wf,mpython_blynk_app_notify:()=>Gf,mpython_blynk_email:()=>Kf,mpython_blynk_get_timers:()=>wf,mpython_blynk_on_connected:()=>bf,mpython_blynk_on_disconnected:()=>yf,mpython_blynk_run:()=>Bf,mpython_blynk_sensor_data_to_app:()=>Hf,mpython_blynk_set_property:()=>Jf,mpython_blynk_setup:()=>Qf,mpython_blynk_stop_timers:()=>Uf,mpython_blynk_sync_virtual:()=>xf,mpython_blynk_terminal_widget_vpin:()=>Xf,mpython_blynktimer:()=>kf,mpython_blynktimer_run:()=>Vf});var j={};t.r(j),t.d(j,{cc_g1_read_bat:()=>qf,cc_g1_read_joystick:()=>zf,cc_g1_read_key:()=>jf,cc_g1_turnoff:()=>$f});var $={};t.r($),t.d($,{ce_go_dc_motor:()=>oF,ce_go_get_led_bright:()=>eF,ce_go_get_led_state:()=>iF,ce_go_hall_attachInterrupt:()=>pF,ce_go_hall_data:()=>uF,ce_go_hall_initialize:()=>aF,ce_go_led_bright:()=>tF,ce_go_led_brightness:()=>nF,ce_go_light_number:()=>Zf,ce_go_pin_light:()=>TF,ce_go_pin_near:()=>dF,ce_go_pin_near_line:()=>rF,ce_go_pin_near_state_change:()=>lF,ce_go_stepper_keep:()=>sF,ce_go_stepper_stop:()=>_F,educore_car:()=>MF,educore_car_pin_near:()=>OF,educore_car_pin_near_line:()=>EF,educore_car_stepper_keep:()=>hF,educore_car_stepper_stop:()=>mF,sensor_mixgome_eulerangles:()=>IF});var Z={};t.r(Z),t.d(Z,{communicate_bluetooth_central_init:()=>tP,communicate_bluetooth_connect:()=>nP,communicate_bluetooth_disconnect:()=>sP,communicate_bluetooth_handle:()=>rP,communicate_bluetooth_is_connected:()=>oP,communicate_bluetooth_mac:()=>_P,communicate_bluetooth_peripheral_init:()=>eP,communicate_bluetooth_recv:()=>uP,communicate_bluetooth_recv_only:()=>aP,communicate_bluetooth_scan:()=>iP,communicate_bluetooth_send:()=>pP,communicate_espnow_init:()=>dP,communicate_espnow_init_new:()=>lP,communicate_i2c_available:()=>NF,communicate_i2c_init:()=>gF,communicate_i2c_master_read:()=>LF,communicate_i2c_onboard:()=>RF,communicate_i2c_read:()=>CF,communicate_i2c_scan:()=>AF,communicate_i2c_write:()=>SF,communicate_ir_recv_init:()=>HF,communicate_ir_send_init:()=>qF,communicate_ow_init:()=>VF,communicate_ow_read:()=>UF,communicate_ow_reset:()=>GF,communicate_ow_scan:()=>BF,communicate_ow_select:()=>kF,communicate_ow_write:()=>wF,communicate_spi_buffer:()=>PF,communicate_spi_init:()=>fF,communicate_spi_onboard:()=>cF,communicate_spi_read:()=>YF,communicate_spi_read_output:()=>vF,communicate_spi_readinto:()=>XF,communicate_spi_readinto_output:()=>xF,communicate_spi_set:()=>FF,communicate_spi_write:()=>yF,communicate_spi_write_readinto:()=>bF,espnow_radio_channel:()=>EP,espnow_radio_channel_new:()=>RP,espnow_radio_on_off:()=>cP,espnow_radio_rec:()=>CP,espnow_radio_recv:()=>AP,espnow_radio_recv_certain_msg:()=>LP,espnow_radio_recv_certain_msg_new:()=>DP,espnow_radio_recv_msg:()=>SP,espnow_radio_recv_new:()=>NP,espnow_radio_send:()=>gP,espnow_radio_txpower:()=>OP,i2c_slave_onreceive:()=>DF,internal_variable:()=>WF,ir_recv_timeout:()=>QF,ir_transmit_busy:()=>ZF,ir_transmit_conventional_data:()=>zF,ir_transmit_raw_code:()=>$F,ir_transmit_study_code:()=>jF,ir_whether_recv:()=>JF,lora_init:()=>fP,lora_packet:()=>FP,lora_recv:()=>YP,lora_send:()=>PP,network_espnow_info:()=>TP,network_espnow_mac:()=>IP,network_espnow_recv:()=>MP,network_espnow_recv_handle:()=>mP,network_espnow_send:()=>hP,recv_fun:()=>KF,urequests_attribute:()=>XP,urequests_get:()=>vP,urequests_method:()=>xP});var tt={};t.r(tt),t.d(tt,{display_animate:()=>oY,display_circle:()=>pY,display_color_seclet:()=>EY,display_draw_4strings:()=>ZP,display_fill:()=>_Y,display_lcd_use_i2c_init:()=>SY,display_line:()=>iY,display_line_arbitrarily:()=>tY,display_matrix_extern_bright_point:()=>KP,display_matrix_extern_bright_screen:()=>QP,display_matrix_extern_clear:()=>kP,display_matrix_extern_get_pixel:()=>WP,display_matrix_extern_get_screen_pixel:()=>JP,display_matrix_extern_image_builtins:()=>qP,display_matrix_extern_scroll_string:()=>UP,display_matrix_extern_scroll_string_delay:()=>wP,display_matrix_extern_shift:()=>HP,display_matrix_extern_show_frame_string:()=>BP,display_matrix_extern_show_frame_string_delay:()=>GP,display_matrix_extern_show_image:()=>bP,display_matrix_extern_show_image_or_string_delay:()=>VP,display_matrix_use_i2c_init:()=>yP,display_oled_drawPixel:()=>rY,display_oled_showBitmap:()=>uY,display_oled_use_i2c_init:()=>fY,display_onoff:()=>nY,display_rect:()=>eY,display_tm1650_power:()=>lY,display_tm1650_set_brightness:()=>MY,display_tm1650_show_dot:()=>TY,display_tm1650_show_num:()=>IY,display_tm_use_i2c_init:()=>dY,display_triangle:()=>aY,display_use_i2c_init:()=>$P,extern_oled_bright_point:()=>UY,extern_oled_clear:()=>VY,extern_oled_get_pixel:()=>GY,extern_oled_hvline:()=>kY,extern_oled_line:()=>HY,extern_oled_scroll_string:()=>yY,extern_oled_scroll_string_delay:()=>bY,extern_oled_shape_rect:()=>wY,extern_oled_shift:()=>BY,extern_oled_show_frame_string:()=>XY,extern_oled_show_frame_string_delay:()=>xY,extern_oled_show_image:()=>FY,extern_oled_show_image_or_string_delay:()=>vY,extern_oled_show_image_xy:()=>PY,extern_oled_show_string:()=>YY,image_shift:()=>sY,lcd_backlight:()=>NY,lcd_clear:()=>DY,lcd_print_string:()=>LY,lcd_show_image_or_string_delay:()=>AY,matrix_extern_image_arithmetic:()=>zP,matrix_extern_image_invert:()=>jP,tft_fill:()=>gY,tft_line_arbitrarily:()=>CY,tft_scroll_string_delay:()=>cY,tft_show_frame_string_delay:()=>RY,tft_show_image_or_string_delay:()=>OY,tft_show_image_xy:()=>mY,tft_use_spi_init:()=>hY});var et={};t.r(et),t.d(et,{bitbot_display_bitmap_create:()=>bv,bitbot_display_image_create:()=>yv,display_available:()=>sv,display_bitmap_create:()=>iv,display_bright_point:()=>uv,display_bright_screen:()=>dv,display_clear:()=>nv,display_get_pixel:()=>av,display_get_screen_pixel:()=>rv,display_image_builtins:()=>ZY,display_image_builtins_all:()=>tv,display_image_create:()=>ev,display_scroll_string:()=>qY,display_scroll_string_delay:()=>zY,display_scroll_way:()=>jY,display_shift:()=>pv,display_show_frame_string:()=>JY,display_show_frame_string_delay:()=>QY,display_show_image:()=>WY,display_show_image_or_string_delay:()=>KY,draw_pointer:()=>tX,image_arithmetic:()=>_v,image_invert:()=>ov,mixbot_display_bitmap_create:()=>Pv,mixbot_display_bright_screen:()=>Xv,mixbot_display_get_ambientbright:()=>vv,mixbot_display_get_screen_pixel:()=>Yv,mixbot_display_image_create:()=>Fv,mixbot_display_rotate:()=>xv,mixgo_display_bitmap_create:()=>Ev,mixgo_display_image_create_new:()=>mv,mixgome_display_bitmap_create:()=>Iv,mixgome_display_font:()=>hv,mixgome_display_image_create:()=>lv,mixgomini_display_bitmap_create:()=>Mv,mixgomini_display_image_create:()=>Tv,mpython_display_hvline:()=>Dv,mpython_display_line:()=>fv,mpython_display_shape_rect:()=>Nv,mpython_pbm_image:()=>Ov,nova_draw_pointer:()=>eX,onboard_oled_bright_point:()=>Lv,onboard_oled_scroll_string_delay:()=>Av,onboard_oled_show_frame_string_delay:()=>Sv,onboard_oled_show_image:()=>Rv,onboard_oled_show_image_or_string_delay:()=>Cv,onboard_oled_show_image_xy:()=>cv,onboard_oled_show_string:()=>gv,onboard_tft_bright_point:()=>Kv,onboard_tft_bright_screen:()=>uX,onboard_tft_clear:()=>rX,onboard_tft_clock_clear:()=>$v,onboard_tft_clock_draw:()=>jv,onboard_tft_clock_get_rtctime:()=>qv,onboard_tft_clock_init:()=>Qv,onboard_tft_clock_set_time:()=>zv,onboard_tft_display_hvline:()=>kv,onboard_tft_display_line:()=>Hv,onboard_tft_display_shape_circle:()=>Zv,onboard_tft_display_shape_rect:()=>wv,onboard_tft_fill:()=>Jv,onboard_tft_get_pixel:()=>Wv,onboard_tft_get_screen_pixel:()=>aX,onboard_tft_scroll_string_delay:()=>$Y,onboard_tft_shift:()=>pX,onboard_tft_show_frame_string:()=>oX,onboard_tft_show_frame_string_delay:()=>Uv,onboard_tft_show_image:()=>_X,onboard_tft_show_image_or_string_delay:()=>Gv,onboard_tft_show_image_xy:()=>Vv,onboard_tft_show_image_xy_direct:()=>Bv,onboard_tft_show_qrcode:()=>nX,onboard_tft_show_qrcode_details:()=>sX,onboard_tft_show_texts:()=>iX});var it={};t.r(it),t.d(it,{factory_block:()=>EX,factory_block_return:()=>OX,factory_block_return_with_textarea:()=>cX,factory_block_with_textarea:()=>RX,factory_callMethod_noreturn:()=>hX,factory_callMethod_return:()=>mX,factory_declare:()=>MX,factory_from_import:()=>dX,factory_function_noreturn:()=>IX,factory_function_return:()=>TX,factory_import:()=>lX,folding_block:()=>gX});var nt={};t.r(nt),t.d(nt,{inout_analog_atten:()=>bX,inout_analog_read:()=>FX,inout_analog_read_init:()=>yX,inout_analog_write:()=>NX,inout_analog_write_init:()=>xX,inout_analog_write_set:()=>DX,inout_digital_init:()=>vX,inout_digital_read:()=>AX,inout_digital_write:()=>SX,inout_highlow:()=>CX,inout_pin_attachInterrupt:()=>YX,inout_pin_pressed:()=>PX,inout_pin_pressed_init:()=>VX,inout_pwm_analog_write:()=>LX,inout_pwm_analog_write_init:()=>XX,inout_pwm_analog_write_set_freq:()=>fX});var st={};t.r(st),t.d(st,{IOT_CONNECT_OLLAMA:()=>Ix,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>sx,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>ix,IOT_EMQX_PING:()=>_x,IOT_FORMATTING:()=>tx,IOT_FORMAT_STRING:()=>ex,IOT_MIXIO_NTP:()=>ox,IOT_MIXIO_PUBLISH:()=>KX,IOT_MIXIO_PUBLISHEX:()=>JX,IOT_MIXIO_SUBSCRIBE:()=>QX,iot_client_onboard:()=>px,iot_connect_ollama:()=>lx,iot_connect_openai:()=>Tx,iot_http_client:()=>ax,iot_http_data:()=>ux,iot_mixio_check:()=>jX,iot_mixio_connect:()=>WX,iot_mixio_connect_only:()=>zX,iot_mixio_disconnect:()=>qX,iot_mixio_format_msg:()=>ZX,iot_mixio_format_topic:()=>$X,iot_mixly_key:()=>nx,iot_mqtt_client:()=>rx,iot_mqtt_data:()=>dx,iot_onenet_check:()=>kX,iot_onenet_connect:()=>GX,iot_onenet_disconnect:()=>UX,iot_onenet_publish:()=>HX,iot_onenet_publish_dict:()=>wX,iot_tiny_web_db_count:()=>gx,iot_tiny_web_db_delete:()=>Sx,iot_tiny_web_db_get:()=>cx,iot_tiny_web_db_init:()=>Ex,iot_tiny_web_db_init_with_mqtt:()=>Ox,iot_tiny_web_db_search:()=>Cx,iot_tiny_web_db_update:()=>Rx,iot_wifi_connect:()=>BX,ollama_empty_history:()=>mx,use_ollama_llm_to_chat:()=>Mx,use_ollama_llm_to_chat_return:()=>hx});var _t={};t.r(_t),t.d(_t,{educore_mqtt_connect:()=>iy,educore_mqtt_connect_success:()=>oy,educore_mqtt_subscribe_message:()=>ny,educore_mqtt_topic_publish:()=>_y,educore_mqtt_topic_subscribe:()=>sy,educore_wifi_connect:()=>ey,network_ap_connect:()=>vx,network_connect:()=>Lx,network_get_connect:()=>Dx,network_get_wifi:()=>Yx,network_init:()=>Ax,network_is_active:()=>Px,network_open:()=>Fx,network_scan:()=>Xx,network_server:()=>xx,network_socket_accept:()=>Gx,network_socket_bind:()=>bx,network_socket_close:()=>Kx,network_socket_connect:()=>Vx,network_socket_init:()=>yx,network_socket_listen:()=>Bx,network_socket_readline:()=>Ux,network_socket_receive:()=>wx,network_socket_receive_from:()=>Hx,network_socket_send:()=>kx,network_socket_send_to:()=>Wx,network_stop:()=>fx,network_wifi_connect:()=>Nx,ntptime_address:()=>jx,ntptime_time:()=>zx,requests_attribute:()=>Qx,requests_attribute2:()=>Zx,requests_get:()=>Jx,requests_get2:()=>$x,requests_method:()=>qx,requests_post:()=>ty});var ot={};t.r(ot),t.d(ot,{CI130X_BROADCAST:()=>fy,CI130X_GET_THE_RECOGNIZED_CMD:()=>Dy,CI130X_GET_WHETHER_IDENTIFY:()=>Ny,CI130X_IDENTIFY_AND_SAVE:()=>Ly,CI130X_SET_SYSTEM_CMD:()=>Fy,HCSR04:()=>ab,PS2_Button:()=>db,PS2_Buttons:()=>lb,PS2_Buttons_new:()=>Rb,PS2_State:()=>Ib,PS2_init:()=>ub,PS2_init_new:()=>Eb,PS2_stk:()=>Tb,PS2_stk_new:()=>cb,PS2_vibration:()=>rb,PS2_vibration_new:()=>Ob,RTC_get_time:()=>hb,RTC_set_date:()=>Ty,RTC_set_datetime:()=>Mb,RTC_set_time:()=>Iy,camera_sensor_init:()=>$b,camera_sensor_result:()=>Zb,column_tube_foot:()=>nV,define_keyboards:()=>sV,educore_body_sensor:()=>wb,educore_button_sensor_extern:()=>Kb,educore_camera_sensor:()=>jb,educore_infrared_sensor:()=>Wb,educore_soilhum_sensor:()=>kb,educore_temp_sensor:()=>zb,educore_temphum_sensor:()=>Hb,educore_ultrasonic_sensor:()=>Qb,esp32_s2_weather_init:()=>sb,esp32_s2_weather_rain:()=>ob,esp32_s2_weather_wd:()=>_b,esp32_s2_weather_ws:()=>pb,extern_rfid_read:()=>Ky,extern_rfid_readcontent:()=>Qy,extern_rfid_readid:()=>Jy,extern_rfid_status:()=>jy,extern_rfid_write:()=>qy,extern_rfid_write_return:()=>zy,get_keboards_value:()=>oV,gnss_get_data:()=>Sb,gnss_have_data:()=>Ab,init_init_rotary_encoder:()=>pV,init_matrix_keyboard:()=>_V,interaction_whether_to_interaction:()=>Sy,interaction_whether_to_interaction_SANT:()=>Ay,line_tube_foot:()=>iV,mixbot_sensor_extern_get_addr:()=>xb,mixbot_sensor_extern_set_addr:()=>yb,pm25_get_data:()=>Cb,radar_set_DETECTION_THRESHOLD:()=>gy,radar_set_DETECTION_THRESHOLD_SANT:()=>Cy,robot_button_extern_get_value:()=>Nb,robot_color_extern_get_value:()=>Yb,robot_infrared_extern_get_value:()=>fb,robot_infrared_extern_grey_get_value:()=>Fb,robot_potentiometer_extern_get_value:()=>Pb,robot_sonar_extern_get_value:()=>vb,robot_sonar_extern_led:()=>Xb,robot_touch_extern_get_value:()=>Db,rotary_key:()=>aV,sensor_APDS9960_extern:()=>Yy,sensor_DS18X20:()=>Ub,sensor_LTR308_extern:()=>vy,sensor_LTR390UV_extern:()=>Gy,sensor_MAX30102_extern:()=>Py,sensor_QMC5883L_extern:()=>Uy,sensor_VL530LX_extern:()=>Hy,sensor_aht11_extern:()=>ky,sensor_bmp:()=>Oy,sensor_dht11:()=>mb,sensor_distance_hrsc04:()=>ly,sensor_hp203_extern:()=>Xy,sensor_ltr381_extern:()=>Vy,sensor_mixgo_extern_button_attachInterrupt:()=>ry,sensor_mixgo_extern_button_get_presses:()=>uy,sensor_mixgo_extern_button_is_pressed:()=>py,sensor_mixgo_extern_button_was_pressed:()=>ay,sensor_mixgo_extern_light:()=>My,sensor_mixgo_extern_pin_near:()=>my,sensor_mixgo_extern_sound:()=>hy,sensor_mixgoce_hot_wheel_degrees:()=>nb,sensor_mixgoce_hot_wheel_is_touched:()=>ib,sensor_mpu9250_attachGestureInterrupt:()=>dy,sensor_ms5611_extern:()=>yy,sensor_ms5611_extern_altitude:()=>by,sensor_read_humiture:()=>Jb,sensor_rtc_init:()=>Ey,sensor_sht:()=>Ry,sensor_shtc3_extern:()=>wy,sensor_spl06_001_extern:()=>xy,sensor_ucs12071_extern:()=>By,sensor_use_i2c_init:()=>cy,sensor_use_spi_init:()=>Wy,sensor_use_uart_init:()=>gb,sensor_weather_solo_init:()=>bb,sensor_weather_solo_rain:()=>Gb,sensor_weather_solo_wd:()=>Vb,sensor_weather_solo_ws:()=>Bb,sensor_weigh_init:()=>tV,tvoc_get_data:()=>Lb,ultrasonic_sensor_read_distance:()=>qb,weather_data:()=>$y,weather_have_data:()=>Zy,weather_set_label:()=>eb,weather_uart_mixio:()=>tb,weigh_sensor_get_weight:()=>eV});var pt={};t.r(pt),t.d(pt,{HCSR04:()=>mV,bitbot_als_num:()=>BB,dht11:()=>JB,educore_button_sensor:()=>tG,educore_button_was_pressed:()=>eG,educore_gyroscope_sensor:()=>jB,educore_gyroscope_sensor_read:()=>$B,educore_gyroscope_sensor_shake:()=>ZB,educore_light_sensor:()=>zB,educore_rfid_sensor:()=>iG,educore_rfid_sensor_scan:()=>nG,educore_rfid_sensor_scan_data:()=>sG,educore_voice_sensor:()=>QB,number1:()=>EV,number2:()=>OV,number3:()=>RV,number4:()=>cV,number5:()=>gV,number6:()=>CV,number7:()=>SV,onboard_RTC_get_time:()=>MB,onboard_RTC_get_time_str:()=>EB,onboard_RTC_get_timestamp:()=>hB,onboard_RTC_get_timetuple_to_str:()=>OB,onboard_RTC_set_datetime:()=>IB,onboard_RTC_settime_string:()=>TB,onboard_RTC_timestamp_totuple:()=>mB,rfid_readcontent:()=>GV,rfid_readid:()=>BV,rfid_status:()=>kV,rfid_write:()=>UV,rfid_write_return:()=>wV,sensor_LTR308:()=>XV,sensor_adxl345_get_acceleration:()=>$V,sensor_aht11:()=>bV,sensor_bitbot_ALS:()=>VB,sensor_button_get_presses:()=>wB,sensor_button_is_pressed:()=>GB,sensor_button_was_pressed:()=>UB,sensor_compass_reset:()=>sB,sensor_ds18x20:()=>YV,sensor_eulerangles:()=>WV,sensor_get_acceleration:()=>HV,sensor_get_temperature:()=>VV,sensor_get_the_coprocessor_version:()=>_G,sensor_hp203:()=>yV,sensor_light:()=>KB,sensor_lm35:()=>vV,sensor_mixbot_get_gyro:()=>bB,sensor_mixbot_patrol_calibrate:()=>XB,sensor_mixbot_patrol_value:()=>xB,sensor_mixbot_temperature:()=>yB,sensor_mixgo_LTR308:()=>fV,sensor_mixgo_button_attachInterrupt:()=>lV,sensor_mixgo_button_get_presses:()=>dV,sensor_mixgo_button_is_pressed:()=>uV,sensor_mixgo_button_was_pressed:()=>rV,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>gB,sensor_mixgo_cc_mmc5603_get_angle:()=>cB,sensor_mixgo_cc_mmc5603_get_magnetic:()=>RB,sensor_mixgo_light:()=>WB,sensor_mixgo_nova_LTR308:()=>PV,sensor_mixgo_nova_pin_near:()=>DV,sensor_mixgo_pin_near:()=>NV,sensor_mixgo_pin_near_double:()=>LV,sensor_mixgo_pin_near_single:()=>AV,sensor_mixgo_pin_pressed:()=>zV,sensor_mixgo_sant_color:()=>FV,sensor_mixgo_touch_slide:()=>qV,sensor_mixgocar42_button_attachInterrupt:()=>hV,sensor_mixgocar42_button_get_presses:()=>MV,sensor_mixgocar42_button_is_pressed:()=>IV,sensor_mixgocar42_button_was_pressed:()=>TV,sensor_mixgocar_battery_left:()=>vB,sensor_mixgocar_pin_near:()=>PB,sensor_mixgocar_pin_near_line:()=>FB,sensor_mixgocar_pin_near_state_change:()=>YB,sensor_mixgoce_pin_pressed:()=>QV,sensor_mixgoce_temperature:()=>SB,sensor_mixgome_temperature:()=>CB,sensor_mpu9250_calibrate_compass:()=>eB,sensor_mpu9250_field_strength:()=>nB,sensor_mpu9250_gesture:()=>KV,sensor_mpu9250_get_acceleration:()=>JV,sensor_mpu9250_get_gyro:()=>tB,sensor_mpu9250_get_magnetic:()=>ZV,sensor_mpu9250_temperature:()=>iB,sensor_mpython_pin_pressed:()=>jV,sensor_mpython_qmi8658_get_gyro:()=>AB,sensor_mpython_qmi8658_temperature:()=>LB,sensor_onboard_compass_reset:()=>lB,sensor_onboard_mpu9250_calibrate_compass:()=>uB,sensor_onboard_mpu9250_field_strength:()=>dB,sensor_onboard_mpu9250_gesture:()=>_B,sensor_onboard_mpu9250_get_acceleration:()=>oB,sensor_onboard_mpu9250_get_gyro:()=>aB,sensor_onboard_mpu9250_get_magnetic:()=>pB,sensor_onboard_mpu9250_temperature:()=>rB,sensor_pin_near:()=>HB,sensor_pin_pressed:()=>kB,sensor_read:()=>qB,sensor_rm_acc:()=>fB,sensor_rm_battery_left:()=>DB,sensor_rm_pin_near_double:()=>NB,sensor_sound:()=>xV,simulated_light_sensor:()=>oG});var at={};t.r(at),t.d(at,{serial_any:()=>dG,serial_print:()=>pG,serial_print_byte:()=>aG,serial_print_hex:()=>rG,serial_println:()=>uG,serial_read_from_ai:()=>gG,serial_readline:()=>IG,serial_readstr:()=>lG,serial_send_to_ai:()=>cG,serial_softserial:()=>TG,serial_softserial_new:()=>MG,system_input:()=>hG,system_print:()=>mG,system_print_end:()=>OG,system_print_inline:()=>EG,system_print_many:()=>RG});var ut={};t.r(ut),t.d(ut,{Panic_with_status_code:()=>XG,Timer_init:()=>zG,base_delay:()=>ZG,controls_delay:()=>BG,controls_delay_new:()=>GG,controls_end_program:()=>yG,controls_millis:()=>xG,controls_uname:()=>VG,reset:()=>bG,set_system_timer:()=>wG,system_bitbot_shutdown:()=>qG,system_device_name:()=>YG,system_device_serial_number:()=>vG,system_event_bus_source:()=>FG,system_event_bus_value:()=>PG,system_machine_reset:()=>QG,system_on_event:()=>NG,system_raise_event:()=>LG,system_reset:()=>SG,system_run_in_background:()=>CG,system_ticks_diff:()=>kG,system_timer:()=>WG,system_timer_init:()=>HG,system_timestamp:()=>DG,system_value:()=>fG,system_wait:()=>AG,system_wdt_feed:()=>JG,system_wdt_init:()=>KG,time_ticks_diff:()=>$G,timer:()=>UG,timer2:()=>jG});var rt={};t.r(rt),t.d(rt,{Air_daily_content:()=>lU,Air_now_content:()=>_U,Geo_moon_content:()=>TU,Geo_sun_content:()=>IU,Life_suggestion_content:()=>pU,Location_search_content:()=>uU,Tide_daily_content:()=>aU,WEATHER_DAILY:()=>eU,WEATHER_HOUR:()=>iU,WEATHER_NOW:()=>tU,Weather_alarm_content:()=>oU,Weather_daily:()=>rU,Weather_daily_content:()=>dU,Weather_now:()=>nU,Weather_now_content:()=>sU});var dt={};t.r(dt),t.d(dt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>mU});var lt={};t.r(lt),t.d(lt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>OU});var It={};t.r(It),t.d(It,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>cU});var Tt={};t.r(Tt),t.d(Tt,{controls_pin_attachInterrupt:()=>UU,inout_analog_atten:()=>PU,inout_analog_write:()=>fU,inout_analog_write_init:()=>xU,inout_analog_write_set:()=>FU,inout_analog_write_set_freq:()=>bU,inout_digital_init:()=>XU,inout_digital_read:()=>DU,inout_digital_write:()=>NU,inout_highlow:()=>LU,inout_pinMode:()=>VU,inout_pin_attachInterrupt:()=>vU,inout_pin_pressed:()=>YU,inout_pin_pressed_init:()=>yU,pin_pressed:()=>GU,pin_pressed_init:()=>BU});var Mt={};t.r(Mt),t.d(Mt,{me_g1_aht11:()=>kU,me_g1_hp203:()=>HU,me_g1_rfid_readcontent:()=>JU,me_g1_rfid_readid:()=>KU,me_g1_rfid_status:()=>zU,me_g1_rfid_write:()=>QU,me_g1_rfid_write_outcome:()=>qU,me_g1_varistor:()=>WU});var ht={};t.r(ht),t.d(ht,{analog_input:()=>_w,analog_output:()=>pw,espnow_channel:()=>iw,haskylens_model:()=>nw,i2c_A_pin:()=>aw,i2c_B_pin:()=>uw,pins_analog:()=>Tw,pins_analog_pin:()=>Mw,pins_axis:()=>Yw,pins_brightness:()=>vw,pins_builtinimg:()=>Aw,pins_builtinimg_extern:()=>Lw,pins_button:()=>Ew,pins_buttonB:()=>Ow,pins_dac:()=>hw,pins_dac_pin:()=>mw,pins_digital:()=>$U,pins_digital_dot:()=>Uw,pins_digital_pin:()=>ZU,pins_exlcdh:()=>Fw,pins_exlcdv:()=>Pw,pins_imglist:()=>Nw,pins_input_pin:()=>tw,pins_one_more:()=>Gw,pins_output_pin:()=>ew,pins_playlist:()=>Dw,pins_playlist_extern:()=>fw,pins_pwm:()=>Rw,pins_pwm_pin:()=>cw,pins_radio_datarate:()=>Bw,pins_radio_power:()=>Vw,pins_serial:()=>Sw,pins_tone_notes:()=>bw,pins_touch:()=>Cw,pins_touch_pin:()=>gw,pins_tts_bgmusic:()=>yw,pins_tts_builtin_music:()=>xw,pins_tts_voice:()=>Xw,pwm_input:()=>sw,pwm_output:()=>ow,spi_A_pin:()=>rw,spi_B_pin:()=>dw,spi_C_pin:()=>lw,spi_D_pin:()=>Iw,timer_id_pin:()=>ww});var mt={};t.r(mt),t.d(mt,{inout_analog_atten:()=>$w,inout_analog_write:()=>Kw,inout_analog_write_init:()=>jw,inout_analog_write_set:()=>Jw,inout_digital_init:()=>zw,inout_digital_read:()=>Ww,inout_digital_write:()=>Hw,inout_highlow:()=>kw,inout_pin_attachInterrupt:()=>qw,inout_pin_pressed:()=>Qw,inout_pin_pressed_init:()=>Zw});var Et={};t.r(Et),t.d(Et,{me_g1_aht11:()=>tk,me_g1_hp203:()=>ek,me_g1_rfid_readcontent:()=>sk,me_g1_rfid_readid:()=>nk,me_g1_rfid_status:()=>pk,me_g1_rfid_write:()=>_k,me_g1_rfid_write_outcome:()=>ok,me_g1_varistor:()=>ik});var Ot={};t.r(Ot),t.d(Ot,{analog_input:()=>mk,analog_output:()=>Ok,espnow_channel:()=>Mk,haskylens_model:()=>hk,i2c_A_pin:()=>Rk,i2c_B_pin:()=>ck,pins_analog:()=>Nk,pins_analog_pin:()=>Lk,pins_axis:()=>Uk,pins_brightness:()=>Hk,pins_builtinimg:()=>yk,pins_builtinimg_extern:()=>bk,pins_button:()=>uk,pins_buttonB:()=>rk,pins_dac:()=>Pk,pins_dac_pin:()=>Fk,pins_digital:()=>ak,pins_digital_dot:()=>$k,pins_digital_pin:()=>dk,pins_exlcdh:()=>wk,pins_exlcdv:()=>kk,pins_imglist:()=>Vk,pins_input_pin:()=>lk,pins_interrupt:()=>Xk,pins_one_more:()=>jk,pins_output_pin:()=>Ik,pins_playlist:()=>Bk,pins_playlist_extern:()=>Gk,pins_pwm:()=>fk,pins_pwm_input:()=>Tk,pins_pwm_pin:()=>Dk,pins_radio_datarate:()=>zk,pins_radio_power:()=>qk,pins_serial:()=>xk,pins_tone_notes:()=>Qk,pins_touch:()=>vk,pins_touch_pin:()=>Yk,pins_tts_bgmusic:()=>Jk,pins_tts_builtin_music:()=>Kk,pins_tts_voice:()=>Wk,pwm_output:()=>Ek,spi_A_pin:()=>gk,spi_B_pin:()=>Ck,spi_C_pin:()=>Sk,spi_D_pin:()=>Ak,timer_id_pin:()=>Zk});const Rt=Blockly,ct=Mixly,gt={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Ct=gt; -/** - * @license - * Visual Blocks Editor - * - * Copyright 2012 Google Inc. - * https://developers.google.com/blockly/ - * - * 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. - */ -class St{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},kt={init:function(){this.setColour(bt),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ht={init:function(){this.setColour(bt),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Rt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Wt={init:function(){this.setColour(bt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Rt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Rt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Kt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Jt={init:function(){this.setColour(bt);var t=new Rt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Qt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},qt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Wt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Jt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const zt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},jt={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},$t={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(bt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},te={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ee={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},ie={init:function(){this.jsonInit({message0:Rt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:bt,tooltip:Rt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Rt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},ne={init:function(){this.setColour(bt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_STAT),this.setOutput(!0)}},se={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},_e={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},oe={init:function(){this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Rt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Rt.FieldDropdown([[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(bt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},pe={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ae={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ue={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},re={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_GET_UNIQUE_IDEN)}},de={init:function(){this.setColour(bt),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},le={init:function(){this.setColour(bt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Ie=230;Rt.FieldTextInput.math_number_validator=function(t){return String(t)},Rt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const Te={init:function(){this.setColour(Ie),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},Me={init:function(){this.setColour(Ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},he={init:function(){this.setColour(Ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},me={init:function(){this.setColour(Ie),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ee={init:function(){this.setColour(Ie),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Oe={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Rt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Re={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Rt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Rt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Rt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Rt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Rt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Rt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Rt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},ce={init:function(){var t=[[Rt.Msg.MATH_BIN,"bin"],[Rt.Msg.MATH_OCT,"oct"],[Rt.Msg.MATH_HEX,"hex"]];this.setColour(Ie),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Rt.Msg.MATH_DEC_TOOLTIP_BIN,oct:Rt.Msg.MATH_DEC_TOOLTIP_OCT,hex:Rt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},ge={init:function(){var t=[[Rt.Msg.LANG_MATH_TO_ROUND,"round"],[Rt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Rt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Rt.Msg.MATH_ABS,"fabs"],[Rt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Ie),this.appendValueInput("A").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Rt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Rt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Rt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Rt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Rt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Rt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ce={init:function(){var t=[[Rt.Msg.MIXLY_MAX,"max"],[Rt.Msg.MIXLY_MIN,"min"]];this.setColour(Ie),this.appendValueInput("A").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Rt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Rt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Se={init:function(){var t=[[Rt.Msg.MATH_TWO,"two"],[Rt.Msg.MATH_EIGHT,"eight"],[Rt.Msg.MATH_TEN,"ten"],[Rt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Ie),this.appendDummyInput("").appendField(Rt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Rt.FieldDropdown(t),"OP").appendField(Rt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MATH_ZHW).appendField(new Rt.FieldDropdown(t),"OP2").appendField(Rt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Rt.Msg.MATH_Before_two,eight:Rt.Msg.MATH_Before_eight,ten:Rt.Msg.MATH_Before_ten,sixteen:Rt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Rt.Msg.MATH_Behind_two,eight:Rt.Msg.MATH_Behind_eight,ten:Rt.Msg.MATH_Behind_ten,sixteen:Rt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ae={init:function(){var t=[[Rt.Msg.LANG_MATH_INT,"int"],[Rt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Ie),this.setOutput(!0,Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Rt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Rt.Msg.LANG_MATH_INT,float:Rt.Msg.LANG_MATH_FLOAT_RANDOM};return Rt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Le={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Ne={init:function(){this.setColour(Ie),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Rt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Rt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},De={init:function(){this.setColour(Ie),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},fe={init:function(){this.setColour(Ie),this.appendValueInput("NUM").setCheck(Number).appendField(Rt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Fe={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MATH_ROUND).appendField(Rt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Rt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Pe={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"],[Rt.Msg.MIXLY_TO_BITES,"b"],[Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Ye={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ve=Ne,Xe={init:function(){this.setColour(Ie),this.appendValueInput("VAR").appendField(Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},xe={init:function(){this.setColour(Ie),this.itemCount_=1,this.setMutator(new Rt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Rt.Msg.MIXLY_PRODUCT+Rt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Rt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Rt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const we={init:function(){this.setColour(Ve),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Rt.FieldTextInput("",Rt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Rt.FieldImage(e,7,12,'"')}},ke={init:function(){this.setColour(Ve),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Rt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},He={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},We={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(String).appendField(Rt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ke={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Je={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Qe={init:function(){this.WHERE_OPTIONS=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.TEXT_GET_INDEX_RANDOM+1+Rt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.LISTS_GET_INDEX_GET,"MODE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Rt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Rt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Rt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Rt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Rt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Rt.Msg.TEXT_GET_INDEX_RANDOM};return Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Rt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Rt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Rt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},qe={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.LISTS_GET_INDEX_FROM_START+"n"+Rt.Msg.TEXT_CHARAT2)}},ze={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Rt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Rt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},je={init:function(){this.WHERE_OPTIONS_1=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Rt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Rt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},$e={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Ze={init:function(){var t=[[Rt.Msg.MIXLY_EQUALS,"==="],[Rt.Msg.MIXLY_STARTSWITH,"startswith"],[Rt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Rt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ti={init:function(){this.setColour(Ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_COMPARETO_HELP)}},ei={init:function(){var t=[[Rt.Msg.TEXT_UPPER,"upper"],[Rt.Msg.TEXT_TITLE,"title"],[Rt.Msg.TEXT_CAPITALIZE,"capitalize"],[Rt.Msg.TEXT_SWAPCASE,"swapcase"],[Rt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Rt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Rt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Rt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Rt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Rt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ii={init:function(){var t=[[Rt.Msg.TEXT_LJUST,"ljust"],[Rt.Msg.TEXT_CENTER,"center"],[Rt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ve),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Rt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Rt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ni={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Rt.Msg.MIXLY_MID+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},si={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},_i={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Rt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},oi={init:function(){this.setColour(Ve),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Rt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Rt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},pi={init:function(){var t=[[Rt.Msg.TEXT_TRIM_BOTH,"strip"],[Rt.Msg.TEXT_TRIM_LEFT,"lstrip"],[Rt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ve),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Rt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Rt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Rt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ai={init:function(){this.setColour(Ve),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Rt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},_n={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},on={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_KEYS),this.setTooltip(Rt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_TOOLTIP)}},un={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},rn={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},dn={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_DELETE_TOOLTIP)}},ln={init:function(){this.setColour(nn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Rt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Rt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MID),this.setTooltip(Rt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},In={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_CLEAR),this.setTooltip(Rt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_ITEMS),this.setTooltip(Rt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_VALUES),this.setTooltip(Rt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},hn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LENGTH),this.setTooltip(Rt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_DELDICT),this.setTooltip(Rt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},En={init:function(){this.MODE=[[Rt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Rt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Rt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Rt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Rt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Rt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},On={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setTooltip(Rt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Rn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},cn={init:function(){this.setColour(nn),this.appendDummyInput("").appendField(new Rt.FieldLabel(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Rt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},gn={init:function(){this.setColour(nn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Cn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Sn={init:function(){this.setColour(nn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},An={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn=210,Dn={init:function(){var t=Rt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},fn={init:function(){var t=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Rt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Fn={init:function(){var t=[[Rt.Msg.LOGIC_OPERATION_AND,"AND"],[Rt.Msg.LOGIC_OPERATION_OR,"OR"],[Rt.Msg.LOGIC_OPERATION_NOR,"NOR"],[Rt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Rt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Pn={init:function(){this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Rt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Rt.Msg.LOGIC_NEGATE_TOOLTIP)}},Yn={init:function(){var t=[[Rt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Rt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Rt.FieldDropdown(t),"BOOL"),this.setTooltip(Rt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},vn={init:function(){this.setColour(Nn),this.setOutput(!0),this.appendDummyInput().appendField(Rt.Msg.LOGIC_NULL),this.setTooltip(Rt.Msg.LOGIC_NULL_TOOLTIP)}},Xn={init:function(){this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Rt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Rt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},xn={init:function(){var t=[[Rt.Msg.TEXT_APPEND_TO,"in"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Rt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Rt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.IN)}},yn={init:function(){var t=[[Rt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},bn={init:function(){this.setColour(Nn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Rt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Rt.Msg.MIXLY_ADD,"a"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_ADD,"ab"],[Rt.Msg.MIXLY_R_W,"r+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_R_W,"rb+"],[Rt.Msg.MIXLY_W_R,"w+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_W_R,"wb+"],[Rt.Msg.MIXLY_A_R,"a+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG,o=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXPY_TEXT_ENCODE).appendField(new Rt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG,o=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},wn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MICROBIT_PYTHON_TYPE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.HTML_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const zn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},ts={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},es={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Rt.Msg.MIXLY_ESP32_SET+{mkdir:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},is={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Rt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_FILE,"isfile"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},_s={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Rt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},os={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Rt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},ps={init:function(){var t=Rt.Procedures.findLegalName("",this),e=new Rt.FieldTextInput(t,Rt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Rt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Rt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Rt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Rt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Rt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Rt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Rt.Events.enable()}},mutationToDom:function(t){var e=Rt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},i_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},n_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_FORM_CONTENT).appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_TEXT,"text"],[Rt.Msg.HTML_EMAIL,"email"],[Rt.Msg.HTML_NUMBER,"number"],[Rt.Msg.HTML_PASSWORD,"password"],[Rt.Msg.HTML_CHECKBOX,"checkbox"],[Rt.Msg.HTML_RADIOBUTTON,"radiobutton"],[Rt.Msg.HTML_BUTTON,"button"],[Rt.Msg.HTML_COLOUR,"colour"],[Rt.Msg.HTML_DATE,"date"],[Rt.Msg.HTML_LOCALTIME,"local time"],[Rt.Msg.HTML_FILE,"file"],[Rt.Msg.HTML_HIDDEN,"hidden"],[Rt.Msg.HTML_IMAGE,"image"],[Rt.Msg.HTML_MONTH,"month"],[Rt.Msg.HTML_RANGE,"range"],[Rt.Msg.HTML_RESET,"reset"],[Rt.Msg.HTML_SEARCH,"search"],[Rt.Msg.HTML_SUBMIT,"submit"],[Rt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Rt.Msg.HTML_TIME,"time"],[Rt.Msg.HTML_URL,"url"],[Rt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Rt.Msg.HTML_NAME).appendField(new Rt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Rt.Msg.HTML_VALUE).appendField(new Rt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},__={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_TEXT).appendField(new Rt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_=160,a_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Rt.FieldTable(""),"TEXT")}},u_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT")}},r_={init:function(){this.setColour(p_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},d_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},l_={init:function(){this.setColour(p_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Rt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},I_={init:function(){this.setColour(p_),this.appendValueInput("VALUE").appendField(Rt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},T_={init:function(){this.setColour(p_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Rt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Rt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},Rt.isNumber(n)&&Rt.isNumber(s)&&Rt.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const ra=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},da=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},la=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ia=function(t,e){return["None",e.ORDER_ATOMIC]},Ta=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ma=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ea=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Oa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ra=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},ga=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ca=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Sa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Aa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Da=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},fa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ya=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},va=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ya=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},ba=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Va=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ba=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ua=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Rt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Cu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Su=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Au=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Lu=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Nu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Du=function(t,e){return'"},fu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Fu=function(){return this.getFieldValue("TEXT")+"\n"},Pu=function(t){return t.getFieldValue("TEXT")+"\n"},Yu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},vu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Xu=function(){return""},xu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},yu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n")},Gu.scrubNakedValue=function(t){return t+"\n"},Gu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Gu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Gu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Rt.utils.string.wrap(_,Gu.COMMENT_WRAP-3),n+=Gu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Uu="#74A55B",wu={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Hu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Wu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},zu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Rt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$u={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Zu={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},tr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},er={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},ir={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},sr={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField("360°"+Rt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETTING+Rt.Msg.blockpy_turtle_rotate+Rt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},_r={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},pr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ar={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ur={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Rt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Rt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Rt.Msg.MOTOR_N,"ms32006.MOT_N"],[Rt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},dr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Rt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},lr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},Ir={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Tr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},hr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Er={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Rt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["SYN6288"+Rt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Rt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Or={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_WHETHER).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_STOPPED,"0"],[Rt.Msg.MIXLY_PLAYING,"1"],[Rt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MP3_PLAY,"1"],[Rt.Msg.MIXLY_MP3_PAUSE,"2"],[Rt.Msg.MIXLY_STOP,"3"],[Rt.Msg.MIXLY_MP3_PREV,"4"],[Rt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Rt.Msg.MIXLY_MP3_VOL+Rt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},gr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE+Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Rt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Rt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Rt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Rt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Rt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Rt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Sr={},Ar={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Nr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Dr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},fr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Fr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Pr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LISTS_SET_INDEX_SET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_WHITE,"W"],[Rt.Msg.COLOUR_RGB_RED,"R"],[Rt.Msg.COLOUR_RGB_YELLOW,"Y"],[Rt.Msg.COLOUR_RGB_GREEN,"G"],[Rt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_WHITE,"W"],[Rt.Msg.COLOUR_RGB_RED,"R"],[Rt.Msg.COLOUR_RGB_YELLOW,"Y"],[Rt.Msg.COLOUR_RGB_GREEN,"G"],[Rt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Rt.Msg.MIXLY_SPEED,"[1]"],[Rt.Msg.MATH_SINGLE_OP_ABSOLUTE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Rt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Rt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Rt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MATH_SINGLE_OP_ABSOLUTE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"0"],[Rt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Rt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField("("+Rt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField("("+Rt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"0"],[Rt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MOTOR,"ext_motor"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Rt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Rt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Rt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Rt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Rt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Rt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MOTOR,"ext_motor"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Rt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Rt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Rt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Rt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Rt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Rt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SERVO+Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MOTOR+Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},qr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zr="#6C9858",jr={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},$r={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_ON,"1"],[Rt.Msg.MIXLY_ESP32_OFF,"0"],[Rt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Zr={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},td={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},ed={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},id={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_BUILDIN_LED+Rt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},nd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LCD_SETCOLOR).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LIGHT_RED,"1"],[Rt.Msg.MIXLY_LIGHT_GREEN,"2"],[Rt.Msg.MIXLY_LIGHT_BLUE,"3"],[Rt.Msg.MIXLY_LIGHT_YELLOW,"4"],[Rt.Msg.MIXLY_LIGHT_CYAN,"5"],[Rt.Msg.MIXLY_LIGHT_PURPLE,"6"],[Rt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},sd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},_d={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},od={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},pd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_BUILDIN_LED+Rt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},ad={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ud={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},rd={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},dd={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ld={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Id={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Td={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Md={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},hd={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},md={init:function(){this.setColour(zr),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Ed={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Od={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Rd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},cd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},gd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cd={init:function(){this.setColour(zr),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Sd={init:function(){this.setColour(zr),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ad={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ld={init:function(){this.setColour(zr),this.appendDummyInput().appendField("MixGo Car").appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(zr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Dd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Rt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Rt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STOP).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Pd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Rt.Msg.MIXLY_SPEED,"SPEED"],[Rt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Yd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.MIXLY_MOTOR).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"1"],[Rt.Msg.TEXT_TRIM_RIGHT,"2"],[Rt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Rt.Msg.MIXLY_SPEED,"SPEED"],[Rt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Rt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(Rt.Msg.MIXLY_MOTOR).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"0"],[Rt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vd={init:function(){this.setColour(zr),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Bd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Gd={init:function(){this.setColour(zr),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_MIXBOT_BUZZER+Rt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ud={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MIXBOT_BUZZER+Rt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},wd={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_RECORD_AUDIO).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Rt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kd={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_PLAY_AUDIO).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hd={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Kd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===ct.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendValueInput("duty").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Qd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===ct.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},qd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.MIXLY_ALL+Rt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Rt.ALIGN_RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},zd={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.ANALOG+Rt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_RELEASE).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ANALOG+Rt.Msg.MIXLY_KEYBOARD_INPUT)}},jd={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SPECIAL_KEY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Rt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Rt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Rt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Rt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Rt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Rt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Rt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Rt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},$d={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GENERAL_KEY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},Zd={init:function(){this.setColour(zr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Rt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Rt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},hm={init:function(){this.jsonInit({colour:_m,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Rt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Rt.Msg.MIXLY_MICROBIT_Built_in_image})}},mm={init:function(){this.setColour(_m),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Em={init:function(){this.setColour(_m),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(Em.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Rt.Msg.MICROBIT_DISPLAY_UNION,"add"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Om={init:function(){this.setColour(_m),this.appendValueInput("A").setCheck("esp32_image").appendField(Rt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Rm={init:function(){this.setColour(_m),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(Rm.OPERATORS),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Rt.Msg.MIXLY_UP,shift_down:Rt.Msg.MIXLY_DOWN,shift_left:Rt.Msg.MIXLY_LEFT,shift_right:Rt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Rt.Msg.MIXLY_UP,"shift_up"],[Rt.Msg.MIXLY_DOWN,"shift_down"],[Rt.Msg.MIXLY_LEFT,"shift_left"],[Rt.Msg.MIXLY_RIGHT,"shift_right"]]},cm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},gm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Cm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Sm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Am={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Clear_display);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Clear_display)}},Lm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SHOW+Rt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Dm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Dm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},fm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Fm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Fm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Pm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Ym={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Ym.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},vm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.OLED_SET_FONT).appendField(new Rt.FieldDropdown(vm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Rt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Rt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Rt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},Xm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},xm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},ym={init:function(){this.setColour(_m),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Rt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},bm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Rt.Msg.TEXT_CENTER).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Vm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Bm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Um={init:function(){this.jsonInit({colour:_m,args0:[{name:"state",options:[[Rt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Rt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},wm={init:function(){this.jsonInit({colour:_m,args0:[{name:"state",options:[[Rt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Rt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Rt.Msg.mpython_vertical,"0"],[Rt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Rt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},km={init:function(){this.jsonInit({colour:_m,args0:[{name:"state",options:[[Rt.Msg.mpython_display_hline_1,"1"],[Rt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.mpython_display_line_TOOLTIP,message0:Rt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Hm={init:function(){this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Rt.FieldDropdown(Hm.IMAGES),"path"),this.setColour(_m),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Wm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Km={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Km.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Jm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Qm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},qm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},zm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Rt.FieldDropdown(zm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Rt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Rt.Msg.CLOCKWISE+"90"+Rt.Msg.blockpy_setheading_degree,"1"],[Rt.Msg.CLOCKWISE+"180"+Rt.Msg.blockpy_setheading_degree,"2"],[Rt.Msg.CLOCKWISE+"270"+Rt.Msg.blockpy_setheading_degree,"3"]]},jm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$m={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap($m.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Zm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tE={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Rt.Msg.MIXLY_AipImageClassify_Image+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Rt.Msg.TEXT_CENTER).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},iE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nE={init:function(){this.jsonInit({colour:_m,args0:[{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},sE={init:function(){this.jsonInit({colour:_m,args0:[{name:"dir_h_v",options:[[Rt.Msg.mpython_vertical,"0"],[Rt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},_E={init:function(){this.jsonInit({colour:_m,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.mpython_display_line_TOOLTIP,message0:Rt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},oE={init:function(){this.setColour(_m),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},pE={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_LCD_SETCOLOR).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},aE={init:function(){this.setColour(_m),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SCREEN_FILL);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uE={init:function(){this.setColour(_m),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rE={init:function(){this.setColour(_m),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dE={init:function(){this.setColour(_m),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Rt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Rt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Rt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lE={init:function(){this.setColour(_m),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(_m),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.jsonInit({colour:_m,args0:[{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},ME={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER).appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.DRAW_POINTER_TOOLTIP)}},hE={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER).appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.DRAW_POINTER_TOOLTIP)}},mE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},EE={init:function(){this.setColour(_m),this.appendValueInput("direct").appendField(Rt.Msg.OLED_BITMAP).appendField(Rt.Msg.MIXLY_QR_CODE),"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},OE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP).appendField(Rt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ERROR_RATE).appendField(new Rt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},RE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},cE={init:function(){am.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},gE={init:function(){lm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},CE={init:function(){Rm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){Cm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){Sm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Am.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE=180,DE={init:function(){this.setColour(NE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Rt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(DE.OPERATORS),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"]]},fE={init:function(){this.setColour(NE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(fE.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Rt.Msg.MICROBIT_DISPLAY_UNION,"+"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},FE={init:function(){this.setColour(NE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Rt.FieldDropdown(FE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE+{height:Rt.Msg.MIXLY_HEIGHT,width:Rt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Rt.Msg.MIXLY_HEIGHT,"height"],[Rt.Msg.MIXLY_WIDTH,"width"]]},PE={init:function(){this.setColour(NE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RECT).appendField(new Rt.FieldDropdown(PE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_OLED_RECT)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},YE={init:function(){this.setColour(NE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Rt.FieldDropdown(YE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},vE={init:function(){this.setColour(NE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Rt.FieldDropdown(vE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},XE="#777777",xE={init:function(){this.setColour(XE),this.appendDummyInput("").appendField("from ").appendField(new Rt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Rt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yE={init:function(){this.setColour(XE),this.appendDummyInput("").appendField("import ").appendField(new Rt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bE={init:function(){this.setColour(XE),this.appendDummyInput("").appendField(new Rt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},SO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},AO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},LO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},NO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PROJECT).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},fO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.appendDummyInput().appendField(Rt.Msg.MIXLY_Service_quality_display).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_AT_MOST_ONCE,"0"],[Rt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},FO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},PO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},YO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},XO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},xO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},yO={init:function(){this.setColour(mO),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},bO={init:function(){this.setColour(mO),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},VO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},BO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Rt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},GO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+Rt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wO={init:function(){this.VISITOR_ID=ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(mO),this.appendDummyInput("").appendField(new Rt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},kO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},HO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Rt.Msg.MIXLY_REQUESTS_GET).appendField(Rt.Msg.MIXLY_GET_CURRENT_TIME).appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},KO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Rt.Msg.MQTT_Topic).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},QO=EO,qO=OO,zO=RO,jO=cO,$O=CO,ZO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Rt.Msg.MODEL_NAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Rt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tR=ZO,eR={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Rt.Msg.MODEL_NAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Rt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iR={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nR={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},sR={init:function(){this.setColour(mO),this.appendDummyInput().appendField("Ollama "+Rt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_R={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Rt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Rt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Rt.inputs.Align.RIGHT).appendField(`MixIO ${Rt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},dR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lR=225,IR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NETWORK_MODE).appendField(new Rt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},TR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Rt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Rt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Rt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Rt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},MR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},hR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Rt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},mR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},ER={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_CONNECT+Rt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},OR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Rt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Rt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Rt.Msg.MIXLY_ESP32_NETWORK_IP,1:Rt.Msg.MIXLY_ESP32_NETWORK_MASK,2:Rt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},RR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},cR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Rt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},gR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Rt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Rt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},CR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},SR={init:function(){this.setColour(lR),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Rt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},AR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},LR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},NR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},DR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},fR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},FR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},PR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},YR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},vR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},XR={init:function(){this.setColour(lR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},xR={init:function(){this.setColour(lR),this.appendValueInput("DOMAIN").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_REQUESTS_GET).appendField(new Rt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},yR={init:function(){this.appendValueInput("VAL"),this.setColour(lR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown(yR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Rt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Rt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Rt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Rt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},bR={init:function(){this.appendValueInput("VAR").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(lR),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown(bR.METHOD),"DIR"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Rt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Rt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},VR={init:function(){this.setColour(lR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Rt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},BR={init:function(){this.setColour(lR),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},GR="#3288dd",UR={init:function(){this.setColour(GR),this.appendValueInput("URL").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Rt.Msg.blockpy_REQUESTS).appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},wR={init:function(){this.setColour(GR),this.appendValueInput("URL").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Rt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Rt.Msg.blockpy_REQUESTS+Rt.Msg.OLED_STRING),this.appendDummyInput("").appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},kR={init:function(){this.appendValueInput("VAL"),this.setColour(GR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown(kR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Rt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Rt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},HR={init:function(){this.setColour(GR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Rt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},WR={init:function(){this.setColour(GR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Rt.Msg.MIXLY_EMQX_PORT).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},KR={init:function(){this.setColour(GR),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Rt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},JR={init:function(){this.setColour(GR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QR={init:function(){this.setColour(GR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qR={init:function(){this.setColour(GR),this.appendDummyInput().appendField("mqtt"+Rt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},zR="#A58C5B",jR={init:function(){this.setColour(zR),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SENOR_IS_PRESSED)}},$R={init:function(){this.setColour(zR),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SENOR_WAS_PRESSED)}},ZR={init:function(){this.setColour(zR),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_BUTTON+Rt.Msg.MIXLY_GET_PRESSES)}},tc={init:function(){this.setColour(zR),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},ec={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_shake,"shake"],[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"],[Rt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Rt.Msg.MIXLY_MICROBIT_face_down,"face down"],[Rt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Rt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Rt.Msg.MSG.catSensor,s=Rt.Msg.MIXLY_MICROBIT_JS_STATE,_=Rt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Rt.Msg.MIXLY_MICROBIT_shake,up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT,"face up":Rt.Msg.MIXLY_MICROBIT_face_up,"face down":Rt.Msg.MIXLY_MICROBIT_face_down,freefall:Rt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},ic={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},nc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},sc={init:function(){this.setColour(zR),this.appendValueInput("PIN",Number).appendField(new Rt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Rt.FieldDropdown(sc.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},_c={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},oc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},pc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"left"],[Rt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Rt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=Rt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Rt.Msg.MIXLY_ESP32_NEAR;return i+{left:Rt.Msg.TEXT_TRIM_LEFT,right:Rt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},ac={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Rt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},uc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Rt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},rc={init:function(){this.setColour(zR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},dc={init:function(){this.setColour(zR),this.appendDummyInput("").appendField("LM35"+Rt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LM35)}},lc={init:function(){this.setColour(zR),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Rt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Rt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Rt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Rt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Rt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Rt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Rt.Msg.HTML_COLOUR+"、"+Rt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Rt.Msg.MIXLY_NEXT+"、"+Rt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Rt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Rt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Rt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Rt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Rt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ic={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Rt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Rt.Msg.MIXLY_DELAY_TIME_RANGE)}},Tc={init:function(){this.setColour(zR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RADAR).appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Rt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Rt.Msg.MIXLY_DELAY_TIME_RANGE)}},Mc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},hc={init:function(){this.setColour(zR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RADAR).appendField(Rt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},mc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ec={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Rt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Rt.Msg.MIXLY_THE_FIRST,"3"],[Rt.Msg.MIXLY_THE_SECOND,"4"],[Rt.Msg.MIXLY_THE_THIRD,"5"],[Rt.Msg.MIXLY_THE_FOURTH,"6"],[Rt.Msg.MIXLY_THE_FIFTH,"7"],[Rt.Msg.MIXLY_THE_SIXTH,"8"],[Rt.Msg.MIXLY_THE_SEVENTH,"9"],[Rt.Msg.MIXLY_THE_EIGHTH,"10"],[Rt.Msg.MIXLY_THE_NINTH,"11"],[Rt.Msg.MIXLY_THE_TENTH,"12"],[Rt.Msg.MIXLY_THE_ELEVENTH,"13"],[Rt.Msg.MIXLY_THE_TWELFTH,"14"],[Rt.Msg.MIXLY_THE_13TH,"15"],[Rt.Msg.MIXLY_THE_14TH,"16"],[Rt.Msg.MIXLY_THE_15TH,"17"],[Rt.Msg.MIXLY_THE_16TH,"18"],[Rt.Msg.MIXLY_THE_17TH,"19"],[Rt.Msg.MIXLY_THE_18TH,"20"],[Rt.Msg.MIXLY_THE_19TH,"21"],[Rt.Msg.MIXLY_THE_20TH,"22"],[Rt.Msg.MIXLY_Turn_on_the_lights,"23"],[Rt.Msg.MIXLY_Turn_off_the_lights,"24"],[Rt.Msg.MIXLY_Turn_up_the_brightness,"25"],[Rt.Msg.MIXLY_Turn_down_the_brightness,"26"],[Rt.Msg.MIXLY_Set_it_to_red,"27"],[Rt.Msg.MIXLY_Set_it_to_orange,"28"],[Rt.Msg.MIXLY_Set_it_to_yellow,"29"],[Rt.Msg.MIXLY_Set_it_to_green,"30"],[Rt.Msg.MIXLY_Set_it_to_cyan,"31"],[Rt.Msg.MIXLY_Set_it_to_blue,"32"],[Rt.Msg.MIXLY_Set_it_to_purple,"33"],[Rt.Msg.MIXLY_Set_it_to_white,"34"],[Rt.Msg.MIXLY_Turn_on_the_fan,"35"],[Rt.Msg.MIXLY_Turn_off_the_fan,"36"],[Rt.Msg.MIXLY_First_gear,"37"],[Rt.Msg.MIXLY_Wind_speed_second,"38"],[Rt.Msg.MIXLY_Third_gear,"39"],[Rt.Msg.MIXLY_Previous,"40"],[Rt.Msg.MIXLY_Next_page,"41"],[Rt.Msg.MIXLY_Show_smiley_face,"42"],[Rt.Msg.MIXLY_Show_crying_face,"43"],[Rt.Msg.MIXLY_Show_love,"44"],[Rt.Msg.MIXLY_Close_display,"45"],[Rt.Msg.MIXLY_Start_execution,"46"],[Rt.Msg.MIXLY_FORWARD,"47"],[Rt.Msg.MIXLY_BACKWARD,"48"],[Rt.Msg.MIXLY_TURNLEFT,"49"],[Rt.Msg.MIXLY_TURNRIGHT,"50"],[Rt.Msg.MIXLY_STOP,"51"],[Rt.Msg.MIXLY_Accelerate,"52"],[Rt.Msg.MIXLY_retard,"53"],[Rt.Msg.ROTATION_FORWARD,"54"],[Rt.Msg.ROTATION_BACKWARD,"55"],[Rt.Msg.MIXLY_Query_temperature,"56"],[Rt.Msg.MIXLY_Query_humidity,"57"],[Rt.Msg.MIXLY_Query_brightness,"58"],[Rt.Msg.MIXLY_Query_sound,"59"],[Rt.Msg.MIXLY_Query_time,"60"],[Rt.Msg.MIXLY_Query_distance,"61"],[Rt.Msg.MIXLY_Query_pressure,"62"],[Rt.Msg.MIXLY_Query_key,"63"],[Rt.Msg.MIXLY_Query_touch,"64"],[Rt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Rt.Msg.MIXLY_WHETHER+Rt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},Oc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Rt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Rt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Rc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MP3_PLAY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Rt.Msg.MIXLY_WIND_SPEED,"154"],[Rt.Msg.MIXLY_HYETAL,"155"],[Rt.Msg.MIXLY_TEMPERATURE,"156"],[Rt.Msg.MIXLY_Humidity,"157"],[Rt.Msg.MIXLY_Altitude,"158"],[Rt.Msg.MIXLY_SOUND,"159"],[Rt.Msg.MIXLY_BRIGHTNESS,"160"],[Rt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Rt.Msg.MIXLY_SERVO,"162"],[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Rt.Msg.MIXLY_BUTTON2,"164"],[Rt.Msg.MIXLY_ESP32_TOUCH,"165"],[Rt.Msg.MIXLY_PAY,"166"],[Rt.Msg.MIXLY_CARSH_CHANGE,"167"],[Rt.Msg.MIXLY_COUNTDOWN,"168"],[Rt.Msg.MIXLY_TIMING,"169"],[Rt.Msg.MIXLY_AT_THE_MOMENT,"170"],[Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Rt.Msg.MIXLY_FORWARD,"172"],[Rt.Msg.MIXLY_BACKWARD,"173"],[Rt.Msg.MIXLY_TURNLEFT,"174"],[Rt.Msg.MIXLY_TURNRIGHT,"175"],[Rt.Msg.MIXLY_STOP,"176"],[Rt.Msg.MIXLY_Accelerate,"177"],[Rt.Msg.MIXLY_retard,"178"],[Rt.Msg.ROTATION_FORWARD,"179"],[Rt.Msg.ROTATION_BACKWARD,"180"],[Rt.Msg.TUPLE_JOIN,"181"],[Rt.Msg.MIXLY_SHOW,"182"],[Rt.Msg.MIXLY_LAMPLIGHT,"183"],[Rt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Rt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_UNIT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Rt.Msg.MIXLY_YEAR,"117"],[Rt.Msg.MIXLY_MONTH,"118"],[Rt.Msg.MIXLY_DAY,"119"],[Rt.Msg.MIXLY_HOUR,"120"],[Rt.Msg.MIXLY_MINUTE,"121"],[Rt.Msg.MIXLY_SECOND,"122"],[Rt.Msg.MIXLY_WEEK2,"123"],[Rt.Msg.MIXLY_RMB_UNIT,"124"],[Rt.Msg.blockpy_setheading_degree,"125"],[Rt.Msg.MIXLY_GEAR,"126"],[Rt.Msg.MIXLY_LAYER,"127"],[Rt.Msg.MIXLY_GRAM,"128"],[Rt.Msg.MIXLY_METER,"129"],[Rt.Msg.MIXLY_CENTIMETER,"130"],[Rt.Msg.MIXLY_MILLIMETER,"131"],[Rt.Msg.MIXLY_LUMEN,"132"],[Rt.Msg.MIXLY_DECIBEL,"133"],[Rt.Msg.MIXLY_hectopascal,"134"],[Rt.Msg.MIXLY_PERCENT,"135"],[Rt.Msg.MIXLY_CELSIUS,"136"],[Rt.Msg.MIXLY_METER_PER_SEC,"137"],[Rt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Rt.Msg.MIXLY_SUCCESS,"140"],[Rt.Msg.MIXLY_FAILED,"141"],[Rt.Msg.MIXLY_WRONG,"142"],[Rt.Msg.MIXLY_GOOD,"143"],[Rt.Msg.MIXLY_blockpy_set_add,"144"],[Rt.Msg.MIXLY_DECREASE,"145"],[Rt.Msg.COLOUR_RGB_RED,"146"],[Rt.Msg.COLOUR_RGB_ORANGE,"147"],[Rt.Msg.COLOUR_YELLOW,"148"],[Rt.Msg.COLOUR_RGB_GREEN,"149"],[Rt.Msg.COLOUR_CYAN,"150"],[Rt.Msg.COLOUR_RGB_BLUE,"151"],[Rt.Msg.COLOUR_RGB_PURPLE,"152"],[Rt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_SYSTEM+Rt.Msg.MIXLY_CMD).appendField(new Rt.FieldDropdown([[Rt.Msg.MILXY_ENTER_WAKE_UP,"1"],[Rt.Msg.MIXLY_INCREASE_VOLUME,"202"],[Rt.Msg.MIXLY_REDUCE_VOLUME,"203"],[Rt.Msg.MIXLY_MAX_VOLUME,"204"],[Rt.Msg.MIXLY_MINIMUM,"205"],[Rt.Msg.MIXLY_OPEN_RESPONSE,"206"],[Rt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Rt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},gc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Rt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Rt.Msg.MIXLY_ESP32_MAX30102_IR+","+Rt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Rt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Rt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ac={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.HTML_COLOUR+Rt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET+Rt.Msg.HTML_COLOUR,"[2]"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_IR_STRENGTH,"[1]"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.HTML_COLOUR+Rt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET+"RGB"+Rt.Msg.HTML_COLOUR,"0"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_RGB_RAW,"1"],[Rt.Msg.MIXLY_GET_ENV_LIGHT+Rt.Msg.MIXLY_BRIGHTNESS,"2"],[Rt.Msg.GET_IR_STRENGTH+Rt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Rt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Fc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Pc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},vc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MIXGOPE_FIELD+Rt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Rt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_shake,"shake"],[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"],[Rt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Rt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Rt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Rt.Msg.MSG.catSensor,s=Rt.Msg.MIXLY_MICROBIT_JS_STATE,_=Rt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Rt.Msg.MIXLY_MICROBIT_shake,up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT,"face up":Rt.Msg.MIXLY_MICROBIT_face_up,"face down":Rt.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},bc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Vc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET+Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Bc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Gc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Uc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_GETTEMPERATUE)}},wc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return Rt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},kc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Hc={init:function(){this.setColour(zR),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},Wc={init:function(){this.setColour(zR),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Rt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kc={init:function(){this.setColour(zR),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jc={init:function(){this.setColour(zR),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Qc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},qc={init:function(){this.setColour(zR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Rt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},zc={init:function(){this.setColour(zR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_SCAN_OK,"0"],[Rt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Rt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},jc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},$c={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Zc={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},tg={init:function(){this.setColour(zR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},bP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},VP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},BP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},GP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},UP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},kP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},HP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},WP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},KP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},JP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},QP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},qP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},zP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},jP=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},$P=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},ZP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},tY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},eY=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},iY=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},nY=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},sY=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_Y=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},oY=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},pY=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},aY=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},uY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},rY=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},dY=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),_=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},lY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},IY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},TY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},MY=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},hY=function(t,e){e.definitions_.import_st7789="import st7789";var i=ct.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},mY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},EY=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},OY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},RY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},cY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},gY=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},CY=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},SY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},AY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},LY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},NY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},DY=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},fY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=ct.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},FY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},PY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},YY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},vY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},XY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},xY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},yY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},bY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},VY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},BY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},GY=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},UY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},wY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},kY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},HY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},WY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},KY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},JY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},QY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},qY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},zY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},jY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},$Y=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},ZY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},tv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},ev=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Bv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},Gv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},Uv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},wv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},kv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Hv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Wv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},Kv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),o=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},Jv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},Qv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},qv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},zv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},jv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},$v=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Zv=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},tX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},eX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},iX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},nX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"direct",e.ORDER_ATOMIC);e.valueToCode(this,"boolean",e.ORDER_ATOMIC);return"onboard_tft.qrcode("+n+")\n"},sX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},_X=WY,oX=rv,pX=pv,aX=rv,uX=dv,rX=nv,dX=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},lX=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},IX=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},SG=function(){return"control.reset()\n"},AG=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||ct.Profile.default.serial)+")\n"},LG=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||ct.Profile.default.serial)+")\n"},NG=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},DG=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},fG=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},FG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},PG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},YG=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},vG=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},XG=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},xG=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},yG=function(){return"while True:\n pass\n"},bG=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},VG=function(t,e){return e.definitions_.import_os="import os","os.uname()"},BG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},GG=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},UG=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},wG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},kG=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},HG=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},WG=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},KG=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},JG=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},QG=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},qG=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},zG=HG,jG=WG,$G=kG,ZG=BG,tU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},eU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},iU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},nU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},sU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},_U=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},oU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},pU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},aU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},uU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},rU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},dU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},lU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},IU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},TU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},MU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:hU}=ct,mU=hU.render(MU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:EU}=ct,OU=EU.render(MU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:RU}=ct,cU=RU.render(MU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),gU=new Rt.Generator("Python");gU.INDENT=" ",gU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),gU.ORDER_ATOMIC=0,gU.ORDER_COLLECTION=1,gU.ORDER_STRING_CONVERSION=1,gU.ORDER_UNARY_POSTFIX=1,gU.ORDER_UNARY_PREFIX=2,gU.ORDER_MEMBER=2.1,gU.ORDER_FUNCTION_CALL=2.2,gU.ORDER_EXPONENTIATION=3,gU.ORDER_UNARY_SIGN=4,gU.ORDER_BITWISE_NOT=4,gU.ORDER_MULTIPLICATIVE=5,gU.ORDER_ADDITIVE=6,gU.ORDER_BITWISE_SHIFT=7,gU.ORDER_BITWISE_AND=8,gU.ORDER_BITWISE_XOR=9,gU.ORDER_BITWISE_OR=10,gU.ORDER_RELATIONAL=11,gU.ORDER_EQUALITY=11,gU.ORDER_LOGICAL_NOT=12,gU.ORDER_LOGICAL_AND=13,gU.ORDER_LOGICAL_OR=14,gU.ORDER_ASSIGNMENT=14,gU.ORDER_CONDITIONAL=15,gU.ORDER_LAMBDA=16,gU.ORDER_NONE=99,gU.ORDER_OVERRIDES=[[gU.ORDER_FUNCTION_CALL,gU.ORDER_MEMBER],[gU.ORDER_FUNCTION_CALL,gU.ORDER_FUNCTION_CALL],[gU.ORDER_MEMBER,gU.ORDER_MEMBER],[gU.ORDER_MEMBER,gU.ORDER_FUNCTION_CALL]],gU.init=function(){gU.PASS=this.INDENT+"pass\n",gU.definitions_=Object.create(null),gU.functionNames_=Object.create(null),gU.setups_=Object.create(null),gU.loops_=Object.create(null),gU.codeEnd_=Object.create(null),gU.variableDB_?gU.variableDB_.reset():gU.variableDB_=new At(gU.RESERVED_WORDS_)},gU.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?e.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in gU.functions_)o.push(gU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in gU.setups_)p.push(gU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in gU.loops_)a.push(gU.loops_[s]);var u=[];for(var s in gU.codeEnd_)u.push(gU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n"),r},gU.scrubNakedValue=function(t){return t+"\n"},gU.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},gU.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},gU.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Rt.utils.string.wrap(_,gU.COMMENT_WRAP-3),n+=gU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const CU={};CU["MixGo CC"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:ct.Profile.generate(["0-11","18-21"]),input_pin:ct.Profile.generate(["0-11","18-21"]),output_pin:ct.Profile.generate(["0-11","18-21"]),pwm_input:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-11","18-21"]),pwm:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:ct.Profile.generate(["0-5"]),analog:ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-31"]),exlcdv:ct.Profile.generate(["0-11"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},CU["MixGo ME"]={description:"MicroPython[ESP32C3 MixGo ME]",digital_pin:ct.Profile.generate(["0-11","18-21"]),input_pin:ct.Profile.generate(["0-11","18-21"]),output_pin:ct.Profile.generate(["0-11","18-21"]),pwm_input:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-11","18-21"]),pwm:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:ct.Profile.generate(["0-5"]),analog:ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-7"]),exlcdv:ct.Profile.generate(["0-4"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},CU["MixGo Car 4.2"]={description:"MicroPython[ESP32]",digital_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["20","20"],["21","21"]],digital:[["pin0","pin0"],["pin1","pin1"],["pin2","pin2"],["pin3","pin3"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin20","pin20"],["pin21","pin21"]],pwm_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["20","20"],["21","21"]],pwm:[["pwm0","pwm0"],["pwm1","pwm1"],["pwm2","pwm2"],["pwm3","pwm3"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm6","pwm6"],["pwm7","pwm7"],["pwm8","pwm8"],["pwm9","pwm9"],["pwm10","pwm10"],["pwm20","pwm20"],["pwm21","pwm21"]],espnow_channel:[["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"]],i2c_A_pin:[["6","6"],["9","9"]],i2c_B_pin:[["7","7"],["10","10"]],spi_A_pin:[["6","6"],["9","9"]],spi_B_pin:[["7","7"],["10","10"]],spi_C_pin:[["9","9"],["20","20"]],spi_D_pin:[["10","10"],["21","21"]],analog_pin:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],analog:[["adc0","adc0"],["adc1","adc1"],["adc2","adc2"],["adc3","adc3"],["adc4","adc4"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],buttonB:[["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["24","24"],["25","25"],["26","26"],["27","27"],["28","28"],["29","29"],["30","30"],["31","31"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","matrix.Image.HEART"],["HEART_SMALL","matrix.Image.HEART_SMALL"],["HAPPY","matrix.Image.HAPPY"],["SAD","matrix.Image.SAD"],["SMILE","matrix.Image.SMILE"],["SILLY","matrix.Image.SILLY"],["FABULOUS","matrix.Image.FABULOUS"],["SURPRISED","matrix.Image.SURPRISED"],["ASLEEP","matrix.Image.ASLEEP"],["ANGRY","matrix.Image.ANGRY"],["CONFUSED","matrix.Image.CONFUSED"],["NO","matrix.Image.NO"],["YES","matrix.Image.YES"],["LEFT_ARROW","matrix.Image.LEFT_ARROW"],["RIGHT_ARROW","matrix.Image.RIGHT_ARROW"],["DRESS","matrix.Image.DRESS"],["TRANSFORMERS","matrix.Image.TRANSFORMERS"],["SCISSORS","matrix.Image.SCISSORS"],["EXIT","matrix.Image.EXIT"],["TREE","matrix.Image.TREE"],["PACMAN","matrix.Image.PACMAN"],["TARGET","matrix.Image.TARGET"],["TSHIRT","matrix.Image.TSHIRT"],["ROLLERSKATE","matrix.Image.ROLLERSKATE"],["DUCK","matrix.Image.DUCK"],["HOUSE","matrix.Image.HOUSE"],["TORTOISE","matrix.Image.TORTOISE"],["BUTTERFLY","matrix.Image.BUTTERFLY"],["STICKFIGURE","matrix.Image.STICKFIGURE"],["GHOST","matrix.Image.GHOST"],["PITCHFORK","matrix.Image.PITCHFORK"],["MUSIC_QUAVERS","matrix.Image.MUSIC_QUAVERS"],["MUSIC_QUAVER","matrix.Image.MUSIC_QUAVER"],["MUSIC_CROTCHET","matrix.Image.MUSIC_CROTCHET"],["COW","matrix.Image.COW"],["RABBIT","matrix.Image.RABBIT"],["SQUARE_SMALL","matrix.Image.SQUARE_SMALL"],["SQUARE","matrix.Image.SQUARE"],["DIAMOND_SMALL","matrix.Image.DIAMOND_SMALL"],["DIAMOND","matrix.Image.DIAMOND"],["CHESSBOARD","matrix.Image.CHESSBOARD"],["TRIANGLE_LEFT","matrix.Image.TRIANGLE_LEFT"],["TRIANGLE","matrix.Image.TRIANGLE"],["SNAKE","matrix.Image.SNAKE"],["UMBRELLA","matrix.Image.UMBRELLA"],["SKULL","matrix.Image.SKULL"],["GIRAFFE","matrix.Image.GIRAFFE"],["SWORD","matrix.Image.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","music.DADADADUM"],["ENTERTAINER","music.ENTERTAINER"],["PRELUDE","music.PRELUDE"],["ODE","music.ODE"],["NYAN","music.NYAN"],["RINGTONE","music.RINGTONE"],["FUNK","music.FUNK"],["BLUES","music.BLUES"],["BIRTHDAY","music.BIRTHDAY"],["WEDDING","music.WEDDING"],["FUNERAL","music.FUNERAL"],["PUNCHLINE","music.PUNCHLINE"],["PYTHON","music.PYTHON"],["BADDY","music.BADDY"],["CHASE","music.CHASE"],["BA_DING","music.BA_DING"],["WAWAWAWAA","music.WAWAWAWAA"],["JUMP_UP","music.JUMP_UP"],["JUMP_DOWN","music.JUMP_DOWN"],["POWER_UP","music.POWER_UP"],["POWER_DOWN","music.POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},CU["ESP32C3 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:ct.Profile.generate(["0-11","18-21"]),input_pin:ct.Profile.generate(["0-11","18-21"]),output_pin:ct.Profile.generate(["0-11","18-21"]),pwm_input:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-5"],"adc","adc"),pwm_output:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-5"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-11","18-21"]),pwm:ct.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:ct.Profile.generate(["0-5"]),analog:ct.Profile.generate(["0-5"],"adc","adc"),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-31"]),exlcdv:ct.Profile.generate(["0-11"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const SU=CU,AU=20,LU={init:function(){this.setColour(AU),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HIGH,"HIGH"],[Rt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},NU={init:function(){this.setColour(AU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},DU={init:function(){this.setColour(AU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},fU={init:function(){this.setColour(AU),this.appendValueInput("PIN",Number).appendField("DAC"+Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},FU={init:function(){this.setColour(AU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_mSecond,"period"],[Rt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},PU={init:function(){this.setColour(AU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_REF_VOLTAGE+Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},YU={init:function(){this.setColour(AU),this.appendValueInput("pin").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},vU={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},XU={init:function(){this.setColour(20),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[Rt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[Rt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[Rt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},xU={init:function(){this.setColour(AU),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("dac#"),"PIN_OBJ").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+Rt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},yU={init:function(){this.setColour(AU),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("tc#"),"PIN_OBJ").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},bU={init:function(){this.setColour(AU),this.appendValueInput("PIN",Number).appendField("PWM"+Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_FREQUENCY+Rt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},VU=XU,BU=yU,GU=YU,UU=vU,wU=40,kU={init:function(){if("mixgo_me"==ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wU),this.appendDummyInput("").appendField(t).appendField(Rt.Msg.MIXLY_TEM_HUM+" AHT21").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},HU={init:function(){if("mixgo_me"==ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wU),this.appendDummyInput("").appendField(t).appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" HP203X").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},WU={init:function(){if("mixgo_me"==ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wU),this.appendDummyInput().appendField(t).appendField(Rt.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},KU={init:function(){if("mixgo_me"==ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wU),this.appendDummyInput().appendField(t).appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RFID_READ_CARD_UID),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},JU={init:function(){if("mixgo_me"==ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wU),this.appendDummyInput().appendField(t).appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},QU={init:function(){if("mixgo_me"==ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wU),this.appendDummyInput().appendField(t).appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qU={init:function(){if("mixgo_me"==ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wU),this.appendDummyInput().appendField(t).appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Rt.Msg.RETURN_SUCCESS_OR_NOT),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setInputsInline(!0),this.setOutput(!0),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zU={init:function(){if("mixgo_me"==ct.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wU),this.appendDummyInput().appendField(t).appendField("RFID"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_SCAN_OK,"0"],[Rt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Rt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,Number),this.setInputsInline(!0),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},jU=230,$U={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},ZU={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},tw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},ew={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},iw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},nw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},sw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},_w={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},ow={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},pw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},aw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},uw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},rw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},dw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},lw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Iw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},Tw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},Mw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},hw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},mw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Ew={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Ow={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Rw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},cw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Cw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},Sw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Aw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Lw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},Nw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},Dw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},fw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},Fw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Pw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},vw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Xw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},xw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},yw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},bw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},Vw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Bw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Gw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},Uw={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},ww={init:function(){this.setColour(jU),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["0","0"],["1","1"]]),"PIN"),this.setOutput(!0,Number)}},kw=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},Hw=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Ww=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},Kw=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},Jw=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Qw=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},qw=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},zw=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},jw=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},$w=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Zw=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},tk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_ahtx0."+i+"()",e.ORDER_ATOMIC]},ek=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_hp203x."+i,e.ORDER_ATOMIC]},ik=function(t,e){e.definitions_.import_me_g1="import me_g1";return["me_g1.varistor()",e.ORDER_ATOMIC]},nk=function(t,e){e.definitions_.import_me_g1="import me_g1";return['me_g1.ext_rc522.read_card(0, x="id")',e.ORDER_ATOMIC]},sk=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.read_card("+i+")",e.ORDER_ATOMIC]},_k=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1","me_g1.ext_rc522.write_card("+n+","+i+")\n"},ok=function(t,e){var i=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.write_card("+n+","+i+")",e.ORDER_ATOMIC]},pk=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_me_g1="import me_g1",["me_g1.ext_rc522.scan_card()=="+i,e.ORDER_ATOMIC]},ak=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},uk=ak,rk=ak,dk=ak,lk=ak,Ik=ak,Tk=ak,Mk=ak,hk=ak,mk=ak,Ek=ak,Ok=ak,Rk=ak,ck=ak,gk=ak,Ck=ak,Sk=ak,Ak=ak,Lk=ak,Nk=ak,Dk=ak,fk=ak,Fk=ak,Pk=ak,Yk=ak,vk=ak,Xk=ak,xk=ak,yk=ak,bk=ak,Vk=ak,Bk=ak,Gk=ak,Uk=ak,wk=ak,kk=ak,Hk=ak,Wk=ak,Kk=ak,Jk=ak,Qk=ak,qk=ak,zk=ak,jk=ak,$k=ak,Zk=ak;Object.assign(Rt.Variables,Ct),Object.assign(Rt.Procedures,Bu),Object.assign(Rt.Lang.ZhHans,dt),Object.assign(Rt.Lang.ZhHant,lt),Object.assign(Rt.Lang.En,It),Rt.Python=Gu,Rt.generator=Gu,ct.Profile.default={},Object.assign(ct.Profile,SU),Object.assign(ct.Profile.default,SU["MixGo CC"]),Object.assign(Rt.Blocks,e,i,n,s,_,o,p,a,u,r,d,l,I,V,H,k,X,B,W,f,w,U,G,F,D,N,y,x,b,P,Y,v,Tt,Mt,ht),Object.assign(Rt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,nt,ut,at,Z,st,rt,Q,pt,ot,_t,q,J,K,et,tt,it,z,j,$,mt,Et,Ot)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c3/styles/main.59b36aec.css b/boards/default/micropython_esp32c3/styles/main.b1fb04d0.css similarity index 97% rename from boards/default/micropython_esp32c3/styles/main.59b36aec.css rename to boards/default/micropython_esp32c3/styles/main.b1fb04d0.css index 7dd40fb5..cae16127 100644 --- a/boards/default/micropython_esp32c3/styles/main.59b36aec.css +++ b/boards/default/micropython_esp32c3/styles/main.b1fb04d0.css @@ -158,6 +158,16 @@ div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(12)>div.blocklyTr background-size: 100% auto; } +#catPE_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZDNmNzAyOWQtOWMwYy00NTRiLTllMTQtNTg0MjY3NTRiYWMyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkM2Y3MDI5ZC05YzBjLTQ1NGItOWUxNC01ODQyNjc1NGJhYzI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/zmC9wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADFklEQVR42uzXPYgdVRjG8f/znnFbEUWwFBENKVLEMosoWNiYoEnYL4MEtbAQoqsi9gHNrh+FYKKNMfeGZZeNNoKaJhIrU9ikEQnpUq2gRYp1zvtYzFxJjAlC5pImpxyGc37M+3HekW3u5NJdwLWA5fEikUGNpC2VsChZ3ha8D/zu1HzC9xEJGSQQpULb4EgiEtfSPY+EWrBMlIrbhiyVAFYWRjcHKAMDLhWh3bIu2HwmeAzxlGEd8iVquZoaHLD0hcwm1rcKAB8yfOkaQgnFr8o6jozbWEwxHhTw1njJ4I+AN0AA+4F1Uo8gX0oZarkvIkcEz9qcBx+klitDAt4DjvaAF4ANUg8Dl90foKgg9gmdAXDGspWrUwcApIVKBcC1lCh5QnDY8Bt4nzMuThVgC3oAtUBUCO+R42vgfpvVtJanBgBwJAZUC5SKZahBBEeBd4E/jZ+jLeccUwAgk/L1gAxCxvC4rE2JHU59lfByRN12HRIAXa8AFHkdIPvQROTrhD8BgX3AtWwMCgBIQDLuO+O1AJWK4UE5Tof8tK2zVTkXsDUYwAA3+QI9ANqGaNqDwJoRmD0ri6d+GgTwT0LeAqC2gabFFiF+Bp44tnBKwwCs7vBIMoMAVCqZgTKgaclaCAuaFjkuALsHA9iC/wVgIZocuQPPrsyPzg9TBVb3Vn/oDYBSHwKtBcw69UPK80Rurc6PByjDSJyB+s54A8BxJCI/dJeKB1zLhiMhkmEApXYX078BkTsNZyQ9StXJlF9R5Pbkyp4uQD4msQz8YeVe2uac5e7yGgrgPvvVJ5hS0NQnhb4B7rX5wNY76puT+7DcPsBcJro6V8YEMBPwOeFD4F+B551xcdKihweU7OaBDFTqftB6X45HjD+eDCS3C/jvkQwu9bF+QGgs+RnjH8FzynIlZYYAHE9508rvGgfAi7ZOdkOpUeRriE8B3JYFy6ejVKiFYQCjJWqppEVTC8AuhX9x6oTEDuRZmzWUh6nN1cm0MyygacntGbQ9A6VS7vnrTYVXsLacmrM5q6bfcGjA3X/DO7H+HgDRj5vujRlaHAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catPE_G1.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmEyZmFlYWEtZjcyYS1hYjQzLThkN2EtYjEwY2QxMTA3MmNiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYTJmYWVhYS1mNzJhLWFiNDMtOGQ3YS1iMTBjZDExMDcyY2I8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+wqwjaAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABl0lEQVR42uzXP0hVcRjG8c9FcI0wgsYQSWloqDEJgwYXk/6IFYaEOjQIlRTRLpTanyHIaqlQEaV0ESoXI6ccWlxCws1JwYaGltvyHrhIQ8O9ryC+0+89cA7f3znv73meUyqXy3azSvsA/wFwFw+xhSv4lAlwEit4gWNowwx68bsWAK/xHgvRX8cblKIfwHisr2Gy2gBlPMHt6C/FjhvxM64dxATa8RVd2KgmwAMMR38RsziK9R33duJDrIcwlg0AdXiJG1gLqNVMgKJOYw4N8SaGsgGKGsZ9/EIHlrIBoDlOUgveoQ9/MgGKGsSzWF+O56QCwGFM4SwW0Y3NTICiujBdMbDL2QBFfcOpCmVNB1gJf0kHuBryDa0h4SkAR+Lbt+Jz2HnaEN7C4904hsfDpJrwFv2ZQjQSPrCN85lSfAbzOIBHuJdlRvV4FcnpBy5k2nGRloqBe5oVyQ5FFjyHL6HvVYtk42GlH6PviUkulOsmnleIy1StY/kJfI/Y1RKCMh0RrCax/F91B6OhYN1hq/v/hnsH4O8A38/3wXV4mTEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + #catME_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTgzOWI5NTgtMjZhNy1kYTQwLTg1NDQtZWRkY2UzZjYzYmNhPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplODM5Yjk1OC0yNmE3LWRhNDAtODU0NC1lZGRjZTNmNjNiY2E8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+w67uMwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAFA0lEQVR42sSXS6hkVxWGv3/tfW4bgxIJNK1RuKJ4J42PgWJGCUkEHwMHcZSbgYKQgWRqRKI4izF3IoiERnzQ3pkRRwaFpB21GATRJpDuIDFog23EGNMm3XXOXr+DU1W36tbDJhlkD+ucOvtba/3r32vLNm/l0uHBfXdJfOSN/h+7DarnWpQ/iTEYI2SzkxOESQcArRSGqGghaB0e7P8W+OSbCGIw+klKX8ZLZBTaCGRtBfCU+iLYQNzoxsDbBbvAZSfvnT0wIpRIvmGAl2xOzlK1IdeglZ9vDvkq8HxaH1p8UNTmGyXx/wFInyTAEhzTpWQaBaWRPb4zrltD/ucigNG4eRijEbrxpMwHhlI+00f353AeAzBXpDyl4o3RX9PbaC7UHIicf+C2kP8GXEprbx59NDKCzDHyIM+Gfb/R633Uj1m6uAhwbRrlGcbY19TB0ahnmuKPAKW17QAaAdxEaY2sAdKjkflVS6/YvCecr80A/gW8a8yVNyqA5CvG3wcWS7ACEE4UHjNAoQ49GcH1ukPX2g9rDl9CPpfEXZbQ4cH+AFwF7t0meVsXDP849vMcoFl7YRNuEPFwhqrRt5QmS4EYn0XjBVu7rcbnMuKXMxFewT6FtA1gXX6WM6AxO+F0GCw/k9an+rrzn+qBkgMmbhecR7yYYncG8Hfsd/sYgOy5KuzYCuBkr0Wh7zq6Nvlg19oPEHckerZFOW1EbQMiQboAOp3SJ3R4sD8BesM3jgoOwAmZ87Z/M+3F0VC0OQOy6WtHkJRsCM7JvtPSd4YoD4WTaAnSA4jHDQc6PNh/GbhlbdrRU2ndo43iXAVoUXBopumbuhz+C6gR7wRenXrAnuA5i9/r8GC/BybYDy61oelU+IMifzezUlvz3t7WhtTRO4wI+6wa9zfpCyk9UTIRrkg90C9p4Fj4qHhsqQwiRm/v+w5bM59fCxDMzgFj4gHQ49hfF37EsxpKLwO3LANsOYYUSYmktcIw1DcEADyy4O9zgLEEmpdAqy5EAX4dkX+xRWvlBkowraf9UzX2m3RvSj8vmciuhHpgslWEyz4QDyZ875ggVwBk4xB9qYS9KMJ3AFfnIhTPmVGEE6DH/uaWDHRYPzM8fyNWbAmHCHvWho8OUb62pg0f2yzC1Z6cr1SstWJhSiYZ8T6Js8J3GD07LBmRQVwAnbb08a1WbIRtgukcgBY3Xz0Lxjc6FJPpF56xdc+k7rzauR9PRpXbhc8jv5jS7tbDyOivaS5pNhF5Kf3LJUj2HEHWiDoM35V4JdHDaqaVgooZS+AXjHZbic9m6MmF43ht8/3K6U+PaR8xtonQEn3tONGuI8zgyg4TmgrX4wQ1hx91OXzR4unmcvfsOL42jfYMPnJC4ZKKp1rEE7YoNKoGMsdJZ50PyGYolUIjSByiU8/QKk59u8gPJfq3zW2yX1ucCa/YnEoLpjOhnAy14hp02VNoRzo4gljpAksESWUYQzGkyy+MPg+83kf9qKVLq0Opx6F0SQPTjwU5n2znQ2orOOPWiFwaSuVxGnJoCgzFvhxu2Ue9cyjrh9KXFHmSmDv1aAg+6oZ1KzNu1ijgFYC+dnO9lNZqyTZkBEPZcDGRfNEbh9K1U+IA3GTr/YbLTC8mllCaVsuofpvIcT7YBPBmr2bN6MeLVzMx3h1mm20HeOy+u018mO1j8cZECGeLeHrxcjqr4cwztgK81dfz/w0AHjWdyjCbBL0AAAAASUVORK5CYII=) no-repeat; background-size: 100% auto; diff --git a/boards/default/micropython_esp32c5/build/Generic_C5_lib-v1.27.0.bin b/boards/default/micropython_esp32c5/build/Generic_C5_lib-v1.27.0.bin new file mode 100644 index 0000000000000000000000000000000000000000..3157070f2baa2f37760fe0b15b0f235751eb5426 GIT binary patch literal 2202128 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%0A0+h*9H+v1;GS0b!N&ecv;PJG{%SA}A>sj_cW$ z4u<1OXEufEms!>7bGjn}nh0|wn>%qS7<`4#Y-iO_ZV}Vod0Aj{_F9HC*Wt_Gmmyi% znAI%CiGvxV3tp_;(e9sLvR2-wK|J}M=|f2tZ>k?KanBwixXn@XVxJ_pCx)+{iv;MK z<;4#d?C1;@7k=2adSKz9RQLL^EH=dWV(5iA+V6#hHP+Lnu<)7ovaO)EeugM24v+os z?^lFtm(TY@>D=VCe%MwJ=2bwdU3hFL+rs_1eF)Ub_bph1^-)j;J7=CI(cVBtWb1%L>Nq*-KzH_-Uvs#&exwx`g(8$VBq*Wp8gDI;J zWkuHt$bBvkj9k&xuTK@49jPwEhC?Y0E*wfrh-A#j^s?upI{?cKMv>%2^3W|wkwwo4 zl`^T!6_bI$_eIoTe4hKiAim?ba*-ewLNJfTV$}QG|Bl~Vj4n^bI8nam)DQg*kUp?)7gOXKPw=D{JrfN}1xl(sI3DSUo!Y9@l#DI^mYsU)60k@`#t1 z4VLA73|XtVnp~|``g_#JxfL2=aIKw9|1k=6Vd(WsQUWj*Qycj^BW7duCDhRh8+MuP zgY#$bAjKr+?>r!%Z8O&bNnt2Zn{zxZi+_ zj(7{DlHP4~uDb=eXnEgGyZ4K03h<36 zZJ(o#1bO#glXZ9RWWN7t2GT@ulA+Mo?uC%a{m*e>0V2L1)5jLB`rPJGCnWB_hMe+q zQjh+zPyLqK{>kt89fIWkr&X9c(^{tX+r`Zo_5Y!`S!MchvtR)?E84_KcE5Dl>yZvC0 zU%sZ-`%Aq4Z~T&twT+7nL-HbyV`kaMB+EW`p4;nI)f5tf_0#LFhExExO=xcRH|Smki;S zxo%>R3@*9JHQhKDZ?qr!04lRyW`QqBjgC^th=%wrtgo*PjSLQ3fnTRjFWN5t{%eI- zUcK1ugLi@Hku0D#cnA{UUP6j!K@S#|t0$$s`n2EfWMEhNtFTKTmJH?H#U#=lNh|hf=G3z#Uqi^a$nx+N*F)G9UNz<4&R7eX?4Hbq`6;ct!W3Dm< zC=BVJwD5I9g~F5Rkk_SHnhvEyUzc8?$`Jo6{&lfodydKsnPkgv3MkxT$dehgK{DNy zDtBec538j5QafRuZ1aZ01EUkTj7iqy`#=O{vM6sS!mjvMdRn2>&=7qO;v(&H0HPw z=-f9M97dw7bulgVbRH^EUaYHoJk9m?nWv4}+-O}Mn;d>hPFkgA6>FXUqyakkA$5{J z&8ybsktymjplCS#A$6%ZrHYH;R#CeJ**yO@xqBU9_NA3eS1zsbE8WsR{F_v)Q>enA zPt1;xACdD%B6RKx`u-mpAHK>2u=jvk_`_$x@P{;C{wU?gDF21^#pmKO_p69<`9k`l zw*M&Q5!3hKRD8V5k4T$qSzamc=l&>~{MHwJ=fi*e(UUiS{tbl-pSeQ-+F_=E`0tC6nyBD7uLS`$1Z-}U@JbwSu>c`arq@HX5X)MmhO(}$GIki z)-o1%a^1@@!}LE8IfJvhHR6 zu>%GeLR(-!-RyDs9qDA?`1p80g8YG_Hl_;N5VW_*<^+uNE;bc53&o^V(b^Z5+HWas z^pzrP8Ww=@mCIf-T|#a-zp(he8%xV8t834faS3_z*6lklRON1ZYkQ~pfxEkV`>lhQ zP`5t1cYJdC^6<#$*!aZcGgDX7!2#NMgx~)!9QGl{Veft9#nr97SKsiBt>X_~{rc0F zXfAnW_|+?gS4OT4kJeu;yfVsf?Aq|S;^PLp_R2&EC%w!(j=-#*6&nau2VNNsO;DYt zuJu)CZJTXbK`N(QLSTELrVPWY%Lpew#4b=WUB;XWg?1liq~B@h$LA-nJgI3COy#(H zhWk|@d=Cqg!mB99qNL=zKqo2gn%dMg>B&>0Ba0+1r_>e&Y4PGf{euII4-OoCaNzL$ zg%@SK{K0|uXItO^B=W!!PW;V8p$n$6&xpe1a71~kn+f?6GPSpRRVWA)>$eL}p3|Kt z6EEXMP@-X8YDTgFH;oG|}%l zeNTmo4WLc(^)D6&UZ@VdOv!f-z5nUwo(9XjdkFniPV+{dvZ;h?LVSgq!*305_?)yC zON2Wdr0Hs1&Hce=`m3@?rD*R9-Rnx9kG03XrFw|@k_~?E z<2TIT*4EbOfFjydhXs@(-( z*H!SmxHmgqgO}qooA1qW;)*E1D_AT)m8`p3sf|k1p1jh%N!gBPzxz|)evDfaa2v#F z`|x*v>cg^Salh23>E6!E8QzRne~ga|8&;ec)jr$By$r3LwM4pMFmKe}Qmb4wbtUv) z?G8g+OYvFWnIx05;~It0f$53j*udP_)vg7V>MIq#>B3X&{ufTG$%SX%b>TVA3Kt4*dib5d9)9wT4_$r}>CKho z;gPRR9)9;%@_Tb~;pPnCS0@+V`Q{6k-a`I6zx2YTFH4e#zGXMLPIzk9|46Hzp6wJ;U!x^3avH@p}uuOZ?uEJoI+*-cI?qenvacHchM)VBPpOt~_m}tn*FUrRr`|dJ&HvHU>p!;qUp`g-;f+7L_+3}q|LA}D z$<9Cdn?GCo#sBQRANqIy`0xD1SN`vRb^m|=-~QZC!BY$kP z{!5>D!<*hQb?{ri@uQVbJ^w>@{+rX^`+tA;fB1oS-~92}kA2BkJihRq&%OMA{p!r7<{Pjzh zE(w0|;@7;5shN~o0=JltqUw>Np*J+7x^7^CK zmH+5FuG{m6hp%7Pb0+DA`tj&HCav9P-}a`jdDhEWJCDBO>9-X~zw2#}vO-kuX>0HC zt!H2OY0_^ge5k@dfof^`20$Fxs)V?^YcZ*HN0RBk6jtLGHn0F zP^l||JUu)r#z8N?V}7Ml3B$`XUI#DBz!Y9PB%Cy1-4#A)=c%N~)fapd3_P3S>aUpx zf&yO3xIzy)R(QnCGIWsT8RAv4KRkEol~=h0s=B+4(<)er&t2NVd&+=Y*pmS(0_&a* zVE7;+h-KOWYn3Z_WXVSfIZA{7&~8{$$+7Os!_=^Sw|2DI7~nC3CtCxjNBe`YG>7hu z4AnSuw)V`!Nw@4d1ji-kOxLar_2`N!A0+l4Nh3^Ugw$C91PHbu~AxkowmjYhjVQ;tA}Cq zY>@Yd?u`xs;}f%wUHGuVhaP(9lM26q-^czXKNij}5dWbI-wbXYNEY#L)IHF5&oxLU zFwQ(JT!tV&d1d6)r#MKh>)OO^499m+Ll*bkx4m$7>6$XlV&94p{4Q(=*z--ZMinI) zw9f66r9G>S;|NYsJ%|0{C%vLd&AHke&%I(-XHM$C;a{?zkki|_xZi@s#Xvu zE6xZu42svQr=90U&d=kjFV<4G(1Y5*?-OSzm{dOKy-}>PEKJ5{#NUcLmWKq1w z!H6%#v7y-QA$JxsD6Z#wY4i2!Y&Tj%d#%=fEc}O+?XdE{kaiE52SarZ;HO#f*X;+c zI(YYSkc3}00>n3?eK6@A&p4l~+#2p4FV$C0k%2}h}P3_a2LGX(NmnK$-TddvC@!Ju_MrUL>G$z?l!#F6bnP%T(5;V^NT?f{&gJ3Qf3@6`+pQPc z^~c7lxw>;j%pZDk&(vMV7UYI2T4i_MYG9Fh%j{S-sch)4x^1LQt1f>P_61H%dWtcm zi5YfjFX!fy0W5l$dvY}dTL?bBZjPsn?sp-l=LuS~x?L^YS8Pnqd;zsx)*1h@*EUv@ zFosx|_gF6wvRMAfo|+|OTpoP*8e7)zgQQl4>FCJV&Lf6zB>B!rVCNTvqYFDbS|E3| z@$=W^Ihfe-2)+f@wt9!0pHUXsdF5cc>M*1w*h7Z|nrRT5>ERQMDrG`#5km=6-IpGguf>ZqREoy2gTHiPUR&*)(*JogKs%)?vXO z8=c(+`bd3VetvyDYtVfXS*slGV1b*y08!kT@kn#cBg~Kd}O%O|1)o%T&+)zjW+ca_;7W& z))=3h*s6|J$44fHYh#m}W5W}*k=n?J@#tPU;`VuS0p(s=;E!f*2#mu@&52TaC?%TyY)_++_9hMXnV_#?Iv35ZBR|ryBy3(V;7U~%~{;sK4KKTZgB4$uvO|9dv5-{QRW^Z zoAc`48}Yo#jD>{~k#K6zqRJMf+BSPfeZcO8_pzGjXa)c|8s#!P>%>oSG0s$5QQq5N zDs6P3j>y&K!Qf`KS?6Lrr^nj|wIM8rhj2i42tjVxW$50Ro%G%-ulNv6hpoE}lk8+P z`n^_Y#%Ov~!;%+b|GgkQ+;-M=*ns_GVOBfRn*Cj9Nt?(zVMX7|*V#Wb@0HKF8&s)A z$%Pc|tvl}upzsWL&7Mi2A}tVTJ3HV(cbR&Da065dj$R8Og9Z{%{8u9LWk1=5r|z`h zIeaNm3VOpH5jGe-imBmPegSoJB5dlKnEK~G!#;$L78o{cl;+6?PZ4Z4Y(bDRt-|Q= z_%p}{8V8*FUb$rMaW7pfIQ!(1ad|`X)mK4X2_+7@`QoK_Q$BLddVuutf+~8&g2{Sm zr<)0xzk67ham2A+eL$CYm0}vKMsAn-sifs+c)mq8e5T|4KFL1c0`T+ zP!uAx%{IMcV0znGtBitl3`EBuPQHa|#EkR)UW+D4@1YV-?|LBZq^zh>5q8FJMj?e?vU;VB0rEj^(#yjz8!0 z&0nezs%I5)9ldz=g)YxNop*q|)&c5Nwy|J<=evp8u z%#8aZ{l)Xj?TeX%OAlpxzBYjHbTtIt=B5NudtNBMOW@x?Ik+GRVvtuaJlXpm(&#)o zK$MYOj1_aVhWxPU-KEeKJ=Z*-ST=@2PD~9O7tO@|xT8KHFEB&NrR&cQiMYA`#*5E7 z>$cEo*Pgo+UPJ4eNJ*##KD0^-_cPZxkeqMog^K;x< za0QI++S#4>jX6!VY$tx>#oldROyvXQ$Be`1#MEqYt~fC;dv#=dVEmbx;=t93QgNU( zQJfy0DNRjGkBm@EI(30u>!%r@3&_{rqx~=ELvFCu-X02LfJ7I17gEzWlJFi`+2#Qk zTJn@{&e-Y_&Ih-1(1Za>8ynfV!DxE~d7QURDGZ04gSsO}e0FP2vkJ95I~3`&D*?jq z^3T*?{5MEyvU9|_8@Ku4ONpngy+a3hIV{md^@oL1)^?td5HaJ-j%$VKYMmv)!a|q3 zaqZ$0kbub(C#FgWua5&ZY2Ce)^C^LxMMMbd9k@Nkb4K!5!ML!IuPK*;+$(MqPRs)a zO$hBWu3C1FM0Y?u;RnWm_I}x&BTrp?EUXDAs*8{D&tUMSZI`8Yv%}Z9_*jT^*Zw*? zraHo?qMj=yN|YDTi-89OPR3P?e0tO~4$TgmzCRMuA}H8E0>GvLGhW=|gC8q{>Jsdu zcVPEi6!2AhfLgON^LJSJtxajwAoKh@M7f8Og#TUsr zW})Nly<;6>FN-H6E)}^oq0&o*tdGiS~HqPGtx;A-gT|>j%jb!z06pOr+l`k+R6} z70d4%3qKGvm)#cy;_LVbFQ( zo}2t^256XIF^d6pCF zv-I%U9sPFr7kO)eA9>d)bsfm{058&Bk-^fXg+=;NWL%2$rO3Dx(Ss^7F5!gvSebU@ z+XIVJT|>E)j!e$0?H<@Dep2#f#{1G!q-RR3M(W|iKpZ&C>DE`*{H{;k9fq`dLErzn&=T7eowq9PGpEsL5hrv+Q zLvojJIvj(7^$na+Y*g;(*;YTmO1P())-9DYf}iL^7H>>loz(aRuH3{&?BDDY>Wle&sm$6~5LW?NU{aM3D>*I}UAA^)plYzS08&12d0;U(*dmmzEY0e+ z@nWT{UwSL@15|GP-55J@++?MC{JpkjiOW_EEiNmgxMcueiy1Ml4C3o+OIbU_Lp$8X zC~H$)+id;nrj6MNsZtKt5J(noaptA*`Lgurb~kT47oW0tI)B&pfG%P=$TDj~GJiX!izX`KRomn}>MwDZ z7kOOw^cDBFbwx;0#MN#Qp8v7phuqqs>(y9@#UsX{YhMu9CzJuE<73VB2>eKfJqp!( z@*sGP!xiDE6ufNm8kG|bLO2bcnFh~HvreYLGt=OiY4FT6cxDPF>(~o3$Qg_Q|}5Gr$q7+ z7{f|%udg&W;FfHER$Oyb3B_%~lCZdZBKO207*VXA#xqhy<(Jn+r2y}tc@9ZeE2*}p zGcfH{edQRTGcZQ$42%&w1FPKNX6?{k84qq1*`+aE0oeLWamf zbqoi=@O%7RHEq>TlWC3%Q1J$w#uK;{X)H_|r-muQCb*KzLmkQWxlI9Xy2x zyKu%HjK{g6Ps7pgd7gBBCsQJ1x(ty@jF?9r#A6RHj#pW!6J!ab#@x zHlexL0GkUNImwrUImYoaikn-m9^Yl2H@_;s5ye}M_Z^0jzdS9-v&c$(&Z@S9&^|Y= zFP82=V6Eah&1Ah^FY}g>+2K1pa~GGmwAOBc_KSekrb%!eHmS>j`(b>ze3_}UWkx4Q zZ{*8NPS9K7=#7ezH;S(yVm8{Q#3jb1aw*$fiBF~LRpg@7x#RZ|_wqa=l}vt*4u(^z zeXxv@?1l4HZFcsz;d&f>Wy2TlFFR8inYwK@oW122);N(dBl^oP9ChxVF2Ta?>-S=5 zd3<#88IVkGJJ6^IXC#O{+t$*0d0=d61b4X)$h$hcakIZYJPwWxPeC1@TPK~E7&|u) z?|@^R8nxDY#(Vk3z}oaU=fZyYa%p06Sh%sTe5FV`XP>=%yEHjDF>$-tU*5EBik$a* z+gYhx9kU~SAAD_jba0{%_B?%=ni^Z`Z{zvp#i_{&Z63XCm*ma}0`jxe%;YmyvM*86Et2awLOHz!~jw!@3g2#~qJVo(dG9I%Sl7hjBvptEpqkeHH zoC&M^C^pXSv+csri0RhN*#=v?mX=MheFyILfODj6E-AIEFQ2l*c{rMsPVJh-WQOlP z!^fNf$IpP{XTb3@;Pn{>Z>DJfZ3veeRs$Dka#=jM8Nmpv2*TwA3!2Bbrk=$ffL9s9 zg>_@B5{?Q%6S9pq6rSYtFEhG(X0f;oa!o=QU5O?$t6*+JZnUBJ>e?)*vKu!{LprS3 znGGYSU7tqgaEywE*95Do$2BHy(?DNf#R0MqZDB%qu8maZhqlArb_nT65S3CE366*c z3z_j2Y8(aESSr+bhC5Yen%r|mYcq&5@X{ca6#Mq1Yw`2jvs`CY%)X3wHq(6hJmFdD%u;@qva|GYmTx}GH=pI3&+^S@ zOC@}L&dT2>-lK3(#U=>@!gOSG=tA2?E|OB$dP#Bhbq2Pmy|k~~O3qE?d3j=hoQ2~8 zOLK4bw(nDTH^PT4Cm6w`V!)spNrZoWSl>~Coy^|j{G>7p;qXb<=KY0%>!Q?V@A-Y* z+`xnO-L+))lnd>{;c||#nPY6`7@Il9W{$C$V{9<%Nah%ux#IN3(&|Qqrjt4R>Xw=A zgtk|A^=w=hw}8c>m1}IGj|U?))9#TqyVH#5>Df1(6Pp&(t2sFHX;FOFU5{_bW4RiK%Rgyf+7Mkki%Ejj9+RX%YMt&3eab~R8JIrG`KF|Bl^ZxU^ z|2*$M&->5w{`0&)`VFSzp#ID+tX9?)E|!b9_)X^TlvgvB8vNRswMq{Re!^MUgn@d> z!ERL5L|!u?zmoX|*Y={bYtJN(PHr-fHwppfQO7sa+c z!a!L)I-nv8Fr0LrkP}U{K`1wX9tO;`0IKI#STRbSJmT4c2J0%Fr|yM_Hu;(8CCuSQgPV)D`W^XQ{%NngCu%i3t^z{j09inqTu%(?eg1C;6a zLbtph>6PXJ3Tvlp(_bx&&LFDl91bQo_H_qM8Alo>GWB$$o-&fjQfWp%V`?j88d_T1 zdTmTgvvW8vFPAxXB}+@oJ@bEQ6$gbXvpS#cqntFdQ$si2#X~um1Qp`F&zg8z?PPUL zh;e&lY94~&9JqtelplKleDVSCt7qZi_`j5ITQFOlx&9ffyE=RNs61=g%7;^z;_<}P zjrWd==Q{>5VM`d39NZR_>YLC45sC&VmtLMNR-9oK>Z+W*)auH5xeun7V%yH@tDG^r z0<2W&zW1_xi^3=oL9XXnIxy{&#`hycJ9A0#-bdzP@sW9$ZOplPYa2^=;tbCTZCSUL z#E23cUj?Fnm#{Zs1CRD5q`81XGG~?XxVCkVOWVidzE?y)N@%{=<-nxxT3Ia>(N@)( zT?xXn(p`@So~K*-ls-R0e*{g!5pWi4#+*+HK?`h$%F1IQd?+$x6 z-?qF_I=^}g5tU4E`trtKCvWNjc@Zn*+p-p`!%IbDb64H8@DViSfi4}W2{ zY{+E(ilU9)w|bf^BgGZH zUkjEUXin)8wLz;N@=$_9E6LbAb^usLA%xp4O->QwnVe#o%U+!U5-IBEtb>?6!9ulFQYps3d|dy8ucEDwGqBajt}KwbgC43A8W zsVp3Aez)*dOI#dE5ckSDB;@RpK25T+v5aHkQbLhrCGfRZ8m%?1gHw0WGd(hquJldA z8PRm`SG4abza{IhE>>A-rQ2dmt%UPGgE}C+N&Ge0MY(8q*`=}(J~nzjd~&=WF2z)} zdoNiz@>_vH45lma0?+gKf}$3e9zcX6*LV0_MaPF^bzd@>h*CKsQ|#job##nQ5*C%&3JL|N~NHadN4 z;Q}W@?V}8`P=b8D`}xqksqr5A2<$i7?udgR;pu8ag43SD`bnq<##AU2S6W}n;(l;) zI0q-e%d<-xY$d%K>%c41-07klmpootESJQ<6CA88RAg~FVw;KJB7iJ}BCwDZsBn!f zCmh+bw9Y%RZRI1@GZ|wnuijaF(fM?WOL}NwXullVXRk3hazop3RHnk#P!9c#iX4JN znXpG1E0Q{B9I+xSWam<-gSLfAZ>*FSL{aKpH`bH2JL?PDFxG;uu*g?i&esG(3smJ? zdD6@Y#r;xRPM~p<(K341EFXcp&ZtnP{1nT!z;wfHOkf}GIGRmxB}W`yig9nKXK6>f zYfbrK1SW?GVdg(Tl{1Nwl@L13%AIQ>?D}C0?-`hoX@5D*wSL$$=fJM^!6FTuubU@+ z@^DvN#x1wnC{H&JopY=%2cwXqSX&W zP3sH{b*(cn)V6Z4yvmmANp;)p=0*LhbMnO5H2tdc@}fT0IeB9vskeGgo}5!Xs7**? z%R28JCWDIEd3o|3mTxm-y9(Ef?;85ig^x}d$My_-(iyq^aP1H0wZny1=e9F8dVV|X zBj=W%v|jS<G4WjOLVVD_OYZ;XamP4-JZ;ueELGINL}0n8Kx2)SJXXZ~J~_~J~6-;6eX;skSMTU?&i4P=#B zF`tb)4EtHy5_FF=+p;9~sVhku6}qsM&ajh>Yq-tuX!Z>8rJ=eRw^m9(;S zSe#k9Jd>`$(a6%UJ!6`40s-{#IrQC zV_KS<4{7Ejw|GW=qt_A4*MZXb*4Ihk29cZIrvO`>GyY3fhBR?&*XlqhWqC$`nPR%Z zVCcac@UyqdAT74{i0v?o}m4CCu?SC^!$2Cq|yQ<}FZO^4btAZ`3l~IM-4m=NCh+*X^OoQ~w(^9odDqPN^ zg(xM*z@{Yb46DjAH~lGZrFg?aU6rU+8ZQS@o?ty`ba}!#wP0~I2T)rd?!>m5(Tlw-VA7gRFzLzmI=_x;hYI(js*^XEI zy~?B=r*zYrV%_!@rS+4gD@!cu-ZYy%g5#Ik4(=qGc7Ca>DwcrYRGqA zgq9b0Zk(aGaE6m+wT|`TVN;Acn#aDmbs&PwLS|gJiieOpRQ8lsh?jz}pL_ZiidnwD zSCFq(j@k!YGOr;>)^mK6^&B5%J;z7kY8R=aB){EeC7s%{CTErzJx@guE`b$G|o&}ZF!;zW{; zJk;b0=9HtWE@gFqhf-DseGw1&rmBMioQHf%OOF%opJL;s>jH?QA0PN29`Eu&Jnejt z^_EO`_hoqN#3tBey>%ipKi%0Pj}Jzv61OX5222Uf7r{FE73=a}M%fKrojUxC;bP*D zJwY(*d6o{MY?ZaNwrsL34SAo=Epb_UNHbBEBW^T&pi=maY- zCL1^T?PG7cBTFXNH;nhExU&b!<$O?Dy<8g1aoEChWk38Nz@^8!!3Vv$G%>b>g8WSp zgxQG!c(Vn1#7Ber>c>vv{+~K~Yt}D+zO}F@Rng?u;>`L&ijS!*j<2aKj@-=RTo4_s zEN{VR_sb}|2iaR}47b8rA}DKu`Dwe_79D@B;8&p8OnRrmK|suldq@?meYjvTt&evr zmu7kQq_vUWa$krsOm%(%oTV%11LxDXSd*bndW#hu<5l@m%+-r_a4|pH!o{?<2_m@yN7I}=&jE-T^rT*0E*dkepRuo2O80oF;^a3QAd zB)1ua+r0Sgas8%}+Z+OK!)m{y3oqG&?|^Ubgz>&3lWcab7w?S>zn{76l5*oxSEmoU}gmFve2-%PCP9$44oWogpI%MaOc)X{<*_A zy38SafsB-4T)H;OZ;anKzX^Vm{GQ=A#qTP=;*8dbLJbW2ZaROP)m^@+BUX|=UoK;C z?4~_IPgk4r>e7aZA4bMp?$QGbMkqb7XU-`X3{iT@T|HZFbU4CX-;70xYn|{-%lL^w zC4?T&FLQXbvDIf94|QyI#<*1dQH?=Y4oxwi2X=t!!VpQ(R&O~?hCY~3M?cJr?)%EI z%FdLN7^}aoreTs|@RwrTmtx45+NK9gR-vxqm&NU{pKfgEAoU5m?wZzhEIw zCGtK1f!)}1wQ;4LzHKP4YnW{DfQ&63X!W$Zt4C9ImmN=*$QsHR?W0S)h#zU#6#DxR>a6450^M<-Hvt8Q z8fID>)=wxwp|6n|^Ri~{4HO2L+t;ME(U6u$3)R7I8GBU-`OG_z?AH%ip?xB;XA+KHVX&wWD#>|P4#`RuED|ql58z}usw}2kilgXr19b=0!s(aP9ERa3xyZ3 zJ2}G}P*iP3Lm>Yiq&a^bq3VE6yxRrf*3Q2pq3ut81E_y8YXjOGua8l0HmzwKj!@+_ zQCOl3dzK0?K_u}Cfx=D9>J`?QNmb{nS{g~Ag}Bp)@YQqBd6mO;j=jcJ&C)1~$X}7t z=1ASjaw?E<3SU?=HLY_Ap5X3rOrho}J^)>LB1^Mih}Yu~5$`@9!#mC*DW<(U@k^%8 z8K%w&en1(!#)-eH(mql6LV9j+_^!C7N(`$ZePrQLNADqj>y}TbkFNgXWR6paEnHoq zN~iW~c5#g5S%q}#$h{=1Zg7%8c(kqh+nb|fBcpiSk)t=IyG9Qdm(hdOYaFI%;AC-p zWgTb|#ymYEm6EZwahUFPwr!4ba!cDC&;b;qaE;P|dL({wVD)!f_TKK+k}{|5mZQ`V zHjV;wLHB8Nkds)pG!;>I9B^@V)tOM~ ze&d*WyxN}E!$+gFw~uyMit{=ae$cVcVLSxwx;S&Pi+za!Ncx_L6Gk&XyyTS*n ztSW?;(JV}}RC~CPu(h>E+zo9~4()q#{d?F-5AlCMHhCSN-);^;`e>Ic-3X8UyA!6i z_F@io+8l5Vky#wNS|Q(9?b){uYuMtsea+Lhae6tQa2{{ht-n@=4#xMi^pUo-(6+qj z`egEY(uPTmh_N({5ZVW`bxd3ZY$16YtUHWEJnpx4=i?#{v^L_6-YGuYgfFtRuBS$Q zT~I!72KPAU3fC0@4tjB&b>dEY5+3aayurP}Vti)wVSCT+!Sh~SBEA7CF1ItMx!P?|1Ikpfrk+@qo5BZk6)-LxadtUf1 zjyC85bI8pZ6@r#Jhc?$cVxFrFLhRRV=wK@0p+>eddZhADC&$1pr#L@0iApcQ~p6y0zVpVelb zKfJAcK1*cNs0ZG{=7`s4poPA(YO!72V#JoR<@;bLD_B6!lnXSc-7&NadA?r{sGPhO zKTLo^3&b_s^&ofsXX6L6J%(|=fP!L5QdeR2xntV*49g2Rj5xAx<(ol-g#iP2{9YAr zw02ssw5y(}e4Dwe0~TMI=joY&94B=A#+NYsc38dJ$Y!C+bs4-fL-tNe^vJSeUJc!;`S{Dc_Cb z)1y(JWAdD@dPh#!rAH{niTDh}Sc*?;7PL`WtXW^&9Zq#k)nNhnwwI*-c!kVg_6(sb zwQFb#yEs}fS~vKT0xq;izB3UyI~o%(O9v)kmX7DnSU#RTj~k7<+?f-)L3`Y9WbFo= z;n>CybHL}_Z{T@$qKSF#=UV+TEM*8G#0?pHoGNl%Z_nw39YJ**FI6AI*ZX7F?5syP zruVFl@*CGLz{dleWcAu8zj1yO_=q?CjYf*sTdRjZv)#@n$A^1K?wB9qPLmp3^tYo+ z&uf6a%wsgqggqdlUEzT+&i;OkXQu$=MK9(4TtDwQue_7Q%jxVEx|iDhY4ZwMt=E9p zj4UE#N9LJaL=ea;iwE+`;vH8chY-J z-gOr{nyPJEiZ>6B{G40e+ida?A$wh4zPgA0J3XqRldXe`!qblS=W4qFt!{lb7>%m` zsK4qw4mZ%4BOnyBxyNH`V}HL2xu-mKFFSz|Kajt|nvdf_y(52xN@(GWy`x9K+A+K! z77sjgh(pyo;Mx$IibLUOlHJ{E<162F8Z*c*ejH&f4!W(iw)gF7Ip7^TENj54ozwkV zvlT-wk(Zipnp$5xkDI64jeOdUz1H)r{*aD__zw1Q3H5Xw%+~|$Bd7I3Fh_j;9@>_l zRPn~E&CbH1rIE?^=)8-s!wd$I`W~!&1JKF^V$|bKkWt*)kQ~|L;tmMrlB&3ftA>Ao zTj+F0HO!sOk;%Zx;@*pqN#_>O#^$Kwmd!EZD0Vux%i`TK%)A{^DTHxW8*PK3Gy zn}9cA*lB|1*lHeUvf14S;zc%UI~pzD+xtl7 zCMN<7^d?5@))%96c<#1SMh0VqHaRClLhT8;Z*rR0+@(oYFrj@XHt~#YsiEylTW16l zCd7wemUaXf`bz#zv);{X)@`1v9&p9`^UNk%z*vT5$t7(*&jjN}M$3!)lVFe;(Uqa) zb<2;Jtd9nl+xM(L89S7=SViHiVSJHr;I(*|o14LZ+h*{= zX5j#gz@z#g0&?2GHyfNuHE(fkf9>!Ndk6SX4Dps7agxoJ1xqPxHpGbC1W%}o1DYR4Xj^DA5ZwH<#julTbLWB$2%An)WACj!Hld$QXoZ^O zwXh!(+L;PAZBiqnHtK7j#+s>(`JPP3Dk06kwXjwQDPd{PW6jjUnjzF9l=dT_pf4M}TdQ(V4?ZU#MEM$R%6A$# z)V4iSL~CucjfXM+zK|%}BOXm^^?ON8j3&Jwq0WQ)Xo~w=5*Lq9upRu-pCAc{b?HB{ zD!!4>Pb0$x$dgV!)LNJz`CS_}um5i+KG_?K4p#LME0-|+zT;q0rt@t{M<$MN%SmToy2E*>cE zKq-%MmG!gTf`zFxY!22Z7S9Mm&5IbY14-)$A+V@}I4FpKjMW$7Cg`eloK}DzS+(!z zVxWvCSc6|#XaA^&J){1Z<8{I@^`p+e^>O{2R;ma5PiT0$4!BOVPVqXpzRr2Ber=N9 zR8pVb(_Lx$Sto?o!o6v)yxP4s&F)hRsKevokficVQll9aH#cg$x8hE>b`;0MkYK0e z5E^zM1PSU`#_VewyyoK N7l+;O1EBcjpD81V>8n427PX`@P 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

I;g<9 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
+{=p6VOn`P_$UE~sfMLOt``D-Lx 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

hK04 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%0DVy~h-;SwNF_mUn zi>%#*!yaze^Rxyr-@`xMp;h`>$e(n~d3^V`TBSmc_NOEwhJp7N;-)2AY)9==sj|Rv zlc&|n=)&6>$?{4>hJH2jYBx563r0?-A4z!+SEk@*%^lu%tA3e%s+t+)5|+E`?L*b< zC}F9~o|q1;L(45g_Sz{KYnj_Nrmes_h@0Ey3*z@f8`x2<_50~M>8f+g6Gr?V7V4aVvo3GG&`&5o8T3&k8$tjg0attw_Uf*PW0|qQ5C)b$g4i6T$SBVz?xi1_k)e+7rDz()WO>MMi189Xz2KEHg1UZBu{Mft^e=+d4E^stS8NTU zR5JTi6Z{{=#AK3}<{W8_J;2S$ce3yUAm*b8mLaFng-RkK94$9Sgu`#)G(fCafw?NodLiQe9ny+>uCJGN*QXBoR0U_BGMKv# ztov!1Ql*^(Mz7jwwSUTb#k458=ly|XtMqExftVwlb=r}bW7CesoYcb7ns$q_r=mDZ&`A$_*tZu$xIPn#f6MBR?K zc_^w*@pBp#%wu7A^0OyHvlyC#=A9$wBR50+mN;_CqrpOE!N1Pbl0Ux=|NXstw++2< zKe7&K?BG{Ee-$!cx_jQ6|9V~bN3t!N2d6`uL8S8d$(;Hn4MD7S=-`bCGb z0Vu(eLeb`#-jkoZxJuDsNH^K?WCw9V~<>5;oWGu_nq1=$7-s<9?W9aWzY)C*z~>yuc#I_|ihcM-+zlVog#WF3r^a z$gsqQoSXDlZZ_G}oH{sf#?{wr-Zy}as9y(k5%?!-k;%y6)c;7F*Sx}cyD58;p}p>D zh3$i#j`_KN_Afm1FXQEABf5SsS$_SC^mU}&Q7vE6BF&d^=NpXLqcAJDImE@e4K{YL zuxY}VR;o53eI_!p6&8+vur?~dK?HBW@MgR4O8=sVwJ7XmV0RFSkoGdLJ+OBb;3GYs zgi+Dg4Trx3@<&!_esH(Y>JQ$-?v>Rn=Qp@WZzvqze^D3hqtGs*-J=~D$-KxN1M0wN z!A!S}xfPmeV}w{wq;25M&?mH7Nw<{xPF|Nv=%PEnAXap==L>CEhC=VGaENu_3&Wq@ zWF_AUYiSgqfwpb@iE1?>>RveSKOVF-)bnTBrCv)`iKIcs9@*(KMpPmPW|VWUlUnCn z4Gt`zQ;jTY!Q+JBYJdKVjl~r%%~T-J2(LD>4Raa#?fhDrNp0ss#PaKJ8NqUr;7@Yc zG4A9E!pVW$hTTV43$2cs#Tv0f)i1fgRlno~XEZ*So`#5PhwE;JkNQq>ioC+)#nL;_ zj`ba~oUvfywztZ7!7D3j?KKu_98q?|^Ks+XRX^H?UK7?C_7>NAdu6ovM!ET-78&7! z%fjFI=D~WWlR}DPoB)w6VazSA#u=Jdm>qHC(PuBtj)To2X*9_=*XZ}6WNt*w zlX>q|>0#r(VyXo4h&(j#EzO2@GjGNgX`Lnul9j#F4V2;eiSN_BS)jJ+Z+n#SD#{Gi zs`FGHHMlrj^|!V1aHY0SywZCQYXp@bsO6spv|P0ePx_enOkvk9^SDin-s$;cdtZ{L zi0tJJe_HQ;z6QH1_uRLk)~5(VSxE;tTE}s`a9YM+xxw)HbC7RUFAsQH?`U5gff>g; zFk!0Lzz5N{z7iIBDffLA{@==E;Qv>d-9GKBgW2^ykI>j9_>9Xm{`b?-jzU8`jSB6Q zknJ94g#KPbh)$8wCk%TfH-2Vl-#&Dr%>$2$s1-eY26?vunIdAPV6j}l*&QZwTIbGt zkDmgQ2?)mE@Mpe~G=j!Xd!i|Vp8xg42b#>{QLM6LYaHJP`d1@O)e z=E;n%sJTr^*R@={9NJ!n`zY}0oS6j%UF<>I>!BWq+F%A`Az>LI14$+#il8NwW5Ll> z4a4?+wZcKydNk){&^p?*3dQ+l>BH4Yb=03=?(o@_=BSos>C(F_UiT4DwGn^ZX}&;ziXAwHg$MGJx~L8>=ql#SvSp5`@xC6`Vvz! z=c|$&|8;9jgM_fkX?V$3k}KwuOsXJ0kEW})u6fnQuUw;Cd!2LJUO4jLbx>p`AWb$H zpH`Ks8aK&1Mb{g7d585SUldoRmNPp`Y?eWmD((bB`Lcr2Q|w{~*(a>rWDl&V6WJ6< z<~=;?d-G_o5ME2#Dcoy_?9bcTrfCu5Ps8UH5+-1hU#>S}C+i)P1j(;XEN#k0R2XR6 z*hOA-4~MuacM#**rVp)+W%m&`lI*5E{_pOkY^1x!U zGo*D*ZGYIeX-3=A4LvJnP~ZjbuC8ncEYNGjK;9pSto!}n^>`qgySLDnZhZTg^eMG` zSAXzcGT(R+#jBnU9|P6SqI2toUF=2Jg{lsQ=77dNEuVHE3#2lku#=pErPMsPZD5z$ zNM6$dyqkzF?@OkFiaHU+w@tX+Zre+S<&x7*_Crne?b~(-r^5ep;LYwwrr?G*)a#631`6pimF8Zg+AP z`i>bhh%}YRmN4W9fM2Z230y^;lF?2T*v(u5mtAnC;K$C?Qy=^%>WP%uEM&P!>*Rcv zWSv!w*a3Xd&ec8gy_95`U>!6EIhBxQHyGobw36SOWBd{O;4G1RqZ$2XW{fCdaMemke)+4SX&CxE@0Th4nPkxF5Csv*z7(ei+G}0kFFzrTBsK!CTJpio*yBxd9FRPO^;N1ILg@Dx}uEVBxH9u0!b1~}ilJ61o+z<2I zAz5C@0!58>y6Hri0Ps&|jstr-ek!Vq|T3ifNm1cuJi7di)7 z1?w-*YE=pqFiA?C-lY2FiFZ#(R$cd}dZ$)pQf}|j4KPkwh41md;goa|in?R`k~O@m z9+nhz;AQo4KJPTgzu(DnoZ#afDmgDi%L5YR0W;1+lJtq+1wAFI+0@R!$sR6IE5vO?kMr4xr zoZq=ux2)h6&8ONQ?m2|AAlwDe*ndqto^-gv@st|1eNUw|W;UUk-}#lO5r?SF@S~r{ znOTeM;AHhD=FIyTm)WRw)XHqL0^|0F4j?LUg7lTJ6_>LC9EYg_MybVjPdMZQ$6nvv~v@EVT8D>X0YRK|38V&U0_j)KT3 z$J$R1W{`t~I(?h$sV9M*k$uj|dq#!ImWV-Lp_tq<7u4!*QimgI1^K%>v?lc#so zSb@FA(_Y1sCNrCXuG2+4>J5sphOQX|^v5~Gi{Mj|g|13fv8=srGAie^$~LP`qOx>O zHR^Vu`T=4ox9LfU6lJ}4OT6kPU1bC!VlqZ7GSuG{89g$PQIA?S%4M@g1*tasbd{9L zP8sg>+M~S2P;R?ch1~WJj33(4`SsC2WiP4LvWjk!ku)09tb(e>D^F50TF;ZrD330F zKP#W{I^M-Fqdjs&Fm&PjSwVfwD>84Dt4iU4M|4KABNO0HC%=f@s$|?iW{Fk4gwqTk zxFHi-MfsmQaQo9gN)b8hgv|ob%eezb4)uUu`gQ$TU{P77^h&J7gEcR%r7W^EbKhiZ6P)WUvC#ThiyhMJ zSIjhEC)@iX5Bqkpb;23sW2y4EK-8t%t00d`#H;dNvsq`s7sc0?Gkj(lv&l-WgbymN z<6g0qGVm#5Yk-BMC-r;f9h)`cLb0_HQ7u|?WSuEbiA;A5<+4F${-r$Gld!^rxnnac z#peyMJf+qyq*fg5qx@V0wc*}^FD?DgSDYLOjAqix5Ugtu*Dt3uM=NW;cjbnt4d zLwTnxw9-TCEWu>Yo(-ShvT-jG!(48&C-jXy+swRZp%uDuRh$V3TIMY3EwnO=Ax$2d z*XT|~=nUbQK@`y~ZDoSFpWdahXU%j%46p`1XuVg(wJ=YT_4={hI+=+{w<}K|7te&) z(W}f;xMJlUY3?7rH;qoRLynb0h##;aUh=?0NB7x?H4Z74tzbrwuQqq(ZOJZW%`_J9 z9&2x4*K8LMmB|fu69eEQ?T+p2MLiubpAc)C56cIuVzwVV*w9#a-0y6ZTm1^`3)qVu zw{>Li{r1!F>nRnAPmao`IAlN%%JEzvm`!q=DY-9n$ftxc_Hs?k^WQd1g;vUF4!jkP zp8ol*aC~2Q{ZHIwlKTgN!2w5-%nqrn)3nR*i*>Us`Ow--a%nA98-agOwktwtsxLAU zGg}zY*Ek%v%Inkf6 z+I~{O495wBYp?vfaoa3Bhx^X`K^nK`kom7XM;^XsX@*g$k$i?TT|}aQLpx zw?&TMj%R}NR*f;=nr5(1*(8%svB~V&vt;sY2a}R|9_wW8-(K{Ee%J4LW5+5peWyJ= zlJP)_Xir5kit)!9dC!}fg-S}~GF)dt?Aw^47!#M?@gPt(|j6@y0>tK>WO zBeNC$dG!Hc{JniUIuYSV3)YyZ1wAbeP>cILCAGM3$AcEr-soF?%NuH`#$4+QwRGk6 zhg)jLIU_7T`S&cN`S_Ps8V8yoX&(_1m-r!G^3qJwvnCDEv}n0&Y><&H;>?0C+-x^P zi_EU2-M{NgAN8A7U+U+;KMhrsl8ghkU9lb-YDuE5-!<4ayOcWlHRhMhyG((Fay)3S ze!68qZL+n-ikc|01aq+L+y2N|-?dpDYzzK0;DBy9`+k8{_hkFpkkqR&r*M>4v{bvO z%V@1qUSN7##xvrs-#Y)KTD{oES#`@VydP|vd+m(48gxaf4J2iBg*|^as@C<$hHa|S zg`!2VG%uB;X`-rBvc0j^g-e834ELR_aLH?D6`&ePEmn@Ag?Y*RqgR(#4r%ig6O6x} zKKm9BD44fT&yoxz2?!=$+%0jReXFXJP&Ap<1-Kuw73hAaMcI$@ivO;h>3sq1Y>B=6 zlKC4i-@90p*P$p1^}QD38f-gy5prVrwf~Qt`V#A%J+@V8EiSPOEFTt#!Aq^&B}8lSvF0sRqRhR=iX#+geMiS=}muauY2@ihvds zjmm1PpyeVc^8MZ!sCLhuKhPvI^UiyD-sgR;zbET^C#tbsrOVZs#;o(j&^+Ag%#B%h zosi-1yEyK&;_z_98pkGWJpIaG11rsf({|NpkYY;hIAS`53Cd@pZ z0#Br*kJ_lKk)$r6cG2?oH`7x+h%X5!#uszMy(5!9FY2_PCITPXyDv-)U68=s-69&F{t;+ zsEx9V&KWVcVJT>5&k6BcZHI$C7?{uYwwvO7j$X0w(#cG67EY-mXQ5=g+<$U~9iQ~m zNQCgyTA^e0in#=oxd=uhiD5i#Fhd*kYJ@Z=<`=zE}-GvPfJLOm%vUj9ZoD1@cKgo1e z2fs`=O$*}fz#H|D*ME0BFTJwu@TNs8OP0iRX-Hf)IUBbm$fn>-? zIn9VR*V;Wtfe+96#xC;$9z!!_YCwyDU%;l|i8!QYAi$2IE^JYI;M?=fl%#wJW%u$b zr(=CfSavvz{uRM1Ycb*XFg`IV&6it#gxbUwZB`dR4hTL&`AAiso{UY(4_T7o<%DLu zIRtATu~`unS~D3jZeM*-s=FF%-#m&sxp{r51hoX!`;O9oiM1#BQZLzf+sG242dmc| zMLo;_>cZx|>txiK3TzM064^2*c*o(tBqH{@=Sex>_hXIViBzyt*HcV(0@($irl-3h zUw==e>vU$Ouxr|LPS5zA+*4#BcMZyT1g{O1if0%1K6#fYITBqaTQ?&HF~rQ^{e|Yq zHiCOco@$%D3)-B|b&eG(7#%KM4cStlKQX4C7I}a15Sii*2 zOu)I~8OXdD%vK=0_9dKekLTn+kN3^{zaOuR^b8h9!jHdt)HaFvP~01j+Y#rMXwO$a z@F_{riq}aiBA*Hk8<_8JNcI!4R{@LY3{!)4Z#s!Sa>ofgofJVfg=Dm&^HJDj7o}Dp zm#`qTN-g^u5$bJ$rNJTxeDUxTZywXFAZHMLJ)EV|(|p;bM1uiZTRuF@vz<)1E+60I z<2Nql;+-N7EAM3Nc`RLG!o4Hz{&sKW@9rg$rrzVjViC=aI#DGiiS8_=_5~NLdUNVjo!E{?%ts&LhT(Gh3LC4~MVzDTf4= zJn}j)U;a6$>4|eRYY%yfXbpmFFb=Xojc+-T5zqpV9bwBa08i{~E12YA!mscL6dYEB zY6%shE)i@K;;E{BPP&!k7LeH)^!dQb*S@P4x~h@ak=DU=SRyU7Y5u22eEvXUp&2r> z=9!N5uC@Yi2_jv{bywY3alQfez|*bDc`FE;%kemZb->yHD!-Dvu;t)OL18};c~yOK&PG<(H|dAvfCadGR% zLwb6q)*;`lL0xEOUtO6#q;$zT zl{}rHh2O$rIvACol#Vhv<=#|@JfgOSM-DKpVtr`!@Ux6sb%lwjS0g>0X=rPCv&K^~ z8VFu_8lpoNtb88dkU=hdbA2RSqr`75eik9;y|aYG0wYGGrN0igU(3E;0nI>j?`g3bvUbt(mdp2%zrpY8ZPRR0-FE&PWe@Kb zH0r^;4XmF(v7Sg8t&DGLeIwZ)cFPh99!5>wXeDqCrT*&NJm$CayrushX;HM9Lu!HgA-C4h(XgBpAq?y_E`6 zunnB7tN(MY16czm;y2mllyR{w)N!jFvISez+MCgV%FW?P;7c-!AwFpBRKICNVs<01HMq3U+^h*I3n#Nup^}<6rWq#ksjh%3 zsY{TFJb+7G=6R-#@_x2iV{GLiwRTXyQCRyJ3b2gDdia3nI}xi?780MNNe zMqc?IUR<5GroL7ZH1IiaD#<(~NH4%8*cW2+Ef0+yyszL@CwfbIyaMCXPQ{u}6bR3}aa*M!cC00=!;8D6 z$g{G9OK?VdbcN#VAKeA(5PoZIoeWD6oi?v?2N~zH1>j{qU6Vy?g@{5K%4_jn#0iY) zqNH(-Z(gR|hEE;_X!i5#bpdfete_@#>@N5cr%IR9GtR*ugO~HGFO4w)n&xR-PqJ!jwIlomnp(JV#n!5;fj&zyJ+gzDK-HuCfVS zVxatWC!#V{T}(K#C@>!A2(JGj^NyNP8Sq=7rX$XjOLXk1Be#(~*oA!+P&VVpZXGA< zf*gQM{Ab7vC2QQPoc{{5Tt~(x*%@K$Tj71>&szvG79z}uh|j_y)q zYxjbl=>(wF<$A>@6${@^aNai*T)GmK>;2=7BgV749~yG;=yIo=>_F>(M^yO0BVMHQ zj8kZc=V?lXq(Tl{eqM@^X1jC8_WK?ovxnVMcDW4oY+G12*WKh9hn$MQ7j38h3EKR$gUpkZQ;_*O%z_3yY`T>v zHtOCv0h-P4kmAX{aXM~kH1x4gD|NG7s5CrD>h|bD=CVfW z_UuA6rgSOiMRMxilDhr7YNc`HDTjHR#`m9~_^qU6pkw=VNeSA5O71P;Aa$tZA4<4S zTPZ>%sT%TxF@{hBo#566wqE%f5qb|*tDM7T{G^gkl5p^^kbAVpAbaL_JQCjJ*>#`1 z+dZtS_ngxhLnpBDuOD&y+_>)<=k9%_5BRFy{SU}fCC5aKAWaXc>o)CZcqNV z$SER$nSiX03=_%}H;y9bfkgWX#b2Mi{2*qi_yTTJm6UkTKL16X4)5yddMQU;X9iBQKebW) zMQTb)?Zuy(#{c*eWiZ0uOgfx7>mfG};KaMzI`6acImHgEpM*u$vb?V}Z&5L-Mo{lK z-K(x6vz?{-kl*OuSlP?6M}+YOR}-(0P5U9vNuWSB7wJfhFSM!l%lC?ORnV#q{qyk~ zNvscK%|F<;_)^EW!0vQT284O!1;{4nNepsoWVRA@*RKPaLO7W=uS+LShC4m;P#7rh}4D0j_bp7IXAasq`htrVwR7P&#Uak|ED0ZviugZ1zG$(U|x13uVvIQ&YA0{I^(j}>j z31d4L;#HSlSxj~qGjnrMe8T3?&0@U&>J=)5OG0on9H-ONfqnZ!`2`BDvNj)LCa*7bo0{ueJnRM343I z_Fe6LzT2*(jrbbK9pstfpNh1Fx$hVAtS!sEGwA^<<+U@4)nDw+g8ev3p^frso+hg> z0+T_I^wJ+)AkvvR3RRMA&6@QwvYO^;L`s`z=5bG3`lBY;ENxtV59$KNY0NRC_GR1b zp`Vc4)pgrM`o%2qgE>S9Wg%hd`N6_UvM z;Y3$-%0{mc?N2WWNCj-cKOon|92df=h-@1s zJ%as?%1Zo%c;^JaXl^Hu3Y$lm#}*D-HqoaS+%#1pBF+pv@}1*pZsifm2HB&p6%hlx z4O!s}T7&uh{3*n7JZbR|cQBAD1)WQ?i)3Aj*4X9kuU{ivi0A;s;%GeGrzgD|L{lWO zWD73X<>&f&ZK0WK?PS7}5R*WC1FxtSI{1PX_%ZW39uoPFNR`;Rub~$3tI(#)N&ZKl zUn$UZNCwFF-Q-DJ-;Vw^19?}-3z<{AazzmGM-=|S-zAjPTml+)WnJ?j8*>4ORwqLkgr&<2B@y zx38@ybA57CS`t?2M-sE}Lk}C%_Tij~oQHBK=?lqcA!8U_PreDcCiwRHk7p0s;j-La ziTv{zXi)4YL)$cT5XlRcgh(k;ZOraFg(CJj6+21Y)_$mlAl|eUL`_vSjHN>ACpNGd zb^LSQZ7s9^1nl^3sdVEHd-#`r(|OZ*PsAvZR-=Z$Pp&f;f5h`G3vc6>XBHKc9`CAB zYB3rqkVfwq%K~B)nss@cQb|48)16gy1~F@i?^-`iC8ZDped(O?W?j-iUOZ^{nUjc= z@KN474$E6e%=Q?M_^y;C^W%lHiluh8ij={|s3~4(dvH!JmbSHDJigM`{roJ-yMEEAQgJqXn_u+i1iR8(s$w(#45_k-k3qE81Ex+H zgLP^2n!a&5Xy6;pf3sqf!TqWA;U0qo+M0VLs)r!TZ4b|FfaKjtsHGg)#iNglPm^`L z;uKF}?fY%*JO82bq#z|iZyaHy)$r7V9-V8bh-zn}5TWxGYN`sKtIkW9hiPpJcgux1Avfu>$u7TfH;JS;Cwz4EV7-Eng-x9hj(zu~nh*g07H z6J&-)UtCa3T3lXY(%psTu?p`=T!k~cXk{_k!FNFeqw}=Ibvkzj>Zy{dDc`mgJga9* zJ_l+c*7F2nMhl{5i6j4^-YwhQ;T}D%&!}BiOf+sDQQ~6+xnL5ItwjkE@u-uogoNrK z#e1WwOza5wB%YC}mRL~v0dxD!V`rn0D#Qv_A^#|xIf&tni$W9` zqCF4|18anqLBx4JjIzh-i~YAC@4M z21Fgp2`FibO2z-FC0n%tT6`}@_DIxOlf7I1p%FPGJ}f!y`jN?|(juDDM$TZwZU9Nl zKgllV86P)Vn#TD$sjX34zgw4n-0DBA)43+;+hsKo@0j}ey1%W z&lD?%j_JsAQs;8ilo%leYvPBhJoxFYau+vGPQj*_PColbIbxkuXU^tIyWdibp>G~% zY=mUyO*!FzBXP9WC>XLtGmr)w-=>|l|9iTop zA~r4(@?j*`ag-u+b5(xDS_n^BK*{$)v=}+Hg%STk(1;520$hWc1&{NBNX)~`h6wX< zTbR|4o|;5Zbem@-G!0gESbSzl^}AIcRB-Or5o?lQVa*E7I+_t}t1xp`)Hh*Wy_~ye z_+vld<9Z5piP1BPW)QDnST+yK?>;&>+ce&j;^Lp!*?d?exC`-XC4 zW@@;)CX2(>+3y^^?#50VA}_|6}c$|4*Apco;=5WKZ$-unCzNH9XJ*F zsc7Ho7sdVBMIE({NTPEP&o0E7nc(wMkNpK6Q)cVvPPfgo!*sxt3eI+K4(~L5h93W& z^w|ABAN}fH`prF|$G?6=@6R+H5PO`!FSMN8oHvPBh|^UIw=K+dm_Ldte@JV~kEk+x z`!52S%hh}K1VJb=$5$hA7rRSBVsVJqk(@r{Bocj(lEQKdRh2R(XHKbz$STbYCY=69 zj$%jH8w-(N-5tqg$Po*CN@6$sUHCpB9eIb5-0%)&b<%(0@`K((tjEh8z=TQHs6LXq zoSsy=>S7_)7obY(i?n-DKm-6+J7t$^DffH5y^;gKkMStfY>ZPWO6WRk1u}9-wIQ7D z&GCJI(TbyONpR>kQ;zODoJbtwB~>*7iSTbgx6MB)amX??_H+9Yv$BuqJCV?8BDt1w zCS2wXJyzzry8)jxXE(U{Egg&Hi>x8?DY;?tOwG8QuvG?n!q4`+x3OE&3~s*lp1l_% z{Phj`Qbv)E^sHh1M)~6Pb$JcH^(yj5_i(m7%<@K*5fKxqwAjD5dc)XU>h=*-^({VW zey#YpRdv5BlGZJ6U)u@~o~(Us(3xZ^)cmy!yKk+anLpy@vs90P;E&LP?~UljiQsiO zD~|O!L#^IXsnh(Yy*!WhL0ZGipfh0#ADYxxm(ihuZojMA=lWn2S8);HucU=2p9EJp zWMez4yevwqkZ1*p3G5-6YRbz&0~FNK8m&krI>5f}LzR+AR}csa#BVn2nM|CpDRZy@UsVmk!Aan~Jp zBKr^=DR7Q)H)g~8Lp8Mzu`A*|Vr=)Dzqk|FUb_K2Ngf!;ZEi(9h*Z~V)J5|SbmzC; zCtNwswHhcv4c{%k`0ja0K-5sl0($77`66aeO=VsAg_4DrKWMc4u;ix@*P+bG;6D+W zrRG>0Q_IxR3C0;gd?=*1H+K(@l^i%tIXufL?*1>H489GaL|VK7S~O}yu^#;n?kRTc zAT0(4k$axa4wq8t@mW)9Rn|mmN?lM*kX5Ci8Aru!>iPy%Lo6bUyVj1oV<%JzKFV#7 z4Ohurk}z2{GeW_7z|N&~@QtuTu=krTFou%`_5OL1rc1*O`4^lQh-9XHP*$TZI4V(Z z8uvhL|LlP}mw%w%_cvO-e+!*ntuCBQtG`%+Kbhnor6(JWGmJ6zj0Ar=k)A=vFR`#r zZvI;%2@OjQ##3oePpR3hEXvA8-G@MLF1JEzjQxuaG0>6j2Ne$|m?XjLDU%lQx~sY) z7w3h@=j7OVc9I0h91%%%?D_1;WznVUwsX_i5yRtNQp~u!Czh9$I3tqmzFz=` z)3U?k&vA^$@U&6H+7Twd1h z-;XU7DY)R|rnpcY=6}<34^*qWBPW>1ECj`o`jd8x;{M`1tV8bl2TrN?TdDv#{U6qV ztdjlU1G0ko7gS!T7MJQ7RhsGaq5|z^sf(U&j8D@W6Hy~l+jD}TS6u>r)yepY37;km zo!^W+opDt8*(QjynCT{o8_b z9ho~c+=d~to>Y}rZ+}v;XAVSkDA)ar~`;AuXtbZc<^22As7l zJ#l@w?0&y`tdhQ9A-lUlsI0VWD{AC)J>~?92dWMRC2mS&;D7{@PS&A}P}}5;Qd>o4 z3ZnYXqUK*v^Y5$MEvY6_0%U=V(9ENmQ?ep#rKqU0JCS>9tOUFg7}s_B=#-+ACuIR5 z2RNiQ^evy-9kYMEN@1iNax=XU*0W4t&l$C1PRX*nlFtxnVL^=9B+aWN%Q86k9p}mw z7n&k6*CYj%2Y**{X-bu>GNGidx#7a4hO6~A>TcEEshM06T^)PIKbk~F71{XH+}n_H zJzc%WHIFsMhWW8?9DQR;s%$~mjKzF#D$yYI(eA#khlHch5~HpH)+M7hm}i=xySFdD z6OyGYhkdNqJ-QPoVZ6Y3qMo=9QINlcWW@{j(DCk3ov1lJ0df94l>anU{7A|}>F=sW z?I5_sQwerxvdiE9cwYXrfHIpdqSP)oQxP@yw0#C3r1BBX5to3CG9je?Y8F#woIxk_ zy#Yq`;FdTQ@Fi;roj1_2CLXh#Qt3K`JVI-SeQW}Sw6*cQ%ViQJ{~q95c%Oj zNkH=SZkyy%ht!8Asl4buk+!H>$Em+l>WQzj+)qlz{?l~Y{$R+*_RJxN?f-n5N{->4 zl0OrmN!Gw8=U0rlp|NM8-q+Sv*<|a+xFQQyT6*cX9=~}0*`8qC9s@VL+ut<)d$vmN6MNS5NdCOH z<5UmUoElkGFB$hei^#qb)A(%Jyv=cC0cUWh3>l`h8Xn2iGkpg2^L^62L%yMJSeIng zWS-2rdBQF)@5h^%h1UJB&Ow5ycaLE26dCLdI!Mm4554Yu4m|);(=~k0@S}>7N_C;S zFLQcwY;6IW#oEKv$+9}#rHXZV?l|^V(LC+VqggksSF^NEj7h`!-H=|Dg+o@qVu9V* zHF$LE?h%&EYM`bfbvOr!ijs6aZ5eVlO-rWef3-2Z)cQ5O{7e16qcl=U8k9PK@dO3~L zeNL!{z#5c3M0!{sFw?QBo7w#H9vy$W&v3GAgvO$qJ(H}SIHSeI1A8H$vuTSiShp=l zs7f)UgZLl#G70v}=U%6pQ&om9gm(_i_el8sp#g=x_mJWOhET5;^v!d7Hb3Gzz~wzX zU7Xht3Q_mKtrlmB`)fBm-D>X#l>3jKWlvtA6WzV7rK?k4|2oZpiqr6R9JfHLJQ*-& z^ol*eJbf~PkI2%Z98E>%f1f%hv~+S=GwSpr2m7>BK8Y%{0a+_s?ouW=|KJzRC#q6s z(5f{L*K(s0X+-1kLoVk93UMBbLvqQtAYT05vJm#*(VJOQtQ09uFP zK+Q9I6|+OqoDz)o_0yYl>EChwiAuZSOOX;GEvmB2G`F*rao(0j?|}z2idL=vQk7tZ z)c5gX*qCPWGpk|Ig~m~QFeICcXPKla~c~S|EJXEIuQ<2b5MMVslw z-P5_Zvmm|N3LKth=xjUa-HA5_PLEW2uGL|&MG=jJ?D^$(pW90;4mOhpuBy0x|IfEX zrA0+qBg_8Z=hBk=70{O@&jD$zY@%7naDyi083kMMU!`==`sC;l(aoA@%S61RxI=j} zKZdhfDTmWasg95u>7sN_tO)@rCpX)>J0nSzL<{>!&Ktka2{;cc1M)N_6UymecpFG0 z$jpjGBVpfY8!HJrH&$}UmgXyR=C@2L={U+m8fG?Y!t}VRw7~;1AO{&e;MWM^9pVj@dn=BQ?-X`Mo6H8kts zHBelW9Fmt!mYmu=i$vtx{f<(}$y~LZ(d)hS3)f$@*71TK`^)H(|4bW$_6zm%Z%dM! zy_3V1%%i=VNSpPuQd7gSyCBVcNq>;7Ld&R>!+={+x7N>GA0iK1nnz=ovO*=W_O@p2 z-PGh;+Z@?nM%~IwZAwkWzs932fcALMyB7`!Rz5&oe@# zIAUo^)vf~q6WJ}^NpUgAPDjqy0MC>38HzN-(nR(Hk(MW#v!VudRn%qZb%FvPOQ1yN zEHpotBzewEh1vpU9JS3xb&xcF$Ey2`J|;|YUlX8>wnpPzUeOsE$K@%hgZe$#hi~40 zA4t)JrXi=qjKJ;`VrAQlkGrGU-W3;#^t}vKAc?1v_$}vE&#xlVIl%`B$wDR_B-i5^ zC(Y3r6*lfu0L5re9L%4k4%DM=F5(ipI~a$x0}_zG#xy=l=2jW{<23G;eUBucTbYn; z?gwN0!j#*v{uAh#w$zv~exIfeb!QSR1AOP#RE>X3buMWmVY|aN0i3H9=b8j<1(f+4 z+D>^U&&{})VA#Ui0^1R36j!!CFV*$$9!io^P>5`Cvd<=(Nv&!k$Iq=_ScBQfXlq$p zn5s#R^GPYpgY+ydG%I54Pd`oBe|nk z`~?&FZ9l6gN~w_rYGCuuNh182P-80UZi0i?Kc^?iEU>rNzpQUwXlzABy6k50n%Zxp zkNq&U>0z|7l}IdoeruWz$Bw+JlC?xmYW_AM&9J5!xQJ4;EbB7_)TY*gQW!|}41QsN zD2WVt{5^-yA^3Y9e`E1ISolp!YrjOcdiyY~^X{+rWAo?voc1ztf9;}*tfIuTrg^2a zX=bN$#Ekr?+NcmKx3!B(ogvs)fzSX?MP3CpTl}6=N#$#6wcOT9DtVSg-dvtr(o|wZ zPH%oW*_%XP8$4NMmw2F#tDl!qsX*C@igm&t1uGNJz8uDu46JBNm0fA3!(r1PvtMi( zS+Y85V}U2?SYUm-Cm_ZX9y>V|NUUTLWhBZ95(A}D6wZsNcvg-GDoa=7Ossn_kD7Mv zIiK0(P1IndvTO9MRS#B=^_EyEs;{N6Od%&-Yg4<9P(&(0yksc=t*;yzJ&(%KY^fcT^$ zf9CvH@2g43tIvJm<~{NM>y!LFy~+4;etPY;(}M~$#_#q}4G9eFdBbFglDO~o^xC(4 zPOM`ezDhZ6%%h10Ej-b(>su}b@iik>N_b_d(tch^_c-SmIsbPg1e+#d{eEi@=$N!! zym$3Q5ux_?mA~J?T(}vJhtL87-OqIP?g95-m%F;BNcjJ*(^R>P;&>fx`dmr*7Ml(r zrlQ+GbC#tN@$)L$ZMXJA8q#+rDtbB^bIoFuDIPh_Qz?pEg2IU(jXr=}*=8ti_PDUmM!G~1}1dPbagYQOWG zG@6ek)#|jq0)4ngmaox+*2%7rPOTl>X{2q@OLWLQDRE6Ace|3BI{QSW(8v2}=N?N; zAI(-ZhQltribAXpB9Fohh=s{y+df8I+{b#-t9%z};nmr^Jk4*-nOAGMhn2{K3?I0E zXQsn|Y{JZ*ep>s!lb5eKGj(>K-_+U_PM@S@f)@mpcUduG9aszSLKT|FT@fGvgSW>sqK`1417|$XM(6mK zp&DWtI6@WnJw>of$>6h;5NzSKySLp8w8A7bgyK()?tH#S*202a5ZnTq! zB!@hl=6-F2*XE;CuDeSL$~*KkbBUi?OGeUv({x~n#H&19uAqR>aPR^1pY;$ihiYAV zxV*hT&96te({3FiotY6)%8l@#X7X3CgN8_)7(-9aw#t|FrhTWOopU?u751l`lxg2| z33p27pZzmmW!it5k?hZ8Hff1>#BR-$sH`3RK|F&~c~~V~PI|-_Z_+-8n8FutuhC1s zm@ct9`wENf3TTk{YnV;ot zD}|MIKh@bKuKneP)#r~D&*z_4yo+qEwj)=8{c@V7r}NU_Gu-A51*!sLNe`A zUs$V*iJP?cyypjO@CjD2by68&IcgU^d!6&%A?H2ack&;S-eyQYF9^~RiYlQmKv#P^ zYJfYoeDx35F79m74qi(TXp;1^?V683_inngz2pcx#QoL|p)K{H9n7=Nzvx8kKcQfO z&$bNvChGj66Fmm?7Y~@b;Fr@S`?rUAY}f41Qx`s9$Xwvlp$E(w{nT3aNPf!56?>ZZ zU$9)NZmMaht5@YUQp9G+Es(>0f?X6Nr_v1nC<&K86sRMhNd?OeHyw!~+OFA4^bPvh zl%pxZ^OfX8!~K#8F%r{+G6r`jR087KpQt=-~o>P{+M%P);IGM4onQ*sgqy+oF3=Q$bpv;jD&q@fuxYO>GKDrB|i-1=Ob|1Eo!p zS|5{qIP64GP9|1t62Cq;C!~%W7cG|tB&+gtG#3Z{5)vc1pX{6DkcH6P zpBfoqZsy9R)fQ0#faF)oC9+fiIKcgZ`Fj@eNSFVW^g9WcNVds(eX{%hjo##@_noPF zcfaldG^1qq1Kk5Ms=JW>g89928nF<&PPp~#qY^|kkn_g~=@a&mAOVZA{ly19S3=>R zW6|Q1qu_OiY(#n(lzu`W{SY|kHHe~rE(tU&GB z?vdprYL#eBW6rNW|5!pNy(iL4AL=)Xk&vcZQWs(7 z@^4UEQ(Q^*r$9-FZRP&jK}DEDbKwt=Pe|h4u>utoWq3u0<4yr&8d%2yTQx7%J(3f>n-^3iv<5qT4uBN8u zcbo!RHe&m=cU?`(ieF7yuws8{SyaHRba~RIU{9*g5OD_fLfRp}sZq(| zv4YsoEiXPyxqem0rRzqLIg2lFWc6zH=W`u9XuD@iF$B+|O5X|^l6Sf~D4(`hcK2VE_vAP# z4?shGh?b_(-2HrNsy;a`-*7z7ee2;3b>PbbEuy{kbl-FOfOy!mz1V9nImv8o)REOm zuttEY$;#whb&q22T-CX)@;jT4j9gJyACWON=~B({%%(r)YYCUEX=tdsP)m5_)iXD$ ziH1RB77~?EYUAQt7A%>< z7NEZ1Qa|X{t<05fHvW14V4i7CxYSmA*_Du`z1U~q69cNmUzgz5wZ$}Q7{>^*(ThLP zr#2dZ$32|PkWZ3VA)UCy2LDuIyfbx1e6iirDA|a7H#2oZSmz(IqB>K(BPyJa#L zAfn76*F+(T(;BYu)dXZ7prNuXWljW>h|a1+4b+ zk$bW16=M5@E`VqSiwkT0R-Jso2Jt<^GTFOK1MwDd0R&C7O!6nhFTM$k45{#`_$X{Z zQu5oFqeX@fz4!C*lDI&r4Q;i>_g}dlZ74FF&zXxq;}4+K^pCueLEsYGp2g#Y{6+lS zU*-;AZ{=&6G!9#QRI}@zVXI5M{bjnj%%aP$dQ#8io>o#X!8Ra8EL@pHZ$GjYRp zdnI?7fW$qqp|KJ5sfnJz8INeFvEuw`=Au|>X~NtDpf)@YJIcfudM~^Kc3#SW+G^MC z8F`)CqNLOXdWm{Zj6~drVg<|uUKUUGUx@8Ce0?>SPTK5#;S`CcC0@P@P2j4TvdWa&Vm^D?5cH}1=gI=fEQ*|iqBB&uYp zw_l@nvnhxd^rh4M$Tv2&yjayO`_S#X^ifk3pP`tx{!H?;y_xk?)0y+duRkD>n>a_> z$7}&2cX^M&&2)DCKAKhZO$Mim-bvz_G*zyqH(yr9+&)Og1W&;*_pR1@TQ#*Yxp7mP z(+tN;CD2MjFCBHQ(G`__{TCdP zmE1L@fgqag{EkpJ##kG9I>hXI_c1jKF(WN&n^1GRM~ojCvo*v#=k7hjOR-mZLct69 z{Hg(&2^oM&*i7*EoDy2s5Xv;c20yNniD)*BpH4+wa`Vbx?3p&|d4G6DYhUau%;IFM zH_??ZI%_gtIAY(br0q=#%-5HJWY>E?vFn#qEOe1wPv(N`deYxfHB2++1Gb~rZWAi_ z%e4DCA9vF%&iy`X4`{MY?hb3iztiR}#N{i?(f;tx-rbIx%#98b{kflCI3VL_{?29o z8MX`T4Axs?i#0XIBbzi;V$V`Cl8cB%xOj?ob0=<_Dtl;mj{MeDehKEZtyNhb=5-=U zz3Fp$3A98a{|q~|=zNIzm_wB}m71I9IZZ|45m$Au<%U;E5r;@(5I^mtB(Pi{z7$cN z*m3*dZP<@WXP(QP?nj-E`ux{WIp&5*f>a1nb|HEfa* zr6Pq<+w-Y;);h$CiE{Rv$3o29EOuyyK)WwCDQ}YJ2%QexpNA1W(;>y#A{8vmwUIkR z%qy;2bWWTIc8kRo;o72Gq-5dGH|cu%JuF#79>5uKE+?XDgaX!gKA{>Ca1q`!orNqy zF=wA!#zj-=vzIp_v9Pg4_Yx_@e(pF^`Rc-q5j)icoptrr{5;`Kh}49Fg~I&EdMIR ztUddG^C7~8h!4X9Z_lYvURRIJrPaavfPMZp#pPRRoOcYl_Cp!21?NiC&+U^?nw15- z7Ol4|{~?Q-hpWSoZQmZrp4yu1#0f{Ng?7UMYGuyWCY1rPSMW@$3t=n$Ldt-m5X;(% z+*zqhHe*X7t$Vj@Nd+ulbfFx*pS2)oN|jNk)QwO~qO#!W2|B}6L*i>6gB5YlVDE9h zTHyDK^ZTxAN$Ff$9z`@U*MD6id3d$6j;~7{z5snKKwtOllcejt+CQN($Xv8s{sL|2 z*$(h#|IRzc#DU-2+l~`XiC;%|{*pFQ_0jo$FKN#aKC#@HpG^9`vC_eQ5+#h+H89>| z!gx#meZ1uEtxbbtwE!t|vTIB1GSa=0Bg6rs8m1^)lG;{Hv-Y7bb)RiFwk zt5qhh?fIM&1>#r)%e1g=nm4lvzPhxBim)AXdM3m7$sX2RWv}4va1mACi-% z&@vafmoirtvFg^&y6TQ)yY|FhHT=bZ*om$po!ivf>*=k6R0Mk5HLlaBi>QL+{uXj= zUA9z5t3bRo=?4tWAwwqMUX_xW2SC2bKt8&L+W7WF|zAC{P5m!G1_ ztE9MDa!=96F|%Q!nOIcOVoUK=(*&sml|o?sbKJz)^W4jl#~z4h2`9_zp}5Pi(kRVT z0x}fF+>g3x&pSqO^>XQlF?v0TUM1OHbLFAch4PCVlE7_VjkCp8^WNa$XAzel=zSJ@ zF?E`^P#wA09gzGQ>_o)c7|=8aR?U2u5%wF%yTq>0vixw=-GhP#Hm;9YP{6Hc$nOW} zcgKdw&QcL&sd!^xU_`|VXA~?mJ!pg09z(?4x^&_ru{3}}T3)Q1adWDk*x+jo1H9~o zsrrxgn0aZlVS`+hMW&u1*7sLy#l719$?G=<=%Z??K09`jck?WA1$3cj8bBGz5jCKY zT2M$GC`1!c?}T4!w>+YWM3-Pkyd802fO47x6o^S{A9K$43c(5`t*D34QrKF5RNmxu zgbQQel)?H}+h0L^9q(YC=OkS${=JQjj3lT0te#}S5zbR+UQdamX$cfPJfdypImOAE z@MV6{;pvZ&YC4c#X_96DBB6(H+6NL&6HvQF_p0|5S!%7oZ}1fO%?_OGRFJ_IYxk1_Po~7gc{NfK zk_yd4>k{pS!F+?BXj`n#{dV^w|71II#P-W^;$0@xQ)jSMzM6~(v4>NeuHy5@$?iqn z57#u^Gi*HlDlG5ay&tDeZ6-eC2@y|Ks}RS)m5^sP6lu4j>r? zIGo)rV}C)d7}#5okNq1(?FT+4u{G>E9)Fuy(Vi!k=i10GxL8(U*MCOYJ31oC*~M8q zJOcD{jD^yOW=KCHJEfSlKr!OSUm-?ZD zR~jaeuicO2))g^n8kzdl2(F&Aq8G|=&B*0-lzO=O-F%OMPC1@FNw6U zt9p|7mX^yUEBZbW``#XTyrg(S(p^NFlgM(*57nngYfP8 z+8YySCBcpk_%<21hyk2cDJ9+$DqSV-j_k=%`F#%VB68dOrgesd%;u&|hWuu<>;Z&T z11j!eE)y~fAtm@0KuST}-&`$v(DQoF3&rHRBOIBYz;g*3(gW|7M1KXS*Ae9*QnK?& zze-3X`Q^oY#3`ndIX%$7cC1jpqq~qVn2U-~8`*cB3K7eZoP@JFKt*vZBi0=e=U>wV4+v%sl(DIm zL0-?_IwGqr#M08{+SP)})3e1|BVsJYOZswTTka{Vc7-DIe`1CB1`-8ksVGEV1^B@o z*yN=XjP_N?z9IX2J7jE&lo492o%OTVZKLiVsgSxS&6RS$-lS$)Q?ekHf!ifm9ZNc3 z_k#CZczf{~QXvP_Hv$+G?4*Z}ZK>q6CwU)zPGVgaEy^SsP0aZWEwy(Cqb~L#GpSEg z?p7a+VO1GsN`3HUi7@krpaGyVh20WE&8CF7tlF=xVrJlL$J<7AN{550*PfYB4%?Ec zgM#IQfdy>rHfA;Ya&4%+N9m2d!wioZ+-r!M6VHb49P)k8JLRZl3C&Q>-8 D?@gf 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

%~`T}vX(M2N)k<-=Yr@<>+w?rTd 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�AZ^jtSuef=?sp6d`r1Aq4cb-ci0Pbl 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ö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%0D688yzkBwPt@@o;)xM3ul5;}FuiWWbHgAn&#g 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

kw{JbvZu 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

f*E~F3r7#-Vq3126oCY-$ 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

L%Ig}~#vN?hAv=8eETn$@iyQ2;E2NJfPNggY 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

%plLA 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

C2n~JXg(`t@p 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 z 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%0D1Lh{`wm6RxV#z$oxyONmGLa`)d0 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

Y5B-6BNjpTRj0`5mAd>>8=y6}{i@Qse`?Zk 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 r+0mE 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


HbxtD~Q z_HbY86@qs3`S}PDahO_?Xc$&ZnGH!e0;|N#CKYGLW}nw2vj=}I`vD&}cigga@nH!O zn#gTUAh?i;$i8I|c~fAUClt!*#2N5u*Aer;f733lMrw045+9SI(0KXJM-W^vuZ4zP zVmEbYkL{8#9|7kS)%M7s_;GhTe8K zKodNW@1UH|%62ldk0U-FuvMp>O*4so$U%A``_&$efsQ;ZH`fjJ>sXqpg*@R{Ytz~Z zzKgLep0zo(#z`cRR>^^#AV=0xlw2=9a&BmT^7cuk#t9W5(>kv#@2@FB}kDya@Tg6yrW$iAlkh55v~deN*{_6!{AFtaq% zE7X_gz&k;H=fIXGl5JJD)*<}9`t5rV$qB8mxrYpTzHMd0kllI+*;{JS)q+)!`&@YX zKIC(Xx`NLWA?LcZW&U}5V$Za6bzl7QMGE8ASiUs8HzPibq5Kif(R#PwQWp3FeE^aC z&g%uSwNsoEQB-x$OU3$0=cduZ_;IFU$n%&EF>b0SXlCuS1jXbWr2bVFA|;B6Ip~0s z%f9mO(j5w05t2*hie-6<2+IqZp60VFlXWn5g{loA(cVJuzjPAr3Lr&f0&Xu8Vk__d zo7eU8){ZT+f+gVPw0T|m%Nx>~kL658(pw(CLy$Hg8aDaboR(K#RpmzKMCYZkze9en z8cV!k4t$7cbF^tE_&XQtcTxFU!A8HhThvUc^JwCv`3|ds97*7P$jdvZ@TYwDu)PYh zAr0Bhts*t-{d;b2Cv4fAUz=9FxN^DkCS<>0Y7U7UnC=HohgEHUr`Wn>*7;d@4`Vy# zwB+LCQL{GB!t;$a8<438GV#$n`0u5l%Pg%cz*+-{JLh4^`f%O%mmHkAXDBpzrrQf1LFOet`5XWg9+fnR=1*nf>%ShjderOJDIgTaJRYmuoM+a6*iJ6B(H;4 z1PMG3Lrt*IJ0r6ZWSUJ>&}D;ltXU&5{l=*+Hdaiq?kb{g4tokq;hTKG&05WxbR z&*rSt<_qPILUzR8ZNr?8z~M?8F^`L_Y~bse4W0z`IQ!Jj>Uml6KRo_`lOC5EwlZ%v zp=K%G6{oF4av6Aw2qT002chmTZNqzECfGtSX8bmQttk-nPk~@-lF!(phz@{nk-TmN zEK)&Wr3wP86y#(99n)lk9BM))nGb9O`x|Kroymom zDTw9j6;0POZ}*}|J+rnK?XMHn5{aiu@lJE?ts5k%3OJRTM9lV9DOdn%Iavtk%BBVw z=@4|{>xbzI<$(ZE?e(vVKL?2`2qdnclIu9D4oFi$AbSOY>=g*ISD;a)4FuUM5M(d8 z7$5}MOAfM^9AvLi(_w_7+GUP27E!Gnq`t;n*GHYb;<_-H%Pf+WL1Ym4!ngXKq@#2( zC6RHV-V3}Tc5?IYL|y(7f$~4~KyF#a%NrHZOu!Qu-&BC;VY;QxIHAJ-9gqc2(nl|2 zn)Yhmk#ez;2ncK7$hqQ)-r)cKxp6$qoUW_8;2)Wz!M@T(6OKb*MKDtaZ|~SW#tGgC z?9Af~0bo-J;GTH2Q{SF6R1ExQVieqasA%6>mFmJ(ydNSu^vD6SM*N zU94+rrk3SZIASE-AFL~nfn1!KfddP4<&C)*T5%o3n8{q;eS>6TWb1Mke1MY;$p`h3 z`bo4AyudiKYyf&1$@KP09qgDm65@e$|E~PPnuWCy?IZuP@YQpT<`%FV5ZE(B3QRx6Twdk@UnLy{nID-ZbRm#clg7J-lMz?{835Ls2>k3A*%6$N<-fX^^^ zdl4xud7OzF7_VpEZxNAt7GlRL{7FgjAx1cSOhe1|uez<|%GGOhFj# zgF5EkRlo+s<(pc4F_Z^%fX9xj5@R%A4v*}0j{O-r@;dA=7!8S{jUc~nr3U1G863%M zyy&y@ZO+nv8=vcukdBejzk^O&n9EnuF-us5UG|ce+3h<*jpyTM)D_pyr468Kfe6Y@ zFGkzv1>Yr1RwsP6OI(GW4S2pGj{dE;V6A7VU0x*U!Ylm65Q)iASt4e1pO@ocWZX;M z99v_=bu_;M`{2)er0#Y20bYO0@-BRW-{M$20~qEI6y&g*dc|eCu#7mq9PeU7(m@CG zDt+4_#FXhW`1U5dMvzYYwouAu41~M|d+d=vz@rMdi=VI*{*BkRAz{Ud=P_d$UH5pc z!Y68rMayvBs3S*9ug+)Quo5%#A-gBPdNrEyG_J+WvWi_&Sv4~^B4`oZm^NXgU;Bc*0B5!4K;fBXXXQ@DQsT7?r#*ds41>!bL5 zaB(=(9bXnP<5j+ASE{w&ZvMNr!OAS_4wd)yA^B5kXjLaiY2-}ZngAXS%KR6(AN(zu z1sVse^)$=|P4bwpM-^4#emLu^!1E0NWjOw<*jnN&tHf3wK69PWml|lo2M-_%r0vh8 z+05_yAew92pCNnvD2z3p7T6$aTm)VfT37OfzO%GC$EwA)La-6O%Z1EDjaFq-R5Q-I zhcTd*C22>-&l4kWY%&eb$$r#N6N_Q#-IHc$u^Bm_c+o^61o*V8atqJSOq?!2+@`v!? z6E3_ezZ_fJJnNyPy0{jv2|halKW2@DACblH+l}S&r+x$@@d0bJO&W7FG7itI+|Q2% zI@CKB6*iXEA8QaR{Q$GG5w`id@f}Rk+|99?NI%zpzh_}pxIKpS5y{~^fRpM2jyf(a zDqxm&qX9khc`r~Bjo6UD-0by@k*pV&oG)%%t?SicJB83*yB~QIV`;v*!<1&~YX9gu zWP0@>zv8f7)@~8AnQ*iknTT z!D&&tU&BcYJFls$`_ERG=JV2pUZ4m}2JNXTYp zaTb9~R+_-S+W=+WWD~RaIFvQAU@Pf=d*BFHA8z4=hmwY@Y4sB)utat&%^vCj_Z z{kOtxCcf(5?L&|=)1L#+T4pZ=9+ll6+y)A8T*~~R&);|`nZWreya|xGZghgRxrHV5 zUF~l^X@smqUEL#dn0dAl!aHE&_vhbxyAM9si(P;0Yr?Z!!e=_9iop}6n9p=5%-=U$ zD`={KGvQY{N7V}ZHN5J`CvoYOv(>(RnuBLK--t4dM|;SABKFF>v!W~H?DtOz<5~@v z{NfQm-#;V2k$sYR8%sc$A@)rWeIfIeFh!jb$nk^V<`sTS4yjGb-0MY`jKEh&?dD#M z8s?wb^(FrtYzsk;Atu$uK89N@c^pXmQS1(&96$5<_WJ3X0?QZ0=?CiU&&C{cOouviKZ3aF zC+o^#Zff0cU)!9nPc3U}alh?s!@Cc+;HEoQU+v#m*2tz|ul~Pbs;z>ol)^LA%B0x* zVID^@dnIrK2+ZX^Y6Qmqee9J{0@4cPedWC}1p0D?(UAP}wb&cOoedLvV+ieKHJ9c` zgG7$99-8bloETov`~F{W4)N#A*WY`I(lO3q4t8~-l{C!4=FY!* z&K%FKxHu&2g4f{_Q|*g`0=0g9@LUQd7&GajES$oJbA-uJ_SUM}a~d=0FQ)0PQ9f`V4qgqe{m**u zfA;X)9NjH9j?h{6_|D$H`0xUre?H?U-v=tkb8x~~12<5a;Rcdpc|BD;4J4Ep3sx5fb(Pk#tmzNIIbq>r6NFhTK znA(ruq04GEr-Ls>9ppb1%KnB| z>7}#o5yB|y4!Ci1)HRR%a>el%xqVX4>}+i#Qb;}AK39SLf}wuXyWOwv^GK)eSjHyo z5!>$kk-up7#UfnK9TUmdvBCYG1`V!#_~_UZ|2v?A_Yn#P>w~@Qx_R z7-$s^+ut8gsPZ7PZatqX;V+9kcgY-v zGX4z>=bC5x9^>2ocpPCoQny2V#JnSl#c?tv?mAfz_m^yHG)1wV659@!-u74+bH?8= zcNAVRrFREsL5vEQq ziCQXPYB3wP%mmS?_TEbjm0?hV9J&ScSwkMO#SaLrj$IU z;1)U_!|i|ayNfZUWTAw|FWL+~72v7*zxae2dEh&b6utj*0UKFhMZwq`>%fu~a0e7) z?36$rD2mC!pZ-!Nw^JhIz1y6{)yn#VmQuJuAd=*J>ofFVa zhrN>`Y8(V@paXQ|Tb$Q%kzAZb$-TU??t%P(GFUoNcNe~8MSv$QndSeeTnw64tcjQ3 zO4Xb;GxNc7D|8~_LZU%4bb9w`D|>r}2`Kft5K3-t9Re+7$5%-0RjSDe6fjaPzf7oCS0P38#X*12z~lCo@w#|l@OnO5E~m%=;5kPg)We-~ouK=o$U%8e zA4CPnsh)oPWT&3Fi_3RD#bfMwipvO{tG#0o{B{Q}!5S^D&eG1gmDaYrWo^@$+_D@~ zZAoQ=bN-FR*H&Ix-TY1?uS2rTsO2c|80T&B;u>rfaQWUHR7)(H_XCf5J{Aha@o)Rt*fd2Y$Fhd&Jn=OsEeceOKn09g(6;SRM4TmS5x^DRkmP1^4LZ+ZqIRcg|(fho#NyZvW*+#=px@uncG6V6IK}fw*sN1JF(2?Ej(4CoANTt%plb z*Wet$`{K#j_TUGor@&ChBtMYKX5*UoUT)X{x_rc3w|ZeuAi3-%Z@7Qqslw)irk0EK z&xSavU6dKlh(W6wa+bgl5VH$?0pBotMe0{A>Y#&!dTl8R@GB~Jy*qipVHR{-^uIlG z9&zXWM^nl<^4<`J?4yH=F8R%#=OAXg78LbI>C~3VTHf!fy$kXo;5ctQ{!av4_{APo zzC8W^W9{AJqN?-%@pI28{0EF{I~m7P;qL(Pc=X5smI;J^RsSexljMr;$~4 zbzxSLry%ea_pp{Foz|kMj(Z=5zAuYil`IW*Yk0&3*5l5e!b;&61Gq}q_lHT5PS((# z4ftSJk<5z;VNSqz!h^Oo+e8|Feq-6EMnyC2x!iso_7bq<#ls#L~MDsQyA2m)yP9XYM3W{e(1w=GXD6^1m12%f+7-7*M6nC>BT z{+xq#g5Bg;&;(noG~AuW*^JQhLbr=j6j`&hQyMZ>uqu&HLe2lljrq9@qE@`lIzXDX zkMVTbdk9KCb^ee@(^K}hg+0hoW3TfB1YTEHPE1;qm5|ko{nmsWD8>)EZar5wKO(6v z#JsRh;eaaLhvZ6eP@c_tCMo0((6NNHE}W9vDvLU%yn!?881lPNW6eb17yHkC$+M`w zaI(^lfObj|4eIJ(cqZWds|bi}AWgK<(hR*c^fmaKK7aku)8P7AJP1v#4$*|;afS^E)FgstxuBD< z&Osl4gRC+RH2MHZ=y?lo_D(VHI% zP)|6MhI=T58JijqEI*jZ_<5+DWpdM(h`qO$89sNt_Vkj-Y`J9svnqMv(ufPenL7p; zqyNUH4GrGM#S|K>W+`ktV=c^WG0cl)RyA_5pnOFVFARmRQ;`%R47E+!JiOgP=+_!Y=*-X=r%u`A0bcO=k?L!Si_Q_N8HTF4|mzJL028~n2^$iwq zHTWw|HRiT6^1JDRRH6$Gp42e++ES@d7ktKS&~*$ZIhj#*GV3fGa$Sru&&_PeYiBm# z4fjw!G?wXt(U8xTde}@kHa##m198_5%Bg7@+)&GVf7t1F$QZ2;oeavtRg8 zW9YrX7?+%548{3ut5bG&2H4$(d4h)C$!;yPVTqPvcKtweLhHK@Gle(;?tF05c)O$v zR;RgpU%{R3r@3wmN5&^u84E*_yGx|y!ccY7?Pbl}$krh)KA5>!y!MQXk78~X z+neQ)=_B#mMS6d;SSsRSsUB#w+NAX6O$2a>*{CL0%_ZE?F|3o^}csi}#n5?;`9eb-UVehjt5__UwfYPG2Y>0=g*W z^P>>$0y{`VW_R5qvS^Q~Zck*bMK$ioWS0&xCzcLrl=kVgwEBG|J31A(=5_EYCTY`*WhVk@PdY-8Z#nnk()~+~Lyl^|b!e7kxO73x z<)tgm!p;_+)C}k7(FxL;?Tnl{kU<1U*2tV@Zcg2R|Hj~RntKG}nscP*D;xld0ek0p zf|hp3s$}eH)-W%OXb!ZQ(vXwNZ^p%t`Bn}H3{QTlXnDq>x8VIf_}bEFVM@s=>{eD> zmpT_d`_NiV*0y;V zo&VfFdlk#slhz3Iqk;FC7yiY5VYP# zYY`$bAE1$(UP}9HNTa&bY?|piP84}ch2s}M0lXjfeFj}cn=6q{IN_c07f`=Vb~h~a zScEpUMA>JhpURcFIb8F+r+J<%B~*){hCMD3k>6~#H#jj2wswYm+Z((aQ8xx-W|4DP zZ}whYeaJ^Mx3KuO^Pu|8Qtxsp`|_Bz5n4Juavy3o=vc-mu*?Sh#WbyVavR-`gq%~Y zDae8XGojG#dda9;2U~}S6pL1`>4{3pm$7Kc;W}U2@6GSVxjkyYQi6_iJKwOwhQ$-q zdwn3m2ziumTTdI(5~6(e6_;Y*ZS!vYU}*8>+p}hzMN^@n_RxP6!SM4SAP;DLO#H!|BG zn7Hx`f(RNR4Sd~Rm~fIkk7zpFq%Y{VYP{X6J8x*)LL$%or4-$I~g%Qbb}>l78f}InvL5OQ72It z#Xx$rI~S`vJ7s(t+2)chni>}ew}=T`E9kFnR9wZStRN@m z!uu+?be=*@!}P(3Kpl=#ANk9zbIQk`zzH6n?y&J!4LW8N&W0kl#!$e2IKL#+ZLsmn zAXC&NI>EVbCms2DgF$fb0^c5{^6e33a8e(z6?ASljVE3)rVuyx!hFz;T=KFEV&2{xx8M^dWAi1!bx+xR5s=ULnhxG`esS3 zY%Mw~oG3X}Uuq8F)wZHaBD0nKufYg_Jrr*LwL z8v7VOp0?0A8=g7;tutXeo#9EX!X9}(#*AzvX|<3_Y*nIJJ(eFl)1@;pM6JWeBND02 zHllCo+SYR9DiSnRLY$k!&dpA;&waDxRB}k;IzhRYzvX7iE}_I=+#9tx4K;o9_=@5NIpx&zG%pdrd{VMJCk*@ax6eI;8PbBTLV_w}>I6`)=@FIG-G?QiFZ zQ*MoAr6qv@koedy1;9tI_>$H-$AvxOAA@0WXc3~)NCrVf27}b7{&7st$2g!b_-U^` zsGdvX6}p9NBWby2epZ;I#Iel;Zspm6e%|(qJKEL_?{C|Fi>>fOsm->}HP~W;k2o!j z<)%d?QfNDP9>Q+_*eXUu>?wzBMl2K2sm2!rRSGVzFE{b?7M1XOF}jtPG(^?qmdW5- zV`HT&unJe=n5iXY_e+dX#@$2iVpf@O&PDY>(n$05SBFAF)%_Obo69gxv_qdv)&`XS z^kRw8(8r`(8%8QHgG;iCBh7a6GpmjI>x_ycrsrm-aON~v8mrNK)R-X6TP2o{T$P0V zqM12=osKkG1udkj>03HHRnBS#R|4CPRV_h(e(oru#zT64Ko+fxQP*{c=7ppn`Xbi- zw<+2C*v*I+7GUpGAvKN5&Lmkm&IjE_M!HaWk1Td6Hp@rti* z+^PMtSQCKz@we(5+uS*|wa6b(iF_dHY&kk@OkWLFSL5la{I>tCz|W~AsZXATG9pkO zgd;}_zBFs|1>aLVv+VlyP?d5w<-kF|=h^Si&B zkp{xX6LW}NepH`opF=a3w%;%yN^q=>W8Pg&vcBR@=~n{={qMOAiqqJPK9|~3!7+bJ zTXs`@(rBIj`iZY*o`NNug5Oci^7~p?vd;B?Z{oJ5F!7YxO8vc2-kQ%;75&lweOFUT zJY}m^el<0`k)^Erp(Bf*S=?%iIWT+QA6tLB`<0d%O>=im1sKDqgxKYCwJs&`AJ+aF$Z2}u@gN@+n{<>Q}i-RU9N+@+v zyxW+Q&$Lm-CCaztk9TVqs|t~o5i?$#B3*R(PJQw9N1Sqs!1#HcsFQN@bvC}JQ0sqV zI)R8K_gUEhljF;xBz0W%)$vPwaT6zN>W^j zE$45F(t!nBfJtqQsgi!RVz62|b?@xS-%X;tPuuRw{G_%qeAa8GxGl2>7+x$&k^=Ow zy}imwN9S?)24L6T+pYEES;aqei+RW z+cUQQwZB;IgX^fi?w5Q5j${r8HB6-YK&%bfrV30+A+Qb|(R(y8D=-Jr(bmXhUCR#O z+J?NIqmhtZ6qsu8&8X=;szPEps^8<98kjS7p2JoEPNA>l{B0NNf_G@e$vX5l^PCyd zgGQ%CIs2dfdD&32`b*AJzV;64o7JbNZT<-4(30MsC`wYVc8*ASzND#@kPy$gMbBl8 z4?{A1UX;GBWUh(QkxCt&zr^pc$5@9OmdSfZ;`cq`X_q5*G<(wpsry%z8iQcHEnVq^ z{DMv;LvJGY@@+&W4VdzyqgT|Hc^yLcZD^nt!G2MwxeW>MoL(jr?ab-Uv&7+3(MgDA z#y8TodxWwQPMpF(x}#$T&lcvF;Pcv|q1Tqu*tx7Z^h?jv%wzP+(E8i{U&529hUs?r z@90f9;z_5;1B+&myak?>)Vd+e3|j1ND=S%*oD_nSub%vsrc zf(GboyVn@C-5U6~aWYAcdj&yS)~Q1z3H4lt4X~X%m5e*zlx~K%KiYur;A0D5DSJdX zEE}VH&vIEKI2Ya+D>~0|;ugq3@ccn%huVV4Ba8VO-mc@j*X$`VYP&QP&CnlLSLI0WhT6omL_#;EDYBJZ2a)&3`DH77#)^dhiX z$WYdJRWkR!oh#0qxn@LF|2fyhhIVr8x5Z| zf{x%N=x9%a22I@V+)=0Ahp6XLw-45Wg+9twZ+)(gFv$=$5;!d$UO0cJGy13{SzXy@ z4m{Rk-dzT%cejRveF$MB_~_PWPL`5pPyUX8NFi71Wt`bq)samAjWpvA$9r z?;ZGw>+h)IL_KH<6X=0pUye-)K>N{M0dwj|?zwP2sHXGzeXBA!*px&ok+^5SBEV zJ!DTA0eyDj(CDRpWG@FJ+~IgQ|+2XZxOxRMt;*n`ZRLZ#<6m$zy)L&dU~I}S+urr zDg6=vnjnU8j;T|bwA|b^$4WNf4P-Qv6k9TArR*HZ;61_om6?hrjo$F0(b}moVh3>I z9!-Rou#gjlA2uxM#HryH1_{xM*TRR5U5%_*c1})hdJ=I#KqWV(@kK_I;)suqN%{5g zxt!RUvOll5@XZprP2lD$r-3|m<5=S=#N39>y3R!P9-mIKe7-19xV(Bw3F-FQ$jVEB zG78quTQtQTG$&k4$_w_?$P73~lEc=0b9?w;vDv)PU$fv1m{67<$eP ztHnAF>p5iy7j?6G;e4W_y0++}&m4Gu-_%x;z{VpA`|vYrpE+5>_7G>!x#xXBGF9N@ z8+u6D!;)CDzLReAq}RQ>N9xTl@hWyFwxhNvY~nr2Q>=Sq#9qR0?Amq%e~rm=a^`FB z-=1Jk^P#ef%j^m zJZjqCrVVSB=0ZAO9?MGCn;0s|FU>WBGDP5ncB%S2APwTJFVOer)WfjtSjF-iTf zdTiP&Rx?S>|FY65O6Mve8NbGOJ6ew)uJzcp-)a}1BwqK&-FagYy&@jdh;eu z&pgYp`M>>2evfAlv>a)Y_pAZ0Qp6>a=Dn|vGYGA*>-E(a`Y6GwA&o)YH*AIMeo#|P{48_xA>~|g+j{Np3)WYxUdtz6%9TsF@?_9`jZ`4q zD_3SR`g!tJk&)Y%X!=SZsU9f1he2O7E5mU;k&zsin1vaf8+tgMCBU%29UvLn8U28> z!Wno(z&db1ZU$~I0a&~8>zPy&Eo&haeP%`h^{CFBsSh5wL3}#Sh=AO5vgM}ysdKF- zk*Dd3zf3Q3z7OQn;|r8L)+#-_j#Xp2Cq$e}#7^VH-cO{6-qf>!j+2E+($|5EoE6Vr zz&V8TCgM8d{ZN0qYRPc3R1_3QJCn|x8!t*FLMm4oq*1hUc09-0^(#baDD+@T8R1}g zR-V(rTgFu*qO<=TW>XEkoy9JpU8Bs=zGRxA4+_YB%28lt&?aj@ln^d8izqTygExVgtP zH>E8lHEnxZO!~@nUB-7W&dxrPJ$~l4nIl1mAd9$~nEXqt#qGt~Ecgv}gkYliH~e`o z=kwIRFLiBd$D*0Er~0C3a+lA}{AyNh81E9i>7+@`It-Z3ob z=AcmopItomDM&Xj0*|DUO3d`uv4*fsSl!+_oQlJ4{#u2++p{=cW3KPwso`tETo$bhe?01rYRo+65iRR+yP~9_+I!`!Dh5~-3YxZZKp^CyF~n<6h18*77xCIA4ehS9 znxyq3$p$RIQ`*(z$DdQrJ`brhL7L}W82V<}*lX+R9zKUs13il=QWR#o0D1BRhL_#} z=8I1~S+-XhU1I;}I%b3(ruJm_yho7@Zm<5|N-vAMu2MZue%DnwHdByt1$cqL1B4(b z?7G6HG;b~yJwv(>PYb1%b=~NzmE9A;Pk7!Iu0Tekp0~TW_E*^|n`5fT7?+*W%%`>o zN~^kb3ceI67@&o2p=h8+PDR9Z;VLxRJ(^~bPfg&F5qH9-!7{8&9R)U>WD5v14&(MQMFQa_SyyWcC(wLt( z;GMK^`5WT&({c;i-+da=#{G=!u4Op)R%XmDx#cpW&ia^oS_ja$&y@LJ>)$aI|4Q0y zDA0B%jHzdu#VvK~Qu$QRy+^wYe;p76YrG)OkT1KMtK+^h^jMikPa0MZWnNjyO`Xel zhFs|4V(f@~@ou-T<@!6;*J*}7aXMi_^mUxPX@kl79XNtXmpabEAO ze%fZ)3>%scho?kapW4BJQpjzvFipu$-tNq9WIs>T;v9|5|6%{vw0GrWOW57X)(1Q* z2V7Um;um^1A$e{=p0oS&)1s$0(IaPlJKX-wZ1D)Z7Kple>*E(k_}2Au`&_HHqHvSP zz<2c3(eFgncQ>A|F=($2-e2RVd)o>gDX6k8&Uo$W{Z3dK{(^=BmTg55-+%*xC0a-k zq7WXN$HE#GTo6vRPCDn@b~@+Cnu5+bm1n}ubSP>b3{Pec%I%%uu#MZxO%a$-MD>%B zdzCmVq>FaZxGS|i(M`k;5%)p7kgmnRrwky9s_j9f_3?DWemjMDkwmmlG}pZd+G<;p zlADDx=_ID*naE$mptrxVqk$85082(Qq&c(B^Xn%Zwy<2>sdfQN0{B!bNlK%3TxTm1 z7IbS^cXe;2#_E;bBbe%5n`W)sN4IvA?W1?x$TW`LCs->rs*HJ#&Y1kBgU_8Q zPsu(yXAN2W2ksgcKhd*(IRK563%A1QJj%{Ap7l*OiG`!~chmb&H2{7+B8 zQjF#<|5G^*wto-d)-NJsRC1|1&&f7hMWY_n1-(4w zH=jzWtxK7vzR%g>``k3~OtmnUP1q63CKQTEv&*VoB62IfoRpyNGkGhDocLS*2j&4r zEgw}FZRQ?qf|c&1X){(-kDkMRz5+KtL{o}ysxCzA6W4X7+U{cDU!v0Z+2PX?tW}sl zZE*F@D*U#?wD{l*=gESYf>uO3sV=8u^+Yh0aP{WfI;?i`Q0Ql^ciOb5FY^|TZ9J<@W^zn^sV0h zjSp=MH$L)lcoOtSYA+RAvAO|W;eA<>rAvpLE@fR>YMt65xrU*=H_14n>t1Tt7;_F> z9brJ|e!vw6xFTT7gJ0Cvy`%nW^K0qU*k7-8q#tlNwQPfIu4{k>nT2)lj(YE*)jiNf zD5LH2jW%kNl(kH=OWR;k_$BMd;1l#c{??+?X(t=3cH6czHkF^1cUK${e7DfP_U|HH z3uq5!jpkZH9B`Vsj~e~_mpX!wW}*F~&Dzk-f}ME$;L^UH$q? zf7`?6uUD{$T6(v&DxVvfpImTYOiSzT11*o)k2IaE|Ls?^Pt83^T>S@2+IIQ&z-aOT zlQ-G6Bt98AKBiE8%iI@VJYkwa%P?`d>YIwke4nGZn4o2HOy)9Q{Y3xoz8j1Z4V!p( z?g6nF5t)m*2T}gP%w<*fal6O28Wvn1%uRuX@T*Q?_9ABf-giuD8E?Bqn9ok0DkQiN?4KBKSy=qmUqLu;eF&53$L zlwRPO1BFlc-qa8C*Xa0F|Cl@OMFh;i(={{ax7LFrVaC`Eu*CW^Lt0nzHu`N_d?ELs z$QHDaH_~jMo&5*!oHT~Au!}{UqYnASb!4~2NF@XA{jIaS5lr0IM(wZm-^wkJLnIbMBV5#q-i z^?OIJ@BN@EXx@-PKyBOCifJIC1psR%`mm;6iS<0!>hGEHm&5H6+8A|C2UJ-Rr9yeO z1gW3(0e81!^3|&kj4!Gp*`HE6CqR0kf|+6G9$r#O@)dc1=NGw|mu%y#2mI{`m;7aQ z$~Y=*mGMPV!)F5mGW{!L;{9c!v{g%5;REf1fvd8D<5S0nyB&u)JL&t*X#6AUVElcV zE?n^Ubt9nO82vc%8ct@70V(W;0OaS4_%rJ-S>f4kny@b>Wo3#k?LWPsNSkgAno<04 z-BjzGy7}{;hYdf&B&O$?#~-~h$5qv%S6BwSxn+o{k?AXcRsD?m zc3W0_K6crzaaQDvQC6YiQoJ3pqkS!y4)(WfI$za9kOhS=4lrnM-uCse1Tm)uw=L1^ zCOk(rg2ChVA*wpE*CQu|C}s2wLfnxo++c3)5)&swa;DYZBP|t%IKtjXoQ9%gWBiZf z<=DN5095z}ayZ!plfn5Oq+Ch!q;s&mKs+>K@b!4#{@83y*`Qsn^6%ozIhI-5tl+FW@tE|s^RBzUmgR8wclC~8(C5EN(tFQKbBg}Kb+*~?j9T-egM%N{;_@gMA%9&fAr0A)E99LZC3v`%VB9o1>$`&(9`(l zc>lmN{+U;yu)KLBo6BUiaz=>ODqblZx0~0KR(fI02CY^*Qi%~vvn^+7@6oly?Amis z;qMD zmw6`g9_Ka+zVpoT^?ET8Hd2d1FD|Ll4qFnl{5#XEVv1Z#wn=%G{&pMQ8qar^B;~3t zLpN})QltE;a~BO6zfMdz2EMlQT_$puLlBBqB~LG2+(;fg zaA@;c#O_vP?CPG(IW(+6o{}G{aOmLliBBdzQj>2PTHT#DPohZ1 z^_7Q6S4{d0(rc(XjTyVEkT1x)EaN!c5m|F4qw#T;^}kVWX6pIP6lRpHgVrV0nPsn!@Ka+jj7F;?>o7<)3u+{5c{7|ie* z!HLiS-N(e6H(hE3a*{X1?BYc(ttJlg>heyFoKgb`rnDB8{R6cR92SisUGcC8y!v!^ z#2I>n8z=CFZ0r-vTNqVxpcg%>J8#I7M`}*E=q3tFS(Mx&9(HXQ*!6%qgZ0JJrnxEw zI$Q3k&OfKvC30CJ;!AaFs@t6!L`r#qw7f*;=DYmRFP#7UzVeKIobX!>#223S$SLvR za#(u!N^Nz17qG1rd%%^EXZn1(+GEANa$KuM4tph>L#c!!#62DR8}??H9G}iXyHe&T zDw+>|L^lI`o3hf%X;weCT6oWt@EgSU$9=upN*>(sOJ4seQ*FKelg>JNvK5(13d6Te zdV6wz*5v3+U^;Y6Ba<}9zhuU3FwYrxIyYs7iz53&P5}ve2Gi!OuE}C|u9$<|@gyg5 z*HG^XOXjiFi8mO6CLuqO^_{IVtA+PX2~XZY1lf-PjWr2zwtRYXZlpC_*?)@cNZqwu z+WBNTr8_yEaO!Nx9$EZ2&brrY`OOJ#iuOUT<-RXz{q)VSABayFy@k0sL~@LPKjfXe z(Q8@LezETE+vKSisC~No6}#n>b4)I*0f#WqGVfLAI?4u(Q~eWLsU3e-WN>1X`6<5MqC`-k`T*CV@t#5U+4QwuiIE-={K2d6!on~HP! zU`VU_i*A$tLZbU&2Iu4-xRy$8-~l+YU&97;q&W`s z^Xl(_0V#2~oxhE_jmO+pVCL4-%z7>6%857Q64^XX&vncy_QcuqjmJ% z&Mm+B+}rW2duE;g`+c901fUueb!Gi@z?k69^d^obzI&q<uG-EJ&p;aj2l zQ(#7CjEpC#8RUuY6DD%go8sj5*e|N`B`s+Gueu(P(vtBx;wpZFW@9R7XoSd? zo#V2a;-n$5Y_&N0uIvGZZb+fQi^<}7hG3=rC8vaf3fsN#H4Er^Kw8?RCCYpItU`ak z|ER)86Q<9(=BJOR#4^Z7pSmoI+PJd41R3oOvJqk3ko{;^csB%SAE5fb`=0)PeTDwl zeSzH@Clxw%G~yWB+bODTed@3f+_{J+crEw@ESXYLFMbbg7GO~z@G7;6of`V~4!oAo z-j_4$N|h2GTi11ZbN_Mr|GR&y^F8=W_4C<|g|6q0^|@3!LwkwhLi^8oq5!%!mA1zh zegN8ayOyNR+#cA8ARiCW1u3L&C_MfHe%X=$y7Kz#w?;xsZwws4LQ_xr^76!Av?c%# zjMyHl%Zd8pG~!l?(22X%xs6JRXfOtX2cHx@`R&P?>HV}F)Z9Y4`!jWWcHgb9H-Nst zmZ8vFf3j!dY3d(QK5qZdv?pONfLxGaA}4isX(%Q}wadvQ2x8KtY$+7?;P0E5m;$mO z$TjN~TL(x)#mOvuP{fzmQZL2ESI_==U*x)#bpXHStzTW@hx|AoKkhDb5yU?Df6d=i z+W3*$SkbG#Wgfn>t+K`q0V9&ArR#-pE?>PzS(oR2{T0u!z$>0LTG)y=B~z=VZg2f7 z2SD2oojmL*(JPkX(AWJ04{Lr^y;=G71eG?}na1pr3Mw`5EX2B%dAx^ad=FZjOgQ!~ z*);!3#WHWO-D`Yk`S^aEpor%#l37>kd&n1rq_?V9*^K(=eere|ddYJl*Hs~Wg5ChG zt(3(}%!+TQynzoKta77P(KryA@%l@j`=zvgpE7<{nCHK5VQ>G&kWcmhbv|^D*Ye)J zVa=R)FG-CJy&7i+WkatR>$Uv;$bZ&<&GKF=m;Si#bT$oV&y%*d3p(5UH++1~+v=LR zzgXd>SzL?NJjYlYIq_UFc2vCdSJ*VRLu#b(X3$^{@pe4%0oBL8lta(ZSkx1f^~*1p z05V;-(g)(vfpUH0*6&F?7B=3%&$&lkznq~+DQi|?XP$sWm!Z3=U3BDYIqAM$A9mCS zl~15mwF>3CB_S|~PUPHg=q7|7Ex3E?o;+kvleEy%K-=QO9Rs_^E=mP`kUt}5Z2iG6 zA%$n#AUm@P#{0YA4~5nsIiIoCTVHh=IQ6gLmw}@n)7Z=QDm~!8mbG`nyB>HHc;0*H zx)pCCfEgVJyM6N=?X?u`jA-y$GCspoHH&rm{Z5Q_FTMMHwNax@RXwiyJp_q*<~b1+ z^4mQ%{j-LslQ=l^E;$h%Y~(c z%R^rZcL-sOa#O#jD_ok^4*Rjk!#6;)#hR;yUd;xkE4-gWaf7q*cD(kPI#=~Kh@RT9 zo0C`-(~^h#c?aCOL7kIAIMMyZof-j>(9=E{xR=9>g?7Rc){iNF>?PSeLHDa(h9K~* zb$}~J2r+vt13vfLUMp`84gRP9``tdA6g{21gH;bsx^t2L zrYw$yc3R6AdIZ)1?=VA`pc#H(bO&q*miOr77ThQbQW!)avLYUX!ae6)gj9fq_XyrV zVy3>+7&mXxgfv5TseF&R>l}PLomFHK(Eh`U#_(|%vVxgi15@TBJL#;t{nvf|XaSxf zz1PVyxIDR`=*;(!=P7M~n7zcXT3`(` z0%3jOhthI3?ljkq7!RT+qPL4|LLbIW4VEm9PA0-Ei#yQb7S2(K*bBZkmkN+=K&JVR zj|hg`)HdtxiTr}c(VKO z&4njEKjiX%o;G9yOec<7s=h}%Asape2AfuUyfHHST`SE(1Efe_dm@^Dn&&fby855v z^I>V=ew;D%3heZQ^1dbx@vs=F;7QgYony5&!caCr5XK3+V9Lo;qFZaugH=!deSucskkF)cJzYOkF47D>yk!lcklXwib6`tQoQIG)7vDkQjSu0=2qs^gtHm;qAg&8xD zFkA|6hnC+AE0!|PYopez%(IN1Kef@dGuM>9$6!zY3uGxw^!}K=&$yp&K6^@ca7M#d zUtKtP>G+klCY&mJG}y6)#-&}L7bi5b`zY(+&+tzbHLN*NvH@>ntj7CUt#6FyAn{Y@u8`% z7fIHV5x}`W)|?veD9Q*JChv5f+BN-vLzpyJ3hD_U3`6Xm0NMSDcHK9KVS?LPuvS7$ z3P-PPutBg0hy#Z426D(1P?^rHD=O}MCFQ#5WJ-G4>h!>jo)_n4w`Hf!+&=RN^hojP zJJSZvQfGcc3wd7~;GYV-2$Gg{YEGFrgo<1zBSMO19oc+yn9my+H@-XGygnFb)~MgF zo#>)^e1^ekV`tf3uZvl)Llg%0 zIp%B-2MI3acS4RZuDbIE^Z72&<+VMGYNx&c9Qb0BBAKafzok7{Kd{@3#ax-hy6U$LKvpEnU*=HVvM6X-Nxk6L8^s?odZh z&&^%BhCKTfHf{7q{5}A`50YMOgN_Au{UtqDpD#FIeS#oeSGDBKW|Rn$Y%N1*L~L4a zrl+*$mLv~kXk7;WN?INi4K4&0^m}BfREYVx&+n9FxS9PCo>)zgQ~m~Pk2qDJhs^Xk zw&EDnK3PLYCbcjNlyJU11q!Cml)WWsh-sF zUS=WkLyoR;Wm~~}UgpHVUaq;L-*2>@YPTFEQVetismb`kSM5JxtFFHk_KBtunZlUJk`cq07hR(fK|%x{wesHaRRxGEF^)GsIste2+lY8_ z4LfU`uVmXcoWfDT1R=7%&gIQvM!NrThg`1v#s~7SYyY+iQ5cg#62k`MEKi0E(KOI} z>X~sZ+eA>B!IFFdRFkw?)WXl}@aE;oF4RN6CW^hTjD)f!^aw)tnj~GZaQqqMp%Rm1 ziv5ZRe5M59g30sN`CFv-T(awz+H?&akh3Zod(kv7HT&70;NaRBHWl#|O^c@Fx&x9) zj_kY_vE_=FX@Lg?yPU)&$!@!>ldeDOBykDHx2%3S8= zri`ptpDh;G%VdX<_RmCo$|Lmutg^A91bZxpc2w{{imqEAGE!ud_T~`BiV=`x)F4+I z`EsOM;LjFC_vZQ!jqA7k(->9u&)gK}Bh_O)|U{#youX z7~)pgi>!N*-N^cA1uty3J%^mbtT}NWPCvo6mi)w4B`*qF)fj@iqY5|ki4XoAYU>>f z!0{?rk<;goALEZ4lPk_db}ls&7kNsLYtemW7o$(jIP^r*2Z%8^#=fg?T%puhi9CtM z3hba1K0`94aPTv*nk@#tUZajF3h^l7&KvmPV1Dx|#O*JFw?3>$LF@6^$$>M2eY}U) z9wzQvnce#LUhOmRqk?~Ky+@XN>qW|ZXMA8J8`-c;)Hd@O*$w5U>^-MUk^AZV$j1LP zCh{ zn!f+noY}Oh{#CYW)wQFwR7cveeELPTot)Wf+ZF45-)H&fx#R5V+G!K2!+wKkNfDjX zG8dJwSkbEfv%&R-s7B(f&@VyqF?LEo=_d}AX^P@vlWeh zKx7;zqhMrc#KrGK``&U>fC>3QI}=$*6(%u%6(rqTz$qtYLM7D496Q8LtMcck=9&qAs5Q%f6Rj~gM=(U8XlIu{d)c#2B-?>M zfSY%A{2O~X=f7XR#$}~2+fv~tzQBFkC$nIr#VtY7AKL=SQsK;n{_+)Xru8AmGO}@Z z!q)}7bD)gcN`$j}eC=MPcBAqh?%pQirnIz^BBbPX2G)E-t!P@D%I}u<;q~ zavbx7QAX6?hS+rN_e$p|?@IkW$l!FZ^l#h*bR9Y=PkE1su~D3~v^^ZLpy4gk9__v=4#KCkTDrgYN;Jwe3HYiu3EN1n)}8+J2AJ(Su0TOoo(8B`mK? zCGE(}Wf|#N)!wsCEUvRt$!Qov@CthRP?Fn&mD&$^ob6p7iMe&I)WHmX8G&e(gQP1x zTGvqA019*#jCBy^Ky!`iMIpOakgI^BUrds{J!l8L4fd>PzuF)^>T^IfH#dpwTzD~HANHLjQ#Dl-FP3Y0GNXj~VD()Tf#>i}25ujqLK;0$oB454Qe z;Jb82G}pT3BIjR$?(Zn4a}9lpo|mDV&ecM>wse0$`~SWs&Z?;upQ~9bCe=D=191}}x zPKdcRm&MVw=f#n=7sb%pZjrC;6Gtn1FuIAf+}K;UXeS>0T-gQFRf%u9Rn;Cpmao6y zeSL5(?Jek2Y~6z(Z!GE_)D0}tGPD!mfvW6;?M}m6HhAE}tMr1t$dL%`fKYybZ~=a; zMW0*gh6#*?zW-*Jqb96>r#xuBCQnJh_for~CKS5V4^4e##k{(Y>c^&Cqc-5r0$E9j z8#hBu_2{dNo%ioFOIo~r>`f|z5~Je2$ea+K>2aR#LP^uwPWUO=yMv`mt^mX&Sd6F3 zE-i4l08d_*24m0f4#tS^Ux{I*?%fwWgZL|PuAk^juIGOK3i?xMq2)lt;hQzEx+v}r zLT)|$cknp@hh1B-$GU^0Z(PhK>N9AI@*j4|Bj>nksK=lkBIXbAhQI?o^jzI(>NQCE z)}`6+e`1=Ir#+Y@l%{gQHLhc#l-nJ2LX_n0AlD{fpq0O;tnM->KzATU!<<*1E{c)` zzpntMS$Wg2x^99jun%!ty92L@o_D&>x|)GqR{jrhb(^T=96cf?*WdG~%fWZ(BJe+o zWAXn(?d4jGM}G|eEkQSH6lhnTu7QLoqZ$7#uV1XSQ~hasYFE(bhZk#HX6!dBKcb<= z6{^5znOS>{ev4XESos+XYh35CXRQ2~=TH(m z#>!9FTI-sF{bA+*ZbfPA4lBQGE%22xU%N&|jCWX@i`3lgDm_M^^k(%v59?F)UH#yQ zJ?cC2Pwy;)LeE4X^YTlGX2CBGX~OwZQbT9YWMI6NY$oUg^1lA;Qo9J-CZh4G2mQB6 zA@HDYvLwgss>**9T0fjCqllj}^%%NgE32FeQH?ksl(!w%)g7dsHg~qeq8((7g?Igo zdRX`u*}>b)K*nE+t3^37KPcRmueMQfRd(yyMU(BFh)RF8@@5#;%vv2N#BoPW9+cRXY>Jx;xe=gmd(iZ(++t$B-CA6NJd$ncAs{K(&n>m zD0^?W#<<=Ns|MeAyx4>1yg5(b+Nzw%{`0V3Lz8C#R)=;oiz4DuA}Vm|Gu5`$jL~AF z80G&S(KoYB(sqFpvcvk|)w|}9&Pno#cI3N#KKB$!n(VyEJ6er3@k%{czeSy^@arVCVH8RBN#b=L@)qvvI}z^?F8zIOQJy#u?oyGo4B;|q<8 z-MD$sy$Y5FIlub`_br@-#KjN>srRj4##PgW(Eq?y=6u8+Z_e!tb{`+)$3)(IC+^Vv zjkWNLjf-u}wYtO_U?*=qgL@C260s|CQ-_n!+ZnuF^4h3TlN8vl{tng=Djw!pcH~;^ zM$1R_%B=&?vr1MQ(xE@o!lsPeUzJb1r^>5U?BF)p*AZ{ZjYwOk-ZX5`gp3M)%74=+ zZ_+Lr;t2hZn?^9LSkxus`&%lE@%D<4bGUUYyk^B})_3d3*^X6IBGq&xeuuqBwvVJa zBECz#X^fq3j0#}-ZwI=s=w|R+L~o*)Rmf1>G_GY=p^v{@9$!fOyfiqFx#M=Az+u`S zpC56VZU;Z-_P@)RtwiMk$NvC0{t+t2pVFN8`#e)NVzua*#6RF^kHX{c#~oll?f{3C zI{^MGe7}#+|2hA!&Y)$J{9wj9*oUv<=UNBQEzGgvLEH%xx^cY99^vEVD>i{{D02}N zyAHf`#ya~qiQv+qJ*-#97iFWj#)qC>rx%NagJ!9}sQZ@LqHpr%-2VylGrFtd z>pMUC@s(`LR2u}!84SO3wC#^c^Gdz0?U@5pTN4H>hh~drv|{a+42433y~I&T^{r_= z(TF?k1XLOU8>q=dBjj`~0z{lA~+e;U#Mf=14RS z2lW3w(0||(!K2PtREc^5-2c!2!xNz5t`nehMBfzk1VF2~DRWePP#2Q}>oh^j=vvb2 zvy)-FtzchvqYoqAF<{J*S<|u%7_;BTs|+??(u5D0+>4LSGYGwpBRe1yY7VW)Hd)~T z-uH!Xh1VEIY(d`D9hz*=ImP%7ur(B?wipL`{JYfj`pA4L|1+DwRqL!Qo``bVzX*jdHL^1)Fu-DTal-C`Xv zb_clr+*U-r0R=e&{o?QHPP-`bBXXJSy$Orc%f8dfJd(~v7O{yPLq;;Lusl(qdkQ6(VYXA z3d=CHEN}$pQ$$5XGwZYEBtAiHl|Kqi=a-KEA zzDL(G>&wA~jmWBQ0Pr)Ppf>T9-k=De4Tv82UyiNM9UF#cf0r5Dl(1`JgLnAPYGa)Co ztuWZEKOhE8A1pzw)*qa&6BIdrB3ZGzN;G@+)JLpR_jZliPDk$D?aaEP9o>yNb&uuq z7u0r4|G2y4oI6Su+*;`RC{+q<50Wli(1CUg=nas*p_mb{(h2b93|SVkKL8YCYuzRh z+Ot5{0=s@|s=+E)Jbe2tU;7JbG}MPWA{q;CHUvZg(=ak!3+^-iF-6T?H03E*ZK}k! zYo$wwU4TsOz1l=`c_h}-GQG}~f_qiIb_9CYcym6^M+7uYZJo1%5s zY9MzPEaX|j+e7w{1btP8t2fsK=(l6cI@dgXj=?6t-arVk!`4?|V9ik^4Wc|IQfRv- z5oN8Z#>n>VT&3-vH`nMl``+BAzFD}&xUmzyJ3{cPtXJ2pYG0LwC~x@xl=2_4_#f#T zK6`zi-c{|}OfE>BdC^$dxs=wP_zi86YAxh65q2OatQ$IgRVKH5r}MbDDD1dfznAnJ zbgv6bei@nt&miMQ0haqzBMS48&v>JPjWi+}2Xsh5(N@4$(HZnpJ(=ps#Y7QIN$K?z z`_FgxR9g`oVI!DU=O-^N3j5^C5MO_E_NYBJ3dZ$CRmSq#)u+EF zUYtoHtGe{vRr$}fP;6T{F2x6HJ))=^W3)`)n#kR1TPDqJ)4=`es$1&RcR9C)>sj&U zR6dm=p?RYwg=L!P8)UdSG~#++UCS*$9E^pmLI3ex|4E@*`~2_Fbo2t65n87ECunl| z`k|@Vu0mt!R-s{i(7Zl~pkaT4ro#tyMK_>Pc6b!D1+ZMb_;YBc&o5|OfArlWl#__E z5uM!KpN}Y_;gKaokl8GF`y|Tz z@Sk}fkaKSO9MCi_&B~aP;)_Vrn4sjT8_UFf>yyj#CJwDJ#C>**FuWYcRN2||=gzC` zcl?^*Ab1j2DyKt0y$Xj7FzIw5paDO@Qa{q54-Q@d`izXgeyKli;i9bxFT>A7>7o8t z@rAi*!+fnX2|sTg@oi|7YU@KLx>)43ru=A|Jh|!8VEwQCFxLxym@6W1wi)}JF>f?S6)1*6L3cIWRP^uplEZOuF z_f}aEQxHo{dmM@5!0!DRH0g5bKO_J@&RMib=1vd zImC=a9Q5j&VUccQ3^=B=nooWEWtVF&QQ3^;`68@#mLo#oIpfA6W_`XDQ4IEi&nNw} zS~h2wR1$cP+RlyLM86dM)B9SSF+#v6$$vl=lze2G31dEK`~(qGVwKM~*L>2bY4b+a zo79?gZ*?q5(XkW9?JJ(BV#qbvE2tP(ft$meJ!*gTpU71~l;37$AZB3+v%ZiQ<;s1C znnO_C@Il4wctf1H_pE5FfJA706>F@z&KTbh^!;l2xE!nS6(}=VMXT+0)cD%p20Lpu zp*NN_A5`C%KAvjj2g2rdv&7f3r9qw$eGg&6I~9l%9He4Eh30OYZC$M3e?UioinF>A zcj8=*H#da^)=dh2xf*<#f^*EM)3yF*(|_SSRq4>pyW6E!U#X|vVDasS)ZurwTz~P{ z4$4E&D%BhgE**A(!u%E&j{~Y^r-W>>SBO=6=_#{pvbghH*ed91-xc;ti5txe3{rZ86*h zFW?ML+cBaO45yZ zCA5p_+tMD7lJwOqQrD0B)m%5Kf6c8;#J9d|CtshN4J+ozp73CMtTqoTgYBPGh8tX7 z;if633qP+nfb1^a5dZEoyLNIKVpD!`jXx@vi*w8%ooV2NNRh1kHvD-sis=EXT=2F$ zTxT)-M?1j(xNB8BZ6*I@qkCNS6{V*YtC{!Yw2`r}rw+0>15ExBL)5`j``T*c_wvUG zJNZgTa1?!Qp1qA40(ulH;8#Yx*`!nC%$g@$Gr^jFeYW))z_I?}*>3&k&u4p-|ZR;eMKMC?)3xidxsE+OErXfI#iaLWfbVP@Jc{#o9+!!=1nhgb7W%4D74@q}@%x1pvS2x| z1auhqOt?}$K0vZf4Sh;)?`6E&jX{kWlrrYs{I!CVY&hlgp6pedRu_ex*XbR%R8}9w zDvdsEW+OfMx7n4<#2Nh#BWi=e-<}dpxjO%R#J<-U%8Al);LNV@JW=BY&)WxaeQ)*K zJcPH0a&PVXuKfEWzx=+LzV|Po+(aq3$LEq|bV4E6lYi^-JapcLFVn+Ky% z_43D+(9soUIaZvfqK&^e>BT@7tpq36Sj=;b8;cw+%FT8ZUV8|x`=XV(t5)coQ|(1j zE**yWhE0)htEr@jsYPA`>9M)b(#!xlNaw(?8t`e#nxIv%rP9c2g8UoA794+~c&)ks(gspC zPuBa_is|~d$Zv!y>cRUT>GU+Y@BK|W+o>i$`2L3Oana9&c-HM}akHz%>^9=of=sxR z^}w8n{Y!ejf!c?cnWB>BB)!$?&f}nyhL9)ur6(FDJG4=`*MvF4d>KB%`S07oM^rUQ zu2h;u!-tR$UmaFCxkfuVw_cQ42@)&JbS`}_#rF>XO4Y$r@Y8$$d%9l{r94m6;!Bsh zoyt%N5ntFJ?A)Ud$wW9{E%w3RVvX*`d{4t2@AqQf)_AI|0rjrD`X@m~MPnXRH5&Sh zrMMjx_P>F!YEjm(%@HZi^hz-;0Md*;=}?1#TFgJNVLE^?W0Sbj; zSYPXG8nwQ#A}kD=g9@c-Go*V=1!=A67-DDHjRTT38A^RxP{s>@TyKNEhwjPK;l7cY z4biOaWyQU;V#^EW%=UAHDRdJ;(6-9q$pNy9OWPmN8$|?GFN+JTfme`KSdY*d66o_u z(y$EWiu7gh2qH>c?Onh&Gv`>`S>Y6)4Hb(q=H_U~oj3CSr`W_9)29&=)1lWw$}f<1~Z# zh(l{phr(0ch}g{eVj85$KU@{|VR-5hsfMx4_$#A7wr}(U#@z(X8{ibD zup^dN?~u^jXP9A480WaZbj{VAV>$mkb@xS@A;f;QsHL?zf0@8h*yfQBU)(31fnIHfSSf|Ctmc)&CdFi=M3* zVn@q2awsMo>Yj5WrxxpWTM>Dxgf@H(JRM^cK08Fa`3U=Cm&87rMn60XoZ%?Oq3*f9 z8DWq_KFpWXh*B*zpM(xBWub5EX14rW7@3z>n@#1fL&sZv_9udCBH*NP(ZuxJr?DaU zLf;LNT*ufDZgu4l=k$EV#93XNCZ5Pef9Xa{ag=&Wvgecz$U|D|;a5sx2!X`;1?P6$ z6Ng0K)QcLVi#z9E6weC;Awfkp%L*ZSh1)v`X%%o${L&h^tG~k^?l1PW=c%t)e*#tn zcxgN#WB!G8@vG)Q!QRXESME;e1P3ecI3W0PFSGi1n5*ISNZ2{_PY0(5X3RDhyWZKj zhV1O?u@Bz$PuV^6t-phc%eVGnk0pGP99^oq13i|iVNXnpWM@AL~I;8n{;AHUs`i!k>uqZNLH0E zDa&uqmYiKP_H^)Se#;w@_hz5Xks0e0$feXQQ{KU8LUCKc$@f->Fi8v|R7BMTnX%Ac zwk8iAexM&g{8zmtS7P|A+O8BduA!M?^z{)mw!E%|c9*bW2CoiiXL&wm@M_Z_CYqN) z?Zmruq(OZRzxrq3^ZvN9*P`iqoryaKY-O&MfKC$a$1NQA3HV&aO!JrREhbb_(xHG_q)93 zwpR3a@z=3k+~cG%5<#hVSPutSimOtn29&5y+e<=#wyk1bEMS58Pw1W zEkW$(4kqknXfue>TLK51{!lt+Wq@U69#4{{g&H zT`8}Co(Vl@jScff9xnZ5_qaM@!l)EdBBFt7Nh0Mc+C;F0y_TxqTTS#;IH7%O~T1+7~(1I6MJR+`YCu(S%2v28Q3>>I=dQh?oY;g z68%Yp$yu`9cR;e@bZj%QknXnhUPfNF93w>H>RM9CSn@4Dh+~*}AAO!*8*3bzKa~ z3ya2+LeZKMT|O?4iTzE!WJBaBjk0qfzpPt9{ieCFDQXU3_q#4w!h4U{E*n{MNbDg~ zdcw~h{8S2~Y8pp($2j>WY0{PQi0E*0IalebnOST~PSUo)a?ibs7zh^yJZ05Opvj;N z2<1wo>*R@(SG-GorASra$%d3E%TMl<+BV1~$5In=5)UR$wky2vf3d1}$Z`4790O8F zRz(&o6j79HPoPnuqJC><(A~clHoEC*bJq3yoZ$0;sHPn~6K6|551yP42dAevX%=O> z>Rmn4_d<$ox^-BTG72|kI^m`)ap(y;b@FmSKi@=pAEsGwDUOmZr9o7K(47Mi%{g@-t4>}c?mAQ(xwe|PJFQx?Ixk=Bz ze~qRWT{XTY)cD#jYh*M3U5&|czgA=NRM)&M(pZ$z^^yGg3`Q|ZbCvLqbx)MC4i$RO zPbFAr?ZAF{k*G_cQOgmDN2@1~E>~Ck$lHE1;(qQyI;Dtrc|;W#cV7I?O`oZsg_pp! zL;H+&6nY+hQ+!_Bx$*|Rzi?Yz89QX#AW=fhZ0iGyC1sz*l1;E!a&tD)no8I%CH~BI zsZDj}-dF~^MQ#bSc_I*fhsIq0HtCQM7TDBdhWF``kp76Z13u3)`O`g8QJ*CDkn6Xa zRSPS90AY4!?=)F|KKU$*_(ReI3a@>H2}UIQNJSv5|$K0Y5L=W z4oi5Qv_>qIJl3_NT?xswoWcr;S2{FQxAB?nl5e{H>dXasH4{Vcz~* z@Z0qj;#5JufyromDQ-F4iU+5YE-Fp|ooPmE=G8+2R+ShtNpb>vgL?ZYK^Asfix`$9 zT}g64zETMcIZYBSjk(5xyQEXv$%WOEr>5q+-Vs}oRtej>pcWoaq(=^^qPR*((1h6z zcrv)|Nrv6ar@wxTz^8GwskpmoR!xPhmtBgBaXuhuHOpyGJoOR^N;&qPlCK+uz|O9z;eUi zfY=7i2ik5lRz<;LeH@LaL!7DPe~Az%n}MIu7uh^RV&K1m_k!0~3=Qq-V3lczG@e$% zNID^M)F|7FbC5wCX;Z`VM*E^vJuhwdX>3!q-{apaQSBw4rE;4x;eOX9x3y>crY*|KiUrYojcr`*U4B8a z^hM)7L|beBk^e&pA_XGGuz&lHDaNJtmyI78PgN|8{><3MYJYUcy)1{tXiv`jc5v99 zx7aR<&ca~xp}55cBUW46Z!X`~6=gJ2uXP_P**^O&W467}_*q3BB7jJI{$wC&h0E{H zI@q{ga_gGhnM1d;ch1o7DB*YMraNc;gb@)qs$BahNPR5Ep<%aD^q@+@o6=9iMa=|V z5@y1oB^Mzjd~Ow>#XB(mbyR^e;kdw}pxGGTWKeJ8C^QDRKmHMD1> zl|*f!^G~c}OB13NXXakh$j6WdmLT~RPXXdS!-8>&34#t6^w4ppP6cO~=9=3NZ`i|v zOnUP|Xz*I1wxmRB6pIpU=8+B!*D1?4(Mor$gRHogS~zvWRo}?I`nG4dYRnL8OfLDN zLR|gIEfObTvmmjYsrz8m7BL6=Mz$*o&m{Fto)(<`+$pMi+ZorMIQ*A&8>|WN5JPfh zSNp@lKs7`uA#oq+3jxC-aLo(B^9nnw$s_+Ag5C6`sL@@NG3>}=3-gPKv1P(e=f*uQZhe9B;W{ z&`a}+zN7JbLd;v_^NYN1yYre5UDd^hy-B+|aiz2todGBBI>)@W${Dc!4!6iodUzxK zCXsZIGtyisT5aaqcR-brU8lhioN<`7KA$nxfxo^xls3KSV`sFr)LLc+ufPQzrxAtx zU6_fYlV#W)Davms_ngc%JMfxX=-@6%5UWN^G4((jNXXxMM`C#514-1_9v9}x1!*@rn3iO(4Jmay-F9~JWG$D&4o?=)=<#3~?MaQqPBdJ6c#y(5V`44v)? z;!n*afpSA^YA8+jY6vlM2HwAf6~otriw4f{{{Z_hypd6)5VRw-$ifJVx2IFhlVaRf z&Y)nAcC+FPVWo+X1zoBrHv1S7D%?HQe@k-GcW`;V$ZM!>v&= zPm0$;{%gL-+>_7y7ejxoULCP1AqNp;Rk*P&sUPTidjvY35AvI%ky{Hd8W~De!A#BT z-Lit?`{zBsY5!MLM(Ir{x}pwntTuSmC^w%H+IS-erTmK7C-cPkiIh97Sm`xL`30gW z!ta77xO!+vPzg?^iYUK5M8f}Oh-7r$^0^e#zD&^r$?@{DsisiHJ_fu}y%oD+>59Q+ zimTa2*8HV$Y^*ynTL2n36B|*hQ5CU{;|Jenx!h>n3c~tZ)?U%qAI@-f zjoAPF^EMzdXLm28#bRH)Hq!e~58yKbJ}K{i8$AN&u}UGq*>hnFyD=m*teLrc`>3)! z!_NNs63%8noXzDd-cc73vtwiC4{7sOXeQ=vb!U%|edz)z^_T;PU3yf#itglZs z6&P)Gx9|6?IaT3GpO5s5NT2UcHydpjLCt&JGJe=?X}Ni@OdDbQbO>9g*aPh)+&riR zou04u&wC&9GDl@!#1}w`bXM2JY4j{Kp#Gn(uQpk9@ygBTL(5 zTlK*ejq2dHn9GeC#gz_QM)4+%vg7Z&+U!b|z<=ukMVp+cTGrrqN?WN5UW%KR1g0C^ zCD8@6%XERKWV)bQnJ##tRQKdynQk;E^E^AIa%^o#RG8AF*KO~Z7^Y-V&^4X7J!()) zDo$sqCS3pr>-@f&|M#`}ozexeiPE)H12AG*swD}3+86PQKW##8HM|L%lIEsbmPd%s zy+*#n&io=sGr`W5U$hT}mML&I6MBG3wkN+O(jIhIxB<2-Vjt z8ueVULjzf;wWUMpFH@D~bT$YK>*weS9Bi zj^?jjVQ#wv-x*7=@~*D&Z6Z$>ncN;oFWcW8mf1TbM6opIMcj}Jt=#S!7-G?6ME}l1 zQI_8vxne2gDJ$Pt(_Gygd1Nq^gx{Bn=4!~(VDW127SBy zc}mC_*HZmis9(8s&D=F>Q9pg9Z({3qg;cniFNjpvRbn&<0*aTrH0MIa-b;4Z2~MNb zOXDg-6<4I%O5EzhgM9b~zex%um*!XHH)&}O{f~5S^ti&Wis+v}3qk$dr@9pti4iu1 z9_v3;c}6PUPlT!H#^yl&!5L{ESR^eomS%@8Q%YXUX=z&B#2E`tw9KIQ7`*E~910wQ z<)PTF_yo6OU_W&U%Z1nhWQe*1_uQeQ%E5 zGK2ezewdg$U~Pz@(mt{QYg3SYlPuTu#bRFy$+6kI6J?s|{Hk9txE=e5P_qNlO5#ac z?~19O@LqWR>Eg z_$?qFr}H{{m;|y=OF{TS`zU%E^?LYW@k#k)_(?m_6^rtR@YCXx<>r^o;#0?sFOQ35 zI|{;^#I)CMgdek8h;O!7!cVyJb^d`UyIiA4mcb*$DJM%_@nhT*F7C&5b3QW+GO<#N zY@}tAY*hWGGJSX+`KCXR_hlYYjiEohj?s&Zdw)ra0aAnq9`K!GnwlxarE#%3-$A^) z;}k{tbxDW8eeQ9~VzyH&X+f4v$Zov9g<=_LfXVrOY>Jn(wVF8eRXv+)(#gv^uI`Y*A_wcDOd>$NN#`<%L}UM1P+~a zMw;-tVkLt_@~?iiNw7?TFCRpe>6EQVfK58An25gswpZ=Rm(`8})uYG`!Ir#A%7YVL zQwO4H%z;klmw9GmXkG`~9I+ys?ys>jP}j>#wj+X3ql2OrQ52(Bg~&x2bu-VueU$8+ z$6F6rHC_gZBr0VJH^t`3=CXMUFl%YXBlphM+mzY& z!)t6xult(Jh^mxn;dL^_ql_P#p-3|Zv+ydjqYU0ZV2RY_-=I1Dvfe`xw83*y=-|&K z<^c`ao>ja=E!}PyWWag%2X~IxhjXN;rGpILqK@G=+&QK{l*8=h<qjPd{=Hz(s$zh$0$aa(#fcQ5qDWk9+b*r9R@^+p5PpSGh56V88wu5d$ z`Yc{WYu81MI1S$_k=c~LZoztd>ZEC9)56Vk<1sqZrVQ}DdLh^vlJ#lUflTg*xYA6+ zq4`p)QMTXT2kn;t@3!x*{3ygnS9D6-hMf7aT(O&_fir0{UHLI~^)p3b%VAsWdAL{- zW$z)ZX^2mWvRNDAA2Y6x%&jxaAurv0`5t`8ZAJt`OCh3<+mvIxpZb9xvW3|!zR;xZ z-ELlpz0RcJ;wAab0`KiR?7|h;t-`1M9A2ho+b!A#U7!JWw@W2awYq?X5{<%_ePe!+ zbHO}_PbXdDjgamH@esUYc>OX zHs@QK$$N0Vwq+SCBrCTmDE`y94e^S(eHH)`-jm z=`od46BoGhv`YQ-VvY$liF(*r$)=y1Q0EsFdp_vv2?rCSCN%m@o^UvE@`R&)QztYh zPMvVvFK)ug#JCBk{o*IIi0!ua24@bd1ud36$z0>vD=~hZ@e=IkW&@`yT1XcP+6|o* zCr1`RFFFQiD?Q<8>npLYC;cnfSA?{pmo;*4*h&PN$y%cSXe|WRr9>UGYvcjmwHWi_ z<7BDP-%i7ZFJ5)pNg?Uu9aHV?bP#KAEd-gOf_CJSRSN!3S6N-<-SgVo5p0#9^tcZsu(GI8QM6&X+Ui6JHI+_RQ|THtm6m&CyGpxf zoLw$W=i1#P?l8JXJizE4aZ|JnBYxxyXtiXj2CbIM@=o**Kvw{IFQUaW)UMR<3F>EieH{Aag$rkl&=5=~D7J>|D9lawn@N>AtOOiH!`f4UUxN*sruds(I8>F-I z)1ryXe6QUP~Ktbz@ z>>DcXcvU7voS&E5)G|fVRIZGIhCy0AZrtk0YVIi7mBQM-0kXHC_Z4_ygGue;|*j zrLqxf3GcC9#{VG`_P{m-_JRJ6K!Y6r&*!>-D{oRu`S+qE<(5oFu=49mBz$ca;|Ao) z->BH0)o8r{ZPb~E5%I`O5fTW_=|_p584YaO`UBTs>xOq(=((2}g44HD+q&VSrMkxm z3m~>)uE@zz+ydDC%_S+E75>F&tnTL~=}XP$r=)biik54ru=PB__*At*71fA{w5j=! zof$b5dFarX)h;}3&4%Vil>}PHz|7e;P>D2dDC0NPN-=}Vt5V8|IA`butQt)nEHO%# zk`K)3z-_g#KV_LKVl#^2-C&xXQ+p}fe9qqOtKDQx(r=#e(N}(Yb(T-PDvI*$HI9Vb zDmA~o!WnRJlQ!ZhNUmZJ!p>UoVxu@Zx&|XbtA$vBjpt|8t9*jsLekM)<@!gi#evfE06MCGJd%fhW#dHAWQUIgG}W#3_XeEvSy_To-yotA={y?$79l zdIKL1f;KBW6m$;%xXfTRO5m-=**W8wKndm)R%2y2i5mQJ)%;H@MI1G8UMNNfNtUPA zjkbp14siZ%tI-E7iMwZmk@wpPdIfD9P^y%s9$}4cc1()F=*I-ciamqZgwCe=V5^{6 z*!gsQl0G=&JRo$hq#JgDUaeL`&t05DD%)tDL_U3l6)e_9(K*F5H`a(_5DQI;i(7>; zXdoNw;B?!v7?yjeKQtmF7@vv<?Y(`vEO2`x!MYiy?YSb2E2|Xj6TqD&zEl)owd$vatTv z@%GojReLf+vc_kMm>=+uLB`-lfwSu9P|=PIJth=+uOTwKX^hjLPO|Q+y4tPsiW+aSFOCQG48lGa| z0*5r=s12TO#~%(q=xoLLzxJExKO1dVq6Myr`qWoTvOixfmsc4-tLBG$B6d4Qzjb)0 z|J8HC(@LjLyRaTwFMjWTMD&pWeoFr3`px?Dk>}@uTVb20!26LEJet>I_8S7dO*K+I zU#@qyuDmv^L1+4lMBuuvg-JAL=IT9^LHY5Kp&NcLIkqOgS~DjeDYGHd4c(B%G|{*3 z-&o^YEw;Y3->su^kh=QOmOqF!FxDcw_YgSOly~4HDD0VLIO4fT&5dnjalxV&-*FS z*@hLffjwK#z`D6F9oRC4@JIh&kZlT2MSrgRoLXvXju5!dkDAgx03VmBf}i~(_xIK7 zzWV7$hv8PiDo~gAdlf8Lm7jr}0)V$r`hS%9zah$gf zfM+>1bHkc^)(r#uqZ@|gH*<}-~yeSeqLgA?Xw6D;; zs+%Wp(@XFkR^mEld?L1ZvE1Eaz-z7+H}!9^ALofS-Q1_hEBU+HECXi7g8%H>M;gsR z*ttZS*~c9W{7B#qTDN`(?!a4+pd|eV?tt2J?GP9KBZnaNO&rOlVzFQIi{1Syn*BeH zpbPRDq#Kbk z2;X`%3Oyw3li}fRCFvw&*}LIs+G5c|#xFe8PlAkJOf!TxiciM3xhTl{g;e9a+s%_% zU`_Z@)P^|Vbf0AO!hI#|uTl(4Hx*Q?e8jq0hDd8I`!`Qf!PhfWSrV@ai>8lrS&u zoWGCmk4V#UT!3qD`n*gZYPKMU%)kjN+nrvTZ{~C+J5zr^H9Pfe8tHW`)|;lg-lvN1 z0q`m*)`=5due&tWNi~ujcE#Wa-tR$6Ku10=h19~%fH6No<43yKd+|2$_a7U?UN~9P z1@wf?xX2kHr|`WjU1BgFvdashW-ivoSy`SExif|?; z&v1I@?4T$8OsBVVJ3X0ZL7!T3Yh52i{mYx{QN9S}izsivG?d>eJfSA%-{~niPA8E+ zC@tw{%^zZ&SyP&h@|)p@C?myy=tvBf*}n~b*Ca&SN9Tp) zO~@Oc=avbD=YiWa$qegVu*P`@TejGjED1anbYgUR?6K1H5G#B<<97CO@99l5kIX*w zQo}3tuhuTAezWrXuMr*K%=pF$hbPrUXNv2v$N=qOL}aqn4`t!tRuF3?%XVZa?xZd= zO)vd^f)vfXoy^vVH%pC_q6dW^wI%s7+uRXMlN7~l^WvFi%5QLT@OU-^_7M8vG>YtR z7)8~Nw4I9Z=JU-2QHnvgQ!f1%lO7k_ZhhX#7MBHQI+?TFY~+Xi$VSF^Av(Q?v-_tk zNYlLE%|t968N=U-mb86Sat|2!4=VGIkIm8i@N?`7xb6OL=$#C{ zp&&@VgDy36i3Qr?2(=CMWiMIyW~CI-r={6hJ1n=LHC=IVbK=_^XWXF7OKZs4++yqY zXSTaqw!w3cQnOqO>$ZH!cu(6;zrmA5a$tZB{sqfBmPrs@Y4$cLaeud0kPRc+l%^SP z;2xcsdWRg@Wb3GBJCrx1RdX~$x+Qjwb#}qlFTAD7*gH53_w|~*ddW9)Rt(V;T!0l| zL(Ywy@(!iMu44M~j-it9^BG2)U$5kE17I15_b(kAjAAa-GUtSUBA zZ=dw;$_c&px+KVau14&$X~Y{iQ)sxyIPqPtbF%qY(_n2Bf^^v_wFL8<92l+nYu7;8 zsW&9Te9sSzwrM$u?9^_&+s=C;kK<+J5z-ovrb(hSQxfw1hVnH4BWzy{K$?CY@=;o? zmGaG_H1-nmtw8;?g<}14w?~IWe`6qSE6|KnM`uM<+UXcc+L4qG35^F4TU%>0Uih9g5y2r{uuLS?77(3DF>zmPu)1xW7_SPgUlP_ zr-4q`jJNKav%XjMUx6cJ|6;MO73ct0^2(3FI3<7m69);#RaMM&XJ>d%Ft~>=fBdr% zE6n?hhoPN&9rxRg@^>#YzTk=n7pqy;C9y5*Vb2?8W~3Qz$ZbR3WE9!vw;tskMoG5y zNDeSqo;K$(ZnTnY9&O$Bl`rR{8J8$L5aB30EA-8CEc8uydcyh}&1n{La_D{i_siKj z|4Z^6vIwPa@HWM+&uDkz?*&OFSliw$x$UM4|D4j0rs)Y|+bSklb1P_#^UJR={>Ne# z2FgJ;=8sQ#G39ydUOOyzNtb&KK|29Gs#y1D;|eQu2#tH~fta1$(roPR*s0mp&$SU{ zkf6$TS^Og;&m%SzS(J!63Zyp@+YJ2w%*lp-rj78^`$lb!#7Z=+7_uMtG`*?!6n8FS zw@?+#Sds&+o2JAl-?)M^ev|1-%Nf6^`>PYD-l=YxPhVRuI$6ah+6d2htoJ*cBSXi3 z4C`L#7O379w1#xW9jfonSpO9lw;wk4O!cQVq)W6PrRML|M#RU5saVbC$Q6EQf1=Q4 z|Dw0aB|lP|q@f6nxq3G>N_F&0rMxC3 zrJC;a0A*udR`Y_aKeDKPMA#lAZN5$6edWNhJBIMwy6XAWkt3dyOl#CB<~B@O&qAp zyDRW}ycOe@C3vZv1!$zW;qf3H$%1MpyJ*!$Y>w0wTLuCD@eJ!jlSX+9u=lJc$XCy~ zlwF&>8r~)&ath8Me}*=qATn)K{gBEWT~PNBv~Si%0NeFqDt0^}b$+^-&!|DZ;BM6Z zLYgaO5K;muWq2yJorXw~{9z@-dy4yAlRuQT#VPN>Lu2RGPT~{SMTv6z_c!f^rUR|& zr|%_URm)B(rF8zLTQ`#2<7h7UYM)uNCmmYKR(L^&G`Fd;)U3X0?-u;su!0#xwF=<# zN-uMEK3(M;6X)$5<2|U@JkxSCBQ^u)iM3m=gF7D6{D^bR7>$^(sjAd0=~oB*a=L10 zs=f(*|A%k(eh!Zt8r=4L_U~a?{F!siS|#977n|LX+`oo*g>%fu9wHnw4*U`hQJPHN z;VBQdU~y;8fuBP_z98ICOvwBaqq6wpQnUZnusa^f8kGu`qN^lAB%LSk;EY5glk>52 zOwr$*W8Q&Y_i0Pt*xc`MjtN)+NO8X_jNsn?1QB^Db3^s?USaOW=-(I4N@E;E{*TMNHJLEUTlb4s#g>m?fnbG0*hZ7k_($%-vOuu~wbaL(+X-}yJ3 zJoVzKth3_B_WPopy=AcA-{_9$M~I@Y0(&|uy4@|n$_g!Df7}3%NJ`>PT_x^{C4|x{ zk@^D9<@6*#+qv?Vn7`f=Cvags(J!L0i?)F~m1|Q?VT+){sZ@ZsR(h|W5#iH2czj)1 zw4fQPKq_eNku{XEzUkzQ@ip6{T`4tzM!TXHny)QQ1yh!SQr{6;xKo`rD%zLqS4qg@|jOB8WfT`j=l0UKXqQ?P;Mb;VNfIqxbudnr=nz+-Eu1)(K^0d3o^%x2?Z zEo)cE7`24H^|e%Dc&Mcv&;8q$JpMN=jd!)w*DIGs>%VO=EyPZvXAwtlEk+Ng0Qf4x zDFl6@-?dH6GeT;_KH}FHhA~?qjMtatC!11*%&Q9<}j(ZknCwwe1u1&dCc$uUJWCgsq^MzKCHW39PeO=*f zqi=y%50?Ch(hK`Y%Ncsp-y>XtPZDVGiYe@-n8L6RyHdRA$%RoK1(Aejz#m~97}o+z z1G@>IT~H zZFK`tbb>&`1;`c$m=@sO(O0jy4=MG$S3C3|_<{KUQbFVrNMtmeV-WJcLT|JtdhN6( z!Wh}7V%;UjJxZ{G=EHg}J1gAGTgewZJnl2HM$_bx4y9{__S)V(bsy_8=L&2;`w0X`p%l0ob264}}-M_c)|9dbyWrM$Ksl<4~!n^Ldf zua_wNjeDUl$Oh^H&O%Pz!*nCAGF?z1;|z4Z7ti%{rstjcOk(Id8G0sPYMVWjeYv6h z^c88_-%sAHj6Pqlqj=r5@)FJs%?k~?bSN7366 zW6%e`Xw~Bld$ENB1Tn(zN6{ZaLs{YzhW?NaicLwr;zciqv#Y32R-BV6)3UR`N3)Nj z5YG$#sP{%8o*1(sYWWv(y5Zz4h47*`_dZSs-`pM&_9pN?D03}Z`z@b(+t-C@p6iK6 zhRu^+c5Kc1YT->vPw-Fg<7~aySZdbHwMsPa_bC6(zS~;SDAr|x|2gcX;B9GM3aZhP zjMw&fb1}PPZ3=HrEu2-86_7G!p3b1#FbzjUdnTT7>*4t2K1d^kFVF{OztxTSaV_jG(|XuPF=hk&12wO#*XkpT zh~6yqjG7#UR=0TS`89cR+Rte>r@fP;`I2bb(_h#piP;<5weJ}tzqx}wWd zpH>)gq>2ZtOATK&)D~eOQ2@fi4i^@x^p!?_co!4LWcX@N@PB2v)mRtBMHAJn*!dBB zz{AfXXrZjcBH|`|!kZ1w=J{pR@2z<^;EVAWd4_jGTJLNg{xRjLSiR5=`4QqY;kj^0 zg($Zd>H7UcZkR=gWxJFDpFAzM@_%zPq^dVh`;+Xaf`^INfaEAL(Lv_P~>8m(zGiIIR+`rZ%3U{%xmR^UYUr-%I-^78KxLkOHZ*l6H_^pK(Yj zJrKta6ah~Ii8j1w$nB7gbeBvEs`nvI1wQQu5jQcRMq?SmLKE7h+l>(tA#OP=)_Gx@*w5M|hiU0T-lWOfwK<*9fnH`>i9wvGaa zh^Pqym#Byyg#AM!a*9Qzl4<4RgJqh*&r39k7g(qQ&-u3{wo{0;HfIPso1?LG3%1l0 z0c1j6`M7pgmH%a)SehB0`Y_knc0H`eH5Yo4Y9CEsg6LEHrXE(fvoGBmMXB^I`>@`_ zK43sHNuWcQ-(@z-0DanrN@*^@9b}qXW-T+BSRt5o$euGciT0oQ1m5lLuha}xOW=1!A%P_1#u}WI z&x9ct>Q-qZZ5fa}8E9wJ4DpxnmrpUxkmn@F(4N`&*do673=10~Wx0?)D#r2~Zn3aM zD%dlAniiJDlEV-O53?{LZB&+`eB5qn7<{SP6cmYBH{vG+rNX9mK$e2M_5K8j-)^Zm z;;m0Xc0ZS3*tUqEkUcekg|4`O8)7d3{=0L0jG7C}po<9E_Jw*zIVa8`%$j%x{U352 zF$;bi0z9$Z@>c%~k=Lo^&J{y@au9!AYBsiQ?D;xW86$IJFIo1o73I&x$jas2(sFB$ z^b1pHShw^*p)KEEa$&XYY!3@EAB7hoI(M)U<(8fLP&=f+8K3F-zhCj--|F>18Y}-K zpY16;y1s3ryajuDcgb0|9&6cLwb@*HG-IQ>O9hJl1EmxZ@_S@v! ze@`J!CnY*0Q~c)8*ybQVcOe_TLs3RdP4*#6Vj)HF?M9;);4S8yj=X_+p<~T#bYVF+ zLXu!FR~F-jzgBuAEp&Xbv@B1PcM8$9kEEoU7O!2L!&OH31fy=q$OhTCA|)(KgxLrf zAaaL9bNvnAJ6rz&34qsCH$A*FOdaJA?V!epN-MZj(p6izKk?o)WlJ$I32`hByOmal@Xy)J#X0Ti$ zScRBr=dgD`*V&?6;z=^1CD3e$`$T$p9%tl}K4As(zKi5zE%MNvW~LeI%QVWdOt!w*&NnA;-U;qLj@ENKRFtMubsvYsBHh_MaD!_WRV3xq zGxAtWC%u9x#2Ky?F`(U7$^$?7X@)K}_dC@dWPqqCzAK;zm7 z|61T&zk|GZi@0l-9M=`wkBf8V__H{xMT^}K;sgc=1<6D}>pPGXM*KV~k+~VS^Dn_$ z)-hNkHiM$aeLUJ3HzwA6%?;BhGs2V(^3Ap8lO{KArWGsIOUYVXMjgAdu3-9ecmu6pw}V|_1=E+jOETwzqm&Oi)um)Ux)}=)cC7XEWH~q#^b7t@01A?^M z@2Jekt@G*V-LYs1$fG z8?`=(BfGzhI=AKD%=3M=e?N?3jueBJ0ddSW-feMq{{2UIwx5iZ^O(~yzYBcM$GV+6 zRl4F&RR8q^kcl+0^|RoNJsGj! zOL}vNn~&#=ZQXcUh=%a|B=4&UjzDH~;4@?^yFWv$ONJhk~uP zFn^|7eQPahvdQYxb4x9Q56MQRt7Nd1dM7E=Tmo|r(Ch3i+2~&md3;SdG(E5Uxp9)? zc}Md=@o^hLcrpAW?mSoWxgJtCm_ zp7m?k!tx1Qf*xQC+wk~#>@X_C7YG#XPjAkB^`+x4O`2CWkL*to4Jc*-cK>J3ANd^T zhZWX+8s*2ogEZ-PZEv5sJh7$l3(&%o@JRtX9)Fw&gQ{TPg`Jt=73Z5)O29!mD;LsU zz9OM_u!y0KHDRv!faMn8nxb7A8rCj7kk9|iBISL-Ctuzm#rlA>g1jK_Y(f+Z_<7iW z!WqyyRP=gB6b-ZozU7VxUb1cZwGy9{m$P%hKiKBfO4f0Mz;UFS`rAegyGmyVevNXF zGmgDhYPMfV(TCArJN8HAI~+UoW6@O8U z0nU>@9Pg09?bLQ*`P`t#glRQ=lecJ4mt^}I`-WpF$4gn5SK0`t_u6F=Lm#hA+_gyev#+E6XglVU_yC&Q(hQA-YvAB*z0(^w`xN|KH$aZw zfS!j^Z-|l;COwfdI-P?Cj&n?B5XHD_w_Bl`jYz^n#NT&@iocyY@z;9c7cVUS{=f6NQ`|!-8;m3ncPCxCUr?oPpM41*{so0R9IX#w5QUsbKQpInM z>f8E7QKzG#V?K=uiro;am~wO8t4SjP@%u|g*I12aLwH?qmGqz#af2k2FF^{o4QH-S z^=SAHz)tZ)S)2iRhb`;Rc7EmxbLaIN@ww z{B_FYpgPH9_<0iGiUTLb831h!qDVNTfN=O#yXB8B;T&u^b1*1lv^o4-P@PQ`A#?Xd z%p2>Fo`*E%irElUH^Ps4DLohqS(w=CZP8xQqp>5*zx?W)<8$CINqfog2XEBDX%L z$LE9@;bC^@#F~llWfxY@LH;w*F;Tx_8RF{7uqGt*){}!L--!-U6IBV_2Ev+_uUh6U z-PH0G&L&?<49^r14TB#zF4?;e{|W1zdheA#pBZz7YptYIR@lzWmTbui!}x4D#6^cG z^^nEaOVxNX!OF2-YCEHlK;|+~qbO2f1SR~cdf@e_Zn_)MLbL_rj-~!)>dlv4TY4Z2;N1{N@$r+_3whX5O#+;rgIU7;5g&hmM2itZ|fA6)`Nw zKfAUfZm#x4TgEtcW25YGP8Mw0rU>P3>-lA;nA&i#nta<L9owRUde+@xc}a`@M-FfE?^UThoIeHWgrB9mV9QZCu_7;K7rD*Oz%+d`?_ zI`4$|1XvwwPD|I%$M5`Rwtmj}S$y7YW?N=th4o%poI%oYaFUmx;h{|sd(#}L&h)9O zvaF3H=+{>H&L0-tJH+?m$w+IeIdgsG`p9g>jg8yj2`PTwmNh(o8vW9qNi~&P4$o30 z@a?-8&PG{Y)v^zavQX6rdjBduSs`0JPgkUn6wD7*DkBOmu15aQRlD>{Pq!^q++SN& zFu$CuWj;9<>@*%U8aSn4G?Egw7-%HIn6)lG!8?K9QpdFLZ*OFeRVOC+zKEEy((9YF zwZIbeSbbDjJK{K<8kW=6)_xb`bZSM#=E!X2jZNE>pXOh%`zEw0&tTNF2}!5Ky8Nrf zIz-8NNP6g+Vz%qLX3k(nqZ$^9UHw_?>hw1r&tWP01w%D5*&5rbf1T2({6*i zo?=Xy9+7GkB0m6{Ti7N2wKj2Ly)U-0Rm%!gw z8DNy|g?~)aYl%ImdQtX76m(liDi^BWt>0tCJ@v{4=n0D}SZ~oLsS+Ct8}qg2%i$|W z)f|)o*`%<;o6OpzVx(*1LNoGNQlfV=?|Ykh<2Nau-%!uAQ38I~+|z-jvY9m+kMT_N*T(x~BS{h2L)C?Pn=%tzFFe&)`4v6V1^yIKks>DQibhCO%~m7g ze@OvhvmoPJp-pPsSZ;kH0&C`cs7G)_uJOD>o~SDtE1@z}R@FQmmQb$zf7K=>CT@wQ z+}gO~`PyczrOQ}LiQ4AGc*MA5@ST7?zz=XIJ%HPNuSNFHqv2ywv=IqTC)<~;6(P}$ z=2G}Z5#ad?>Fm%wn`k?;xO09L`QssPJpIq)8Fj@~;OsL=m*_xdc-Ex4lqu$^8cz<` z;FwM~E%&Qocdp4(YNMo$iIc5aM>F=;zm$<;2sBIcwXozag^sngX{Hg_GOSygH2E|< z9Zm&jm71>$*bV)3HjPeHikOE_RPgH&MJFoC`*MXYK+Voplo_vn#pexRkK-Ixl>C',{XML:nH}=ce,sH=nH.render(iH,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:_H}=ce,oH=_H.render(iH,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:pH}=ce,aH=pH.render(iH,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),uH=new Re.Generator("Python");uH.INDENT=" ",uH.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),uH.ORDER_ATOMIC=0,uH.ORDER_COLLECTION=1,uH.ORDER_STRING_CONVERSION=1,uH.ORDER_UNARY_POSTFIX=1,uH.ORDER_UNARY_PREFIX=2,uH.ORDER_MEMBER=2.1,uH.ORDER_FUNCTION_CALL=2.2,uH.ORDER_EXPONENTIATION=3,uH.ORDER_UNARY_SIGN=4,uH.ORDER_BITWISE_NOT=4,uH.ORDER_MULTIPLICATIVE=5,uH.ORDER_ADDITIVE=6,uH.ORDER_BITWISE_SHIFT=7,uH.ORDER_BITWISE_AND=8,uH.ORDER_BITWISE_XOR=9,uH.ORDER_BITWISE_OR=10,uH.ORDER_RELATIONAL=11,uH.ORDER_EQUALITY=11,uH.ORDER_LOGICAL_NOT=12,uH.ORDER_LOGICAL_AND=13,uH.ORDER_LOGICAL_OR=14,uH.ORDER_ASSIGNMENT=14,uH.ORDER_CONDITIONAL=15,uH.ORDER_LAMBDA=16,uH.ORDER_NONE=99,uH.ORDER_OVERRIDES=[[uH.ORDER_FUNCTION_CALL,uH.ORDER_MEMBER],[uH.ORDER_FUNCTION_CALL,uH.ORDER_FUNCTION_CALL],[uH.ORDER_MEMBER,uH.ORDER_MEMBER],[uH.ORDER_MEMBER,uH.ORDER_FUNCTION_CALL]],uH.init=function(){uH.PASS=this.INDENT+"pass\n",uH.definitions_=Object.create(null),uH.functionNames_=Object.create(null),uH.setups_=Object.create(null),uH.loops_=Object.create(null),uH.codeEnd_=Object.create(null),uH.variableDB_?uH.variableDB_.reset():uH.variableDB_=new Ae(uH.RESERVED_WORDS_)},uH.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in uH.functions_)o.push(uH.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in uH.setups_)p.push(uH.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in uH.loops_)a.push(uH.loops_[s]);var u=[];for(var s in uH.codeEnd_)u.push(uH.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},uH.scrubNakedValue=function(e){return e+"\n"},uH.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},uH.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},uH.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=Re.utils.string.wrap(_,uH.COMMENT_WRAP-3),n+=uH.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const rH={};rH["元控自立"]={description:"MicroPython[ESP32C5 MixGo SOWL]",digital_pin:ce.Profile.generate(["0-14","23-28"]),input_pin:ce.Profile.generate(["0-14","23-28"]),output_pin:ce.Profile.generate(["0-14","23-28"]),pwm_input:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_input:ce.Profile.generate(["1-6"],"adc","adc"),pwm_output:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_output:ce.Profile.generate(["1-6"],"adc","adc"),espnow_channel:ce.Profile.generate(["1-13"]),haskylens_model:ce.Profile.generate(["0-4"]),digital:ce.Profile.generate(["0-14","23-28"],"pin","pin"),pwm_pin:ce.Profile.generate(["0-14","23-28"]),pwm:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_pin:ce.Profile.generate(["1-6"]),analog:ce.Profile.generate(["1-6"],"adc","adc"),touch:ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ce.Profile.generate(["0-4"]),exlcdh:ce.Profile.generate(["0-15"]),exlcdv:ce.Profile.generate(["0-7"]),brightness:ce.Profile.generate(["0-9"]),tts_voice:ce.Profile.generate(["0-16"]),tts_builtin_music:ce.Profile.generate(["0-47"]),tts_bgmusic:ce.Profile.generate(["0-15"]),builtinimg:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["DOOR_CLOSE","object_picture.DOOR_CLOSE"],["DOOR_OPEN","object_picture.DOOR_OPEN"],["DOOR_OPENING","object_picture.DOOR_OPENING"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},rH["ESP32C5 Generic"]={description:"MicroPython[ESP32C5 Generic]",digital_pin:ce.Profile.generate(["0-14","23-28"]),input_pin:ce.Profile.generate(["0-14","23-28"]),output_pin:ce.Profile.generate(["0-14","23-28"]),pwm_input:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_input:ce.Profile.generate(["1-6"],"adc","adc"),pwm_output:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_output:ce.Profile.generate(["1-6"],"adc","adc"),espnow_channel:ce.Profile.generate(["1-13"]),haskylens_model:ce.Profile.generate(["0-4"]),digital:ce.Profile.generate(["0-14","23-28"],"pin","pin"),pwm_pin:ce.Profile.generate(["0-14","23-28"]),pwm:ce.Profile.generate(["0-14","23-28"],"pwm","pwm"),analog_pin:ce.Profile.generate(["1-6"]),analog:ce.Profile.generate(["1-6"],"adc","adc"),touch:ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ce.Profile.generate(["0-4"]),exlcdh:ce.Profile.generate(["0-15"]),exlcdv:ce.Profile.generate(["0-7"]),brightness:ce.Profile.generate(["0-9"]),tts_voice:ce.Profile.generate(["0-16"]),tts_builtin_music:ce.Profile.generate(["0-47"]),tts_bgmusic:ce.Profile.generate(["0-15"]),builtinimg:rH["元控自立"].builtinimg,builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM",".DADADADUM"],["ENTERTAINER",".ENTERTAINER"],["PRELUDE",".PRELUDE"],["ODE",".ODE"],["NYAN",".NYAN"],["RINGTONE",".RINGTONE"],["FUNK",".FUNK"],["BLUES",".BLUES"],["BIRTHDAY",".BIRTHDAY"],["WEDDING",".WEDDING"],["FUNERAL",".FUNERAL"],["PUNCHLINE",".PUNCHLINE"],["PYTHON",".PYTHON"],["BADDY",".BADDY"],["CHASE",".CHASE"],["BA_DING",".BA_DING"],["WAWAWAWAA",".WAWAWAWAA"],["JUMP_UP",".JUMP_UP"],["JUMP_DOWN",".JUMP_DOWN"],["POWER_UP",".POWER_UP"],["POWER_DOWN",".POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const lH=rH,dH=20,IH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_HIGH,"HIGH"],[Re.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},TH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Re.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},MH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},hH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField("DAC"+Re.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Re.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},mH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_mSecond,"period"],[Re.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(Re.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},EH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_REF_VOLTAGE+Re.Msg.MIXLY_STAT).appendField(new Re.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},OH={init:function(){this.setColour(dH),this.appendValueInput("pin").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},RH={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Re.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Re.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},cH={init:function(){this.setColour(20),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETUP).appendField(new Re.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROPYTHON_AS).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[Re.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[Re.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[Re.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},gH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP).appendField(new Re.FieldTextInput("dac#"),"PIN_OBJ").appendField(Re.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+Re.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},CH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP).appendField(new Re.FieldTextInput("tc#"),"PIN_OBJ").appendField(Re.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},SH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField("PWM"+Re.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Re.Msg.MIXLY_FREQUENCY+Re.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},AH=cH,LH=CH,NH=OH,DH=RH,fH=230,FH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.digital),"PIN"),this.setOutput(!0)}},PH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},YH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},vH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},XH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},yH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},bH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},xH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},VH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},BH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},GH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},UH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},wH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},HH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},kH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},WH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},KH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.analog),"PIN"),this.setOutput(!0)}},JH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},QH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.dac),"PIN"),this.setOutput(!0)}},zH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},qH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},jH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},$H={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.pwm),"PIN"),this.setOutput(!0)}},ZH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},tk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.touch),"PIN"),this.setOutput(!0)}},ik={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},sk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},_k={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.imglist),"PIN"),this.setOutput(!0)}},ok={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.playlist),"PIN"),this.setOutput(!0)}},pk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},uk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},rk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},lk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},dk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},Ik={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Tk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},Mk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},hk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},mk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Ek={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.one_more),"PIN"),this.setOutput(!0)}},Ok={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},Rk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new Re.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},ck=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},gk=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},Ck=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},Sk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},Ak=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Lk=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},Nk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},Dk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,Re.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},fk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,Re.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},Fk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Pk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,Re.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Yk=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},vk=Yk,Xk=Yk,yk=Yk,bk=Yk,xk=Yk,Vk=Yk,Bk=Yk,Gk=Yk,Uk=Yk,wk=Yk,Hk=Yk,kk=Yk,Wk=Yk,Kk=Yk,Jk=Yk,Qk=Yk,zk=Yk,qk=Yk,jk=Yk,$k=Yk,Zk=Yk,eW=Yk,tW=Yk,iW=Yk,nW=Yk,sW=Yk,_W=Yk,oW=Yk,pW=Yk,aW=Yk,uW=Yk,rW=Yk,lW=Yk,dW=Yk,IW=Yk,TW=Yk,MW=Yk,hW=Yk,mW=Yk,EW=Yk,OW=Yk,RW=Yk,cW=Yk,gW=Yk,CW=function(e,t){const i=this.getFieldValue("PIN").split(".");if(2!==i.length)throw Error("pin value error");return t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`,[i[1],t.ORDER_ATOMIC]};Object.assign(Re.Variables,Ce),Object.assign(Re.Procedures,Bu),Object.assign(Re.Lang.ZhHans,Ie),Object.assign(Re.Lang.ZhHant,Te),Object.assign(Re.Lang.En,Me),Re.Python=Gu,Re.generator=Gu,ce.Profile.default={},Object.assign(ce.Profile,lH),Object.assign(ce.Profile.default,lH["元控青春"]),Object.assign(Re.Blocks,t,i,n,s,_,o,p,a,u,r,l,d,I,x,W,k,v,V,K,f,P,H,w,U,B,F,D,N,y,X,b,Y,G,he,me),Object.assign(Re.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,ne,le,re,Z,se,de,z,q,ue,ae,pe,_e,j,Q,J,te,ee,ie,$,oe,Ee,Oe)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c5/media/esp32c5_compressed.png b/boards/default/micropython_esp32c5/media/esp32c5_compressed.png new file mode 100644 index 0000000000000000000000000000000000000000..2dda6a52e9f42a7db2df95370e0ff445d22e653b GIT binary patch literal 87374 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

XbsB@#H{7_kbBR)b^9V~93ovP8^?j^PPYa`=J! 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.blocklyToolboxContents>div:nth-child(12)>div.blocklyTr background-size: 100% auto; } +#catPE_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZDNmNzAyOWQtOWMwYy00NTRiLTllMTQtNTg0MjY3NTRiYWMyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkM2Y3MDI5ZC05YzBjLTQ1NGItOWUxNC01ODQyNjc1NGJhYzI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/zmC9wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADFklEQVR42uzXPYgdVRjG8f/znnFbEUWwFBENKVLEMosoWNiYoEnYL4MEtbAQoqsi9gHNrh+FYKKNMfeGZZeNNoKaJhIrU9ikEQnpUq2gRYp1zvtYzFxJjAlC5pImpxyGc37M+3HekW3u5NJdwLWA5fEikUGNpC2VsChZ3ha8D/zu1HzC9xEJGSQQpULb4EgiEtfSPY+EWrBMlIrbhiyVAFYWRjcHKAMDLhWh3bIu2HwmeAzxlGEd8iVquZoaHLD0hcwm1rcKAB8yfOkaQgnFr8o6jozbWEwxHhTw1njJ4I+AN0AA+4F1Uo8gX0oZarkvIkcEz9qcBx+klitDAt4DjvaAF4ANUg8Dl90foKgg9gmdAXDGspWrUwcApIVKBcC1lCh5QnDY8Bt4nzMuThVgC3oAtUBUCO+R42vgfpvVtJanBgBwJAZUC5SKZahBBEeBd4E/jZ+jLeccUwAgk/L1gAxCxvC4rE2JHU59lfByRN12HRIAXa8AFHkdIPvQROTrhD8BgX3AtWwMCgBIQDLuO+O1AJWK4UE5Tof8tK2zVTkXsDUYwAA3+QI9ANqGaNqDwJoRmD0ri6d+GgTwT0LeAqC2gabFFiF+Bp44tnBKwwCs7vBIMoMAVCqZgTKgaclaCAuaFjkuALsHA9iC/wVgIZocuQPPrsyPzg9TBVb3Vn/oDYBSHwKtBcw69UPK80Rurc6PByjDSJyB+s54A8BxJCI/dJeKB1zLhiMhkmEApXYX078BkTsNZyQ9StXJlF9R5Pbkyp4uQD4msQz8YeVe2uac5e7yGgrgPvvVJ5hS0NQnhb4B7rX5wNY76puT+7DcPsBcJro6V8YEMBPwOeFD4F+B551xcdKihweU7OaBDFTqftB6X45HjD+eDCS3C/jvkQwu9bF+QGgs+RnjH8FzynIlZYYAHE9508rvGgfAi7ZOdkOpUeRriE8B3JYFy6ejVKiFYQCjJWqppEVTC8AuhX9x6oTEDuRZmzWUh6nN1cm0MyygacntGbQ9A6VS7vnrTYVXsLacmrM5q6bfcGjA3X/DO7H+HgDRj5vujRlaHAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catPE_G1.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmEyZmFlYWEtZjcyYS1hYjQzLThkN2EtYjEwY2QxMTA3MmNiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYTJmYWVhYS1mNzJhLWFiNDMtOGQ3YS1iMTBjZDExMDcyY2I8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+wqwjaAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABl0lEQVR42uzXP0hVcRjG8c9FcI0wgsYQSWloqDEJgwYXk/6IFYaEOjQIlRTRLpTanyHIaqlQEaV0ESoXI6ccWlxCws1JwYaGltvyHrhIQ8O9ryC+0+89cA7f3znv73meUyqXy3azSvsA/wFwFw+xhSv4lAlwEit4gWNowwx68bsWAK/xHgvRX8cblKIfwHisr2Gy2gBlPMHt6C/FjhvxM64dxATa8RVd2KgmwAMMR38RsziK9R33duJDrIcwlg0AdXiJG1gLqNVMgKJOYw4N8SaGsgGKGsZ9/EIHlrIBoDlOUgveoQ9/MgGKGsSzWF+O56QCwGFM4SwW0Y3NTICiujBdMbDL2QBFfcOpCmVNB1gJf0kHuBryDa0h4SkAR+Lbt+Jz2HnaEN7C4904hsfDpJrwFv2ZQjQSPrCN85lSfAbzOIBHuJdlRvV4FcnpBy5k2nGRloqBe5oVyQ5FFjyHL6HvVYtk42GlH6PviUkulOsmnleIy1StY/kJfI/Y1RKCMh0RrCax/F91B6OhYN1hq/v/hnsH4O8A38/3wXV4mTEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + #catSANT_G3.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTgzOWI5NTgtMjZhNy1kYTQwLTg1NDQtZWRkY2UzZjYzYmNhPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplODM5Yjk1OC0yNmE3LWRhNDAtODU0NC1lZGRjZTNmNjNiY2E8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+w67uMwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAFA0lEQVR42sSXS6hkVxWGv3/tfW4bgxIJNK1RuKJ4J42PgWJGCUkEHwMHcZSbgYKQgWRqRKI4izF3IoiERnzQ3pkRRwaFpB21GATRJpDuIDFog23EGNMm3XXOXr+DU1W36tbDJhlkD+ucOvtba/3r32vLNm/l0uHBfXdJfOSN/h+7DarnWpQ/iTEYI2SzkxOESQcArRSGqGghaB0e7P8W+OSbCGIw+klKX8ZLZBTaCGRtBfCU+iLYQNzoxsDbBbvAZSfvnT0wIpRIvmGAl2xOzlK1IdeglZ9vDvkq8HxaH1p8UNTmGyXx/wFInyTAEhzTpWQaBaWRPb4zrltD/ucigNG4eRijEbrxpMwHhlI+00f353AeAzBXpDyl4o3RX9PbaC7UHIicf+C2kP8GXEprbx59NDKCzDHyIM+Gfb/R633Uj1m6uAhwbRrlGcbY19TB0ahnmuKPAKW17QAaAdxEaY2sAdKjkflVS6/YvCecr80A/gW8a8yVNyqA5CvG3wcWS7ACEE4UHjNAoQ49GcH1ukPX2g9rDl9CPpfEXZbQ4cH+AFwF7t0meVsXDP849vMcoFl7YRNuEPFwhqrRt5QmS4EYn0XjBVu7rcbnMuKXMxFewT6FtA1gXX6WM6AxO+F0GCw/k9an+rrzn+qBkgMmbhecR7yYYncG8Hfsd/sYgOy5KuzYCuBkr0Wh7zq6Nvlg19oPEHckerZFOW1EbQMiQboAOp3SJ3R4sD8BesM3jgoOwAmZ87Z/M+3F0VC0OQOy6WtHkJRsCM7JvtPSd4YoD4WTaAnSA4jHDQc6PNh/GbhlbdrRU2ndo43iXAVoUXBopumbuhz+C6gR7wRenXrAnuA5i9/r8GC/BybYDy61oelU+IMifzezUlvz3t7WhtTRO4wI+6wa9zfpCyk9UTIRrkg90C9p4Fj4qHhsqQwiRm/v+w5bM59fCxDMzgFj4gHQ49hfF37EsxpKLwO3LANsOYYUSYmktcIw1DcEADyy4O9zgLEEmpdAqy5EAX4dkX+xRWvlBkowraf9UzX2m3RvSj8vmciuhHpgslWEyz4QDyZ875ggVwBk4xB9qYS9KMJ3AFfnIhTPmVGEE6DH/uaWDHRYPzM8fyNWbAmHCHvWho8OUb62pg0f2yzC1Z6cr1SstWJhSiYZ8T6Js8J3GD07LBmRQVwAnbb08a1WbIRtgukcgBY3Xz0Lxjc6FJPpF56xdc+k7rzauR9PRpXbhc8jv5jS7tbDyOivaS5pNhF5Kf3LJUj2HEHWiDoM35V4JdHDaqaVgooZS+AXjHZbic9m6MmF43ht8/3K6U+PaR8xtonQEn3tONGuI8zgyg4TmgrX4wQ1hx91OXzR4unmcvfsOL42jfYMPnJC4ZKKp1rEE7YoNKoGMsdJZ50PyGYolUIjSByiU8/QKk59u8gPJfq3zW2yX1ucCa/YnEoLpjOhnAy14hp02VNoRzo4gljpAksESWUYQzGkyy+MPg+83kf9qKVLq0Opx6F0SQPTjwU5n2znQ2orOOPWiFwaSuVxGnJoCgzFvhxu2Ue9cyjrh9KXFHmSmDv1aAg+6oZ1KzNu1ijgFYC+dnO9lNZqyTZkBEPZcDGRfNEbh9K1U+IA3GTr/YbLTC8mllCaVsuofpvIcT7YBPBmr2bN6MeLVzMx3h1mm20HeOy+u018mO1j8cZECGeLeHrxcjqr4cwztgK81dfz/w0AHjWdyjCbBL0AAAAASUVORK5CYII=) no-repeat; background-size: 100% auto; diff --git a/boards/default/micropython_esp32s2/index.xml b/boards/default/micropython_esp32s2/index.xml index 871efe4a..8cf0e41c 100644 --- a/boards/default/micropython_esp32s2/index.xml +++ b/boards/default/micropython_esp32s2/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func010,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func2022711420452023,1,1,12,0,0180292023,1,1,12,0,0100440440100001004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.51001001000interrupt_funcinterrupt_functurnsdistancei2c_extend1718400000g6i2c_extendg6g6100g6g6100g6g6100g6wifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixly3820000391000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr124ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensorzsensorweight12500weightmidi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func010,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func2022711420452023,1,1,12,0,0180292023,1,1,12,0,0100440440100001004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.51001001000interrupt_funcinterrupt_functurnsdistancei2c_extend1718400000g6i2c_extendg6g6100g6g6100g6g6100g6i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pewifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixly3820000391000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr124ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensorzsensorweight12500weightmidi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrix>matrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32s2/main.bundle.3f76b5d3.js b/boards/default/micropython_esp32s2/main.bundle.3f76b5d3.js new file mode 100644 index 00000000..c7dcc7c5 --- /dev/null +++ b/boards/default/micropython_esp32s2/main.bundle.3f76b5d3.js @@ -0,0 +1,21 @@ +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Pt,controls_typeLists:()=>vt,lists_zip:()=>Yt,lists_zip_container:()=>Xt,lists_zip_item:()=>yt,unpack_iterable_object:()=>bt,variables_change:()=>ft,variables_get:()=>Nt,variables_global:()=>Ft,variables_set:()=>Dt});var i={};t.r(i),t.d(i,{base_setup:()=>Bt,controls_delay:()=>Gt,controls_end_program:()=>Ut,controls_except:()=>te,controls_finally:()=>ee,controls_flow_statements:()=>Jt,controls_for:()=>qt,controls_forEach:()=>Ht,controls_for_range:()=>Qt,controls_if:()=>wt,controls_if_else:()=>$t,controls_if_elseif:()=>jt,controls_if_if:()=>zt,controls_lambda:()=>ne,controls_main:()=>Vt,controls_pass:()=>se,controls_range:()=>kt,controls_repeat_ext:()=>ie,controls_thread:()=>_e,controls_try:()=>Zt,controls_try_finally:()=>Kt,controls_whileUntil:()=>Wt,datetime_fromtimestamp:()=>le,do_while:()=>oe,garbage_collection:()=>pe,gene_unique_identifier:()=>de,get_mem_alloc:()=>ae,get_mem_free:()=>ue,get_unique_identifier:()=>re});var n={};t.r(n),t.d(n,{base_map:()=>Ye,generate_cartesian_product:()=>ye,math_arithmetic:()=>me,math_bit:()=>Oe,math_constant:()=>Me,math_constant_mp:()=>he,math_constrain:()=>Le,math_dec:()=>ce,math_degree_to_radian:()=>xe,math_indexer_number:()=>De,math_map:()=>Ne,math_max_min:()=>Ce,math_number:()=>Te,math_number_base_conversion:()=>Se,math_radian_to_degree:()=>be,math_random:()=>Ae,math_random_seed:()=>fe,math_round:()=>Fe,math_selfcalcu:()=>Ee,math_to_int:()=>ge,math_trig:()=>Re,text_to_number:()=>Pe,text_to_number_skulpt:()=>ve,turn_to_int:()=>Xe});var s={};t.r(s),t.d(s,{ascii_to_char:()=>He,char_to_ascii:()=>We,number_to_text:()=>Ke,os_system:()=>mi,text:()=>Be,text_bytes:()=>Ue,text_capital:()=>ei,text_center:()=>ii,text_char:()=>we,text_char_at:()=>Qe,text_char_at2:()=>qe,text_char_at3:()=>Ii,text_compareTo:()=>di,text_compare_to:()=>ti,text_create_with_container:()=>ui,text_create_with_item:()=>ri,text_encode:()=>Mi,text_equals_starts_ends:()=>Ze,text_eval:()=>hi,text_find:()=>ni,text_format:()=>ai,text_format_noreturn:()=>Ti,text_join:()=>ke,text_join_seq:()=>si,text_length:()=>Je,text_random_char:()=>ze,text_replace:()=>_i,text_split:()=>oi,text_strip:()=>pi,text_substring:()=>$e,text_substring2:()=>je,text_substring3:()=>li,text_textarea:()=>Ge});var _={};t.r(_),t.d(_,{ENUMERATE:()=>Zi,content_in_lists:()=>en,enumerate:()=>tn,list_many_input:()=>Gi,list_tolist:()=>Hi,list_tolist2:()=>$i,list_trig:()=>xi,lists_2d_get_col_row_data:()=>gi,lists_2d_get_data_with_col_row:()=>ci,lists_append_extend:()=>Di,lists_change_to:()=>Bi,lists_change_to_general:()=>wi,lists_clear:()=>Yi,lists_create_with:()=>Ci,lists_create_with2:()=>Wi,lists_create_with_container:()=>Ai,lists_create_with_item:()=>Li,lists_create_with_noreturn:()=>Ui,lists_create_with_text:()=>Si,lists_create_with_text2:()=>Ki,lists_del_general:()=>ki,lists_find:()=>bi,lists_getIndex3:()=>Ji,lists_getSublist3:()=>qi,lists_get_index:()=>Oi,lists_get_random_item:()=>fi,lists_get_random_sublist:()=>Fi,lists_get_sublist:()=>Ri,lists_insert_value:()=>Pi,lists_insert_value2:()=>zi,lists_pop:()=>yi,lists_remove_at:()=>Xi,lists_remove_at2:()=>ji,lists_reverse:()=>vi,lists_setIndex3:()=>Qi,lists_set_index:()=>Ni,lists_sort:()=>Vi});var o={};t.r(o),t.d(o,{dicts_add_change_del:()=>En,dicts_add_or_change:()=>rn,dicts_clear:()=>In,dicts_create_with:()=>sn,dicts_create_with_container:()=>_n,dicts_create_with_item:()=>on,dicts_create_with_noreturn:()=>cn,dicts_deldict:()=>mn,dicts_delete:()=>ln,dicts_get:()=>an,dicts_get_default:()=>un,dicts_items:()=>Tn,dicts_keys:()=>pn,dicts_length:()=>hn,dicts_pop:()=>On,dicts_setdefault:()=>Rn,dicts_to_json:()=>Cn,dicts_to_json2:()=>Ln,dicts_to_to:()=>An,dicts_todict:()=>gn,dicts_update:()=>dn,dicts_values:()=>Mn,json_to_dicts:()=>Sn});var p={};t.r(p),t.d(p,{logic_boolean:()=>vn,logic_compare:()=>Dn,logic_compare_continous:()=>fn,logic_is:()=>bn,logic_is_in:()=>yn,logic_negate:()=>Pn,logic_null:()=>Yn,logic_operation:()=>Fn,logic_tobool:()=>xn,logic_true_or_false:()=>Xn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>os,sdcard_use_spi_init:()=>_s,storage_can_write_ornot:()=>Kn,storage_change_dir:()=>ns,storage_close_file:()=>qn,storage_delete_file:()=>zn,storage_file_seek:()=>Zn,storage_file_tell:()=>$n,storage_file_write:()=>wn,storage_fileopen:()=>Bn,storage_fileopen_new:()=>Gn,storage_fileopen_new_encoding:()=>Un,storage_get_a_line:()=>Wn,storage_get_contents:()=>Hn,storage_get_contents_without_para:()=>kn,storage_get_current_dir:()=>ts,storage_get_file_size:()=>jn,storage_get_filename:()=>Jn,storage_is_file:()=>ss,storage_list_all_files:()=>Qn,storage_make_dir:()=>es,storage_open_file_with_os:()=>Vn,storage_rename:()=>is});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>ls,procedures_callreturn:()=>ds,procedures_defnoreturn:()=>ps,procedures_defreturn:()=>as,procedures_ifreturn:()=>Is,procedures_mutatorarg:()=>rs,procedures_mutatorcontainer:()=>us,procedures_return:()=>Ts});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Ls,tuple_create_llm_params:()=>ys,tuple_create_with:()=>hs,tuple_create_with_container:()=>ms,tuple_create_with_item:()=>Es,tuple_create_with_noreturn:()=>Fs,tuple_create_with_text2:()=>Os,tuple_create_with_text_return:()=>Rs,tuple_del:()=>Cs,tuple_find:()=>Ns,tuple_getIndex:()=>cs,tuple_getSublist:()=>fs,tuple_get_random_item:()=>vs,tuple_get_sublist:()=>Ps,tuple_input:()=>Xs,tuple_join:()=>Ss,tuple_length:()=>gs,tuple_max:()=>As,tuple_totuple:()=>Ys,tuple_trig:()=>Ds});var l={};t.r(l),t.d(l,{set_add_discard:()=>Ws,set_clear:()=>ws,set_create_with:()=>xs,set_create_with_container:()=>Vs,set_create_with_item:()=>Bs,set_create_with_text_return:()=>qs,set_length:()=>Gs,set_operate:()=>ks,set_operate_update:()=>Hs,set_pop:()=>Us,set_sub:()=>Ks,set_toset:()=>Qs,set_update:()=>Js});var d={};t.r(d),t.d(d,{html_content:()=>t_,html_content_more:()=>e_,html_document:()=>js,html_form:()=>n_,html_head_body:()=>Zs,html_style:()=>i_,html_style_color:()=>__,html_style_content:()=>s_,html_text:()=>o_,html_title:()=>$s});var I={};t.r(I),t.d(I,{attribute_access:()=>R_,function_call:()=>m_,function_call_container:()=>E_,function_call_item:()=>O_,raw_block:()=>u_,raw_empty:()=>l_,raw_expression:()=>r_,raw_table:()=>a_,text_comment:()=>d_,text_print_multiple:()=>T_,text_print_multiple_container:()=>M_,text_print_multiple_item:()=>h_,type_check:()=>I_});var T={};t.r(T),t.d(T,{controls_type:()=>A_,controls_typeLists:()=>L_,lists_zip:()=>N_,unpack_iterable_object:()=>D_,variables_change:()=>C_,variables_get:()=>c_,variables_global:()=>S_,variables_set:()=>g_});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>V_,base_setup:()=>F_,controls_delay:()=>x_,controls_flow_statements:()=>b_,controls_for:()=>Y_,controls_forEach:()=>k_,controls_for_range:()=>X_,controls_if:()=>P_,controls_interrupts:()=>U_,controls_lambda:()=>W_,controls_main:()=>f_,controls_millis:()=>B_,controls_nointerrupts:()=>w_,controls_pass:()=>J_,controls_range:()=>H_,controls_repeat:()=>eo,controls_repeat_ext:()=>z_,controls_thread:()=>q_,controls_try_finally:()=>v_,controls_whileUntil:()=>y_,datetime_fromtimestamp:()=>io,do_while:()=>Q_,garbage_collection:()=>j_,gene_unique_identifier:()=>no,get_mem_alloc:()=>$_,get_mem_free:()=>Z_,get_unique_identifier:()=>to,reset:()=>G_,time_sleep:()=>K_});var h={};t.r(h),t.d(h,{base_map:()=>Ao,generate_cartesian_product:()=>No,math_arithmetic:()=>ao,math_bit:()=>po,math_constant:()=>_o,math_constant_mp:()=>oo,math_constrain:()=>Eo,math_dec:()=>Io,math_degree_to_radian:()=>fo,math_indexer_number:()=>co,math_map:()=>mo,math_max_min:()=>Mo,math_number:()=>so,math_number_base_conversion:()=>Oo,math_radian_to_degree:()=>Do,math_random:()=>ho,math_random_seed:()=>Ro,math_round:()=>go,math_selfcalcu:()=>uo,math_single:()=>ro,math_to_int:()=>To,math_trig:()=>lo,text_to_number:()=>Co,text_to_number_skulpt:()=>So,turn_to_int:()=>Lo});var m={};t.r(m),t.d(m,{ascii_to_char:()=>yo,char_to_ascii:()=>bo,number_to_text:()=>xo,os_system:()=>op,text:()=>Fo,text_bytes:()=>vo,text_capital:()=>Ko,text_center:()=>Jo,text_char:()=>Yo,text_char_at:()=>Go,text_char_at2:()=>Bo,text_char_at3:()=>np,text_compareTo:()=>ip,text_compare_to:()=>ko,text_encode:()=>sp,text_equals_starts_ends:()=>wo,text_eval:()=>_p,text_find:()=>qo,text_format:()=>Zo,text_format_noreturn:()=>tp,text_join:()=>Xo,text_join_seq:()=>Qo,text_length:()=>Vo,text_random_char:()=>Uo,text_replace:()=>zo,text_split:()=>jo,text_strip:()=>$o,text_substring:()=>Wo,text_substring2:()=>Ho,text_substring3:()=>ep,text_textarea:()=>Po});var E={};t.r(E),t.d(E,{content_in_lists:()=>Gp,enumerate:()=>Bp,list_many_input:()=>Lp,list_tolist:()=>xp,list_tolist2:()=>Vp,list_trig:()=>Cp,lists_2d_get_col_row_data:()=>up,lists_2d_get_data_with_col_row:()=>ap,lists_append_extend:()=>Tp,lists_change_to:()=>Ap,lists_change_to_general:()=>Dp,lists_clear:()=>Op,lists_create_with:()=>rp,lists_create_with2:()=>Fp,lists_create_with_noreturn:()=>Np,lists_create_with_text:()=>lp,lists_create_with_text2:()=>Pp,lists_del_general:()=>fp,lists_find:()=>Rp,lists_getIndex3:()=>vp,lists_getSublist3:()=>Yp,lists_get_index:()=>dp,lists_get_random_item:()=>Mp,lists_get_random_sublist:()=>hp,lists_get_sublist:()=>pp,lists_insert_value:()=>mp,lists_insert_value2:()=>yp,lists_pop:()=>gp,lists_remove_at:()=>cp,lists_remove_at2:()=>bp,lists_reverse:()=>Ep,lists_setIndex3:()=>Xp,lists_set_index:()=>Ip,lists_sort:()=>Sp});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>Zp,dicts_add_or_change:()=>Wp,dicts_clear:()=>qp,dicts_create_with:()=>Up,dicts_create_with_noreturn:()=>ia,dicts_deldict:()=>$p,dicts_delete:()=>Kp,dicts_get:()=>kp,dicts_get_default:()=>Hp,dicts_items:()=>Qp,dicts_keys:()=>wp,dicts_length:()=>jp,dicts_pop:()=>ta,dicts_setdefault:()=>ea,dicts_to_json:()=>sa,dicts_to_json2:()=>pa,dicts_to_to:()=>oa,dicts_todict:()=>na,dicts_update:()=>Jp,dicts_values:()=>zp,json_to_dicts:()=>_a});var R={};t.r(R),t.d(R,{logic_boolean:()=>da,logic_compare:()=>aa,logic_compare_continous:()=>ua,logic_is:()=>ha,logic_is_in:()=>Ma,logic_negate:()=>la,logic_null:()=>Ia,logic_operation:()=>ra,logic_tobool:()=>ma,logic_true_or_false:()=>Ta});var c={};t.r(c),t.d(c,{sdcard_mount:()=>Ga,sdcard_use_spi_init:()=>Ba,storage_can_write_ornot:()=>La,storage_change_dir:()=>Xa,storage_close_file:()=>Da,storage_delete_file:()=>Fa,storage_file_seek:()=>Ya,storage_file_tell:()=>va,storage_file_write:()=>ga,storage_fileopen:()=>Oa,storage_fileopen_new:()=>Ra,storage_fileopen_new_encoding:()=>ca,storage_get_a_line:()=>Aa,storage_get_contents:()=>Sa,storage_get_contents_without_para:()=>Ca,storage_get_current_dir:()=>ya,storage_get_file_size:()=>Pa,storage_get_filename:()=>Na,storage_is_file:()=>Va,storage_list_all_files:()=>fa,storage_make_dir:()=>ba,storage_open_file_with_os:()=>Ea,storage_rename:()=>xa});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Ha,procedures_callreturn:()=>ka,procedures_defnoreturn:()=>wa,procedures_defreturn:()=>Ua,procedures_ifreturn:()=>Wa,procedures_return:()=>Ka});var C={};t.r(C),t.d(C,{tuple_change_to:()=>eu,tuple_create_llm_params:()=>ru,tuple_create_with:()=>Ja,tuple_create_with_noreturn:()=>_u,tuple_create_with_text2:()=>qa,tuple_create_with_text_return:()=>Qa,tuple_del:()=>$a,tuple_find:()=>iu,tuple_getIndex:()=>za,tuple_getSublist:()=>su,tuple_get_random_item:()=>pu,tuple_get_sublist:()=>ou,tuple_input:()=>uu,tuple_join:()=>Za,tuple_length:()=>ja,tuple_max:()=>tu,tuple_totuple:()=>au,tuple_trig:()=>nu});var S={};t.r(S),t.d(S,{set_add_discard:()=>mu,set_clear:()=>Tu,set_create_with:()=>lu,set_create_with_text_return:()=>Ru,set_length:()=>du,set_operate:()=>Mu,set_operate_update:()=>hu,set_pop:()=>Iu,set_sub:()=>Eu,set_toset:()=>cu,set_update:()=>Ou});var A={};t.r(A),t.d(A,{html_content:()=>Au,html_content_more:()=>Lu,html_document:()=>gu,html_form:()=>Du,html_head_body:()=>Su,html_style:()=>Nu,html_style_content:()=>fu,html_text:()=>Fu,html_title:()=>Cu});var L={};t.r(L),t.d(L,{attribute_access:()=>xu,function_call:()=>bu,raw_block:()=>Pu,raw_empty:()=>Yu,raw_expression:()=>vu,raw_table:()=>Xu,type_check:()=>yu});var N={};t.r(N),t.d(N,{PIN_init:()=>Hr,actuator_extern_get_led_bright:()=>Zu,actuator_extern_get_led_state:()=>tr,actuator_extern_led_bright:()=>$u,actuator_extern_led_brightness:()=>er,actuator_ms32006_dcmotor:()=>rr,actuator_ms32006_init:()=>ur,actuator_ms32006_stepper:()=>lr,actuator_neopixel_init:()=>dr,actuator_neopixel_rgb:()=>Ir,actuator_neopixel_rgb_all:()=>Tr,actuator_neopixel_rgb_show_all_chase:()=>mr,actuator_neopixel_rgb_show_all_rainbow:()=>hr,actuator_neopixel_write:()=>Mr,actuator_use_uart_init:()=>Er,backstage_esp32_music_play_list:()=>Ku,esp32_music_get_tempo_extern:()=>qu,esp32_music_pitch:()=>ku,esp32_music_pitch_init:()=>wu,esp32_music_pitch_with_time:()=>Hu,esp32_music_play_list:()=>Wu,esp32_music_reset_extern:()=>Qu,esp32_music_set_tempo_extern:()=>Ju,esp32_music_stop:()=>zu,esp32_set_music_volume:()=>ju,mixbot_actuator_extern_get_addr:()=>wr,mixbot_actuator_extern_set_addr:()=>kr,mixbot_addr_extern:()=>fr,parrot_PIN_init:()=>qr,parrot_move_speed:()=>Qr,pin_led_bright:()=>Wr,player_insert_music:()=>Sr,player_play_music:()=>Cr,player_set_mode:()=>gr,player_set_play:()=>Rr,player_set_volume:()=>cr,player_whether_stop:()=>Or,robot_led_extern:()=>Yr,robot_led_extern_get_value:()=>Xr,robot_motor_extern:()=>Fr,robot_motor_extern_get_speed:()=>Pr,robot_servo_extern_absolute_run:()=>Vr,robot_servo_extern_get_status:()=>yr,robot_servo_extern_relative_continue:()=>Ur,robot_servo_extern_relative_origin:()=>Br,robot_servo_extern_relative_run:()=>Gr,robot_servo_extern_stop:()=>xr,robot_servo_extern_stop_mode:()=>br,robot_traffic_light_extern:()=>vr,servo_PIN_init:()=>Kr,servo_get_angle:()=>pr,servo_get_speed:()=>ar,servo_init:()=>ir,servo_move:()=>nr,servo_move_angle:()=>Jr,servo_set_angle:()=>_r,servo_set_speed:()=>or,servo_speed_360:()=>sr,syn6288_builtin_voice:()=>Nr,syn6288_get_voice:()=>Lr,syn6288_set_voice:()=>Ar,syn6288_tts_play:()=>Dr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Dl,actuator_dc_motor_stop:()=>fl,actuator_get_led_bright:()=>tl,actuator_get_led_state:()=>el,actuator_led_bright:()=>Zr,actuator_led_brightness:()=>il,actuator_mixbot_buzzer_on_off:()=>Xl,actuator_mixgo_nova_mic_get:()=>Bl,actuator_mixgo_nova_mic_set:()=>Vl,actuator_mixgo_nova_onboard_music_pitch:()=>Wl,actuator_mixgo_nova_onboard_music_stop:()=>Kl,actuator_mixgo_nova_play_audio:()=>kl,actuator_mixgo_nova_play_online_audio:()=>Hl,actuator_mixgo_nova_record_audio:()=>wl,actuator_mixgo_nova_voice_get:()=>Ul,actuator_mixgo_nova_voice_set:()=>Gl,actuator_mixgo_zero_led_color:()=>nl,actuator_onboard_neopixel_rgb:()=>ul,actuator_onboard_neopixel_rgb_all:()=>rl,actuator_onboard_neopixel_rgb_show_all_chase:()=>dl,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>ll,actuator_onboard_neopixel_write:()=>Il,actuator_rm_onboard_neopixel_rgb:()=>Tl,actuator_rm_onboard_neopixel_rgb_all:()=>Ml,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>hl,actuator_stepper_keep:()=>Ll,actuator_stepper_stop:()=>Nl,analog_ble_keyboard_init:()=>od,analog_ble_keyboard_input:()=>ud,analog_ble_keyboard_mouse_init:()=>md,analog_ble_keyboard_mouse_input:()=>cd,analog_ble_keyboard_mouse_send_battery:()=>Rd,analog_ble_keyboard_mouse_str:()=>gd,analog_ble_keyboard_send_battery:()=>ld,analog_ble_keyboard_str:()=>rd,analog_ble_mouse_init:()=>dd,analog_ble_mouse_input:()=>Md,analog_ble_mouse_keyboard_input:()=>Cd,analog_ble_mouse_send_battery:()=>hd,analog_keyboard_input:()=>jl,analog_keyboard_str:()=>_d,analog_mouse_input:()=>nd,backstage_onboard_music_play_list:()=>Sl,bitbot_motor:()=>xl,bitbot_move:()=>yl,bitbot_stop:()=>bl,ble_keyboard_connect:()=>ad,ble_keyboard_get_mac:()=>pd,ble_keyboard_mouse_connect:()=>Od,ble_keyboard_mouse_get_mac:()=>Ed,ble_mouse_connect:()=>Td,ble_mouse_get_mac:()=>Id,cc_number:()=>al,educore_ble_keyboard_input:()=>Yd,educore_ble_sensor_connected:()=>vd,educore_ble_sensor_init:()=>Pd,educore_buzzer:()=>Sd,educore_buzzer_play_tone:()=>Ad,educore_buzzer_play_tone_time:()=>Ld,educore_buzzer_stop:()=>Nd,educore_neopixel_clear:()=>Fd,educore_neopixel_rgb:()=>fd,educore_rgb_light:()=>Dd,esp32_music_get_tempo:()=>El,esp32_music_reset:()=>Ol,esp32_music_set_tempo:()=>ml,esp32_onboard_music_pitch:()=>Rl,esp32_onboard_music_pitch_with_time:()=>cl,esp32_onboard_music_play_list:()=>Cl,esp32_onboard_music_stop:()=>gl,general_key:()=>Zl,general_key_tuple:()=>td,generalkey_container:()=>ed,generalkey_create_with_item:()=>id,get_keyboard_light:()=>Xd,get_power_output:()=>ql,ledswitch:()=>$r,mixbot_motor:()=>Yl,mixbot_motor_status:()=>Fl,mixbot_move:()=>Pl,mixbot_stop:()=>vl,mouse_key:()=>sd,number:()=>jr,record_audio:()=>bd,rm_actuator_get_led_bright:()=>_l,rm_actuator_get_led_state:()=>ol,rm_actuator_led_bright:()=>sl,rm_actuator_led_brightness:()=>pl,rm_motor:()=>Al,set_all_power_output:()=>Ql,set_microphone_amplification:()=>yd,set_music_volume:()=>xd,set_part_power_output:()=>zl,set_power_output:()=>Jl,special_key:()=>$l});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>mI,ai_sensor_ailocal_class:()=>oI,ai_sensor_ailocal_class_result:()=>pI,ai_sensor_ailocal_train:()=>_I,ai_sensor_asr_recognize:()=>dI,ai_sensor_audio_play:()=>uI,ai_sensor_audio_record:()=>aI,ai_sensor_barcode:()=>Wd,ai_sensor_circle:()=>jd,ai_sensor_classifier_faces:()=>hI,ai_sensor_color:()=>eI,ai_sensor_color_chases:()=>sI,ai_sensor_color_chases_result:()=>nI,ai_sensor_config:()=>kd,ai_sensor_face:()=>MI,ai_sensor_find_20objects:()=>EI,ai_sensor_find_barcodes:()=>Kd,ai_sensor_find_circles:()=>$d,ai_sensor_find_colors:()=>iI,ai_sensor_find_licenseplates:()=>TI,ai_sensor_find_lines:()=>zd,ai_sensor_find_qrcodes:()=>wd,ai_sensor_find_rects:()=>tI,ai_sensor_find_tags:()=>qd,ai_sensor_licenseplate:()=>II,ai_sensor_line:()=>Qd,ai_sensor_qrcode:()=>Gd,ai_sensor_qrcode_lite:()=>Ud,ai_sensor_rect:()=>Zd,ai_sensor_rgb:()=>Hd,ai_sensor_tag:()=>Jd,ai_sensor_use_uart_init:()=>Bd,ai_sensor_yolo_recognize:()=>rI,ai_sensor_yolo_recognize_result:()=>lI});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>cI,MICROPYTHON_AI_Speech_unit:()=>RI,MICROPYTHON_AI_client:()=>OI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>bI,mpython_blynk_app_notify:()=>fI,mpython_blynk_email:()=>vI,mpython_blynk_get_timers:()=>YI,mpython_blynk_on_connected:()=>LI,mpython_blynk_on_disconnected:()=>AI,mpython_blynk_run:()=>DI,mpython_blynk_sensor_data_to_app:()=>yI,mpython_blynk_set_property:()=>PI,mpython_blynk_setup:()=>xI,mpython_blynk_stop_timers:()=>FI,mpython_blynk_sync_virtual:()=>SI,mpython_blynk_terminal_widget_vpin:()=>CI,mpython_blynktimer:()=>XI,mpython_blynktimer_run:()=>NI});var v={};t.r(v),t.d(v,{cc_g1_init:()=>VI,cc_g1_read_bat:()=>BI,cc_g1_read_joystick:()=>GI,cc_g1_read_key:()=>UI,cc_g1_turnoff:()=>wI});var Y={};t.r(Y),t.d(Y,{ce_go_dc_motor:()=>jI,ce_go_get_led_bright:()=>KI,ce_go_get_led_state:()=>JI,ce_go_hall_attachInterrupt:()=>$I,ce_go_hall_data:()=>tT,ce_go_hall_initialize:()=>ZI,ce_go_led_bright:()=>WI,ce_go_led_brightness:()=>qI,ce_go_light_number:()=>HI,ce_go_pin_light:()=>_T,ce_go_pin_near:()=>iT,ce_go_pin_near_line:()=>eT,ce_go_pin_near_state_change:()=>nT,ce_go_stepper_keep:()=>QI,ce_go_stepper_stop:()=>zI,educore_car:()=>oT,educore_car_pin_near:()=>rT,educore_car_pin_near_line:()=>uT,educore_car_stepper_keep:()=>pT,educore_car_stepper_stop:()=>aT,sensor_mixgome_eulerangles:()=>sT});var X={};t.r(X),t.d(X,{communicate_bluetooth_central_init:()=>KT,communicate_bluetooth_connect:()=>zT,communicate_bluetooth_disconnect:()=>jT,communicate_bluetooth_handle:()=>iM,communicate_bluetooth_is_connected:()=>ZT,communicate_bluetooth_mac:()=>QT,communicate_bluetooth_peripheral_init:()=>JT,communicate_bluetooth_recv:()=>tM,communicate_bluetooth_recv_only:()=>eM,communicate_bluetooth_scan:()=>qT,communicate_bluetooth_send:()=>$T,communicate_espnow_init:()=>nM,communicate_espnow_init_new:()=>sM,communicate_i2c_available:()=>DT,communicate_i2c_init:()=>TT,communicate_i2c_master_read:()=>NT,communicate_i2c_onboard:()=>dT,communicate_i2c_read:()=>MT,communicate_i2c_scan:()=>mT,communicate_i2c_write:()=>hT,communicate_ir_recv_init:()=>bT,communicate_ir_send_init:()=>UT,communicate_ow_init:()=>FT,communicate_ow_read:()=>vT,communicate_ow_reset:()=>yT,communicate_ow_scan:()=>PT,communicate_ow_select:()=>XT,communicate_ow_write:()=>YT,communicate_spi_buffer:()=>RT,communicate_spi_init:()=>ET,communicate_spi_onboard:()=>IT,communicate_spi_read:()=>cT,communicate_spi_read_output:()=>gT,communicate_spi_readinto:()=>CT,communicate_spi_readinto_output:()=>ST,communicate_spi_set:()=>OT,communicate_spi_write:()=>AT,communicate_spi_write_readinto:()=>LT,espnow_radio_channel:()=>rM,espnow_radio_channel_new:()=>dM,espnow_radio_on_off:()=>IM,espnow_radio_rec:()=>MM,espnow_radio_recv:()=>mM,espnow_radio_recv_certain_msg:()=>EM,espnow_radio_recv_certain_msg_new:()=>RM,espnow_radio_recv_msg:()=>hM,espnow_radio_recv_new:()=>OM,espnow_radio_send:()=>TM,espnow_radio_txpower:()=>lM,i2c_available:()=>wM,i2c_init:()=>DM,i2c_master_reader2:()=>UM,i2c_read:()=>fM,i2c_scan:()=>PM,i2c_slave_onreceive:()=>fT,i2c_write:()=>FM,internal_variable:()=>xT,ir_recv_timeout:()=>GT,ir_transmit_busy:()=>WT,ir_transmit_conventional_data:()=>wT,ir_transmit_raw_code:()=>HT,ir_transmit_study_code:()=>kT,ir_whether_recv:()=>BT,lora_init:()=>cM,lora_packet:()=>gM,lora_recv:()=>SM,lora_send:()=>CM,network_espnow_info:()=>oM,network_espnow_mac:()=>_M,network_espnow_recv:()=>pM,network_espnow_recv_handle:()=>uM,network_espnow_send:()=>aM,recv_fun:()=>VT,spi_buffer:()=>XM,spi_init:()=>vM,spi_read:()=>yM,spi_read_output:()=>bM,spi_readinto:()=>xM,spi_readinto_output:()=>VM,spi_set:()=>YM,spi_write:()=>BM,spi_write_readinto:()=>GM,urequests_attribute:()=>LM,urequests_get:()=>AM,urequests_method:()=>NM});var y={};t.r(y),t.d(y,{display_animate:()=>Rh,display_blink_rate:()=>hh,display_circle:()=>ch,display_color_seclet:()=>Yh,display_draw_4strings:()=>rh,display_fill:()=>Oh,display_get_screen_image:()=>Mh,display_help:()=>Ch,display_image_size:()=>lh,display_lcd_use_i2c_init:()=>Bh,display_line:()=>Ih,display_line_arbitrarily:()=>Th,display_matrix_extern_bright_point:()=>ih,display_matrix_extern_bright_screen:()=>sh,display_matrix_extern_clear:()=>_h,display_matrix_extern_get_pixel:()=>eh,display_matrix_extern_get_screen_pixel:()=>nh,display_matrix_extern_image_builtins:()=>oh,display_matrix_extern_scroll_string:()=>zM,display_matrix_extern_scroll_string_delay:()=>jM,display_matrix_extern_shift:()=>th,display_matrix_extern_show_frame_string:()=>$M,display_matrix_extern_show_frame_string_delay:()=>ZM,display_matrix_extern_show_image:()=>qM,display_matrix_extern_show_image_or_string_delay:()=>QM,display_matrix_use_i2c_init:()=>JM,display_oled_drawPixel:()=>Ah,display_oled_showBitmap:()=>Sh,display_oled_use_i2c_init:()=>Hh,display_onoff:()=>Eh,display_rect:()=>dh,display_rgb_color:()=>mh,display_tm1650_power:()=>Nh,display_tm1650_set_brightness:()=>Fh,display_tm1650_show_dot:()=>fh,display_tm1650_show_num:()=>Dh,display_tm_use_i2c_init:()=>Lh,display_triangle:()=>gh,display_use_i2c_init:()=>uh,extern_oled_bright_point:()=>em,extern_oled_clear:()=>im,extern_oled_get_pixel:()=>tm,extern_oled_hvline:()=>sm,extern_oled_line:()=>_m,extern_oled_scroll_string:()=>Qh,extern_oled_scroll_string_delay:()=>zh,extern_oled_shape_rect:()=>nm,extern_oled_shift:()=>Zh,extern_oled_show_frame_string:()=>jh,extern_oled_show_frame_string_delay:()=>$h,extern_oled_show_image:()=>Wh,extern_oled_show_image_or_string_delay:()=>qh,extern_oled_show_image_xy:()=>Kh,extern_oled_show_string:()=>Jh,lcd_backlight:()=>wh,lcd_clear:()=>kh,lcd_print_string:()=>Uh,lcd_show_image_or_string_delay:()=>Gh,matrix_extern_image_arithmetic:()=>ph,matrix_extern_image_invert:()=>ah,tft_fill:()=>xh,tft_line_arbitrarily:()=>Vh,tft_scroll_string_delay:()=>yh,tft_show_frame_string_delay:()=>bh,tft_show_image_or_string_delay:()=>Xh,tft_show_image_xy:()=>vh,tft_use_spi_init:()=>Ph});var b={};t.r(b),t.d(b,{bitbot_display_bitmap_create:()=>Zm,bitbot_display_image_create:()=>$m,display_available:()=>Nm,display_bitmap_create:()=>hm,display_bright_point:()=>Cm,display_bright_screen:()=>Am,display_clear:()=>Lm,display_get_pixel:()=>gm,display_get_screen_pixel:()=>Sm,display_image_builtins:()=>mm,display_image_builtins_all:()=>Em,display_image_create:()=>Mm,display_scroll_string:()=>um,display_scroll_string_delay:()=>rm,display_scroll_way:()=>lm,display_shift:()=>cm,display_show_frame_string:()=>Im,display_show_frame_string_delay:()=>Tm,display_show_image:()=>pm,display_show_image_or_string_delay:()=>am,draw_pointer:()=>hE,image_arithmetic:()=>Om,image_invert:()=>Rm,mixbot_display_bitmap_create:()=>Jm,mixbot_display_bright_screen:()=>zm,mixbot_display_get_ambientbright:()=>Qm,mixbot_display_get_screen_pixel:()=>qm,mixbot_display_image_create:()=>Km,mixbot_display_rotate:()=>jm,mixgo_display_bitmap_create:()=>Ym,mixgo_display_image_create_new:()=>vm,mixgome_display_bitmap_create:()=>fm,mixgome_display_font:()=>Xm,mixgome_display_image_create:()=>Dm,mixgomini_display_bitmap_create:()=>Pm,mixgomini_display_image_create:()=>Fm,mpython_display_hvline:()=>km,mpython_display_line:()=>Hm,mpython_display_shape_rect:()=>wm,mpython_pbm_image:()=>Wm,nova_draw_pointer:()=>mE,onboard_oled_bright_point:()=>Um,onboard_oled_scroll_string_delay:()=>Bm,onboard_oled_show_frame_string_delay:()=>Gm,onboard_oled_show_image:()=>ym,onboard_oled_show_image_or_string_delay:()=>Vm,onboard_oled_show_image_xy:()=>bm,onboard_oled_show_string:()=>xm,onboard_tft_bright_point:()=>aE,onboard_tft_bright_screen:()=>LE,onboard_tft_clear:()=>NE,onboard_tft_clock_clear:()=>TE,onboard_tft_clock_draw:()=>IE,onboard_tft_clock_get_rtctime:()=>lE,onboard_tft_clock_init:()=>rE,onboard_tft_clock_set_time:()=>dE,onboard_tft_display_hvline:()=>_E,onboard_tft_display_line:()=>oE,onboard_tft_display_shape_circle:()=>ME,onboard_tft_display_shape_rect:()=>sE,onboard_tft_fill:()=>uE,onboard_tft_get_pixel:()=>pE,onboard_tft_get_screen_pixel:()=>AE,onboard_tft_scroll_string:()=>gE,onboard_tft_scroll_string_delay:()=>dm,onboard_tft_shift:()=>SE,onboard_tft_show_frame_string:()=>CE,onboard_tft_show_frame_string_delay:()=>nE,onboard_tft_show_image:()=>cE,onboard_tft_show_image_or_string_delay:()=>iE,onboard_tft_show_image_xy:()=>tE,onboard_tft_show_image_xy_direct:()=>eE,onboard_tft_show_qrcode:()=>OE,onboard_tft_show_qrcode_details:()=>RE,onboard_tft_show_texts:()=>EE});var x={};t.r(x),t.d(x,{factory_block:()=>WE,factory_block_return:()=>KE,factory_block_return_with_textarea:()=>qE,factory_block_with_textarea:()=>JE,factory_callMethod_noreturn:()=>kE,factory_callMethod_return:()=>HE,factory_create_with_container:()=>BE,factory_create_with_item:()=>GE,factory_declare:()=>wE,factory_from_import:()=>bE,factory_function_noreturn:()=>VE,factory_function_return:()=>UE,factory_import:()=>xE,folding_block:()=>QE});var V={};t.r(V),t.d(V,{controls_pin_attachInterrupt:()=>mO,inout_analog_atten:()=>_O,inout_analog_read:()=>sO,inout_analog_read_init:()=>lO,inout_analog_write:()=>eO,inout_analog_write_init:()=>rO,inout_analog_write_set:()=>iO,inout_analog_write_set_freq:()=>TO,inout_digital_init:()=>aO,inout_digital_read:()=>ZE,inout_digital_write:()=>$E,inout_highlow:()=>jE,inout_pinMode:()=>IO,inout_pin_attachInterrupt:()=>pO,inout_pin_pressed:()=>oO,inout_pin_pressed_init:()=>dO,inout_pwm_analog_write:()=>tO,inout_pwm_analog_write_init:()=>uO,inout_pwm_analog_write_set_freq:()=>nO,pin_pressed:()=>hO,pin_pressed_init:()=>MO});var B={};t.r(B),t.d(B,{IOT_CONNECT_OLLAMA:()=>eR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>wO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>UO,IOT_EMQX_PING:()=>BO,IOT_FORMATTING:()=>xO,IOT_FORMAT_STRING:()=>VO,IOT_MIXIO_NTP:()=>GO,IOT_MIXIO_PUBLISH:()=>fO,IOT_MIXIO_PUBLISHEX:()=>FO,IOT_MIXIO_SUBSCRIBE:()=>PO,iot_checkonenet:()=>$O,iot_client_onboard:()=>HO,iot_connect_ollama:()=>tR,iot_connect_openai:()=>iR,iot_create_with_item:()=>NO,iot_http_client:()=>WO,iot_http_data:()=>KO,iot_mixio_check:()=>XO,iot_mixio_connect:()=>DO,iot_mixio_connect_only:()=>YO,iot_mixio_disconnect:()=>vO,iot_mixio_format_msg:()=>bO,iot_mixio_format_topic:()=>yO,iot_mixly_key:()=>kO,iot_mqtt_client:()=>JO,iot_mqtt_data:()=>qO,iot_onenet_check:()=>gO,iot_onenet_connect:()=>RO,iot_onenet_disconnect:()=>cO,iot_onenet_publish:()=>SO,iot_onenet_publish_dict:()=>CO,iot_onenetconnect:()=>zO,iot_onenetdisconnect:()=>jO,iot_publish:()=>ZO,iot_publish_container:()=>AO,iot_publish_item:()=>LO,iot_tiny_web_db_count:()=>rR,iot_tiny_web_db_delete:()=>dR,iot_tiny_web_db_get:()=>uR,iot_tiny_web_db_init:()=>oR,iot_tiny_web_db_init_with_mqtt:()=>pR,iot_tiny_web_db_search:()=>lR,iot_tiny_web_db_update:()=>aR,iot_wifi_connect:()=>OO,iot_wificonnect:()=>QO,ollama_empty_history:()=>_R,use_ollama_llm_to_chat:()=>nR,use_ollama_llm_to_chat_return:()=>sR});var G={};t.r(G),t.d(G,{educore_mqtt_connect:()=>KR,educore_mqtt_connect_success:()=>zR,educore_mqtt_subscribe_message:()=>JR,educore_mqtt_topic_publish:()=>QR,educore_mqtt_topic_subscribe:()=>qR,educore_wifi_connect:()=>WR,network_ap_connect:()=>CR,network_connect:()=>ER,network_get_connect:()=>RR,network_get_wifi:()=>gR,network_init:()=>TR,network_is_active:()=>hR,network_open:()=>MR,network_scan:()=>mR,network_server:()=>SR,network_socket_accept:()=>fR,network_socket_bind:()=>LR,network_socket_close:()=>yR,network_socket_connect:()=>NR,network_socket_init:()=>AR,network_socket_listen:()=>DR,network_socket_readline:()=>FR,network_socket_receive:()=>PR,network_socket_receive_from:()=>YR,network_socket_send:()=>vR,network_socket_send_to:()=>XR,network_stop:()=>cR,network_wifi_connect:()=>OR,ntptime_address:()=>GR,ntptime_time:()=>BR,requests_attribute:()=>xR,requests_attribute2:()=>HR,requests_get:()=>bR,requests_get2:()=>wR,requests_method:()=>VR,requests_post:()=>kR});var U={};t.r(U),t.d(U,{pe_g1_battery_left:()=>ZR,pe_g1_dc_motor:()=>tc,pe_g1_dc_motor_speed:()=>ec,pe_g1_servo_get_angle:()=>sc,pe_g1_servo_get_speed:()=>_c,pe_g1_servo_set_angle:()=>ic,pe_g1_servo_set_speed:()=>nc,pe_g1_use_i2c_init:()=>$R});var w={};t.r(w),t.d(w,{CI130X_BROADCAST:()=>Fc,CI130X_GET_THE_RECOGNIZED_CMD:()=>fc,CI130X_GET_WHETHER_IDENTIFY:()=>Dc,CI130X_IDENTIFY_AND_SAVE:()=>Nc,CI130X_SET_SYSTEM_CMD:()=>Pc,HCSR04:()=>Og,PS2_Button:()=>Cg,PS2_Buttons:()=>Ag,PS2_Buttons_new:()=>fg,PS2_State:()=>Sg,PS2_init:()=>Rg,PS2_init_new:()=>Ng,PS2_stk:()=>Lg,PS2_stk_new:()=>Fg,PS2_vibration:()=>gg,PS2_vibration_new:()=>Dg,camera_sensor_init:()=>oC,camera_sensor_result:()=>pC,column_tube_foot:()=>dC,define_keyboards:()=>IC,educore_body_sensor:()=>zg,educore_button_sensor_extern:()=>tC,educore_camera_sensor:()=>_C,educore_infrared_sensor:()=>Zg,educore_soilhum_sensor:()=>jg,educore_temp_sensor:()=>sC,educore_temphum_sensor:()=>$g,educore_ultrasonic_sensor:()=>iC,esp32_s2_weather_init:()=>Mg,esp32_s2_weather_rain:()=>mg,esp32_s2_weather_wd:()=>hg,esp32_s2_weather_ws:()=>Eg,extern_rfid_read:()=>eg,extern_rfid_readcontent:()=>ng,extern_rfid_readid:()=>ig,extern_rfid_status:()=>og,extern_rfid_write:()=>sg,extern_rfid_write_return:()=>_g,get_keboards_value:()=>TC,gnss_get_data:()=>Xg,gnss_have_data:()=>Yg,init_init_rotary_encoder:()=>MC,init_matrix_keyboard:()=>rC,interaction_whether_to_interaction:()=>Ac,interaction_whether_to_interaction_SANT:()=>Lc,line_tube_foot:()=>lC,mixbot_sensor_extern_get_addr:()=>wg,mixbot_sensor_extern_set_addr:()=>kg,pm25_get_data:()=>vg,radar_set_DETECTION_THRESHOLD:()=>Cc,radar_set_DETECTION_THRESHOLD_SANT:()=>Sc,robot_button_extern_get_value:()=>bg,robot_color_extern_get_value:()=>Ug,robot_infrared_extern_get_value:()=>Vg,robot_infrared_extern_grey_get_value:()=>Bg,robot_potentiometer_extern_get_value:()=>Gg,robot_sonar_extern_get_value:()=>Hg,robot_sonar_extern_led:()=>Wg,robot_touch_extern_get_value:()=>xg,rotary_key:()=>hC,sensor_APDS9960_extern:()=>Yc,sensor_DS18X20:()=>Rc,sensor_LTR308_extern:()=>Xc,sensor_LTR390UV_extern:()=>xc,sensor_MAX30102_extern:()=>vc,sensor_QMC5883L_extern:()=>Wc,sensor_VL530LX_extern:()=>Vc,sensor_adxl345_get_acceleration:()=>dc,sensor_aht11_extern:()=>Gc,sensor_bmp:()=>Ec,sensor_compass_reset:()=>Zc,sensor_dht11:()=>Tc,sensor_hp203_extern:()=>Uc,sensor_light_level:()=>Ic,sensor_lm35:()=>cc,sensor_ltr381_extern:()=>yc,sensor_mixgo_extern_button_attachInterrupt:()=>rc,sensor_mixgo_extern_button_get_presses:()=>uc,sensor_mixgo_extern_button_is_pressed:()=>pc,sensor_mixgo_extern_button_was_pressed:()=>ac,sensor_mixgo_extern_light:()=>Mc,sensor_mixgo_extern_pin_near:()=>mc,sensor_mixgo_extern_sound:()=>hc,sensor_mixgoce_hot_wheel_degrees:()=>Tg,sensor_mixgoce_hot_wheel_is_touched:()=>Ig,sensor_mpu9250_attachGestureInterrupt:()=>lc,sensor_mpu9250_calibrate_compass:()=>zc,sensor_mpu9250_field_strength:()=>$c,sensor_mpu9250_gesture:()=>Kc,sensor_mpu9250_get_acceleration:()=>Jc,sensor_mpu9250_get_gyro:()=>Qc,sensor_mpu9250_get_magnetic:()=>qc,sensor_mpu9250_temperature:()=>jc,sensor_ms5611_extern:()=>kc,sensor_ms5611_extern_altitude:()=>Hc,sensor_read_humiture:()=>eC,sensor_sht:()=>Oc,sensor_shtc3_extern:()=>Bc,sensor_spl06_001_extern:()=>wc,sensor_ucs12071_extern:()=>bc,sensor_use_i2c_init:()=>gc,sensor_use_spi_init:()=>tg,sensor_use_uart_init:()=>Pg,sensor_weather_solo_init:()=>Kg,sensor_weather_solo_rain:()=>Qg,sensor_weather_solo_wd:()=>Jg,sensor_weather_solo_ws:()=>qg,sensor_weigh_init:()=>aC,tvoc_get_data:()=>yg,ultrasonic_sensor_read_distance:()=>nC,weather_data:()=>pg,weather_have_data:()=>ag,weather_set_label:()=>rg,weather_set_label_container:()=>lg,weather_set_label_item:()=>dg,weather_uart_mixio:()=>ug,weigh_sensor_get_weight:()=>uC});var k={};t.r(k),t.d(k,{HCSR04:()=>YC,RTC_set_date:()=>vC,RTC_set_time:()=>PC,bitbot_als_num:()=>wS,dht11:()=>QS,educore_button_sensor:()=>sA,educore_button_was_pressed:()=>_A,educore_gyroscope_sensor:()=>eA,educore_gyroscope_sensor_read:()=>iA,educore_gyroscope_sensor_shake:()=>nA,educore_light_sensor:()=>tA,educore_rfid_sensor:()=>oA,educore_rfid_sensor_scan:()=>pA,educore_rfid_sensor_scan_data:()=>aA,educore_voice_sensor:()=>$S,number1:()=>yC,number2:()=>bC,number3:()=>xC,number4:()=>VC,number5:()=>BC,number6:()=>GC,number7:()=>UC,onboard_RTC_get_time:()=>QC,onboard_RTC_get_time_str:()=>eS,onboard_RTC_get_timestamp:()=>zC,onboard_RTC_get_timetuple_to_str:()=>iS,onboard_RTC_set_datetime:()=>ZC,onboard_RTC_settime_string:()=>$C,onboard_RTC_timestamp_totuple:()=>jC,rfid_readcontent:()=>uS,rfid_readid:()=>aS,rfid_status:()=>dS,rfid_write:()=>rS,rfid_write_return:()=>lS,sensor_LTR308:()=>nS,sensor_aht11:()=>_S,sensor_bitbot_ALS:()=>US,sensor_button_get_presses:()=>WS,sensor_button_is_pressed:()=>kS,sensor_button_was_pressed:()=>HS,sensor_distance_hrsc04:()=>FC,sensor_eulerangles:()=>TS,sensor_field_strength:()=>zS,sensor_get_acceleration:()=>IS,sensor_get_temperature:()=>oS,sensor_get_the_coprocessor_version:()=>uA,sensor_hp203:()=>pS,sensor_light:()=>qS,sensor_mixbot_get_gyro:()=>GS,sensor_mixbot_patrol_calibrate:()=>xS,sensor_mixbot_patrol_value:()=>VS,sensor_mixbot_temperature:()=>BS,sensor_mixgo_LTR308:()=>JC,sensor_mixgo_button_attachInterrupt:()=>cC,sensor_mixgo_button_get_presses:()=>RC,sensor_mixgo_button_is_pressed:()=>EC,sensor_mixgo_button_was_pressed:()=>OC,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>AS,sensor_mixgo_cc_mmc5603_get_angle:()=>SS,sensor_mixgo_cc_mmc5603_get_magnetic:()=>CS,sensor_mixgo_light:()=>XC,sensor_mixgo_nova_LTR308:()=>KC,sensor_mixgo_nova_pin_near:()=>WC,sensor_mixgo_pin_near:()=>HC,sensor_mixgo_pin_near_double:()=>kC,sensor_mixgo_pin_near_single:()=>wC,sensor_mixgo_pin_pressed:()=>LC,sensor_mixgo_sant_color:()=>qC,sensor_mixgo_touch_slide:()=>fC,sensor_mixgocar42_button_attachInterrupt:()=>AC,sensor_mixgocar42_button_get_presses:()=>SC,sensor_mixgocar42_button_is_pressed:()=>gC,sensor_mixgocar42_button_was_pressed:()=>CC,sensor_mixgocar_battery_left:()=>bS,sensor_mixgocar_pin_near:()=>XS,sensor_mixgocar_pin_near_line:()=>YS,sensor_mixgocar_pin_near_state_change:()=>yS,sensor_mixgoce_pin_pressed:()=>NC,sensor_mixgoce_temperature:()=>NS,sensor_mixgome_temperature:()=>LS,sensor_mpython_pin_pressed:()=>DC,sensor_mpython_qmi8658_get_gyro:()=>DS,sensor_mpython_qmi8658_temperature:()=>fS,sensor_onboard_compass_reset:()=>gS,sensor_onboard_mpu9250_calibrate_compass:()=>OS,sensor_onboard_mpu9250_field_strength:()=>cS,sensor_onboard_mpu9250_gesture:()=>MS,sensor_onboard_mpu9250_get_acceleration:()=>hS,sensor_onboard_mpu9250_get_gyro:()=>ES,sensor_onboard_mpu9250_get_magnetic:()=>mS,sensor_onboard_mpu9250_temperature:()=>RS,sensor_pin_near:()=>JS,sensor_pin_pressed:()=>KS,sensor_read:()=>ZS,sensor_rm_acc:()=>vS,sensor_rm_battery_left:()=>PS,sensor_rm_pin_near_double:()=>FS,sensor_rtc_init:()=>tS,sensor_sound:()=>sS,sensor_temperature:()=>jS,simulated_light_sensor:()=>rA});var H={};t.r(H),t.d(H,{serial_any:()=>RA,serial_begin:()=>AA,serial_print:()=>MA,serial_print_byte:()=>TA,serial_print_hex:()=>mA,serial_println:()=>hA,serial_read_from_ai:()=>XA,serial_readline:()=>cA,serial_readstr:()=>OA,serial_readstr_until:()=>gA,serial_receive_data_event:()=>EA,serial_send_to_ai:()=>YA,serial_softserial:()=>SA,serial_softserial_new:()=>CA,system_input:()=>LA,system_print:()=>NA,system_print_container:()=>PA,system_print_end:()=>fA,system_print_inline:()=>DA,system_print_item:()=>vA,system_print_many:()=>FA});var W={};t.r(W),t.d(W,{Panic_with_status_code:()=>VA,Timer_init:()=>$A,base_delay:()=>eL,controls_delay:()=>xA,controls_delay_new:()=>bA,controls_millis:()=>GA,controls_uname:()=>wA,raw_block:()=>UA,reset:()=>BA,set_system_timer:()=>JA,system_bitbot_shutdown:()=>jA,system_machine_reset:()=>zA,system_ticks_diff:()=>WA,system_timer:()=>HA,system_timer_init:()=>KA,system_wdt_feed:()=>QA,system_wdt_init:()=>qA,time_ticks_diff:()=>tL,timer:()=>kA,timer2:()=>ZA});var K={};t.r(K),t.d(K,{Air_daily_content:()=>ML,Air_now_content:()=>aL,Geo_moon_content:()=>mL,Geo_sun_content:()=>hL,Life_suggestion_content:()=>rL,Location_search_content:()=>dL,Tide_daily_content:()=>lL,WEATHER_DAILY:()=>sL,WEATHER_HOUR:()=>_L,WEATHER_NOW:()=>nL,Weather_alarm_content:()=>uL,Weather_daily:()=>IL,Weather_daily_content:()=>TL,Weather_now:()=>oL,Weather_now_content:()=>pL});var J={};t.r(J),t.d(J,{PIN_init:()=>ON,actuator_extern_get_led_bright:()=>BL,actuator_extern_get_led_state:()=>GL,actuator_extern_led_bright:()=>VL,actuator_extern_led_brightness:()=>UL,actuator_ms32006_dcmotor:()=>AL,actuator_ms32006_init:()=>SL,actuator_ms32006_stepper:()=>LL,actuator_neopixel_init:()=>wL,actuator_neopixel_rgb:()=>WL,actuator_neopixel_rgb_all:()=>kL,actuator_neopixel_rgb_show_all_chase:()=>KL,actuator_neopixel_rgb_show_all_rainbow:()=>JL,actuator_neopixel_write:()=>HL,actuator_use_uart_init:()=>qL,backstage_esp32_music_play_list:()=>yL,esp32_music_get_tempo_extern:()=>YL,esp32_music_pitch:()=>DL,esp32_music_pitch_init:()=>NL,esp32_music_pitch_with_time:()=>fL,esp32_music_play_list:()=>XL,esp32_music_reset_extern:()=>bL,esp32_music_set_tempo_extern:()=>vL,esp32_music_stop:()=>FL,esp32_set_music_volume:()=>PL,mixbot_actuator_extern_get_addr:()=>mN,mixbot_actuator_extern_set_addr:()=>EN,mixbot_addr_extern:()=>sN,parrot_PIN_init:()=>CN,parrot_move_speed:()=>SN,pin_led_bright:()=>RN,player_play_music:()=>ZL,player_set_mode:()=>$L,player_set_play:()=>zL,player_set_volume:()=>jL,player_whether_stop:()=>QL,robot_led_extern:()=>aN,robot_led_extern_get_value:()=>uN,robot_motor_extern:()=>_N,robot_motor_extern_get_speed:()=>oN,robot_servo_extern_absolute_run:()=>IN,robot_servo_extern_get_status:()=>rN,robot_servo_extern_relative_continue:()=>hN,robot_servo_extern_relative_origin:()=>TN,robot_servo_extern_relative_run:()=>MN,robot_servo_extern_stop:()=>dN,robot_servo_extern_stop_mode:()=>lN,robot_traffic_light_extern:()=>pN,servo_PIN_init:()=>cN,servo_get_angle:()=>gL,servo_get_speed:()=>CL,servo_init:()=>EL,servo_move:()=>xL,servo_move_angle:()=>gN,servo_set_angle:()=>RL,servo_set_speed:()=>cL,servo_speed_360:()=>OL,syn6288_builtin_voice:()=>iN,syn6288_get_voice:()=>eN,syn6288_set_voice:()=>tN,syn6288_tts_play:()=>nN});var q={};t.r(q),t.d(q,{actuator_dc_motor:()=>ZN,actuator_dc_motor_stop:()=>tD,actuator_get_led_bright:()=>bN,actuator_get_led_state:()=>xN,actuator_led_bright:()=>yN,actuator_led_brightness:()=>VN,actuator_mixbot_buzzer_on_off:()=>_D,actuator_mixgo_nova_mic_get:()=>rD,actuator_mixgo_nova_mic_set:()=>uD,actuator_mixgo_nova_onboard_music_pitch:()=>hD,actuator_mixgo_nova_onboard_music_stop:()=>mD,actuator_mixgo_nova_play_audio:()=>TD,actuator_mixgo_nova_play_online_audio:()=>MD,actuator_mixgo_nova_record_audio:()=>ID,actuator_mixgo_nova_voice_get:()=>dD,actuator_mixgo_nova_voice_set:()=>lD,actuator_mixgo_zero_led_color:()=>BN,actuator_onboard_neopixel_rgb:()=>KN,actuator_onboard_neopixel_rgb_all:()=>JN,actuator_onboard_neopixel_rgb_show_all_chase:()=>qN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>QN,actuator_onboard_neopixel_write:()=>WN,actuator_stepper_keep:()=>jN,actuator_stepper_stop:()=>$N,analog_ble_keyboard_init:()=>fD,analog_ble_keyboard_input:()=>vD,analog_ble_keyboard_mouse_init:()=>GD,analog_ble_keyboard_mouse_input:()=>HD,analog_ble_keyboard_mouse_send_battery:()=>kD,analog_ble_keyboard_mouse_str:()=>WD,analog_ble_keyboard_send_battery:()=>XD,analog_ble_keyboard_str:()=>YD,analog_ble_mouse_init:()=>yD,analog_ble_mouse_input:()=>VD,analog_ble_mouse_keyboard_input:()=>KD,analog_ble_mouse_send_battery:()=>BD,analog_keyboard_input:()=>gD,analog_keyboard_str:()=>ND,analog_mouse_input:()=>AD,backstage_onboard_music_play_list:()=>PN,bitbot_motor:()=>aD,bitbot_move:()=>oD,bitbot_stop:()=>pD,ble_keyboard_connect:()=>PD,ble_keyboard_get_mac:()=>FD,ble_keyboard_mouse_connect:()=>wD,ble_keyboard_mouse_get_mac:()=>UD,ble_mouse_connect:()=>xD,ble_mouse_get_mac:()=>bD,cc_number:()=>GN,educore_ble_keyboard_input:()=>nf,educore_ble_sensor_connected:()=>ef,educore_ble_sensor_init:()=>tf,educore_buzzer:()=>JD,educore_buzzer_play_tone:()=>qD,educore_buzzer_play_tone_time:()=>QD,educore_buzzer_stop:()=>zD,educore_neopixel_clear:()=>ZD,educore_neopixel_rgb:()=>$D,educore_rgb_light:()=>jD,esp32_music_get_tempo:()=>LN,esp32_music_reset:()=>vN,esp32_music_set_tempo:()=>AN,esp32_onboard_music_pitch:()=>NN,esp32_onboard_music_pitch_with_time:()=>DN,esp32_onboard_music_play_list:()=>FN,esp32_onboard_music_stop:()=>fN,general_key:()=>SD,general_key_tuple:()=>DD,get_keyboard_light:()=>sf,get_power_output:()=>OD,ledswitch:()=>XN,mixbot_motor:()=>sD,mixbot_motor_status:()=>eD,mixbot_move:()=>iD,mixbot_stop:()=>nD,mouse_key:()=>LD,number:()=>YN,record_audio:()=>of,rm_actuator_get_led_bright:()=>wN,rm_actuator_get_led_state:()=>kN,rm_actuator_led_bright:()=>UN,rm_actuator_led_brightness:()=>HN,rm_motor:()=>zN,set_all_power_output:()=>RD,set_microphone_amplification:()=>_f,set_music_volume:()=>pf,set_part_power_output:()=>cD,set_power_output:()=>ED,special_key:()=>CD});var Q={};t.r(Q),t.d(Q,{ai_sensor_20object:()=>Gf,ai_sensor_ailocal_class:()=>ff,ai_sensor_ailocal_class_result:()=>Ff,ai_sensor_ailocal_train:()=>Df,ai_sensor_asr_recognize:()=>yf,ai_sensor_audio_play:()=>vf,ai_sensor_audio_record:()=>Pf,ai_sensor_barcode:()=>Tf,ai_sensor_circle:()=>Rf,ai_sensor_classifier_faces:()=>Bf,ai_sensor_color:()=>Sf,ai_sensor_color_chases:()=>Nf,ai_sensor_color_chases_result:()=>Lf,ai_sensor_config:()=>rf,ai_sensor_face:()=>Vf,ai_sensor_find_20objects:()=>Uf,ai_sensor_find_barcodes:()=>Mf,ai_sensor_find_circles:()=>cf,ai_sensor_find_colors:()=>Af,ai_sensor_find_licenseplates:()=>xf,ai_sensor_find_lines:()=>Of,ai_sensor_find_qrcodes:()=>If,ai_sensor_find_rects:()=>Cf,ai_sensor_find_tags:()=>mf,ai_sensor_licenseplate:()=>bf,ai_sensor_line:()=>Ef,ai_sensor_qrcode:()=>df,ai_sensor_qrcode_lite:()=>uf,ai_sensor_rect:()=>gf,ai_sensor_rgb:()=>lf,ai_sensor_tag:()=>hf,ai_sensor_use_uart_init:()=>af,ai_sensor_yolo_recognize:()=>Yf,ai_sensor_yolo_recognize_result:()=>Xf});var z={};t.r(z),t.d(z,{MICROPYTHON_AI_Speech_asr:()=>Hf,MICROPYTHON_AI_Speech_unit:()=>kf,MICROPYTHON_AI_client:()=>wf});var j={};t.r(j),t.d(j,{mpython_blynk_app_data:()=>iF,mpython_blynk_app_notify:()=>jf,mpython_blynk_email:()=>nF,mpython_blynk_get_timers:()=>Zf,mpython_blynk_on_connected:()=>qf,mpython_blynk_on_disconnected:()=>Jf,mpython_blynk_run:()=>zf,mpython_blynk_sensor_data_to_app:()=>eF,mpython_blynk_set_property:()=>sF,mpython_blynk_setup:()=>_F,mpython_blynk_stop_timers:()=>$f,mpython_blynk_sync_virtual:()=>Kf,mpython_blynk_terminal_widget_vpin:()=>Wf,mpython_blynktimer:()=>tF,mpython_blynktimer_run:()=>Qf});var $={};t.r($),t.d($,{cc_g1_read_bat:()=>oF,cc_g1_read_joystick:()=>pF,cc_g1_read_key:()=>aF,cc_g1_turnoff:()=>uF});var Z={};t.r(Z),t.d(Z,{ce_go_dc_motor:()=>mF,ce_go_get_led_bright:()=>dF,ce_go_get_led_state:()=>IF,ce_go_hall_attachInterrupt:()=>EF,ce_go_hall_data:()=>RF,ce_go_hall_initialize:()=>OF,ce_go_led_bright:()=>lF,ce_go_led_brightness:()=>TF,ce_go_light_number:()=>rF,ce_go_pin_light:()=>AF,ce_go_pin_near:()=>gF,ce_go_pin_near_line:()=>cF,ce_go_pin_near_state_change:()=>CF,ce_go_stepper_keep:()=>MF,ce_go_stepper_stop:()=>hF,educore_car:()=>LF,educore_car_pin_near:()=>FF,educore_car_pin_near_line:()=>fF,educore_car_stepper_keep:()=>NF,educore_car_stepper_stop:()=>DF,sensor_mixgome_eulerangles:()=>SF});var tt={};t.r(tt),t.d(tt,{communicate_bluetooth_central_init:()=>lP,communicate_bluetooth_connect:()=>TP,communicate_bluetooth_disconnect:()=>MP,communicate_bluetooth_handle:()=>cP,communicate_bluetooth_is_connected:()=>mP,communicate_bluetooth_mac:()=>hP,communicate_bluetooth_peripheral_init:()=>dP,communicate_bluetooth_recv:()=>RP,communicate_bluetooth_recv_only:()=>OP,communicate_bluetooth_scan:()=>IP,communicate_bluetooth_send:()=>EP,communicate_espnow_init:()=>gP,communicate_espnow_init_new:()=>CP,communicate_i2c_available:()=>VF,communicate_i2c_init:()=>YF,communicate_i2c_master_read:()=>xF,communicate_i2c_onboard:()=>PF,communicate_i2c_read:()=>XF,communicate_i2c_scan:()=>bF,communicate_i2c_write:()=>yF,communicate_ir_recv_init:()=>eP,communicate_ir_send_init:()=>oP,communicate_ow_init:()=>QF,communicate_ow_read:()=>$F,communicate_ow_reset:()=>jF,communicate_ow_scan:()=>zF,communicate_ow_select:()=>tP,communicate_ow_write:()=>ZF,communicate_spi_buffer:()=>wF,communicate_spi_init:()=>GF,communicate_spi_onboard:()=>vF,communicate_spi_read:()=>kF,communicate_spi_read_output:()=>HF,communicate_spi_readinto:()=>WF,communicate_spi_readinto_output:()=>KF,communicate_spi_set:()=>UF,communicate_spi_write:()=>JF,communicate_spi_write_readinto:()=>qF,espnow_radio_channel:()=>fP,espnow_radio_channel_new:()=>PP,espnow_radio_on_off:()=>vP,espnow_radio_rec:()=>XP,espnow_radio_recv:()=>bP,espnow_radio_recv_certain_msg:()=>xP,espnow_radio_recv_certain_msg_new:()=>BP,espnow_radio_recv_msg:()=>yP,espnow_radio_recv_new:()=>VP,espnow_radio_send:()=>YP,espnow_radio_txpower:()=>FP,i2c_slave_onreceive:()=>BF,internal_variable:()=>iP,ir_recv_timeout:()=>_P,ir_transmit_busy:()=>rP,ir_transmit_conventional_data:()=>pP,ir_transmit_raw_code:()=>uP,ir_transmit_study_code:()=>aP,ir_whether_recv:()=>sP,lora_init:()=>GP,lora_packet:()=>UP,lora_recv:()=>kP,lora_send:()=>wP,network_espnow_info:()=>AP,network_espnow_mac:()=>SP,network_espnow_recv:()=>LP,network_espnow_recv_handle:()=>DP,network_espnow_send:()=>NP,recv_fun:()=>nP,urequests_attribute:()=>WP,urequests_get:()=>HP,urequests_method:()=>KP});var et={};t.r(et),t.d(et,{display_animate:()=>mv,display_circle:()=>Ev,display_color_seclet:()=>fv,display_draw_4strings:()=>rv,display_fill:()=>hv,display_lcd_use_i2c_init:()=>yv,display_line:()=>Iv,display_line_arbitrarily:()=>lv,display_matrix_extern_bright_point:()=>nv,display_matrix_extern_bright_screen:()=>_v,display_matrix_extern_clear:()=>tv,display_matrix_extern_get_pixel:()=>iv,display_matrix_extern_get_screen_pixel:()=>sv,display_matrix_extern_image_builtins:()=>ov,display_matrix_extern_scroll_string:()=>$P,display_matrix_extern_scroll_string_delay:()=>ZP,display_matrix_extern_shift:()=>ev,display_matrix_extern_show_frame_string:()=>zP,display_matrix_extern_show_frame_string_delay:()=>jP,display_matrix_extern_show_image:()=>qP,display_matrix_extern_show_image_or_string_delay:()=>QP,display_matrix_use_i2c_init:()=>JP,display_oled_drawPixel:()=>cv,display_oled_showBitmap:()=>Rv,display_oled_use_i2c_init:()=>Gv,display_onoff:()=>Tv,display_rect:()=>dv,display_tm1650_power:()=>Cv,display_tm1650_set_brightness:()=>Lv,display_tm1650_show_dot:()=>Av,display_tm1650_show_num:()=>Sv,display_tm_use_i2c_init:()=>gv,display_triangle:()=>Ov,display_use_i2c_init:()=>uv,extern_oled_bright_point:()=>$v,extern_oled_clear:()=>Qv,extern_oled_get_pixel:()=>jv,extern_oled_hvline:()=>tY,extern_oled_line:()=>eY,extern_oled_scroll_string:()=>Jv,extern_oled_scroll_string_delay:()=>qv,extern_oled_shape_rect:()=>Zv,extern_oled_shift:()=>zv,extern_oled_show_frame_string:()=>Wv,extern_oled_show_frame_string_delay:()=>Kv,extern_oled_show_image:()=>Uv,extern_oled_show_image_or_string_delay:()=>Hv,extern_oled_show_image_xy:()=>wv,extern_oled_show_string:()=>kv,image_shift:()=>Mv,lcd_backlight:()=>Vv,lcd_clear:()=>Bv,lcd_print_string:()=>xv,lcd_show_image_or_string_delay:()=>bv,matrix_extern_image_arithmetic:()=>pv,matrix_extern_image_invert:()=>av,tft_fill:()=>Yv,tft_line_arbitrarily:()=>Xv,tft_scroll_string_delay:()=>vv,tft_show_frame_string_delay:()=>Pv,tft_show_image_or_string_delay:()=>Fv,tft_show_image_xy:()=>Dv,tft_use_spi_init:()=>Nv});var it={};t.r(it),t.d(it,{bitbot_display_bitmap_create:()=>qY,bitbot_display_image_create:()=>JY,display_available:()=>MY,display_bitmap_create:()=>IY,display_bright_point:()=>RY,display_bright_screen:()=>gY,display_clear:()=>TY,display_get_pixel:()=>OY,display_get_screen_pixel:()=>cY,display_image_builtins:()=>rY,display_image_builtins_all:()=>lY,display_image_create:()=>dY,display_scroll_string:()=>oY,display_scroll_string_delay:()=>pY,display_scroll_way:()=>aY,display_shift:()=>EY,display_show_frame_string:()=>sY,display_show_frame_string_delay:()=>_Y,display_show_image:()=>iY,display_show_image_or_string_delay:()=>nY,draw_pointer:()=>lX,image_arithmetic:()=>hY,image_invert:()=>mY,mixbot_display_bitmap_create:()=>wY,mixbot_display_bright_screen:()=>WY,mixbot_display_get_ambientbright:()=>HY,mixbot_display_get_screen_pixel:()=>kY,mixbot_display_image_create:()=>UY,mixbot_display_rotate:()=>KY,mixgo_display_bitmap_create:()=>fY,mixgo_display_image_create_new:()=>DY,mixgome_display_bitmap_create:()=>SY,mixgome_display_font:()=>NY,mixgome_display_image_create:()=>CY,mixgomini_display_bitmap_create:()=>LY,mixgomini_display_image_create:()=>AY,mpython_display_hvline:()=>BY,mpython_display_line:()=>GY,mpython_display_shape_rect:()=>VY,mpython_pbm_image:()=>FY,nova_draw_pointer:()=>dX,onboard_oled_bright_point:()=>xY,onboard_oled_scroll_string_delay:()=>bY,onboard_oled_show_frame_string_delay:()=>yY,onboard_oled_show_image:()=>PY,onboard_oled_show_image_or_string_delay:()=>XY,onboard_oled_show_image_xy:()=>vY,onboard_oled_show_string:()=>YY,onboard_tft_bright_point:()=>nX,onboard_tft_bright_screen:()=>RX,onboard_tft_clear:()=>cX,onboard_tft_clock_clear:()=>uX,onboard_tft_clock_draw:()=>aX,onboard_tft_clock_get_rtctime:()=>oX,onboard_tft_clock_init:()=>_X,onboard_tft_clock_set_time:()=>pX,onboard_tft_display_hvline:()=>tX,onboard_tft_display_line:()=>eX,onboard_tft_display_shape_circle:()=>rX,onboard_tft_display_shape_rect:()=>ZY,onboard_tft_fill:()=>sX,onboard_tft_get_pixel:()=>iX,onboard_tft_get_screen_pixel:()=>OX,onboard_tft_scroll_string_delay:()=>uY,onboard_tft_shift:()=>EX,onboard_tft_show_frame_string:()=>mX,onboard_tft_show_frame_string_delay:()=>$Y,onboard_tft_show_image:()=>hX,onboard_tft_show_image_or_string_delay:()=>jY,onboard_tft_show_image_xy:()=>QY,onboard_tft_show_image_xy_direct:()=>zY,onboard_tft_show_qrcode:()=>TX,onboard_tft_show_qrcode_details:()=>MX,onboard_tft_show_texts:()=>IX});var nt={};t.r(nt),t.d(nt,{factory_block:()=>fX,factory_block_return:()=>FX,factory_block_return_with_textarea:()=>vX,factory_block_with_textarea:()=>PX,factory_callMethod_noreturn:()=>NX,factory_callMethod_return:()=>DX,factory_declare:()=>LX,factory_from_import:()=>gX,factory_function_noreturn:()=>SX,factory_function_return:()=>AX,factory_import:()=>CX,folding_block:()=>YX});var st={};t.r(st),t.d(st,{inout_analog_atten:()=>qX,inout_analog_read:()=>UX,inout_analog_read_init:()=>JX,inout_analog_write:()=>VX,inout_analog_write_init:()=>KX,inout_analog_write_set:()=>BX,inout_digital_init:()=>HX,inout_digital_read:()=>bX,inout_digital_write:()=>yX,inout_highlow:()=>XX,inout_pin_attachInterrupt:()=>kX,inout_pin_pressed:()=>wX,inout_pin_pressed_init:()=>QX,inout_pwm_analog_write:()=>xX,inout_pwm_analog_write_init:()=>WX,inout_pwm_analog_write_set_freq:()=>GX});var _t={};t.r(_t),t.d(_t,{IOT_CONNECT_OLLAMA:()=>Sy,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>My,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Iy,IOT_EMQX_PING:()=>hy,IOT_FORMATTING:()=>ly,IOT_FORMAT_STRING:()=>dy,IOT_MIXIO_NTP:()=>my,IOT_MIXIO_PUBLISH:()=>ny,IOT_MIXIO_PUBLISHEX:()=>sy,IOT_MIXIO_SUBSCRIBE:()=>_y,iot_client_onboard:()=>Ey,iot_connect_ollama:()=>Cy,iot_connect_openai:()=>Ay,iot_http_client:()=>Oy,iot_http_data:()=>Ry,iot_mixio_check:()=>ay,iot_mixio_connect:()=>iy,iot_mixio_connect_only:()=>py,iot_mixio_disconnect:()=>oy,iot_mixio_format_msg:()=>ry,iot_mixio_format_topic:()=>uy,iot_mixly_key:()=>Ty,iot_mqtt_client:()=>cy,iot_mqtt_data:()=>gy,iot_onenet_check:()=>ty,iot_onenet_connect:()=>jX,iot_onenet_disconnect:()=>$X,iot_onenet_publish:()=>ey,iot_onenet_publish_dict:()=>ZX,iot_tiny_web_db_count:()=>Yy,iot_tiny_web_db_delete:()=>yy,iot_tiny_web_db_get:()=>vy,iot_tiny_web_db_init:()=>fy,iot_tiny_web_db_init_with_mqtt:()=>Fy,iot_tiny_web_db_search:()=>Xy,iot_tiny_web_db_update:()=>Py,iot_wifi_connect:()=>zX,ollama_empty_history:()=>Dy,use_ollama_llm_to_chat:()=>Ly,use_ollama_llm_to_chat_return:()=>Ny});var ot={};t.r(ot),t.d(ot,{educore_mqtt_connect:()=>Ib,educore_mqtt_connect_success:()=>mb,educore_mqtt_subscribe_message:()=>Tb,educore_mqtt_topic_publish:()=>hb,educore_mqtt_topic_subscribe:()=>Mb,educore_wifi_connect:()=>db,network_ap_connect:()=>Hy,network_connect:()=>xy,network_get_connect:()=>By,network_get_wifi:()=>ky,network_init:()=>by,network_is_active:()=>wy,network_open:()=>Uy,network_scan:()=>Wy,network_server:()=>Ky,network_socket_accept:()=>jy,network_socket_bind:()=>qy,network_socket_close:()=>nb,network_socket_connect:()=>Qy,network_socket_init:()=>Jy,network_socket_listen:()=>zy,network_socket_readline:()=>$y,network_socket_receive:()=>Zy,network_socket_receive_from:()=>eb,network_socket_send:()=>tb,network_socket_send_to:()=>ib,network_stop:()=>Gy,network_wifi_connect:()=>Vy,ntptime_address:()=>ab,ntptime_time:()=>pb,requests_attribute:()=>_b,requests_attribute2:()=>rb,requests_get:()=>sb,requests_get2:()=>ub,requests_method:()=>ob,requests_post:()=>lb});var pt={};t.r(pt),t.d(pt,{pe_g1_battery_left:()=>Ob,pe_g1_dc_motor:()=>Rb,pe_g1_dc_motor_speed:()=>cb,pe_g1_servo_get_angle:()=>Sb,pe_g1_servo_get_speed:()=>Ab,pe_g1_servo_set_angle:()=>gb,pe_g1_servo_set_speed:()=>Cb,pe_g1_use_i2c_init:()=>Eb});var at={};t.r(at),t.d(at,{CI130X_BROADCAST:()=>qb,CI130X_GET_THE_RECOGNIZED_CMD:()=>Jb,CI130X_GET_WHETHER_IDENTIFY:()=>Kb,CI130X_IDENTIFY_AND_SAVE:()=>Wb,CI130X_SET_SYSTEM_CMD:()=>Qb,HCSR04:()=>Nx,PS2_Button:()=>Fx,PS2_Buttons:()=>Px,PS2_Buttons_new:()=>Bx,PS2_State:()=>vx,PS2_init:()=>Dx,PS2_init_new:()=>xx,PS2_stk:()=>Yx,PS2_stk_new:()=>Gx,PS2_vibration:()=>fx,PS2_vibration_new:()=>Vx,RTC_get_time:()=>yx,RTC_set_date:()=>Yb,RTC_set_datetime:()=>Xx,RTC_set_time:()=>vb,camera_sensor_init:()=>mV,camera_sensor_result:()=>EV,column_tube_foot:()=>gV,define_keyboards:()=>CV,educore_body_sensor:()=>pV,educore_button_sensor_extern:()=>lV,educore_camera_sensor:()=>hV,educore_infrared_sensor:()=>rV,educore_soilhum_sensor:()=>aV,educore_temp_sensor:()=>MV,educore_temphum_sensor:()=>uV,educore_ultrasonic_sensor:()=>IV,esp32_s2_weather_init:()=>Cx,esp32_s2_weather_rain:()=>Ax,esp32_s2_weather_wd:()=>Sx,esp32_s2_weather_ws:()=>Lx,extern_rfid_read:()=>lx,extern_rfid_readcontent:()=>Ix,extern_rfid_readid:()=>dx,extern_rfid_status:()=>hx,extern_rfid_write:()=>Tx,extern_rfid_write_return:()=>Mx,get_keboards_value:()=>AV,gnss_get_data:()=>kx,gnss_have_data:()=>Hx,init_init_rotary_encoder:()=>LV,init_matrix_keyboard:()=>SV,interaction_whether_to_interaction:()=>kb,interaction_whether_to_interaction_SANT:()=>Hb,line_tube_foot:()=>cV,mixbot_sensor_extern_get_addr:()=>tV,mixbot_sensor_extern_set_addr:()=>eV,pm25_get_data:()=>wx,radar_set_DETECTION_THRESHOLD:()=>Ub,radar_set_DETECTION_THRESHOLD_SANT:()=>wb,robot_button_extern_get_value:()=>Kx,robot_color_extern_get_value:()=>jx,robot_infrared_extern_get_value:()=>qx,robot_infrared_extern_grey_get_value:()=>Qx,robot_potentiometer_extern_get_value:()=>zx,robot_sonar_extern_get_value:()=>$x,robot_sonar_extern_led:()=>Zx,robot_touch_extern_get_value:()=>Jx,rotary_key:()=>NV,sensor_APDS9960_extern:()=>jb,sensor_DS18X20:()=>oV,sensor_LTR308_extern:()=>$b,sensor_LTR390UV_extern:()=>_x,sensor_MAX30102_extern:()=>zb,sensor_QMC5883L_extern:()=>ox,sensor_VL530LX_extern:()=>ux,sensor_aht11_extern:()=>ax,sensor_bmp:()=>Vb,sensor_dht11:()=>bx,sensor_distance_hrsc04:()=>Pb,sensor_hp203_extern:()=>Zb,sensor_ltr381_extern:()=>nx,sensor_mixgo_extern_button_attachInterrupt:()=>fb,sensor_mixgo_extern_button_get_presses:()=>Db,sensor_mixgo_extern_button_is_pressed:()=>Lb,sensor_mixgo_extern_button_was_pressed:()=>Nb,sensor_mixgo_extern_light:()=>Xb,sensor_mixgo_extern_pin_near:()=>bb,sensor_mixgo_extern_sound:()=>yb,sensor_mixgoce_hot_wheel_degrees:()=>gx,sensor_mixgoce_hot_wheel_is_touched:()=>cx,sensor_mpu9250_attachGestureInterrupt:()=>Fb,sensor_ms5611_extern:()=>ex,sensor_ms5611_extern_altitude:()=>ix,sensor_read_humiture:()=>dV,sensor_rtc_init:()=>xb,sensor_sht:()=>Bb,sensor_shtc3_extern:()=>px,sensor_spl06_001_extern:()=>tx,sensor_ucs12071_extern:()=>sx,sensor_use_i2c_init:()=>Gb,sensor_use_spi_init:()=>rx,sensor_use_uart_init:()=>Ux,sensor_weather_solo_init:()=>iV,sensor_weather_solo_rain:()=>_V,sensor_weather_solo_wd:()=>nV,sensor_weather_solo_ws:()=>sV,sensor_weigh_init:()=>OV,tvoc_get_data:()=>Wx,ultrasonic_sensor_read_distance:()=>TV,weather_data:()=>mx,weather_have_data:()=>Ex,weather_set_label:()=>Rx,weather_uart_mixio:()=>Ox,weigh_sensor_get_weight:()=>RV});var ut={};t.r(ut),t.d(ut,{HCSR04:()=>bV,bitbot_als_num:()=>sG,dht11:()=>dG,educore_button_sensor:()=>OG,educore_button_was_pressed:()=>RG,educore_gyroscope_sensor:()=>hG,educore_gyroscope_sensor_read:()=>mG,educore_gyroscope_sensor_shake:()=>EG,educore_light_sensor:()=>MG,educore_rfid_sensor:()=>cG,educore_rfid_sensor_scan:()=>gG,educore_rfid_sensor_scan_data:()=>CG,educore_voice_sensor:()=>IG,number1:()=>xV,number2:()=>VV,number3:()=>BV,number4:()=>GV,number5:()=>UV,number6:()=>wV,number7:()=>kV,onboard_RTC_get_time:()=>XB,onboard_RTC_get_time_str:()=>xB,onboard_RTC_get_timestamp:()=>yB,onboard_RTC_get_timetuple_to_str:()=>VB,onboard_RTC_set_datetime:()=>vB,onboard_RTC_settime_string:()=>YB,onboard_RTC_timestamp_totuple:()=>bB,rfid_readcontent:()=>_B,rfid_readid:()=>sB,rfid_status:()=>aB,rfid_write:()=>oB,rfid_write_return:()=>pB,sensor_LTR308:()=>ZV,sensor_adxl345_get_acceleration:()=>mB,sensor_aht11:()=>iB,sensor_bitbot_ALS:()=>nG,sensor_button_get_presses:()=>pG,sensor_button_is_pressed:()=>_G,sensor_button_was_pressed:()=>oG,sensor_compass_reset:()=>CB,sensor_ds18x20:()=>jV,sensor_eulerangles:()=>rB,sensor_get_acceleration:()=>uB,sensor_get_temperature:()=>nB,sensor_get_the_coprocessor_version:()=>SG,sensor_hp203:()=>eB,sensor_light:()=>lG,sensor_lm35:()=>$V,sensor_mixbot_get_gyro:()=>iG,sensor_mixbot_patrol_calibrate:()=>ZB,sensor_mixbot_patrol_value:()=>tG,sensor_mixbot_temperature:()=>eG,sensor_mixgo_LTR308:()=>qV,sensor_mixgo_button_attachInterrupt:()=>PV,sensor_mixgo_button_get_presses:()=>FV,sensor_mixgo_button_is_pressed:()=>DV,sensor_mixgo_button_was_pressed:()=>fV,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>UB,sensor_mixgo_cc_mmc5603_get_angle:()=>GB,sensor_mixgo_cc_mmc5603_get_magnetic:()=>BB,sensor_mixgo_light:()=>rG,sensor_mixgo_nova_LTR308:()=>zV,sensor_mixgo_nova_pin_near:()=>JV,sensor_mixgo_pin_near:()=>KV,sensor_mixgo_pin_near_double:()=>WV,sensor_mixgo_pin_near_single:()=>HV,sensor_mixgo_pin_pressed:()=>MB,sensor_mixgo_sant_color:()=>QV,sensor_mixgo_touch_slide:()=>TB,sensor_mixgocar42_button_attachInterrupt:()=>yV,sensor_mixgocar42_button_get_presses:()=>XV,sensor_mixgocar42_button_is_pressed:()=>vV,sensor_mixgocar42_button_was_pressed:()=>YV,sensor_mixgocar_battery_left:()=>$B,sensor_mixgocar_pin_near:()=>zB,sensor_mixgocar_pin_near_line:()=>QB,sensor_mixgocar_pin_near_state_change:()=>jB,sensor_mixgoce_pin_pressed:()=>IB,sensor_mixgoce_temperature:()=>kB,sensor_mixgome_temperature:()=>wB,sensor_mpu9250_calibrate_compass:()=>RB,sensor_mpu9250_field_strength:()=>gB,sensor_mpu9250_gesture:()=>lB,sensor_mpu9250_get_acceleration:()=>dB,sensor_mpu9250_get_gyro:()=>OB,sensor_mpu9250_get_magnetic:()=>EB,sensor_mpu9250_temperature:()=>cB,sensor_mpython_pin_pressed:()=>hB,sensor_mpython_qmi8658_get_gyro:()=>HB,sensor_mpython_qmi8658_temperature:()=>WB,sensor_onboard_compass_reset:()=>PB,sensor_onboard_mpu9250_calibrate_compass:()=>DB,sensor_onboard_mpu9250_field_strength:()=>FB,sensor_onboard_mpu9250_gesture:()=>SB,sensor_onboard_mpu9250_get_acceleration:()=>AB,sensor_onboard_mpu9250_get_gyro:()=>NB,sensor_onboard_mpu9250_get_magnetic:()=>LB,sensor_onboard_mpu9250_temperature:()=>fB,sensor_pin_near:()=>uG,sensor_pin_pressed:()=>aG,sensor_read:()=>TG,sensor_rm_acc:()=>qB,sensor_rm_battery_left:()=>JB,sensor_rm_pin_near_double:()=>KB,sensor_sound:()=>tB,simulated_light_sensor:()=>AG});var rt={};t.r(rt),t.d(rt,{serial_any:()=>FG,serial_print:()=>LG,serial_print_byte:()=>NG,serial_print_hex:()=>fG,serial_println:()=>DG,serial_read_from_ai:()=>UG,serial_readline:()=>vG,serial_readstr:()=>PG,serial_send_to_ai:()=>GG,serial_softserial:()=>YG,serial_softserial_new:()=>XG,system_input:()=>yG,system_print:()=>bG,system_print_end:()=>VG,system_print_inline:()=>xG,system_print_many:()=>BG});var lt={};t.r(lt),t.d(lt,{Panic_with_status_code:()=>ZG,Timer_init:()=>MU,base_delay:()=>EU,controls_delay:()=>sU,controls_delay_new:()=>_U,controls_end_program:()=>eU,controls_millis:()=>tU,controls_uname:()=>nU,reset:()=>iU,set_system_timer:()=>pU,system_bitbot_shutdown:()=>TU,system_device_name:()=>jG,system_device_serial_number:()=>$G,system_event_bus_source:()=>QG,system_event_bus_value:()=>zG,system_machine_reset:()=>IU,system_on_event:()=>KG,system_raise_event:()=>WG,system_reset:()=>kG,system_run_in_background:()=>wG,system_ticks_diff:()=>aU,system_timer:()=>rU,system_timer_init:()=>uU,system_timestamp:()=>JG,system_value:()=>qG,system_wait:()=>HG,system_wdt_feed:()=>dU,system_wdt_init:()=>lU,time_ticks_diff:()=>mU,timer:()=>oU,timer2:()=>hU});var dt={};t.r(dt),t.d(dt,{Air_daily_content:()=>PU,Air_now_content:()=>SU,Geo_moon_content:()=>YU,Geo_sun_content:()=>vU,Life_suggestion_content:()=>LU,Location_search_content:()=>DU,Tide_daily_content:()=>NU,WEATHER_DAILY:()=>RU,WEATHER_HOUR:()=>cU,WEATHER_NOW:()=>OU,Weather_alarm_content:()=>AU,Weather_daily:()=>fU,Weather_daily_content:()=>FU,Weather_now:()=>gU,Weather_now_content:()=>CU});var It={};t.r(It),t.d(It,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>bU});var Tt={};t.r(Tt),t.d(Tt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>VU});var Mt={};t.r(Mt),t.d(Mt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>GU});var ht={};t.r(ht),t.d(ht,{controls_pin_attachInterrupt:()=>ow,inout_analog_atten:()=>zU,inout_analog_write:()=>qU,inout_analog_write_init:()=>tw,inout_analog_write_set:()=>QU,inout_analog_write_set_freq:()=>iw,inout_digital_init:()=>ZU,inout_digital_read:()=>JU,inout_digital_write:()=>KU,inout_highlow:()=>WU,inout_pinMode:()=>nw,inout_pin_attachInterrupt:()=>$U,inout_pin_pressed:()=>jU,inout_pin_pressed_init:()=>ew,pin_pressed:()=>_w,pin_pressed_init:()=>sw});var mt={};t.r(mt),t.d(mt,{analog_input:()=>Mw,analog_output:()=>mw,espnow_channel:()=>dw,haskylens_model:()=>Iw,i2c_A_pin:()=>Ew,i2c_B_pin:()=>Ow,pins_analog:()=>Sw,pins_analog_pin:()=>Aw,pins_axis:()=>ww,pins_brightness:()=>kw,pins_builtinimg:()=>yw,pins_builtinimg_extern:()=>bw,pins_button:()=>Dw,pins_buttonB:()=>fw,pins_dac:()=>Lw,pins_dac_pin:()=>Nw,pins_digital:()=>aw,pins_digital_dot:()=>jw,pins_digital_pin:()=>uw,pins_exlcdh:()=>Gw,pins_exlcdv:()=>Uw,pins_imglist:()=>xw,pins_input_pin:()=>rw,pins_one_more:()=>zw,pins_output_pin:()=>lw,pins_playlist:()=>Vw,pins_playlist_extern:()=>Bw,pins_pwm:()=>Fw,pins_pwm_pin:()=>Pw,pins_radio_datarate:()=>Qw,pins_radio_power:()=>qw,pins_serial:()=>Xw,pins_tone_notes:()=>Jw,pins_touch:()=>Yw,pins_touch_pin:()=>vw,pins_tts_bgmusic:()=>Kw,pins_tts_builtin_music:()=>Ww,pins_tts_voice:()=>Hw,pwm_input:()=>Tw,pwm_output:()=>hw,spi_A_pin:()=>Rw,spi_B_pin:()=>cw,spi_C_pin:()=>gw,spi_D_pin:()=>Cw,timer_id_pin:()=>$w});var Et={};t.r(Et),t.d(Et,{inout_analog_atten:()=>ak,inout_analog_write:()=>ik,inout_analog_write_init:()=>pk,inout_analog_write_set:()=>nk,inout_digital_init:()=>ok,inout_digital_read:()=>ek,inout_digital_write:()=>tk,inout_highlow:()=>Zw,inout_pin_attachInterrupt:()=>_k,inout_pin_pressed:()=>sk,inout_pin_pressed_init:()=>uk});var Ot={};t.r(Ot),t.d(Ot,{analog_input:()=>Ok,analog_output:()=>ck,espnow_channel:()=>mk,haskylens_model:()=>Ek,i2c_A_pin:()=>gk,i2c_B_pin:()=>Ck,pins_analog:()=>fk,pins_analog_pin:()=>Dk,pins_axis:()=>kk,pins_brightness:()=>Kk,pins_builtinimg:()=>Vk,pins_builtinimg_extern:()=>Bk,pins_button:()=>lk,pins_buttonB:()=>dk,pins_dac:()=>Yk,pins_dac_pin:()=>vk,pins_digital:()=>rk,pins_digital_dot:()=>tH,pins_digital_pin:()=>Ik,pins_exlcdh:()=>Hk,pins_exlcdv:()=>Wk,pins_imglist:()=>Gk,pins_input_pin:()=>Tk,pins_interrupt:()=>bk,pins_one_more:()=>Zk,pins_output_pin:()=>Mk,pins_playlist:()=>Uk,pins_playlist_extern:()=>wk,pins_pwm:()=>Pk,pins_pwm_input:()=>hk,pins_pwm_pin:()=>Fk,pins_radio_datarate:()=>$k,pins_radio_power:()=>jk,pins_serial:()=>xk,pins_tone_notes:()=>zk,pins_touch:()=>yk,pins_touch_pin:()=>Xk,pins_tts_bgmusic:()=>Qk,pins_tts_builtin_music:()=>qk,pins_tts_voice:()=>Jk,pwm_output:()=>Rk,spi_A_pin:()=>Sk,spi_B_pin:()=>Ak,spi_C_pin:()=>Lk,spi_D_pin:()=>Nk,timer_id_pin:()=>eH});const Rt=Blockly,ct=Mixly,gt={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Ct=gt; +/** + * @license + * Visual Blocks Editor + * + * Copyright 2012 Google Inc. + * https://developers.google.com/blockly/ + * + * 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. + */ +class St{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},kt={init:function(){this.setColour(xt),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ht={init:function(){this.setColour(xt),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Rt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Wt={init:function(){this.setColour(xt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Rt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Rt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Kt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Jt={init:function(){this.setColour(xt);var t=new Rt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},qt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Qt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Wt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Jt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const zt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},jt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},$t={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(xt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},te={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ee={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},ie={init:function(){this.jsonInit({message0:Rt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:xt,tooltip:Rt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Rt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},ne={init:function(){this.setColour(xt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_STAT),this.setOutput(!0)}},se={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},_e={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},oe={init:function(){this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Rt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Rt.FieldDropdown([[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(xt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},pe={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ae={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ue={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},re={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_GET_UNIQUE_IDEN)}},le={init:function(){this.setColour(xt),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},de={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Ie=230;Rt.FieldTextInput.math_number_validator=function(t){return String(t)},Rt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const Te={init:function(){this.setColour(Ie),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},Me={init:function(){this.setColour(Ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},he={init:function(){this.setColour(Ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},me={init:function(){this.setColour(Ie),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ee={init:function(){this.setColour(Ie),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Oe={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Rt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Re={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Rt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Rt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Rt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Rt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Rt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Rt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Rt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},ce={init:function(){var t=[[Rt.Msg.MATH_BIN,"bin"],[Rt.Msg.MATH_OCT,"oct"],[Rt.Msg.MATH_HEX,"hex"]];this.setColour(Ie),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Rt.Msg.MATH_DEC_TOOLTIP_BIN,oct:Rt.Msg.MATH_DEC_TOOLTIP_OCT,hex:Rt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},ge={init:function(){var t=[[Rt.Msg.LANG_MATH_TO_ROUND,"round"],[Rt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Rt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Rt.Msg.MATH_ABS,"fabs"],[Rt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Ie),this.appendValueInput("A").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Rt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Rt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Rt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Rt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Rt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Rt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ce={init:function(){var t=[[Rt.Msg.MIXLY_MAX,"max"],[Rt.Msg.MIXLY_MIN,"min"]];this.setColour(Ie),this.appendValueInput("A").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Rt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Rt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Se={init:function(){var t=[[Rt.Msg.MATH_TWO,"two"],[Rt.Msg.MATH_EIGHT,"eight"],[Rt.Msg.MATH_TEN,"ten"],[Rt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Ie),this.appendDummyInput("").appendField(Rt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Rt.FieldDropdown(t),"OP").appendField(Rt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MATH_ZHW).appendField(new Rt.FieldDropdown(t),"OP2").appendField(Rt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Rt.Msg.MATH_Before_two,eight:Rt.Msg.MATH_Before_eight,ten:Rt.Msg.MATH_Before_ten,sixteen:Rt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Rt.Msg.MATH_Behind_two,eight:Rt.Msg.MATH_Behind_eight,ten:Rt.Msg.MATH_Behind_ten,sixteen:Rt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ae={init:function(){var t=[[Rt.Msg.LANG_MATH_INT,"int"],[Rt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Ie),this.setOutput(!0,Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Rt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Rt.Msg.LANG_MATH_INT,float:Rt.Msg.LANG_MATH_FLOAT_RANDOM};return Rt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Le={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Ne={init:function(){this.setColour(Ie),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Rt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Rt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},De={init:function(){this.setColour(Ie),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},fe={init:function(){this.setColour(Ie),this.appendValueInput("NUM").setCheck(Number).appendField(Rt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Fe={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MATH_ROUND).appendField(Rt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Rt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Pe={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"],[Rt.Msg.MIXLY_TO_BITES,"b"],[Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ve={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ye=Ne,Xe={init:function(){this.setColour(Ie),this.appendValueInput("VAR").appendField(Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},ye={init:function(){this.setColour(Ie),this.itemCount_=1,this.setMutator(new Rt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Rt.Msg.MIXLY_PRODUCT+Rt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Rt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Rt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const we={init:function(){this.setColour(Ve),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Rt.FieldTextInput("",Rt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Rt.FieldImage(e,7,12,'"')}},ke={init:function(){this.setColour(Ve),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Rt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},He={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},We={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(String).appendField(Rt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ke={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Je={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},qe={init:function(){this.WHERE_OPTIONS=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.TEXT_GET_INDEX_RANDOM+1+Rt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.LISTS_GET_INDEX_GET,"MODE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Rt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Rt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Rt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Rt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Rt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Rt.Msg.TEXT_GET_INDEX_RANDOM};return Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Rt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Rt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Rt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Qe={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.LISTS_GET_INDEX_FROM_START+"n"+Rt.Msg.TEXT_CHARAT2)}},ze={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Rt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Rt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},je={init:function(){this.WHERE_OPTIONS_1=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Rt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Rt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},$e={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Ze={init:function(){var t=[[Rt.Msg.MIXLY_EQUALS,"==="],[Rt.Msg.MIXLY_STARTSWITH,"startswith"],[Rt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Rt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ti={init:function(){this.setColour(Ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_COMPARETO_HELP)}},ei={init:function(){var t=[[Rt.Msg.TEXT_UPPER,"upper"],[Rt.Msg.TEXT_TITLE,"title"],[Rt.Msg.TEXT_CAPITALIZE,"capitalize"],[Rt.Msg.TEXT_SWAPCASE,"swapcase"],[Rt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Rt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Rt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Rt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Rt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Rt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ii={init:function(){var t=[[Rt.Msg.TEXT_LJUST,"ljust"],[Rt.Msg.TEXT_CENTER,"center"],[Rt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ve),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Rt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Rt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ni={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Rt.Msg.MIXLY_MID+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},si={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},_i={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Rt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},oi={init:function(){this.setColour(Ve),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Rt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Rt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},pi={init:function(){var t=[[Rt.Msg.TEXT_TRIM_BOTH,"strip"],[Rt.Msg.TEXT_TRIM_LEFT,"lstrip"],[Rt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ve),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Rt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Rt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Rt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ai={init:function(){this.setColour(Ve),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Rt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},_n={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},on={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_KEYS),this.setTooltip(Rt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_TOOLTIP)}},un={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},rn={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_DELETE_TOOLTIP)}},dn={init:function(){this.setColour(nn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Rt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Rt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MID),this.setTooltip(Rt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},In={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_CLEAR),this.setTooltip(Rt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_ITEMS),this.setTooltip(Rt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_VALUES),this.setTooltip(Rt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},hn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LENGTH),this.setTooltip(Rt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_DELDICT),this.setTooltip(Rt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},En={init:function(){this.MODE=[[Rt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Rt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Rt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Rt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Rt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Rt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},On={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setTooltip(Rt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Rn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},cn={init:function(){this.setColour(nn),this.appendDummyInput("").appendField(new Rt.FieldLabel(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Rt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},gn={init:function(){this.setColour(nn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Cn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Sn={init:function(){this.setColour(nn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},An={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn=210,Dn={init:function(){var t=Rt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},fn={init:function(){var t=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Rt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Fn={init:function(){var t=[[Rt.Msg.LOGIC_OPERATION_AND,"AND"],[Rt.Msg.LOGIC_OPERATION_OR,"OR"],[Rt.Msg.LOGIC_OPERATION_NOR,"NOR"],[Rt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Rt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Pn={init:function(){this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Rt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Rt.Msg.LOGIC_NEGATE_TOOLTIP)}},vn={init:function(){var t=[[Rt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Rt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Rt.FieldDropdown(t),"BOOL"),this.setTooltip(Rt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Yn={init:function(){this.setColour(Nn),this.setOutput(!0),this.appendDummyInput().appendField(Rt.Msg.LOGIC_NULL),this.setTooltip(Rt.Msg.LOGIC_NULL_TOOLTIP)}},Xn={init:function(){this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Rt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Rt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},yn={init:function(){var t=[[Rt.Msg.TEXT_APPEND_TO,"in"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Rt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Rt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.IN)}},bn={init:function(){var t=[[Rt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},xn={init:function(){this.setColour(Nn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Rt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Rt.Msg.MIXLY_ADD,"a"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_ADD,"ab"],[Rt.Msg.MIXLY_R_W,"r+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_R_W,"rb+"],[Rt.Msg.MIXLY_W_R,"w+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_W_R,"wb+"],[Rt.Msg.MIXLY_A_R,"a+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG,o=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXPY_TEXT_ENCODE).appendField(new Rt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG,o=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},wn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MICROBIT_PYTHON_TYPE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.HTML_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const zn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},ts={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},es={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Rt.Msg.MIXLY_ESP32_SET+{mkdir:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},is={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Rt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_FILE,"isfile"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},_s={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Rt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},os={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Rt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},ps={init:function(){var t=Rt.Procedures.findLegalName("",this),e=new Rt.FieldTextInput(t,Rt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Rt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Rt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Rt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Rt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Rt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Rt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Rt.Events.enable()}},mutationToDom:function(t){var e=Rt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},i_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},n_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_FORM_CONTENT).appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_TEXT,"text"],[Rt.Msg.HTML_EMAIL,"email"],[Rt.Msg.HTML_NUMBER,"number"],[Rt.Msg.HTML_PASSWORD,"password"],[Rt.Msg.HTML_CHECKBOX,"checkbox"],[Rt.Msg.HTML_RADIOBUTTON,"radiobutton"],[Rt.Msg.HTML_BUTTON,"button"],[Rt.Msg.HTML_COLOUR,"colour"],[Rt.Msg.HTML_DATE,"date"],[Rt.Msg.HTML_LOCALTIME,"local time"],[Rt.Msg.HTML_FILE,"file"],[Rt.Msg.HTML_HIDDEN,"hidden"],[Rt.Msg.HTML_IMAGE,"image"],[Rt.Msg.HTML_MONTH,"month"],[Rt.Msg.HTML_RANGE,"range"],[Rt.Msg.HTML_RESET,"reset"],[Rt.Msg.HTML_SEARCH,"search"],[Rt.Msg.HTML_SUBMIT,"submit"],[Rt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Rt.Msg.HTML_TIME,"time"],[Rt.Msg.HTML_URL,"url"],[Rt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Rt.Msg.HTML_NAME).appendField(new Rt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Rt.Msg.HTML_VALUE).appendField(new Rt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},__={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_TEXT).appendField(new Rt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_=160,a_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Rt.FieldTable(""),"TEXT")}},u_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT")}},r_={init:function(){this.setColour(p_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},l_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},d_={init:function(){this.setColour(p_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Rt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},I_={init:function(){this.setColour(p_),this.appendValueInput("VALUE").appendField(Rt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},T_={init:function(){this.setColour(p_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Rt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Rt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},Rt.isNumber(n)&&Rt.isNumber(s)&&Rt.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const ra=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},la=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},da=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ia=function(t,e){return["None",e.ORDER_ATOMIC]},Ta=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ma=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ea=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Oa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ra=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},ga=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ca=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Sa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Aa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Da=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},fa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},va=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Ya=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ya=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ba=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Va=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ba=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ua=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Rt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Cu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Su=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Au=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Lu=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Nu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Du=function(t,e){return'"},fu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Fu=function(){return this.getFieldValue("TEXT")+"\n"},Pu=function(t){return t.getFieldValue("TEXT")+"\n"},vu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Yu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Xu=function(){return""},yu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},bu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n")},Gu.scrubNakedValue=function(t){return t+"\n"},Gu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Gu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Gu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Rt.utils.string.wrap(_,Gu.COMMENT_WRAP-3),n+=Gu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Uu="#74A55B",wu={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Hu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Wu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},zu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Rt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$u={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Zu={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},tr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},er={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},ir={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},sr={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField("360°"+Rt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETTING+Rt.Msg.blockpy_turtle_rotate+Rt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},_r={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},pr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ar={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ur={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Rt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Rt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Rt.Msg.MOTOR_N,"ms32006.MOT_N"],[Rt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Rt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},dr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},Ir={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Tr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},hr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Er={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Rt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["SYN6288"+Rt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Rt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Or={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_WHETHER).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_STOPPED,"0"],[Rt.Msg.MIXLY_PLAYING,"1"],[Rt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MP3_PLAY,"1"],[Rt.Msg.MIXLY_MP3_PAUSE,"2"],[Rt.Msg.MIXLY_STOP,"3"],[Rt.Msg.MIXLY_MP3_PREV,"4"],[Rt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Rt.Msg.MIXLY_MP3_VOL+Rt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},gr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE+Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Rt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Rt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Rt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Rt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Rt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Rt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Sr={},Ar={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Nr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Dr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},fr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Fr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Pr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LISTS_SET_INDEX_SET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_WHITE,"W"],[Rt.Msg.COLOUR_RGB_RED,"R"],[Rt.Msg.COLOUR_RGB_YELLOW,"Y"],[Rt.Msg.COLOUR_RGB_GREEN,"G"],[Rt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_WHITE,"W"],[Rt.Msg.COLOUR_RGB_RED,"R"],[Rt.Msg.COLOUR_RGB_YELLOW,"Y"],[Rt.Msg.COLOUR_RGB_GREEN,"G"],[Rt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Rt.Msg.MIXLY_SPEED,"[1]"],[Rt.Msg.MATH_SINGLE_OP_ABSOLUTE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Rt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Rt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Rt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MATH_SINGLE_OP_ABSOLUTE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"0"],[Rt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Rt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField("("+Rt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField("("+Rt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"0"],[Rt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MOTOR,"ext_motor"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Rt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Rt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Rt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Rt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Rt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Rt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MOTOR,"ext_motor"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Rt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Rt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Rt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Rt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Rt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Rt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SERVO+Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MOTOR+Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Qr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zr="#6C9858",jr={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},$r={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_ON,"1"],[Rt.Msg.MIXLY_ESP32_OFF,"0"],[Rt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Zr={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},tl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},el={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},il={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_BUILDIN_LED+Rt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},nl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LCD_SETCOLOR).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LIGHT_RED,"1"],[Rt.Msg.MIXLY_LIGHT_GREEN,"2"],[Rt.Msg.MIXLY_LIGHT_BLUE,"3"],[Rt.Msg.MIXLY_LIGHT_YELLOW,"4"],[Rt.Msg.MIXLY_LIGHT_CYAN,"5"],[Rt.Msg.MIXLY_LIGHT_PURPLE,"6"],[Rt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},sl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},_l={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ol={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},pl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_BUILDIN_LED+Rt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},al={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ul={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},rl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ll={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Il={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Tl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Ml={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},hl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ml={init:function(){this.setColour(zr),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},El={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ol={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Rl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},cl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},gl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cl={init:function(){this.setColour(zr),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Sl={init:function(){this.setColour(zr),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Al={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(zr),this.appendDummyInput().appendField("MixGo Car").appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Dl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Rt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Rt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STOP).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Pl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Rt.Msg.MIXLY_SPEED,"SPEED"],[Rt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},vl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.MIXLY_MOTOR).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"1"],[Rt.Msg.TEXT_TRIM_RIGHT,"2"],[Rt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Rt.Msg.MIXLY_SPEED,"SPEED"],[Rt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Rt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(Rt.Msg.MIXLY_MOTOR).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"0"],[Rt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour(zr),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Bl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Gl={init:function(){this.setColour(zr),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_MIXBOT_BUZZER+Rt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MIXBOT_BUZZER+Rt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_RECORD_AUDIO).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Rt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_PLAY_AUDIO).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Kl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.PIN_NUMBERING);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ql={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.PIN_NUMBERING);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ql={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.MIXLY_ALL+Rt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Rt.ALIGN_RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},zl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(Rt.ALIGN_RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},jl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.ANALOG+Rt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_RELEASE).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ANALOG+Rt.Msg.MIXLY_KEYBOARD_INPUT)}},$l={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SPECIAL_KEY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Rt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Rt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Rt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Rt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Rt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Rt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Rt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Rt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Zl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GENERAL_KEY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour(zr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Rt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Rt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},mm={init:function(){this.jsonInit({colour:om,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Rt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Rt.Msg.MIXLY_MICROBIT_Built_in_image})}},Em={init:function(){this.setColour(om),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Om={init:function(){this.setColour(om),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(Om.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Rt.Msg.MICROBIT_DISPLAY_UNION,"add"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Rm={init:function(){this.setColour(om),this.appendValueInput("A").setCheck("esp32_image").appendField(Rt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},cm={init:function(){this.setColour(om),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(cm.OPERATORS),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Rt.Msg.MIXLY_UP,shift_down:Rt.Msg.MIXLY_DOWN,shift_left:Rt.Msg.MIXLY_LEFT,shift_right:Rt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Rt.Msg.MIXLY_UP,"shift_up"],[Rt.Msg.MIXLY_DOWN,"shift_down"],[Rt.Msg.MIXLY_LEFT,"shift_left"],[Rt.Msg.MIXLY_RIGHT,"shift_right"]]},gm={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Cm={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Sm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Am={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Lm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Clear_display)}},Nm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SHOW+Rt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(fm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Fm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Pm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Pm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},vm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Ym={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Ym.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Xm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.OLED_SET_FONT).appendField(new Rt.FieldDropdown(Xm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Rt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Rt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Rt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},ym={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},bm={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},xm={init:function(){this.setColour(om),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Rt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},Vm={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Rt.Msg.TEXT_CENTER).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Bm={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Gm={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Um={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},wm={init:function(){this.jsonInit({colour:om,args0:[{name:"state",options:[[Rt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Rt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},km={init:function(){this.jsonInit({colour:om,args0:[{name:"state",options:[[Rt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Rt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Rt.Msg.mpython_vertical,"0"],[Rt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Rt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Hm={init:function(){this.jsonInit({colour:om,args0:[{name:"state",options:[[Rt.Msg.mpython_display_hline_1,"1"],[Rt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.mpython_display_line_TOOLTIP,message0:Rt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Wm={init:function(){this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Rt.FieldDropdown(Wm.IMAGES),"path"),this.setColour(om),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Km={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Jm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Jm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},qm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Qm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},zm={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},jm={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Rt.FieldDropdown(jm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Rt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Rt.Msg.CLOCKWISE+"90"+Rt.Msg.blockpy_setheading_degree,"1"],[Rt.Msg.CLOCKWISE+"180"+Rt.Msg.blockpy_setheading_degree,"2"],[Rt.Msg.CLOCKWISE+"270"+Rt.Msg.blockpy_setheading_degree,"3"]]},$m={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Zm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Zm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(om),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},tE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eE={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Rt.Msg.MIXLY_AipImageClassify_Image+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},iE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Rt.Msg.TEXT_CENTER).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},nE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sE={init:function(){this.jsonInit({colour:om,args0:[{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},_E={init:function(){this.jsonInit({colour:om,args0:[{name:"dir_h_v",options:[[Rt.Msg.mpython_vertical,"0"],[Rt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},oE={init:function(){this.jsonInit({colour:om,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.mpython_display_line_TOOLTIP,message0:Rt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},pE={init:function(){this.setColour(om),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},aE={init:function(){this.setColour(om),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_LCD_SETCOLOR).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},uE={init:function(){this.setColour(om),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rE={init:function(){this.setColour(om),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lE={init:function(){this.setColour(om),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dE={init:function(){this.setColour(om),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Rt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Rt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Rt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(om),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.setColour(om),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ME={init:function(){this.jsonInit({colour:om,args0:[{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},hE={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER).appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.DRAW_POINTER_TOOLTIP)}},mE={init:function(){this.setColour(om),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER).appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.DRAW_POINTER_TOOLTIP)}},EE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},OE={init:function(){this.setColour(om),this.appendValueInput("direct").appendField(Rt.Msg.OLED_BITMAP).appendField(Rt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},RE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP).appendField(Rt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ERROR_RATE).appendField(new Rt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cE={init:function(){this.setColour(om),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},gE={init:function(){um.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},CE={init:function(){Im.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){cm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){Sm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Am.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){Lm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},DE=180,fE={init:function(){this.setColour(DE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Rt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(fE.OPERATORS),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"]]},FE={init:function(){this.setColour(DE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(FE.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Rt.Msg.MICROBIT_DISPLAY_UNION,"+"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},PE={init:function(){this.setColour(DE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Rt.FieldDropdown(PE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE+{height:Rt.Msg.MIXLY_HEIGHT,width:Rt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Rt.Msg.MIXLY_HEIGHT,"height"],[Rt.Msg.MIXLY_WIDTH,"width"]]},vE={init:function(){this.setColour(DE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RECT).appendField(new Rt.FieldDropdown(vE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_OLED_RECT)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},YE={init:function(){this.setColour(DE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Rt.FieldDropdown(YE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},XE={init:function(){this.setColour(DE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Rt.FieldDropdown(XE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},yE="#777777",bE={init:function(){this.setColour(yE),this.appendDummyInput("").appendField("from ").appendField(new Rt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Rt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xE={init:function(){this.setColour(yE),this.appendDummyInput("").appendField("import ").appendField(new Rt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VE={init:function(){this.setColour(yE),this.appendDummyInput("").appendField(new Rt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},AO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},LO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},NO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},DO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PROJECT).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},FO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.appendDummyInput().appendField(Rt.Msg.MIXLY_Service_quality_display).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_AT_MOST_ONCE,"0"],[Rt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},PO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},vO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},YO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},XO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},bO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},xO={init:function(){this.setColour(EO),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},VO={init:function(){this.setColour(EO),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},BO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},GO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Rt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},UO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+Rt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wO={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kO={init:function(){this.VISITOR_ID=ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(EO),this.appendDummyInput("").appendField(new Rt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},HO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},WO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Rt.Msg.MIXLY_REQUESTS_GET).appendField(Rt.Msg.MIXLY_GET_CURRENT_TIME).appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},KO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},JO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Rt.Msg.MQTT_Topic).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qO={init:function(){this.setColour(EO),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},QO=OO,zO=RO,jO=cO,$O=gO,ZO=SO,tR={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Rt.Msg.MODEL_NAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Rt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eR=tR,iR={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Rt.Msg.MODEL_NAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Rt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nR={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sR={init:function(){this.setColour(EO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},_R={init:function(){this.setColour(EO),this.appendDummyInput().appendField("Ollama "+Rt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Rt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Rt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Rt.inputs.Align.RIGHT).appendField(`MixIO ${Rt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},lR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},dR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IR=225,TR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NETWORK_MODE).appendField(new Rt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},MR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Rt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Rt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Rt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Rt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},hR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},mR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Rt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},ER={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},OR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_CONNECT+Rt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},RR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Rt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Rt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Rt.Msg.MIXLY_ESP32_NETWORK_IP,1:Rt.Msg.MIXLY_ESP32_NETWORK_MASK,2:Rt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},cR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},gR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Rt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},CR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Rt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Rt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},SR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},AR={init:function(){this.setColour(IR),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Rt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},LR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},NR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},DR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},fR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},FR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},PR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},vR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},YR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},XR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},yR={init:function(){this.setColour(IR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},bR={init:function(){this.setColour(IR),this.appendValueInput("DOMAIN").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_REQUESTS_GET).appendField(new Rt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},xR={init:function(){this.appendValueInput("VAL"),this.setColour(IR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown(xR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Rt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Rt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Rt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Rt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},VR={init:function(){this.appendValueInput("VAR").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(IR),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown(VR.METHOD),"DIR"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Rt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Rt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},BR={init:function(){this.setColour(IR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Rt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},GR={init:function(){this.setColour(IR),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},UR="#3288dd",wR={init:function(){this.setColour(UR),this.appendValueInput("URL").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Rt.Msg.blockpy_REQUESTS).appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},kR={init:function(){this.setColour(UR),this.appendValueInput("URL").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Rt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Rt.Msg.blockpy_REQUESTS+Rt.Msg.OLED_STRING),this.appendDummyInput("").appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},HR={init:function(){this.appendValueInput("VAL"),this.setColour(UR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown(HR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Rt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Rt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},WR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Rt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},KR={init:function(){this.setColour(UR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Rt.Msg.MIXLY_EMQX_PORT).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JR={init:function(){this.setColour(UR),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Rt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},qR={init:function(){this.setColour(UR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QR={init:function(){this.setColour(UR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zR={init:function(){this.setColour(UR),this.appendDummyInput().appendField("mqtt"+Rt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},jR=100,$R={init:function(){this.setColour(jR),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ZR={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},tc={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Rt.Msg.MOTOR_DC).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ec={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Rt.Msg.MOTOR_DC).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},nc={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},sc={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Rt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},_c={init:function(){this.setColour(jR),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},oc="#A58C5B",pc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SENOR_IS_PRESSED)}},ac={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SENOR_WAS_PRESSED)}},uc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_BUTTON+Rt.Msg.MIXLY_GET_PRESSES)}},rc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},lc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_shake,"shake"],[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"],[Rt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Rt.Msg.MIXLY_MICROBIT_face_down,"face down"],[Rt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Rt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Rt.Msg.MSG.catSensor,s=Rt.Msg.MIXLY_MICROBIT_JS_STATE,_=Rt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Rt.Msg.MIXLY_MICROBIT_shake,up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT,"face up":Rt.Msg.MIXLY_MICROBIT_face_up,"face down":Rt.Msg.MIXLY_MICROBIT_face_down,freefall:Rt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},dc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Ic={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Tc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField(new Rt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Tc.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Mc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},hc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},mc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"left"],[Rt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Rt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=Rt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Rt.Msg.MIXLY_ESP32_NEAR;return i+{left:Rt.Msg.TEXT_TRIM_LEFT,right:Rt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},Ec={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Rt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},Oc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Rt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Rc={init:function(){this.setColour(oc),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},cc={init:function(){this.setColour(oc),this.appendDummyInput("").appendField("LM35"+Rt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LM35)}},gc={init:function(){this.setColour(oc),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Rt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Rt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Rt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Rt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Rt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Rt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Rt.Msg.HTML_COLOUR+"、"+Rt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Rt.Msg.MIXLY_NEXT+"、"+Rt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Rt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Rt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Rt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Rt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Rt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Cc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Rt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Rt.Msg.MIXLY_DELAY_TIME_RANGE)}},Sc={init:function(){this.setColour(oc),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RADAR).appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Rt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Rt.Msg.MIXLY_DELAY_TIME_RANGE)}},Ac={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Lc={init:function(){this.setColour(oc),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RADAR).appendField(Rt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Nc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Rt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Rt.Msg.MIXLY_THE_FIRST,"3"],[Rt.Msg.MIXLY_THE_SECOND,"4"],[Rt.Msg.MIXLY_THE_THIRD,"5"],[Rt.Msg.MIXLY_THE_FOURTH,"6"],[Rt.Msg.MIXLY_THE_FIFTH,"7"],[Rt.Msg.MIXLY_THE_SIXTH,"8"],[Rt.Msg.MIXLY_THE_SEVENTH,"9"],[Rt.Msg.MIXLY_THE_EIGHTH,"10"],[Rt.Msg.MIXLY_THE_NINTH,"11"],[Rt.Msg.MIXLY_THE_TENTH,"12"],[Rt.Msg.MIXLY_THE_ELEVENTH,"13"],[Rt.Msg.MIXLY_THE_TWELFTH,"14"],[Rt.Msg.MIXLY_THE_13TH,"15"],[Rt.Msg.MIXLY_THE_14TH,"16"],[Rt.Msg.MIXLY_THE_15TH,"17"],[Rt.Msg.MIXLY_THE_16TH,"18"],[Rt.Msg.MIXLY_THE_17TH,"19"],[Rt.Msg.MIXLY_THE_18TH,"20"],[Rt.Msg.MIXLY_THE_19TH,"21"],[Rt.Msg.MIXLY_THE_20TH,"22"],[Rt.Msg.MIXLY_Turn_on_the_lights,"23"],[Rt.Msg.MIXLY_Turn_off_the_lights,"24"],[Rt.Msg.MIXLY_Turn_up_the_brightness,"25"],[Rt.Msg.MIXLY_Turn_down_the_brightness,"26"],[Rt.Msg.MIXLY_Set_it_to_red,"27"],[Rt.Msg.MIXLY_Set_it_to_orange,"28"],[Rt.Msg.MIXLY_Set_it_to_yellow,"29"],[Rt.Msg.MIXLY_Set_it_to_green,"30"],[Rt.Msg.MIXLY_Set_it_to_cyan,"31"],[Rt.Msg.MIXLY_Set_it_to_blue,"32"],[Rt.Msg.MIXLY_Set_it_to_purple,"33"],[Rt.Msg.MIXLY_Set_it_to_white,"34"],[Rt.Msg.MIXLY_Turn_on_the_fan,"35"],[Rt.Msg.MIXLY_Turn_off_the_fan,"36"],[Rt.Msg.MIXLY_First_gear,"37"],[Rt.Msg.MIXLY_Wind_speed_second,"38"],[Rt.Msg.MIXLY_Third_gear,"39"],[Rt.Msg.MIXLY_Previous,"40"],[Rt.Msg.MIXLY_Next_page,"41"],[Rt.Msg.MIXLY_Show_smiley_face,"42"],[Rt.Msg.MIXLY_Show_crying_face,"43"],[Rt.Msg.MIXLY_Show_love,"44"],[Rt.Msg.MIXLY_Close_display,"45"],[Rt.Msg.MIXLY_Start_execution,"46"],[Rt.Msg.MIXLY_FORWARD,"47"],[Rt.Msg.MIXLY_BACKWARD,"48"],[Rt.Msg.MIXLY_TURNLEFT,"49"],[Rt.Msg.MIXLY_TURNRIGHT,"50"],[Rt.Msg.MIXLY_STOP,"51"],[Rt.Msg.MIXLY_Accelerate,"52"],[Rt.Msg.MIXLY_retard,"53"],[Rt.Msg.ROTATION_FORWARD,"54"],[Rt.Msg.ROTATION_BACKWARD,"55"],[Rt.Msg.MIXLY_Query_temperature,"56"],[Rt.Msg.MIXLY_Query_humidity,"57"],[Rt.Msg.MIXLY_Query_brightness,"58"],[Rt.Msg.MIXLY_Query_sound,"59"],[Rt.Msg.MIXLY_Query_time,"60"],[Rt.Msg.MIXLY_Query_distance,"61"],[Rt.Msg.MIXLY_Query_pressure,"62"],[Rt.Msg.MIXLY_Query_key,"63"],[Rt.Msg.MIXLY_Query_touch,"64"],[Rt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Rt.Msg.MIXLY_WHETHER+Rt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},fc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Rt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Rt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Fc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MP3_PLAY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Rt.Msg.MIXLY_WIND_SPEED,"154"],[Rt.Msg.MIXLY_HYETAL,"155"],[Rt.Msg.MIXLY_TEMPERATURE,"156"],[Rt.Msg.MIXLY_Humidity,"157"],[Rt.Msg.MIXLY_Altitude,"158"],[Rt.Msg.MIXLY_SOUND,"159"],[Rt.Msg.MIXLY_BRIGHTNESS,"160"],[Rt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Rt.Msg.MIXLY_SERVO,"162"],[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Rt.Msg.MIXLY_BUTTON2,"164"],[Rt.Msg.MIXLY_ESP32_TOUCH,"165"],[Rt.Msg.MIXLY_PAY,"166"],[Rt.Msg.MIXLY_CARSH_CHANGE,"167"],[Rt.Msg.MIXLY_COUNTDOWN,"168"],[Rt.Msg.MIXLY_TIMING,"169"],[Rt.Msg.MIXLY_AT_THE_MOMENT,"170"],[Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Rt.Msg.MIXLY_FORWARD,"172"],[Rt.Msg.MIXLY_BACKWARD,"173"],[Rt.Msg.MIXLY_TURNLEFT,"174"],[Rt.Msg.MIXLY_TURNRIGHT,"175"],[Rt.Msg.MIXLY_STOP,"176"],[Rt.Msg.MIXLY_Accelerate,"177"],[Rt.Msg.MIXLY_retard,"178"],[Rt.Msg.ROTATION_FORWARD,"179"],[Rt.Msg.ROTATION_BACKWARD,"180"],[Rt.Msg.TUPLE_JOIN,"181"],[Rt.Msg.MIXLY_SHOW,"182"],[Rt.Msg.MIXLY_LAMPLIGHT,"183"],[Rt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Rt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_UNIT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Rt.Msg.MIXLY_YEAR,"117"],[Rt.Msg.MIXLY_MONTH,"118"],[Rt.Msg.MIXLY_DAY,"119"],[Rt.Msg.MIXLY_HOUR,"120"],[Rt.Msg.MIXLY_MINUTE,"121"],[Rt.Msg.MIXLY_SECOND,"122"],[Rt.Msg.MIXLY_WEEK2,"123"],[Rt.Msg.MIXLY_RMB_UNIT,"124"],[Rt.Msg.blockpy_setheading_degree,"125"],[Rt.Msg.MIXLY_GEAR,"126"],[Rt.Msg.MIXLY_LAYER,"127"],[Rt.Msg.MIXLY_GRAM,"128"],[Rt.Msg.MIXLY_METER,"129"],[Rt.Msg.MIXLY_CENTIMETER,"130"],[Rt.Msg.MIXLY_MILLIMETER,"131"],[Rt.Msg.MIXLY_LUMEN,"132"],[Rt.Msg.MIXLY_DECIBEL,"133"],[Rt.Msg.MIXLY_hectopascal,"134"],[Rt.Msg.MIXLY_PERCENT,"135"],[Rt.Msg.MIXLY_CELSIUS,"136"],[Rt.Msg.MIXLY_METER_PER_SEC,"137"],[Rt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Rt.Msg.MIXLY_SUCCESS,"140"],[Rt.Msg.MIXLY_FAILED,"141"],[Rt.Msg.MIXLY_WRONG,"142"],[Rt.Msg.MIXLY_GOOD,"143"],[Rt.Msg.MIXLY_blockpy_set_add,"144"],[Rt.Msg.MIXLY_DECREASE,"145"],[Rt.Msg.COLOUR_RGB_RED,"146"],[Rt.Msg.COLOUR_RGB_ORANGE,"147"],[Rt.Msg.COLOUR_YELLOW,"148"],[Rt.Msg.COLOUR_RGB_GREEN,"149"],[Rt.Msg.COLOUR_CYAN,"150"],[Rt.Msg.COLOUR_RGB_BLUE,"151"],[Rt.Msg.COLOUR_RGB_PURPLE,"152"],[Rt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Pc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_SYSTEM+Rt.Msg.MIXLY_CMD).appendField(new Rt.FieldDropdown([[Rt.Msg.MILXY_ENTER_WAKE_UP,"1"],[Rt.Msg.MIXLY_INCREASE_VOLUME,"202"],[Rt.Msg.MIXLY_REDUCE_VOLUME,"203"],[Rt.Msg.MIXLY_MAX_VOLUME,"204"],[Rt.Msg.MIXLY_MINIMUM,"205"],[Rt.Msg.MIXLY_OPEN_RESPONSE,"206"],[Rt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Rt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Rt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Rt.Msg.MIXLY_ESP32_MAX30102_IR+","+Rt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Rt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Rt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.HTML_COLOUR+Rt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET+Rt.Msg.HTML_COLOUR,"[2]"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_IR_STRENGTH,"[1]"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},bc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.HTML_COLOUR+Rt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET+"RGB"+Rt.Msg.HTML_COLOUR,"0"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_RGB_RAW,"1"],[Rt.Msg.MIXLY_GET_ENV_LIGHT+Rt.Msg.MIXLY_BRIGHTNESS,"2"],[Rt.Msg.GET_IR_STRENGTH+Rt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Rt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vc={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Gc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Uc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},wc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},kc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MIXGOPE_FIELD+Rt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Rt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_shake,"shake"],[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"],[Rt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Rt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Rt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Rt.Msg.MSG.catSensor,s=Rt.Msg.MIXLY_MICROBIT_JS_STATE,_=Rt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Rt.Msg.MIXLY_MICROBIT_shake,up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT,"face up":Rt.Msg.MIXLY_MICROBIT_face_up,"face down":Rt.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},Jc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},qc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET+Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Qc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},zc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},jc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_GETTEMPERATUE)}},$c={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return Rt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Zc={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},tg={init:function(){this.setColour(oc),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},eg={init:function(){this.setColour(oc),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Rt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ig={init:function(){this.setColour(oc),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},ng={init:function(){this.setColour(oc),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},sg={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},_g={init:function(){this.setColour(oc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Rt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},og={init:function(){this.setColour(oc),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_SCAN_OK,"0"],[Rt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Rt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},pg={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},ag={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ug={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},rg={init:function(){this.setColour(oc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},qP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},QP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},zP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},jP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},$P=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},ZP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},tv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},ev=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},iv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},nv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},sv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},_v=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},ov=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},pv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},av=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},uv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},rv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},lv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},dv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},Iv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},Tv=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},Mv=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},hv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},mv=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},Ev=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},Ov=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Rv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},cv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},gv=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),_=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},Cv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},Sv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Av=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Lv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Nv=function(t,e){e.definitions_.import_st7789="import st7789";var i=ct.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Dv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},fv=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},Fv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},Pv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},vv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Yv=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},Xv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},yv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},bv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},xv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Vv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},Bv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},Gv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=ct.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},Uv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},kv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Hv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Wv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Kv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Jv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},qv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},Qv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},zv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},jv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},$v=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},Zv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},tY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},eY=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},iY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},nY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},sY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},_Y=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},oY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},pY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},aY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},uY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},rY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},lY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},dY=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},zY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},jY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},$Y=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},ZY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},tX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},eX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},iX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},nX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),o=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},sX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},_X=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},oX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},pX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},aX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},uX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},rX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},lX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},dX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},IX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},TX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},MX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},hX=iY,mX=cY,EX=EY,OX=cY,RX=gY,cX=TY,gX=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},CX=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},SX=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},kG=function(){return"control.reset()\n"},HG=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||ct.Profile.default.serial)+")\n"},WG=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||ct.Profile.default.serial)+")\n"},KG=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},JG=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},qG=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},QG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},zG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},jG=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},$G=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},ZG=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},tU=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},eU=function(){return"while True:\n pass\n"},iU=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},nU=function(t,e){return e.definitions_.import_os="import os","os.uname()"},sU=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},_U=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},oU=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},pU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},aU=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},uU=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},rU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},lU=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},dU=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},IU=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},TU=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},MU=uU,hU=rU,mU=aU,EU=sU,OU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},RU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},cU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},gU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},CU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},SU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},AU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},LU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},NU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},DU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},fU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},FU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},PU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},vU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},YU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},XU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:yU}=ct,bU=yU.render(XU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:xU}=ct,VU=xU.render(XU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:BU}=ct,GU=BU.render(XU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),UU=new Rt.Generator("Python");UU.INDENT=" ",UU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),UU.ORDER_ATOMIC=0,UU.ORDER_COLLECTION=1,UU.ORDER_STRING_CONVERSION=1,UU.ORDER_UNARY_POSTFIX=1,UU.ORDER_UNARY_PREFIX=2,UU.ORDER_MEMBER=2.1,UU.ORDER_FUNCTION_CALL=2.2,UU.ORDER_EXPONENTIATION=3,UU.ORDER_UNARY_SIGN=4,UU.ORDER_BITWISE_NOT=4,UU.ORDER_MULTIPLICATIVE=5,UU.ORDER_ADDITIVE=6,UU.ORDER_BITWISE_SHIFT=7,UU.ORDER_BITWISE_AND=8,UU.ORDER_BITWISE_XOR=9,UU.ORDER_BITWISE_OR=10,UU.ORDER_RELATIONAL=11,UU.ORDER_EQUALITY=11,UU.ORDER_LOGICAL_NOT=12,UU.ORDER_LOGICAL_AND=13,UU.ORDER_LOGICAL_OR=14,UU.ORDER_ASSIGNMENT=14,UU.ORDER_CONDITIONAL=15,UU.ORDER_LAMBDA=16,UU.ORDER_NONE=99,UU.ORDER_OVERRIDES=[[UU.ORDER_FUNCTION_CALL,UU.ORDER_MEMBER],[UU.ORDER_FUNCTION_CALL,UU.ORDER_FUNCTION_CALL],[UU.ORDER_MEMBER,UU.ORDER_MEMBER],[UU.ORDER_MEMBER,UU.ORDER_FUNCTION_CALL]],UU.init=function(){UU.PASS=this.INDENT+"pass\n",UU.definitions_=Object.create(null),UU.functionNames_=Object.create(null),UU.setups_=Object.create(null),UU.loops_=Object.create(null),UU.codeEnd_=Object.create(null),UU.variableDB_?UU.variableDB_.reset():UU.variableDB_=new At(UU.RESERVED_WORDS_)},UU.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?e.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in UU.functions_)o.push(UU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in UU.setups_)p.push(UU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in UU.loops_)a.push(UU.loops_[s]);var u=[];for(var s in UU.codeEnd_)u.push(UU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n"),r},UU.scrubNakedValue=function(t){return t+"\n"},UU.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},UU.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},UU.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Rt.utils.string.wrap(_,UU.COMMENT_WRAP-3),n+=UU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const wU={};wU["MixGo CE"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:ct.Profile.generate(["0-18","21-46"]),input_pin:ct.Profile.generate(["0-18","21-46"]),output_pin:ct.Profile.generate(["0-18","21-45"]),pwm_input:ct.Profile.generate(["0-18","21-46"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-18","21-46"],"adc","adc"),pwm_output:ct.Profile.generate(["0-18","21-45"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-18","21-45"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-18","21-45"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-18","21-45"]),pwm:ct.Profile.generate(["0-18","21-45"],"pwm","pwm"),analog_pin:ct.Profile.generate(["1-18"]),analog:ct.Profile.generate(["1-18"],"adc","adc"),dac_pin:ct.Profile.generate(["17-18"]),dac:ct.Profile.generate(["17-18"],"dac","dac"),touch:ct.Profile.generate(["1-14"],"tc","tc"),touch_pin:ct.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-15"]),exlcdv:ct.Profile.generate(["0-7"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},wU["ESP32S2 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:ct.Profile.generate(["0-42","45"]),input_pin:ct.Profile.generate(["0-42","45-46"]),output_pin:ct.Profile.generate(["0-42","45"]),pwm_input:ct.Profile.generate(["0-42","45-46"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-18","21-46"],"adc","adc"),pwm_output:ct.Profile.generate(["0-42","45"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-42","45"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-42","45"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-42","45"]),pwm:ct.Profile.generate(["0-42","45"],"pwm","pwm"),analog_pin:ct.Profile.generate(["1-20"]),analog:ct.Profile.generate(["1-20"],"adc","adc"),dac_pin:ct.Profile.generate(["17-18"]),dac:ct.Profile.generate(["17-18"],"dac","dac"),touch:ct.Profile.generate(["1-14"],"tc","tc"),touch_pin:ct.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-15"]),exlcdv:ct.Profile.generate(["0-7"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const kU=wU,HU=20,WU={init:function(){this.setColour(HU),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HIGH,"HIGH"],[Rt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},KU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},JU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},qU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField("DAC"+Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},QU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_mSecond,"period"],[Rt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},zU={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_REF_VOLTAGE+Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},jU={init:function(){this.setColour(HU),this.appendValueInput("pin").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},$U={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},ZU={init:function(){this.setColour(20),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[Rt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[Rt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[Rt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},tw={init:function(){this.setColour(HU),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("dac#"),"PIN_OBJ").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+Rt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},ew={init:function(){this.setColour(HU),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("tc#"),"PIN_OBJ").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},iw={init:function(){this.setColour(HU),this.appendValueInput("PIN",Number).appendField("PWM"+Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_FREQUENCY+Rt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},nw=ZU,sw=ew,_w=jU,ow=$U,pw=230,aw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},uw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},rw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},lw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},dw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},Iw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Tw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Mw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},hw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},mw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},Ew={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Ow={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Rw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},cw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Cw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},Sw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},Aw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},Lw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},Nw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Dw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},fw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Fw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},Pw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},vw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},Xw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},yw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},bw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},xw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},Vw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},Bw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},Gw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Uw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},ww={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},kw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Hw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},Ww={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Kw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},Jw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},qw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Qw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},zw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},jw={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},$w={init:function(){this.setColour(pw),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},Zw=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},tk=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},ek=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},ik=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},nk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},sk=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},_k=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},ok=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},pk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},ak=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},uk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},rk=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},lk=rk,dk=rk,Ik=rk,Tk=rk,Mk=rk,hk=rk,mk=rk,Ek=rk,Ok=rk,Rk=rk,ck=rk,gk=rk,Ck=rk,Sk=rk,Ak=rk,Lk=rk,Nk=rk,Dk=rk,fk=rk,Fk=rk,Pk=rk,vk=rk,Yk=rk,Xk=rk,yk=rk,bk=rk,xk=rk,Vk=rk,Bk=rk,Gk=rk,Uk=rk,wk=rk,kk=rk,Hk=rk,Wk=rk,Kk=rk,Jk=rk,qk=rk,Qk=rk,zk=rk,jk=rk,$k=rk,Zk=rk,tH=rk,eH=rk;Object.assign(Rt.Variables,Ct),Object.assign(Rt.Procedures,Bu),Object.assign(Rt.Lang.ZhHans,It),Object.assign(Rt.Lang.ZhHant,Tt),Object.assign(Rt.Lang.En,Mt),Rt.Python=Gu,Rt.generator=Gu,ct.Profile.default={},Object.assign(ct.Profile,kU),Object.assign(ct.Profile.default,kU["MixGo CE"]),Object.assign(Rt.Blocks,e,i,n,s,_,o,p,a,u,r,l,d,I,V,W,H,X,B,K,f,k,w,U,G,F,D,N,b,y,x,P,v,Y,ht,mt),Object.assign(Rt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,st,lt,rt,tt,_t,dt,Q,ut,at,pt,ot,z,q,J,it,et,nt,j,$,Z,Et,Ot)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32s2/main.bundle.85ff92a3.js b/boards/default/micropython_esp32s2/main.bundle.85ff92a3.js deleted file mode 100644 index f281fb25..00000000 --- a/boards/default/micropython_esp32s2/main.bundle.85ff92a3.js +++ /dev/null @@ -1,21 +0,0 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Pt,controls_typeLists:()=>vt,lists_zip:()=>Yt,lists_zip_container:()=>Xt,lists_zip_item:()=>yt,unpack_iterable_object:()=>bt,variables_change:()=>ft,variables_get:()=>Nt,variables_global:()=>Ft,variables_set:()=>Dt});var i={};t.r(i),t.d(i,{base_setup:()=>Bt,controls_delay:()=>Gt,controls_end_program:()=>Ut,controls_except:()=>te,controls_finally:()=>ee,controls_flow_statements:()=>Jt,controls_for:()=>qt,controls_forEach:()=>Ht,controls_for_range:()=>Qt,controls_if:()=>wt,controls_if_else:()=>$t,controls_if_elseif:()=>jt,controls_if_if:()=>zt,controls_lambda:()=>ne,controls_main:()=>Vt,controls_pass:()=>se,controls_range:()=>kt,controls_repeat_ext:()=>ie,controls_thread:()=>_e,controls_try:()=>Zt,controls_try_finally:()=>Kt,controls_whileUntil:()=>Wt,datetime_fromtimestamp:()=>le,do_while:()=>oe,garbage_collection:()=>pe,gene_unique_identifier:()=>de,get_mem_alloc:()=>ae,get_mem_free:()=>ue,get_unique_identifier:()=>re});var n={};t.r(n),t.d(n,{base_map:()=>Ye,generate_cartesian_product:()=>ye,math_arithmetic:()=>me,math_bit:()=>Oe,math_constant:()=>Me,math_constant_mp:()=>he,math_constrain:()=>Le,math_dec:()=>ce,math_degree_to_radian:()=>xe,math_indexer_number:()=>De,math_map:()=>Ne,math_max_min:()=>Ce,math_number:()=>Te,math_number_base_conversion:()=>Se,math_radian_to_degree:()=>be,math_random:()=>Ae,math_random_seed:()=>fe,math_round:()=>Fe,math_selfcalcu:()=>Ee,math_to_int:()=>ge,math_trig:()=>Re,text_to_number:()=>Pe,text_to_number_skulpt:()=>ve,turn_to_int:()=>Xe});var s={};t.r(s),t.d(s,{ascii_to_char:()=>He,char_to_ascii:()=>We,number_to_text:()=>Ke,os_system:()=>mi,text:()=>Be,text_bytes:()=>Ue,text_capital:()=>ei,text_center:()=>ii,text_char:()=>we,text_char_at:()=>Qe,text_char_at2:()=>qe,text_char_at3:()=>Ii,text_compareTo:()=>di,text_compare_to:()=>ti,text_create_with_container:()=>ui,text_create_with_item:()=>ri,text_encode:()=>Mi,text_equals_starts_ends:()=>Ze,text_eval:()=>hi,text_find:()=>ni,text_format:()=>ai,text_format_noreturn:()=>Ti,text_join:()=>ke,text_join_seq:()=>si,text_length:()=>Je,text_random_char:()=>ze,text_replace:()=>_i,text_split:()=>oi,text_strip:()=>pi,text_substring:()=>$e,text_substring2:()=>je,text_substring3:()=>li,text_textarea:()=>Ge});var _={};t.r(_),t.d(_,{ENUMERATE:()=>Zi,content_in_lists:()=>en,enumerate:()=>tn,list_many_input:()=>Gi,list_tolist:()=>Hi,list_tolist2:()=>$i,list_trig:()=>xi,lists_2d_get_col_row_data:()=>gi,lists_2d_get_data_with_col_row:()=>ci,lists_append_extend:()=>Di,lists_change_to:()=>Bi,lists_change_to_general:()=>wi,lists_clear:()=>Yi,lists_create_with:()=>Ci,lists_create_with2:()=>Wi,lists_create_with_container:()=>Ai,lists_create_with_item:()=>Li,lists_create_with_noreturn:()=>Ui,lists_create_with_text:()=>Si,lists_create_with_text2:()=>Ki,lists_del_general:()=>ki,lists_find:()=>bi,lists_getIndex3:()=>Ji,lists_getSublist3:()=>qi,lists_get_index:()=>Oi,lists_get_random_item:()=>fi,lists_get_random_sublist:()=>Fi,lists_get_sublist:()=>Ri,lists_insert_value:()=>Pi,lists_insert_value2:()=>zi,lists_pop:()=>yi,lists_remove_at:()=>Xi,lists_remove_at2:()=>ji,lists_reverse:()=>vi,lists_setIndex3:()=>Qi,lists_set_index:()=>Ni,lists_sort:()=>Vi});var o={};t.r(o),t.d(o,{dicts_add_change_del:()=>En,dicts_add_or_change:()=>rn,dicts_clear:()=>In,dicts_create_with:()=>sn,dicts_create_with_container:()=>_n,dicts_create_with_item:()=>on,dicts_create_with_noreturn:()=>cn,dicts_deldict:()=>mn,dicts_delete:()=>ln,dicts_get:()=>an,dicts_get_default:()=>un,dicts_items:()=>Tn,dicts_keys:()=>pn,dicts_length:()=>hn,dicts_pop:()=>On,dicts_setdefault:()=>Rn,dicts_to_json:()=>Cn,dicts_to_json2:()=>Ln,dicts_to_to:()=>An,dicts_todict:()=>gn,dicts_update:()=>dn,dicts_values:()=>Mn,json_to_dicts:()=>Sn});var p={};t.r(p),t.d(p,{logic_boolean:()=>vn,logic_compare:()=>Dn,logic_compare_continous:()=>fn,logic_is:()=>bn,logic_is_in:()=>yn,logic_negate:()=>Pn,logic_null:()=>Yn,logic_operation:()=>Fn,logic_tobool:()=>xn,logic_true_or_false:()=>Xn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>os,sdcard_use_spi_init:()=>_s,storage_can_write_ornot:()=>Kn,storage_change_dir:()=>ns,storage_close_file:()=>qn,storage_delete_file:()=>zn,storage_file_seek:()=>Zn,storage_file_tell:()=>$n,storage_file_write:()=>wn,storage_fileopen:()=>Bn,storage_fileopen_new:()=>Gn,storage_fileopen_new_encoding:()=>Un,storage_get_a_line:()=>Wn,storage_get_contents:()=>Hn,storage_get_contents_without_para:()=>kn,storage_get_current_dir:()=>ts,storage_get_file_size:()=>jn,storage_get_filename:()=>Jn,storage_is_file:()=>ss,storage_list_all_files:()=>Qn,storage_make_dir:()=>es,storage_open_file_with_os:()=>Vn,storage_rename:()=>is});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>ls,procedures_callreturn:()=>ds,procedures_defnoreturn:()=>ps,procedures_defreturn:()=>as,procedures_ifreturn:()=>Is,procedures_mutatorarg:()=>rs,procedures_mutatorcontainer:()=>us,procedures_return:()=>Ts});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Ls,tuple_create_llm_params:()=>ys,tuple_create_with:()=>hs,tuple_create_with_container:()=>ms,tuple_create_with_item:()=>Es,tuple_create_with_noreturn:()=>Fs,tuple_create_with_text2:()=>Os,tuple_create_with_text_return:()=>Rs,tuple_del:()=>Cs,tuple_find:()=>Ns,tuple_getIndex:()=>cs,tuple_getSublist:()=>fs,tuple_get_random_item:()=>vs,tuple_get_sublist:()=>Ps,tuple_input:()=>Xs,tuple_join:()=>Ss,tuple_length:()=>gs,tuple_max:()=>As,tuple_totuple:()=>Ys,tuple_trig:()=>Ds});var l={};t.r(l),t.d(l,{set_add_discard:()=>Ws,set_clear:()=>ws,set_create_with:()=>xs,set_create_with_container:()=>Vs,set_create_with_item:()=>Bs,set_create_with_text_return:()=>qs,set_length:()=>Gs,set_operate:()=>ks,set_operate_update:()=>Hs,set_pop:()=>Us,set_sub:()=>Ks,set_toset:()=>Qs,set_update:()=>Js});var d={};t.r(d),t.d(d,{html_content:()=>t_,html_content_more:()=>e_,html_document:()=>js,html_form:()=>n_,html_head_body:()=>Zs,html_style:()=>i_,html_style_color:()=>__,html_style_content:()=>s_,html_text:()=>o_,html_title:()=>$s});var I={};t.r(I),t.d(I,{attribute_access:()=>R_,function_call:()=>m_,function_call_container:()=>E_,function_call_item:()=>O_,raw_block:()=>u_,raw_empty:()=>l_,raw_expression:()=>r_,raw_table:()=>a_,text_comment:()=>d_,text_print_multiple:()=>T_,text_print_multiple_container:()=>M_,text_print_multiple_item:()=>h_,type_check:()=>I_});var T={};t.r(T),t.d(T,{controls_type:()=>A_,controls_typeLists:()=>L_,lists_zip:()=>N_,unpack_iterable_object:()=>D_,variables_change:()=>C_,variables_get:()=>c_,variables_global:()=>S_,variables_set:()=>g_});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>V_,base_setup:()=>F_,controls_delay:()=>x_,controls_flow_statements:()=>b_,controls_for:()=>Y_,controls_forEach:()=>k_,controls_for_range:()=>X_,controls_if:()=>P_,controls_interrupts:()=>U_,controls_lambda:()=>W_,controls_main:()=>f_,controls_millis:()=>B_,controls_nointerrupts:()=>w_,controls_pass:()=>J_,controls_range:()=>H_,controls_repeat:()=>eo,controls_repeat_ext:()=>z_,controls_thread:()=>q_,controls_try_finally:()=>v_,controls_whileUntil:()=>y_,datetime_fromtimestamp:()=>io,do_while:()=>Q_,garbage_collection:()=>j_,gene_unique_identifier:()=>no,get_mem_alloc:()=>$_,get_mem_free:()=>Z_,get_unique_identifier:()=>to,reset:()=>G_,time_sleep:()=>K_});var h={};t.r(h),t.d(h,{base_map:()=>Ao,generate_cartesian_product:()=>No,math_arithmetic:()=>ao,math_bit:()=>po,math_constant:()=>_o,math_constant_mp:()=>oo,math_constrain:()=>Eo,math_dec:()=>Io,math_degree_to_radian:()=>fo,math_indexer_number:()=>co,math_map:()=>mo,math_max_min:()=>Mo,math_number:()=>so,math_number_base_conversion:()=>Oo,math_radian_to_degree:()=>Do,math_random:()=>ho,math_random_seed:()=>Ro,math_round:()=>go,math_selfcalcu:()=>uo,math_single:()=>ro,math_to_int:()=>To,math_trig:()=>lo,text_to_number:()=>Co,text_to_number_skulpt:()=>So,turn_to_int:()=>Lo});var m={};t.r(m),t.d(m,{ascii_to_char:()=>yo,char_to_ascii:()=>bo,number_to_text:()=>xo,os_system:()=>op,text:()=>Fo,text_bytes:()=>vo,text_capital:()=>Ko,text_center:()=>Jo,text_char:()=>Yo,text_char_at:()=>Go,text_char_at2:()=>Bo,text_char_at3:()=>np,text_compareTo:()=>ip,text_compare_to:()=>ko,text_encode:()=>sp,text_equals_starts_ends:()=>wo,text_eval:()=>_p,text_find:()=>qo,text_format:()=>Zo,text_format_noreturn:()=>tp,text_join:()=>Xo,text_join_seq:()=>Qo,text_length:()=>Vo,text_random_char:()=>Uo,text_replace:()=>zo,text_split:()=>jo,text_strip:()=>$o,text_substring:()=>Wo,text_substring2:()=>Ho,text_substring3:()=>ep,text_textarea:()=>Po});var E={};t.r(E),t.d(E,{content_in_lists:()=>Gp,enumerate:()=>Bp,list_many_input:()=>Lp,list_tolist:()=>xp,list_tolist2:()=>Vp,list_trig:()=>Cp,lists_2d_get_col_row_data:()=>up,lists_2d_get_data_with_col_row:()=>ap,lists_append_extend:()=>Tp,lists_change_to:()=>Ap,lists_change_to_general:()=>Dp,lists_clear:()=>Op,lists_create_with:()=>rp,lists_create_with2:()=>Fp,lists_create_with_noreturn:()=>Np,lists_create_with_text:()=>lp,lists_create_with_text2:()=>Pp,lists_del_general:()=>fp,lists_find:()=>Rp,lists_getIndex3:()=>vp,lists_getSublist3:()=>Yp,lists_get_index:()=>dp,lists_get_random_item:()=>Mp,lists_get_random_sublist:()=>hp,lists_get_sublist:()=>pp,lists_insert_value:()=>mp,lists_insert_value2:()=>yp,lists_pop:()=>gp,lists_remove_at:()=>cp,lists_remove_at2:()=>bp,lists_reverse:()=>Ep,lists_setIndex3:()=>Xp,lists_set_index:()=>Ip,lists_sort:()=>Sp});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>Zp,dicts_add_or_change:()=>Wp,dicts_clear:()=>qp,dicts_create_with:()=>Up,dicts_create_with_noreturn:()=>ia,dicts_deldict:()=>$p,dicts_delete:()=>Kp,dicts_get:()=>kp,dicts_get_default:()=>Hp,dicts_items:()=>Qp,dicts_keys:()=>wp,dicts_length:()=>jp,dicts_pop:()=>ta,dicts_setdefault:()=>ea,dicts_to_json:()=>sa,dicts_to_json2:()=>pa,dicts_to_to:()=>oa,dicts_todict:()=>na,dicts_update:()=>Jp,dicts_values:()=>zp,json_to_dicts:()=>_a});var R={};t.r(R),t.d(R,{logic_boolean:()=>da,logic_compare:()=>aa,logic_compare_continous:()=>ua,logic_is:()=>ha,logic_is_in:()=>Ma,logic_negate:()=>la,logic_null:()=>Ia,logic_operation:()=>ra,logic_tobool:()=>ma,logic_true_or_false:()=>Ta});var c={};t.r(c),t.d(c,{sdcard_mount:()=>Ga,sdcard_use_spi_init:()=>Ba,storage_can_write_ornot:()=>La,storage_change_dir:()=>Xa,storage_close_file:()=>Da,storage_delete_file:()=>Fa,storage_file_seek:()=>Ya,storage_file_tell:()=>va,storage_file_write:()=>ga,storage_fileopen:()=>Oa,storage_fileopen_new:()=>Ra,storage_fileopen_new_encoding:()=>ca,storage_get_a_line:()=>Aa,storage_get_contents:()=>Sa,storage_get_contents_without_para:()=>Ca,storage_get_current_dir:()=>ya,storage_get_file_size:()=>Pa,storage_get_filename:()=>Na,storage_is_file:()=>Va,storage_list_all_files:()=>fa,storage_make_dir:()=>ba,storage_open_file_with_os:()=>Ea,storage_rename:()=>xa});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Ha,procedures_callreturn:()=>ka,procedures_defnoreturn:()=>wa,procedures_defreturn:()=>Ua,procedures_ifreturn:()=>Wa,procedures_return:()=>Ka});var C={};t.r(C),t.d(C,{tuple_change_to:()=>eu,tuple_create_llm_params:()=>ru,tuple_create_with:()=>Ja,tuple_create_with_noreturn:()=>_u,tuple_create_with_text2:()=>qa,tuple_create_with_text_return:()=>Qa,tuple_del:()=>$a,tuple_find:()=>iu,tuple_getIndex:()=>za,tuple_getSublist:()=>su,tuple_get_random_item:()=>pu,tuple_get_sublist:()=>ou,tuple_input:()=>uu,tuple_join:()=>Za,tuple_length:()=>ja,tuple_max:()=>tu,tuple_totuple:()=>au,tuple_trig:()=>nu});var S={};t.r(S),t.d(S,{set_add_discard:()=>mu,set_clear:()=>Tu,set_create_with:()=>lu,set_create_with_text_return:()=>Ru,set_length:()=>du,set_operate:()=>Mu,set_operate_update:()=>hu,set_pop:()=>Iu,set_sub:()=>Eu,set_toset:()=>cu,set_update:()=>Ou});var A={};t.r(A),t.d(A,{html_content:()=>Au,html_content_more:()=>Lu,html_document:()=>gu,html_form:()=>Du,html_head_body:()=>Su,html_style:()=>Nu,html_style_content:()=>fu,html_text:()=>Fu,html_title:()=>Cu});var L={};t.r(L),t.d(L,{attribute_access:()=>xu,function_call:()=>bu,raw_block:()=>Pu,raw_empty:()=>Yu,raw_expression:()=>vu,raw_table:()=>Xu,type_check:()=>yu});var N={};t.r(N),t.d(N,{PIN_init:()=>Hr,actuator_extern_get_led_bright:()=>Zu,actuator_extern_get_led_state:()=>tr,actuator_extern_led_bright:()=>$u,actuator_extern_led_brightness:()=>er,actuator_ms32006_dcmotor:()=>rr,actuator_ms32006_init:()=>ur,actuator_ms32006_stepper:()=>lr,actuator_neopixel_init:()=>dr,actuator_neopixel_rgb:()=>Ir,actuator_neopixel_rgb_all:()=>Tr,actuator_neopixel_rgb_show_all_chase:()=>mr,actuator_neopixel_rgb_show_all_rainbow:()=>hr,actuator_neopixel_write:()=>Mr,actuator_use_uart_init:()=>Er,backstage_esp32_music_play_list:()=>Ku,esp32_music_get_tempo_extern:()=>qu,esp32_music_pitch:()=>ku,esp32_music_pitch_init:()=>wu,esp32_music_pitch_with_time:()=>Hu,esp32_music_play_list:()=>Wu,esp32_music_reset_extern:()=>Qu,esp32_music_set_tempo_extern:()=>Ju,esp32_music_stop:()=>zu,esp32_set_music_volume:()=>ju,mixbot_actuator_extern_get_addr:()=>wr,mixbot_actuator_extern_set_addr:()=>kr,mixbot_addr_extern:()=>fr,parrot_PIN_init:()=>qr,parrot_move_speed:()=>Qr,pin_led_bright:()=>Wr,player_insert_music:()=>Sr,player_play_music:()=>Cr,player_set_mode:()=>gr,player_set_play:()=>Rr,player_set_volume:()=>cr,player_whether_stop:()=>Or,robot_led_extern:()=>Yr,robot_led_extern_get_value:()=>Xr,robot_motor_extern:()=>Fr,robot_motor_extern_get_speed:()=>Pr,robot_servo_extern_absolute_run:()=>Vr,robot_servo_extern_get_status:()=>yr,robot_servo_extern_relative_continue:()=>Ur,robot_servo_extern_relative_origin:()=>Br,robot_servo_extern_relative_run:()=>Gr,robot_servo_extern_stop:()=>xr,robot_servo_extern_stop_mode:()=>br,robot_traffic_light_extern:()=>vr,servo_PIN_init:()=>Kr,servo_get_angle:()=>pr,servo_get_speed:()=>ar,servo_init:()=>ir,servo_move:()=>nr,servo_move_angle:()=>Jr,servo_set_angle:()=>_r,servo_set_speed:()=>or,servo_speed_360:()=>sr,syn6288_builtin_voice:()=>Nr,syn6288_get_voice:()=>Lr,syn6288_set_voice:()=>Ar,syn6288_tts_play:()=>Dr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Dl,actuator_dc_motor_stop:()=>fl,actuator_get_led_bright:()=>tl,actuator_get_led_state:()=>el,actuator_led_bright:()=>Zr,actuator_led_brightness:()=>il,actuator_mixbot_buzzer_on_off:()=>Xl,actuator_mixgo_nova_mic_get:()=>Bl,actuator_mixgo_nova_mic_set:()=>Vl,actuator_mixgo_nova_onboard_music_pitch:()=>Wl,actuator_mixgo_nova_onboard_music_stop:()=>Kl,actuator_mixgo_nova_play_audio:()=>kl,actuator_mixgo_nova_play_online_audio:()=>Hl,actuator_mixgo_nova_record_audio:()=>wl,actuator_mixgo_nova_voice_get:()=>Ul,actuator_mixgo_nova_voice_set:()=>Gl,actuator_mixgo_zero_led_color:()=>nl,actuator_onboard_neopixel_rgb:()=>ul,actuator_onboard_neopixel_rgb_all:()=>rl,actuator_onboard_neopixel_rgb_show_all_chase:()=>dl,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>ll,actuator_onboard_neopixel_write:()=>Il,actuator_rm_onboard_neopixel_rgb:()=>Tl,actuator_rm_onboard_neopixel_rgb_all:()=>Ml,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>hl,actuator_stepper_keep:()=>Ll,actuator_stepper_stop:()=>Nl,analog_ble_keyboard_init:()=>_d,analog_ble_keyboard_input:()=>ad,analog_ble_keyboard_mouse_init:()=>hd,analog_ble_keyboard_mouse_input:()=>Rd,analog_ble_keyboard_mouse_send_battery:()=>Od,analog_ble_keyboard_mouse_str:()=>cd,analog_ble_keyboard_send_battery:()=>rd,analog_ble_keyboard_str:()=>ud,analog_ble_mouse_init:()=>ld,analog_ble_mouse_input:()=>Td,analog_ble_mouse_keyboard_input:()=>gd,analog_ble_mouse_send_battery:()=>Md,analog_keyboard_input:()=>zl,analog_keyboard_str:()=>sd,analog_mouse_input:()=>id,backstage_onboard_music_play_list:()=>Sl,bitbot_motor:()=>xl,bitbot_move:()=>yl,bitbot_stop:()=>bl,ble_keyboard_connect:()=>pd,ble_keyboard_get_mac:()=>od,ble_keyboard_mouse_connect:()=>Ed,ble_keyboard_mouse_get_mac:()=>md,ble_mouse_connect:()=>Id,ble_mouse_get_mac:()=>dd,cc_number:()=>al,educore_ble_keyboard_input:()=>vd,educore_ble_sensor_connected:()=>Pd,educore_ble_sensor_init:()=>Fd,educore_buzzer:()=>Cd,educore_buzzer_play_tone:()=>Sd,educore_buzzer_play_tone_time:()=>Ad,educore_buzzer_stop:()=>Ld,educore_neopixel_clear:()=>fd,educore_neopixel_rgb:()=>Dd,educore_rgb_light:()=>Nd,esp32_music_get_tempo:()=>El,esp32_music_reset:()=>Ol,esp32_music_set_tempo:()=>ml,esp32_onboard_music_pitch:()=>Rl,esp32_onboard_music_pitch_with_time:()=>cl,esp32_onboard_music_play_list:()=>Cl,esp32_onboard_music_stop:()=>gl,general_key:()=>$l,general_key_tuple:()=>Zl,generalkey_container:()=>td,generalkey_create_with_item:()=>ed,get_keyboard_light:()=>Yd,get_power_output:()=>ql,ledswitch:()=>$r,mixbot_motor:()=>Yl,mixbot_motor_status:()=>Fl,mixbot_move:()=>Pl,mixbot_stop:()=>vl,mouse_key:()=>nd,number:()=>jr,record_audio:()=>yd,rm_actuator_get_led_bright:()=>_l,rm_actuator_get_led_state:()=>ol,rm_actuator_led_bright:()=>sl,rm_actuator_led_brightness:()=>pl,rm_motor:()=>Al,set_all_power_output:()=>Ql,set_microphone_amplification:()=>Xd,set_music_volume:()=>bd,set_power_output:()=>Jl,special_key:()=>jl});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>hI,ai_sensor_ailocal_class:()=>_I,ai_sensor_ailocal_class_result:()=>oI,ai_sensor_ailocal_train:()=>sI,ai_sensor_asr_recognize:()=>lI,ai_sensor_audio_play:()=>aI,ai_sensor_audio_record:()=>pI,ai_sensor_barcode:()=>Hd,ai_sensor_circle:()=>zd,ai_sensor_classifier_faces:()=>MI,ai_sensor_color:()=>tI,ai_sensor_color_chases:()=>nI,ai_sensor_color_chases_result:()=>iI,ai_sensor_config:()=>wd,ai_sensor_face:()=>TI,ai_sensor_find_20objects:()=>mI,ai_sensor_find_barcodes:()=>Wd,ai_sensor_find_circles:()=>jd,ai_sensor_find_colors:()=>eI,ai_sensor_find_licenseplates:()=>II,ai_sensor_find_lines:()=>Qd,ai_sensor_find_qrcodes:()=>Ud,ai_sensor_find_rects:()=>Zd,ai_sensor_find_tags:()=>Jd,ai_sensor_licenseplate:()=>dI,ai_sensor_line:()=>qd,ai_sensor_qrcode:()=>Bd,ai_sensor_qrcode_lite:()=>Gd,ai_sensor_rect:()=>$d,ai_sensor_rgb:()=>kd,ai_sensor_tag:()=>Kd,ai_sensor_use_uart_init:()=>Vd,ai_sensor_yolo_recognize:()=>uI,ai_sensor_yolo_recognize_result:()=>rI});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>RI,MICROPYTHON_AI_Speech_unit:()=>OI,MICROPYTHON_AI_client:()=>EI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>yI,mpython_blynk_app_notify:()=>DI,mpython_blynk_email:()=>PI,mpython_blynk_get_timers:()=>vI,mpython_blynk_on_connected:()=>AI,mpython_blynk_on_disconnected:()=>SI,mpython_blynk_run:()=>NI,mpython_blynk_sensor_data_to_app:()=>XI,mpython_blynk_set_property:()=>FI,mpython_blynk_setup:()=>bI,mpython_blynk_stop_timers:()=>fI,mpython_blynk_sync_virtual:()=>CI,mpython_blynk_terminal_widget_vpin:()=>gI,mpython_blynktimer:()=>YI,mpython_blynktimer_run:()=>LI});var v={};t.r(v),t.d(v,{cc_g1_init:()=>xI,cc_g1_read_bat:()=>VI,cc_g1_read_joystick:()=>BI,cc_g1_read_key:()=>GI,cc_g1_turnoff:()=>UI});var Y={};t.r(Y),t.d(Y,{ce_go_dc_motor:()=>zI,ce_go_get_led_bright:()=>WI,ce_go_get_led_state:()=>KI,ce_go_hall_attachInterrupt:()=>jI,ce_go_hall_data:()=>ZI,ce_go_hall_initialize:()=>$I,ce_go_led_bright:()=>HI,ce_go_led_brightness:()=>JI,ce_go_light_number:()=>kI,ce_go_pin_light:()=>sT,ce_go_pin_near:()=>eT,ce_go_pin_near_line:()=>tT,ce_go_pin_near_state_change:()=>iT,ce_go_stepper_keep:()=>qI,ce_go_stepper_stop:()=>QI,educore_car:()=>_T,educore_car_pin_near:()=>uT,educore_car_pin_near_line:()=>aT,educore_car_stepper_keep:()=>oT,educore_car_stepper_stop:()=>pT,sensor_mixgome_eulerangles:()=>nT});var X={};t.r(X),t.d(X,{communicate_bluetooth_central_init:()=>WT,communicate_bluetooth_connect:()=>QT,communicate_bluetooth_disconnect:()=>zT,communicate_bluetooth_handle:()=>eM,communicate_bluetooth_is_connected:()=>$T,communicate_bluetooth_mac:()=>qT,communicate_bluetooth_peripheral_init:()=>KT,communicate_bluetooth_recv:()=>ZT,communicate_bluetooth_recv_only:()=>tM,communicate_bluetooth_scan:()=>JT,communicate_bluetooth_send:()=>jT,communicate_espnow_init:()=>iM,communicate_espnow_init_new:()=>nM,communicate_i2c_available:()=>NT,communicate_i2c_init:()=>IT,communicate_i2c_master_read:()=>LT,communicate_i2c_onboard:()=>lT,communicate_i2c_read:()=>TT,communicate_i2c_scan:()=>hT,communicate_i2c_write:()=>MT,communicate_ir_recv_init:()=>yT,communicate_ir_send_init:()=>GT,communicate_ow_init:()=>fT,communicate_ow_read:()=>PT,communicate_ow_reset:()=>XT,communicate_ow_scan:()=>FT,communicate_ow_select:()=>YT,communicate_ow_write:()=>vT,communicate_spi_buffer:()=>OT,communicate_spi_init:()=>mT,communicate_spi_onboard:()=>dT,communicate_spi_read:()=>RT,communicate_spi_read_output:()=>cT,communicate_spi_readinto:()=>gT,communicate_spi_readinto_output:()=>CT,communicate_spi_set:()=>ET,communicate_spi_write:()=>ST,communicate_spi_write_readinto:()=>AT,espnow_radio_channel:()=>uM,espnow_radio_channel_new:()=>lM,espnow_radio_on_off:()=>dM,espnow_radio_rec:()=>TM,espnow_radio_recv:()=>hM,espnow_radio_recv_certain_msg:()=>mM,espnow_radio_recv_certain_msg_new:()=>OM,espnow_radio_recv_msg:()=>MM,espnow_radio_recv_new:()=>EM,espnow_radio_send:()=>IM,espnow_radio_txpower:()=>rM,i2c_available:()=>UM,i2c_init:()=>NM,i2c_master_reader2:()=>GM,i2c_read:()=>DM,i2c_scan:()=>FM,i2c_slave_onreceive:()=>DT,i2c_write:()=>fM,internal_variable:()=>bT,ir_recv_timeout:()=>BT,ir_transmit_busy:()=>HT,ir_transmit_conventional_data:()=>UT,ir_transmit_raw_code:()=>kT,ir_transmit_study_code:()=>wT,ir_whether_recv:()=>VT,lora_init:()=>RM,lora_packet:()=>cM,lora_recv:()=>CM,lora_send:()=>gM,network_espnow_info:()=>_M,network_espnow_mac:()=>sM,network_espnow_recv:()=>oM,network_espnow_recv_handle:()=>aM,network_espnow_send:()=>pM,recv_fun:()=>xT,spi_buffer:()=>YM,spi_init:()=>PM,spi_read:()=>XM,spi_read_output:()=>yM,spi_readinto:()=>bM,spi_readinto_output:()=>xM,spi_set:()=>vM,spi_write:()=>VM,spi_write_readinto:()=>BM,urequests_attribute:()=>AM,urequests_get:()=>SM,urequests_method:()=>LM});var y={};t.r(y),t.d(y,{display_animate:()=>Oh,display_blink_rate:()=>Mh,display_circle:()=>Rh,display_color_seclet:()=>vh,display_draw_4strings:()=>uh,display_fill:()=>Eh,display_get_screen_image:()=>Th,display_help:()=>gh,display_image_size:()=>rh,display_lcd_use_i2c_init:()=>Vh,display_line:()=>dh,display_line_arbitrarily:()=>Ih,display_matrix_extern_bright_point:()=>eh,display_matrix_extern_bright_screen:()=>nh,display_matrix_extern_clear:()=>sh,display_matrix_extern_get_pixel:()=>th,display_matrix_extern_get_screen_pixel:()=>ih,display_matrix_extern_image_builtins:()=>_h,display_matrix_extern_scroll_string:()=>QM,display_matrix_extern_scroll_string_delay:()=>zM,display_matrix_extern_shift:()=>ZM,display_matrix_extern_show_frame_string:()=>jM,display_matrix_extern_show_frame_string_delay:()=>$M,display_matrix_extern_show_image:()=>JM,display_matrix_extern_show_image_or_string_delay:()=>qM,display_matrix_use_i2c_init:()=>KM,display_oled_drawPixel:()=>Sh,display_oled_showBitmap:()=>Ch,display_oled_use_i2c_init:()=>kh,display_onoff:()=>mh,display_rect:()=>lh,display_rgb_color:()=>hh,display_tm1650_power:()=>Lh,display_tm1650_set_brightness:()=>fh,display_tm1650_show_dot:()=>Dh,display_tm1650_show_num:()=>Nh,display_tm_use_i2c_init:()=>Ah,display_triangle:()=>ch,display_use_i2c_init:()=>ah,extern_oled_bright_point:()=>tm,extern_oled_clear:()=>em,extern_oled_get_pixel:()=>Zh,extern_oled_hvline:()=>nm,extern_oled_line:()=>sm,extern_oled_scroll_string:()=>qh,extern_oled_scroll_string_delay:()=>Qh,extern_oled_shape_rect:()=>im,extern_oled_shift:()=>$h,extern_oled_show_frame_string:()=>zh,extern_oled_show_frame_string_delay:()=>jh,extern_oled_show_image:()=>Hh,extern_oled_show_image_or_string_delay:()=>Jh,extern_oled_show_image_xy:()=>Wh,extern_oled_show_string:()=>Kh,lcd_backlight:()=>Uh,lcd_clear:()=>wh,lcd_print_string:()=>Gh,lcd_show_image_or_string_delay:()=>Bh,matrix_extern_image_arithmetic:()=>oh,matrix_extern_image_invert:()=>ph,tft_fill:()=>bh,tft_line_arbitrarily:()=>xh,tft_scroll_string_delay:()=>Xh,tft_show_frame_string_delay:()=>yh,tft_show_image_or_string_delay:()=>Yh,tft_show_image_xy:()=>Ph,tft_use_spi_init:()=>Fh});var b={};t.r(b),t.d(b,{bitbot_display_bitmap_create:()=>$m,bitbot_display_image_create:()=>jm,display_available:()=>Lm,display_bitmap_create:()=>Mm,display_bright_point:()=>gm,display_bright_screen:()=>Sm,display_clear:()=>Am,display_get_pixel:()=>cm,display_get_screen_pixel:()=>Cm,display_image_builtins:()=>hm,display_image_builtins_all:()=>mm,display_image_create:()=>Tm,display_scroll_string:()=>am,display_scroll_string_delay:()=>um,display_scroll_way:()=>rm,display_shift:()=>Rm,display_show_frame_string:()=>dm,display_show_frame_string_delay:()=>Im,display_show_image:()=>om,display_show_image_or_string_delay:()=>pm,draw_pointer:()=>ME,image_arithmetic:()=>Em,image_invert:()=>Om,mixbot_display_bitmap_create:()=>Km,mixbot_display_bright_screen:()=>Qm,mixbot_display_get_ambientbright:()=>qm,mixbot_display_get_screen_pixel:()=>Jm,mixbot_display_image_create:()=>Wm,mixbot_display_rotate:()=>zm,mixgo_display_bitmap_create:()=>vm,mixgo_display_image_create_new:()=>Pm,mixgome_display_bitmap_create:()=>Dm,mixgome_display_font:()=>Ym,mixgome_display_image_create:()=>Nm,mixgomini_display_bitmap_create:()=>Fm,mixgomini_display_image_create:()=>fm,mpython_display_hvline:()=>wm,mpython_display_line:()=>km,mpython_display_shape_rect:()=>Um,mpython_pbm_image:()=>Hm,nova_draw_pointer:()=>hE,onboard_oled_bright_point:()=>Gm,onboard_oled_scroll_string_delay:()=>Vm,onboard_oled_show_frame_string_delay:()=>Bm,onboard_oled_show_image:()=>Xm,onboard_oled_show_image_or_string_delay:()=>xm,onboard_oled_show_image_xy:()=>ym,onboard_oled_show_string:()=>bm,onboard_tft_bright_point:()=>pE,onboard_tft_bright_screen:()=>AE,onboard_tft_clear:()=>LE,onboard_tft_clock_clear:()=>IE,onboard_tft_clock_draw:()=>dE,onboard_tft_clock_get_rtctime:()=>rE,onboard_tft_clock_init:()=>uE,onboard_tft_clock_set_time:()=>lE,onboard_tft_display_hvline:()=>sE,onboard_tft_display_line:()=>_E,onboard_tft_display_shape_circle:()=>TE,onboard_tft_display_shape_rect:()=>nE,onboard_tft_fill:()=>aE,onboard_tft_get_pixel:()=>oE,onboard_tft_get_screen_pixel:()=>SE,onboard_tft_scroll_string:()=>cE,onboard_tft_scroll_string_delay:()=>lm,onboard_tft_shift:()=>CE,onboard_tft_show_frame_string:()=>gE,onboard_tft_show_frame_string_delay:()=>iE,onboard_tft_show_image:()=>RE,onboard_tft_show_image_or_string_delay:()=>eE,onboard_tft_show_image_xy:()=>Zm,onboard_tft_show_image_xy_direct:()=>tE,onboard_tft_show_qrcode:()=>EE,onboard_tft_show_qrcode_details:()=>OE,onboard_tft_show_texts:()=>mE});var x={};t.r(x),t.d(x,{factory_block:()=>HE,factory_block_return:()=>WE,factory_block_return_with_textarea:()=>JE,factory_block_with_textarea:()=>KE,factory_callMethod_noreturn:()=>wE,factory_callMethod_return:()=>kE,factory_create_with_container:()=>VE,factory_create_with_item:()=>BE,factory_declare:()=>UE,factory_from_import:()=>yE,factory_function_noreturn:()=>xE,factory_function_return:()=>GE,factory_import:()=>bE,folding_block:()=>qE});var V={};t.r(V),t.d(V,{controls_pin_attachInterrupt:()=>hO,inout_analog_atten:()=>sO,inout_analog_read:()=>nO,inout_analog_read_init:()=>rO,inout_analog_write:()=>tO,inout_analog_write_init:()=>uO,inout_analog_write_set:()=>eO,inout_analog_write_set_freq:()=>IO,inout_digital_init:()=>pO,inout_digital_read:()=>$E,inout_digital_write:()=>jE,inout_highlow:()=>zE,inout_pinMode:()=>dO,inout_pin_attachInterrupt:()=>oO,inout_pin_pressed:()=>_O,inout_pin_pressed_init:()=>lO,inout_pwm_analog_write:()=>ZE,inout_pwm_analog_write_init:()=>aO,inout_pwm_analog_write_set_freq:()=>iO,pin_pressed:()=>MO,pin_pressed_init:()=>TO});var B={};t.r(B),t.d(B,{IOT_CONNECT_OLLAMA:()=>tR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>UO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>GO,IOT_EMQX_PING:()=>VO,IOT_FORMATTING:()=>bO,IOT_FORMAT_STRING:()=>xO,IOT_MIXIO_NTP:()=>BO,IOT_MIXIO_PUBLISH:()=>DO,IOT_MIXIO_PUBLISHEX:()=>fO,IOT_MIXIO_SUBSCRIBE:()=>FO,iot_checkonenet:()=>jO,iot_client_onboard:()=>kO,iot_connect_ollama:()=>ZO,iot_connect_openai:()=>eR,iot_create_with_item:()=>LO,iot_http_client:()=>HO,iot_http_data:()=>WO,iot_mixio_check:()=>YO,iot_mixio_connect:()=>NO,iot_mixio_connect_only:()=>vO,iot_mixio_disconnect:()=>PO,iot_mixio_format_msg:()=>yO,iot_mixio_format_topic:()=>XO,iot_mixly_key:()=>wO,iot_mqtt_client:()=>KO,iot_mqtt_data:()=>JO,iot_onenet_check:()=>cO,iot_onenet_connect:()=>OO,iot_onenet_disconnect:()=>RO,iot_onenet_publish:()=>CO,iot_onenet_publish_dict:()=>gO,iot_onenetconnect:()=>QO,iot_onenetdisconnect:()=>zO,iot_publish:()=>$O,iot_publish_container:()=>SO,iot_publish_item:()=>AO,iot_tiny_web_db_count:()=>uR,iot_tiny_web_db_delete:()=>lR,iot_tiny_web_db_get:()=>aR,iot_tiny_web_db_init:()=>_R,iot_tiny_web_db_init_with_mqtt:()=>oR,iot_tiny_web_db_search:()=>rR,iot_tiny_web_db_update:()=>pR,iot_wifi_connect:()=>EO,iot_wificonnect:()=>qO,ollama_empty_history:()=>sR,use_ollama_llm_to_chat:()=>iR,use_ollama_llm_to_chat_return:()=>nR});var G={};t.r(G),t.d(G,{educore_mqtt_connect:()=>WR,educore_mqtt_connect_success:()=>QR,educore_mqtt_subscribe_message:()=>KR,educore_mqtt_topic_publish:()=>qR,educore_mqtt_topic_subscribe:()=>JR,educore_wifi_connect:()=>HR,network_ap_connect:()=>gR,network_connect:()=>mR,network_get_connect:()=>OR,network_get_wifi:()=>cR,network_init:()=>IR,network_is_active:()=>MR,network_open:()=>TR,network_scan:()=>hR,network_server:()=>CR,network_socket_accept:()=>DR,network_socket_bind:()=>AR,network_socket_close:()=>XR,network_socket_connect:()=>LR,network_socket_init:()=>SR,network_socket_listen:()=>NR,network_socket_readline:()=>fR,network_socket_receive:()=>FR,network_socket_receive_from:()=>vR,network_socket_send:()=>PR,network_socket_send_to:()=>YR,network_stop:()=>RR,network_wifi_connect:()=>ER,ntptime_address:()=>BR,ntptime_time:()=>VR,requests_attribute:()=>bR,requests_attribute2:()=>kR,requests_get:()=>yR,requests_get2:()=>UR,requests_method:()=>xR,requests_post:()=>wR});var U={};t.r(U),t.d(U,{pe_g1_battery_left:()=>$R,pe_g1_dc_motor:()=>ZR,pe_g1_dc_motor_speed:()=>tc,pe_g1_servo_get_angle:()=>nc,pe_g1_servo_get_speed:()=>sc,pe_g1_servo_set_angle:()=>ec,pe_g1_servo_set_speed:()=>ic,pe_g1_use_i2c_init:()=>jR});var w={};t.r(w),t.d(w,{CI130X_BROADCAST:()=>fc,CI130X_GET_THE_RECOGNIZED_CMD:()=>Dc,CI130X_GET_WHETHER_IDENTIFY:()=>Nc,CI130X_IDENTIFY_AND_SAVE:()=>Lc,CI130X_SET_SYSTEM_CMD:()=>Fc,HCSR04:()=>Eg,PS2_Button:()=>gg,PS2_Buttons:()=>Sg,PS2_Buttons_new:()=>Dg,PS2_State:()=>Cg,PS2_init:()=>Og,PS2_init_new:()=>Lg,PS2_stk:()=>Ag,PS2_stk_new:()=>fg,PS2_vibration:()=>cg,PS2_vibration_new:()=>Ng,camera_sensor_init:()=>_C,camera_sensor_result:()=>oC,column_tube_foot:()=>lC,define_keyboards:()=>dC,educore_body_sensor:()=>Qg,educore_button_sensor_extern:()=>Zg,educore_camera_sensor:()=>sC,educore_infrared_sensor:()=>$g,educore_soilhum_sensor:()=>zg,educore_temp_sensor:()=>nC,educore_temphum_sensor:()=>jg,educore_ultrasonic_sensor:()=>eC,esp32_s2_weather_init:()=>Tg,esp32_s2_weather_rain:()=>hg,esp32_s2_weather_wd:()=>Mg,esp32_s2_weather_ws:()=>mg,extern_rfid_read:()=>tg,extern_rfid_readcontent:()=>ig,extern_rfid_readid:()=>eg,extern_rfid_status:()=>_g,extern_rfid_write:()=>ng,extern_rfid_write_return:()=>sg,get_keboards_value:()=>IC,gnss_get_data:()=>Yg,gnss_have_data:()=>vg,init_init_rotary_encoder:()=>TC,init_matrix_keyboard:()=>uC,interaction_whether_to_interaction:()=>Sc,interaction_whether_to_interaction_SANT:()=>Ac,line_tube_foot:()=>rC,mixbot_sensor_extern_get_addr:()=>Ug,mixbot_sensor_extern_set_addr:()=>wg,pm25_get_data:()=>Pg,radar_set_DETECTION_THRESHOLD:()=>gc,radar_set_DETECTION_THRESHOLD_SANT:()=>Cc,robot_button_extern_get_value:()=>yg,robot_color_extern_get_value:()=>Gg,robot_infrared_extern_get_value:()=>xg,robot_infrared_extern_grey_get_value:()=>Vg,robot_potentiometer_extern_get_value:()=>Bg,robot_sonar_extern_get_value:()=>kg,robot_sonar_extern_led:()=>Hg,robot_touch_extern_get_value:()=>bg,rotary_key:()=>MC,sensor_APDS9960_extern:()=>vc,sensor_DS18X20:()=>Oc,sensor_LTR308_extern:()=>Yc,sensor_LTR390UV_extern:()=>bc,sensor_MAX30102_extern:()=>Pc,sensor_QMC5883L_extern:()=>Hc,sensor_VL530LX_extern:()=>xc,sensor_adxl345_get_acceleration:()=>lc,sensor_aht11_extern:()=>Bc,sensor_bmp:()=>mc,sensor_compass_reset:()=>$c,sensor_dht11:()=>Ic,sensor_hp203_extern:()=>Gc,sensor_light_level:()=>dc,sensor_lm35:()=>Rc,sensor_ltr381_extern:()=>Xc,sensor_mixgo_extern_button_attachInterrupt:()=>uc,sensor_mixgo_extern_button_get_presses:()=>ac,sensor_mixgo_extern_button_is_pressed:()=>oc,sensor_mixgo_extern_button_was_pressed:()=>pc,sensor_mixgo_extern_light:()=>Tc,sensor_mixgo_extern_pin_near:()=>hc,sensor_mixgo_extern_sound:()=>Mc,sensor_mixgoce_hot_wheel_degrees:()=>Ig,sensor_mixgoce_hot_wheel_is_touched:()=>dg,sensor_mpu9250_attachGestureInterrupt:()=>rc,sensor_mpu9250_calibrate_compass:()=>Qc,sensor_mpu9250_field_strength:()=>jc,sensor_mpu9250_gesture:()=>Wc,sensor_mpu9250_get_acceleration:()=>Kc,sensor_mpu9250_get_gyro:()=>qc,sensor_mpu9250_get_magnetic:()=>Jc,sensor_mpu9250_temperature:()=>zc,sensor_ms5611_extern:()=>wc,sensor_ms5611_extern_altitude:()=>kc,sensor_read_humiture:()=>tC,sensor_sht:()=>Ec,sensor_shtc3_extern:()=>Vc,sensor_spl06_001_extern:()=>Uc,sensor_ucs12071_extern:()=>yc,sensor_use_i2c_init:()=>cc,sensor_use_spi_init:()=>Zc,sensor_use_uart_init:()=>Fg,sensor_weather_solo_init:()=>Wg,sensor_weather_solo_rain:()=>qg,sensor_weather_solo_wd:()=>Kg,sensor_weather_solo_ws:()=>Jg,sensor_weigh_init:()=>pC,tvoc_get_data:()=>Xg,ultrasonic_sensor_read_distance:()=>iC,weather_data:()=>og,weather_have_data:()=>pg,weather_set_label:()=>ug,weather_set_label_container:()=>rg,weather_set_label_item:()=>lg,weather_uart_mixio:()=>ag,weigh_sensor_get_weight:()=>aC});var k={};t.r(k),t.d(k,{HCSR04:()=>vC,RTC_set_date:()=>PC,RTC_set_time:()=>FC,bitbot_als_num:()=>US,dht11:()=>qS,educore_button_sensor:()=>nA,educore_button_was_pressed:()=>sA,educore_gyroscope_sensor:()=>tA,educore_gyroscope_sensor_read:()=>eA,educore_gyroscope_sensor_shake:()=>iA,educore_light_sensor:()=>ZS,educore_rfid_sensor:()=>_A,educore_rfid_sensor_scan:()=>oA,educore_rfid_sensor_scan_data:()=>pA,educore_voice_sensor:()=>jS,number1:()=>XC,number2:()=>yC,number3:()=>bC,number4:()=>xC,number5:()=>VC,number6:()=>BC,number7:()=>GC,onboard_RTC_get_time:()=>qC,onboard_RTC_get_time_str:()=>tS,onboard_RTC_get_timestamp:()=>QC,onboard_RTC_get_timetuple_to_str:()=>eS,onboard_RTC_set_datetime:()=>$C,onboard_RTC_settime_string:()=>jC,onboard_RTC_timestamp_totuple:()=>zC,rfid_readcontent:()=>aS,rfid_readid:()=>pS,rfid_status:()=>lS,rfid_write:()=>uS,rfid_write_return:()=>rS,sensor_LTR308:()=>iS,sensor_aht11:()=>sS,sensor_bitbot_ALS:()=>GS,sensor_button_get_presses:()=>HS,sensor_button_is_pressed:()=>wS,sensor_button_was_pressed:()=>kS,sensor_distance_hrsc04:()=>fC,sensor_eulerangles:()=>IS,sensor_field_strength:()=>QS,sensor_get_acceleration:()=>dS,sensor_get_temperature:()=>_S,sensor_get_the_coprocessor_version:()=>aA,sensor_hp203:()=>oS,sensor_light:()=>JS,sensor_mixbot_get_gyro:()=>BS,sensor_mixbot_patrol_calibrate:()=>bS,sensor_mixbot_patrol_value:()=>xS,sensor_mixbot_temperature:()=>VS,sensor_mixgo_LTR308:()=>KC,sensor_mixgo_button_attachInterrupt:()=>RC,sensor_mixgo_button_get_presses:()=>OC,sensor_mixgo_button_is_pressed:()=>mC,sensor_mixgo_button_was_pressed:()=>EC,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>SS,sensor_mixgo_cc_mmc5603_get_angle:()=>CS,sensor_mixgo_cc_mmc5603_get_magnetic:()=>gS,sensor_mixgo_light:()=>YC,sensor_mixgo_nova_LTR308:()=>WC,sensor_mixgo_nova_pin_near:()=>HC,sensor_mixgo_pin_near:()=>kC,sensor_mixgo_pin_near_double:()=>wC,sensor_mixgo_pin_near_single:()=>UC,sensor_mixgo_pin_pressed:()=>AC,sensor_mixgo_sant_color:()=>JC,sensor_mixgo_touch_slide:()=>DC,sensor_mixgocar42_button_attachInterrupt:()=>SC,sensor_mixgocar42_button_get_presses:()=>CC,sensor_mixgocar42_button_is_pressed:()=>cC,sensor_mixgocar42_button_was_pressed:()=>gC,sensor_mixgocar_battery_left:()=>yS,sensor_mixgocar_pin_near:()=>YS,sensor_mixgocar_pin_near_line:()=>vS,sensor_mixgocar_pin_near_state_change:()=>XS,sensor_mixgoce_pin_pressed:()=>LC,sensor_mixgoce_temperature:()=>LS,sensor_mixgome_temperature:()=>AS,sensor_mpython_pin_pressed:()=>NC,sensor_mpython_qmi8658_get_gyro:()=>NS,sensor_mpython_qmi8658_temperature:()=>DS,sensor_onboard_compass_reset:()=>cS,sensor_onboard_mpu9250_calibrate_compass:()=>ES,sensor_onboard_mpu9250_field_strength:()=>RS,sensor_onboard_mpu9250_gesture:()=>TS,sensor_onboard_mpu9250_get_acceleration:()=>MS,sensor_onboard_mpu9250_get_gyro:()=>mS,sensor_onboard_mpu9250_get_magnetic:()=>hS,sensor_onboard_mpu9250_temperature:()=>OS,sensor_pin_near:()=>KS,sensor_pin_pressed:()=>WS,sensor_read:()=>$S,sensor_rm_acc:()=>PS,sensor_rm_battery_left:()=>FS,sensor_rm_pin_near_double:()=>fS,sensor_rtc_init:()=>ZC,sensor_sound:()=>nS,sensor_temperature:()=>zS,simulated_light_sensor:()=>uA});var H={};t.r(H),t.d(H,{serial_any:()=>OA,serial_begin:()=>SA,serial_print:()=>TA,serial_print_byte:()=>IA,serial_print_hex:()=>hA,serial_println:()=>MA,serial_read_from_ai:()=>YA,serial_readline:()=>RA,serial_readstr:()=>EA,serial_readstr_until:()=>cA,serial_receive_data_event:()=>mA,serial_send_to_ai:()=>vA,serial_softserial:()=>CA,serial_softserial_new:()=>gA,system_input:()=>AA,system_print:()=>LA,system_print_container:()=>FA,system_print_end:()=>DA,system_print_inline:()=>NA,system_print_item:()=>PA,system_print_many:()=>fA});var W={};t.r(W),t.d(W,{Panic_with_status_code:()=>xA,Timer_init:()=>jA,base_delay:()=>tL,controls_delay:()=>bA,controls_delay_new:()=>yA,controls_millis:()=>BA,controls_uname:()=>UA,raw_block:()=>GA,reset:()=>VA,set_system_timer:()=>KA,system_bitbot_shutdown:()=>zA,system_machine_reset:()=>QA,system_ticks_diff:()=>HA,system_timer:()=>kA,system_timer_init:()=>WA,system_wdt_feed:()=>qA,system_wdt_init:()=>JA,time_ticks_diff:()=>ZA,timer:()=>wA,timer2:()=>$A});var K={};t.r(K),t.d(K,{Air_daily_content:()=>TL,Air_now_content:()=>pL,Geo_moon_content:()=>hL,Geo_sun_content:()=>ML,Life_suggestion_content:()=>uL,Location_search_content:()=>lL,Tide_daily_content:()=>rL,WEATHER_DAILY:()=>nL,WEATHER_HOUR:()=>sL,WEATHER_NOW:()=>iL,Weather_alarm_content:()=>aL,Weather_daily:()=>dL,Weather_daily_content:()=>IL,Weather_now:()=>_L,Weather_now_content:()=>oL});var J={};t.r(J),t.d(J,{PIN_init:()=>EN,actuator_extern_get_led_bright:()=>VL,actuator_extern_get_led_state:()=>BL,actuator_extern_led_bright:()=>xL,actuator_extern_led_brightness:()=>GL,actuator_ms32006_dcmotor:()=>SL,actuator_ms32006_init:()=>CL,actuator_ms32006_stepper:()=>AL,actuator_neopixel_init:()=>UL,actuator_neopixel_rgb:()=>HL,actuator_neopixel_rgb_all:()=>wL,actuator_neopixel_rgb_show_all_chase:()=>WL,actuator_neopixel_rgb_show_all_rainbow:()=>KL,actuator_neopixel_write:()=>kL,actuator_use_uart_init:()=>JL,backstage_esp32_music_play_list:()=>XL,esp32_music_get_tempo_extern:()=>vL,esp32_music_pitch:()=>NL,esp32_music_pitch_init:()=>LL,esp32_music_pitch_with_time:()=>DL,esp32_music_play_list:()=>YL,esp32_music_reset_extern:()=>yL,esp32_music_set_tempo_extern:()=>PL,esp32_music_stop:()=>fL,esp32_set_music_volume:()=>FL,mixbot_actuator_extern_get_addr:()=>hN,mixbot_actuator_extern_set_addr:()=>mN,mixbot_addr_extern:()=>nN,parrot_PIN_init:()=>gN,parrot_move_speed:()=>CN,pin_led_bright:()=>ON,player_play_music:()=>$L,player_set_mode:()=>jL,player_set_play:()=>QL,player_set_volume:()=>zL,player_whether_stop:()=>qL,robot_led_extern:()=>pN,robot_led_extern_get_value:()=>aN,robot_motor_extern:()=>sN,robot_motor_extern_get_speed:()=>_N,robot_servo_extern_absolute_run:()=>dN,robot_servo_extern_get_status:()=>uN,robot_servo_extern_relative_continue:()=>MN,robot_servo_extern_relative_origin:()=>IN,robot_servo_extern_relative_run:()=>TN,robot_servo_extern_stop:()=>lN,robot_servo_extern_stop_mode:()=>rN,robot_traffic_light_extern:()=>oN,servo_PIN_init:()=>RN,servo_get_angle:()=>cL,servo_get_speed:()=>gL,servo_init:()=>mL,servo_move:()=>bL,servo_move_angle:()=>cN,servo_set_angle:()=>OL,servo_set_speed:()=>RL,servo_speed_360:()=>EL,syn6288_builtin_voice:()=>eN,syn6288_get_voice:()=>tN,syn6288_set_voice:()=>ZL,syn6288_tts_play:()=>iN});var q={};t.r(q),t.d(q,{actuator_dc_motor:()=>$N,actuator_dc_motor_stop:()=>ZN,actuator_get_led_bright:()=>yN,actuator_get_led_state:()=>bN,actuator_led_bright:()=>XN,actuator_led_brightness:()=>xN,actuator_mixbot_buzzer_on_off:()=>sD,actuator_mixgo_nova_mic_get:()=>uD,actuator_mixgo_nova_mic_set:()=>aD,actuator_mixgo_nova_onboard_music_pitch:()=>MD,actuator_mixgo_nova_onboard_music_stop:()=>hD,actuator_mixgo_nova_play_audio:()=>ID,actuator_mixgo_nova_play_online_audio:()=>TD,actuator_mixgo_nova_record_audio:()=>dD,actuator_mixgo_nova_voice_get:()=>lD,actuator_mixgo_nova_voice_set:()=>rD,actuator_mixgo_zero_led_color:()=>VN,actuator_onboard_neopixel_rgb:()=>WN,actuator_onboard_neopixel_rgb_all:()=>KN,actuator_onboard_neopixel_rgb_show_all_chase:()=>JN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>qN,actuator_onboard_neopixel_write:()=>HN,actuator_stepper_keep:()=>zN,actuator_stepper_stop:()=>jN,analog_ble_keyboard_init:()=>ND,analog_ble_keyboard_input:()=>FD,analog_ble_keyboard_mouse_init:()=>VD,analog_ble_keyboard_mouse_input:()=>wD,analog_ble_keyboard_mouse_send_battery:()=>UD,analog_ble_keyboard_mouse_str:()=>kD,analog_ble_keyboard_send_battery:()=>vD,analog_ble_keyboard_str:()=>PD,analog_ble_mouse_init:()=>YD,analog_ble_mouse_input:()=>bD,analog_ble_mouse_keyboard_input:()=>HD,analog_ble_mouse_send_battery:()=>xD,analog_keyboard_input:()=>RD,analog_keyboard_str:()=>AD,analog_mouse_input:()=>CD,backstage_onboard_music_play_list:()=>FN,bitbot_motor:()=>pD,bitbot_move:()=>_D,bitbot_stop:()=>oD,ble_keyboard_connect:()=>fD,ble_keyboard_get_mac:()=>DD,ble_keyboard_mouse_connect:()=>GD,ble_keyboard_mouse_get_mac:()=>BD,ble_mouse_connect:()=>yD,ble_mouse_get_mac:()=>XD,cc_number:()=>BN,educore_ble_keyboard_input:()=>tf,educore_ble_sensor_connected:()=>ZD,educore_ble_sensor_init:()=>$D,educore_buzzer:()=>WD,educore_buzzer_play_tone:()=>KD,educore_buzzer_play_tone_time:()=>JD,educore_buzzer_stop:()=>qD,educore_neopixel_clear:()=>jD,educore_neopixel_rgb:()=>zD,educore_rgb_light:()=>QD,esp32_music_get_tempo:()=>AN,esp32_music_reset:()=>PN,esp32_music_set_tempo:()=>SN,esp32_onboard_music_pitch:()=>LN,esp32_onboard_music_pitch_with_time:()=>NN,esp32_onboard_music_play_list:()=>fN,esp32_onboard_music_stop:()=>DN,general_key:()=>gD,general_key_tuple:()=>LD,get_keyboard_light:()=>ef,get_power_output:()=>ED,ledswitch:()=>YN,mixbot_motor:()=>nD,mixbot_motor_status:()=>tD,mixbot_move:()=>eD,mixbot_stop:()=>iD,mouse_key:()=>SD,number:()=>vN,record_audio:()=>sf,rm_actuator_get_led_bright:()=>UN,rm_actuator_get_led_state:()=>wN,rm_actuator_led_bright:()=>GN,rm_actuator_led_brightness:()=>kN,rm_motor:()=>QN,set_all_power_output:()=>OD,set_microphone_amplification:()=>nf,set_music_volume:()=>_f,set_power_output:()=>mD,special_key:()=>cD});var Q={};t.r(Q),t.d(Q,{ai_sensor_20object:()=>Vf,ai_sensor_ailocal_class:()=>Nf,ai_sensor_ailocal_class_result:()=>Df,ai_sensor_ailocal_train:()=>Lf,ai_sensor_asr_recognize:()=>Yf,ai_sensor_audio_play:()=>Ff,ai_sensor_audio_record:()=>ff,ai_sensor_barcode:()=>df,ai_sensor_circle:()=>Ef,ai_sensor_classifier_faces:()=>xf,ai_sensor_color:()=>gf,ai_sensor_color_chases:()=>Af,ai_sensor_color_chases_result:()=>Sf,ai_sensor_config:()=>af,ai_sensor_face:()=>bf,ai_sensor_find_20objects:()=>Bf,ai_sensor_find_barcodes:()=>If,ai_sensor_find_circles:()=>Of,ai_sensor_find_colors:()=>Cf,ai_sensor_find_licenseplates:()=>yf,ai_sensor_find_lines:()=>mf,ai_sensor_find_qrcodes:()=>lf,ai_sensor_find_rects:()=>cf,ai_sensor_find_tags:()=>Mf,ai_sensor_licenseplate:()=>Xf,ai_sensor_line:()=>hf,ai_sensor_qrcode:()=>rf,ai_sensor_qrcode_lite:()=>pf,ai_sensor_rect:()=>Rf,ai_sensor_rgb:()=>uf,ai_sensor_tag:()=>Tf,ai_sensor_use_uart_init:()=>of,ai_sensor_yolo_recognize:()=>Pf,ai_sensor_yolo_recognize_result:()=>vf});var z={};t.r(z),t.d(z,{MICROPYTHON_AI_Speech_asr:()=>wf,MICROPYTHON_AI_Speech_unit:()=>Uf,MICROPYTHON_AI_client:()=>Gf});var j={};t.r(j),t.d(j,{mpython_blynk_app_data:()=>tF,mpython_blynk_app_notify:()=>Qf,mpython_blynk_email:()=>eF,mpython_blynk_get_timers:()=>jf,mpython_blynk_on_connected:()=>Kf,mpython_blynk_on_disconnected:()=>Wf,mpython_blynk_run:()=>qf,mpython_blynk_sensor_data_to_app:()=>Zf,mpython_blynk_set_property:()=>iF,mpython_blynk_setup:()=>nF,mpython_blynk_stop_timers:()=>zf,mpython_blynk_sync_virtual:()=>Hf,mpython_blynk_terminal_widget_vpin:()=>kf,mpython_blynktimer:()=>$f,mpython_blynktimer_run:()=>Jf});var $={};t.r($),t.d($,{cc_g1_read_bat:()=>sF,cc_g1_read_joystick:()=>_F,cc_g1_read_key:()=>oF,cc_g1_turnoff:()=>pF});var Z={};t.r(Z),t.d(Z,{ce_go_dc_motor:()=>MF,ce_go_get_led_bright:()=>rF,ce_go_get_led_state:()=>lF,ce_go_hall_attachInterrupt:()=>hF,ce_go_hall_data:()=>EF,ce_go_hall_initialize:()=>mF,ce_go_led_bright:()=>uF,ce_go_led_brightness:()=>dF,ce_go_light_number:()=>aF,ce_go_pin_light:()=>CF,ce_go_pin_near:()=>RF,ce_go_pin_near_line:()=>OF,ce_go_pin_near_state_change:()=>cF,ce_go_stepper_keep:()=>IF,ce_go_stepper_stop:()=>TF,educore_car:()=>SF,educore_car_pin_near:()=>DF,educore_car_pin_near_line:()=>NF,educore_car_stepper_keep:()=>AF,educore_car_stepper_stop:()=>LF,sensor_mixgome_eulerangles:()=>gF});var tt={};t.r(tt),t.d(tt,{communicate_bluetooth_central_init:()=>uP,communicate_bluetooth_connect:()=>dP,communicate_bluetooth_disconnect:()=>IP,communicate_bluetooth_handle:()=>OP,communicate_bluetooth_is_connected:()=>MP,communicate_bluetooth_mac:()=>TP,communicate_bluetooth_peripheral_init:()=>rP,communicate_bluetooth_recv:()=>EP,communicate_bluetooth_recv_only:()=>mP,communicate_bluetooth_scan:()=>lP,communicate_bluetooth_send:()=>hP,communicate_espnow_init:()=>RP,communicate_espnow_init_new:()=>cP,communicate_i2c_available:()=>bF,communicate_i2c_init:()=>PF,communicate_i2c_master_read:()=>yF,communicate_i2c_onboard:()=>fF,communicate_i2c_read:()=>vF,communicate_i2c_scan:()=>XF,communicate_i2c_write:()=>YF,communicate_ir_recv_init:()=>ZF,communicate_ir_send_init:()=>sP,communicate_ow_init:()=>JF,communicate_ow_read:()=>zF,communicate_ow_reset:()=>QF,communicate_ow_scan:()=>qF,communicate_ow_select:()=>$F,communicate_ow_write:()=>jF,communicate_spi_buffer:()=>GF,communicate_spi_init:()=>VF,communicate_spi_onboard:()=>FF,communicate_spi_read:()=>UF,communicate_spi_read_output:()=>wF,communicate_spi_readinto:()=>kF,communicate_spi_readinto_output:()=>HF,communicate_spi_set:()=>BF,communicate_spi_write:()=>WF,communicate_spi_write_readinto:()=>KF,espnow_radio_channel:()=>NP,espnow_radio_channel_new:()=>fP,espnow_radio_on_off:()=>FP,espnow_radio_rec:()=>vP,espnow_radio_recv:()=>XP,espnow_radio_recv_certain_msg:()=>yP,espnow_radio_recv_certain_msg_new:()=>xP,espnow_radio_recv_msg:()=>YP,espnow_radio_recv_new:()=>bP,espnow_radio_send:()=>PP,espnow_radio_txpower:()=>DP,i2c_slave_onreceive:()=>xF,internal_variable:()=>tP,ir_recv_timeout:()=>nP,ir_transmit_busy:()=>aP,ir_transmit_conventional_data:()=>_P,ir_transmit_raw_code:()=>pP,ir_transmit_study_code:()=>oP,ir_whether_recv:()=>iP,lora_init:()=>VP,lora_packet:()=>BP,lora_recv:()=>UP,lora_send:()=>GP,network_espnow_info:()=>CP,network_espnow_mac:()=>gP,network_espnow_recv:()=>SP,network_espnow_recv_handle:()=>LP,network_espnow_send:()=>AP,recv_fun:()=>eP,urequests_attribute:()=>kP,urequests_get:()=>wP,urequests_method:()=>HP});var et={};t.r(et),t.d(et,{display_animate:()=>Mv,display_circle:()=>hv,display_color_seclet:()=>Nv,display_draw_4strings:()=>av,display_fill:()=>Tv,display_lcd_use_i2c_init:()=>Yv,display_line:()=>lv,display_line_arbitrarily:()=>uv,display_matrix_extern_bright_point:()=>ev,display_matrix_extern_bright_screen:()=>nv,display_matrix_extern_clear:()=>$P,display_matrix_extern_get_pixel:()=>tv,display_matrix_extern_get_screen_pixel:()=>iv,display_matrix_extern_image_builtins:()=>sv,display_matrix_extern_scroll_string:()=>zP,display_matrix_extern_scroll_string_delay:()=>jP,display_matrix_extern_shift:()=>ZP,display_matrix_extern_show_frame_string:()=>qP,display_matrix_extern_show_frame_string_delay:()=>QP,display_matrix_extern_show_image:()=>KP,display_matrix_extern_show_image_or_string_delay:()=>JP,display_matrix_use_i2c_init:()=>WP,display_oled_drawPixel:()=>Ov,display_oled_showBitmap:()=>Ev,display_oled_use_i2c_init:()=>Vv,display_onoff:()=>dv,display_rect:()=>rv,display_tm1650_power:()=>cv,display_tm1650_set_brightness:()=>Sv,display_tm1650_show_dot:()=>Cv,display_tm1650_show_num:()=>gv,display_tm_use_i2c_init:()=>Rv,display_triangle:()=>mv,display_use_i2c_init:()=>pv,extern_oled_bright_point:()=>zv,extern_oled_clear:()=>Jv,extern_oled_get_pixel:()=>Qv,extern_oled_hvline:()=>$v,extern_oled_line:()=>Zv,extern_oled_scroll_string:()=>Wv,extern_oled_scroll_string_delay:()=>Kv,extern_oled_shape_rect:()=>jv,extern_oled_shift:()=>qv,extern_oled_show_frame_string:()=>kv,extern_oled_show_frame_string_delay:()=>Hv,extern_oled_show_image:()=>Bv,extern_oled_show_image_or_string_delay:()=>wv,extern_oled_show_image_xy:()=>Gv,extern_oled_show_string:()=>Uv,image_shift:()=>Iv,lcd_backlight:()=>bv,lcd_clear:()=>xv,lcd_print_string:()=>yv,lcd_show_image_or_string_delay:()=>Xv,matrix_extern_image_arithmetic:()=>_v,matrix_extern_image_invert:()=>ov,tft_fill:()=>Pv,tft_line_arbitrarily:()=>vv,tft_scroll_string_delay:()=>Fv,tft_show_frame_string_delay:()=>fv,tft_show_image_or_string_delay:()=>Dv,tft_show_image_xy:()=>Lv,tft_use_spi_init:()=>Av});var it={};t.r(it),t.d(it,{bitbot_display_bitmap_create:()=>KY,bitbot_display_image_create:()=>WY,display_available:()=>IY,display_bitmap_create:()=>lY,display_bright_point:()=>EY,display_bright_screen:()=>RY,display_clear:()=>dY,display_get_pixel:()=>mY,display_get_screen_pixel:()=>OY,display_image_builtins:()=>aY,display_image_builtins_all:()=>uY,display_image_create:()=>rY,display_scroll_string:()=>sY,display_scroll_string_delay:()=>_Y,display_scroll_way:()=>oY,display_shift:()=>hY,display_show_frame_string:()=>iY,display_show_frame_string_delay:()=>nY,display_show_image:()=>tY,display_show_image_or_string_delay:()=>eY,draw_pointer:()=>uX,image_arithmetic:()=>TY,image_invert:()=>MY,mixbot_display_bitmap_create:()=>GY,mixbot_display_bright_screen:()=>kY,mixbot_display_get_ambientbright:()=>wY,mixbot_display_get_screen_pixel:()=>UY,mixbot_display_image_create:()=>BY,mixbot_display_rotate:()=>HY,mixgo_display_bitmap_create:()=>NY,mixgo_display_image_create_new:()=>LY,mixgome_display_bitmap_create:()=>gY,mixgome_display_font:()=>AY,mixgome_display_image_create:()=>cY,mixgomini_display_bitmap_create:()=>SY,mixgomini_display_image_create:()=>CY,mpython_display_hvline:()=>xY,mpython_display_line:()=>VY,mpython_display_shape_rect:()=>bY,mpython_pbm_image:()=>DY,nova_draw_pointer:()=>rX,onboard_oled_bright_point:()=>yY,onboard_oled_scroll_string_delay:()=>XY,onboard_oled_show_frame_string_delay:()=>YY,onboard_oled_show_image:()=>fY,onboard_oled_show_image_or_string_delay:()=>vY,onboard_oled_show_image_xy:()=>FY,onboard_oled_show_string:()=>PY,onboard_tft_bright_point:()=>eX,onboard_tft_bright_screen:()=>EX,onboard_tft_clear:()=>OX,onboard_tft_clock_clear:()=>pX,onboard_tft_clock_draw:()=>oX,onboard_tft_clock_get_rtctime:()=>sX,onboard_tft_clock_init:()=>nX,onboard_tft_clock_set_time:()=>_X,onboard_tft_display_hvline:()=>$Y,onboard_tft_display_line:()=>ZY,onboard_tft_display_shape_circle:()=>aX,onboard_tft_display_shape_rect:()=>jY,onboard_tft_fill:()=>iX,onboard_tft_get_pixel:()=>tX,onboard_tft_get_screen_pixel:()=>mX,onboard_tft_scroll_string_delay:()=>pY,onboard_tft_shift:()=>hX,onboard_tft_show_frame_string:()=>MX,onboard_tft_show_frame_string_delay:()=>zY,onboard_tft_show_image:()=>TX,onboard_tft_show_image_or_string_delay:()=>QY,onboard_tft_show_image_xy:()=>JY,onboard_tft_show_image_xy_direct:()=>qY,onboard_tft_show_qrcode:()=>dX,onboard_tft_show_qrcode_details:()=>IX,onboard_tft_show_texts:()=>lX});var nt={};t.r(nt),t.d(nt,{factory_block:()=>NX,factory_block_return:()=>DX,factory_block_return_with_textarea:()=>FX,factory_block_with_textarea:()=>fX,factory_callMethod_noreturn:()=>AX,factory_callMethod_return:()=>LX,factory_declare:()=>SX,factory_from_import:()=>RX,factory_function_noreturn:()=>gX,factory_function_return:()=>CX,factory_import:()=>cX,folding_block:()=>PX});var st={};t.r(st),t.d(st,{inout_analog_atten:()=>KX,inout_analog_read:()=>BX,inout_analog_read_init:()=>WX,inout_analog_write:()=>bX,inout_analog_write_init:()=>HX,inout_analog_write_set:()=>xX,inout_digital_init:()=>wX,inout_digital_read:()=>XX,inout_digital_write:()=>YX,inout_highlow:()=>vX,inout_pin_attachInterrupt:()=>UX,inout_pin_pressed:()=>GX,inout_pin_pressed_init:()=>JX,inout_pwm_analog_write:()=>yX,inout_pwm_analog_write_init:()=>kX,inout_pwm_analog_write_set_freq:()=>VX});var _t={};t.r(_t),t.d(_t,{IOT_CONNECT_OLLAMA:()=>gy,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Iy,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>ly,IOT_EMQX_PING:()=>Ty,IOT_FORMATTING:()=>uy,IOT_FORMAT_STRING:()=>ry,IOT_MIXIO_NTP:()=>My,IOT_MIXIO_PUBLISH:()=>ey,IOT_MIXIO_PUBLISHEX:()=>iy,IOT_MIXIO_SUBSCRIBE:()=>ny,iot_client_onboard:()=>hy,iot_connect_ollama:()=>cy,iot_connect_openai:()=>Cy,iot_http_client:()=>my,iot_http_data:()=>Ey,iot_mixio_check:()=>oy,iot_mixio_connect:()=>ty,iot_mixio_connect_only:()=>_y,iot_mixio_disconnect:()=>sy,iot_mixio_format_msg:()=>ay,iot_mixio_format_topic:()=>py,iot_mixly_key:()=>dy,iot_mqtt_client:()=>Oy,iot_mqtt_data:()=>Ry,iot_onenet_check:()=>$X,iot_onenet_connect:()=>QX,iot_onenet_disconnect:()=>zX,iot_onenet_publish:()=>ZX,iot_onenet_publish_dict:()=>jX,iot_tiny_web_db_count:()=>Py,iot_tiny_web_db_delete:()=>Yy,iot_tiny_web_db_get:()=>Fy,iot_tiny_web_db_init:()=>Ny,iot_tiny_web_db_init_with_mqtt:()=>Dy,iot_tiny_web_db_search:()=>vy,iot_tiny_web_db_update:()=>fy,iot_wifi_connect:()=>qX,ollama_empty_history:()=>Ly,use_ollama_llm_to_chat:()=>Sy,use_ollama_llm_to_chat_return:()=>Ay});var ot={};t.r(ot),t.d(ot,{educore_mqtt_connect:()=>lb,educore_mqtt_connect_success:()=>Mb,educore_mqtt_subscribe_message:()=>db,educore_mqtt_topic_publish:()=>Tb,educore_mqtt_topic_subscribe:()=>Ib,educore_wifi_connect:()=>rb,network_ap_connect:()=>wy,network_connect:()=>yy,network_get_connect:()=>xy,network_get_wifi:()=>Uy,network_init:()=>Xy,network_is_active:()=>Gy,network_open:()=>By,network_scan:()=>ky,network_server:()=>Hy,network_socket_accept:()=>Qy,network_socket_bind:()=>Ky,network_socket_close:()=>eb,network_socket_connect:()=>Jy,network_socket_init:()=>Wy,network_socket_listen:()=>qy,network_socket_readline:()=>zy,network_socket_receive:()=>jy,network_socket_receive_from:()=>Zy,network_socket_send:()=>$y,network_socket_send_to:()=>tb,network_stop:()=>Vy,network_wifi_connect:()=>by,ntptime_address:()=>ob,ntptime_time:()=>_b,requests_attribute:()=>nb,requests_attribute2:()=>ab,requests_get:()=>ib,requests_get2:()=>pb,requests_method:()=>sb,requests_post:()=>ub});var pt={};t.r(pt),t.d(pt,{pe_g1_battery_left:()=>mb,pe_g1_dc_motor:()=>Eb,pe_g1_dc_motor_speed:()=>Ob,pe_g1_servo_get_angle:()=>gb,pe_g1_servo_get_speed:()=>Cb,pe_g1_servo_set_angle:()=>Rb,pe_g1_servo_set_speed:()=>cb,pe_g1_use_i2c_init:()=>hb});var at={};t.r(at),t.d(at,{CI130X_BROADCAST:()=>Kb,CI130X_GET_THE_RECOGNIZED_CMD:()=>Wb,CI130X_GET_WHETHER_IDENTIFY:()=>Hb,CI130X_IDENTIFY_AND_SAVE:()=>kb,CI130X_SET_SYSTEM_CMD:()=>Jb,HCSR04:()=>Ax,PS2_Button:()=>Dx,PS2_Buttons:()=>fx,PS2_Buttons_new:()=>xx,PS2_State:()=>Fx,PS2_init:()=>Lx,PS2_init_new:()=>yx,PS2_stk:()=>Px,PS2_stk_new:()=>Vx,PS2_vibration:()=>Nx,PS2_vibration_new:()=>bx,RTC_get_time:()=>Yx,RTC_set_date:()=>Pb,RTC_set_datetime:()=>vx,RTC_set_time:()=>Fb,camera_sensor_init:()=>MV,camera_sensor_result:()=>hV,column_tube_foot:()=>RV,define_keyboards:()=>cV,educore_body_sensor:()=>_V,educore_button_sensor_extern:()=>uV,educore_camera_sensor:()=>TV,educore_infrared_sensor:()=>aV,educore_soilhum_sensor:()=>oV,educore_temp_sensor:()=>IV,educore_temphum_sensor:()=>pV,educore_ultrasonic_sensor:()=>lV,esp32_s2_weather_init:()=>cx,esp32_s2_weather_rain:()=>Cx,esp32_s2_weather_wd:()=>gx,esp32_s2_weather_ws:()=>Sx,extern_rfid_read:()=>ux,extern_rfid_readcontent:()=>lx,extern_rfid_readid:()=>rx,extern_rfid_status:()=>Tx,extern_rfid_write:()=>dx,extern_rfid_write_return:()=>Ix,get_keboards_value:()=>CV,gnss_get_data:()=>Ux,gnss_have_data:()=>wx,init_init_rotary_encoder:()=>SV,init_matrix_keyboard:()=>gV,interaction_whether_to_interaction:()=>Ub,interaction_whether_to_interaction_SANT:()=>wb,line_tube_foot:()=>OV,mixbot_sensor_extern_get_addr:()=>$x,mixbot_sensor_extern_set_addr:()=>Zx,pm25_get_data:()=>Gx,radar_set_DETECTION_THRESHOLD:()=>Bb,radar_set_DETECTION_THRESHOLD_SANT:()=>Gb,robot_button_extern_get_value:()=>Hx,robot_color_extern_get_value:()=>Qx,robot_infrared_extern_get_value:()=>Kx,robot_infrared_extern_grey_get_value:()=>Jx,robot_potentiometer_extern_get_value:()=>qx,robot_sonar_extern_get_value:()=>zx,robot_sonar_extern_led:()=>jx,robot_touch_extern_get_value:()=>Wx,rotary_key:()=>AV,sensor_APDS9960_extern:()=>Qb,sensor_DS18X20:()=>sV,sensor_LTR308_extern:()=>zb,sensor_LTR390UV_extern:()=>nx,sensor_MAX30102_extern:()=>qb,sensor_QMC5883L_extern:()=>sx,sensor_VL530LX_extern:()=>px,sensor_aht11_extern:()=>ox,sensor_bmp:()=>bb,sensor_dht11:()=>Xx,sensor_distance_hrsc04:()=>fb,sensor_hp203_extern:()=>jb,sensor_ltr381_extern:()=>ex,sensor_mixgo_extern_button_attachInterrupt:()=>Nb,sensor_mixgo_extern_button_get_presses:()=>Lb,sensor_mixgo_extern_button_is_pressed:()=>Sb,sensor_mixgo_extern_button_was_pressed:()=>Ab,sensor_mixgo_extern_light:()=>vb,sensor_mixgo_extern_pin_near:()=>Xb,sensor_mixgo_extern_sound:()=>Yb,sensor_mixgoce_hot_wheel_degrees:()=>Rx,sensor_mixgoce_hot_wheel_is_touched:()=>Ox,sensor_mpu9250_attachGestureInterrupt:()=>Db,sensor_ms5611_extern:()=>Zb,sensor_ms5611_extern_altitude:()=>tx,sensor_read_humiture:()=>rV,sensor_rtc_init:()=>yb,sensor_sht:()=>xb,sensor_shtc3_extern:()=>_x,sensor_spl06_001_extern:()=>$b,sensor_ucs12071_extern:()=>ix,sensor_use_i2c_init:()=>Vb,sensor_use_spi_init:()=>ax,sensor_use_uart_init:()=>Bx,sensor_weather_solo_init:()=>tV,sensor_weather_solo_rain:()=>nV,sensor_weather_solo_wd:()=>eV,sensor_weather_solo_ws:()=>iV,sensor_weigh_init:()=>mV,tvoc_get_data:()=>kx,ultrasonic_sensor_read_distance:()=>dV,weather_data:()=>Mx,weather_have_data:()=>hx,weather_set_label:()=>Ex,weather_uart_mixio:()=>mx,weigh_sensor_get_weight:()=>EV});var ut={};t.r(ut),t.d(ut,{HCSR04:()=>XV,bitbot_als_num:()=>iG,dht11:()=>rG,educore_button_sensor:()=>mG,educore_button_was_pressed:()=>EG,educore_gyroscope_sensor:()=>TG,educore_gyroscope_sensor_read:()=>MG,educore_gyroscope_sensor_shake:()=>hG,educore_light_sensor:()=>IG,educore_rfid_sensor:()=>OG,educore_rfid_sensor_scan:()=>RG,educore_rfid_sensor_scan_data:()=>cG,educore_voice_sensor:()=>lG,number1:()=>yV,number2:()=>bV,number3:()=>xV,number4:()=>VV,number5:()=>BV,number6:()=>GV,number7:()=>UV,onboard_RTC_get_time:()=>vB,onboard_RTC_get_time_str:()=>yB,onboard_RTC_get_timestamp:()=>YB,onboard_RTC_get_timetuple_to_str:()=>bB,onboard_RTC_set_datetime:()=>FB,onboard_RTC_settime_string:()=>PB,onboard_RTC_timestamp_totuple:()=>XB,rfid_readcontent:()=>nB,rfid_readid:()=>iB,rfid_status:()=>oB,rfid_write:()=>sB,rfid_write_return:()=>_B,sensor_LTR308:()=>jV,sensor_adxl345_get_acceleration:()=>MB,sensor_aht11:()=>tB,sensor_bitbot_ALS:()=>eG,sensor_button_get_presses:()=>_G,sensor_button_is_pressed:()=>nG,sensor_button_was_pressed:()=>sG,sensor_compass_reset:()=>cB,sensor_ds18x20:()=>QV,sensor_eulerangles:()=>aB,sensor_get_acceleration:()=>pB,sensor_get_temperature:()=>eB,sensor_get_the_coprocessor_version:()=>gG,sensor_hp203:()=>ZV,sensor_light:()=>uG,sensor_lm35:()=>zV,sensor_mixbot_get_gyro:()=>tG,sensor_mixbot_patrol_calibrate:()=>jB,sensor_mixbot_patrol_value:()=>$B,sensor_mixbot_temperature:()=>ZB,sensor_mixgo_LTR308:()=>KV,sensor_mixgo_button_attachInterrupt:()=>fV,sensor_mixgo_button_get_presses:()=>DV,sensor_mixgo_button_is_pressed:()=>LV,sensor_mixgo_button_was_pressed:()=>NV,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>BB,sensor_mixgo_cc_mmc5603_get_angle:()=>VB,sensor_mixgo_cc_mmc5603_get_magnetic:()=>xB,sensor_mixgo_light:()=>aG,sensor_mixgo_nova_LTR308:()=>qV,sensor_mixgo_nova_pin_near:()=>WV,sensor_mixgo_pin_near:()=>HV,sensor_mixgo_pin_near_double:()=>kV,sensor_mixgo_pin_near_single:()=>wV,sensor_mixgo_pin_pressed:()=>IB,sensor_mixgo_sant_color:()=>JV,sensor_mixgo_touch_slide:()=>dB,sensor_mixgocar42_button_attachInterrupt:()=>YV,sensor_mixgocar42_button_get_presses:()=>vV,sensor_mixgocar42_button_is_pressed:()=>FV,sensor_mixgocar42_button_was_pressed:()=>PV,sensor_mixgocar_battery_left:()=>zB,sensor_mixgocar_pin_near:()=>qB,sensor_mixgocar_pin_near_line:()=>JB,sensor_mixgocar_pin_near_state_change:()=>QB,sensor_mixgoce_pin_pressed:()=>lB,sensor_mixgoce_temperature:()=>UB,sensor_mixgome_temperature:()=>GB,sensor_mpu9250_calibrate_compass:()=>EB,sensor_mpu9250_field_strength:()=>RB,sensor_mpu9250_gesture:()=>uB,sensor_mpu9250_get_acceleration:()=>rB,sensor_mpu9250_get_gyro:()=>mB,sensor_mpu9250_get_magnetic:()=>hB,sensor_mpu9250_temperature:()=>OB,sensor_mpython_pin_pressed:()=>TB,sensor_mpython_qmi8658_get_gyro:()=>wB,sensor_mpython_qmi8658_temperature:()=>kB,sensor_onboard_compass_reset:()=>fB,sensor_onboard_mpu9250_calibrate_compass:()=>LB,sensor_onboard_mpu9250_field_strength:()=>DB,sensor_onboard_mpu9250_gesture:()=>gB,sensor_onboard_mpu9250_get_acceleration:()=>CB,sensor_onboard_mpu9250_get_gyro:()=>AB,sensor_onboard_mpu9250_get_magnetic:()=>SB,sensor_onboard_mpu9250_temperature:()=>NB,sensor_pin_near:()=>pG,sensor_pin_pressed:()=>oG,sensor_read:()=>dG,sensor_rm_acc:()=>KB,sensor_rm_battery_left:()=>WB,sensor_rm_pin_near_double:()=>HB,sensor_sound:()=>$V,simulated_light_sensor:()=>CG});var rt={};t.r(rt),t.d(rt,{serial_any:()=>DG,serial_print:()=>SG,serial_print_byte:()=>AG,serial_print_hex:()=>NG,serial_println:()=>LG,serial_read_from_ai:()=>BG,serial_readline:()=>FG,serial_readstr:()=>fG,serial_send_to_ai:()=>VG,serial_softserial:()=>PG,serial_softserial_new:()=>vG,system_input:()=>YG,system_print:()=>XG,system_print_end:()=>bG,system_print_inline:()=>yG,system_print_many:()=>xG});var lt={};t.r(lt),t.d(lt,{Panic_with_status_code:()=>jG,Timer_init:()=>IU,base_delay:()=>hU,controls_delay:()=>iU,controls_delay_new:()=>nU,controls_end_program:()=>ZG,controls_millis:()=>$G,controls_uname:()=>eU,reset:()=>tU,set_system_timer:()=>_U,system_bitbot_shutdown:()=>dU,system_device_name:()=>QG,system_device_serial_number:()=>zG,system_event_bus_source:()=>JG,system_event_bus_value:()=>qG,system_machine_reset:()=>lU,system_on_event:()=>HG,system_raise_event:()=>kG,system_reset:()=>UG,system_run_in_background:()=>GG,system_ticks_diff:()=>oU,system_timer:()=>aU,system_timer_init:()=>pU,system_timestamp:()=>WG,system_value:()=>KG,system_wait:()=>wG,system_wdt_feed:()=>rU,system_wdt_init:()=>uU,time_ticks_diff:()=>MU,timer:()=>sU,timer2:()=>TU});var dt={};t.r(dt),t.d(dt,{Air_daily_content:()=>fU,Air_now_content:()=>gU,Geo_moon_content:()=>PU,Geo_sun_content:()=>FU,Life_suggestion_content:()=>SU,Location_search_content:()=>LU,Tide_daily_content:()=>AU,WEATHER_DAILY:()=>EU,WEATHER_HOUR:()=>OU,WEATHER_NOW:()=>mU,Weather_alarm_content:()=>CU,Weather_daily:()=>NU,Weather_daily_content:()=>DU,Weather_now:()=>RU,Weather_now_content:()=>cU});var It={};t.r(It),t.d(It,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>XU});var Tt={};t.r(Tt),t.d(Tt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>bU});var Mt={};t.r(Mt),t.d(Mt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>VU});var ht={};t.r(ht),t.d(ht,{controls_pin_attachInterrupt:()=>sw,inout_analog_atten:()=>qU,inout_analog_write:()=>KU,inout_analog_write_init:()=>$U,inout_analog_write_set:()=>JU,inout_analog_write_set_freq:()=>tw,inout_digital_init:()=>jU,inout_digital_read:()=>WU,inout_digital_write:()=>HU,inout_highlow:()=>kU,inout_pinMode:()=>ew,inout_pin_attachInterrupt:()=>zU,inout_pin_pressed:()=>QU,inout_pin_pressed_init:()=>ZU,pin_pressed:()=>nw,pin_pressed_init:()=>iw});var mt={};t.r(mt),t.d(mt,{analog_input:()=>Iw,analog_output:()=>Mw,espnow_channel:()=>rw,haskylens_model:()=>lw,i2c_A_pin:()=>hw,i2c_B_pin:()=>mw,pins_analog:()=>gw,pins_analog_pin:()=>Cw,pins_axis:()=>Gw,pins_brightness:()=>Uw,pins_builtinimg:()=>Yw,pins_builtinimg_extern:()=>Xw,pins_button:()=>Lw,pins_buttonB:()=>Nw,pins_dac:()=>Sw,pins_dac_pin:()=>Aw,pins_digital:()=>ow,pins_digital_dot:()=>Qw,pins_digital_pin:()=>pw,pins_exlcdh:()=>Vw,pins_exlcdv:()=>Bw,pins_imglist:()=>yw,pins_input_pin:()=>aw,pins_one_more:()=>qw,pins_output_pin:()=>uw,pins_playlist:()=>bw,pins_playlist_extern:()=>xw,pins_pwm:()=>Dw,pins_pwm_pin:()=>fw,pins_radio_datarate:()=>Jw,pins_radio_power:()=>Kw,pins_serial:()=>vw,pins_tone_notes:()=>Ww,pins_touch:()=>Pw,pins_touch_pin:()=>Fw,pins_tts_bgmusic:()=>Hw,pins_tts_builtin_music:()=>kw,pins_tts_voice:()=>ww,pwm_input:()=>dw,pwm_output:()=>Tw,spi_A_pin:()=>Ew,spi_B_pin:()=>Ow,spi_C_pin:()=>Rw,spi_D_pin:()=>cw,timer_id_pin:()=>zw});var Et={};t.r(Et),t.d(Et,{inout_analog_atten:()=>ok,inout_analog_write:()=>tk,inout_analog_write_init:()=>_k,inout_analog_write_set:()=>ek,inout_digital_init:()=>sk,inout_digital_read:()=>Zw,inout_digital_write:()=>$w,inout_highlow:()=>jw,inout_pin_attachInterrupt:()=>nk,inout_pin_pressed:()=>ik,inout_pin_pressed_init:()=>pk});var Ot={};t.r(Ot),t.d(Ot,{analog_input:()=>mk,analog_output:()=>Ok,espnow_channel:()=>Mk,haskylens_model:()=>hk,i2c_A_pin:()=>Rk,i2c_B_pin:()=>ck,pins_analog:()=>Nk,pins_analog_pin:()=>Lk,pins_axis:()=>Uk,pins_brightness:()=>Hk,pins_builtinimg:()=>bk,pins_builtinimg_extern:()=>xk,pins_button:()=>uk,pins_buttonB:()=>rk,pins_dac:()=>Pk,pins_dac_pin:()=>Fk,pins_digital:()=>ak,pins_digital_dot:()=>$k,pins_digital_pin:()=>lk,pins_exlcdh:()=>wk,pins_exlcdv:()=>kk,pins_imglist:()=>Vk,pins_input_pin:()=>dk,pins_interrupt:()=>Xk,pins_one_more:()=>jk,pins_output_pin:()=>Ik,pins_playlist:()=>Bk,pins_playlist_extern:()=>Gk,pins_pwm:()=>fk,pins_pwm_input:()=>Tk,pins_pwm_pin:()=>Dk,pins_radio_datarate:()=>zk,pins_radio_power:()=>Qk,pins_serial:()=>yk,pins_tone_notes:()=>qk,pins_touch:()=>Yk,pins_touch_pin:()=>vk,pins_tts_bgmusic:()=>Jk,pins_tts_builtin_music:()=>Kk,pins_tts_voice:()=>Wk,pwm_output:()=>Ek,spi_A_pin:()=>gk,spi_B_pin:()=>Ck,spi_C_pin:()=>Sk,spi_D_pin:()=>Ak,timer_id_pin:()=>Zk});const Rt=Blockly,ct=Mixly,gt={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Ct=gt; -/** - * @license - * Visual Blocks Editor - * - * Copyright 2012 Google Inc. - * https://developers.google.com/blockly/ - * - * 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. - */ -class St{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},kt={init:function(){this.setColour(xt),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ht={init:function(){this.setColour(xt),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Rt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Wt={init:function(){this.setColour(xt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Rt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Rt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Kt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=t.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Jt={init:function(){this.setColour(xt);var t=new Rt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},qt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Qt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Wt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Jt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const zt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},jt={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},$t={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(xt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},te={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ee={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},ie={init:function(){this.jsonInit({message0:Rt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:xt,tooltip:Rt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Rt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},ne={init:function(){this.setColour(xt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_STAT),this.setOutput(!0)}},se={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},_e={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},oe={init:function(){this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Rt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Rt.FieldDropdown([[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(xt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},pe={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ae={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ue={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},re={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_GET_UNIQUE_IDEN)}},le={init:function(){this.setColour(xt),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},de={init:function(){this.setColour(xt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Ie=230;Rt.FieldTextInput.math_number_validator=function(t){return String(t)},Rt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const Te={init:function(){this.setColour(Ie),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},Me={init:function(){this.setColour(Ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},he={init:function(){this.setColour(Ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},me={init:function(){this.setColour(Ie),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ee={init:function(){this.setColour(Ie),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Oe={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Rt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Re={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Rt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Rt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Rt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Rt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Rt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Rt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Rt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},ce={init:function(){var t=[[Rt.Msg.MATH_BIN,"bin"],[Rt.Msg.MATH_OCT,"oct"],[Rt.Msg.MATH_HEX,"hex"]];this.setColour(Ie),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Rt.Msg.MATH_DEC_TOOLTIP_BIN,oct:Rt.Msg.MATH_DEC_TOOLTIP_OCT,hex:Rt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},ge={init:function(){var t=[[Rt.Msg.LANG_MATH_TO_ROUND,"round"],[Rt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Rt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Rt.Msg.MATH_ABS,"fabs"],[Rt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Ie),this.appendValueInput("A").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Rt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Rt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Rt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Rt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Rt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Rt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ce={init:function(){var t=[[Rt.Msg.MIXLY_MAX,"max"],[Rt.Msg.MIXLY_MIN,"min"]];this.setColour(Ie),this.appendValueInput("A").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Rt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Rt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Se={init:function(){var t=[[Rt.Msg.MATH_TWO,"two"],[Rt.Msg.MATH_EIGHT,"eight"],[Rt.Msg.MATH_TEN,"ten"],[Rt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Ie),this.appendDummyInput("").appendField(Rt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Rt.FieldDropdown(t),"OP").appendField(Rt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MATH_ZHW).appendField(new Rt.FieldDropdown(t),"OP2").appendField(Rt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Rt.Msg.MATH_Before_two,eight:Rt.Msg.MATH_Before_eight,ten:Rt.Msg.MATH_Before_ten,sixteen:Rt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Rt.Msg.MATH_Behind_two,eight:Rt.Msg.MATH_Behind_eight,ten:Rt.Msg.MATH_Behind_ten,sixteen:Rt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ae={init:function(){var t=[[Rt.Msg.LANG_MATH_INT,"int"],[Rt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Ie),this.setOutput(!0,Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Rt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Rt.Msg.LANG_MATH_INT,float:Rt.Msg.LANG_MATH_FLOAT_RANDOM};return Rt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Le={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Ne={init:function(){this.setColour(Ie),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Rt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Rt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},De={init:function(){this.setColour(Ie),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},fe={init:function(){this.setColour(Ie),this.appendValueInput("NUM").setCheck(Number).appendField(Rt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Fe={init:function(){this.setColour(Ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MATH_ROUND).appendField(Rt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Rt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Pe={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"],[Rt.Msg.MIXLY_TO_BITES,"b"],[Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ve={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ye=Ne,Xe={init:function(){this.setColour(Ie),this.appendValueInput("VAR").appendField(Rt.Msg.LANG_MATH_BYTE+Rt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},ye={init:function(){this.setColour(Ie),this.itemCount_=1,this.setMutator(new Rt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Rt.Msg.MIXLY_PRODUCT+Rt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Rt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Rt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const we={init:function(){this.setColour(Ve),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Rt.FieldTextInput("",Rt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Rt.FieldImage(e,7,12,'"')}},ke={init:function(){this.setColour(Ve),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Rt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},He={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},We={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(String).appendField(Rt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ke={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Je={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},qe={init:function(){this.WHERE_OPTIONS=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.TEXT_GET_INDEX_RANDOM+1+Rt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.LISTS_GET_INDEX_GET,"MODE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Rt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Rt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Rt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Rt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Rt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Rt.Msg.TEXT_GET_INDEX_RANDOM};return Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Rt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Rt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Rt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Qe={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.LISTS_GET_INDEX_FROM_START+"n"+Rt.Msg.TEXT_CHARAT2)}},ze={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Rt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Rt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},je={init:function(){this.WHERE_OPTIONS_1=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Rt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Rt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},$e={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Ze={init:function(){var t=[[Rt.Msg.MIXLY_EQUALS,"==="],[Rt.Msg.MIXLY_STARTSWITH,"startswith"],[Rt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Rt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ti={init:function(){this.setColour(Ve),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_COMPARETO_HELP)}},ei={init:function(){var t=[[Rt.Msg.TEXT_UPPER,"upper"],[Rt.Msg.TEXT_TITLE,"title"],[Rt.Msg.TEXT_CAPITALIZE,"capitalize"],[Rt.Msg.TEXT_SWAPCASE,"swapcase"],[Rt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Rt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Rt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Rt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Rt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Rt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ii={init:function(){var t=[[Rt.Msg.TEXT_LJUST,"ljust"],[Rt.Msg.TEXT_CENTER,"center"],[Rt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ve),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Rt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Rt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ni={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Rt.Msg.MIXLY_MID+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},si={init:function(){this.setColour(Ve),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},_i={init:function(){this.setColour(Ve),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Rt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},oi={init:function(){this.setColour(Ve),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Rt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Rt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},pi={init:function(){var t=[[Rt.Msg.TEXT_TRIM_BOTH,"strip"],[Rt.Msg.TEXT_TRIM_LEFT,"lstrip"],[Rt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ve),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Rt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Rt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Rt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ai={init:function(){this.setColour(Ve),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Rt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},_n={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},on={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_KEYS),this.setTooltip(Rt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_TOOLTIP)}},un={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},rn={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_DELETE_TOOLTIP)}},dn={init:function(){this.setColour(nn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Rt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Rt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MID),this.setTooltip(Rt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},In={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_CLEAR),this.setTooltip(Rt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_ITEMS),this.setTooltip(Rt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_VALUES),this.setTooltip(Rt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},hn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LENGTH),this.setTooltip(Rt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_DELDICT),this.setTooltip(Rt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},En={init:function(){this.MODE=[[Rt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Rt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Rt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Rt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Rt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Rt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Rt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},On={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setTooltip(Rt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Rn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},cn={init:function(){this.setColour(nn),this.appendDummyInput("").appendField(new Rt.FieldLabel(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Rt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},gn={init:function(){this.setColour(nn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Cn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Sn={init:function(){this.setColour(nn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},An={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn=210,Dn={init:function(){var t=Rt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},fn={init:function(){var t=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Rt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Fn={init:function(){var t=[[Rt.Msg.LOGIC_OPERATION_AND,"AND"],[Rt.Msg.LOGIC_OPERATION_OR,"OR"],[Rt.Msg.LOGIC_OPERATION_NOR,"NOR"],[Rt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Rt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Pn={init:function(){this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Rt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Rt.Msg.LOGIC_NEGATE_TOOLTIP)}},vn={init:function(){var t=[[Rt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Rt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Rt.FieldDropdown(t),"BOOL"),this.setTooltip(Rt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Yn={init:function(){this.setColour(Nn),this.setOutput(!0),this.appendDummyInput().appendField(Rt.Msg.LOGIC_NULL),this.setTooltip(Rt.Msg.LOGIC_NULL_TOOLTIP)}},Xn={init:function(){this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Rt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Rt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},yn={init:function(){var t=[[Rt.Msg.TEXT_APPEND_TO,"in"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Rt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Rt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.IN)}},bn={init:function(){var t=[[Rt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},xn={init:function(){this.setColour(Nn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Rt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Rt.Msg.MIXLY_ADD,"a"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_ADD,"ab"],[Rt.Msg.MIXLY_R_W,"r+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_R_W,"rb+"],[Rt.Msg.MIXLY_W_R,"w+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_W_R,"wb+"],[Rt.Msg.MIXLY_A_R,"a+"],[Rt.Msg.MATH_BIN+Rt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG,o=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXPY_TEXT_ENCODE).appendField(new Rt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Rt.Msg.MIXLY_BELONG,o=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+_+n+s+o}))}},wn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MICROBIT_PYTHON_TYPE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.HTML_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const zn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},ts={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},es={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Rt.Msg.MIXLY_ESP32_SET+{mkdir:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},is={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Rt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_FILE,"isfile"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},_s={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Rt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},os={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Rt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},ps={init:function(){var t=Rt.Procedures.findLegalName("",this),e=new Rt.FieldTextInput(t,Rt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Rt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Rt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Rt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Rt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Rt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Rt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Rt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Rt.Events.enable()}},mutationToDom:function(t){var e=Rt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},i_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},n_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_FORM_CONTENT).appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_TEXT,"text"],[Rt.Msg.HTML_EMAIL,"email"],[Rt.Msg.HTML_NUMBER,"number"],[Rt.Msg.HTML_PASSWORD,"password"],[Rt.Msg.HTML_CHECKBOX,"checkbox"],[Rt.Msg.HTML_RADIOBUTTON,"radiobutton"],[Rt.Msg.HTML_BUTTON,"button"],[Rt.Msg.HTML_COLOUR,"colour"],[Rt.Msg.HTML_DATE,"date"],[Rt.Msg.HTML_LOCALTIME,"local time"],[Rt.Msg.HTML_FILE,"file"],[Rt.Msg.HTML_HIDDEN,"hidden"],[Rt.Msg.HTML_IMAGE,"image"],[Rt.Msg.HTML_MONTH,"month"],[Rt.Msg.HTML_RANGE,"range"],[Rt.Msg.HTML_RESET,"reset"],[Rt.Msg.HTML_SEARCH,"search"],[Rt.Msg.HTML_SUBMIT,"submit"],[Rt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Rt.Msg.HTML_TIME,"time"],[Rt.Msg.HTML_URL,"url"],[Rt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Rt.Msg.HTML_NAME).appendField(new Rt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Rt.Msg.HTML_VALUE).appendField(new Rt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},__={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Rt.Msg.HTML_TEXT).appendField(new Rt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_=160,a_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Rt.FieldTable(""),"TEXT")}},u_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT")}},r_={init:function(){this.setColour(p_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},l_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},d_={init:function(){this.setColour(p_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Rt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},I_={init:function(){this.setColour(p_),this.appendValueInput("VALUE").appendField(Rt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},T_={init:function(){this.setColour(p_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Rt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Rt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},Rt.isNumber(n)&&Rt.isNumber(s)&&Rt.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,t=0==n&&1==_?s:n+", "+s,1!=_&&(t+=", "+_)):t=n+", "+--s+", -"+_,t="range("+t+")"):(t=n",GTE:">="};const ra=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",_=e.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},la=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},da=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ia=function(t,e){return["None",e.ORDER_ATOMIC]},Ta=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ma=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ea=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Oa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ra=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},ga=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ca=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Sa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Aa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Da=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},fa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Fa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},va=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Ya=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ya=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ba=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Va=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Ba=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ua=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Rt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Cu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Su=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Au=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Lu=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Nu=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Du=function(t,e){return'"},fu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Fu=function(){return this.getFieldValue("TEXT")+"\n"},Pu=function(t){return t.getFieldValue("TEXT")+"\n"},vu=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Yu=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Xu=function(){return""},yu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},bu=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),_=0;_0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n")},Gu.scrubNakedValue=function(t){return t+"\n"},Gu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Gu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Gu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Rt.utils.string.wrap(_,Gu.COMMENT_WRAP-3),n+=Gu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Uu="#74A55B",wu={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Hu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Wu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},zu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Rt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$u={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Zu={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},tr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},er={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},ir={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},sr={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField("360°"+Rt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETTING+Rt.Msg.blockpy_turtle_rotate+Rt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},_r={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},pr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ar={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ur={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Rt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Rt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Rt.Msg.MOTOR_N,"ms32006.MOT_N"],[Rt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Rt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Rt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},dr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},Ir={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Tr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},hr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Er={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Rt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["SYN6288"+Rt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Rt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Or={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_WHETHER).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_STOPPED,"0"],[Rt.Msg.MIXLY_PLAYING,"1"],[Rt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MP3_PLAY,"1"],[Rt.Msg.MIXLY_MP3_PAUSE,"2"],[Rt.Msg.MIXLY_STOP,"3"],[Rt.Msg.MIXLY_MP3_PREV,"4"],[Rt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Rt.Msg.MIXLY_MP3_VOL+Rt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},gr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE+Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Rt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Rt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Rt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Rt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Rt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Rt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Sr={},Ar={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Nr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Dr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Rt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},fr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Fr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Pr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LISTS_SET_INDEX_SET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_WHITE,"W"],[Rt.Msg.COLOUR_RGB_RED,"R"],[Rt.Msg.COLOUR_RGB_YELLOW,"Y"],[Rt.Msg.COLOUR_RGB_GREEN,"G"],[Rt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_WHITE,"W"],[Rt.Msg.COLOUR_RGB_RED,"R"],[Rt.Msg.COLOUR_RGB_YELLOW,"Y"],[Rt.Msg.COLOUR_RGB_GREEN,"G"],[Rt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Rt.Msg.MIXLY_SPEED,"[1]"],[Rt.Msg.MATH_SINGLE_OP_ABSOLUTE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Rt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Rt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Rt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Rt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MATH_SINGLE_OP_ABSOLUTE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"0"],[Rt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Rt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField("("+Rt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.ME_GO_MOTOR_EXTERN+Rt.Msg.MIXLY_SERVO_MOTOR).appendField(Rt.Msg.MIXLY_RELATIVE+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Rt.Msg.MSG.run).appendField("("+Rt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Rt.Msg.PIN_NUMBERING).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LEFT,"0"],[Rt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MODE).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPEED+Rt.Msg.MIXLY_MODE,"0"],[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Rt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"0"],[Rt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MOTOR,"ext_motor"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Rt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Rt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Rt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Rt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Rt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Rt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MOTOR,"ext_motor"],[Rt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Rt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Rt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Rt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Rt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Rt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Rt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SERVO+Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MOTOR+Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_AT).appendField(Rt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Qr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Rt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zr="#6C9858",jr={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},$r={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_ON,"1"],[Rt.Msg.MIXLY_ESP32_OFF,"0"],[Rt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Zr={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},tl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},el={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},il={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_BUILDIN_LED+Rt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},nl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LCD_SETCOLOR).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LIGHT_RED,"1"],[Rt.Msg.MIXLY_LIGHT_GREEN,"2"],[Rt.Msg.MIXLY_LIGHT_BLUE,"3"],[Rt.Msg.MIXLY_LIGHT_YELLOW,"4"],[Rt.Msg.MIXLY_LIGHT_CYAN,"5"],[Rt.Msg.MIXLY_LIGHT_PURPLE,"6"],[Rt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},sl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},_l={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ol={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},pl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_BUILDIN_LED).appendField(new Rt.FieldDropdown([[Rt.Msg.COLOUR_RGB_RED,"r"],[Rt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_BUILDIN_LED+Rt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},al={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ul={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},rl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ll={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Il={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},Tl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ct.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Ml={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},hl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.PYTHON_RANGE_STEP).appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ml={init:function(){this.setColour(zr),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},El={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ol={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Rl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},cl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},gl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cl={init:function(){this.setColour(zr),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Sl={init:function(){this.setColour(zr),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_BACKSTAGE+Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Al={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(zr),this.appendDummyInput().appendField("MixGo Car").appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Dl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Rt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MOTOR_DC).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Rt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STOP).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Pl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Rt.Msg.MIXLY_SPEED,"SPEED"],[Rt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},vl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXBOT).appendField(Rt.Msg.MIXLY_MOTOR).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"1"],[Rt.Msg.TEXT_TRIM_RIGHT,"2"],[Rt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Rt.Msg.MIXLY_SPEED,"SPEED"],[Rt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Rt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.blockpy_forward,"F"],[Rt.Msg.blockpy_backward,"B"],[Rt.Msg.blockpy_left,"L"],[Rt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(new Rt.FieldDropdown([[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.BITBOT).appendField(Rt.Msg.MIXLY_MOTOR).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"0"],[Rt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour(zr),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Bl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Gl={init:function(){this.setColour(zr),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_SETTING+Rt.Msg.MIXLY_MIXBOT_BUZZER+Rt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MIXBOT_BUZZER+Rt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_RECORD_AUDIO).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Rt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_PLAY_AUDIO).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(zr),this.appendValueInput("PATH").appendField(Rt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Kl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===ct.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendValueInput("duty").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ql={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===ct.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new Rt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ql={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.ME_GO_MOTOR_EXTERN).appendField(Rt.Msg.MIXLY_ALL+Rt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Rt.ALIGN_RIGHT).appendField(Rt.Msg.blynk_IOT_IR_POWER+Rt.Msg.MIXLY_PINMODEOUT+Rt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},zl={init:function(){this.setColour(zr),this.appendDummyInput().appendField(Rt.Msg.ANALOG+Rt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_RELEASE).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ANALOG+Rt.Msg.MIXLY_KEYBOARD_INPUT)}},jl={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SPECIAL_KEY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Rt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Rt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Rt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Rt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Rt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Rt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Rt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Rt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},$l={init:function(){this.setColour(zr),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GENERAL_KEY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},Zl={init:function(){this.setColour(zr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Rt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Rt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},hm={init:function(){this.jsonInit({colour:_m,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Rt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Rt.Msg.MIXLY_MICROBIT_Built_in_image})}},mm={init:function(){this.setColour(_m),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Em={init:function(){this.setColour(_m),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(Em.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Rt.Msg.MICROBIT_DISPLAY_UNION,"add"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Om={init:function(){this.setColour(_m),this.appendValueInput("A").setCheck("esp32_image").appendField(Rt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Rm={init:function(){this.setColour(_m),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(Rm.OPERATORS),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Rt.Msg.MIXLY_UP,shift_down:Rt.Msg.MIXLY_DOWN,shift_left:Rt.Msg.MIXLY_LEFT,shift_right:Rt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Rt.Msg.MIXLY_UP,"shift_up"],[Rt.Msg.MIXLY_DOWN,"shift_down"],[Rt.Msg.MIXLY_LEFT,"shift_left"],[Rt.Msg.MIXLY_RIGHT,"shift_right"]]},cm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},gm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Cm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Sm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Am={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Clear_display);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Clear_display)}},Lm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SHOW+Rt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Dm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Dm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},fm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Fm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Fm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},Pm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},vm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(vm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Ym={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.OLED_SET_FONT).appendField(new Rt.FieldDropdown(Ym.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Rt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Rt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Rt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},Xm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},ym={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},bm={init:function(){this.setColour(_m),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Rt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},xm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Rt.Msg.TEXT_CENTER).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Vm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Bm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Um={init:function(){this.jsonInit({colour:_m,args0:[{name:"state",options:[[Rt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Rt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},wm={init:function(){this.jsonInit({colour:_m,args0:[{name:"state",options:[[Rt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Rt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Rt.Msg.mpython_vertical,"0"],[Rt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Rt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},km={init:function(){this.jsonInit({colour:_m,args0:[{name:"state",options:[[Rt.Msg.mpython_display_hline_1,"1"],[Rt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.mpython_display_line_TOOLTIP,message0:Rt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Hm={init:function(){this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Rt.FieldDropdown(Hm.IMAGES),"path"),this.setColour(_m),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},Wm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Km={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap(Km.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Jm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},qm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},Qm={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},zm={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Rt.FieldDropdown(zm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Rt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Rt.Msg.CLOCKWISE+"90"+Rt.Msg.blockpy_setheading_degree,"1"],[Rt.Msg.CLOCKWISE+"180"+Rt.Msg.blockpy_setheading_degree,"2"],[Rt.Msg.CLOCKWISE+"270"+Rt.Msg.blockpy_setheading_degree,"3"]]},jm={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Rt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$m={init:function(){this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Rt.inputs.Align.CENTRE).appendField(new Rt.FieldBitmap($m.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(_m),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Zm={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tE={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Rt.Msg.MIXLY_AipImageClassify_Image+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Rt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Rt.Msg.TEXT_CENTER).appendField(new Rt.FieldDropdown([[Rt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Rt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},iE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nE={init:function(){this.jsonInit({colour:_m,args0:[{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},sE={init:function(){this.jsonInit({colour:_m,args0:[{name:"dir_h_v",options:[[Rt.Msg.mpython_vertical,"0"],[Rt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},_E={init:function(){this.jsonInit({colour:_m,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,tooltip:Rt.Msg.mpython_display_line_TOOLTIP,message0:Rt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},oE={init:function(){this.setColour(_m),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},pE={init:function(){this.setColour(_m),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_LCD_SETCOLOR).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},aE={init:function(){this.setColour(_m),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SCREEN_FILL);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uE={init:function(){this.setColour(_m),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rE={init:function(){this.setColour(_m),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lE={init:function(){this.setColour(_m),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Rt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Rt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Rt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dE={init:function(){this.setColour(_m),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IE={init:function(){this.setColour(_m),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Rt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TE={init:function(){this.jsonInit({colour:_m,args0:[{name:"shape",options:[[Rt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Rt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Rt.Msg.mpython_HELPURL,message0:Rt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},ME={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER).appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.DRAW_POINTER_TOOLTIP)}},hE={init:function(){this.setColour(_m),this.appendDummyInput().appendField(Rt.Msg.DRAW_POINTER).appendField(Rt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.DRAW_POINTER_TOOLTIP)}},mE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR);ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},EE={init:function(){this.setColour(_m),this.appendValueInput("direct").appendField(Rt.Msg.OLED_BITMAP).appendField(Rt.Msg.MIXLY_QR_CODE),"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},OE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP).appendField(Rt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ERROR_RATE).appendField(new Rt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Rt.Msg.HTML_COLOUR),"Python ESP32-S3"===ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Rt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},RE={init:function(){this.setColour(_m),this.appendValueInput("data").appendField(Rt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},cE={init:function(){am.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},gE={init:function(){dm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},CE={init:function(){Rm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},SE={init:function(){Cm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},AE={init:function(){Sm.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},LE={init:function(){Am.init.call(this),this.appendDummyInput().appendField(`(${Rt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Rt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE=180,DE={init:function(){this.setColour(NE),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Rt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(DE.OPERATORS),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"]]},fE={init:function(){this.setColour(NE),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(fE.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Rt.Msg.MICROBIT_DISPLAY_UNION,"+"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},FE={init:function(){this.setColour(NE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Rt.FieldDropdown(FE.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE+{height:Rt.Msg.MIXLY_HEIGHT,width:Rt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Rt.Msg.MIXLY_HEIGHT,"height"],[Rt.Msg.MIXLY_WIDTH,"width"]]},PE={init:function(){this.setColour(NE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RECT).appendField(new Rt.FieldDropdown(PE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_OLED_RECT)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},vE={init:function(){this.setColour(NE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Rt.FieldDropdown(vE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},YE={init:function(){this.setColour(NE),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Rt.FieldDropdown(YE.STATUS),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},XE="#777777",yE={init:function(){this.setColour(XE),this.appendDummyInput("").appendField("from ").appendField(new Rt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Rt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bE={init:function(){this.setColour(XE),this.appendDummyInput("").appendField("import ").appendField(new Rt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xE={init:function(){this.setColour(XE),this.appendDummyInput("").appendField(new Rt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},SO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},AO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},LO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},NO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PROJECT).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},fO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.appendDummyInput().appendField(Rt.Msg.MIXLY_Service_quality_display).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_AT_MOST_ONCE,"0"],[Rt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},FO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},PO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},YO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},XO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},yO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},bO={init:function(){this.setColour(mO),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},xO={init:function(){this.setColour(mO),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},VO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},BO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Rt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},GO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+Rt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wO={init:function(){this.VISITOR_ID=ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(mO),this.appendDummyInput("").appendField(new Rt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},kO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},HO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Rt.Msg.MIXLY_REQUESTS_GET).appendField(Rt.Msg.MIXLY_GET_CURRENT_TIME).appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},KO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Rt.Msg.MQTT_Topic).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JO={init:function(){this.setColour(mO),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},qO=EO,QO=OO,zO=RO,jO=cO,$O=CO,ZO={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Rt.Msg.MODEL_NAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Rt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tR=ZO,eR={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Rt.Msg.MODEL_NAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Rt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iR={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nR={init:function(){this.setColour(mO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},sR={init:function(){this.setColour(mO),this.appendDummyInput().appendField("Ollama "+Rt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_R={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Rt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Rt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Rt.inputs.Align.RIGHT).appendField(`MixIO ${Rt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},uR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},rR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Rt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},lR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Rt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dR=225,IR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NETWORK_MODE).appendField(new Rt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},TR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Rt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Rt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Rt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Rt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},MR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},hR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Rt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},mR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},ER={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_NETWORK_WIFI_CONNECT+Rt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},OR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Rt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Rt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Rt.Msg.MIXLY_ESP32_NETWORK_IP,1:Rt.Msg.MIXLY_ESP32_NETWORK_MASK,2:Rt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},RR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},cR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Rt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},gR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Rt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Rt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},CR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},SR={init:function(){this.setColour(dR),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Rt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},AR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},LR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},NR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},DR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},fR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},FR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},PR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},vR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},YR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},XR={init:function(){this.setColour(dR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},yR={init:function(){this.setColour(dR),this.appendValueInput("DOMAIN").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_REQUESTS_GET).appendField(new Rt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},bR={init:function(){this.appendValueInput("VAL"),this.setColour(dR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown(bR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Rt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Rt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Rt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Rt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},xR={init:function(){this.appendValueInput("VAR").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(dR),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown(xR.METHOD),"DIR"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Rt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Rt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},VR={init:function(){this.setColour(dR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Rt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},BR={init:function(){this.setColour(dR),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},GR="#3288dd",UR={init:function(){this.setColour(GR),this.appendValueInput("URL").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Rt.Msg.blockpy_REQUESTS).appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},wR={init:function(){this.setColour(GR),this.appendValueInput("URL").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Rt.Msg.blockpy_CONDUCT).appendField(new Rt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Rt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Rt.Msg.blockpy_REQUESTS+Rt.Msg.OLED_STRING),this.appendDummyInput("").appendField(Rt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},kR={init:function(){this.appendValueInput("VAL"),this.setColour(GR),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown(kR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Rt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Rt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Rt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},HR={init:function(){this.setColour(GR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Rt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},WR={init:function(){this.setColour(GR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Rt.Msg.MIXLY_EMQX_PORT).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},KR={init:function(){this.setColour(GR),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Rt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},JR={init:function(){this.setColour(GR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qR={init:function(){this.setColour(GR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QR={init:function(){this.setColour(GR),this.appendDummyInput().appendField("mqtt"+Rt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},zR=100,jR={init:function(){var t=ct.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(zR),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(e),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$R={init:function(){var t=ct.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(zR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},ZR={init:function(){var t=ct.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(zR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField(Rt.Msg.MOTOR_DC).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Direction).appendField(new Rt.FieldDropdown([[Rt.Msg.CLOCKWISE,"CW"],[Rt.Msg.ANTI_CLOCKWISE,"CCW"],[Rt.Msg.MOTOR_P,"P"],[Rt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tc={init:function(){var t=ct.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(zR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField(Rt.Msg.MOTOR_DC).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ec={init:function(){var t=ct.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(zR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},ic={init:function(){var t=ct.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(zR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},nc={init:function(){var t=ct.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(zR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Rt.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},sc={init:function(){var t=ct.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==t)var e="CE G6";else if("mixgo_pe"==t)e="PE G1";this.setColour(zR),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},_c="#A58C5B",oc={init:function(){this.setColour(_c),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SENOR_IS_PRESSED)}},pc={init:function(){this.setColour(_c),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SENOR_WAS_PRESSED)}},ac={init:function(){this.setColour(_c),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_BUTTON+Rt.Msg.MIXLY_GET_PRESSES)}},uc={init:function(){this.setColour(_c),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_BUTTON).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},rc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_shake,"shake"],[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"],[Rt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Rt.Msg.MIXLY_MICROBIT_face_down,"face down"],[Rt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Rt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Rt.Msg.MSG.catSensor,s=Rt.Msg.MIXLY_MICROBIT_JS_STATE,_=Rt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Rt.Msg.MIXLY_MICROBIT_shake,up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT,"face up":Rt.Msg.MIXLY_MICROBIT_face_up,"face down":Rt.Msg.MIXLY_MICROBIT_face_down,freefall:Rt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+_}))}},lc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},dc={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Ic={init:function(){this.setColour(_c),this.appendValueInput("PIN",Number).appendField(new Rt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Ic.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Tc={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Mc={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},hc={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.TEXT_TRIM_LEFT,"left"],[Rt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Rt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=Rt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Rt.Msg.MIXLY_ESP32_NEAR;return i+{left:Rt.Msg.TEXT_TRIM_LEFT,right:Rt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},mc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Rt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},Ec={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Rt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Oc={init:function(){this.setColour(_c),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},Rc={init:function(){this.setColour(_c),this.appendDummyInput("").appendField("LM35"+Rt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LM35)}},cc={init:function(){this.setColour(_c),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Rt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Rt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Rt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Rt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Rt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Rt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Rt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Rt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Rt.Msg.HTML_COLOUR+"、"+Rt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Rt.Msg.MIXLY_NEXT+"、"+Rt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Rt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Rt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Rt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Rt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Rt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},gc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Rt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Rt.Msg.MIXLY_DELAY_TIME_RANGE)}},Cc={init:function(){this.setColour(_c),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RADAR).appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Rt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Rt.Msg.MIXLY_DELAY_TIME_RANGE)}},Sc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Ac={init:function(){this.setColour(_c),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RADAR).appendField(Rt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Lc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Nc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Rt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Rt.Msg.MIXLY_THE_FIRST,"3"],[Rt.Msg.MIXLY_THE_SECOND,"4"],[Rt.Msg.MIXLY_THE_THIRD,"5"],[Rt.Msg.MIXLY_THE_FOURTH,"6"],[Rt.Msg.MIXLY_THE_FIFTH,"7"],[Rt.Msg.MIXLY_THE_SIXTH,"8"],[Rt.Msg.MIXLY_THE_SEVENTH,"9"],[Rt.Msg.MIXLY_THE_EIGHTH,"10"],[Rt.Msg.MIXLY_THE_NINTH,"11"],[Rt.Msg.MIXLY_THE_TENTH,"12"],[Rt.Msg.MIXLY_THE_ELEVENTH,"13"],[Rt.Msg.MIXLY_THE_TWELFTH,"14"],[Rt.Msg.MIXLY_THE_13TH,"15"],[Rt.Msg.MIXLY_THE_14TH,"16"],[Rt.Msg.MIXLY_THE_15TH,"17"],[Rt.Msg.MIXLY_THE_16TH,"18"],[Rt.Msg.MIXLY_THE_17TH,"19"],[Rt.Msg.MIXLY_THE_18TH,"20"],[Rt.Msg.MIXLY_THE_19TH,"21"],[Rt.Msg.MIXLY_THE_20TH,"22"],[Rt.Msg.MIXLY_Turn_on_the_lights,"23"],[Rt.Msg.MIXLY_Turn_off_the_lights,"24"],[Rt.Msg.MIXLY_Turn_up_the_brightness,"25"],[Rt.Msg.MIXLY_Turn_down_the_brightness,"26"],[Rt.Msg.MIXLY_Set_it_to_red,"27"],[Rt.Msg.MIXLY_Set_it_to_orange,"28"],[Rt.Msg.MIXLY_Set_it_to_yellow,"29"],[Rt.Msg.MIXLY_Set_it_to_green,"30"],[Rt.Msg.MIXLY_Set_it_to_cyan,"31"],[Rt.Msg.MIXLY_Set_it_to_blue,"32"],[Rt.Msg.MIXLY_Set_it_to_purple,"33"],[Rt.Msg.MIXLY_Set_it_to_white,"34"],[Rt.Msg.MIXLY_Turn_on_the_fan,"35"],[Rt.Msg.MIXLY_Turn_off_the_fan,"36"],[Rt.Msg.MIXLY_First_gear,"37"],[Rt.Msg.MIXLY_Wind_speed_second,"38"],[Rt.Msg.MIXLY_Third_gear,"39"],[Rt.Msg.MIXLY_Previous,"40"],[Rt.Msg.MIXLY_Next_page,"41"],[Rt.Msg.MIXLY_Show_smiley_face,"42"],[Rt.Msg.MIXLY_Show_crying_face,"43"],[Rt.Msg.MIXLY_Show_love,"44"],[Rt.Msg.MIXLY_Close_display,"45"],[Rt.Msg.MIXLY_Start_execution,"46"],[Rt.Msg.MIXLY_FORWARD,"47"],[Rt.Msg.MIXLY_BACKWARD,"48"],[Rt.Msg.MIXLY_TURNLEFT,"49"],[Rt.Msg.MIXLY_TURNRIGHT,"50"],[Rt.Msg.MIXLY_STOP,"51"],[Rt.Msg.MIXLY_Accelerate,"52"],[Rt.Msg.MIXLY_retard,"53"],[Rt.Msg.ROTATION_FORWARD,"54"],[Rt.Msg.ROTATION_BACKWARD,"55"],[Rt.Msg.MIXLY_Query_temperature,"56"],[Rt.Msg.MIXLY_Query_humidity,"57"],[Rt.Msg.MIXLY_Query_brightness,"58"],[Rt.Msg.MIXLY_Query_sound,"59"],[Rt.Msg.MIXLY_Query_time,"60"],[Rt.Msg.MIXLY_Query_distance,"61"],[Rt.Msg.MIXLY_Query_pressure,"62"],[Rt.Msg.MIXLY_Query_key,"63"],[Rt.Msg.MIXLY_Query_touch,"64"],[Rt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Rt.Msg.MIXLY_WHETHER+Rt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},Dc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Rt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Rt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},fc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MP3_PLAY).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Rt.Msg.MIXLY_WIND_SPEED,"154"],[Rt.Msg.MIXLY_HYETAL,"155"],[Rt.Msg.MIXLY_TEMPERATURE,"156"],[Rt.Msg.MIXLY_Humidity,"157"],[Rt.Msg.MIXLY_Altitude,"158"],[Rt.Msg.MIXLY_SOUND,"159"],[Rt.Msg.MIXLY_BRIGHTNESS,"160"],[Rt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Rt.Msg.MIXLY_SERVO,"162"],[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Rt.Msg.MIXLY_BUTTON2,"164"],[Rt.Msg.MIXLY_ESP32_TOUCH,"165"],[Rt.Msg.MIXLY_PAY,"166"],[Rt.Msg.MIXLY_CARSH_CHANGE,"167"],[Rt.Msg.MIXLY_COUNTDOWN,"168"],[Rt.Msg.MIXLY_TIMING,"169"],[Rt.Msg.MIXLY_AT_THE_MOMENT,"170"],[Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Rt.Msg.MIXLY_FORWARD,"172"],[Rt.Msg.MIXLY_BACKWARD,"173"],[Rt.Msg.MIXLY_TURNLEFT,"174"],[Rt.Msg.MIXLY_TURNRIGHT,"175"],[Rt.Msg.MIXLY_STOP,"176"],[Rt.Msg.MIXLY_Accelerate,"177"],[Rt.Msg.MIXLY_retard,"178"],[Rt.Msg.ROTATION_FORWARD,"179"],[Rt.Msg.ROTATION_BACKWARD,"180"],[Rt.Msg.TUPLE_JOIN,"181"],[Rt.Msg.MIXLY_SHOW,"182"],[Rt.Msg.MIXLY_LAMPLIGHT,"183"],[Rt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Rt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_UNIT).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Rt.Msg.MIXLY_YEAR,"117"],[Rt.Msg.MIXLY_MONTH,"118"],[Rt.Msg.MIXLY_DAY,"119"],[Rt.Msg.MIXLY_HOUR,"120"],[Rt.Msg.MIXLY_MINUTE,"121"],[Rt.Msg.MIXLY_SECOND,"122"],[Rt.Msg.MIXLY_WEEK2,"123"],[Rt.Msg.MIXLY_RMB_UNIT,"124"],[Rt.Msg.blockpy_setheading_degree,"125"],[Rt.Msg.MIXLY_GEAR,"126"],[Rt.Msg.MIXLY_LAYER,"127"],[Rt.Msg.MIXLY_GRAM,"128"],[Rt.Msg.MIXLY_METER,"129"],[Rt.Msg.MIXLY_CENTIMETER,"130"],[Rt.Msg.MIXLY_MILLIMETER,"131"],[Rt.Msg.MIXLY_LUMEN,"132"],[Rt.Msg.MIXLY_DECIBEL,"133"],[Rt.Msg.MIXLY_hectopascal,"134"],[Rt.Msg.MIXLY_PERCENT,"135"],[Rt.Msg.MIXLY_CELSIUS,"136"],[Rt.Msg.MIXLY_METER_PER_SEC,"137"],[Rt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Rt.Msg.MIXLY_SUCCESS,"140"],[Rt.Msg.MIXLY_FAILED,"141"],[Rt.Msg.MIXLY_WRONG,"142"],[Rt.Msg.MIXLY_GOOD,"143"],[Rt.Msg.MIXLY_blockpy_set_add,"144"],[Rt.Msg.MIXLY_DECREASE,"145"],[Rt.Msg.COLOUR_RGB_RED,"146"],[Rt.Msg.COLOUR_RGB_ORANGE,"147"],[Rt.Msg.COLOUR_YELLOW,"148"],[Rt.Msg.COLOUR_RGB_GREEN,"149"],[Rt.Msg.COLOUR_CYAN,"150"],[Rt.Msg.COLOUR_RGB_BLUE,"151"],[Rt.Msg.COLOUR_RGB_PURPLE,"152"],[Rt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Fc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_SYSTEM+Rt.Msg.MIXLY_CMD).appendField(new Rt.FieldDropdown([[Rt.Msg.MILXY_ENTER_WAKE_UP,"1"],[Rt.Msg.MIXLY_INCREASE_VOLUME,"202"],[Rt.Msg.MIXLY_REDUCE_VOLUME,"203"],[Rt.Msg.MIXLY_MAX_VOLUME,"204"],[Rt.Msg.MIXLY_MINIMUM,"205"],[Rt.Msg.MIXLY_OPEN_RESPONSE,"206"],[Rt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Rt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Pc={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Rt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Rt.Msg.MIXLY_ESP32_MAX30102_IR+","+Rt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},vc={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Rt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Rt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yc={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.HTML_COLOUR+Rt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET+Rt.Msg.HTML_COLOUR,"[2]"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_IR_STRENGTH,"[1]"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.HTML_COLOUR+Rt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET+"RGB"+Rt.Msg.HTML_COLOUR,"0"],[Rt.Msg.MIXLY_GET+Rt.Msg.MIXLY_RGB_RAW,"1"],[Rt.Msg.MIXLY_GET_ENV_LIGHT+Rt.Msg.MIXLY_BRIGHTNESS,"2"],[Rt.Msg.GET_IR_STRENGTH+Rt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},bc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Rt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},xc={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Bc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Rt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},Gc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Uc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},wc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETPRESSURE,"pressure()"],[Rt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Rt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},kc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_Altitude+Rt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MIXGOPE_FIELD+Rt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Rt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_shake,"shake"],[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"],[Rt.Msg.MIXLY_MICROBIT_face_up,"face up"],[Rt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=Rt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Rt.Msg.MSG.catSensor,s=Rt.Msg.MIXLY_MICROBIT_JS_STATE,_=Rt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Rt.Msg.MIXLY_MICROBIT_shake,up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT,"face up":Rt.Msg.MIXLY_MICROBIT_face_up,"face down":Rt.Msg.MIXLY_MICROBIT_face_down}[e]+_}))}},Kc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Jc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET+Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},qc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Qc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},zc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_GETTEMPERATUE)}},jc={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return Rt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Rt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},$c={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Zc={init:function(){this.setColour(_c),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},tg={init:function(){this.setColour(_c),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Rt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},eg={init:function(){this.setColour(_c),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},ig={init:function(){this.setColour(_c),this.appendDummyInput().appendField("RFID"+Rt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},ng={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},sg={init:function(){this.setColour(_c),this.appendDummyInput().appendField(Rt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Rt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Rt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Rt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},_g={init:function(){this.setColour(_c),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RFID_SCAN_OK,"0"],[Rt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Rt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},og={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Rt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},pg={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ag={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ug={init:function(){this.setColour(_c),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},KP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},JP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},qP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},QP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},zP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},jP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},$P=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},ZP=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},tv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},ev=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},iv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},nv=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},sv=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},_v=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ov=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},pv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},av=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},uv=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},rv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"width",e.ORDER_ATOMIC),o=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},lv=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},dv=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},Iv=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Tv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},Mv=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},hv=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),_=e.valueToCode(this,"r",e.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},mv=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),_=e.valueToCode(this,"x1",e.ORDER_ATOMIC),o=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Ev=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},Ov=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},Rv=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),_=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},cv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},gv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Cv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Sv=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},Av=function(t,e){e.definitions_.import_st7789="import st7789";var i=ct.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Lv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Nv=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},Dv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},fv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Fv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Pv=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},vv=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),_=e.valueToCode(this,"x2",e.ORDER_ATOMIC),o=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Yv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),_=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},Xv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},yv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},bv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},xv=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},Vv=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=ct.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},Bv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Gv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},Uv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},kv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Hv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Wv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Kv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},Jv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},qv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},Qv=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},zv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},jv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},$v=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},Zv=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},tY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},eY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},iY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},nY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},sY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},_Y=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},oY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},pY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},aY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},uY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},rY=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},qY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},QY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},zY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},jY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"w",e.ORDER_ATOMIC),o=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},$Y=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"length",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},ZY=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),_=e.valueToCode(t,"x2",e.ORDER_ATOMIC),o=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},tX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},eX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),o=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},iX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},nX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},sX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},_X=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},oX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},pX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},aX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),_=e.valueToCode(t,"r",e.ORDER_ATOMIC),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const t=o.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},uX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ct.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},rX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},lX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},dX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"direct",e.ORDER_ATOMIC);e.valueToCode(this,"boolean",e.ORDER_ATOMIC);return"onboard_tft.qrcode("+n+")\n"},IX=function(t,e){var i=ct.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},TX=tY,MX=OY,hX=hY,mX=OY,EX=RY,OX=dY,RX=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},cX=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},gX=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},UG=function(){return"control.reset()\n"},wG=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||ct.Profile.default.serial)+")\n"},kG=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||ct.Profile.default.serial)+")\n"},HG=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},WG=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},KG=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},JG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},qG=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},QG=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},zG=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},jG=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},$G=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},ZG=function(){return"while True:\n pass\n"},tU=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},eU=function(t,e){return e.definitions_.import_os="import os","os.uname()"},iU=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},nU=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},sU=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},_U=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},oU=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},pU=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},aU=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},uU=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},rU=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},lU=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},dU=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},IU=pU,TU=aU,MU=oU,hU=iU,mU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},EU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},OU=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},RU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},cU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},gU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},CU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},SU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},AU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},LU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},NU=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},DU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},fU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},FU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},PU=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},vU='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:YU}=ct,XU=YU.render(vU,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:yU}=ct,bU=yU.render(vU,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:xU}=ct,VU=xU.render(vU,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),BU=new Rt.Generator("Python");BU.INDENT=" ",BU.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),BU.ORDER_ATOMIC=0,BU.ORDER_COLLECTION=1,BU.ORDER_STRING_CONVERSION=1,BU.ORDER_UNARY_POSTFIX=1,BU.ORDER_UNARY_PREFIX=2,BU.ORDER_MEMBER=2.1,BU.ORDER_FUNCTION_CALL=2.2,BU.ORDER_EXPONENTIATION=3,BU.ORDER_UNARY_SIGN=4,BU.ORDER_BITWISE_NOT=4,BU.ORDER_MULTIPLICATIVE=5,BU.ORDER_ADDITIVE=6,BU.ORDER_BITWISE_SHIFT=7,BU.ORDER_BITWISE_AND=8,BU.ORDER_BITWISE_XOR=9,BU.ORDER_BITWISE_OR=10,BU.ORDER_RELATIONAL=11,BU.ORDER_EQUALITY=11,BU.ORDER_LOGICAL_NOT=12,BU.ORDER_LOGICAL_AND=13,BU.ORDER_LOGICAL_OR=14,BU.ORDER_ASSIGNMENT=14,BU.ORDER_CONDITIONAL=15,BU.ORDER_LAMBDA=16,BU.ORDER_NONE=99,BU.ORDER_OVERRIDES=[[BU.ORDER_FUNCTION_CALL,BU.ORDER_MEMBER],[BU.ORDER_FUNCTION_CALL,BU.ORDER_FUNCTION_CALL],[BU.ORDER_MEMBER,BU.ORDER_MEMBER],[BU.ORDER_MEMBER,BU.ORDER_FUNCTION_CALL]],BU.init=function(){BU.PASS=this.INDENT+"pass\n",BU.definitions_=Object.create(null),BU.functionNames_=Object.create(null),BU.setups_=Object.create(null),BU.loops_=Object.create(null),BU.codeEnd_=Object.create(null),BU.variableDB_?BU.variableDB_.reset():BU.variableDB_=new At(BU.RESERVED_WORDS_)},BU.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?e.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in BU.functions_)o.push(BU.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in BU.setups_)p.push(BU.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in BU.loops_)a.push(BU.loops_[s]);var u=[];for(var s in BU.codeEnd_)u.push(BU.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+t+u.join("\n"),r},BU.scrubNakedValue=function(t){return t+"\n"},BU.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},BU.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},BU.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Rt.utils.string.wrap(_,BU.COMMENT_WRAP-3),n+=BU.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const GU={};GU["MixGo CE"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:ct.Profile.generate(["0-18","21-46"]),input_pin:ct.Profile.generate(["0-18","21-46"]),output_pin:ct.Profile.generate(["0-18","21-45"]),pwm_input:ct.Profile.generate(["0-18","21-46"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-18","21-46"],"adc","adc"),pwm_output:ct.Profile.generate(["0-18","21-45"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-18","21-45"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-18","21-45"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-18","21-45"]),pwm:ct.Profile.generate(["0-18","21-45"],"pwm","pwm"),analog_pin:ct.Profile.generate(["1-18"]),analog:ct.Profile.generate(["1-18"],"adc","adc"),dac_pin:ct.Profile.generate(["17-18"]),dac:ct.Profile.generate(["17-18"],"dac","dac"),touch:ct.Profile.generate(["1-14"],"tc","tc"),touch_pin:ct.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-15"]),exlcdv:ct.Profile.generate(["0-7"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"],["DOOR_CLOSE","onboard_matrix.DOOR_CLOSE"],["DOOR_OPEN","onboard_matrix.DOOR_OPEN"],["DOOR_OPENING","onboard_matrix.DOOR_OPENING"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},GU["ESP32S2 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:ct.Profile.generate(["0-42","45"]),input_pin:ct.Profile.generate(["0-42","45-46"]),output_pin:ct.Profile.generate(["0-42","45"]),pwm_input:ct.Profile.generate(["0-42","45-46"],"pwm","pwm"),analog_input:ct.Profile.generate(["0-18","21-46"],"adc","adc"),pwm_output:ct.Profile.generate(["0-42","45"],"pwm","pwm"),analog_output:ct.Profile.generate(["0-42","45"],"adc","adc"),espnow_channel:ct.Profile.generate(["1-13"]),haskylens_model:ct.Profile.generate(["0-4"]),digital:ct.Profile.generate(["0-42","45"],"pin","pin"),pwm_pin:ct.Profile.generate(["0-42","45"]),pwm:ct.Profile.generate(["0-42","45"],"pwm","pwm"),analog_pin:ct.Profile.generate(["1-20"]),analog:ct.Profile.generate(["1-20"],"adc","adc"),dac_pin:ct.Profile.generate(["17-18"]),dac:ct.Profile.generate(["17-18"],"dac","dac"),touch:ct.Profile.generate(["1-14"],"tc","tc"),touch_pin:ct.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:ct.Profile.generate(["0-4"]),exlcdh:ct.Profile.generate(["0-15"]),exlcdv:ct.Profile.generate(["0-7"]),brightness:ct.Profile.generate(["0-9"]),tts_voice:ct.Profile.generate(["0-16"]),tts_builtin_music:ct.Profile.generate(["0-47"]),tts_bgmusic:ct.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const UU=GU,wU=20,kU={init:function(){this.setColour(wU),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HIGH,"HIGH"],[Rt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},HU={init:function(){this.setColour(wU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},WU={init:function(){this.setColour(wU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},KU={init:function(){this.setColour(wU),this.appendValueInput("PIN",Number).appendField("DAC"+Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},JU={init:function(){this.setColour(wU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_mSecond,"period"],[Rt.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},qU={init:function(){this.setColour(wU),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_REF_VOLTAGE+Rt.Msg.MIXLY_STAT).appendField(new Rt.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},QU={init:function(){this.setColour(wU),this.appendValueInput("pin").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},zU={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},jU={init:function(){this.setColour(20),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[Rt.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[Rt.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[Rt.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},$U={init:function(){this.setColour(wU),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("dac#"),"PIN_OBJ").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+Rt.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},ZU={init:function(){this.setColour(wU),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldTextInput("tc#"),"PIN_OBJ").appendField(Rt.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(e,"PIN_OBJ")}},tw={init:function(){this.setColour(wU),this.appendValueInput("PIN",Number).appendField("PWM"+Rt.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_FREQUENCY+Rt.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},ew=jU,iw=ZU,nw=QU,sw=zU,_w=230,ow={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},pw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},aw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},uw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},rw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},lw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},dw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Iw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Tw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Mw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},hw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},mw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Ew={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},Ow={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},Rw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},cw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},gw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},Cw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},Sw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},Aw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Lw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Nw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Dw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},fw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},Fw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Pw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},vw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Yw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Xw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},yw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},bw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},xw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},Vw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Bw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Gw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},Uw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},ww={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},kw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Hw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},Ww={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},Kw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Jw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},qw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},Qw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown(ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},zw={init:function(){this.setColour(_w),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},jw=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},$w=function(t,e){e.definitions_.import_machine="import machine";var i="";return i+=e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value("+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Zw=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},tk=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".write("+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+")\n"},ek=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},ik=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},nk=function(t,e){e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger = "+n+")\n"},sk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},_k=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("dac#"==i?"dac"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},ok=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},pk=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return("tc#"==i?"tc"+n:e.variableDB_.getName(i,Rt.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},ak=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},uk=ak,rk=ak,lk=ak,dk=ak,Ik=ak,Tk=ak,Mk=ak,hk=ak,mk=ak,Ek=ak,Ok=ak,Rk=ak,ck=ak,gk=ak,Ck=ak,Sk=ak,Ak=ak,Lk=ak,Nk=ak,Dk=ak,fk=ak,Fk=ak,Pk=ak,vk=ak,Yk=ak,Xk=ak,yk=ak,bk=ak,xk=ak,Vk=ak,Bk=ak,Gk=ak,Uk=ak,wk=ak,kk=ak,Hk=ak,Wk=ak,Kk=ak,Jk=ak,qk=ak,Qk=ak,zk=ak,jk=ak,$k=ak,Zk=ak;Object.assign(Rt.Variables,Ct),Object.assign(Rt.Procedures,Bu),Object.assign(Rt.Lang.ZhHans,It),Object.assign(Rt.Lang.ZhHant,Tt),Object.assign(Rt.Lang.En,Mt),Rt.Python=Gu,Rt.generator=Gu,ct.Profile.default={},Object.assign(ct.Profile,UU),Object.assign(ct.Profile.default,UU["MixGo CE"]),Object.assign(Rt.Blocks,e,i,n,s,_,o,p,a,u,r,l,d,I,V,W,H,X,B,K,f,k,w,U,G,F,D,N,b,y,x,P,v,Y,ht,mt),Object.assign(Rt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,st,lt,rt,tt,_t,dt,Q,ut,at,pt,ot,z,q,J,it,et,nt,j,$,Z,Et,Ot)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32s2/styles/main.6b462d86.css b/boards/default/micropython_esp32s2/styles/main.67b926d4.css similarity index 97% rename from boards/default/micropython_esp32s2/styles/main.6b462d86.css rename to boards/default/micropython_esp32s2/styles/main.67b926d4.css index eae6f6ca..a0497b53 100644 --- a/boards/default/micropython_esp32s2/styles/main.6b462d86.css +++ b/boards/default/micropython_esp32s2/styles/main.67b926d4.css @@ -168,6 +168,16 @@ div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(12)>div.blocklyTr background-size: 100% auto; } +#catPE_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZDNmNzAyOWQtOWMwYy00NTRiLTllMTQtNTg0MjY3NTRiYWMyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkM2Y3MDI5ZC05YzBjLTQ1NGItOWUxNC01ODQyNjc1NGJhYzI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/zmC9wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADFklEQVR42uzXPYgdVRjG8f/znnFbEUWwFBENKVLEMosoWNiYoEnYL4MEtbAQoqsi9gHNrh+FYKKNMfeGZZeNNoKaJhIrU9ikEQnpUq2gRYp1zvtYzFxJjAlC5pImpxyGc37M+3HekW3u5NJdwLWA5fEikUGNpC2VsChZ3ha8D/zu1HzC9xEJGSQQpULb4EgiEtfSPY+EWrBMlIrbhiyVAFYWRjcHKAMDLhWh3bIu2HwmeAzxlGEd8iVquZoaHLD0hcwm1rcKAB8yfOkaQgnFr8o6jozbWEwxHhTw1njJ4I+AN0AA+4F1Uo8gX0oZarkvIkcEz9qcBx+klitDAt4DjvaAF4ANUg8Dl90foKgg9gmdAXDGspWrUwcApIVKBcC1lCh5QnDY8Bt4nzMuThVgC3oAtUBUCO+R42vgfpvVtJanBgBwJAZUC5SKZahBBEeBd4E/jZ+jLeccUwAgk/L1gAxCxvC4rE2JHU59lfByRN12HRIAXa8AFHkdIPvQROTrhD8BgX3AtWwMCgBIQDLuO+O1AJWK4UE5Tof8tK2zVTkXsDUYwAA3+QI9ANqGaNqDwJoRmD0ri6d+GgTwT0LeAqC2gabFFiF+Bp44tnBKwwCs7vBIMoMAVCqZgTKgaclaCAuaFjkuALsHA9iC/wVgIZocuQPPrsyPzg9TBVb3Vn/oDYBSHwKtBcw69UPK80Rurc6PByjDSJyB+s54A8BxJCI/dJeKB1zLhiMhkmEApXYX078BkTsNZyQ9StXJlF9R5Pbkyp4uQD4msQz8YeVe2uac5e7yGgrgPvvVJ5hS0NQnhb4B7rX5wNY76puT+7DcPsBcJro6V8YEMBPwOeFD4F+B551xcdKihweU7OaBDFTqftB6X45HjD+eDCS3C/jvkQwu9bF+QGgs+RnjH8FzynIlZYYAHE9508rvGgfAi7ZOdkOpUeRriE8B3JYFy6ejVKiFYQCjJWqppEVTC8AuhX9x6oTEDuRZmzWUh6nN1cm0MyygacntGbQ9A6VS7vnrTYVXsLacmrM5q6bfcGjA3X/DO7H+HgDRj5vujRlaHAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catPE_G1.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmEyZmFlYWEtZjcyYS1hYjQzLThkN2EtYjEwY2QxMTA3MmNiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYTJmYWVhYS1mNzJhLWFiNDMtOGQ3YS1iMTBjZDExMDcyY2I8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+wqwjaAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABl0lEQVR42uzXP0hVcRjG8c9FcI0wgsYQSWloqDEJgwYXk/6IFYaEOjQIlRTRLpTanyHIaqlQEaV0ESoXI6ccWlxCws1JwYaGltvyHrhIQ8O9ryC+0+89cA7f3znv73meUyqXy3azSvsA/wFwFw+xhSv4lAlwEit4gWNowwx68bsWAK/xHgvRX8cblKIfwHisr2Gy2gBlPMHt6C/FjhvxM64dxATa8RVd2KgmwAMMR38RsziK9R33duJDrIcwlg0AdXiJG1gLqNVMgKJOYw4N8SaGsgGKGsZ9/EIHlrIBoDlOUgveoQ9/MgGKGsSzWF+O56QCwGFM4SwW0Y3NTICiujBdMbDL2QBFfcOpCmVNB1gJf0kHuBryDa0h4SkAR+Lbt+Jz2HnaEN7C4904hsfDpJrwFv2ZQjQSPrCN85lSfAbzOIBHuJdlRvV4FcnpBy5k2nGRloqBe5oVyQ5FFjyHL6HvVYtk42GlH6PviUkulOsmnleIy1StY/kJfI/Y1RKCMh0RrCax/F91B6OhYN1hq/v/hnsH4O8A38/3wXV4mTEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + #catCC_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTgzOWI5NTgtMjZhNy1kYTQwLTg1NDQtZWRkY2UzZjYzYmNhPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplODM5Yjk1OC0yNmE3LWRhNDAtODU0NC1lZGRjZTNmNjNiY2E8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+w67uMwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAFA0lEQVR42sSXS6hkVxWGv3/tfW4bgxIJNK1RuKJ4J42PgWJGCUkEHwMHcZSbgYKQgWRqRKI4izF3IoiERnzQ3pkRRwaFpB21GATRJpDuIDFog23EGNMm3XXOXr+DU1W36tbDJhlkD+ucOvtba/3r32vLNm/l0uHBfXdJfOSN/h+7DarnWpQ/iTEYI2SzkxOESQcArRSGqGghaB0e7P8W+OSbCGIw+klKX8ZLZBTaCGRtBfCU+iLYQNzoxsDbBbvAZSfvnT0wIpRIvmGAl2xOzlK1IdeglZ9vDvkq8HxaH1p8UNTmGyXx/wFInyTAEhzTpWQaBaWRPb4zrltD/ucigNG4eRijEbrxpMwHhlI+00f353AeAzBXpDyl4o3RX9PbaC7UHIicf+C2kP8GXEprbx59NDKCzDHyIM+Gfb/R633Uj1m6uAhwbRrlGcbY19TB0ahnmuKPAKW17QAaAdxEaY2sAdKjkflVS6/YvCecr80A/gW8a8yVNyqA5CvG3wcWS7ACEE4UHjNAoQ49GcH1ukPX2g9rDl9CPpfEXZbQ4cH+AFwF7t0meVsXDP849vMcoFl7YRNuEPFwhqrRt5QmS4EYn0XjBVu7rcbnMuKXMxFewT6FtA1gXX6WM6AxO+F0GCw/k9an+rrzn+qBkgMmbhecR7yYYncG8Hfsd/sYgOy5KuzYCuBkr0Wh7zq6Nvlg19oPEHckerZFOW1EbQMiQboAOp3SJ3R4sD8BesM3jgoOwAmZ87Z/M+3F0VC0OQOy6WtHkJRsCM7JvtPSd4YoD4WTaAnSA4jHDQc6PNh/GbhlbdrRU2ndo43iXAVoUXBopumbuhz+C6gR7wRenXrAnuA5i9/r8GC/BybYDy61oelU+IMifzezUlvz3t7WhtTRO4wI+6wa9zfpCyk9UTIRrkg90C9p4Fj4qHhsqQwiRm/v+w5bM59fCxDMzgFj4gHQ49hfF37EsxpKLwO3LANsOYYUSYmktcIw1DcEADyy4O9zgLEEmpdAqy5EAX4dkX+xRWvlBkowraf9UzX2m3RvSj8vmciuhHpgslWEyz4QDyZ875ggVwBk4xB9qYS9KMJ3AFfnIhTPmVGEE6DH/uaWDHRYPzM8fyNWbAmHCHvWho8OUb62pg0f2yzC1Z6cr1SstWJhSiYZ8T6Js8J3GD07LBmRQVwAnbb08a1WbIRtgukcgBY3Xz0Lxjc6FJPpF56xdc+k7rzauR9PRpXbhc8jv5jS7tbDyOivaS5pNhF5Kf3LJUj2HEHWiDoM35V4JdHDaqaVgooZS+AXjHZbic9m6MmF43ht8/3K6U+PaR8xtonQEn3tONGuI8zgyg4TmgrX4wQ1hx91OXzR4unmcvfsOL42jfYMPnJC4ZKKp1rEE7YoNKoGMsdJZ50PyGYolUIjSByiU8/QKk59u8gPJfq3zW2yX1ucCa/YnEoLpjOhnAy14hp02VNoRzo4gljpAksESWUYQzGkyy+MPg+83kf9qKVLq0Opx6F0SQPTjwU5n2znQ2orOOPWiFwaSuVxGnJoCgzFvhxu2Ue9cyjrh9KXFHmSmDv1aAg+6oZ1KzNu1ijgFYC+dnO9lNZqyTZkBEPZcDGRfNEbh9K1U+IA3GTr/YbLTC8mllCaVsuofpvIcT7YBPBmr2bN6MeLVzMx3h1mm20HeOy+u018mO1j8cZECGeLeHrxcjqr4cwztgK81dfz/w0AHjWdyjCbBL0AAAAASUVORK5CYII=) no-repeat; background-size: 100% auto; diff --git a/boards/default/micropython_esp32s3/index.xml b/boards/default/micropython_esp32s3/index.xml index e9cf5aea..3da882ff 100644 --- a/boards/default/micropython_esp32s3/index.xml +++ b/boards/default/micropython_esp32s3/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,01001001004401000/sd/1.wav5/sd/1.wavhttps://gitee.com/dahanzimin/test/raw/master/wav/8.wav44044010000100412000000000001000100010020000Hello, Mixly!10001#ffffff255,255,0Mixly0Mixly0010#ffffff255,255,0Mixly001#ffffff255,255,0mixly.jpgmixlyMixly001#ffffff255,255,0MixlyMixly0550#ffffff255,255,0MixlyMixly5500#ffffff255,255,00020#ffffff255,255,0005050#ffffff255,255,020202015#ffffff255,255,0606040#ffffff255,255,010000#ffffff255,255,00.5#ffffff255,255,0new_clock16012040#ffffff255,255,0new_clock806440#ffffff255,255,0new_clock12012040#ffffff255,255,0new_clocknew_clock8200new_clocknew_clock0x0000000,0,00#ffffff255,255,0你们,米思齐3mixly.jpgimageModelModelModelnameModelModelModelModelModelModelModelModelimageimage90imageimagemixly.jpg90imagemixly.jpg240240imagehttps://gitee.com/dahanzimin/test/raw/master/pic/mixly.jpg240240mixly.jpgmixly.jpg00imageimage00240240imageimage00ModelModelface.dbModelModel256Model0,0,0255,255,255color256ModelimagenameModel1ModelModel_resultsModelimage_results_results_results0_results0_results0_results0_results000Mixly0Mixly5000500wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cn12.jpgwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!10i2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr123ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensorzsensorweight12500weightKEYPAD_4_4123A456B789C*0#DKEYPAD_4_4var_re345rotary_cbrotary_cbmidi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3100100i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrixmatrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsspi46sdsd/sdfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,01001001004401000/sd/1.wav5/sd/1.wavhttps://gitee.com/dahanzimin/test/raw/master/wav/8.wav44044010000100412000000000001000100010020000Hello, Mixly!10001#ffffff255,255,0Mixly0Mixly0010#ffffff255,255,0Mixly001#ffffff255,255,0mixly.jpgmixlyMixly001#ffffff255,255,0MixlyMixly0550#ffffff255,255,0MixlyMixly5500#ffffff255,255,00020#ffffff255,255,0005050#ffffff255,255,020202015#ffffff255,255,0606040#ffffff255,255,010000#ffffff255,255,00.5#ffffff255,255,0new_clock16012040#ffffff255,255,0new_clock806440#ffffff255,255,0new_clock12012040#ffffff255,255,0new_clocknew_clock8200new_clocknew_clock0x0000000,0,00#ffffff255,255,0你们,米思齐3mixly.jpgimageModelModelModelnameModelModelModelModelModelModelModelModelimageimage90imageimagemixly.jpg90imagemixly.jpg240240imagehttps://gitee.com/dahanzimin/test/raw/master/pic/mixly.jpg240240mixly.jpgmixly.jpg00imageimage00240240imageimage00ModelModelface.dbModelModel256Model0,0,0255,255,255color256ModelimagenameModel1ModelModel_resultsModelimage_results_results_results0_results0_results0_results0_results0i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pe00Mixly0Mixly5000500wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cn12.jpgwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!10i2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr123ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensorzsensorweight12500weightKEYPAD_4_4123A456B789C*0#DKEYPAD_4_4var_re345rotary_cbrotary_cbmidi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3100100i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrixmatrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsspi46sdsd/sdfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/main.bundle.3a511bf2.js b/boards/default/micropython_esp32s3/main.bundle.3a511bf2.js new file mode 100644 index 00000000..63dbcf6f --- /dev/null +++ b/boards/default/micropython_esp32s3/main.bundle.3a511bf2.js @@ -0,0 +1,21 @@ +(()=>{"use strict";var e={d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{controls_type:()=>ve,controls_typeLists:()=>Xe,lists_zip:()=>ye,lists_zip_container:()=>xe,lists_zip_item:()=>be,unpack_iterable_object:()=>Ve,variables_change:()=>Pe,variables_get:()=>fe,variables_global:()=>Ye,variables_set:()=>Fe});var i={};e.r(i),e.d(i,{base_setup:()=>Ue,controls_delay:()=>we,controls_end_program:()=>He,controls_except:()=>it,controls_finally:()=>nt,controls_flow_statements:()=>ze,controls_for:()=>qe,controls_forEach:()=>Ke,controls_for_range:()=>je,controls_if:()=>ke,controls_if_else:()=>et,controls_if_elseif:()=>Ze,controls_if_if:()=>$e,controls_lambda:()=>_t,controls_main:()=>Ge,controls_pass:()=>ot,controls_range:()=>We,controls_repeat_ext:()=>st,controls_thread:()=>pt,controls_try:()=>tt,controls_try_finally:()=>Qe,controls_whileUntil:()=>Je,datetime_fromtimestamp:()=>It,do_while:()=>at,garbage_collection:()=>ut,gene_unique_identifier:()=>Tt,get_mem_alloc:()=>rt,get_mem_free:()=>lt,get_unique_identifier:()=>dt});var n={};e.r(n),e.d(n,{base_map:()=>yt,generate_cartesian_product:()=>bt,math_arithmetic:()=>Ot,math_bit:()=>ct,math_constant:()=>mt,math_constant_mp:()=>Et,math_constrain:()=>Dt,math_dec:()=>Ct,math_degree_to_radian:()=>Bt,math_indexer_number:()=>Ft,math_map:()=>ft,math_max_min:()=>At,math_number:()=>ht,math_number_base_conversion:()=>Lt,math_radian_to_degree:()=>Vt,math_random:()=>Nt,math_random_seed:()=>Pt,math_round:()=>Yt,math_selfcalcu:()=>Rt,math_to_int:()=>St,math_trig:()=>gt,text_to_number:()=>vt,text_to_number_skulpt:()=>Xt,turn_to_int:()=>xt});var s={};e.r(s),e.d(s,{ascii_to_char:()=>Kt,char_to_ascii:()=>Jt,number_to_text:()=>Qt,os_system:()=>Oi,text:()=>Ut,text_bytes:()=>Ht,text_capital:()=>ni,text_center:()=>si,text_char:()=>kt,text_char_at:()=>jt,text_char_at2:()=>qt,text_char_at3:()=>Mi,text_compareTo:()=>Ti,text_compare_to:()=>ii,text_create_with_container:()=>li,text_create_with_item:()=>di,text_encode:()=>mi,text_equals_starts_ends:()=>ti,text_eval:()=>Ei,text_find:()=>_i,text_format:()=>ri,text_format_noreturn:()=>hi,text_join:()=>Wt,text_join_seq:()=>oi,text_length:()=>zt,text_random_char:()=>$t,text_replace:()=>pi,text_split:()=>ai,text_strip:()=>ui,text_substring:()=>ei,text_substring2:()=>Zt,text_substring3:()=>Ii,text_textarea:()=>wt});var _={};e.r(_),e.d(_,{ENUMERATE:()=>tn,content_in_lists:()=>sn,enumerate:()=>nn,list_many_input:()=>wi,list_tolist:()=>Ki,list_tolist2:()=>en,list_trig:()=>Bi,lists_2d_get_col_row_data:()=>Si,lists_2d_get_data_with_col_row:()=>Ci,lists_append_extend:()=>Fi,lists_change_to:()=>Ui,lists_change_to_general:()=>ki,lists_clear:()=>yi,lists_create_with:()=>Ai,lists_create_with2:()=>Ji,lists_create_with_container:()=>Ni,lists_create_with_item:()=>Di,lists_create_with_noreturn:()=>Hi,lists_create_with_text:()=>Li,lists_create_with_text2:()=>Qi,lists_del_general:()=>Wi,lists_find:()=>Vi,lists_getIndex3:()=>zi,lists_getSublist3:()=>qi,lists_get_index:()=>ci,lists_get_random_item:()=>Pi,lists_get_random_sublist:()=>Yi,lists_get_sublist:()=>gi,lists_insert_value:()=>vi,lists_insert_value2:()=>$i,lists_pop:()=>bi,lists_remove_at:()=>xi,lists_remove_at2:()=>Zi,lists_reverse:()=>Xi,lists_setIndex3:()=>ji,lists_set_index:()=>fi,lists_sort:()=>Gi});var o={};e.r(o),e.d(o,{dicts_add_change_del:()=>Rn,dicts_add_or_change:()=>dn,dicts_clear:()=>Mn,dicts_create_with:()=>on,dicts_create_with_container:()=>pn,dicts_create_with_item:()=>an,dicts_create_with_noreturn:()=>Cn,dicts_deldict:()=>On,dicts_delete:()=>In,dicts_get:()=>rn,dicts_get_default:()=>ln,dicts_items:()=>hn,dicts_keys:()=>un,dicts_length:()=>En,dicts_pop:()=>cn,dicts_setdefault:()=>gn,dicts_to_json:()=>An,dicts_to_json2:()=>Dn,dicts_to_to:()=>Nn,dicts_todict:()=>Sn,dicts_update:()=>Tn,dicts_values:()=>mn,json_to_dicts:()=>Ln});var p={};e.r(p),e.d(p,{logic_boolean:()=>Xn,logic_compare:()=>Fn,logic_compare_continous:()=>Pn,logic_is:()=>Vn,logic_is_in:()=>bn,logic_negate:()=>vn,logic_null:()=>yn,logic_operation:()=>Yn,logic_tobool:()=>Bn,logic_true_or_false:()=>xn});var a={};e.r(a),e.d(a,{sdcard_mount:()=>as,sdcard_use_spi_init:()=>ps,storage_can_write_ornot:()=>Qn,storage_change_dir:()=>_s,storage_close_file:()=>qn,storage_delete_file:()=>$n,storage_file_seek:()=>ts,storage_file_tell:()=>es,storage_file_write:()=>kn,storage_fileopen:()=>Un,storage_fileopen_new:()=>wn,storage_fileopen_new_encoding:()=>Hn,storage_get_a_line:()=>Jn,storage_get_contents:()=>Kn,storage_get_contents_without_para:()=>Wn,storage_get_current_dir:()=>is,storage_get_file_size:()=>Zn,storage_get_filename:()=>zn,storage_is_file:()=>os,storage_list_all_files:()=>jn,storage_make_dir:()=>ns,storage_open_file_with_os:()=>Gn,storage_rename:()=>ss});var u={};e.r(u),e.d(u,{procedures_callnoreturn:()=>Is,procedures_callreturn:()=>Ts,procedures_defnoreturn:()=>us,procedures_defreturn:()=>rs,procedures_ifreturn:()=>Ms,procedures_mutatorarg:()=>ds,procedures_mutatorcontainer:()=>ls,procedures_return:()=>hs});var r={};e.r(r),e.d(r,{tuple_change_to:()=>Ds,tuple_create_llm_params:()=>bs,tuple_create_with:()=>Es,tuple_create_with_container:()=>Os,tuple_create_with_item:()=>Rs,tuple_create_with_noreturn:()=>Ys,tuple_create_with_text2:()=>cs,tuple_create_with_text_return:()=>gs,tuple_del:()=>As,tuple_find:()=>fs,tuple_getIndex:()=>Cs,tuple_getSublist:()=>Ps,tuple_get_random_item:()=>Xs,tuple_get_sublist:()=>vs,tuple_input:()=>xs,tuple_join:()=>Ls,tuple_length:()=>Ss,tuple_max:()=>Ns,tuple_totuple:()=>ys,tuple_trig:()=>Fs});var l={};e.r(l),e.d(l,{set_add_discard:()=>Js,set_clear:()=>ks,set_create_with:()=>Bs,set_create_with_container:()=>Gs,set_create_with_item:()=>Us,set_create_with_text_return:()=>qs,set_length:()=>ws,set_operate:()=>Ws,set_operate_update:()=>Ks,set_pop:()=>Hs,set_sub:()=>Qs,set_toset:()=>js,set_update:()=>zs});var d={};e.r(d),e.d(d,{html_content:()=>i_,html_content_more:()=>n_,html_document:()=>Zs,html_form:()=>__,html_head_body:()=>t_,html_style:()=>s_,html_style_color:()=>p_,html_style_content:()=>o_,html_text:()=>a_,html_title:()=>e_});var I={};e.r(I),e.d(I,{attribute_access:()=>g_,function_call:()=>O_,function_call_container:()=>R_,function_call_item:()=>c_,raw_block:()=>l_,raw_empty:()=>I_,raw_expression:()=>d_,raw_table:()=>r_,text_comment:()=>T_,text_print_multiple:()=>h_,text_print_multiple_container:()=>m_,text_print_multiple_item:()=>E_,type_check:()=>M_});var T={};e.r(T),e.d(T,{controls_type:()=>N_,controls_typeLists:()=>D_,lists_zip:()=>f_,unpack_iterable_object:()=>F_,variables_change:()=>A_,variables_get:()=>C_,variables_global:()=>L_,variables_set:()=>S_});var M={};e.r(M),e.d(M,{Panic_with_status_code:()=>G_,base_setup:()=>Y_,controls_delay:()=>B_,controls_flow_statements:()=>V_,controls_for:()=>y_,controls_forEach:()=>W_,controls_for_range:()=>x_,controls_if:()=>v_,controls_interrupts:()=>H_,controls_lambda:()=>J_,controls_main:()=>P_,controls_millis:()=>U_,controls_nointerrupts:()=>k_,controls_pass:()=>z_,controls_range:()=>K_,controls_repeat:()=>no,controls_repeat_ext:()=>$_,controls_thread:()=>q_,controls_try_finally:()=>X_,controls_whileUntil:()=>b_,datetime_fromtimestamp:()=>so,do_while:()=>j_,garbage_collection:()=>Z_,gene_unique_identifier:()=>_o,get_mem_alloc:()=>eo,get_mem_free:()=>to,get_unique_identifier:()=>io,reset:()=>w_,time_sleep:()=>Q_});var h={};e.r(h),e.d(h,{base_map:()=>No,generate_cartesian_product:()=>fo,math_arithmetic:()=>ro,math_bit:()=>uo,math_constant:()=>po,math_constant_mp:()=>ao,math_constrain:()=>Ro,math_dec:()=>Mo,math_degree_to_radian:()=>Po,math_indexer_number:()=>Co,math_map:()=>Oo,math_max_min:()=>mo,math_number:()=>oo,math_number_base_conversion:()=>co,math_radian_to_degree:()=>Fo,math_random:()=>Eo,math_random_seed:()=>go,math_round:()=>So,math_selfcalcu:()=>lo,math_single:()=>Io,math_to_int:()=>ho,math_trig:()=>To,text_to_number:()=>Ao,text_to_number_skulpt:()=>Lo,turn_to_int:()=>Do});var m={};e.r(m),e.d(m,{ascii_to_char:()=>bo,char_to_ascii:()=>Vo,number_to_text:()=>Bo,os_system:()=>ap,text:()=>Yo,text_bytes:()=>Xo,text_capital:()=>Qo,text_center:()=>zo,text_char:()=>yo,text_char_at:()=>wo,text_char_at2:()=>Uo,text_char_at3:()=>_p,text_compareTo:()=>sp,text_compare_to:()=>Wo,text_encode:()=>op,text_equals_starts_ends:()=>ko,text_eval:()=>pp,text_find:()=>qo,text_format:()=>tp,text_format_noreturn:()=>ip,text_join:()=>xo,text_join_seq:()=>jo,text_length:()=>Go,text_random_char:()=>Ho,text_replace:()=>$o,text_split:()=>Zo,text_strip:()=>ep,text_substring:()=>Jo,text_substring2:()=>Ko,text_substring3:()=>np,text_textarea:()=>vo});var E={};e.r(E),e.d(E,{content_in_lists:()=>wp,enumerate:()=>Up,list_many_input:()=>Dp,list_tolist:()=>Bp,list_tolist2:()=>Gp,list_trig:()=>Ap,lists_2d_get_col_row_data:()=>lp,lists_2d_get_data_with_col_row:()=>rp,lists_append_extend:()=>hp,lists_change_to:()=>Np,lists_change_to_general:()=>Fp,lists_clear:()=>cp,lists_create_with:()=>dp,lists_create_with2:()=>Yp,lists_create_with_noreturn:()=>fp,lists_create_with_text:()=>Ip,lists_create_with_text2:()=>vp,lists_del_general:()=>Pp,lists_find:()=>gp,lists_getIndex3:()=>Xp,lists_getSublist3:()=>yp,lists_get_index:()=>Tp,lists_get_random_item:()=>mp,lists_get_random_sublist:()=>Ep,lists_get_sublist:()=>up,lists_insert_value:()=>Op,lists_insert_value2:()=>bp,lists_pop:()=>Sp,lists_remove_at:()=>Cp,lists_remove_at2:()=>Vp,lists_reverse:()=>Rp,lists_setIndex3:()=>xp,lists_set_index:()=>Mp,lists_sort:()=>Lp});var O={};e.r(O),e.d(O,{dicts_add_change_del:()=>ta,dicts_add_or_change:()=>Jp,dicts_clear:()=>qp,dicts_create_with:()=>Hp,dicts_create_with_noreturn:()=>sa,dicts_deldict:()=>ea,dicts_delete:()=>Qp,dicts_get:()=>Wp,dicts_get_default:()=>Kp,dicts_items:()=>jp,dicts_keys:()=>kp,dicts_length:()=>Zp,dicts_pop:()=>ia,dicts_setdefault:()=>na,dicts_to_json:()=>oa,dicts_to_json2:()=>ua,dicts_to_to:()=>aa,dicts_todict:()=>_a,dicts_update:()=>zp,dicts_values:()=>$p,json_to_dicts:()=>pa});var R={};e.r(R),e.d(R,{logic_boolean:()=>Ta,logic_compare:()=>ra,logic_compare_continous:()=>la,logic_is:()=>Ea,logic_is_in:()=>ma,logic_negate:()=>Ia,logic_null:()=>Ma,logic_operation:()=>da,logic_tobool:()=>Oa,logic_true_or_false:()=>ha});var c={};e.r(c),e.d(c,{sdcard_mount:()=>wa,sdcard_use_spi_init:()=>Ua,storage_can_write_ornot:()=>Da,storage_change_dir:()=>xa,storage_close_file:()=>Fa,storage_delete_file:()=>Ya,storage_file_seek:()=>ya,storage_file_tell:()=>Xa,storage_file_write:()=>Sa,storage_fileopen:()=>ca,storage_fileopen_new:()=>ga,storage_fileopen_new_encoding:()=>Ca,storage_get_a_line:()=>Na,storage_get_contents:()=>La,storage_get_contents_without_para:()=>Aa,storage_get_current_dir:()=>ba,storage_get_file_size:()=>va,storage_get_filename:()=>fa,storage_is_file:()=>Ga,storage_list_all_files:()=>Pa,storage_make_dir:()=>Va,storage_open_file_with_os:()=>Ra,storage_rename:()=>Ba});var g={};e.r(g),e.d(g,{procedures_callnoreturn:()=>Ka,procedures_callreturn:()=>Wa,procedures_defnoreturn:()=>ka,procedures_defreturn:()=>Ha,procedures_ifreturn:()=>Ja,procedures_return:()=>Qa});var C={};e.r(C),e.d(C,{tuple_change_to:()=>nu,tuple_create_llm_params:()=>du,tuple_create_with:()=>za,tuple_create_with_noreturn:()=>pu,tuple_create_with_text2:()=>qa,tuple_create_with_text_return:()=>ja,tuple_del:()=>eu,tuple_find:()=>su,tuple_getIndex:()=>$a,tuple_getSublist:()=>ou,tuple_get_random_item:()=>uu,tuple_get_sublist:()=>au,tuple_input:()=>lu,tuple_join:()=>tu,tuple_length:()=>Za,tuple_max:()=>iu,tuple_totuple:()=>ru,tuple_trig:()=>_u});var S={};e.r(S),e.d(S,{set_add_discard:()=>Ou,set_clear:()=>hu,set_create_with:()=>Iu,set_create_with_text_return:()=>gu,set_length:()=>Tu,set_operate:()=>mu,set_operate_update:()=>Eu,set_pop:()=>Mu,set_sub:()=>Ru,set_toset:()=>Cu,set_update:()=>cu});var A={};e.r(A),e.d(A,{html_content:()=>Nu,html_content_more:()=>Du,html_document:()=>Su,html_form:()=>Fu,html_head_body:()=>Lu,html_style:()=>fu,html_style_content:()=>Pu,html_text:()=>Yu,html_title:()=>Au});var L={};e.r(L),e.d(L,{attribute_access:()=>Bu,function_call:()=>Vu,raw_block:()=>vu,raw_empty:()=>yu,raw_expression:()=>Xu,raw_table:()=>xu,type_check:()=>bu});var N={};e.r(N),e.d(N,{PIN_init:()=>Kr,actuator_extern_get_led_bright:()=>tr,actuator_extern_get_led_state:()=>ir,actuator_extern_led_bright:()=>er,actuator_extern_led_brightness:()=>nr,actuator_ms32006_dcmotor:()=>dr,actuator_ms32006_init:()=>lr,actuator_ms32006_stepper:()=>Ir,actuator_neopixel_init:()=>Tr,actuator_neopixel_rgb:()=>Mr,actuator_neopixel_rgb_all:()=>hr,actuator_neopixel_rgb_show_all_chase:()=>Or,actuator_neopixel_rgb_show_all_rainbow:()=>Er,actuator_neopixel_write:()=>mr,actuator_use_uart_init:()=>Rr,backstage_esp32_music_play_list:()=>Qu,esp32_music_get_tempo_extern:()=>qu,esp32_music_pitch:()=>Wu,esp32_music_pitch_init:()=>ku,esp32_music_pitch_with_time:()=>Ku,esp32_music_play_list:()=>Ju,esp32_music_reset_extern:()=>ju,esp32_music_set_tempo_extern:()=>zu,esp32_music_stop:()=>$u,esp32_set_music_volume:()=>Zu,mixbot_actuator_extern_get_addr:()=>kr,mixbot_actuator_extern_set_addr:()=>Wr,mixbot_addr_extern:()=>Pr,parrot_PIN_init:()=>qr,parrot_move_speed:()=>jr,pin_led_bright:()=>Jr,player_insert_music:()=>Lr,player_play_music:()=>Ar,player_set_mode:()=>Sr,player_set_play:()=>gr,player_set_volume:()=>Cr,player_whether_stop:()=>cr,robot_led_extern:()=>yr,robot_led_extern_get_value:()=>xr,robot_motor_extern:()=>Yr,robot_motor_extern_get_speed:()=>vr,robot_servo_extern_absolute_run:()=>Gr,robot_servo_extern_get_status:()=>br,robot_servo_extern_relative_continue:()=>Hr,robot_servo_extern_relative_origin:()=>Ur,robot_servo_extern_relative_run:()=>wr,robot_servo_extern_stop:()=>Br,robot_servo_extern_stop_mode:()=>Vr,robot_traffic_light_extern:()=>Xr,servo_PIN_init:()=>Qr,servo_get_angle:()=>ur,servo_get_speed:()=>rr,servo_init:()=>sr,servo_move:()=>_r,servo_move_angle:()=>zr,servo_set_angle:()=>pr,servo_set_speed:()=>ar,servo_speed_360:()=>or,syn6288_builtin_voice:()=>fr,syn6288_get_voice:()=>Dr,syn6288_set_voice:()=>Nr,syn6288_tts_play:()=>Fr});var D={};e.r(D),e.d(D,{actuator_dc_motor:()=>Fl,actuator_dc_motor_stop:()=>Pl,actuator_get_led_bright:()=>il,actuator_get_led_state:()=>nl,actuator_led_bright:()=>tl,actuator_led_brightness:()=>sl,actuator_mixbot_buzzer_on_off:()=>xl,actuator_mixgo_nova_mic_get:()=>Ul,actuator_mixgo_nova_mic_set:()=>Gl,actuator_mixgo_nova_onboard_music_pitch:()=>Jl,actuator_mixgo_nova_onboard_music_stop:()=>Ql,actuator_mixgo_nova_play_audio:()=>Wl,actuator_mixgo_nova_play_online_audio:()=>Kl,actuator_mixgo_nova_record_audio:()=>kl,actuator_mixgo_nova_voice_get:()=>Hl,actuator_mixgo_nova_voice_set:()=>wl,actuator_mixgo_zero_led_color:()=>_l,actuator_onboard_neopixel_rgb:()=>ll,actuator_onboard_neopixel_rgb_all:()=>dl,actuator_onboard_neopixel_rgb_show_all_chase:()=>Tl,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Il,actuator_onboard_neopixel_write:()=>Ml,actuator_rm_onboard_neopixel_rgb:()=>hl,actuator_rm_onboard_neopixel_rgb_all:()=>ml,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>El,actuator_stepper_keep:()=>Dl,actuator_stepper_stop:()=>fl,analog_ble_keyboard_init:()=>ad,analog_ble_keyboard_input:()=>ld,analog_ble_keyboard_mouse_init:()=>Od,analog_ble_keyboard_mouse_input:()=>Cd,analog_ble_keyboard_mouse_send_battery:()=>gd,analog_ble_keyboard_mouse_str:()=>Sd,analog_ble_keyboard_send_battery:()=>Id,analog_ble_keyboard_str:()=>dd,analog_ble_mouse_init:()=>Td,analog_ble_mouse_input:()=>md,analog_ble_mouse_keyboard_input:()=>Ad,analog_ble_mouse_send_battery:()=>Ed,analog_keyboard_input:()=>Zl,analog_keyboard_str:()=>pd,analog_mouse_input:()=>_d,backstage_onboard_music_play_list:()=>Ll,bitbot_motor:()=>Bl,bitbot_move:()=>bl,bitbot_stop:()=>Vl,ble_keyboard_connect:()=>rd,ble_keyboard_get_mac:()=>ud,ble_keyboard_mouse_connect:()=>cd,ble_keyboard_mouse_get_mac:()=>Rd,ble_mouse_connect:()=>hd,ble_mouse_get_mac:()=>Md,cc_number:()=>rl,educore_ble_keyboard_input:()=>yd,educore_ble_sensor_connected:()=>Xd,educore_ble_sensor_init:()=>vd,educore_buzzer:()=>Ld,educore_buzzer_play_tone:()=>Nd,educore_buzzer_play_tone_time:()=>Dd,educore_buzzer_stop:()=>fd,educore_neopixel_clear:()=>Yd,educore_neopixel_rgb:()=>Pd,educore_rgb_light:()=>Fd,esp32_music_get_tempo:()=>Rl,esp32_music_reset:()=>cl,esp32_music_set_tempo:()=>Ol,esp32_onboard_music_pitch:()=>gl,esp32_onboard_music_pitch_with_time:()=>Cl,esp32_onboard_music_play_list:()=>Al,esp32_onboard_music_stop:()=>Sl,general_key:()=>td,general_key_tuple:()=>id,generalkey_container:()=>nd,generalkey_create_with_item:()=>sd,get_keyboard_light:()=>xd,get_power_output:()=>ql,ledswitch:()=>el,mixbot_motor:()=>yl,mixbot_motor_status:()=>Yl,mixbot_move:()=>vl,mixbot_stop:()=>Xl,mouse_key:()=>od,number:()=>Zr,record_audio:()=>Vd,rm_actuator_get_led_bright:()=>pl,rm_actuator_get_led_state:()=>al,rm_actuator_led_bright:()=>ol,rm_actuator_led_brightness:()=>ul,rm_motor:()=>Nl,set_all_power_output:()=>jl,set_microphone_amplification:()=>bd,set_music_volume:()=>Bd,set_part_power_output:()=>$l,set_power_output:()=>zl,special_key:()=>ed});var f={};e.r(f),e.d(f,{ai_sensor_20object:()=>OI,ai_sensor_ailocal_class:()=>aI,ai_sensor_ailocal_class_result:()=>uI,ai_sensor_ailocal_train:()=>pI,ai_sensor_asr_recognize:()=>TI,ai_sensor_audio_play:()=>lI,ai_sensor_audio_record:()=>rI,ai_sensor_barcode:()=>Jd,ai_sensor_circle:()=>Zd,ai_sensor_classifier_faces:()=>EI,ai_sensor_color:()=>nI,ai_sensor_color_chases:()=>oI,ai_sensor_color_chases_result:()=>_I,ai_sensor_config:()=>Wd,ai_sensor_face:()=>mI,ai_sensor_find_20objects:()=>RI,ai_sensor_find_barcodes:()=>Qd,ai_sensor_find_circles:()=>eI,ai_sensor_find_colors:()=>sI,ai_sensor_find_licenseplates:()=>hI,ai_sensor_find_lines:()=>$d,ai_sensor_find_qrcodes:()=>kd,ai_sensor_find_rects:()=>iI,ai_sensor_find_tags:()=>qd,ai_sensor_licenseplate:()=>MI,ai_sensor_line:()=>jd,ai_sensor_qrcode:()=>wd,ai_sensor_qrcode_lite:()=>Hd,ai_sensor_rect:()=>tI,ai_sensor_rgb:()=>Kd,ai_sensor_tag:()=>zd,ai_sensor_use_uart_init:()=>Ud,ai_sensor_yolo_recognize:()=>dI,ai_sensor_yolo_recognize_result:()=>II});var F={};e.r(F),e.d(F,{MICROPYTHON_AI_Speech_asr:()=>CI,MICROPYTHON_AI_Speech_unit:()=>gI,MICROPYTHON_AI_client:()=>cI});var P={};e.r(P),e.d(P,{AI_CAMERA_INIT:()=>ZI,AI_CAMERA_INIT_FACERECOGNIZE:()=>iT,AI_CAMERA_INIT_SIMPLE:()=>DT,AI_STOP_ACQUISITION:()=>AT,CAMERA_LOOGOUT:()=>wI,CI130X_BROADCAST_SANT:()=>XI,CI130X_BROADCAST_SYSTEM_TIME:()=>xI,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>vI,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>YI,CI130X_IDENTIFY_AND_SAVE_SANT:()=>PI,CI130X_OPEN_AND_CLOSE:()=>fI,CI130X_PLAY_SYSTEM_CMD_SANT:()=>FI,CI130X_SET_SYSTEM_CMD_SANT:()=>yI,CONVERT_IMAGE_TO_JPG:()=>WI,CREATE_CAMERA:()=>bI,CREATE_CAMERA_SIMPLE:()=>NT,DELETE_FACE_ALL:()=>hT,DELETE_FACE_FROM_DATABASE:()=>MT,GET_CAT_FACE_DETECTION_NUM:()=>cT,GET_COLOR_DETECTION_NUM:()=>RT,GET_FACE_DETECTION_NAME:()=>ST,GET_FACE_DETECTION_NUM:()=>CT,GET_HOW_MUCH_RECOGNITION:()=>oT,GET_HUMAN_DETECTION_NUM:()=>gT,GET_IMAGE_AND_SAVE:()=>BI,GET_IMAGE_FROM_NET:()=>UI,GET_NO_CAT_OR_FACE_RECOGNITION:()=>aT,GET_NO_FACE_RECOGNITION_INFO:()=>lT,GET_NO_RECOGNITION:()=>pT,GET_NO_XY_RECOGNITION:()=>uT,GET_NO_XY_RECOGNITION_FACE:()=>rT,GET_PICTURE_DATA_EXACT:()=>HI,GET_PICTURE_DATA_WHS:()=>KI,GET_PICTURE_RECOGNITION_DATA:()=>OT,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>kI,GET_QR_CODE_RECOGNITION_DATA:()=>ET,GET_SCREEN_IMAGE:()=>$I,GET_SCREEN_IMAGE_SIZE:()=>jI,MIXIO_REPORT_IMAGE_DATA:()=>LT,MODEL_INIT_HEIGHT:()=>tT,MODEL_INIT_WIDTH:()=>eT,MODEL_LOGOUT:()=>nT,MODEL_RUN:()=>sT,MODEL_WHETHER_RUN_SUCCEED:()=>_T,OPEN_IMAGE:()=>GI,PRINT_FACE_DATABASE:()=>mT,REGISTER_NEW_FACE:()=>TT,REGISTER_NEW_FACE_SIMPLE:()=>FT,Register_color_recognition:()=>IT,Register_color_recognition_fixed:()=>dT,Register_color_recognition_fixed_SIMPLE:()=>fT,SCREEN_DISPLAY_IMAGE:()=>zI,SCREEN_DISPLAY_IMAGE_LOCATION:()=>qI,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>JI,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>QI,SHOOT_AND_SAVE_PICTURE:()=>VI,VOICE_RECOGNITION_CONTROL:()=>DI,yesorno:()=>NI});var Y={};e.r(Y),e.d(Y,{mpython_blynk_app_data:()=>WT,mpython_blynk_app_notify:()=>VT,mpython_blynk_email:()=>UT,mpython_blynk_get_timers:()=>wT,mpython_blynk_on_connected:()=>yT,mpython_blynk_on_disconnected:()=>XT,mpython_blynk_run:()=>bT,mpython_blynk_sensor_data_to_app:()=>kT,mpython_blynk_set_property:()=>GT,mpython_blynk_setup:()=>KT,mpython_blynk_stop_timers:()=>BT,mpython_blynk_sync_virtual:()=>vT,mpython_blynk_terminal_widget_vpin:()=>YT,mpython_blynktimer:()=>HT,mpython_blynktimer_run:()=>xT});var v={};e.r(v),e.d(v,{communicate_bluetooth_central_init:()=>DM,communicate_bluetooth_connect:()=>YM,communicate_bluetooth_disconnect:()=>vM,communicate_bluetooth_handle:()=>VM,communicate_bluetooth_is_connected:()=>yM,communicate_bluetooth_mac:()=>PM,communicate_bluetooth_peripheral_init:()=>fM,communicate_bluetooth_recv:()=>xM,communicate_bluetooth_recv_only:()=>bM,communicate_bluetooth_scan:()=>FM,communicate_bluetooth_send:()=>XM,communicate_espnow_init:()=>BM,communicate_espnow_init_new:()=>GM,communicate_i2c_available:()=>rM,communicate_i2c_init:()=>qT,communicate_i2c_master_read:()=>uM,communicate_i2c_onboard:()=>QT,communicate_i2c_read:()=>jT,communicate_i2c_scan:()=>ZT,communicate_i2c_write:()=>$T,communicate_ir_recv_init:()=>EM,communicate_ir_send_init:()=>CM,communicate_ow_init:()=>dM,communicate_ow_read:()=>TM,communicate_ow_reset:()=>mM,communicate_ow_scan:()=>IM,communicate_ow_select:()=>hM,communicate_ow_write:()=>MM,communicate_spi_buffer:()=>iM,communicate_spi_init:()=>eM,communicate_spi_onboard:()=>zT,communicate_spi_read:()=>nM,communicate_spi_read_output:()=>sM,communicate_spi_readinto:()=>_M,communicate_spi_readinto_output:()=>oM,communicate_spi_set:()=>tM,communicate_spi_write:()=>pM,communicate_spi_write_readinto:()=>aM,espnow_radio_channel:()=>KM,espnow_radio_channel_new:()=>QM,espnow_radio_on_off:()=>zM,espnow_radio_rec:()=>jM,espnow_radio_recv:()=>ZM,espnow_radio_recv_certain_msg:()=>eh,espnow_radio_recv_certain_msg_new:()=>ih,espnow_radio_recv_msg:()=>$M,espnow_radio_recv_new:()=>th,espnow_radio_send:()=>qM,espnow_radio_txpower:()=>JM,i2c_available:()=>Sh,i2c_init:()=>rh,i2c_master_reader2:()=>Ch,i2c_read:()=>lh,i2c_scan:()=>Ih,i2c_slave_onreceive:()=>lM,i2c_write:()=>dh,internal_variable:()=>OM,ir_recv_timeout:()=>gM,ir_transmit_busy:()=>NM,ir_transmit_conventional_data:()=>SM,ir_transmit_raw_code:()=>LM,ir_transmit_study_code:()=>AM,ir_whether_recv:()=>cM,lora_init:()=>nh,lora_packet:()=>sh,lora_recv:()=>oh,lora_send:()=>_h,network_espnow_info:()=>wM,network_espnow_mac:()=>UM,network_espnow_recv:()=>HM,network_espnow_recv_handle:()=>WM,network_espnow_send:()=>kM,recv_fun:()=>RM,spi_buffer:()=>hh,spi_init:()=>Th,spi_read:()=>mh,spi_read_output:()=>Eh,spi_readinto:()=>Oh,spi_readinto_output:()=>Rh,spi_set:()=>Mh,spi_write:()=>ch,spi_write_readinto:()=>gh,urequests_attribute:()=>ah,urequests_get:()=>ph,urequests_method:()=>uh});var X={};e.r(X),e.d(X,{display_animate:()=>im,display_blink_rate:()=>$h,display_circle:()=>nm,display_color_seclet:()=>Mm,display_draw_4strings:()=>Kh,display_fill:()=>tm,display_get_screen_image:()=>jh,display_help:()=>_m,display_image_size:()=>Jh,display_lcd_use_i2c_init:()=>cm,display_line:()=>zh,display_line_arbitrarily:()=>qh,display_matrix_extern_bright_point:()=>Vh,display_matrix_extern_bright_screen:()=>Gh,display_matrix_extern_clear:()=>Uh,display_matrix_extern_get_pixel:()=>bh,display_matrix_extern_get_screen_pixel:()=>Bh,display_matrix_extern_image_builtins:()=>wh,display_matrix_extern_scroll_string:()=>Yh,display_matrix_extern_scroll_string_delay:()=>vh,display_matrix_extern_shift:()=>xh,display_matrix_extern_show_frame_string:()=>Xh,display_matrix_extern_show_frame_string_delay:()=>yh,display_matrix_extern_show_image:()=>Fh,display_matrix_extern_show_image_or_string_delay:()=>Ph,display_matrix_use_i2c_init:()=>fh,display_oled_drawPixel:()=>pm,display_oled_showBitmap:()=>om,display_oled_use_i2c_init:()=>Lm,display_onoff:()=>em,display_rect:()=>Qh,display_rgb_color:()=>Zh,display_tm1650_power:()=>um,display_tm1650_set_brightness:()=>dm,display_tm1650_show_dot:()=>lm,display_tm1650_show_num:()=>rm,display_tm_use_i2c_init:()=>am,display_triangle:()=>sm,display_use_i2c_init:()=>Wh,extern_oled_bright_point:()=>bm,extern_oled_clear:()=>Vm,extern_oled_get_pixel:()=>xm,extern_oled_hvline:()=>Gm,extern_oled_line:()=>Um,extern_oled_scroll_string:()=>Pm,extern_oled_scroll_string_delay:()=>Ym,extern_oled_shape_rect:()=>Bm,extern_oled_shift:()=>ym,extern_oled_show_frame_string:()=>vm,extern_oled_show_frame_string_delay:()=>Xm,extern_oled_show_image:()=>Nm,extern_oled_show_image_or_string_delay:()=>Fm,extern_oled_show_image_xy:()=>Dm,extern_oled_show_string:()=>fm,lcd_backlight:()=>Sm,lcd_clear:()=>Am,lcd_print_string:()=>Cm,lcd_show_image_or_string_delay:()=>gm,matrix_extern_image_arithmetic:()=>Hh,matrix_extern_image_invert:()=>kh,tft_fill:()=>Om,tft_line_arbitrarily:()=>Rm,tft_scroll_string_delay:()=>mm,tft_show_frame_string_delay:()=>Em,tft_show_image_or_string_delay:()=>hm,tft_show_image_xy:()=>Tm,tft_use_spi_init:()=>Im});var y={};e.r(y),e.d(y,{bitbot_display_bitmap_create:()=>yE,bitbot_display_image_create:()=>XE,display_available:()=>uE,display_bitmap_create:()=>$m,display_bright_point:()=>_E,display_bright_screen:()=>pE,display_clear:()=>aE,display_get_pixel:()=>sE,display_get_screen_pixel:()=>oE,display_image_builtins:()=>Zm,display_image_builtins_all:()=>eE,display_image_create:()=>jm,display_scroll_string:()=>Wm,display_scroll_string_delay:()=>Km,display_scroll_way:()=>Jm,display_shift:()=>nE,display_show_frame_string:()=>zm,display_show_frame_string_delay:()=>qm,display_show_image:()=>Hm,display_show_image_or_string_delay:()=>km,draw_pointer:()=>$E,image_arithmetic:()=>tE,image_invert:()=>iE,mixbot_display_bitmap_create:()=>fE,mixbot_display_bright_screen:()=>YE,mixbot_display_get_ambientbright:()=>PE,mixbot_display_get_screen_pixel:()=>FE,mixbot_display_image_create:()=>DE,mixbot_display_rotate:()=>vE,mixgo_display_bitmap_create:()=>ME,mixgo_display_image_create_new:()=>TE,mixgome_display_bitmap_create:()=>lE,mixgome_display_font:()=>hE,mixgome_display_image_create:()=>rE,mixgomini_display_bitmap_create:()=>IE,mixgomini_display_image_create:()=>dE,mpython_display_hvline:()=>AE,mpython_display_line:()=>LE,mpython_display_shape_rect:()=>SE,mpython_pbm_image:()=>NE,nova_draw_pointer:()=>ZE,onboard_oled_bright_point:()=>CE,onboard_oled_scroll_string_delay:()=>cE,onboard_oled_show_frame_string_delay:()=>gE,onboard_oled_show_image:()=>mE,onboard_oled_show_image_or_string_delay:()=>RE,onboard_oled_show_image_xy:()=>EE,onboard_oled_show_string:()=>OE,onboard_tft_bright_point:()=>kE,onboard_tft_bright_screen:()=>aO,onboard_tft_clear:()=>uO,onboard_tft_clock_clear:()=>qE,onboard_tft_clock_draw:()=>zE,onboard_tft_clock_get_rtctime:()=>JE,onboard_tft_clock_init:()=>KE,onboard_tft_clock_set_time:()=>QE,onboard_tft_display_hvline:()=>UE,onboard_tft_display_line:()=>wE,onboard_tft_display_shape_circle:()=>jE,onboard_tft_display_shape_rect:()=>GE,onboard_tft_fill:()=>WE,onboard_tft_get_pixel:()=>HE,onboard_tft_get_screen_pixel:()=>pO,onboard_tft_scroll_string:()=>sO,onboard_tft_scroll_string_delay:()=>Qm,onboard_tft_shift:()=>oO,onboard_tft_show_frame_string:()=>_O,onboard_tft_show_frame_string_delay:()=>BE,onboard_tft_show_image:()=>nO,onboard_tft_show_image_or_string_delay:()=>VE,onboard_tft_show_image_xy:()=>xE,onboard_tft_show_image_xy_direct:()=>bE,onboard_tft_show_qrcode:()=>tO,onboard_tft_show_qrcode_details:()=>iO,onboard_tft_show_texts:()=>eO});var x={};e.r(x),e.d(x,{factory_block:()=>NO,factory_block_return:()=>DO,factory_block_return_with_textarea:()=>FO,factory_block_with_textarea:()=>fO,factory_callMethod_noreturn:()=>AO,factory_callMethod_return:()=>LO,factory_create_with_container:()=>cO,factory_create_with_item:()=>gO,factory_declare:()=>SO,factory_from_import:()=>EO,factory_function_noreturn:()=>RO,factory_function_return:()=>CO,factory_import:()=>OO,folding_block:()=>PO});var b={};e.r(b),e.d(b,{controls_pin_attachInterrupt:()=>ZO,inout_analog_atten:()=>UO,inout_analog_read:()=>GO,inout_analog_read_init:()=>JO,inout_analog_write:()=>bO,inout_analog_write_init:()=>KO,inout_analog_write_set:()=>VO,inout_analog_write_set_freq:()=>qO,inout_digital_init:()=>kO,inout_digital_read:()=>yO,inout_digital_write:()=>XO,inout_highlow:()=>vO,inout_pinMode:()=>zO,inout_pin_attachInterrupt:()=>HO,inout_pin_pressed:()=>wO,inout_pin_pressed_init:()=>QO,inout_pwm_analog_write:()=>xO,inout_pwm_analog_write_init:()=>WO,inout_pwm_analog_write_set_freq:()=>BO,pin_pressed:()=>$O,pin_pressed_init:()=>jO});var V={};e.r(V),e.d(V,{IOT_CONNECT_OLLAMA:()=>bR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>SR,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>CR,IOT_EMQX_PING:()=>cR,IOT_FORMATTING:()=>OR,IOT_FORMAT_STRING:()=>RR,IOT_MIXIO_NTP:()=>gR,IOT_MIXIO_PUBLISH:()=>lR,IOT_MIXIO_PUBLISHEX:()=>dR,IOT_MIXIO_SUBSCRIBE:()=>IR,iot_checkonenet:()=>XR,iot_client_onboard:()=>LR,iot_connect_ollama:()=>xR,iot_connect_openai:()=>VR,iot_create_with_item:()=>uR,iot_http_client:()=>NR,iot_http_data:()=>DR,iot_mixio_check:()=>hR,iot_mixio_connect:()=>rR,iot_mixio_connect_only:()=>MR,iot_mixio_disconnect:()=>TR,iot_mixio_format_msg:()=>ER,iot_mixio_format_topic:()=>mR,iot_mixly_key:()=>AR,iot_mqtt_client:()=>fR,iot_mqtt_data:()=>FR,iot_onenet_check:()=>sR,iot_onenet_connect:()=>iR,iot_onenet_disconnect:()=>nR,iot_onenet_publish:()=>oR,iot_onenet_publish_dict:()=>_R,iot_onenetconnect:()=>YR,iot_onenetdisconnect:()=>vR,iot_publish:()=>yR,iot_publish_container:()=>pR,iot_publish_item:()=>aR,iot_tiny_web_db_count:()=>KR,iot_tiny_web_db_delete:()=>QR,iot_tiny_web_db_get:()=>WR,iot_tiny_web_db_init:()=>wR,iot_tiny_web_db_init_with_mqtt:()=>HR,iot_tiny_web_db_search:()=>JR,iot_tiny_web_db_update:()=>kR,iot_wifi_connect:()=>tR,iot_wificonnect:()=>PR,ollama_empty_history:()=>UR,use_ollama_llm_to_chat:()=>BR,use_ollama_llm_to_chat_return:()=>GR});var B={};e.r(B),e.d(B,{educore_mqtt_connect:()=>Dc,educore_mqtt_connect_success:()=>Yc,educore_mqtt_subscribe_message:()=>fc,educore_mqtt_topic_publish:()=>Pc,educore_mqtt_topic_subscribe:()=>Fc,educore_wifi_connect:()=>Nc,network_ap_connect:()=>_c,network_connect:()=>ec,network_get_connect:()=>ic,network_get_wifi:()=>sc,network_init:()=>qR,network_is_active:()=>$R,network_open:()=>jR,network_scan:()=>ZR,network_server:()=>oc,network_socket_accept:()=>lc,network_socket_bind:()=>ac,network_socket_close:()=>mc,network_socket_connect:()=>uc,network_socket_init:()=>pc,network_socket_listen:()=>rc,network_socket_readline:()=>dc,network_socket_receive:()=>Ic,network_socket_receive_from:()=>Mc,network_socket_send:()=>Tc,network_socket_send_to:()=>hc,network_stop:()=>nc,network_wifi_connect:()=>tc,ntptime_address:()=>gc,ntptime_time:()=>cc,requests_attribute:()=>Oc,requests_attribute2:()=>Lc,requests_get:()=>Ec,requests_get2:()=>Sc,requests_method:()=>Rc,requests_post:()=>Ac});var G={};e.r(G),e.d(G,{get_potential_num:()=>Xc,nova_g1_motor:()=>yc,nova_g1_spk_en:()=>bc,nova_g1_usb:()=>xc});var U={};e.r(U),e.d(U,{pe_g1_battery_left:()=>Gc,pe_g1_dc_motor:()=>Uc,pe_g1_dc_motor_speed:()=>wc,pe_g1_servo_get_angle:()=>Wc,pe_g1_servo_get_speed:()=>Kc,pe_g1_servo_set_angle:()=>Hc,pe_g1_servo_set_speed:()=>kc,pe_g1_use_i2c_init:()=>Bc});var w={};e.r(w),e.d(w,{CI130X_BROADCAST:()=>mg,CI130X_GET_THE_RECOGNIZED_CMD:()=>hg,CI130X_GET_WHETHER_IDENTIFY:()=>Mg,CI130X_IDENTIFY_AND_SAVE:()=>Tg,CI130X_SET_SYSTEM_CMD:()=>Eg,HCSR04:()=>oC,PS2_Button:()=>rC,PS2_Buttons:()=>dC,PS2_Buttons_new:()=>hC,PS2_State:()=>lC,PS2_init:()=>pC,PS2_init_new:()=>TC,PS2_stk:()=>IC,PS2_stk_new:()=>mC,PS2_vibration:()=>uC,PS2_vibration_new:()=>MC,camera_sensor_init:()=>JC,camera_sensor_result:()=>QC,column_tube_foot:()=>ZC,define_keyboards:()=>eS,educore_body_sensor:()=>bC,educore_button_sensor_extern:()=>UC,educore_camera_sensor:()=>KC,educore_infrared_sensor:()=>GC,educore_soilhum_sensor:()=>VC,educore_temp_sensor:()=>WC,educore_temphum_sensor:()=>BC,educore_ultrasonic_sensor:()=>HC,esp32_s2_weather_init:()=>iC,esp32_s2_weather_rain:()=>sC,esp32_s2_weather_wd:()=>nC,esp32_s2_weather_ws:()=>_C,extern_rfid_read:()=>wg,extern_rfid_readcontent:()=>kg,extern_rfid_readid:()=>Hg,extern_rfid_status:()=>Jg,extern_rfid_write:()=>Wg,extern_rfid_write_return:()=>Kg,get_keboards_value:()=>tS,gnss_get_data:()=>cC,gnss_have_data:()=>RC,init_init_rotary_encoder:()=>iS,init_matrix_keyboard:()=>jC,interaction_whether_to_interaction:()=>dg,interaction_whether_to_interaction_SANT:()=>Ig,line_tube_foot:()=>$C,mixbot_sensor_extern_get_addr:()=>fC,mixbot_sensor_extern_set_addr:()=>FC,pm25_get_data:()=>OC,radar_set_DETECTION_THRESHOLD:()=>rg,radar_set_DETECTION_THRESHOLD_SANT:()=>lg,robot_button_extern_get_value:()=>CC,robot_color_extern_get_value:()=>DC,robot_infrared_extern_get_value:()=>AC,robot_infrared_extern_grey_get_value:()=>LC,robot_potentiometer_extern_get_value:()=>NC,robot_sonar_extern_get_value:()=>PC,robot_sonar_extern_led:()=>YC,robot_touch_extern_get_value:()=>SC,rotary_key:()=>nS,sensor_APDS9960_extern:()=>Rg,sensor_DS18X20:()=>pg,sensor_LTR308_extern:()=>cg,sensor_LTR390UV_extern:()=>Sg,sensor_MAX30102_extern:()=>Og,sensor_QMC5883L_extern:()=>Yg,sensor_VL530LX_extern:()=>Ag,sensor_adxl345_get_acceleration:()=>Zc,sensor_aht11_extern:()=>Ng,sensor_bmp:()=>_g,sensor_compass_reset:()=>Gg,sensor_dht11:()=>tg,sensor_hp203_extern:()=>Dg,sensor_light_level:()=>eg,sensor_lm35:()=>ag,sensor_ltr381_extern:()=>gg,sensor_mixgo_extern_button_attachInterrupt:()=>jc,sensor_mixgo_extern_button_get_presses:()=>qc,sensor_mixgo_extern_button_is_pressed:()=>Qc,sensor_mixgo_extern_button_was_pressed:()=>zc,sensor_mixgo_extern_light:()=>ig,sensor_mixgo_extern_pin_near:()=>sg,sensor_mixgo_extern_sound:()=>ng,sensor_mixgoce_hot_wheel_degrees:()=>tC,sensor_mixgoce_hot_wheel_is_touched:()=>eC,sensor_mpu9250_attachGestureInterrupt:()=>$c,sensor_mpu9250_calibrate_compass:()=>bg,sensor_mpu9250_field_strength:()=>Bg,sensor_mpu9250_gesture:()=>vg,sensor_mpu9250_get_acceleration:()=>Xg,sensor_mpu9250_get_gyro:()=>xg,sensor_mpu9250_get_magnetic:()=>yg,sensor_mpu9250_temperature:()=>Vg,sensor_ms5611_extern:()=>Fg,sensor_ms5611_extern_altitude:()=>Pg,sensor_read_humiture:()=>wC,sensor_sht:()=>og,sensor_shtc3_extern:()=>Lg,sensor_spl06_001_extern:()=>fg,sensor_ucs12071_extern:()=>Cg,sensor_use_i2c_init:()=>ug,sensor_use_spi_init:()=>Ug,sensor_use_uart_init:()=>EC,sensor_weather_solo_init:()=>vC,sensor_weather_solo_rain:()=>xC,sensor_weather_solo_wd:()=>XC,sensor_weather_solo_ws:()=>yC,sensor_weigh_init:()=>zC,tvoc_get_data:()=>gC,ultrasonic_sensor_read_distance:()=>kC,weather_data:()=>Qg,weather_have_data:()=>zg,weather_set_label:()=>jg,weather_set_label_container:()=>$g,weather_set_label_item:()=>Zg,weather_uart_mixio:()=>qg,weigh_sensor_get_weight:()=>qC});var H={};e.r(H),e.d(H,{HCSR04:()=>RS,RTC_set_date:()=>OS,RTC_set_time:()=>ES,bitbot_als_num:()=>fA,dht11:()=>xA,educore_button_sensor:()=>WA,educore_button_was_pressed:()=>KA,educore_gyroscope_sensor:()=>wA,educore_gyroscope_sensor_read:()=>HA,educore_gyroscope_sensor_shake:()=>kA,educore_light_sensor:()=>UA,educore_rfid_sensor:()=>JA,educore_rfid_sensor_scan:()=>QA,educore_rfid_sensor_scan_data:()=>zA,educore_voice_sensor:()=>BA,number1:()=>gS,number2:()=>CS,number3:()=>SS,number4:()=>AS,number5:()=>LS,number6:()=>NS,number7:()=>DS,onboard_RTC_get_time:()=>xS,onboard_RTC_get_time_str:()=>wS,onboard_RTC_get_timestamp:()=>bS,onboard_RTC_get_timetuple_to_str:()=>HS,onboard_RTC_set_datetime:()=>GS,onboard_RTC_settime_string:()=>BS,onboard_RTC_timestamp_totuple:()=>VS,rfid_readcontent:()=>qS,rfid_readid:()=>zS,rfid_status:()=>ZS,rfid_write:()=>jS,rfid_write_return:()=>$S,sensor_LTR308:()=>kS,sensor_aht11:()=>KS,sensor_bitbot_ALS:()=>DA,sensor_button_get_presses:()=>YA,sensor_button_is_pressed:()=>FA,sensor_button_was_pressed:()=>PA,sensor_distance_hrsc04:()=>mS,sensor_eulerangles:()=>tA,sensor_field_strength:()=>bA,sensor_get_acceleration:()=>eA,sensor_get_temperature:()=>JS,sensor_get_the_coprocessor_version:()=>qA,sensor_hp203:()=>QS,sensor_light:()=>yA,sensor_mixbot_get_gyro:()=>NA,sensor_mixbot_patrol_calibrate:()=>SA,sensor_mixbot_patrol_value:()=>AA,sensor_mixbot_temperature:()=>LA,sensor_mixgo_LTR308:()=>XS,sensor_mixgo_button_attachInterrupt:()=>aS,sensor_mixgo_button_get_presses:()=>pS,sensor_mixgo_button_is_pressed:()=>_S,sensor_mixgo_button_was_pressed:()=>oS,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>dA,sensor_mixgo_cc_mmc5603_get_angle:()=>lA,sensor_mixgo_cc_mmc5603_get_magnetic:()=>rA,sensor_mixgo_light:()=>cS,sensor_mixgo_nova_LTR308:()=>vS,sensor_mixgo_nova_pin_near:()=>YS,sensor_mixgo_pin_near:()=>PS,sensor_mixgo_pin_near_double:()=>FS,sensor_mixgo_pin_near_single:()=>fS,sensor_mixgo_pin_pressed:()=>IS,sensor_mixgo_sant_color:()=>yS,sensor_mixgo_touch_slide:()=>hS,sensor_mixgocar42_button_attachInterrupt:()=>dS,sensor_mixgocar42_button_get_presses:()=>lS,sensor_mixgocar42_button_is_pressed:()=>uS,sensor_mixgocar42_button_was_pressed:()=>rS,sensor_mixgocar_battery_left:()=>CA,sensor_mixgocar_pin_near:()=>cA,sensor_mixgocar_pin_near_line:()=>RA,sensor_mixgocar_pin_near_state_change:()=>gA,sensor_mixgoce_pin_pressed:()=>TS,sensor_mixgoce_temperature:()=>TA,sensor_mixgome_temperature:()=>IA,sensor_mpython_pin_pressed:()=>MS,sensor_mpython_qmi8658_get_gyro:()=>MA,sensor_mpython_qmi8658_temperature:()=>hA,sensor_onboard_compass_reset:()=>uA,sensor_onboard_mpu9250_calibrate_compass:()=>oA,sensor_onboard_mpu9250_field_strength:()=>aA,sensor_onboard_mpu9250_gesture:()=>iA,sensor_onboard_mpu9250_get_acceleration:()=>nA,sensor_onboard_mpu9250_get_gyro:()=>_A,sensor_onboard_mpu9250_get_magnetic:()=>sA,sensor_onboard_mpu9250_temperature:()=>pA,sensor_pin_near:()=>XA,sensor_pin_pressed:()=>vA,sensor_read:()=>GA,sensor_rm_acc:()=>OA,sensor_rm_battery_left:()=>EA,sensor_rm_pin_near_double:()=>mA,sensor_rtc_init:()=>US,sensor_sound:()=>WS,sensor_temperature:()=>VA,simulated_light_sensor:()=>jA});var k={};e.r(k),e.d(k,{serial_any:()=>pL,serial_begin:()=>dL,serial_print:()=>iL,serial_print_byte:()=>tL,serial_print_hex:()=>sL,serial_println:()=>nL,serial_read_from_ai:()=>cL,serial_readline:()=>aL,serial_readstr:()=>oL,serial_readstr_until:()=>uL,serial_receive_data_event:()=>_L,serial_send_to_ai:()=>RL,serial_softserial:()=>lL,serial_softserial_new:()=>rL,system_input:()=>IL,system_print:()=>TL,system_print_container:()=>EL,system_print_end:()=>hL,system_print_inline:()=>ML,system_print_item:()=>OL,system_print_many:()=>mL});var W={};e.r(W),e.d(W,{Panic_with_status_code:()=>AL,Timer_init:()=>BL,base_delay:()=>wL,controls_delay:()=>SL,controls_delay_new:()=>CL,controls_millis:()=>NL,controls_uname:()=>fL,raw_block:()=>DL,reset:()=>LL,set_system_timer:()=>XL,system_bitbot_shutdown:()=>VL,system_machine_reset:()=>bL,system_ticks_diff:()=>YL,system_timer:()=>PL,system_timer_init:()=>vL,system_wdt_feed:()=>xL,system_wdt_init:()=>yL,time_ticks_diff:()=>UL,timer:()=>FL,timer2:()=>GL});var K={};e.r(K),e.d(K,{Air_daily_content:()=>iN,Air_now_content:()=>zL,Geo_moon_content:()=>sN,Geo_sun_content:()=>nN,Life_suggestion_content:()=>jL,Location_search_content:()=>ZL,Tide_daily_content:()=>$L,WEATHER_DAILY:()=>WL,WEATHER_HOUR:()=>KL,WEATHER_NOW:()=>kL,Weather_alarm_content:()=>qL,Weather_daily:()=>eN,Weather_daily_content:()=>tN,Weather_now:()=>JL,Weather_now_content:()=>QL});var J={};e.r(J),e.d(J,{PIN_init:()=>oD,actuator_extern_get_led_bright:()=>LN,actuator_extern_get_led_state:()=>NN,actuator_extern_led_bright:()=>AN,actuator_extern_led_brightness:()=>DN,actuator_ms32006_dcmotor:()=>dN,actuator_ms32006_init:()=>lN,actuator_ms32006_stepper:()=>IN,actuator_neopixel_init:()=>fN,actuator_neopixel_rgb:()=>YN,actuator_neopixel_rgb_all:()=>FN,actuator_neopixel_rgb_show_all_chase:()=>vN,actuator_neopixel_rgb_show_all_rainbow:()=>XN,actuator_neopixel_write:()=>PN,actuator_use_uart_init:()=>yN,backstage_esp32_music_play_list:()=>gN,esp32_music_get_tempo_extern:()=>RN,esp32_music_pitch:()=>MN,esp32_music_pitch_init:()=>TN,esp32_music_pitch_with_time:()=>hN,esp32_music_play_list:()=>cN,esp32_music_reset_extern:()=>CN,esp32_music_set_tempo_extern:()=>ON,esp32_music_stop:()=>mN,esp32_set_music_volume:()=>EN,mixbot_actuator_extern_get_addr:()=>sD,mixbot_actuator_extern_set_addr:()=>_D,mixbot_addr_extern:()=>WN,parrot_PIN_init:()=>rD,parrot_move_speed:()=>lD,pin_led_bright:()=>pD,player_play_music:()=>GN,player_set_mode:()=>BN,player_set_play:()=>bN,player_set_volume:()=>VN,player_whether_stop:()=>xN,robot_led_extern:()=>zN,robot_led_extern_get_value:()=>qN,robot_motor_extern:()=>KN,robot_motor_extern_get_speed:()=>JN,robot_servo_extern_absolute_run:()=>eD,robot_servo_extern_get_status:()=>jN,robot_servo_extern_relative_continue:()=>nD,robot_servo_extern_relative_origin:()=>tD,robot_servo_extern_relative_run:()=>iD,robot_servo_extern_stop:()=>ZN,robot_servo_extern_stop_mode:()=>$N,robot_traffic_light_extern:()=>QN,servo_PIN_init:()=>aD,servo_get_angle:()=>uN,servo_get_speed:()=>rN,servo_init:()=>_N,servo_move:()=>SN,servo_move_angle:()=>uD,servo_set_angle:()=>pN,servo_set_speed:()=>aN,servo_speed_360:()=>oN,syn6288_builtin_voice:()=>HN,syn6288_get_voice:()=>wN,syn6288_set_voice:()=>UN,syn6288_tts_play:()=>kN});var Q={};e.r(Q),e.d(Q,{actuator_dc_motor:()=>GD,actuator_dc_motor_stop:()=>UD,actuator_get_led_bright:()=>CD,actuator_get_led_state:()=>SD,actuator_led_bright:()=>gD,actuator_led_brightness:()=>AD,actuator_mixbot_buzzer_on_off:()=>KD,actuator_mixgo_nova_mic_get:()=>jD,actuator_mixgo_nova_mic_set:()=>qD,actuator_mixgo_nova_onboard_music_pitch:()=>sf,actuator_mixgo_nova_onboard_music_stop:()=>_f,actuator_mixgo_nova_play_audio:()=>tf,actuator_mixgo_nova_play_online_audio:()=>nf,actuator_mixgo_nova_record_audio:()=>ef,actuator_mixgo_nova_voice_get:()=>ZD,actuator_mixgo_nova_voice_set:()=>$D,actuator_mixgo_zero_led_color:()=>LD,actuator_onboard_neopixel_rgb:()=>vD,actuator_onboard_neopixel_rgb_all:()=>XD,actuator_onboard_neopixel_rgb_show_all_chase:()=>yD,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>xD,actuator_onboard_neopixel_write:()=>YD,actuator_stepper_keep:()=>VD,actuator_stepper_stop:()=>BD,analog_ble_keyboard_init:()=>mf,analog_ble_keyboard_input:()=>Rf,analog_ble_keyboard_mouse_init:()=>Df,analog_ble_keyboard_mouse_input:()=>Yf,analog_ble_keyboard_mouse_send_battery:()=>Pf,analog_ble_keyboard_mouse_str:()=>vf,analog_ble_keyboard_send_battery:()=>gf,analog_ble_keyboard_str:()=>cf,analog_ble_mouse_init:()=>Cf,analog_ble_mouse_input:()=>Lf,analog_ble_mouse_keyboard_input:()=>Xf,analog_ble_mouse_send_battery:()=>Nf,analog_keyboard_input:()=>rf,analog_keyboard_str:()=>Mf,analog_mouse_input:()=>If,backstage_onboard_music_play_list:()=>ED,bitbot_motor:()=>zD,bitbot_move:()=>JD,bitbot_stop:()=>QD,ble_keyboard_connect:()=>Of,ble_keyboard_get_mac:()=>Ef,ble_keyboard_mouse_connect:()=>Ff,ble_keyboard_mouse_get_mac:()=>ff,ble_mouse_connect:()=>Af,ble_mouse_get_mac:()=>Sf,cc_number:()=>ND,educore_ble_keyboard_input:()=>kf,educore_ble_sensor_connected:()=>Hf,educore_ble_sensor_init:()=>wf,educore_buzzer:()=>yf,educore_buzzer_play_tone:()=>xf,educore_buzzer_play_tone_time:()=>bf,educore_buzzer_stop:()=>Vf,educore_neopixel_clear:()=>Uf,educore_neopixel_rgb:()=>Gf,educore_rgb_light:()=>Bf,esp32_music_get_tempo:()=>ID,esp32_music_reset:()=>OD,esp32_music_set_tempo:()=>dD,esp32_onboard_music_pitch:()=>TD,esp32_onboard_music_pitch_with_time:()=>MD,esp32_onboard_music_play_list:()=>mD,esp32_onboard_music_stop:()=>hD,general_key:()=>df,general_key_tuple:()=>hf,get_keyboard_light:()=>Wf,get_power_output:()=>pf,ledswitch:()=>cD,mixbot_motor:()=>WD,mixbot_motor_status:()=>wD,mixbot_move:()=>HD,mixbot_stop:()=>kD,mouse_key:()=>Tf,number:()=>RD,record_audio:()=>Jf,rm_actuator_get_led_bright:()=>fD,rm_actuator_get_led_state:()=>FD,rm_actuator_led_bright:()=>DD,rm_actuator_led_brightness:()=>PD,rm_motor:()=>bD,set_all_power_output:()=>af,set_microphone_amplification:()=>Kf,set_music_volume:()=>Qf,set_part_power_output:()=>uf,set_power_output:()=>of,special_key:()=>lf});var z={};e.r(z),e.d(z,{ai_sensor_20object:()=>NF,ai_sensor_ailocal_class:()=>hF,ai_sensor_ailocal_class_result:()=>mF,ai_sensor_ailocal_train:()=>MF,ai_sensor_asr_recognize:()=>gF,ai_sensor_audio_play:()=>OF,ai_sensor_audio_record:()=>EF,ai_sensor_barcode:()=>tF,ai_sensor_circle:()=>pF,ai_sensor_classifier_faces:()=>LF,ai_sensor_color:()=>lF,ai_sensor_color_chases:()=>TF,ai_sensor_color_chases_result:()=>IF,ai_sensor_config:()=>jf,ai_sensor_face:()=>AF,ai_sensor_find_20objects:()=>DF,ai_sensor_find_barcodes:()=>iF,ai_sensor_find_circles:()=>aF,ai_sensor_find_colors:()=>dF,ai_sensor_find_licenseplates:()=>SF,ai_sensor_find_lines:()=>oF,ai_sensor_find_qrcodes:()=>eF,ai_sensor_find_rects:()=>rF,ai_sensor_find_tags:()=>sF,ai_sensor_licenseplate:()=>CF,ai_sensor_line:()=>_F,ai_sensor_qrcode:()=>Zf,ai_sensor_qrcode_lite:()=>qf,ai_sensor_rect:()=>uF,ai_sensor_rgb:()=>$f,ai_sensor_tag:()=>nF,ai_sensor_use_uart_init:()=>zf,ai_sensor_yolo_recognize:()=>RF,ai_sensor_yolo_recognize_result:()=>cF});var q={};e.r(q),e.d(q,{AI_CAMERA_INIT:()=>tP,AI_CAMERA_INIT_FACERECOGNIZE:()=>sP,AI_CAMERA_INIT_SIMPLE:()=>FP,AI_STOP_ACQUISITION:()=>NP,CAMERA_LOOGOUT:()=>kF,CI130X_BROADCAST_SANT:()=>yF,CI130X_BROADCAST_SYSTEM_TIME:()=>bF,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>XF,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>vF,CI130X_IDENTIFY_AND_SAVE_SANT:()=>YF,CI130X_OPEN_AND_CLOSE:()=>PF,CI130X_PLAY_SYSTEM_CMD_SANT:()=>VF,CI130X_SET_SYSTEM_CMD_SANT:()=>xF,CONVERT_IMAGE_TO_JPG:()=>JF,CREATE_CAMERA:()=>BF,CREATE_CAMERA_SIMPLE:()=>fP,DELETE_FACE_ALL:()=>mP,DELETE_FACE_FROM_DATABASE:()=>hP,GET_CAT_FACE_DETECTION_NUM:()=>gP,GET_COLOR_DETECTION_NUM:()=>cP,GET_FACE_DETECTION_NAME:()=>AP,GET_FACE_DETECTION_NUM:()=>SP,GET_HOW_MUCH_RECOGNITION:()=>aP,GET_HUMAN_DETECTION_NUM:()=>CP,GET_IMAGE_AND_SAVE:()=>UF,GET_IMAGE_FROM_NET:()=>HF,GET_NO_CAT_OR_FACE_RECOGNITION:()=>dP,GET_NO_FACE_RECOGNITION_INFO:()=>LP,GET_NO_RECOGNITION:()=>uP,GET_NO_XY_RECOGNITION:()=>rP,GET_NO_XY_RECOGNITION_FACE:()=>lP,GET_PICTURE_DATA_EXACT:()=>WF,GET_PICTURE_DATA_WHS:()=>QF,GET_PICTURE_RECOGNITION_DATA:()=>RP,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>KF,GET_QR_CODE_RECOGNITION_DATA:()=>OP,GET_SCREEN_IMAGE:()=>ZF,GET_SCREEN_IMAGE_SIZE:()=>eP,MIXIO_REPORT_IMAGE_DATA:()=>DP,MODEL_INIT_HEIGHT:()=>nP,MODEL_INIT_WIDTH:()=>iP,MODEL_LOGOUT:()=>_P,MODEL_RUN:()=>oP,MODEL_WHETHER_RUN_SUCCEED:()=>pP,OPEN_IMAGE:()=>wF,PRINT_FACE_DATABASE:()=>EP,REGISTER_NEW_FACE:()=>MP,REGISTER_NEW_FACE_SIMPLE:()=>YP,Register_color_recognition:()=>TP,Register_color_recognition_fixed:()=>IP,Register_color_recognition_fixed_SIMPLE:()=>PP,SCREEN_DISPLAY_IMAGE:()=>jF,SCREEN_DISPLAY_IMAGE_LOCATION:()=>$F,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>zF,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>qF,SHOOT_AND_SAVE_PICTURE:()=>GF,VOICE_RECOGNITION_CONTROL:()=>FF,yesorno:()=>fF});var j={};e.r(j),e.d(j,{MICROPYTHON_AI_Speech_asr:()=>yP,MICROPYTHON_AI_Speech_unit:()=>XP,MICROPYTHON_AI_client:()=>vP});var $={};e.r($),e.d($,{mpython_blynk_app_data:()=>JP,mpython_blynk_app_notify:()=>wP,mpython_blynk_email:()=>QP,mpython_blynk_get_timers:()=>kP,mpython_blynk_on_connected:()=>BP,mpython_blynk_on_disconnected:()=>VP,mpython_blynk_run:()=>UP,mpython_blynk_sensor_data_to_app:()=>KP,mpython_blynk_set_property:()=>zP,mpython_blynk_setup:()=>qP,mpython_blynk_stop_timers:()=>HP,mpython_blynk_sync_virtual:()=>bP,mpython_blynk_terminal_widget_vpin:()=>xP,mpython_blynktimer:()=>WP,mpython_blynktimer_run:()=>GP});var Z={};e.r(Z),e.d(Z,{communicate_bluetooth_central_init:()=>PY,communicate_bluetooth_connect:()=>XY,communicate_bluetooth_disconnect:()=>yY,communicate_bluetooth_handle:()=>UY,communicate_bluetooth_is_connected:()=>bY,communicate_bluetooth_mac:()=>xY,communicate_bluetooth_peripheral_init:()=>YY,communicate_bluetooth_recv:()=>GY,communicate_bluetooth_recv_only:()=>BY,communicate_bluetooth_scan:()=>vY,communicate_bluetooth_send:()=>VY,communicate_espnow_init:()=>wY,communicate_espnow_init_new:()=>HY,communicate_i2c_available:()=>sY,communicate_i2c_init:()=>ZP,communicate_i2c_master_read:()=>nY,communicate_i2c_onboard:()=>jP,communicate_i2c_read:()=>eY,communicate_i2c_scan:()=>iY,communicate_i2c_write:()=>tY,communicate_ir_recv_init:()=>cY,communicate_ir_send_init:()=>LY,communicate_ow_init:()=>MY,communicate_ow_read:()=>EY,communicate_ow_reset:()=>mY,communicate_ow_scan:()=>hY,communicate_ow_select:()=>RY,communicate_ow_write:()=>OY,communicate_spi_buffer:()=>aY,communicate_spi_init:()=>oY,communicate_spi_onboard:()=>$P,communicate_spi_read:()=>uY,communicate_spi_read_output:()=>rY,communicate_spi_readinto:()=>lY,communicate_spi_readinto_output:()=>dY,communicate_spi_set:()=>pY,communicate_spi_write:()=>IY,communicate_spi_write_readinto:()=>TY,espnow_radio_channel:()=>zY,espnow_radio_channel_new:()=>jY,espnow_radio_on_off:()=>$Y,espnow_radio_rec:()=>ev,espnow_radio_recv:()=>iv,espnow_radio_recv_certain_msg:()=>nv,espnow_radio_recv_certain_msg_new:()=>_v,espnow_radio_recv_msg:()=>tv,espnow_radio_recv_new:()=>sv,espnow_radio_send:()=>ZY,espnow_radio_txpower:()=>qY,i2c_slave_onreceive:()=>_Y,internal_variable:()=>gY,ir_recv_timeout:()=>AY,ir_transmit_busy:()=>FY,ir_transmit_conventional_data:()=>NY,ir_transmit_raw_code:()=>fY,ir_transmit_study_code:()=>DY,ir_whether_recv:()=>SY,lora_init:()=>ov,lora_packet:()=>pv,lora_recv:()=>uv,lora_send:()=>av,network_espnow_info:()=>WY,network_espnow_mac:()=>kY,network_espnow_recv:()=>KY,network_espnow_recv_handle:()=>QY,network_espnow_send:()=>JY,recv_fun:()=>CY,urequests_attribute:()=>lv,urequests_get:()=>rv,urequests_method:()=>dv});var ee={};e.r(ee),e.d(ee,{display_animate:()=>bv,display_circle:()=>Vv,display_color_seclet:()=>zv,display_draw_4strings:()=>Fv,display_fill:()=>xv,display_lcd_use_i2c_init:()=>tX,display_line:()=>vv,display_line_arbitrarily:()=>Pv,display_matrix_extern_bright_point:()=>Cv,display_matrix_extern_bright_screen:()=>Av,display_matrix_extern_clear:()=>Rv,display_matrix_extern_get_pixel:()=>gv,display_matrix_extern_get_screen_pixel:()=>Sv,display_matrix_extern_image_builtins:()=>Lv,display_matrix_extern_scroll_string:()=>Ev,display_matrix_extern_scroll_string_delay:()=>Ov,display_matrix_extern_shift:()=>cv,display_matrix_extern_show_frame_string:()=>hv,display_matrix_extern_show_frame_string_delay:()=>mv,display_matrix_extern_show_image:()=>Tv,display_matrix_extern_show_image_or_string_delay:()=>Mv,display_matrix_use_i2c_init:()=>Iv,display_oled_drawPixel:()=>Uv,display_oled_showBitmap:()=>Gv,display_oled_use_i2c_init:()=>oX,display_onoff:()=>Xv,display_rect:()=>Yv,display_tm1650_power:()=>Hv,display_tm1650_set_brightness:()=>Kv,display_tm1650_show_dot:()=>Wv,display_tm1650_show_num:()=>kv,display_tm_use_i2c_init:()=>wv,display_triangle:()=>Bv,display_use_i2c_init:()=>fv,extern_oled_bright_point:()=>EX,extern_oled_clear:()=>MX,extern_oled_get_pixel:()=>mX,extern_oled_hvline:()=>RX,extern_oled_line:()=>cX,extern_oled_scroll_string:()=>IX,extern_oled_scroll_string_delay:()=>TX,extern_oled_shape_rect:()=>OX,extern_oled_shift:()=>hX,extern_oled_show_frame_string:()=>lX,extern_oled_show_frame_string_delay:()=>dX,extern_oled_show_image:()=>pX,extern_oled_show_image_or_string_delay:()=>rX,extern_oled_show_image_xy:()=>aX,extern_oled_show_string:()=>uX,image_shift:()=>yv,lcd_backlight:()=>sX,lcd_clear:()=>_X,lcd_print_string:()=>nX,lcd_show_image_or_string_delay:()=>iX,matrix_extern_image_arithmetic:()=>Nv,matrix_extern_image_invert:()=>Dv,tft_fill:()=>Zv,tft_line_arbitrarily:()=>eX,tft_scroll_string_delay:()=>$v,tft_show_frame_string_delay:()=>jv,tft_show_image_or_string_delay:()=>qv,tft_show_image_xy:()=>Qv,tft_use_spi_init:()=>Jv});var te={};e.r(te),e.d(te,{bitbot_display_bitmap_create:()=>Ty,bitbot_display_image_create:()=>Iy,display_available:()=>yX,display_bitmap_create:()=>vX,display_bright_point:()=>GX,display_bright_screen:()=>wX,display_clear:()=>XX,display_get_pixel:()=>BX,display_get_screen_pixel:()=>UX,display_image_builtins:()=>FX,display_image_builtins_all:()=>PX,display_image_create:()=>YX,display_scroll_string:()=>LX,display_scroll_string_delay:()=>NX,display_scroll_way:()=>DX,display_shift:()=>VX,display_show_frame_string:()=>SX,display_show_frame_string_delay:()=>AX,display_show_image:()=>gX,display_show_image_or_string_delay:()=>CX,draw_pointer:()=>Py,image_arithmetic:()=>xX,image_invert:()=>bX,mixbot_display_bitmap_create:()=>ay,mixbot_display_bright_screen:()=>ly,mixbot_display_get_ambientbright:()=>ry,mixbot_display_get_screen_pixel:()=>uy,mixbot_display_image_create:()=>py,mixbot_display_rotate:()=>dy,mixgo_display_bitmap_create:()=>zX,mixgo_display_image_create_new:()=>QX,mixgome_display_bitmap_create:()=>kX,mixgome_display_font:()=>JX,mixgome_display_image_create:()=>HX,mixgomini_display_bitmap_create:()=>KX,mixgomini_display_image_create:()=>WX,mpython_display_hvline:()=>_y,mpython_display_line:()=>oy,mpython_display_shape_rect:()=>sy,mpython_pbm_image:()=>qX,nova_draw_pointer:()=>Yy,onboard_oled_bright_point:()=>ny,onboard_oled_scroll_string_delay:()=>iy,onboard_oled_show_frame_string_delay:()=>ty,onboard_oled_show_image:()=>jX,onboard_oled_show_image_or_string_delay:()=>ey,onboard_oled_show_image_xy:()=>$X,onboard_oled_show_string:()=>ZX,onboard_tft_bright_point:()=>Cy,onboard_tft_bright_screen:()=>Gy,onboard_tft_clear:()=>Uy,onboard_tft_clock_clear:()=>fy,onboard_tft_clock_draw:()=>Dy,onboard_tft_clock_get_rtctime:()=>Ly,onboard_tft_clock_init:()=>Ay,onboard_tft_clock_set_time:()=>Ny,onboard_tft_display_hvline:()=>Ry,onboard_tft_display_line:()=>cy,onboard_tft_display_shape_circle:()=>Fy,onboard_tft_display_shape_rect:()=>Oy,onboard_tft_fill:()=>Sy,onboard_tft_get_pixel:()=>gy,onboard_tft_get_screen_pixel:()=>By,onboard_tft_scroll_string_delay:()=>fX,onboard_tft_shift:()=>Vy,onboard_tft_show_frame_string:()=>by,onboard_tft_show_frame_string_delay:()=>Ey,onboard_tft_show_image:()=>xy,onboard_tft_show_image_or_string_delay:()=>my,onboard_tft_show_image_xy:()=>My,onboard_tft_show_image_xy_direct:()=>hy,onboard_tft_show_qrcode:()=>Xy,onboard_tft_show_qrcode_details:()=>yy,onboard_tft_show_texts:()=>vy});var ie={};e.r(ie),e.d(ie,{factory_block:()=>zy,factory_block_return:()=>qy,factory_block_return_with_textarea:()=>$y,factory_block_with_textarea:()=>jy,factory_callMethod_noreturn:()=>Jy,factory_callMethod_return:()=>Qy,factory_declare:()=>Ky,factory_from_import:()=>wy,factory_function_noreturn:()=>ky,factory_function_return:()=>Wy,factory_import:()=>Hy,folding_block:()=>Zy});var ne={};e.r(ne),e.d(ne,{inout_analog_atten:()=>Tx,inout_analog_read:()=>px,inout_analog_read_init:()=>Ix,inout_analog_write:()=>sx,inout_analog_write_init:()=>dx,inout_analog_write_set:()=>_x,inout_digital_init:()=>rx,inout_digital_read:()=>ix,inout_digital_write:()=>tx,inout_highlow:()=>ex,inout_pin_attachInterrupt:()=>ux,inout_pin_pressed:()=>ax,inout_pin_pressed_init:()=>Mx,inout_pwm_analog_write:()=>nx,inout_pwm_analog_write_init:()=>lx,inout_pwm_analog_write_set_freq:()=>ox});var se={};e.r(se),e.d(se,{IOT_CONNECT_OLLAMA:()=>kx,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>yx,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>vx,IOT_EMQX_PING:()=>xx,IOT_FORMATTING:()=>Px,IOT_FORMAT_STRING:()=>Yx,IOT_MIXIO_NTP:()=>bx,IOT_MIXIO_PUBLISH:()=>Cx,IOT_MIXIO_PUBLISHEX:()=>Sx,IOT_MIXIO_SUBSCRIBE:()=>Ax,iot_client_onboard:()=>Vx,iot_connect_ollama:()=>Hx,iot_connect_openai:()=>Wx,iot_http_client:()=>Bx,iot_http_data:()=>Gx,iot_mixio_check:()=>Dx,iot_mixio_connect:()=>gx,iot_mixio_connect_only:()=>Nx,iot_mixio_disconnect:()=>Lx,iot_mixio_format_msg:()=>Fx,iot_mixio_format_topic:()=>fx,iot_mixly_key:()=>Xx,iot_mqtt_client:()=>Ux,iot_mqtt_data:()=>wx,iot_onenet_check:()=>Rx,iot_onenet_connect:()=>mx,iot_onenet_disconnect:()=>Ex,iot_onenet_publish:()=>cx,iot_onenet_publish_dict:()=>Ox,iot_tiny_web_db_count:()=>Zx,iot_tiny_web_db_delete:()=>tb,iot_tiny_web_db_get:()=>$x,iot_tiny_web_db_init:()=>zx,iot_tiny_web_db_init_with_mqtt:()=>qx,iot_tiny_web_db_search:()=>eb,iot_tiny_web_db_update:()=>jx,iot_wifi_connect:()=>hx,ollama_empty_history:()=>Qx,use_ollama_llm_to_chat:()=>Kx,use_ollama_llm_to_chat_return:()=>Jx});var _e={};e.r(_e),e.d(_e,{educore_mqtt_connect:()=>vb,educore_mqtt_connect_success:()=>bb,educore_mqtt_subscribe_message:()=>Xb,educore_mqtt_topic_publish:()=>xb,educore_mqtt_topic_subscribe:()=>yb,educore_wifi_connect:()=>Yb,network_ap_connect:()=>rb,network_connect:()=>nb,network_get_connect:()=>_b,network_get_wifi:()=>ub,network_init:()=>ib,network_is_active:()=>ab,network_open:()=>pb,network_scan:()=>lb,network_server:()=>db,network_socket_accept:()=>mb,network_socket_bind:()=>Tb,network_socket_close:()=>Cb,network_socket_connect:()=>Mb,network_socket_init:()=>Ib,network_socket_listen:()=>hb,network_socket_readline:()=>Eb,network_socket_receive:()=>Ob,network_socket_receive_from:()=>cb,network_socket_send:()=>Rb,network_socket_send_to:()=>gb,network_stop:()=>ob,network_wifi_connect:()=>sb,ntptime_address:()=>Db,ntptime_time:()=>Nb,requests_attribute:()=>Ab,requests_attribute2:()=>Fb,requests_get:()=>Sb,requests_get2:()=>fb,requests_method:()=>Lb,requests_post:()=>Pb});var oe={};e.r(oe),e.d(oe,{get_potential_num:()=>Vb,nova_g1_motor:()=>Bb,nova_g1_spk_en:()=>Ub,nova_g1_usb:()=>Gb});var pe={};e.r(pe),e.d(pe,{pe_g1_battery_left:()=>Hb,pe_g1_dc_motor:()=>kb,pe_g1_dc_motor_speed:()=>Wb,pe_g1_servo_get_angle:()=>Qb,pe_g1_servo_get_speed:()=>zb,pe_g1_servo_set_angle:()=>Kb,pe_g1_servo_set_speed:()=>Jb,pe_g1_use_i2c_init:()=>wb});var ae={};e.r(ae),e.d(ae,{CI130X_BROADCAST:()=>EV,CI130X_GET_THE_RECOGNIZED_CMD:()=>mV,CI130X_GET_WHETHER_IDENTIFY:()=>hV,CI130X_IDENTIFY_AND_SAVE:()=>MV,CI130X_SET_SYSTEM_CMD:()=>OV,HCSR04:()=>jV,PS2_Button:()=>eB,PS2_Buttons:()=>tB,PS2_Buttons_new:()=>uB,PS2_State:()=>iB,PS2_init:()=>$V,PS2_init_new:()=>pB,PS2_stk:()=>nB,PS2_stk_new:()=>rB,PS2_vibration:()=>ZV,PS2_vibration_new:()=>aB,RTC_get_time:()=>_B,RTC_set_date:()=>nV,RTC_set_datetime:()=>sB,RTC_set_time:()=>iV,camera_sensor_init:()=>UB,camera_sensor_result:()=>wB,column_tube_foot:()=>KB,define_keyboards:()=>JB,educore_body_sensor:()=>PB,educore_button_sensor_extern:()=>yB,educore_camera_sensor:()=>GB,educore_infrared_sensor:()=>XB,educore_soilhum_sensor:()=>YB,educore_temp_sensor:()=>BB,educore_temphum_sensor:()=>vB,educore_ultrasonic_sensor:()=>bB,esp32_s2_weather_init:()=>JV,esp32_s2_weather_rain:()=>zV,esp32_s2_weather_wd:()=>QV,esp32_s2_weather_ws:()=>qV,extern_rfid_read:()=>yV,extern_rfid_readcontent:()=>bV,extern_rfid_readid:()=>xV,extern_rfid_status:()=>GV,extern_rfid_write:()=>VV,extern_rfid_write_return:()=>BV,get_keboards_value:()=>zB,gnss_get_data:()=>IB,gnss_have_data:()=>TB,init_init_rotary_encoder:()=>qB,init_matrix_keyboard:()=>QB,interaction_whether_to_interaction:()=>IV,interaction_whether_to_interaction_SANT:()=>TV,line_tube_foot:()=>WB,mixbot_sensor_extern_get_addr:()=>SB,mixbot_sensor_extern_set_addr:()=>AB,pm25_get_data:()=>dB,radar_set_DETECTION_THRESHOLD:()=>lV,radar_set_DETECTION_THRESHOLD_SANT:()=>dV,robot_button_extern_get_value:()=>hB,robot_color_extern_get_value:()=>cB,robot_infrared_extern_get_value:()=>EB,robot_infrared_extern_grey_get_value:()=>OB,robot_potentiometer_extern_get_value:()=>RB,robot_sonar_extern_get_value:()=>gB,robot_sonar_extern_led:()=>CB,robot_touch_extern_get_value:()=>mB,rotary_key:()=>jB,sensor_APDS9960_extern:()=>cV,sensor_DS18X20:()=>FB,sensor_LTR308_extern:()=>gV,sensor_LTR390UV_extern:()=>fV,sensor_MAX30102_extern:()=>RV,sensor_QMC5883L_extern:()=>FV,sensor_VL530LX_extern:()=>vV,sensor_aht11_extern:()=>YV,sensor_bmp:()=>aV,sensor_dht11:()=>oB,sensor_distance_hrsc04:()=>tV,sensor_hp203_extern:()=>CV,sensor_ltr381_extern:()=>NV,sensor_mixgo_extern_button_attachInterrupt:()=>Zb,sensor_mixgo_extern_button_get_presses:()=>$b,sensor_mixgo_extern_button_is_pressed:()=>qb,sensor_mixgo_extern_button_was_pressed:()=>jb,sensor_mixgo_extern_light:()=>sV,sensor_mixgo_extern_pin_near:()=>oV,sensor_mixgo_extern_sound:()=>_V,sensor_mixgoce_hot_wheel_degrees:()=>KV,sensor_mixgoce_hot_wheel_is_touched:()=>WV,sensor_mpu9250_attachGestureInterrupt:()=>eV,sensor_ms5611_extern:()=>AV,sensor_ms5611_extern_altitude:()=>LV,sensor_read_humiture:()=>xB,sensor_rtc_init:()=>pV,sensor_sht:()=>uV,sensor_shtc3_extern:()=>PV,sensor_spl06_001_extern:()=>SV,sensor_ucs12071_extern:()=>DV,sensor_use_i2c_init:()=>rV,sensor_use_spi_init:()=>XV,sensor_use_uart_init:()=>lB,sensor_weather_solo_init:()=>LB,sensor_weather_solo_rain:()=>fB,sensor_weather_solo_wd:()=>NB,sensor_weather_solo_ws:()=>DB,sensor_weigh_init:()=>HB,tvoc_get_data:()=>MB,ultrasonic_sensor_read_distance:()=>VB,weather_data:()=>UV,weather_have_data:()=>wV,weather_set_label:()=>kV,weather_uart_mixio:()=>HV,weigh_sensor_get_weight:()=>kB});var ue={};e.r(ue),e.d(ue,{HCSR04:()=>oG,bitbot_als_num:()=>DU,dht11:()=>xU,educore_button_sensor:()=>HU,educore_button_was_pressed:()=>kU,educore_gyroscope_sensor:()=>GU,educore_gyroscope_sensor_read:()=>UU,educore_gyroscope_sensor_shake:()=>wU,educore_light_sensor:()=>BU,educore_rfid_sensor:()=>WU,educore_rfid_sensor_scan:()=>KU,educore_rfid_sensor_scan_data:()=>JU,educore_voice_sensor:()=>bU,number1:()=>pG,number2:()=>aG,number3:()=>uG,number4:()=>rG,number5:()=>lG,number6:()=>dG,number7:()=>IG,onboard_RTC_get_time:()=>sU,onboard_RTC_get_time_str:()=>pU,onboard_RTC_get_timestamp:()=>_U,onboard_RTC_get_timetuple_to_str:()=>aU,onboard_RTC_set_datetime:()=>iU,onboard_RTC_settime_string:()=>nU,onboard_RTC_timestamp_totuple:()=>oU,rfid_readcontent:()=>fG,rfid_readid:()=>DG,rfid_status:()=>YG,rfid_write:()=>FG,rfid_write_return:()=>PG,sensor_LTR308:()=>CG,sensor_adxl345_get_acceleration:()=>UG,sensor_aht11:()=>LG,sensor_bitbot_ALS:()=>NU,sensor_button_get_presses:()=>PU,sensor_button_is_pressed:()=>fU,sensor_button_was_pressed:()=>FU,sensor_compass_reset:()=>JG,sensor_ds18x20:()=>cG,sensor_eulerangles:()=>XG,sensor_get_acceleration:()=>vG,sensor_get_temperature:()=>NG,sensor_get_the_coprocessor_version:()=>QU,sensor_hp203:()=>AG,sensor_light:()=>yU,sensor_lm35:()=>gG,sensor_mixbot_get_gyro:()=>LU,sensor_mixbot_patrol_calibrate:()=>CU,sensor_mixbot_patrol_value:()=>SU,sensor_mixbot_temperature:()=>AU,sensor_mixgo_LTR308:()=>EG,sensor_mixgo_button_attachInterrupt:()=>tG,sensor_mixgo_button_get_presses:()=>eG,sensor_mixgo_button_is_pressed:()=>$B,sensor_mixgo_button_was_pressed:()=>ZB,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>lU,sensor_mixgo_cc_mmc5603_get_angle:()=>rU,sensor_mixgo_cc_mmc5603_get_magnetic:()=>uU,sensor_mixgo_light:()=>XU,sensor_mixgo_nova_LTR308:()=>RG,sensor_mixgo_nova_pin_near:()=>mG,sensor_mixgo_pin_near:()=>hG,sensor_mixgo_pin_near_double:()=>MG,sensor_mixgo_pin_near_single:()=>TG,sensor_mixgo_pin_pressed:()=>BG,sensor_mixgo_sant_color:()=>OG,sensor_mixgo_touch_slide:()=>VG,sensor_mixgocar42_button_attachInterrupt:()=>_G,sensor_mixgocar42_button_get_presses:()=>sG,sensor_mixgocar42_button_is_pressed:()=>iG,sensor_mixgocar42_button_was_pressed:()=>nG,sensor_mixgocar_battery_left:()=>gU,sensor_mixgocar_pin_near:()=>RU,sensor_mixgocar_pin_near_line:()=>OU,sensor_mixgocar_pin_near_state_change:()=>cU,sensor_mixgoce_pin_pressed:()=>bG,sensor_mixgoce_temperature:()=>IU,sensor_mixgome_temperature:()=>dU,sensor_mpu9250_calibrate_compass:()=>kG,sensor_mpu9250_field_strength:()=>KG,sensor_mpu9250_gesture:()=>yG,sensor_mpu9250_get_acceleration:()=>xG,sensor_mpu9250_get_gyro:()=>HG,sensor_mpu9250_get_magnetic:()=>wG,sensor_mpu9250_temperature:()=>WG,sensor_mpython_pin_pressed:()=>GG,sensor_mpython_qmi8658_get_gyro:()=>TU,sensor_mpython_qmi8658_temperature:()=>MU,sensor_onboard_compass_reset:()=>tU,sensor_onboard_mpu9250_calibrate_compass:()=>$G,sensor_onboard_mpu9250_field_strength:()=>eU,sensor_onboard_mpu9250_gesture:()=>QG,sensor_onboard_mpu9250_get_acceleration:()=>zG,sensor_onboard_mpu9250_get_gyro:()=>jG,sensor_onboard_mpu9250_get_magnetic:()=>qG,sensor_onboard_mpu9250_temperature:()=>ZG,sensor_pin_near:()=>vU,sensor_pin_pressed:()=>YU,sensor_read:()=>VU,sensor_rm_acc:()=>EU,sensor_rm_battery_left:()=>mU,sensor_rm_pin_near_double:()=>hU,sensor_sound:()=>SG,simulated_light_sensor:()=>zU});var re={};e.r(re),e.d(re,{serial_any:()=>ew,serial_print:()=>qU,serial_print_byte:()=>jU,serial_print_hex:()=>ZU,serial_println:()=>$U,serial_read_from_ai:()=>lw,serial_readline:()=>iw,serial_readstr:()=>tw,serial_send_to_ai:()=>rw,serial_softserial:()=>nw,serial_softserial_new:()=>sw,system_input:()=>_w,system_print:()=>ow,system_print_end:()=>aw,system_print_inline:()=>pw,system_print_many:()=>uw});var le={};e.r(le),e.d(le,{Panic_with_status_code:()=>Cw,Timer_init:()=>Bw,base_delay:()=>ww,controls_delay:()=>Dw,controls_delay_new:()=>fw,controls_end_program:()=>Aw,controls_millis:()=>Sw,controls_uname:()=>Nw,reset:()=>Lw,set_system_timer:()=>Pw,system_bitbot_shutdown:()=>Vw,system_device_name:()=>cw,system_device_serial_number:()=>gw,system_event_bus_source:()=>Ow,system_event_bus_value:()=>Rw,system_machine_reset:()=>bw,system_on_event:()=>hw,system_raise_event:()=>Mw,system_reset:()=>Iw,system_run_in_background:()=>dw,system_ticks_diff:()=>Yw,system_timer:()=>Xw,system_timer_init:()=>vw,system_timestamp:()=>mw,system_value:()=>Ew,system_wait:()=>Tw,system_wdt_feed:()=>xw,system_wdt_init:()=>yw,time_ticks_diff:()=>Uw,timer:()=>Fw,timer2:()=>Gw});var de={};e.r(de),e.d(de,{Air_daily_content:()=>tH,Air_now_content:()=>Qw,Geo_moon_content:()=>nH,Geo_sun_content:()=>iH,Life_suggestion_content:()=>qw,Location_search_content:()=>$w,Tide_daily_content:()=>jw,WEATHER_DAILY:()=>kw,WEATHER_HOUR:()=>Ww,WEATHER_NOW:()=>Hw,Weather_alarm_content:()=>zw,Weather_daily:()=>Zw,Weather_daily_content:()=>eH,Weather_now:()=>Kw,Weather_now_content:()=>Jw});var Ie={};e.r(Ie),e.d(Ie,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>oH});var Te={};e.r(Te),e.d(Te,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>aH});var Me={};e.r(Me),e.d(Me,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>rH});var he={};e.r(he),e.d(he,{controls_pin_attachInterrupt:()=>FH,inout_analog_atten:()=>RH,inout_analog_write:()=>EH,inout_analog_write_init:()=>SH,inout_analog_write_set:()=>OH,inout_analog_write_set_freq:()=>LH,inout_digital_init:()=>CH,inout_digital_read:()=>mH,inout_digital_write:()=>hH,inout_highlow:()=>MH,inout_pinMode:()=>NH,inout_pin_attachInterrupt:()=>gH,inout_pin_pressed:()=>cH,inout_pin_pressed_init:()=>AH,pin_pressed:()=>fH,pin_pressed_init:()=>DH});var me={};e.r(me),e.d(me,{analog_input:()=>BH,analog_output:()=>UH,espnow_channel:()=>xH,haskylens_model:()=>bH,i2c_A_pin:()=>wH,i2c_B_pin:()=>HH,pins_analog:()=>QH,pins_analog_pin:()=>zH,pins_axis:()=>dk,pins_brightness:()=>Ik,pins_builtinimg:()=>_k,pins_builtinimg_extern:()=>ok,pins_button:()=>$H,pins_buttonB:()=>ZH,pins_dac:()=>qH,pins_dac_pin:()=>jH,pins_digital:()=>YH,pins_digital_dot:()=>ck,pins_digital_pin:()=>vH,pins_exlcdh:()=>rk,pins_exlcdv:()=>lk,pins_imglist:()=>pk,pins_input_pin:()=>XH,pins_one_more:()=>Rk,pins_output_pin:()=>yH,pins_playlist:()=>ak,pins_playlist_extern:()=>uk,pins_pwm:()=>ek,pins_pwm_pin:()=>tk,pins_radio_datarate:()=>Ok,pins_radio_power:()=>Ek,pins_serial:()=>sk,pins_tone_notes:()=>mk,pins_touch:()=>nk,pins_touch_pin:()=>ik,pins_tts_bgmusic:()=>hk,pins_tts_builtin_music:()=>Mk,pins_tts_voice:()=>Tk,pwm_input:()=>VH,pwm_output:()=>GH,spi_A_pin:()=>kH,spi_B_pin:()=>WH,spi_C_pin:()=>KH,spi_D_pin:()=>JH,timer_id_pin:()=>gk});var Ee={};e.r(Ee),e.d(Ee,{mini_g2_rfid_readcontent:()=>Sk,mini_g2_rfid_readid:()=>Ck,mini_g2_rfid_status:()=>Nk,mini_g2_rfid_write:()=>Ak,mini_g2_rfid_write_outcome:()=>Lk});var Oe={};e.r(Oe),e.d(Oe,{inout_analog_atten:()=>bk,inout_analog_write:()=>Pk,inout_analog_write_init:()=>xk,inout_analog_write_set:()=>Yk,inout_digital_init:()=>yk,inout_digital_read:()=>Fk,inout_digital_write:()=>fk,inout_highlow:()=>Dk,inout_pin_attachInterrupt:()=>Xk,inout_pin_pressed:()=>vk,inout_pin_pressed_init:()=>Vk});var Re={};e.r(Re),e.d(Re,{analog_input:()=>Qk,analog_output:()=>qk,espnow_channel:()=>Kk,haskylens_model:()=>Jk,i2c_A_pin:()=>jk,i2c_B_pin:()=>$k,pins_analog:()=>sW,pins_analog_pin:()=>nW,pins_axis:()=>mW,pins_brightness:()=>RW,pins_builtinimg:()=>FW,pins_builtinimg_extern:()=>IW,pins_button:()=>Gk,pins_buttonB:()=>Uk,pins_dac:()=>aW,pins_dac_pin:()=>pW,pins_digital:()=>Bk,pins_digital_dot:()=>DW,pins_digital_pin:()=>wk,pins_exlcdh:()=>EW,pins_exlcdv:()=>OW,pins_imglist:()=>TW,pins_input_pin:()=>Hk,pins_interrupt:()=>lW,pins_one_more:()=>NW,pins_output_pin:()=>kk,pins_playlist:()=>MW,pins_playlist_extern:()=>hW,pins_pwm:()=>oW,pins_pwm_input:()=>Wk,pins_pwm_pin:()=>_W,pins_radio_datarate:()=>LW,pins_radio_power:()=>AW,pins_serial:()=>dW,pins_tone_notes:()=>SW,pins_touch:()=>rW,pins_touch_pin:()=>uW,pins_tts_bgmusic:()=>CW,pins_tts_builtin_music:()=>gW,pins_tts_voice:()=>cW,pwm_output:()=>zk,spi_A_pin:()=>Zk,spi_B_pin:()=>eW,spi_C_pin:()=>tW,spi_D_pin:()=>iW,timer_id_pin:()=>fW});var ce={};e.r(ce),e.d(ce,{mini_g2_rfid_readcontent:()=>YW,mini_g2_rfid_readid:()=>PW,mini_g2_rfid_status:()=>yW,mini_g2_rfid_write:()=>vW,mini_g2_rfid_write_outcome:()=>XW});const ge=Blockly,Ce=Mixly,Se={NAME_TYPE:"VARIABLE",allVariables:function(e){var t;if(e.getDescendants)t=e.getDescendants();else{if(!e.getAllBlocks)throw"Not Block or Workspace: "+e;t=e.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Ae=Se; +/** + * @license + * Visual Blocks Editor + * + * Copyright 2012 Google Inc. + * https://developers.google.com/blockly/ + * + * 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. + */ +class Le{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ge.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(ge.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(ge.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(ge.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},We={init:function(){this.setColour(Be),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.PYTHON_RANGE).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ke={init:function(){this.setColour(Be),this.appendValueInput("LIST").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(ge.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Je={init:function(){this.setColour(Be),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new ge.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(ge.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:ge.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:ge.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},Qe={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},ze={init:function(){this.setColour(Be);var e=new ge.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:ge.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:ge.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},qe={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ge.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return ge.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},je={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ge.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return ge.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};Je.OPERATORS=[[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],ze.OPERATORS=[[ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const $e={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ze={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},et={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(ge.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},tt={init:function(){this.setColour(Be),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},it={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},nt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},st={init:function(){this.jsonInit({message0:ge.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Be,tooltip:ge.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:ge.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},_t={init:function(){this.setColour(Be),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_STAT),this.setOutput(!0)}},ot={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},at={init:function(){this.appendDummyInput().appendField(ge.Msg.CONTROLS_REPEAT_TITLE_REPEAT+ge.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(ge.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new ge.FieldDropdown([[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Be),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ut={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},lt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},dt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_GET_UNIQUE_IDEN)}},It={init:function(){this.setColour(Be),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(ge.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Tt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Mt=230;ge.FieldTextInput.math_number_validator=function(e){return String(e)},ge.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const ht={init:function(){this.setColour(Mt),this.appendDummyInput().appendField(new ge.FieldTextInput("0",ge.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MATH_NUMBER_TOOLTIP)}},mt={init:function(){this.setColour(Mt);this.appendDummyInput("").appendField(ge.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ge.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},Et={init:function(){this.setColour(Mt);this.appendDummyInput("").appendField(ge.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ge.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},Ot={init:function(){this.setColour(Mt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:ge.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ge.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ge.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Rt={init:function(){this.setColour(Mt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:ge.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ge.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ge.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},ct={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new ge.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},gt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new ge.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:ge.Msg.MATH_TRIG_TOOLTIP_SIN,COS:ge.Msg.MATH_TRIG_TOOLTIP_COS,TAN:ge.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:ge.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:ge.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:ge.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:ge.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},Ct={init:function(){var e=[[ge.Msg.MATH_BIN,"bin"],[ge.Msg.MATH_OCT,"oct"],[ge.Msg.MATH_HEX,"hex"]];this.setColour(Mt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new ge.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:ge.Msg.MATH_DEC_TOOLTIP_BIN,oct:ge.Msg.MATH_DEC_TOOLTIP_OCT,hex:ge.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},St={init:function(){var e=[[ge.Msg.LANG_MATH_TO_ROUND,"round"],[ge.Msg.LANG_MATH_TO_CEIL,"ceil"],[ge.Msg.LANG_MATH_TO_FLOOR,"floor"],[ge.Msg.MATH_ABS,"fabs"],[ge.Msg.MATH_SQRT,"sqrt"]];this.setColour(Mt),this.appendValueInput("A").setCheck(Number).appendField(new ge.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:ge.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:ge.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:ge.Msg.MATH_SINGLE_TOOLTIP_SQ,round:ge.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:ge.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:ge.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},At={init:function(){var e=[[ge.Msg.MIXLY_MAX,"max"],[ge.Msg.MIXLY_MIN,"min"]];this.setColour(Mt),this.appendValueInput("A").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(ge.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:ge.Msg.MIXLY_TOOLTIP_MATH_MAX,min:ge.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},Lt={init:function(){var e=[[ge.Msg.MATH_TWO,"two"],[ge.Msg.MATH_EIGHT,"eight"],[ge.Msg.MATH_TEN,"ten"],[ge.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Mt),this.appendDummyInput("").appendField(ge.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new ge.FieldDropdown(e),"OP").appendField(ge.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MATH_ZHW).appendField(new ge.FieldDropdown(e),"OP2").appendField(ge.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:ge.Msg.MATH_Before_two,eight:ge.Msg.MATH_Before_eight,ten:ge.Msg.MATH_Before_ten,sixteen:ge.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:ge.Msg.MATH_Behind_two,eight:ge.Msg.MATH_Behind_eight,ten:ge.Msg.MATH_Behind_ten,sixteen:ge.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},Nt={init:function(){var e=[[ge.Msg.LANG_MATH_INT,"int"],[ge.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Mt),this.setOutput(!0,Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_RANDOM).appendField(new ge.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:ge.Msg.LANG_MATH_INT,float:ge.Msg.LANG_MATH_FLOAT_RANDOM};return ge.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},Dt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(ge.Msg.MATH_CONSTRAIN_TOOLTIP)}},ft={init:function(){this.setColour(Mt),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(ge.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(ge.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Ft={init:function(){this.setColour(Mt),this.appendDummyInput().appendField(new ge.FieldTextInput("0",ge.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(ge.Msg.MATH_NUMBER_TOOLTIP)}},Pt={init:function(){this.setColour(Mt),this.appendValueInput("NUM").setCheck(Number).appendField(ge.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Yt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MATH_ROUND).appendField(ge.Msg.TEXT_KEEP),this.appendDummyInput().appendField(ge.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(ge.Msg.MATH_ROUND_NEW_TOOLTIP)}},vt={init:function(){var e=[[ge.Msg.MIXLY_TO_INT,"int"],[ge.Msg.MIXLY_TO_FLOAT,"float"],[ge.Msg.MIXLY_TO_BITES,"b"],[ge.Msg.LANG_MATH_BYTE+ge.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Mt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:ge.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:ge.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:ge.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Xt={init:function(){var e=[[ge.Msg.MIXLY_TO_INT,"int"],[ge.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Mt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:ge.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:ge.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},yt=ft,xt={init:function(){this.setColour(Mt),this.appendValueInput("VAR").appendField(ge.Msg.LANG_MATH_BYTE+ge.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},bt={init:function(){this.setColour(Mt),this.itemCount_=1,this.setMutator(new ge.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(ge.Msg.MIXLY_PRODUCT+ge.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(ge.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(ge.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(ge.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const kt={init:function(){this.setColour(Gt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ge.FieldTextInput("",ge.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(ge.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new ge.FieldImage(t,7,12,'"')}},Wt={init:function(){this.setColour(Gt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(ge.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Kt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Jt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(String).appendField(ge.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Qt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},zt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},qt={init:function(){this.WHERE_OPTIONS=[[ge.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ge.Msg.TEXT_GET_INDEX_RANDOM+1+ge.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.LISTS_GET_INDEX_GET,"MODE"),ge.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(ge.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+ge.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",ge.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:ge.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:ge.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:ge.Msg.TEXT_GET_INDEX_RANDOM};return ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+ge.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==ge.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),ge.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(ge.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new ge.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),ge.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},jt={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(ge.Msg.LISTS_GET_INDEX_GET+" "+ge.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(ge.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+ge.Msg.LISTS_GET_INDEX_FROM_START+"n"+ge.Msg.TEXT_CHARAT2)}},$t={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(ge.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(ge.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Zt={init:function(){this.WHERE_OPTIONS_1=[[ge.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ge.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[ge.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[ge.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(ge.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==ge.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==ge.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),ge.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(ge.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new ge.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ei={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(ge.Msg.LISTS_GET_INDEX_GET+" "+ge.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(ge.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(ge.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(ge.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ti={init:function(){var e=[[ge.Msg.MIXLY_EQUALS,"==="],[ge.Msg.MIXLY_STARTSWITH,"startswith"],[ge.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Gt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new ge.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ii={init:function(){this.setColour(Gt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(ge.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_COMPARETO_HELP)}},ni={init:function(){var e=[[ge.Msg.TEXT_UPPER,"upper"],[ge.Msg.TEXT_TITLE,"title"],[ge.Msg.TEXT_CAPITALIZE,"capitalize"],[ge.Msg.TEXT_SWAPCASE,"swapcase"],[ge.Msg.TEXT_LOWER,"lower"]];this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:ge.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:ge.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:ge.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:ge.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:ge.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},si={init:function(){var e=[[ge.Msg.TEXT_LJUST,"ljust"],[ge.Msg.TEXT_CENTER,"center"],[ge.Msg.TEXT_RJUST,"rjust"]];this.setColour(Gt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(ge.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(ge.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},_i={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(ge.Msg.MIXLY_MID+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(ge.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(ge.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(ge.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ai={init:function(){this.setColour(Gt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(ge.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(ge.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ui={init:function(){var e=[[ge.Msg.TEXT_TRIM_BOTH,"strip"],[ge.Msg.TEXT_TRIM_LEFT,"lstrip"],[ge.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Gt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ge.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(ge.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:ge.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:ge.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:ge.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},ri={init:function(){this.setColour(Gt),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new ge.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ge.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},pn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(_n),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_KEYS),this.setTooltip(ge.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(ge.Msg.DICTS_GET_TOOLTIP)}},ln={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(ge.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(ge.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},In={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_DELETE_TOOLTIP)}},Tn={init:function(){this.setColour(_n),this.appendValueInput("DICT2").setCheck("Dict").appendField(ge.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(ge.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MID),this.setTooltip(ge.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_CLEAR),this.setTooltip(ge.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_ITEMS),this.setTooltip(ge.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_VALUES),this.setTooltip(ge.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},En={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_LENGTH),this.setTooltip(ge.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},On={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_DELDICT),this.setTooltip(ge.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[ge.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[ge.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(ge.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=ge.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=ge.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==ge.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new ge.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},cn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.setTooltip(ge.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},gn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(ge.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(_n),this.appendDummyInput("").appendField(new ge.FieldLabel(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new ge.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Sn={init:function(){this.setColour(_n),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},An={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TO_JSON),this.setTooltip(ge.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(_n),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(ge.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TO_JSON),this.setTooltip(ge.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},fn=210,Fn={init:function(){var e=ge.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:ge.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:ge.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:ge.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:ge.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:ge.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:ge.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},Pn={init:function(){var e=ge.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=ge.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new ge.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Yn={init:function(){var e=[[ge.Msg.LOGIC_OPERATION_AND,"AND"],[ge.Msg.LOGIC_OPERATION_OR,"OR"],[ge.Msg.LOGIC_OPERATION_NOR,"NOR"],[ge.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new ge.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:ge.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:ge.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:ge.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:ge.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},vn={init:function(){this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(ge.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(ge.Msg.LOGIC_NEGATE_TOOLTIP)}},Xn={init:function(){var e=[[ge.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[ge.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new ge.FieldDropdown(e),"BOOL"),this.setTooltip(ge.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yn={init:function(){this.setColour(fn),this.setOutput(!0),this.appendDummyInput().appendField(ge.Msg.LOGIC_NULL),this.setTooltip(ge.Msg.LOGIC_NULL_TOOLTIP)}},xn={init:function(){this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(ge.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(ge.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},bn={init:function(){var e=[[ge.Msg.TEXT_APPEND_TO,"in"],[ge.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new ge.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(ge.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.IN)}},Vn={init:function(){var e=[[ge.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[ge.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Bn={init:function(){this.setColour(fn),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(ge.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[ge.Msg.MIXLY_ADD,"a"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_ADD,"ab"],[ge.Msg.MIXLY_R_W,"r+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_R_W,"rb+"],[ge.Msg.MIXLY_W_R,"w+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_W_R,"wb+"],[ge.Msg.MIXLY_A_R,"a+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG,o=ge.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(ge.Msg.MIXPY_TEXT_ENCODE).appendField(new ge.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG,o=ge.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},kn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ge.Msg.MICROBIT_PYTHON_TYPE)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.HTML_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const $n={init:function(){this.setColour(0),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ns={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+ge.Msg.MIXLY_ESP32_SET+{mkdir:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(ge.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.HTML_FILE,"isfile"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(ge.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},as={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(ge.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},us={init:function(){var e=ge.Procedures.findLegalName("",this),t=new ge.FieldTextInput(e,ge.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new ge.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&ge.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(ge.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(ge.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(ge.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(ge.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=ge.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),ge.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{ge.Events.enable()}},mutationToDom:function(e){var t=ge.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(ge.Msg.MIXLY_AIP_ATTR).setAlign(ge.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},__={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_FORM_CONTENT).appendField(new ge.FieldDropdown([[ge.Msg.HTML_TEXT,"text"],[ge.Msg.HTML_EMAIL,"email"],[ge.Msg.HTML_NUMBER,"number"],[ge.Msg.HTML_PASSWORD,"password"],[ge.Msg.HTML_CHECKBOX,"checkbox"],[ge.Msg.HTML_RADIOBUTTON,"radiobutton"],[ge.Msg.HTML_BUTTON,"button"],[ge.Msg.HTML_COLOUR,"colour"],[ge.Msg.HTML_DATE,"date"],[ge.Msg.HTML_LOCALTIME,"local time"],[ge.Msg.HTML_FILE,"file"],[ge.Msg.HTML_HIDDEN,"hidden"],[ge.Msg.HTML_IMAGE,"image"],[ge.Msg.HTML_MONTH,"month"],[ge.Msg.HTML_RANGE,"range"],[ge.Msg.HTML_RESET,"reset"],[ge.Msg.HTML_SEARCH,"search"],[ge.Msg.HTML_SUBMIT,"submit"],[ge.Msg.HTML_TELEPHONENUMBER,"telephone number"],[ge.Msg.HTML_TIME,"time"],[ge.Msg.HTML_URL,"url"],[ge.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(ge.Msg.HTML_NAME).appendField(new ge.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(ge.Msg.HTML_VALUE).appendField(new ge.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(ge.Msg.MIXLY_AIP_ATTR).setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new ge.FieldTextInput("property"),"KEY").appendField(":").appendField(new ge.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new ge.FieldTextInput("property"),"KEY").appendField(":").appendField(new ge.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},a_={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_TEXT).appendField(new ge.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_=160,r_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new ge.FieldTable(""),"TEXT")}},l_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new ge.FieldMultilineInput(""),"TEXT")}},d_={init:function(){this.setColour(u_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new ge.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},I_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},T_={init:function(){this.setColour(u_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new ge.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},M_={init:function(){this.setColour(u_),this.appendValueInput("VALUE").appendField(ge.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},h_={init:function(){this.setColour(u_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(ge.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=ge.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},ge.isNumber(n)&&ge.isNumber(s)&&ge.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const da=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ia=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},Ta=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Ma=function(e,t){return["None",t.ORDER_ATOMIC]},ha=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},ma=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Ea=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Oa=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Ra=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},ca=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ga=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},Ca=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},Sa=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Aa=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},La=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Na=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Da=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},fa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},Fa=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Pa=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Ya=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},va=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},ya=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},xa=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ba=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},Va=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},Ba=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Ga=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Ua=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},wa=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},Ha=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),ge.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Au=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Lu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Nu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Du=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},fu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},Fu=function(e,t){return'"},Pu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Yu=function(){return this.getFieldValue("TEXT")+"\n"},vu=function(e){return e.getFieldValue("TEXT")+"\n"},Xu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},yu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},xu=function(){return""},bu=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},Vu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},wu.scrubNakedValue=function(e){return e+"\n"},wu.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},wu.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},wu.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=ge.utils.string.wrap(_,wu.COMMENT_WRAP-3),n+=wu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Hu="#74A55B",ku={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_RGB_PIN_COUNT)}},Wu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ku={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ju={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Qu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},zu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ge.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ge.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},qu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ju={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_RESET)}},$u={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(ge.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},er={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},tr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ir={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},nr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},sr={init:function(){this.setColour(Hu),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_r={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Hu),this.appendValueInput("VAR").appendField("360°"+ge.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SETTING+ge.Msg.blockpy_turtle_rotate+ge.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},pr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},ar={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ur={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},rr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},lr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new ge.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(ge.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},dr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ge.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[ge.Msg.MOTOR_N,"ms32006.MOT_N"],[ge.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Ir={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new ge.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ge.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Tr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_RGB_PIN_COUNT)}},Mr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},hr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_WRI)}},Er={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new ge.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([["SYN6288"+ge.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+ge.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_WHETHER).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_STOPPED,"0"],[ge.Msg.MIXLY_PLAYING,"1"],[ge.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},gr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MP3_PLAY,"1"],[ge.Msg.MIXLY_MP3_PAUSE,"2"],[ge.Msg.MIXLY_STOP,"3"],[ge.Msg.MIXLY_MP3_PREV,"4"],[ge.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(ge.Msg.MIXLY_MP3_VOL+ge.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Sr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE+ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MP3_LOOP_ALL,"0"],[ge.Msg.MIXLY_MP3_LOOP_ONE,"1"],[ge.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[ge.Msg.MIXLY_MP3_LOOP_RAM,"3"],[ge.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[ge.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[ge.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Lr={},Nr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Dr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(ge.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Fr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(ge.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(ge.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Pr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Yr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},vr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_TRAFFIC_LIGHT).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LISTS_SET_INDEX_SET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_WHITE,"W"],[ge.Msg.COLOUR_RGB_RED,"R"],[ge.Msg.COLOUR_RGB_YELLOW,"Y"],[ge.Msg.COLOUR_RGB_GREEN,"G"],[ge.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_WHITE,"W"],[ge.Msg.COLOUR_RGB_RED,"R"],[ge.Msg.COLOUR_RGB_YELLOW,"Y"],[ge.Msg.COLOUR_RGB_GREEN,"G"],[ge.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[ge.Msg.MIXLY_SPEED,"[1]"],[ge.Msg.MATH_SINGLE_OP_ABSOLUTE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[ge.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[ge.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[ge.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MATH_SINGLE_OP_ABSOLUTE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"0"],[ge.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[ge.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField("("+ge.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Hr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField("("+ge.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"0"],[ge.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MOTOR,"ext_motor"],[ge.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ge.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ge.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ge.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ge.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ge.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ge.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MOTOR,"ext_motor"],[ge.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ge.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ge.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ge.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ge.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ge.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ge.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SERVO+ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},zr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MOTOR+ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},jr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r="#6C9858",Zr={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},el={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_ON,"1"],[ge.Msg.MIXLY_ESP32_OFF,"0"],[ge.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},tl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},il={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},_l={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(ge.Msg.MIXLY_LCD_SETCOLOR).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LIGHT_RED,"1"],[ge.Msg.MIXLY_LIGHT_GREEN,"2"],[ge.Msg.MIXLY_LIGHT_BLUE,"3"],[ge.Msg.MIXLY_LIGHT_YELLOW,"4"],[ge.Msg.MIXLY_LIGHT_CYAN,"5"],[ge.Msg.MIXLY_LIGHT_PURPLE,"6"],[ge.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ol={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},al={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},rl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ll={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},dl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Il={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_WRI)}},hl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},El={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ol={init:function(){this.setColour($r),this.appendValueInput("TICKS").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ge.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ge.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Rl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_RESET)}},gl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Al={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ll={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dl={init:function(){this.setColour($r),this.appendDummyInput().appendField("MixGo Car").appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour($r),this.appendDummyInput("").appendField("MixGo Car").appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_STOP).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ge.Msg.MIXLY_SPEED,"SPEED"],[ge.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.MIXLY_MOTOR).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"1"],[ge.Msg.TEXT_TRIM_RIGHT,"2"],[ge.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ge.Msg.MIXLY_SPEED,"SPEED"],[ge.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[ge.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(ge.Msg.MIXLY_MOTOR).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"0"],[ge.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_MIXBOT_BUZZER+ge.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},Hl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MIXBOT_BUZZER+ge.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_RECORD_AUDIO).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(ge.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_PLAY_AUDIO).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.PIN_NUMBERING);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.PIN_NUMBERING);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.MIXLY_ALL+ge.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(ge.ALIGN_RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$l={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(ge.ALIGN_RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.ANALOG+ge.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(ge.Msg.MIXLY_RELEASE).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.ANALOG+ge.Msg.MIXLY_KEYBOARD_INPUT)}},ed={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SPECIAL_KEY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[ge.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[ge.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[ge.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[ge.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[ge.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[ge.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[ge.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[ge.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GENERAL_KEY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},id={init:function(){this.setColour($r),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new ge.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(ge.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},Zm={init:function(){this.jsonInit({colour:wm,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:ge.Msg.MIXLY_MICROBIT_Built_in_image1,message0:ge.Msg.MIXLY_MICROBIT_Built_in_image})}},eE={init:function(){this.setColour(wm),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},tE={init:function(){this.setColour(wm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ge.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ge.FieldDropdown(tE.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ge.Msg.MIXLY_MICROBIT_image_add,"-":ge.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[ge.Msg.MICROBIT_DISPLAY_UNION,"add"],[ge.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},iE={init:function(){this.setColour(wm),this.appendValueInput("A").setCheck("esp32_image").appendField(ge.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},nE={init:function(){this.setColour(wm),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET2).appendField(new ge.FieldDropdown(nE.OPERATORS),"OP"),this.appendValueInput("val").appendField(ge.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ge.Msg.DISPLAY_IMAGE_LET,n=ge.Msg.DISPLAY_IMAGE_LET2,s=ge.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:ge.Msg.MIXLY_UP,shift_down:ge.Msg.MIXLY_DOWN,shift_left:ge.Msg.MIXLY_LEFT,shift_right:ge.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[ge.Msg.MIXLY_UP,"shift_up"],[ge.Msg.MIXLY_DOWN,"shift_down"],[ge.Msg.MIXLY_LEFT,"shift_left"],[ge.Msg.MIXLY_RIGHT,"shift_right"]]},sE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},_E={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},oE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},pE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},aE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Clear_display)}},uE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_SHOW+ge.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},lE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(lE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},dE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},IE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(IE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},TE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},ME={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(ME.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},hE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.OLED_SET_FONT).appendField(new ge.FieldDropdown(hE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+ge.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+ge.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+ge.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},mE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},EE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},OE={init:function(){this.setColour(wm),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ge.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},RE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ge.Msg.TEXT_CENTER).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},cE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},gE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},SE={init:function(){this.jsonInit({colour:wm,args0:[{name:"state",options:[[ge.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ge.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},AE={init:function(){this.jsonInit({colour:wm,args0:[{name:"state",options:[[ge.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ge.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[ge.Msg.mpython_vertical,"0"],[ge.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ge.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},LE={init:function(){this.jsonInit({colour:wm,args0:[{name:"state",options:[[ge.Msg.mpython_display_hline_1,"1"],[ge.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.mpython_display_line_TOOLTIP,message0:ge.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},NE={init:function(){this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ge.FieldDropdown(NE.IMAGES),"path"),this.setColour(wm),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},DE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},fE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(fE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},FE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},PE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},YE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},vE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new ge.FieldDropdown(vE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[ge.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[ge.Msg.CLOCKWISE+"90"+ge.Msg.blockpy_setheading_degree,"1"],[ge.Msg.CLOCKWISE+"180"+ge.Msg.blockpy_setheading_degree,"2"],[ge.Msg.CLOCKWISE+"270"+ge.Msg.blockpy_setheading_degree,"3"]]},XE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},yE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(yE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(wm),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},xE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(ge.Msg.MIXLY_AipImageClassify_Image+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ge.Msg.TEXT_CENTER).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},BE={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},GE={init:function(){this.jsonInit({colour:wm,args0:[{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ge.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},UE={init:function(){this.jsonInit({colour:wm,args0:[{name:"dir_h_v",options:[[ge.Msg.mpython_vertical,"0"],[ge.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ge.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},wE={init:function(){this.jsonInit({colour:wm,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.mpython_display_line_TOOLTIP,message0:ge.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},HE={init:function(){this.setColour(wm),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ge.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},kE={init:function(){this.setColour(wm),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_LCD_SETCOLOR).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},WE={init:function(){this.setColour(wm),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},KE={init:function(){this.setColour(wm),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(ge.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JE={init:function(){this.setColour(wm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},QE={init:function(){this.setColour(wm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(ge.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(ge.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(ge.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zE={init:function(){this.setColour(wm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qE={init:function(){this.setColour(wm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jE={init:function(){this.jsonInit({colour:wm,args0:[{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,message0:ge.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},$E={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER).appendField(ge.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(ge.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.DRAW_POINTER_TOOLTIP)}},ZE={init:function(){this.setColour(wm),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER).appendField(ge.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(ge.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.DRAW_POINTER_TOOLTIP)}},eO={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tO={init:function(){this.setColour(wm),this.appendValueInput("direct").appendField(ge.Msg.OLED_BITMAP).appendField(ge.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},iO={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP).appendField(ge.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ERROR_RATE).appendField(new ge.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(Ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nO={init:function(){this.setColour(wm),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},sO={init:function(){Wm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},_O={init:function(){zm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},oO={init:function(){nE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},pO={init:function(){oE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},aO={init:function(){pE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},uO={init:function(){aE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},rO=180,lO={init:function(){this.setColour(rO),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(ge.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET2).appendField(new ge.FieldDropdown(lO.OPERATORS),"OP"),this.appendValueInput("val").appendField(ge.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ge.Msg.DISPLAY_IMAGE_LET,n=ge.Msg.DISPLAY_IMAGE_LET2,s=ge.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"]]},dO={init:function(){this.setColour(rO),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ge.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ge.FieldDropdown(dO.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ge.Msg.MIXLY_MICROBIT_image_add,"-":ge.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[ge.Msg.MICROBIT_DISPLAY_UNION,"+"],[ge.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},IO={init:function(){this.setColour(rO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new ge.FieldDropdown(IO.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_MICROBIT_IMAGE+{height:ge.Msg.MIXLY_HEIGHT,width:ge.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[ge.Msg.MIXLY_HEIGHT,"height"],[ge.Msg.MIXLY_WIDTH,"width"]]},TO={init:function(){this.setColour(rO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RECT).appendField(new ge.FieldDropdown(TO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_OLED_RECT)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},MO={init:function(){this.setColour(rO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new ge.FieldDropdown(MO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},hO={init:function(){this.setColour(rO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_DISPLAY_DRAW+ge.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new ge.FieldDropdown(hO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_DISPLAY_DRAW+ge.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},mO="#777777",EO={init:function(){this.setColour(mO),this.appendDummyInput("").appendField("from ").appendField(new ge.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new ge.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},OO={init:function(){this.setColour(mO),this.appendDummyInput("").appendField("import ").appendField(new ge.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},RO={init:function(){this.setColour(mO),this.appendDummyInput("").appendField(new ge.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},pR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},aR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},uR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},rR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ge.Msg.MIXLY_WIFI_USERNAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.MIXLY_IOT_PASSWORD).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_PROJECT).setAlign(ge.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},dR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.appendDummyInput().appendField(ge.Msg.MIXLY_Service_quality_display).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_AT_MOST_ONCE,"0"],[ge.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},IR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},TR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ge.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},ER={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},OR={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},RR={init:function(){this.setColour(eR),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},cR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},gR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO").appendField(ge.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(ge.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},CR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+ge.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},AR={init:function(){this.VISITOR_ID=Ce.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(eR),this.appendDummyInput("").appendField(new ge.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},LR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MixIO").appendField(ge.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},NR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("HTTP"+ge.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ge.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(ge.Msg.MIXLY_REQUESTS_GET).appendField(ge.Msg.MIXLY_GET_CURRENT_TIME).appendField(ge.Msg.MIXLY_OPEN_DEBUG).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("HTTP"+ge.Msg.MIXLY_Client).appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ge.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ge.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},fR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MQTT"+ge.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ge.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(ge.Msg.MIXLY_INIT_SUBSCRIBE).appendField(ge.Msg.MQTT_Topic).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(ge.Msg.MIXLY_OPEN_DEBUG).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},FR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("MQTT"+ge.Msg.MIXLY_Client).appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ge.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ge.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},PR=tR,YR=iR,vR=nR,XR=sR,yR=oR,xR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(ge.Msg.MODEL_NAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(ge.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bR=xR,VR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.MIXLY_API_PRIVATE_KEY).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(ge.Msg.MODEL_NAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(ge.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GR={init:function(){this.setColour(eR),this.appendDummyInput().appendField(ge.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},UR={init:function(){this.setColour(eR),this.appendDummyInput().appendField("Ollama "+ge.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${ge.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${ge.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(ge.inputs.Align.RIGHT).appendField(`MixIO ${ge.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},KR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},JR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(ge.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},QR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(ge.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zR=225,qR={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(ge.Msg.MIXLY_NETWORK_MODE).appendField(new ge.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},jR={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[ge.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=ge.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:ge.Msg.MIXLY_NETWORK_WIFI_OPEN,False:ge.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},$R={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},ZR={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:ge.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},ec={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(ge.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(ge.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},tc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_CONNECT+ge.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},ic={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[ge.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[ge.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:ge.Msg.MIXLY_ESP32_NETWORK_IP,1:ge.Msg.MIXLY_ESP32_NETWORK_MASK,2:ge.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},nc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},sc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[ge.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},_c={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(ge.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(ge.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},oc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},pc={init:function(){this.setColour(zR),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ge.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},ac={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},uc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},rc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},lc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},dc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},Ic={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},Tc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},Mc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},hc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},mc={init:function(){this.setColour(zR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},Ec={init:function(){this.setColour(zR),this.appendValueInput("DOMAIN").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_REQUESTS_GET).appendField(new ge.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Oc={init:function(){this.appendValueInput("VAL"),this.setColour(zR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown(Oc.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:ge.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:ge.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:ge.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[ge.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},Rc={init:function(){this.appendValueInput("VAR").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(zR),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown(Rc.METHOD),"DIR"),this.appendDummyInput("").appendField(ge.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:ge.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:ge.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},cc={init:function(){this.setColour(zR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(ge.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},gc={init:function(){this.setColour(zR),this.appendDummyInput("").appendField(new ge.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},Cc="#3288dd",Sc={init:function(){this.setColour(Cc),this.appendValueInput("URL").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(ge.Msg.blockpy_REQUESTS).appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ac={init:function(){this.setColour(Cc),this.appendValueInput("URL").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(ge.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(ge.Msg.blockpy_REQUESTS+ge.Msg.OLED_STRING),this.appendDummyInput("").appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Lc={init:function(){this.appendValueInput("VAL"),this.setColour(Cc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown(Lc.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[ge.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[ge.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},Nc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(ge.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(ge.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Dc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(ge.Msg.MIXLY_EMQX_PORT).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ge.Msg.MIXLY_WIFI_USERNAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.MIXLY_IOT_PASSWORD).setAlign(ge.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fc={init:function(){this.setColour(Cc),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(ge.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},Fc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Yc={init:function(){this.setColour(Cc),this.appendDummyInput().appendField("mqtt"+ge.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},vc=100,Xc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(vc),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},yc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(vc),this.appendValueInput("PIN").appendField(e).appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(vc),this.appendValueInput("PIN").appendField(e).appendField(ge.Msg.SET_USB),this.appendValueInput("percent").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_POWER_SUPPLY),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(vc),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_SPK_STATE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ON,"True"],[ge.Msg.MIXLY_OFF,"False"]]),"state"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vc=100,Bc={init:function(){this.setColour(Vc),this.appendValueInput("I2CSUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Gc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},Uc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},kc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Wc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+ge.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kc={init:function(){this.setColour(Vc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jc="#A58C5B",Qc={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SENOR_IS_PRESSED)}},zc={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SENOR_WAS_PRESSED)}},qc={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_BUTTON+ge.Msg.MIXLY_GET_PRESSES)}},jc={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ge.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ge.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},$c={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_shake,"shake"],[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"],[ge.Msg.MIXLY_MICROBIT_face_up,"face up"],[ge.Msg.MIXLY_MICROBIT_face_down,"face down"],[ge.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=ge.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ge.Msg.MSG.catSensor,s=ge.Msg.MIXLY_MICROBIT_JS_STATE,_=ge.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ge.Msg.MIXLY_MICROBIT_shake,up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT,"face up":ge.Msg.MIXLY_MICROBIT_face_up,"face down":ge.Msg.MIXLY_MICROBIT_face_down,freefall:ge.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},Zc={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},eg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},tg={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField(new ge.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new ge.FieldDropdown(tg.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]},ig={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},ng={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},sg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"left"],[ge.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(ge.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=ge.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=ge.Msg.MIXLY_ESP32_NEAR;return i+{left:ge.Msg.TEXT_TRIM_LEFT,right:ge.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},_g={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[ge.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":ge.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":ge.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},og={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[ge.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},pg={init:function(){this.setColour(Jc),this.appendValueInput("PIN",Number).appendField("DS18X20 "+ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},ag={init:function(){this.setColour(Jc),this.appendDummyInput("").appendField("LM35"+ge.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_LM35)}},ug={init:function(){this.setColour(Jc),this.appendValueInput("I2CSUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[ge.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[ge.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[ge.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[ge.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[ge.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[ge.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[ge.Msg.HTML_COLOUR+"、"+ge.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+ge.Msg.MIXLY_NEXT+"、"+ge.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[ge.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[ge.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[ge.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[ge.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[ge.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},rg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(ge.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+ge.Msg.MIXLY_DELAY_TIME_RANGE)}},lg={init:function(){this.setColour(Jc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RADAR).appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(ge.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+ge.Msg.MIXLY_DELAY_TIME_RANGE)}},dg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Ig={init:function(){this.setColour(Jc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RADAR).appendField(ge.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Tg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Mg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_HELLO_XIAOZHI,"1"],[ge.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[ge.Msg.MIXLY_THE_FIRST,"3"],[ge.Msg.MIXLY_THE_SECOND,"4"],[ge.Msg.MIXLY_THE_THIRD,"5"],[ge.Msg.MIXLY_THE_FOURTH,"6"],[ge.Msg.MIXLY_THE_FIFTH,"7"],[ge.Msg.MIXLY_THE_SIXTH,"8"],[ge.Msg.MIXLY_THE_SEVENTH,"9"],[ge.Msg.MIXLY_THE_EIGHTH,"10"],[ge.Msg.MIXLY_THE_NINTH,"11"],[ge.Msg.MIXLY_THE_TENTH,"12"],[ge.Msg.MIXLY_THE_ELEVENTH,"13"],[ge.Msg.MIXLY_THE_TWELFTH,"14"],[ge.Msg.MIXLY_THE_13TH,"15"],[ge.Msg.MIXLY_THE_14TH,"16"],[ge.Msg.MIXLY_THE_15TH,"17"],[ge.Msg.MIXLY_THE_16TH,"18"],[ge.Msg.MIXLY_THE_17TH,"19"],[ge.Msg.MIXLY_THE_18TH,"20"],[ge.Msg.MIXLY_THE_19TH,"21"],[ge.Msg.MIXLY_THE_20TH,"22"],[ge.Msg.MIXLY_Turn_on_the_lights,"23"],[ge.Msg.MIXLY_Turn_off_the_lights,"24"],[ge.Msg.MIXLY_Turn_up_the_brightness,"25"],[ge.Msg.MIXLY_Turn_down_the_brightness,"26"],[ge.Msg.MIXLY_Set_it_to_red,"27"],[ge.Msg.MIXLY_Set_it_to_orange,"28"],[ge.Msg.MIXLY_Set_it_to_yellow,"29"],[ge.Msg.MIXLY_Set_it_to_green,"30"],[ge.Msg.MIXLY_Set_it_to_cyan,"31"],[ge.Msg.MIXLY_Set_it_to_blue,"32"],[ge.Msg.MIXLY_Set_it_to_purple,"33"],[ge.Msg.MIXLY_Set_it_to_white,"34"],[ge.Msg.MIXLY_Turn_on_the_fan,"35"],[ge.Msg.MIXLY_Turn_off_the_fan,"36"],[ge.Msg.MIXLY_First_gear,"37"],[ge.Msg.MIXLY_Wind_speed_second,"38"],[ge.Msg.MIXLY_Third_gear,"39"],[ge.Msg.MIXLY_Previous,"40"],[ge.Msg.MIXLY_Next_page,"41"],[ge.Msg.MIXLY_Show_smiley_face,"42"],[ge.Msg.MIXLY_Show_crying_face,"43"],[ge.Msg.MIXLY_Show_love,"44"],[ge.Msg.MIXLY_Close_display,"45"],[ge.Msg.MIXLY_Start_execution,"46"],[ge.Msg.MIXLY_FORWARD,"47"],[ge.Msg.MIXLY_BACKWARD,"48"],[ge.Msg.MIXLY_TURNLEFT,"49"],[ge.Msg.MIXLY_TURNRIGHT,"50"],[ge.Msg.MIXLY_STOP,"51"],[ge.Msg.MIXLY_Accelerate,"52"],[ge.Msg.MIXLY_retard,"53"],[ge.Msg.ROTATION_FORWARD,"54"],[ge.Msg.ROTATION_BACKWARD,"55"],[ge.Msg.MIXLY_Query_temperature,"56"],[ge.Msg.MIXLY_Query_humidity,"57"],[ge.Msg.MIXLY_Query_brightness,"58"],[ge.Msg.MIXLY_Query_sound,"59"],[ge.Msg.MIXLY_Query_time,"60"],[ge.Msg.MIXLY_Query_distance,"61"],[ge.Msg.MIXLY_Query_pressure,"62"],[ge.Msg.MIXLY_Query_key,"63"],[ge.Msg.MIXLY_Query_touch,"64"],[ge.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(ge.Msg.MIXLY_WHETHER+ge.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},hg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[ge.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[ge.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},mg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MP3_PLAY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[ge.Msg.MIXLY_WIND_SPEED,"154"],[ge.Msg.MIXLY_HYETAL,"155"],[ge.Msg.MIXLY_TEMPERATURE,"156"],[ge.Msg.MIXLY_Humidity,"157"],[ge.Msg.MIXLY_Altitude,"158"],[ge.Msg.MIXLY_SOUND,"159"],[ge.Msg.MIXLY_BRIGHTNESS,"160"],[ge.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[ge.Msg.MIXLY_SERVO,"162"],[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[ge.Msg.MIXLY_BUTTON2,"164"],[ge.Msg.MIXLY_ESP32_TOUCH,"165"],[ge.Msg.MIXLY_PAY,"166"],[ge.Msg.MIXLY_CARSH_CHANGE,"167"],[ge.Msg.MIXLY_COUNTDOWN,"168"],[ge.Msg.MIXLY_TIMING,"169"],[ge.Msg.MIXLY_AT_THE_MOMENT,"170"],[ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[ge.Msg.MIXLY_FORWARD,"172"],[ge.Msg.MIXLY_BACKWARD,"173"],[ge.Msg.MIXLY_TURNLEFT,"174"],[ge.Msg.MIXLY_TURNRIGHT,"175"],[ge.Msg.MIXLY_STOP,"176"],[ge.Msg.MIXLY_Accelerate,"177"],[ge.Msg.MIXLY_retard,"178"],[ge.Msg.ROTATION_FORWARD,"179"],[ge.Msg.ROTATION_BACKWARD,"180"],[ge.Msg.TUPLE_JOIN,"181"],[ge.Msg.MIXLY_SHOW,"182"],[ge.Msg.MIXLY_LAMPLIGHT,"183"],[ge.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(ge.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(ge.Msg.MIXLY_UNIT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[ge.Msg.MIXLY_YEAR,"117"],[ge.Msg.MIXLY_MONTH,"118"],[ge.Msg.MIXLY_DAY,"119"],[ge.Msg.MIXLY_HOUR,"120"],[ge.Msg.MIXLY_MINUTE,"121"],[ge.Msg.MIXLY_SECOND,"122"],[ge.Msg.MIXLY_WEEK2,"123"],[ge.Msg.MIXLY_RMB_UNIT,"124"],[ge.Msg.blockpy_setheading_degree,"125"],[ge.Msg.MIXLY_GEAR,"126"],[ge.Msg.MIXLY_LAYER,"127"],[ge.Msg.MIXLY_GRAM,"128"],[ge.Msg.MIXLY_METER,"129"],[ge.Msg.MIXLY_CENTIMETER,"130"],[ge.Msg.MIXLY_MILLIMETER,"131"],[ge.Msg.MIXLY_LUMEN,"132"],[ge.Msg.MIXLY_DECIBEL,"133"],[ge.Msg.MIXLY_hectopascal,"134"],[ge.Msg.MIXLY_PERCENT,"135"],[ge.Msg.MIXLY_CELSIUS,"136"],[ge.Msg.MIXLY_METER_PER_SEC,"137"],[ge.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[ge.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[ge.Msg.MIXLY_SUCCESS,"140"],[ge.Msg.MIXLY_FAILED,"141"],[ge.Msg.MIXLY_WRONG,"142"],[ge.Msg.MIXLY_GOOD,"143"],[ge.Msg.MIXLY_blockpy_set_add,"144"],[ge.Msg.MIXLY_DECREASE,"145"],[ge.Msg.COLOUR_RGB_RED,"146"],[ge.Msg.COLOUR_RGB_ORANGE,"147"],[ge.Msg.COLOUR_YELLOW,"148"],[ge.Msg.COLOUR_RGB_GREEN,"149"],[ge.Msg.COLOUR_CYAN,"150"],[ge.Msg.COLOUR_RGB_BLUE,"151"],[ge.Msg.COLOUR_RGB_PURPLE,"152"],[ge.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Eg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXLY_SYSTEM+ge.Msg.MIXLY_CMD).appendField(new ge.FieldDropdown([[ge.Msg.MILXY_ENTER_WAKE_UP,"1"],[ge.Msg.MIXLY_INCREASE_VOLUME,"202"],[ge.Msg.MIXLY_REDUCE_VOLUME,"203"],[ge.Msg.MIXLY_MAX_VOLUME,"204"],[ge.Msg.MIXLY_MINIMUM,"205"],[ge.Msg.MIXLY_OPEN_RESPONSE,"206"],[ge.Msg.MIXLY_CLOSE_RESPONSE,"207"],[ge.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Og={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[ge.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[ge.Msg.MIXLY_ESP32_MAX30102_IR+","+ge.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Rg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[ge.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[ge.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},cg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},gg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.HTML_COLOUR+ge.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET+ge.Msg.HTML_COLOUR,"[2]"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_IR_STRENGTH,"[1]"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.HTML_COLOUR+ge.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET+"RGB"+ge.Msg.HTML_COLOUR,"0"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_RGB_RAW,"1"],[ge.Msg.MIXLY_GET_ENV_LIGHT+ge.Msg.MIXLY_BRIGHTNESS,"2"],[ge.Msg.GET_IR_STRENGTH+ge.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET_ENV_LIGHT,"E"],[ge.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ag={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Ng={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Dg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(ge.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MIXGOPE_FIELD+ge.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[ge.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},vg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_shake,"shake"],[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"],[ge.Msg.MIXLY_MICROBIT_face_up,"face up"],[ge.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=ge.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ge.Msg.MSG.catSensor,s=ge.Msg.MIXLY_MICROBIT_JS_STATE,_=ge.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ge.Msg.MIXLY_MICROBIT_shake,up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT,"face up":ge.Msg.MIXLY_MICROBIT_face_up,"face down":ge.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},Xg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},yg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_GET+ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},xg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},bg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Vg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_GETTEMPERATUE)}},Bg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return ge.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},Gg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Ug={init:function(){this.setColour(Jc),this.appendValueInput("SPISUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},wg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[ge.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},kg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Wg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Kg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ge.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Jg={init:function(){this.setColour(Jc),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_SCAN_OK,"0"],[ge.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[ge.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},zg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},qg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},jg={init:function(){this.setColour(Jc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ge.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},Tv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},hv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},Ev=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Ov=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Rv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},cv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},gv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},Cv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},Sv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},Av=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},Lv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},Nv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Dv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},fv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},Fv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},Pv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},Yv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},vv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},Xv=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},yv=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},xv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},bv=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},Vv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},Bv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Gv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},Uv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},wv=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},Hv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},kv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Wv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},Kv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Jv=function(e,t){t.definitions_.import_st7789="import st7789";var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},zv=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},jv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},$v=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},Zv=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},eX=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},tX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},iX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},nX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},sX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},_X=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},oX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Ce.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},pX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},aX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},uX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},rX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},lX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},dX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},IX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},TX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},MX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},hX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},mX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},EX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},OX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},RX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},cX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},gX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},CX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},SX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},AX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},LX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},NX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},DX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},fX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},FX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},PX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},YX=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},hy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},my=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},Ey=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Oy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},Ry=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},cy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},gy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},Cy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},Sy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},Ay=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Ly=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Ny=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},Dy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},fy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Fy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},Py=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},Yy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},vy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Xy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+t.valueToCode(this,"direct",t.ORDER_ATOMIC)+")\n"},yy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},xy=gX,by=UX,Vy=VX,By=UX,Gy=wX,Uy=XX,wy=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},Hy=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},ky=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},Iw=function(){return"control.reset()\n"},Tw=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+")\n"},Mw=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+")\n"},hw=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},mw=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},Ew=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},Ow=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Rw=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},cw=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},gw=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},Cw=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},Sw=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},Aw=function(){return"while True:\n pass\n"},Lw=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},Nw=function(e,t){return t.definitions_.import_os="import os","os.uname()"},Dw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},fw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Fw=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},Pw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},Yw=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},vw=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},Xw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},yw=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},xw=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},bw=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},Vw=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},Bw=vw,Gw=Xw,Uw=Yw,ww=Dw,Hw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},kw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ww=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Kw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},Jw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},zw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},jw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},$w=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Zw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},eH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},tH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},iH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},nH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},sH='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:_H}=Ce,oH=_H.render(sH,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:pH}=Ce,aH=pH.render(sH,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:uH}=Ce,rH=uH.render(sH,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),lH=new ge.Generator("Python");lH.INDENT=" ",lH.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),lH.ORDER_ATOMIC=0,lH.ORDER_COLLECTION=1,lH.ORDER_STRING_CONVERSION=1,lH.ORDER_UNARY_POSTFIX=1,lH.ORDER_UNARY_PREFIX=2,lH.ORDER_MEMBER=2.1,lH.ORDER_FUNCTION_CALL=2.2,lH.ORDER_EXPONENTIATION=3,lH.ORDER_UNARY_SIGN=4,lH.ORDER_BITWISE_NOT=4,lH.ORDER_MULTIPLICATIVE=5,lH.ORDER_ADDITIVE=6,lH.ORDER_BITWISE_SHIFT=7,lH.ORDER_BITWISE_AND=8,lH.ORDER_BITWISE_XOR=9,lH.ORDER_BITWISE_OR=10,lH.ORDER_RELATIONAL=11,lH.ORDER_EQUALITY=11,lH.ORDER_LOGICAL_NOT=12,lH.ORDER_LOGICAL_AND=13,lH.ORDER_LOGICAL_OR=14,lH.ORDER_ASSIGNMENT=14,lH.ORDER_CONDITIONAL=15,lH.ORDER_LAMBDA=16,lH.ORDER_NONE=99,lH.ORDER_OVERRIDES=[[lH.ORDER_FUNCTION_CALL,lH.ORDER_MEMBER],[lH.ORDER_FUNCTION_CALL,lH.ORDER_FUNCTION_CALL],[lH.ORDER_MEMBER,lH.ORDER_MEMBER],[lH.ORDER_MEMBER,lH.ORDER_FUNCTION_CALL]],lH.init=function(){lH.PASS=this.INDENT+"pass\n",lH.definitions_=Object.create(null),lH.functionNames_=Object.create(null),lH.setups_=Object.create(null),lH.loops_=Object.create(null),lH.codeEnd_=Object.create(null),lH.variableDB_?lH.variableDB_.reset():lH.variableDB_=new Ne(lH.RESERVED_WORDS_)},lH.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in lH.functions_)o.push(lH.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in lH.setups_)p.push(lH.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in lH.loops_)a.push(lH.loops_[s]);var u=[];for(var s in lH.codeEnd_)u.push(lH.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},lH.scrubNakedValue=function(e){return e+"\n"},lH.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},lH.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},lH.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=ge.utils.string.wrap(_,lH.COMMENT_WRAP-3),n+=lH.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const dH={};dH["元控青春"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-18"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["DOOR_CLOSE","object_picture.DOOR_CLOSE"],["DOOR_OPEN","object_picture.DOOR_OPEN"],["DOOR_OPENING","object_picture.DOOR_OPENING"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","spk_midi.DADADADUM"],["ENTERTAINER","spk_midi.ENTERTAINER"],["PRELUDE","spk_midi.PRELUDE"],["ODE","spk_midi.ODE"],["NYAN","spk_midi.NYAN"],["RINGTONE","spk_midi.RINGTONE"],["FUNK","spk_midi.FUNK"],["BLUES","spk_midi.BLUES"],["BIRTHDAY","spk_midi.BIRTHDAY"],["WEDDING","spk_midi.WEDDING"],["FUNERAL","spk_midi.FUNERAL"],["PUNCHLINE","spk_midi.PUNCHLINE"],["PYTHON","spk_midi.PYTHON"],["BADDY","spk_midi.BADDY"],["CHASE","spk_midi.CHASE"],["BA_DING","spk_midi.BA_DING"],["WAWAWAWAA","spk_midi.WAWAWAWAA"],["JUMP_UP","spk_midi.JUMP_UP"],["JUMP_DOWN","spk_midi.JUMP_DOWN"],["POWER_UP","spk_midi.POWER_UP"],["POWER_DOWN","spk_midi.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},dH["元控自强"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-20"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:dH["元控青春"].builtinimg,builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},dH["ESP32S2 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-18"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:dH["元控青春"].builtinimg,builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM",".DADADADUM"],["ENTERTAINER",".ENTERTAINER"],["PRELUDE",".PRELUDE"],["ODE",".ODE"],["NYAN",".NYAN"],["RINGTONE",".RINGTONE"],["FUNK",".FUNK"],["BLUES",".BLUES"],["BIRTHDAY",".BIRTHDAY"],["WEDDING",".WEDDING"],["FUNERAL",".FUNERAL"],["PUNCHLINE",".PUNCHLINE"],["PYTHON",".PYTHON"],["BADDY",".BADDY"],["CHASE",".CHASE"],["BA_DING",".BA_DING"],["WAWAWAWAA",".WAWAWAWAA"],["JUMP_UP",".JUMP_UP"],["JUMP_DOWN",".JUMP_DOWN"],["POWER_UP",".POWER_UP"],["POWER_DOWN",".POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const IH=dH,TH=20,MH={init:function(){this.setColour(TH),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_HIGH,"HIGH"],[ge.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},hH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},mH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},EH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField("DAC"+ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},OH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_mSecond,"period"],[ge.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},RH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_REF_VOLTAGE+ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},cH={init:function(){this.setColour(TH),this.appendValueInput("pin").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},gH={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ge.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ge.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},CH={init:function(){this.setColour(20),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_AS).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[ge.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[ge.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[ge.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},SH={init:function(){this.setColour(TH),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("dac#"),"PIN_OBJ").appendField(ge.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+ge.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},AH={init:function(){this.setColour(TH),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("tc#"),"PIN_OBJ").appendField(ge.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},LH={init:function(){this.setColour(TH),this.appendValueInput("PIN",Number).appendField("PWM"+ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_FREQUENCY+ge.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},NH=CH,DH=AH,fH=cH,FH=gH,PH=230,YH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital),"PIN"),this.setOutput(!0)}},vH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},XH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},yH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},xH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},bH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},VH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},BH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},GH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},UH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},wH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},HH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},kH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},WH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},KH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},JH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},QH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog),"PIN"),this.setOutput(!0)}},zH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},qH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.dac),"PIN"),this.setOutput(!0)}},jH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},$H={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},ZH={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm),"PIN"),this.setOutput(!0)}},tk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},ik={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.touch),"PIN"),this.setOutput(!0)}},sk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},_k={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},ok={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},pk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.imglist),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.playlist),"PIN"),this.setOutput(!0)}},uk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},rk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},lk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},dk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},Ik={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Tk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},Mk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},hk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},mk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},Ek={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Ok={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Rk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.one_more),"PIN"),this.setOutput(!0)}},ck={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},gk={init:function(){this.setColour(PH),this.appendDummyInput("").appendField(new ge.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},Ck={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sk={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ak={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Lk={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ge.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0)}},Nk={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_SCAN_OK,"True"],[ge.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[ge.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dk=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},fk=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},Fk=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},Pk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},Yk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},vk=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},Xk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},yk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},xk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},bk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},Vk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},Bk=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},Gk=Bk,Uk=Bk,wk=Bk,Hk=Bk,kk=Bk,Wk=Bk,Kk=Bk,Jk=Bk,Qk=Bk,zk=Bk,qk=Bk,jk=Bk,$k=Bk,Zk=Bk,eW=Bk,tW=Bk,iW=Bk,nW=Bk,sW=Bk,_W=Bk,oW=Bk,pW=Bk,aW=Bk,uW=Bk,rW=Bk,lW=Bk,dW=Bk,IW=Bk,TW=Bk,MW=Bk,hW=Bk,mW=Bk,EW=Bk,OW=Bk,RW=Bk,cW=Bk,gW=Bk,CW=Bk,SW=Bk,AW=Bk,LW=Bk,NW=Bk,DW=Bk,fW=Bk,FW=function(e,t){const i=this.getFieldValue("PIN").split(".");if(2!==i.length)throw Error("pin value error");return t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`,[i[1],t.ORDER_ATOMIC]},PW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var n='ext_rfid.read_card(0, x="id")'}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";n='ext_rfid.read_card(0, x="id")'}else{t.definitions_.import_mini_g2="import mini_g2";n='mini_g2.ext_rc522.read_card(0, x="id")'}return[n,t.ORDER_ATOMIC]},YW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";s="ext_rfid.read_card("+n+")"}else{t.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.read_card("+n+")"}return[s,t.ORDER_ATOMIC]},vW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";_="ext_rfid.write_card("+s+","+n+")\n"}else{t.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")\n"}return _},XW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";_="ext_rfid.write_card("+s+","+n+")"}else{t.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")"}return[_,t.ORDER_ATOMIC]},yW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";s="ext_rfid.scan_card()=="+n}else{t.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.scan_card()=="+n}return[s,t.ORDER_ATOMIC]};Object.assign(ge.Variables,Ae),Object.assign(ge.Procedures,Uu),Object.assign(ge.Lang.ZhHans,Ie),Object.assign(ge.Lang.ZhHant,Te),Object.assign(ge.Lang.En,Me),ge.Python=wu,ge.generator=wu,Ce.Profile.default={},Object.assign(Ce.Profile,IH),Object.assign(Ce.Profile.default,IH["元控青春"]),Object.assign(ge.Blocks,t,i,n,s,_,o,p,a,u,r,l,d,I,b,W,k,v,V,K,f,P,H,w,U,B,F,D,N,y,X,x,Y,G,he,me,Ee),Object.assign(ge.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,ne,le,re,Z,se,de,z,q,ue,ae,pe,_e,j,Q,J,te,ee,ie,$,oe,Oe,Re,ce)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/main.bundle.c2d250b7.js b/boards/default/micropython_esp32s3/main.bundle.c2d250b7.js deleted file mode 100644 index dae45ac2..00000000 --- a/boards/default/micropython_esp32s3/main.bundle.c2d250b7.js +++ /dev/null @@ -1,21 +0,0 @@ -(()=>{"use strict";var e={d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{controls_type:()=>ve,controls_typeLists:()=>Xe,lists_zip:()=>ye,lists_zip_container:()=>xe,lists_zip_item:()=>be,unpack_iterable_object:()=>Ve,variables_change:()=>Pe,variables_get:()=>fe,variables_global:()=>Ye,variables_set:()=>Fe});var i={};e.r(i),e.d(i,{base_setup:()=>Ue,controls_delay:()=>we,controls_end_program:()=>He,controls_except:()=>it,controls_finally:()=>nt,controls_flow_statements:()=>ze,controls_for:()=>qe,controls_forEach:()=>Ke,controls_for_range:()=>je,controls_if:()=>ke,controls_if_else:()=>et,controls_if_elseif:()=>Ze,controls_if_if:()=>$e,controls_lambda:()=>_t,controls_main:()=>Ge,controls_pass:()=>ot,controls_range:()=>We,controls_repeat_ext:()=>st,controls_thread:()=>pt,controls_try:()=>tt,controls_try_finally:()=>Qe,controls_whileUntil:()=>Je,datetime_fromtimestamp:()=>It,do_while:()=>at,garbage_collection:()=>ut,gene_unique_identifier:()=>Tt,get_mem_alloc:()=>rt,get_mem_free:()=>lt,get_unique_identifier:()=>dt});var n={};e.r(n),e.d(n,{base_map:()=>yt,generate_cartesian_product:()=>bt,math_arithmetic:()=>Ot,math_bit:()=>ct,math_constant:()=>mt,math_constant_mp:()=>Et,math_constrain:()=>Dt,math_dec:()=>Ct,math_degree_to_radian:()=>Bt,math_indexer_number:()=>Ft,math_map:()=>ft,math_max_min:()=>At,math_number:()=>ht,math_number_base_conversion:()=>Lt,math_radian_to_degree:()=>Vt,math_random:()=>Nt,math_random_seed:()=>Pt,math_round:()=>Yt,math_selfcalcu:()=>Rt,math_to_int:()=>St,math_trig:()=>gt,text_to_number:()=>vt,text_to_number_skulpt:()=>Xt,turn_to_int:()=>xt});var s={};e.r(s),e.d(s,{ascii_to_char:()=>Kt,char_to_ascii:()=>Jt,number_to_text:()=>Qt,os_system:()=>Oi,text:()=>Ut,text_bytes:()=>Ht,text_capital:()=>ni,text_center:()=>si,text_char:()=>kt,text_char_at:()=>jt,text_char_at2:()=>qt,text_char_at3:()=>Mi,text_compareTo:()=>Ti,text_compare_to:()=>ii,text_create_with_container:()=>li,text_create_with_item:()=>di,text_encode:()=>mi,text_equals_starts_ends:()=>ti,text_eval:()=>Ei,text_find:()=>_i,text_format:()=>ri,text_format_noreturn:()=>hi,text_join:()=>Wt,text_join_seq:()=>oi,text_length:()=>zt,text_random_char:()=>$t,text_replace:()=>pi,text_split:()=>ai,text_strip:()=>ui,text_substring:()=>ei,text_substring2:()=>Zt,text_substring3:()=>Ii,text_textarea:()=>wt});var _={};e.r(_),e.d(_,{ENUMERATE:()=>tn,content_in_lists:()=>sn,enumerate:()=>nn,list_many_input:()=>wi,list_tolist:()=>Ki,list_tolist2:()=>en,list_trig:()=>Bi,lists_2d_get_col_row_data:()=>Si,lists_2d_get_data_with_col_row:()=>Ci,lists_append_extend:()=>Fi,lists_change_to:()=>Ui,lists_change_to_general:()=>ki,lists_clear:()=>yi,lists_create_with:()=>Ai,lists_create_with2:()=>Ji,lists_create_with_container:()=>Ni,lists_create_with_item:()=>Di,lists_create_with_noreturn:()=>Hi,lists_create_with_text:()=>Li,lists_create_with_text2:()=>Qi,lists_del_general:()=>Wi,lists_find:()=>Vi,lists_getIndex3:()=>zi,lists_getSublist3:()=>qi,lists_get_index:()=>ci,lists_get_random_item:()=>Pi,lists_get_random_sublist:()=>Yi,lists_get_sublist:()=>gi,lists_insert_value:()=>vi,lists_insert_value2:()=>$i,lists_pop:()=>bi,lists_remove_at:()=>xi,lists_remove_at2:()=>Zi,lists_reverse:()=>Xi,lists_setIndex3:()=>ji,lists_set_index:()=>fi,lists_sort:()=>Gi});var o={};e.r(o),e.d(o,{dicts_add_change_del:()=>Rn,dicts_add_or_change:()=>dn,dicts_clear:()=>Mn,dicts_create_with:()=>on,dicts_create_with_container:()=>pn,dicts_create_with_item:()=>an,dicts_create_with_noreturn:()=>Cn,dicts_deldict:()=>On,dicts_delete:()=>In,dicts_get:()=>rn,dicts_get_default:()=>ln,dicts_items:()=>hn,dicts_keys:()=>un,dicts_length:()=>En,dicts_pop:()=>cn,dicts_setdefault:()=>gn,dicts_to_json:()=>An,dicts_to_json2:()=>Dn,dicts_to_to:()=>Nn,dicts_todict:()=>Sn,dicts_update:()=>Tn,dicts_values:()=>mn,json_to_dicts:()=>Ln});var p={};e.r(p),e.d(p,{logic_boolean:()=>Xn,logic_compare:()=>Fn,logic_compare_continous:()=>Pn,logic_is:()=>Vn,logic_is_in:()=>bn,logic_negate:()=>vn,logic_null:()=>yn,logic_operation:()=>Yn,logic_tobool:()=>Bn,logic_true_or_false:()=>xn});var a={};e.r(a),e.d(a,{sdcard_mount:()=>as,sdcard_use_spi_init:()=>ps,storage_can_write_ornot:()=>Qn,storage_change_dir:()=>_s,storage_close_file:()=>qn,storage_delete_file:()=>$n,storage_file_seek:()=>ts,storage_file_tell:()=>es,storage_file_write:()=>kn,storage_fileopen:()=>Un,storage_fileopen_new:()=>wn,storage_fileopen_new_encoding:()=>Hn,storage_get_a_line:()=>Jn,storage_get_contents:()=>Kn,storage_get_contents_without_para:()=>Wn,storage_get_current_dir:()=>is,storage_get_file_size:()=>Zn,storage_get_filename:()=>zn,storage_is_file:()=>os,storage_list_all_files:()=>jn,storage_make_dir:()=>ns,storage_open_file_with_os:()=>Gn,storage_rename:()=>ss});var u={};e.r(u),e.d(u,{procedures_callnoreturn:()=>Is,procedures_callreturn:()=>Ts,procedures_defnoreturn:()=>us,procedures_defreturn:()=>rs,procedures_ifreturn:()=>Ms,procedures_mutatorarg:()=>ds,procedures_mutatorcontainer:()=>ls,procedures_return:()=>hs});var r={};e.r(r),e.d(r,{tuple_change_to:()=>Ds,tuple_create_llm_params:()=>bs,tuple_create_with:()=>Es,tuple_create_with_container:()=>Os,tuple_create_with_item:()=>Rs,tuple_create_with_noreturn:()=>Ys,tuple_create_with_text2:()=>cs,tuple_create_with_text_return:()=>gs,tuple_del:()=>As,tuple_find:()=>fs,tuple_getIndex:()=>Cs,tuple_getSublist:()=>Ps,tuple_get_random_item:()=>Xs,tuple_get_sublist:()=>vs,tuple_input:()=>xs,tuple_join:()=>Ls,tuple_length:()=>Ss,tuple_max:()=>Ns,tuple_totuple:()=>ys,tuple_trig:()=>Fs});var l={};e.r(l),e.d(l,{set_add_discard:()=>Js,set_clear:()=>ks,set_create_with:()=>Bs,set_create_with_container:()=>Gs,set_create_with_item:()=>Us,set_create_with_text_return:()=>qs,set_length:()=>ws,set_operate:()=>Ws,set_operate_update:()=>Ks,set_pop:()=>Hs,set_sub:()=>Qs,set_toset:()=>js,set_update:()=>zs});var d={};e.r(d),e.d(d,{html_content:()=>i_,html_content_more:()=>n_,html_document:()=>Zs,html_form:()=>__,html_head_body:()=>t_,html_style:()=>s_,html_style_color:()=>p_,html_style_content:()=>o_,html_text:()=>a_,html_title:()=>e_});var I={};e.r(I),e.d(I,{attribute_access:()=>g_,function_call:()=>O_,function_call_container:()=>R_,function_call_item:()=>c_,raw_block:()=>l_,raw_empty:()=>I_,raw_expression:()=>d_,raw_table:()=>r_,text_comment:()=>T_,text_print_multiple:()=>h_,text_print_multiple_container:()=>m_,text_print_multiple_item:()=>E_,type_check:()=>M_});var T={};e.r(T),e.d(T,{controls_type:()=>N_,controls_typeLists:()=>D_,lists_zip:()=>f_,unpack_iterable_object:()=>F_,variables_change:()=>A_,variables_get:()=>C_,variables_global:()=>L_,variables_set:()=>S_});var M={};e.r(M),e.d(M,{Panic_with_status_code:()=>G_,base_setup:()=>Y_,controls_delay:()=>B_,controls_flow_statements:()=>V_,controls_for:()=>y_,controls_forEach:()=>W_,controls_for_range:()=>x_,controls_if:()=>v_,controls_interrupts:()=>H_,controls_lambda:()=>J_,controls_main:()=>P_,controls_millis:()=>U_,controls_nointerrupts:()=>k_,controls_pass:()=>z_,controls_range:()=>K_,controls_repeat:()=>no,controls_repeat_ext:()=>$_,controls_thread:()=>q_,controls_try_finally:()=>X_,controls_whileUntil:()=>b_,datetime_fromtimestamp:()=>so,do_while:()=>j_,garbage_collection:()=>Z_,gene_unique_identifier:()=>_o,get_mem_alloc:()=>eo,get_mem_free:()=>to,get_unique_identifier:()=>io,reset:()=>w_,time_sleep:()=>Q_});var h={};e.r(h),e.d(h,{base_map:()=>No,generate_cartesian_product:()=>fo,math_arithmetic:()=>ro,math_bit:()=>uo,math_constant:()=>po,math_constant_mp:()=>ao,math_constrain:()=>Ro,math_dec:()=>Mo,math_degree_to_radian:()=>Po,math_indexer_number:()=>Co,math_map:()=>Oo,math_max_min:()=>mo,math_number:()=>oo,math_number_base_conversion:()=>co,math_radian_to_degree:()=>Fo,math_random:()=>Eo,math_random_seed:()=>go,math_round:()=>So,math_selfcalcu:()=>lo,math_single:()=>Io,math_to_int:()=>ho,math_trig:()=>To,text_to_number:()=>Ao,text_to_number_skulpt:()=>Lo,turn_to_int:()=>Do});var m={};e.r(m),e.d(m,{ascii_to_char:()=>bo,char_to_ascii:()=>Vo,number_to_text:()=>Bo,os_system:()=>ap,text:()=>Yo,text_bytes:()=>Xo,text_capital:()=>Qo,text_center:()=>zo,text_char:()=>yo,text_char_at:()=>wo,text_char_at2:()=>Uo,text_char_at3:()=>_p,text_compareTo:()=>sp,text_compare_to:()=>Wo,text_encode:()=>op,text_equals_starts_ends:()=>ko,text_eval:()=>pp,text_find:()=>qo,text_format:()=>tp,text_format_noreturn:()=>ip,text_join:()=>xo,text_join_seq:()=>jo,text_length:()=>Go,text_random_char:()=>Ho,text_replace:()=>$o,text_split:()=>Zo,text_strip:()=>ep,text_substring:()=>Jo,text_substring2:()=>Ko,text_substring3:()=>np,text_textarea:()=>vo});var E={};e.r(E),e.d(E,{content_in_lists:()=>wp,enumerate:()=>Up,list_many_input:()=>Dp,list_tolist:()=>Bp,list_tolist2:()=>Gp,list_trig:()=>Ap,lists_2d_get_col_row_data:()=>lp,lists_2d_get_data_with_col_row:()=>rp,lists_append_extend:()=>hp,lists_change_to:()=>Np,lists_change_to_general:()=>Fp,lists_clear:()=>cp,lists_create_with:()=>dp,lists_create_with2:()=>Yp,lists_create_with_noreturn:()=>fp,lists_create_with_text:()=>Ip,lists_create_with_text2:()=>vp,lists_del_general:()=>Pp,lists_find:()=>gp,lists_getIndex3:()=>Xp,lists_getSublist3:()=>yp,lists_get_index:()=>Tp,lists_get_random_item:()=>mp,lists_get_random_sublist:()=>Ep,lists_get_sublist:()=>up,lists_insert_value:()=>Op,lists_insert_value2:()=>bp,lists_pop:()=>Sp,lists_remove_at:()=>Cp,lists_remove_at2:()=>Vp,lists_reverse:()=>Rp,lists_setIndex3:()=>xp,lists_set_index:()=>Mp,lists_sort:()=>Lp});var O={};e.r(O),e.d(O,{dicts_add_change_del:()=>ta,dicts_add_or_change:()=>Jp,dicts_clear:()=>qp,dicts_create_with:()=>Hp,dicts_create_with_noreturn:()=>sa,dicts_deldict:()=>ea,dicts_delete:()=>Qp,dicts_get:()=>Wp,dicts_get_default:()=>Kp,dicts_items:()=>jp,dicts_keys:()=>kp,dicts_length:()=>Zp,dicts_pop:()=>ia,dicts_setdefault:()=>na,dicts_to_json:()=>oa,dicts_to_json2:()=>ua,dicts_to_to:()=>aa,dicts_todict:()=>_a,dicts_update:()=>zp,dicts_values:()=>$p,json_to_dicts:()=>pa});var R={};e.r(R),e.d(R,{logic_boolean:()=>Ta,logic_compare:()=>ra,logic_compare_continous:()=>la,logic_is:()=>Ea,logic_is_in:()=>ma,logic_negate:()=>Ia,logic_null:()=>Ma,logic_operation:()=>da,logic_tobool:()=>Oa,logic_true_or_false:()=>ha});var c={};e.r(c),e.d(c,{sdcard_mount:()=>wa,sdcard_use_spi_init:()=>Ua,storage_can_write_ornot:()=>Da,storage_change_dir:()=>xa,storage_close_file:()=>Fa,storage_delete_file:()=>Ya,storage_file_seek:()=>ya,storage_file_tell:()=>Xa,storage_file_write:()=>Sa,storage_fileopen:()=>ca,storage_fileopen_new:()=>ga,storage_fileopen_new_encoding:()=>Ca,storage_get_a_line:()=>Na,storage_get_contents:()=>La,storage_get_contents_without_para:()=>Aa,storage_get_current_dir:()=>ba,storage_get_file_size:()=>va,storage_get_filename:()=>fa,storage_is_file:()=>Ga,storage_list_all_files:()=>Pa,storage_make_dir:()=>Va,storage_open_file_with_os:()=>Ra,storage_rename:()=>Ba});var g={};e.r(g),e.d(g,{procedures_callnoreturn:()=>Ka,procedures_callreturn:()=>Wa,procedures_defnoreturn:()=>ka,procedures_defreturn:()=>Ha,procedures_ifreturn:()=>Ja,procedures_return:()=>Qa});var C={};e.r(C),e.d(C,{tuple_change_to:()=>nu,tuple_create_llm_params:()=>du,tuple_create_with:()=>za,tuple_create_with_noreturn:()=>pu,tuple_create_with_text2:()=>qa,tuple_create_with_text_return:()=>ja,tuple_del:()=>eu,tuple_find:()=>su,tuple_getIndex:()=>$a,tuple_getSublist:()=>ou,tuple_get_random_item:()=>uu,tuple_get_sublist:()=>au,tuple_input:()=>lu,tuple_join:()=>tu,tuple_length:()=>Za,tuple_max:()=>iu,tuple_totuple:()=>ru,tuple_trig:()=>_u});var S={};e.r(S),e.d(S,{set_add_discard:()=>Ou,set_clear:()=>hu,set_create_with:()=>Iu,set_create_with_text_return:()=>gu,set_length:()=>Tu,set_operate:()=>mu,set_operate_update:()=>Eu,set_pop:()=>Mu,set_sub:()=>Ru,set_toset:()=>Cu,set_update:()=>cu});var A={};e.r(A),e.d(A,{html_content:()=>Nu,html_content_more:()=>Du,html_document:()=>Su,html_form:()=>Fu,html_head_body:()=>Lu,html_style:()=>fu,html_style_content:()=>Pu,html_text:()=>Yu,html_title:()=>Au});var L={};e.r(L),e.d(L,{attribute_access:()=>Bu,function_call:()=>Vu,raw_block:()=>vu,raw_empty:()=>yu,raw_expression:()=>Xu,raw_table:()=>xu,type_check:()=>bu});var N={};e.r(N),e.d(N,{PIN_init:()=>Kr,actuator_extern_get_led_bright:()=>tr,actuator_extern_get_led_state:()=>ir,actuator_extern_led_bright:()=>er,actuator_extern_led_brightness:()=>nr,actuator_ms32006_dcmotor:()=>dr,actuator_ms32006_init:()=>lr,actuator_ms32006_stepper:()=>Ir,actuator_neopixel_init:()=>Tr,actuator_neopixel_rgb:()=>Mr,actuator_neopixel_rgb_all:()=>hr,actuator_neopixel_rgb_show_all_chase:()=>Or,actuator_neopixel_rgb_show_all_rainbow:()=>Er,actuator_neopixel_write:()=>mr,actuator_use_uart_init:()=>Rr,backstage_esp32_music_play_list:()=>Qu,esp32_music_get_tempo_extern:()=>qu,esp32_music_pitch:()=>Wu,esp32_music_pitch_init:()=>ku,esp32_music_pitch_with_time:()=>Ku,esp32_music_play_list:()=>Ju,esp32_music_reset_extern:()=>ju,esp32_music_set_tempo_extern:()=>zu,esp32_music_stop:()=>$u,esp32_set_music_volume:()=>Zu,mixbot_actuator_extern_get_addr:()=>kr,mixbot_actuator_extern_set_addr:()=>Wr,mixbot_addr_extern:()=>Pr,parrot_PIN_init:()=>qr,parrot_move_speed:()=>jr,pin_led_bright:()=>Jr,player_insert_music:()=>Lr,player_play_music:()=>Ar,player_set_mode:()=>Sr,player_set_play:()=>gr,player_set_volume:()=>Cr,player_whether_stop:()=>cr,robot_led_extern:()=>yr,robot_led_extern_get_value:()=>xr,robot_motor_extern:()=>Yr,robot_motor_extern_get_speed:()=>vr,robot_servo_extern_absolute_run:()=>Gr,robot_servo_extern_get_status:()=>br,robot_servo_extern_relative_continue:()=>Hr,robot_servo_extern_relative_origin:()=>Ur,robot_servo_extern_relative_run:()=>wr,robot_servo_extern_stop:()=>Br,robot_servo_extern_stop_mode:()=>Vr,robot_traffic_light_extern:()=>Xr,servo_PIN_init:()=>Qr,servo_get_angle:()=>ur,servo_get_speed:()=>rr,servo_init:()=>sr,servo_move:()=>_r,servo_move_angle:()=>zr,servo_set_angle:()=>pr,servo_set_speed:()=>ar,servo_speed_360:()=>or,syn6288_builtin_voice:()=>fr,syn6288_get_voice:()=>Dr,syn6288_set_voice:()=>Nr,syn6288_tts_play:()=>Fr});var D={};e.r(D),e.d(D,{actuator_dc_motor:()=>Fl,actuator_dc_motor_stop:()=>Pl,actuator_get_led_bright:()=>il,actuator_get_led_state:()=>nl,actuator_led_bright:()=>tl,actuator_led_brightness:()=>sl,actuator_mixbot_buzzer_on_off:()=>xl,actuator_mixgo_nova_mic_get:()=>Ul,actuator_mixgo_nova_mic_set:()=>Gl,actuator_mixgo_nova_onboard_music_pitch:()=>Jl,actuator_mixgo_nova_onboard_music_stop:()=>Ql,actuator_mixgo_nova_play_audio:()=>Wl,actuator_mixgo_nova_play_online_audio:()=>Kl,actuator_mixgo_nova_record_audio:()=>kl,actuator_mixgo_nova_voice_get:()=>Hl,actuator_mixgo_nova_voice_set:()=>wl,actuator_mixgo_zero_led_color:()=>_l,actuator_onboard_neopixel_rgb:()=>ll,actuator_onboard_neopixel_rgb_all:()=>dl,actuator_onboard_neopixel_rgb_show_all_chase:()=>Tl,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Il,actuator_onboard_neopixel_write:()=>Ml,actuator_rm_onboard_neopixel_rgb:()=>hl,actuator_rm_onboard_neopixel_rgb_all:()=>ml,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>El,actuator_stepper_keep:()=>Dl,actuator_stepper_stop:()=>fl,analog_ble_keyboard_init:()=>pd,analog_ble_keyboard_input:()=>rd,analog_ble_keyboard_mouse_init:()=>Ed,analog_ble_keyboard_mouse_input:()=>gd,analog_ble_keyboard_mouse_send_battery:()=>cd,analog_ble_keyboard_mouse_str:()=>Cd,analog_ble_keyboard_send_battery:()=>dd,analog_ble_keyboard_str:()=>ld,analog_ble_mouse_init:()=>Id,analog_ble_mouse_input:()=>hd,analog_ble_mouse_keyboard_input:()=>Sd,analog_ble_mouse_send_battery:()=>md,analog_keyboard_input:()=>$l,analog_keyboard_str:()=>od,analog_mouse_input:()=>sd,backstage_onboard_music_play_list:()=>Ll,bitbot_motor:()=>Bl,bitbot_move:()=>bl,bitbot_stop:()=>Vl,ble_keyboard_connect:()=>ud,ble_keyboard_get_mac:()=>ad,ble_keyboard_mouse_connect:()=>Rd,ble_keyboard_mouse_get_mac:()=>Od,ble_mouse_connect:()=>Md,ble_mouse_get_mac:()=>Td,cc_number:()=>rl,educore_ble_keyboard_input:()=>Xd,educore_ble_sensor_connected:()=>vd,educore_ble_sensor_init:()=>Yd,educore_buzzer:()=>Ad,educore_buzzer_play_tone:()=>Ld,educore_buzzer_play_tone_time:()=>Nd,educore_buzzer_stop:()=>Dd,educore_neopixel_clear:()=>Pd,educore_neopixel_rgb:()=>Fd,educore_rgb_light:()=>fd,esp32_music_get_tempo:()=>Rl,esp32_music_reset:()=>cl,esp32_music_set_tempo:()=>Ol,esp32_onboard_music_pitch:()=>gl,esp32_onboard_music_pitch_with_time:()=>Cl,esp32_onboard_music_play_list:()=>Al,esp32_onboard_music_stop:()=>Sl,general_key:()=>ed,general_key_tuple:()=>td,generalkey_container:()=>id,generalkey_create_with_item:()=>nd,get_keyboard_light:()=>yd,get_power_output:()=>ql,ledswitch:()=>el,mixbot_motor:()=>yl,mixbot_motor_status:()=>Yl,mixbot_move:()=>vl,mixbot_stop:()=>Xl,mouse_key:()=>_d,number:()=>Zr,record_audio:()=>bd,rm_actuator_get_led_bright:()=>pl,rm_actuator_get_led_state:()=>al,rm_actuator_led_bright:()=>ol,rm_actuator_led_brightness:()=>ul,rm_motor:()=>Nl,set_all_power_output:()=>jl,set_microphone_amplification:()=>xd,set_music_volume:()=>Vd,set_power_output:()=>zl,special_key:()=>Zl});var f={};e.r(f),e.d(f,{ai_sensor_20object:()=>EI,ai_sensor_ailocal_class:()=>pI,ai_sensor_ailocal_class_result:()=>aI,ai_sensor_ailocal_train:()=>oI,ai_sensor_asr_recognize:()=>II,ai_sensor_audio_play:()=>rI,ai_sensor_audio_record:()=>uI,ai_sensor_barcode:()=>Kd,ai_sensor_circle:()=>$d,ai_sensor_classifier_faces:()=>mI,ai_sensor_color:()=>iI,ai_sensor_color_chases:()=>_I,ai_sensor_color_chases_result:()=>sI,ai_sensor_config:()=>kd,ai_sensor_face:()=>hI,ai_sensor_find_20objects:()=>OI,ai_sensor_find_barcodes:()=>Jd,ai_sensor_find_circles:()=>Zd,ai_sensor_find_colors:()=>nI,ai_sensor_find_licenseplates:()=>MI,ai_sensor_find_lines:()=>jd,ai_sensor_find_qrcodes:()=>Hd,ai_sensor_find_rects:()=>tI,ai_sensor_find_tags:()=>zd,ai_sensor_licenseplate:()=>TI,ai_sensor_line:()=>qd,ai_sensor_qrcode:()=>Ud,ai_sensor_qrcode_lite:()=>wd,ai_sensor_rect:()=>eI,ai_sensor_rgb:()=>Wd,ai_sensor_tag:()=>Qd,ai_sensor_use_uart_init:()=>Gd,ai_sensor_yolo_recognize:()=>lI,ai_sensor_yolo_recognize_result:()=>dI});var F={};e.r(F),e.d(F,{MICROPYTHON_AI_Speech_asr:()=>gI,MICROPYTHON_AI_Speech_unit:()=>cI,MICROPYTHON_AI_client:()=>RI});var P={};e.r(P),e.d(P,{AI_CAMERA_INIT:()=>$I,AI_CAMERA_INIT_FACERECOGNIZE:()=>tT,AI_CAMERA_INIT_SIMPLE:()=>NT,AI_STOP_ACQUISITION:()=>ST,CAMERA_LOOGOUT:()=>UI,CI130X_BROADCAST_SANT:()=>vI,CI130X_BROADCAST_SYSTEM_TIME:()=>yI,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>YI,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>PI,CI130X_IDENTIFY_AND_SAVE_SANT:()=>FI,CI130X_OPEN_AND_CLOSE:()=>DI,CI130X_PLAY_SYSTEM_CMD_SANT:()=>fI,CI130X_SET_SYSTEM_CMD_SANT:()=>XI,CONVERT_IMAGE_TO_JPG:()=>kI,CREATE_CAMERA:()=>xI,CREATE_CAMERA_SIMPLE:()=>LT,DELETE_FACE_ALL:()=>MT,DELETE_FACE_FROM_DATABASE:()=>TT,GET_CAT_FACE_DETECTION_NUM:()=>RT,GET_COLOR_DETECTION_NUM:()=>OT,GET_FACE_DETECTION_NAME:()=>CT,GET_FACE_DETECTION_NUM:()=>gT,GET_HOW_MUCH_RECOGNITION:()=>_T,GET_HUMAN_DETECTION_NUM:()=>cT,GET_IMAGE_AND_SAVE:()=>VI,GET_IMAGE_FROM_NET:()=>GI,GET_NO_CAT_OR_FACE_RECOGNITION:()=>pT,GET_NO_FACE_RECOGNITION_INFO:()=>rT,GET_NO_RECOGNITION:()=>oT,GET_NO_XY_RECOGNITION:()=>aT,GET_NO_XY_RECOGNITION_FACE:()=>uT,GET_PICTURE_DATA_EXACT:()=>wI,GET_PICTURE_DATA_WHS:()=>WI,GET_PICTURE_RECOGNITION_DATA:()=>ET,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>HI,GET_QR_CODE_RECOGNITION_DATA:()=>mT,GET_SCREEN_IMAGE:()=>jI,GET_SCREEN_IMAGE_SIZE:()=>qI,MIXIO_REPORT_IMAGE_DATA:()=>AT,MODEL_INIT_HEIGHT:()=>eT,MODEL_INIT_WIDTH:()=>ZI,MODEL_LOGOUT:()=>iT,MODEL_RUN:()=>nT,MODEL_WHETHER_RUN_SUCCEED:()=>sT,OPEN_IMAGE:()=>BI,PRINT_FACE_DATABASE:()=>hT,REGISTER_NEW_FACE:()=>IT,REGISTER_NEW_FACE_SIMPLE:()=>fT,Register_color_recognition:()=>dT,Register_color_recognition_fixed:()=>lT,Register_color_recognition_fixed_SIMPLE:()=>DT,SCREEN_DISPLAY_IMAGE:()=>QI,SCREEN_DISPLAY_IMAGE_LOCATION:()=>zI,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>KI,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>JI,SHOOT_AND_SAVE_PICTURE:()=>bI,VOICE_RECOGNITION_CONTROL:()=>NI,yesorno:()=>LI});var Y={};e.r(Y),e.d(Y,{mpython_blynk_app_data:()=>kT,mpython_blynk_app_notify:()=>bT,mpython_blynk_email:()=>GT,mpython_blynk_get_timers:()=>UT,mpython_blynk_on_connected:()=>XT,mpython_blynk_on_disconnected:()=>vT,mpython_blynk_run:()=>xT,mpython_blynk_sensor_data_to_app:()=>HT,mpython_blynk_set_property:()=>BT,mpython_blynk_setup:()=>WT,mpython_blynk_stop_timers:()=>VT,mpython_blynk_sync_virtual:()=>YT,mpython_blynk_terminal_widget_vpin:()=>PT,mpython_blynktimer:()=>wT,mpython_blynktimer_run:()=>yT});var v={};e.r(v),e.d(v,{communicate_bluetooth_central_init:()=>NM,communicate_bluetooth_connect:()=>PM,communicate_bluetooth_disconnect:()=>YM,communicate_bluetooth_handle:()=>bM,communicate_bluetooth_is_connected:()=>XM,communicate_bluetooth_mac:()=>FM,communicate_bluetooth_peripheral_init:()=>DM,communicate_bluetooth_recv:()=>yM,communicate_bluetooth_recv_only:()=>xM,communicate_bluetooth_scan:()=>fM,communicate_bluetooth_send:()=>vM,communicate_espnow_init:()=>VM,communicate_espnow_init_new:()=>BM,communicate_i2c_available:()=>uM,communicate_i2c_init:()=>zT,communicate_i2c_master_read:()=>aM,communicate_i2c_onboard:()=>JT,communicate_i2c_read:()=>qT,communicate_i2c_scan:()=>$T,communicate_i2c_write:()=>jT,communicate_ir_recv_init:()=>mM,communicate_ir_send_init:()=>gM,communicate_ow_init:()=>lM,communicate_ow_read:()=>IM,communicate_ow_reset:()=>hM,communicate_ow_scan:()=>dM,communicate_ow_select:()=>MM,communicate_ow_write:()=>TM,communicate_spi_buffer:()=>tM,communicate_spi_init:()=>ZT,communicate_spi_onboard:()=>QT,communicate_spi_read:()=>iM,communicate_spi_read_output:()=>nM,communicate_spi_readinto:()=>sM,communicate_spi_readinto_output:()=>_M,communicate_spi_set:()=>eM,communicate_spi_write:()=>oM,communicate_spi_write_readinto:()=>pM,espnow_radio_channel:()=>WM,espnow_radio_channel_new:()=>JM,espnow_radio_on_off:()=>QM,espnow_radio_rec:()=>qM,espnow_radio_recv:()=>$M,espnow_radio_recv_certain_msg:()=>ZM,espnow_radio_recv_certain_msg_new:()=>th,espnow_radio_recv_msg:()=>jM,espnow_radio_recv_new:()=>eh,espnow_radio_send:()=>zM,espnow_radio_txpower:()=>KM,i2c_available:()=>Ch,i2c_init:()=>uh,i2c_master_reader2:()=>gh,i2c_read:()=>rh,i2c_scan:()=>dh,i2c_slave_onreceive:()=>rM,i2c_write:()=>lh,internal_variable:()=>EM,ir_recv_timeout:()=>cM,ir_transmit_busy:()=>LM,ir_transmit_conventional_data:()=>CM,ir_transmit_raw_code:()=>AM,ir_transmit_study_code:()=>SM,ir_whether_recv:()=>RM,lora_init:()=>ih,lora_packet:()=>nh,lora_recv:()=>_h,lora_send:()=>sh,network_espnow_info:()=>UM,network_espnow_mac:()=>GM,network_espnow_recv:()=>wM,network_espnow_recv_handle:()=>kM,network_espnow_send:()=>HM,recv_fun:()=>OM,spi_buffer:()=>Mh,spi_init:()=>Ih,spi_read:()=>hh,spi_read_output:()=>mh,spi_readinto:()=>Eh,spi_readinto_output:()=>Oh,spi_set:()=>Th,spi_write:()=>Rh,spi_write_readinto:()=>ch,urequests_attribute:()=>ph,urequests_get:()=>oh,urequests_method:()=>ah});var X={};e.r(X),e.d(X,{display_animate:()=>tm,display_blink_rate:()=>jh,display_circle:()=>im,display_color_seclet:()=>Tm,display_draw_4strings:()=>Wh,display_fill:()=>em,display_get_screen_image:()=>qh,display_help:()=>sm,display_image_size:()=>Kh,display_lcd_use_i2c_init:()=>Rm,display_line:()=>Qh,display_line_arbitrarily:()=>zh,display_matrix_extern_bright_point:()=>bh,display_matrix_extern_bright_screen:()=>Bh,display_matrix_extern_clear:()=>Gh,display_matrix_extern_get_pixel:()=>xh,display_matrix_extern_get_screen_pixel:()=>Vh,display_matrix_extern_image_builtins:()=>Uh,display_matrix_extern_scroll_string:()=>Ph,display_matrix_extern_scroll_string_delay:()=>Yh,display_matrix_extern_shift:()=>yh,display_matrix_extern_show_frame_string:()=>vh,display_matrix_extern_show_frame_string_delay:()=>Xh,display_matrix_extern_show_image:()=>fh,display_matrix_extern_show_image_or_string_delay:()=>Fh,display_matrix_use_i2c_init:()=>Dh,display_oled_drawPixel:()=>om,display_oled_showBitmap:()=>_m,display_oled_use_i2c_init:()=>Am,display_onoff:()=>Zh,display_rect:()=>Jh,display_rgb_color:()=>$h,display_tm1650_power:()=>am,display_tm1650_set_brightness:()=>lm,display_tm1650_show_dot:()=>rm,display_tm1650_show_num:()=>um,display_tm_use_i2c_init:()=>pm,display_triangle:()=>nm,display_use_i2c_init:()=>kh,extern_oled_bright_point:()=>xm,extern_oled_clear:()=>bm,extern_oled_get_pixel:()=>ym,extern_oled_hvline:()=>Bm,extern_oled_line:()=>Gm,extern_oled_scroll_string:()=>Fm,extern_oled_scroll_string_delay:()=>Pm,extern_oled_shape_rect:()=>Vm,extern_oled_shift:()=>Xm,extern_oled_show_frame_string:()=>Ym,extern_oled_show_frame_string_delay:()=>vm,extern_oled_show_image:()=>Lm,extern_oled_show_image_or_string_delay:()=>fm,extern_oled_show_image_xy:()=>Nm,extern_oled_show_string:()=>Dm,lcd_backlight:()=>Cm,lcd_clear:()=>Sm,lcd_print_string:()=>gm,lcd_show_image_or_string_delay:()=>cm,matrix_extern_image_arithmetic:()=>wh,matrix_extern_image_invert:()=>Hh,tft_fill:()=>Em,tft_line_arbitrarily:()=>Om,tft_scroll_string_delay:()=>hm,tft_show_frame_string_delay:()=>mm,tft_show_image_or_string_delay:()=>Mm,tft_show_image_xy:()=>Im,tft_use_spi_init:()=>dm});var y={};e.r(y),e.d(y,{bitbot_display_bitmap_create:()=>XE,bitbot_display_image_create:()=>vE,display_available:()=>aE,display_bitmap_create:()=>jm,display_bright_point:()=>sE,display_bright_screen:()=>oE,display_clear:()=>pE,display_get_pixel:()=>nE,display_get_screen_pixel:()=>_E,display_image_builtins:()=>$m,display_image_builtins_all:()=>Zm,display_image_create:()=>qm,display_scroll_string:()=>km,display_scroll_string_delay:()=>Wm,display_scroll_way:()=>Km,display_shift:()=>iE,display_show_frame_string:()=>Qm,display_show_frame_string_delay:()=>zm,display_show_image:()=>wm,display_show_image_or_string_delay:()=>Hm,draw_pointer:()=>jE,image_arithmetic:()=>eE,image_invert:()=>tE,mixbot_display_bitmap_create:()=>DE,mixbot_display_bright_screen:()=>PE,mixbot_display_get_ambientbright:()=>FE,mixbot_display_get_screen_pixel:()=>fE,mixbot_display_image_create:()=>NE,mixbot_display_rotate:()=>YE,mixgo_display_bitmap_create:()=>TE,mixgo_display_image_create_new:()=>IE,mixgome_display_bitmap_create:()=>rE,mixgome_display_font:()=>ME,mixgome_display_image_create:()=>uE,mixgomini_display_bitmap_create:()=>dE,mixgomini_display_image_create:()=>lE,mpython_display_hvline:()=>SE,mpython_display_line:()=>AE,mpython_display_shape_rect:()=>CE,mpython_pbm_image:()=>LE,nova_draw_pointer:()=>$E,onboard_oled_bright_point:()=>gE,onboard_oled_scroll_string_delay:()=>RE,onboard_oled_show_frame_string_delay:()=>cE,onboard_oled_show_image:()=>hE,onboard_oled_show_image_or_string_delay:()=>OE,onboard_oled_show_image_xy:()=>mE,onboard_oled_show_string:()=>EE,onboard_tft_bright_point:()=>HE,onboard_tft_bright_screen:()=>pO,onboard_tft_clear:()=>aO,onboard_tft_clock_clear:()=>zE,onboard_tft_clock_draw:()=>QE,onboard_tft_clock_get_rtctime:()=>KE,onboard_tft_clock_init:()=>WE,onboard_tft_clock_set_time:()=>JE,onboard_tft_display_hvline:()=>GE,onboard_tft_display_line:()=>UE,onboard_tft_display_shape_circle:()=>qE,onboard_tft_display_shape_rect:()=>BE,onboard_tft_fill:()=>kE,onboard_tft_get_pixel:()=>wE,onboard_tft_get_screen_pixel:()=>oO,onboard_tft_scroll_string:()=>nO,onboard_tft_scroll_string_delay:()=>Jm,onboard_tft_shift:()=>_O,onboard_tft_show_frame_string:()=>sO,onboard_tft_show_frame_string_delay:()=>VE,onboard_tft_show_image:()=>iO,onboard_tft_show_image_or_string_delay:()=>bE,onboard_tft_show_image_xy:()=>yE,onboard_tft_show_image_xy_direct:()=>xE,onboard_tft_show_qrcode:()=>eO,onboard_tft_show_qrcode_details:()=>tO,onboard_tft_show_texts:()=>ZE});var x={};e.r(x),e.d(x,{factory_block:()=>LO,factory_block_return:()=>NO,factory_block_return_with_textarea:()=>fO,factory_block_with_textarea:()=>DO,factory_callMethod_noreturn:()=>SO,factory_callMethod_return:()=>AO,factory_create_with_container:()=>RO,factory_create_with_item:()=>cO,factory_declare:()=>CO,factory_from_import:()=>mO,factory_function_noreturn:()=>OO,factory_function_return:()=>gO,factory_import:()=>EO,folding_block:()=>FO});var b={};e.r(b),e.d(b,{controls_pin_attachInterrupt:()=>$O,inout_analog_atten:()=>GO,inout_analog_read:()=>BO,inout_analog_read_init:()=>KO,inout_analog_write:()=>xO,inout_analog_write_init:()=>WO,inout_analog_write_set:()=>bO,inout_analog_write_set_freq:()=>zO,inout_digital_init:()=>HO,inout_digital_read:()=>XO,inout_digital_write:()=>vO,inout_highlow:()=>YO,inout_pinMode:()=>QO,inout_pin_attachInterrupt:()=>wO,inout_pin_pressed:()=>UO,inout_pin_pressed_init:()=>JO,inout_pwm_analog_write:()=>yO,inout_pwm_analog_write_init:()=>kO,inout_pwm_analog_write_set_freq:()=>VO,pin_pressed:()=>jO,pin_pressed_init:()=>qO});var V={};e.r(V),e.d(V,{IOT_CONNECT_OLLAMA:()=>xR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>CR,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>gR,IOT_EMQX_PING:()=>RR,IOT_FORMATTING:()=>ER,IOT_FORMAT_STRING:()=>OR,IOT_MIXIO_NTP:()=>cR,IOT_MIXIO_PUBLISH:()=>rR,IOT_MIXIO_PUBLISHEX:()=>lR,IOT_MIXIO_SUBSCRIBE:()=>dR,iot_checkonenet:()=>vR,iot_client_onboard:()=>AR,iot_connect_ollama:()=>yR,iot_connect_openai:()=>bR,iot_create_with_item:()=>aR,iot_http_client:()=>LR,iot_http_data:()=>NR,iot_mixio_check:()=>MR,iot_mixio_connect:()=>uR,iot_mixio_connect_only:()=>TR,iot_mixio_disconnect:()=>IR,iot_mixio_format_msg:()=>mR,iot_mixio_format_topic:()=>hR,iot_mixly_key:()=>SR,iot_mqtt_client:()=>DR,iot_mqtt_data:()=>fR,iot_onenet_check:()=>nR,iot_onenet_connect:()=>tR,iot_onenet_disconnect:()=>iR,iot_onenet_publish:()=>_R,iot_onenet_publish_dict:()=>sR,iot_onenetconnect:()=>PR,iot_onenetdisconnect:()=>YR,iot_publish:()=>XR,iot_publish_container:()=>oR,iot_publish_item:()=>pR,iot_tiny_web_db_count:()=>WR,iot_tiny_web_db_delete:()=>JR,iot_tiny_web_db_get:()=>kR,iot_tiny_web_db_init:()=>UR,iot_tiny_web_db_init_with_mqtt:()=>wR,iot_tiny_web_db_search:()=>KR,iot_tiny_web_db_update:()=>HR,iot_wifi_connect:()=>eR,iot_wificonnect:()=>FR,ollama_empty_history:()=>GR,use_ollama_llm_to_chat:()=>VR,use_ollama_llm_to_chat_return:()=>BR});var B={};e.r(B),e.d(B,{educore_mqtt_connect:()=>Nc,educore_mqtt_connect_success:()=>Pc,educore_mqtt_subscribe_message:()=>Dc,educore_mqtt_topic_publish:()=>Fc,educore_mqtt_topic_subscribe:()=>fc,educore_wifi_connect:()=>Lc,network_ap_connect:()=>sc,network_connect:()=>ZR,network_get_connect:()=>tc,network_get_wifi:()=>nc,network_init:()=>zR,network_is_active:()=>jR,network_open:()=>qR,network_scan:()=>$R,network_server:()=>_c,network_socket_accept:()=>rc,network_socket_bind:()=>pc,network_socket_close:()=>hc,network_socket_connect:()=>ac,network_socket_init:()=>oc,network_socket_listen:()=>uc,network_socket_readline:()=>lc,network_socket_receive:()=>dc,network_socket_receive_from:()=>Tc,network_socket_send:()=>Ic,network_socket_send_to:()=>Mc,network_stop:()=>ic,network_wifi_connect:()=>ec,ntptime_address:()=>cc,ntptime_time:()=>Rc,requests_attribute:()=>Ec,requests_attribute2:()=>Ac,requests_get:()=>mc,requests_get2:()=>Cc,requests_method:()=>Oc,requests_post:()=>Sc});var G={};e.r(G),e.d(G,{get_potential_num:()=>vc,nova_g1_motor:()=>Xc,nova_g1_spk_en:()=>xc,nova_g1_usb:()=>yc});var U={};e.r(U),e.d(U,{pe_g1_battery_left:()=>Bc,pe_g1_dc_motor:()=>Gc,pe_g1_dc_motor_speed:()=>Uc,pe_g1_servo_get_angle:()=>kc,pe_g1_servo_get_speed:()=>Wc,pe_g1_servo_set_angle:()=>wc,pe_g1_servo_set_speed:()=>Hc,pe_g1_use_i2c_init:()=>Vc});var w={};e.r(w),e.d(w,{CI130X_BROADCAST:()=>hg,CI130X_GET_THE_RECOGNIZED_CMD:()=>Mg,CI130X_GET_WHETHER_IDENTIFY:()=>Tg,CI130X_IDENTIFY_AND_SAVE:()=>Ig,CI130X_SET_SYSTEM_CMD:()=>mg,HCSR04:()=>_C,PS2_Button:()=>uC,PS2_Buttons:()=>lC,PS2_Buttons_new:()=>MC,PS2_State:()=>rC,PS2_init:()=>oC,PS2_init_new:()=>IC,PS2_stk:()=>dC,PS2_stk_new:()=>hC,PS2_vibration:()=>aC,PS2_vibration_new:()=>TC,camera_sensor_init:()=>KC,camera_sensor_result:()=>JC,column_tube_foot:()=>$C,define_keyboards:()=>ZC,educore_body_sensor:()=>xC,educore_button_sensor_extern:()=>GC,educore_camera_sensor:()=>WC,educore_infrared_sensor:()=>BC,educore_soilhum_sensor:()=>bC,educore_temp_sensor:()=>kC,educore_temphum_sensor:()=>VC,educore_ultrasonic_sensor:()=>wC,esp32_s2_weather_init:()=>tC,esp32_s2_weather_rain:()=>nC,esp32_s2_weather_wd:()=>iC,esp32_s2_weather_ws:()=>sC,extern_rfid_read:()=>Ug,extern_rfid_readcontent:()=>Hg,extern_rfid_readid:()=>wg,extern_rfid_status:()=>Kg,extern_rfid_write:()=>kg,extern_rfid_write_return:()=>Wg,get_keboards_value:()=>eS,gnss_get_data:()=>RC,gnss_have_data:()=>OC,init_init_rotary_encoder:()=>tS,init_matrix_keyboard:()=>qC,interaction_whether_to_interaction:()=>lg,interaction_whether_to_interaction_SANT:()=>dg,line_tube_foot:()=>jC,mixbot_sensor_extern_get_addr:()=>DC,mixbot_sensor_extern_set_addr:()=>fC,pm25_get_data:()=>EC,radar_set_DETECTION_THRESHOLD:()=>ug,radar_set_DETECTION_THRESHOLD_SANT:()=>rg,robot_button_extern_get_value:()=>gC,robot_color_extern_get_value:()=>NC,robot_infrared_extern_get_value:()=>SC,robot_infrared_extern_grey_get_value:()=>AC,robot_potentiometer_extern_get_value:()=>LC,robot_sonar_extern_get_value:()=>FC,robot_sonar_extern_led:()=>PC,robot_touch_extern_get_value:()=>CC,rotary_key:()=>iS,sensor_APDS9960_extern:()=>Og,sensor_DS18X20:()=>og,sensor_LTR308_extern:()=>Rg,sensor_LTR390UV_extern:()=>Cg,sensor_MAX30102_extern:()=>Eg,sensor_QMC5883L_extern:()=>Pg,sensor_VL530LX_extern:()=>Sg,sensor_adxl345_get_acceleration:()=>$c,sensor_aht11_extern:()=>Lg,sensor_bmp:()=>sg,sensor_compass_reset:()=>Bg,sensor_dht11:()=>eg,sensor_hp203_extern:()=>Ng,sensor_light_level:()=>Zc,sensor_lm35:()=>pg,sensor_ltr381_extern:()=>cg,sensor_mixgo_extern_button_attachInterrupt:()=>qc,sensor_mixgo_extern_button_get_presses:()=>zc,sensor_mixgo_extern_button_is_pressed:()=>Jc,sensor_mixgo_extern_button_was_pressed:()=>Qc,sensor_mixgo_extern_light:()=>tg,sensor_mixgo_extern_pin_near:()=>ng,sensor_mixgo_extern_sound:()=>ig,sensor_mixgoce_hot_wheel_degrees:()=>eC,sensor_mixgoce_hot_wheel_is_touched:()=>Zg,sensor_mpu9250_attachGestureInterrupt:()=>jc,sensor_mpu9250_calibrate_compass:()=>xg,sensor_mpu9250_field_strength:()=>Vg,sensor_mpu9250_gesture:()=>Yg,sensor_mpu9250_get_acceleration:()=>vg,sensor_mpu9250_get_gyro:()=>yg,sensor_mpu9250_get_magnetic:()=>Xg,sensor_mpu9250_temperature:()=>bg,sensor_ms5611_extern:()=>fg,sensor_ms5611_extern_altitude:()=>Fg,sensor_read_humiture:()=>UC,sensor_sht:()=>_g,sensor_shtc3_extern:()=>Ag,sensor_spl06_001_extern:()=>Dg,sensor_ucs12071_extern:()=>gg,sensor_use_i2c_init:()=>ag,sensor_use_spi_init:()=>Gg,sensor_use_uart_init:()=>mC,sensor_weather_solo_init:()=>YC,sensor_weather_solo_rain:()=>yC,sensor_weather_solo_wd:()=>vC,sensor_weather_solo_ws:()=>XC,sensor_weigh_init:()=>QC,tvoc_get_data:()=>cC,ultrasonic_sensor_read_distance:()=>HC,weather_data:()=>Jg,weather_have_data:()=>Qg,weather_set_label:()=>qg,weather_set_label_container:()=>jg,weather_set_label_item:()=>$g,weather_uart_mixio:()=>zg,weigh_sensor_get_weight:()=>zC});var H={};e.r(H),e.d(H,{HCSR04:()=>OS,RTC_set_date:()=>ES,RTC_set_time:()=>mS,bitbot_als_num:()=>DA,dht11:()=>yA,educore_button_sensor:()=>kA,educore_button_was_pressed:()=>WA,educore_gyroscope_sensor:()=>UA,educore_gyroscope_sensor_read:()=>wA,educore_gyroscope_sensor_shake:()=>HA,educore_light_sensor:()=>GA,educore_rfid_sensor:()=>KA,educore_rfid_sensor_scan:()=>JA,educore_rfid_sensor_scan_data:()=>QA,educore_voice_sensor:()=>VA,number1:()=>cS,number2:()=>gS,number3:()=>CS,number4:()=>SS,number5:()=>AS,number6:()=>LS,number7:()=>NS,onboard_RTC_get_time:()=>yS,onboard_RTC_get_time_str:()=>US,onboard_RTC_get_timestamp:()=>xS,onboard_RTC_get_timetuple_to_str:()=>wS,onboard_RTC_set_datetime:()=>BS,onboard_RTC_settime_string:()=>VS,onboard_RTC_timestamp_totuple:()=>bS,rfid_readcontent:()=>zS,rfid_readid:()=>QS,rfid_status:()=>$S,rfid_write:()=>qS,rfid_write_return:()=>jS,sensor_LTR308:()=>HS,sensor_aht11:()=>WS,sensor_bitbot_ALS:()=>NA,sensor_button_get_presses:()=>PA,sensor_button_is_pressed:()=>fA,sensor_button_was_pressed:()=>FA,sensor_distance_hrsc04:()=>hS,sensor_eulerangles:()=>eA,sensor_field_strength:()=>xA,sensor_get_acceleration:()=>ZS,sensor_get_temperature:()=>KS,sensor_get_the_coprocessor_version:()=>zA,sensor_hp203:()=>JS,sensor_light:()=>XA,sensor_mixbot_get_gyro:()=>LA,sensor_mixbot_patrol_calibrate:()=>CA,sensor_mixbot_patrol_value:()=>SA,sensor_mixbot_temperature:()=>AA,sensor_mixgo_LTR308:()=>vS,sensor_mixgo_button_attachInterrupt:()=>pS,sensor_mixgo_button_get_presses:()=>oS,sensor_mixgo_button_is_pressed:()=>sS,sensor_mixgo_button_was_pressed:()=>_S,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>lA,sensor_mixgo_cc_mmc5603_get_angle:()=>rA,sensor_mixgo_cc_mmc5603_get_magnetic:()=>uA,sensor_mixgo_light:()=>RS,sensor_mixgo_nova_LTR308:()=>YS,sensor_mixgo_nova_pin_near:()=>PS,sensor_mixgo_pin_near:()=>FS,sensor_mixgo_pin_near_double:()=>fS,sensor_mixgo_pin_near_single:()=>DS,sensor_mixgo_pin_pressed:()=>dS,sensor_mixgo_sant_color:()=>XS,sensor_mixgo_touch_slide:()=>MS,sensor_mixgocar42_button_attachInterrupt:()=>lS,sensor_mixgocar42_button_get_presses:()=>rS,sensor_mixgocar42_button_is_pressed:()=>aS,sensor_mixgocar42_button_was_pressed:()=>uS,sensor_mixgocar_battery_left:()=>gA,sensor_mixgocar_pin_near:()=>RA,sensor_mixgocar_pin_near_line:()=>OA,sensor_mixgocar_pin_near_state_change:()=>cA,sensor_mixgoce_pin_pressed:()=>IS,sensor_mixgoce_temperature:()=>IA,sensor_mixgome_temperature:()=>dA,sensor_mpython_pin_pressed:()=>TS,sensor_mpython_qmi8658_get_gyro:()=>TA,sensor_mpython_qmi8658_temperature:()=>MA,sensor_onboard_compass_reset:()=>aA,sensor_onboard_mpu9250_calibrate_compass:()=>_A,sensor_onboard_mpu9250_field_strength:()=>pA,sensor_onboard_mpu9250_gesture:()=>tA,sensor_onboard_mpu9250_get_acceleration:()=>iA,sensor_onboard_mpu9250_get_gyro:()=>sA,sensor_onboard_mpu9250_get_magnetic:()=>nA,sensor_onboard_mpu9250_temperature:()=>oA,sensor_pin_near:()=>vA,sensor_pin_pressed:()=>YA,sensor_read:()=>BA,sensor_rm_acc:()=>EA,sensor_rm_battery_left:()=>mA,sensor_rm_pin_near_double:()=>hA,sensor_rtc_init:()=>GS,sensor_sound:()=>kS,sensor_temperature:()=>bA,simulated_light_sensor:()=>qA});var k={};e.r(k),e.d(k,{serial_any:()=>oL,serial_begin:()=>lL,serial_print:()=>tL,serial_print_byte:()=>eL,serial_print_hex:()=>nL,serial_println:()=>iL,serial_read_from_ai:()=>RL,serial_readline:()=>pL,serial_readstr:()=>_L,serial_readstr_until:()=>aL,serial_receive_data_event:()=>sL,serial_send_to_ai:()=>OL,serial_softserial:()=>rL,serial_softserial_new:()=>uL,system_input:()=>dL,system_print:()=>IL,system_print_container:()=>mL,system_print_end:()=>ML,system_print_inline:()=>TL,system_print_item:()=>EL,system_print_many:()=>hL});var W={};e.r(W),e.d(W,{Panic_with_status_code:()=>SL,Timer_init:()=>VL,base_delay:()=>UL,controls_delay:()=>CL,controls_delay_new:()=>gL,controls_millis:()=>LL,controls_uname:()=>DL,raw_block:()=>NL,reset:()=>AL,set_system_timer:()=>vL,system_bitbot_shutdown:()=>bL,system_machine_reset:()=>xL,system_ticks_diff:()=>PL,system_timer:()=>FL,system_timer_init:()=>YL,system_wdt_feed:()=>yL,system_wdt_init:()=>XL,time_ticks_diff:()=>GL,timer:()=>fL,timer2:()=>BL});var K={};e.r(K),e.d(K,{Air_daily_content:()=>tN,Air_now_content:()=>QL,Geo_moon_content:()=>nN,Geo_sun_content:()=>iN,Life_suggestion_content:()=>qL,Location_search_content:()=>$L,Tide_daily_content:()=>jL,WEATHER_DAILY:()=>kL,WEATHER_HOUR:()=>WL,WEATHER_NOW:()=>HL,Weather_alarm_content:()=>zL,Weather_daily:()=>ZL,Weather_daily_content:()=>eN,Weather_now:()=>KL,Weather_now_content:()=>JL});var J={};e.r(J),e.d(J,{PIN_init:()=>_D,actuator_extern_get_led_bright:()=>AN,actuator_extern_get_led_state:()=>LN,actuator_extern_led_bright:()=>SN,actuator_extern_led_brightness:()=>NN,actuator_ms32006_dcmotor:()=>lN,actuator_ms32006_init:()=>rN,actuator_ms32006_stepper:()=>dN,actuator_neopixel_init:()=>DN,actuator_neopixel_rgb:()=>PN,actuator_neopixel_rgb_all:()=>fN,actuator_neopixel_rgb_show_all_chase:()=>YN,actuator_neopixel_rgb_show_all_rainbow:()=>vN,actuator_neopixel_write:()=>FN,actuator_use_uart_init:()=>XN,backstage_esp32_music_play_list:()=>cN,esp32_music_get_tempo_extern:()=>ON,esp32_music_pitch:()=>TN,esp32_music_pitch_init:()=>IN,esp32_music_pitch_with_time:()=>MN,esp32_music_play_list:()=>RN,esp32_music_reset_extern:()=>gN,esp32_music_set_tempo_extern:()=>EN,esp32_music_stop:()=>hN,esp32_set_music_volume:()=>mN,mixbot_actuator_extern_get_addr:()=>nD,mixbot_actuator_extern_set_addr:()=>sD,mixbot_addr_extern:()=>kN,parrot_PIN_init:()=>uD,parrot_move_speed:()=>rD,pin_led_bright:()=>oD,player_play_music:()=>BN,player_set_mode:()=>VN,player_set_play:()=>xN,player_set_volume:()=>bN,player_whether_stop:()=>yN,robot_led_extern:()=>QN,robot_led_extern_get_value:()=>zN,robot_motor_extern:()=>WN,robot_motor_extern_get_speed:()=>KN,robot_servo_extern_absolute_run:()=>ZN,robot_servo_extern_get_status:()=>qN,robot_servo_extern_relative_continue:()=>iD,robot_servo_extern_relative_origin:()=>eD,robot_servo_extern_relative_run:()=>tD,robot_servo_extern_stop:()=>$N,robot_servo_extern_stop_mode:()=>jN,robot_traffic_light_extern:()=>JN,servo_PIN_init:()=>pD,servo_get_angle:()=>aN,servo_get_speed:()=>uN,servo_init:()=>sN,servo_move:()=>CN,servo_move_angle:()=>aD,servo_set_angle:()=>oN,servo_set_speed:()=>pN,servo_speed_360:()=>_N,syn6288_builtin_voice:()=>wN,syn6288_get_voice:()=>UN,syn6288_set_voice:()=>GN,syn6288_tts_play:()=>HN});var Q={};e.r(Q),e.d(Q,{actuator_dc_motor:()=>BD,actuator_dc_motor_stop:()=>GD,actuator_get_led_bright:()=>gD,actuator_get_led_state:()=>CD,actuator_led_bright:()=>cD,actuator_led_brightness:()=>SD,actuator_mixbot_buzzer_on_off:()=>WD,actuator_mixgo_nova_mic_get:()=>qD,actuator_mixgo_nova_mic_set:()=>zD,actuator_mixgo_nova_onboard_music_pitch:()=>nf,actuator_mixgo_nova_onboard_music_stop:()=>sf,actuator_mixgo_nova_play_audio:()=>ef,actuator_mixgo_nova_play_online_audio:()=>tf,actuator_mixgo_nova_record_audio:()=>ZD,actuator_mixgo_nova_voice_get:()=>$D,actuator_mixgo_nova_voice_set:()=>jD,actuator_mixgo_zero_led_color:()=>AD,actuator_onboard_neopixel_rgb:()=>YD,actuator_onboard_neopixel_rgb_all:()=>vD,actuator_onboard_neopixel_rgb_show_all_chase:()=>XD,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>yD,actuator_onboard_neopixel_write:()=>PD,actuator_stepper_keep:()=>bD,actuator_stepper_stop:()=>VD,analog_ble_keyboard_init:()=>Mf,analog_ble_keyboard_input:()=>Ef,analog_ble_keyboard_mouse_init:()=>Lf,analog_ble_keyboard_mouse_input:()=>Ff,analog_ble_keyboard_mouse_send_battery:()=>ff,analog_ble_keyboard_mouse_str:()=>Pf,analog_ble_keyboard_send_battery:()=>Rf,analog_ble_keyboard_str:()=>Of,analog_ble_mouse_init:()=>cf,analog_ble_mouse_input:()=>Sf,analog_ble_mouse_keyboard_input:()=>Yf,analog_ble_mouse_send_battery:()=>Af,analog_keyboard_input:()=>af,analog_keyboard_str:()=>If,analog_mouse_input:()=>lf,backstage_onboard_music_play_list:()=>mD,bitbot_motor:()=>QD,bitbot_move:()=>KD,bitbot_stop:()=>JD,ble_keyboard_connect:()=>mf,ble_keyboard_get_mac:()=>hf,ble_keyboard_mouse_connect:()=>Df,ble_keyboard_mouse_get_mac:()=>Nf,ble_mouse_connect:()=>Cf,ble_mouse_get_mac:()=>gf,cc_number:()=>LD,educore_ble_keyboard_input:()=>wf,educore_ble_sensor_connected:()=>Uf,educore_ble_sensor_init:()=>Gf,educore_buzzer:()=>vf,educore_buzzer_play_tone:()=>Xf,educore_buzzer_play_tone_time:()=>yf,educore_buzzer_stop:()=>xf,educore_neopixel_clear:()=>Bf,educore_neopixel_rgb:()=>Vf,educore_rgb_light:()=>bf,esp32_music_get_tempo:()=>dD,esp32_music_reset:()=>ED,esp32_music_set_tempo:()=>lD,esp32_onboard_music_pitch:()=>ID,esp32_onboard_music_pitch_with_time:()=>TD,esp32_onboard_music_play_list:()=>hD,esp32_onboard_music_stop:()=>MD,general_key:()=>rf,general_key_tuple:()=>Tf,get_keyboard_light:()=>Hf,get_power_output:()=>of,ledswitch:()=>RD,mixbot_motor:()=>kD,mixbot_motor_status:()=>UD,mixbot_move:()=>wD,mixbot_stop:()=>HD,mouse_key:()=>df,number:()=>OD,record_audio:()=>Wf,rm_actuator_get_led_bright:()=>DD,rm_actuator_get_led_state:()=>fD,rm_actuator_led_bright:()=>ND,rm_actuator_led_brightness:()=>FD,rm_motor:()=>xD,set_all_power_output:()=>pf,set_microphone_amplification:()=>kf,set_music_volume:()=>Kf,set_power_output:()=>_f,special_key:()=>uf});var z={};e.r(z),e.d(z,{ai_sensor_20object:()=>AF,ai_sensor_ailocal_class:()=>TF,ai_sensor_ailocal_class_result:()=>MF,ai_sensor_ailocal_train:()=>IF,ai_sensor_asr_recognize:()=>RF,ai_sensor_audio_play:()=>mF,ai_sensor_audio_record:()=>hF,ai_sensor_barcode:()=>Zf,ai_sensor_circle:()=>_F,ai_sensor_classifier_faces:()=>SF,ai_sensor_color:()=>uF,ai_sensor_color_chases:()=>dF,ai_sensor_color_chases_result:()=>lF,ai_sensor_config:()=>zf,ai_sensor_face:()=>CF,ai_sensor_find_20objects:()=>LF,ai_sensor_find_barcodes:()=>eF,ai_sensor_find_circles:()=>oF,ai_sensor_find_colors:()=>rF,ai_sensor_find_licenseplates:()=>gF,ai_sensor_find_lines:()=>sF,ai_sensor_find_qrcodes:()=>$f,ai_sensor_find_rects:()=>aF,ai_sensor_find_tags:()=>iF,ai_sensor_licenseplate:()=>cF,ai_sensor_line:()=>nF,ai_sensor_qrcode:()=>jf,ai_sensor_qrcode_lite:()=>Qf,ai_sensor_rect:()=>pF,ai_sensor_rgb:()=>qf,ai_sensor_tag:()=>tF,ai_sensor_use_uart_init:()=>Jf,ai_sensor_yolo_recognize:()=>EF,ai_sensor_yolo_recognize_result:()=>OF});var q={};e.r(q),e.d(q,{AI_CAMERA_INIT:()=>ZF,AI_CAMERA_INIT_FACERECOGNIZE:()=>iP,AI_CAMERA_INIT_SIMPLE:()=>DP,AI_STOP_ACQUISITION:()=>AP,CAMERA_LOOGOUT:()=>wF,CI130X_BROADCAST_SANT:()=>vF,CI130X_BROADCAST_SYSTEM_TIME:()=>yF,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>YF,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>PF,CI130X_IDENTIFY_AND_SAVE_SANT:()=>FF,CI130X_OPEN_AND_CLOSE:()=>fF,CI130X_PLAY_SYSTEM_CMD_SANT:()=>xF,CI130X_SET_SYSTEM_CMD_SANT:()=>XF,CONVERT_IMAGE_TO_JPG:()=>WF,CREATE_CAMERA:()=>bF,CREATE_CAMERA_SIMPLE:()=>NP,DELETE_FACE_ALL:()=>MP,DELETE_FACE_FROM_DATABASE:()=>TP,GET_CAT_FACE_DETECTION_NUM:()=>RP,GET_COLOR_DETECTION_NUM:()=>OP,GET_FACE_DETECTION_NAME:()=>CP,GET_FACE_DETECTION_NUM:()=>gP,GET_HOW_MUCH_RECOGNITION:()=>oP,GET_HUMAN_DETECTION_NUM:()=>cP,GET_IMAGE_AND_SAVE:()=>BF,GET_IMAGE_FROM_NET:()=>UF,GET_NO_CAT_OR_FACE_RECOGNITION:()=>rP,GET_NO_FACE_RECOGNITION_INFO:()=>SP,GET_NO_RECOGNITION:()=>pP,GET_NO_XY_RECOGNITION:()=>aP,GET_NO_XY_RECOGNITION_FACE:()=>uP,GET_PICTURE_DATA_EXACT:()=>HF,GET_PICTURE_DATA_WHS:()=>KF,GET_PICTURE_RECOGNITION_DATA:()=>EP,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>kF,GET_QR_CODE_RECOGNITION_DATA:()=>mP,GET_SCREEN_IMAGE:()=>jF,GET_SCREEN_IMAGE_SIZE:()=>$F,MIXIO_REPORT_IMAGE_DATA:()=>LP,MODEL_INIT_HEIGHT:()=>tP,MODEL_INIT_WIDTH:()=>eP,MODEL_LOGOUT:()=>nP,MODEL_RUN:()=>sP,MODEL_WHETHER_RUN_SUCCEED:()=>_P,OPEN_IMAGE:()=>GF,PRINT_FACE_DATABASE:()=>hP,REGISTER_NEW_FACE:()=>IP,REGISTER_NEW_FACE_SIMPLE:()=>FP,Register_color_recognition:()=>dP,Register_color_recognition_fixed:()=>lP,Register_color_recognition_fixed_SIMPLE:()=>fP,SCREEN_DISPLAY_IMAGE:()=>zF,SCREEN_DISPLAY_IMAGE_LOCATION:()=>qF,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>JF,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>QF,SHOOT_AND_SAVE_PICTURE:()=>VF,VOICE_RECOGNITION_CONTROL:()=>DF,yesorno:()=>NF});var j={};e.r(j),e.d(j,{MICROPYTHON_AI_Speech_asr:()=>vP,MICROPYTHON_AI_Speech_unit:()=>YP,MICROPYTHON_AI_client:()=>PP});var $={};e.r($),e.d($,{mpython_blynk_app_data:()=>WP,mpython_blynk_app_notify:()=>GP,mpython_blynk_email:()=>KP,mpython_blynk_get_timers:()=>wP,mpython_blynk_on_connected:()=>bP,mpython_blynk_on_disconnected:()=>xP,mpython_blynk_run:()=>BP,mpython_blynk_sensor_data_to_app:()=>kP,mpython_blynk_set_property:()=>JP,mpython_blynk_setup:()=>QP,mpython_blynk_stop_timers:()=>UP,mpython_blynk_sync_virtual:()=>yP,mpython_blynk_terminal_widget_vpin:()=>XP,mpython_blynktimer:()=>HP,mpython_blynktimer_run:()=>VP});var Z={};e.r(Z),e.d(Z,{communicate_bluetooth_central_init:()=>fY,communicate_bluetooth_connect:()=>YY,communicate_bluetooth_disconnect:()=>vY,communicate_bluetooth_handle:()=>BY,communicate_bluetooth_is_connected:()=>yY,communicate_bluetooth_mac:()=>XY,communicate_bluetooth_peripheral_init:()=>FY,communicate_bluetooth_recv:()=>VY,communicate_bluetooth_recv_only:()=>bY,communicate_bluetooth_scan:()=>PY,communicate_bluetooth_send:()=>xY,communicate_espnow_init:()=>GY,communicate_espnow_init_new:()=>UY,communicate_i2c_available:()=>iY,communicate_i2c_init:()=>jP,communicate_i2c_master_read:()=>tY,communicate_i2c_onboard:()=>zP,communicate_i2c_read:()=>$P,communicate_i2c_scan:()=>eY,communicate_i2c_write:()=>ZP,communicate_ir_recv_init:()=>OY,communicate_ir_send_init:()=>SY,communicate_ow_init:()=>IY,communicate_ow_read:()=>hY,communicate_ow_reset:()=>MY,communicate_ow_scan:()=>TY,communicate_ow_select:()=>EY,communicate_ow_write:()=>mY,communicate_spi_buffer:()=>oY,communicate_spi_init:()=>sY,communicate_spi_onboard:()=>qP,communicate_spi_read:()=>pY,communicate_spi_read_output:()=>aY,communicate_spi_readinto:()=>uY,communicate_spi_readinto_output:()=>rY,communicate_spi_set:()=>_Y,communicate_spi_write:()=>lY,communicate_spi_write_readinto:()=>dY,espnow_radio_channel:()=>JY,espnow_radio_channel_new:()=>zY,espnow_radio_on_off:()=>qY,espnow_radio_rec:()=>$Y,espnow_radio_recv:()=>ev,espnow_radio_recv_certain_msg:()=>tv,espnow_radio_recv_certain_msg_new:()=>nv,espnow_radio_recv_msg:()=>ZY,espnow_radio_recv_new:()=>iv,espnow_radio_send:()=>jY,espnow_radio_txpower:()=>QY,i2c_slave_onreceive:()=>nY,internal_variable:()=>RY,ir_recv_timeout:()=>CY,ir_transmit_busy:()=>DY,ir_transmit_conventional_data:()=>AY,ir_transmit_raw_code:()=>NY,ir_transmit_study_code:()=>LY,ir_whether_recv:()=>gY,lora_init:()=>sv,lora_packet:()=>_v,lora_recv:()=>pv,lora_send:()=>ov,network_espnow_info:()=>HY,network_espnow_mac:()=>wY,network_espnow_recv:()=>kY,network_espnow_recv_handle:()=>KY,network_espnow_send:()=>WY,recv_fun:()=>cY,urequests_attribute:()=>uv,urequests_get:()=>av,urequests_method:()=>rv});var ee={};e.r(ee),e.d(ee,{display_animate:()=>yv,display_circle:()=>xv,display_color_seclet:()=>Jv,display_draw_4strings:()=>Dv,display_fill:()=>Xv,display_lcd_use_i2c_init:()=>Zv,display_line:()=>Pv,display_line_arbitrarily:()=>fv,display_matrix_extern_bright_point:()=>cv,display_matrix_extern_bright_screen:()=>Cv,display_matrix_extern_clear:()=>Ev,display_matrix_extern_get_pixel:()=>Rv,display_matrix_extern_get_screen_pixel:()=>gv,display_matrix_extern_image_builtins:()=>Sv,display_matrix_extern_scroll_string:()=>hv,display_matrix_extern_scroll_string_delay:()=>mv,display_matrix_extern_shift:()=>Ov,display_matrix_extern_show_frame_string:()=>Tv,display_matrix_extern_show_frame_string_delay:()=>Mv,display_matrix_extern_show_image:()=>dv,display_matrix_extern_show_image_or_string_delay:()=>Iv,display_matrix_use_i2c_init:()=>lv,display_oled_drawPixel:()=>Bv,display_oled_showBitmap:()=>Vv,display_oled_use_i2c_init:()=>sX,display_onoff:()=>Yv,display_rect:()=>Fv,display_tm1650_power:()=>Uv,display_tm1650_set_brightness:()=>kv,display_tm1650_show_dot:()=>Hv,display_tm1650_show_num:()=>wv,display_tm_use_i2c_init:()=>Gv,display_triangle:()=>bv,display_use_i2c_init:()=>Nv,extern_oled_bright_point:()=>hX,extern_oled_clear:()=>IX,extern_oled_get_pixel:()=>MX,extern_oled_hvline:()=>EX,extern_oled_line:()=>OX,extern_oled_scroll_string:()=>lX,extern_oled_scroll_string_delay:()=>dX,extern_oled_shape_rect:()=>mX,extern_oled_shift:()=>TX,extern_oled_show_frame_string:()=>uX,extern_oled_show_frame_string_delay:()=>rX,extern_oled_show_image:()=>_X,extern_oled_show_image_or_string_delay:()=>aX,extern_oled_show_image_xy:()=>oX,extern_oled_show_string:()=>pX,image_shift:()=>vv,lcd_backlight:()=>iX,lcd_clear:()=>nX,lcd_print_string:()=>tX,lcd_show_image_or_string_delay:()=>eX,matrix_extern_image_arithmetic:()=>Av,matrix_extern_image_invert:()=>Lv,tft_fill:()=>jv,tft_line_arbitrarily:()=>$v,tft_scroll_string_delay:()=>qv,tft_show_frame_string_delay:()=>zv,tft_show_image_or_string_delay:()=>Qv,tft_show_image_xy:()=>Kv,tft_use_spi_init:()=>Wv});var te={};e.r(te),e.d(te,{bitbot_display_bitmap_create:()=>dy,bitbot_display_image_create:()=>ly,display_available:()=>vX,display_bitmap_create:()=>PX,display_bright_point:()=>VX,display_bright_screen:()=>GX,display_clear:()=>YX,display_get_pixel:()=>bX,display_get_screen_pixel:()=>BX,display_image_builtins:()=>DX,display_image_builtins_all:()=>fX,display_image_create:()=>FX,display_scroll_string:()=>SX,display_scroll_string_delay:()=>AX,display_scroll_way:()=>LX,display_shift:()=>xX,display_show_frame_string:()=>gX,display_show_frame_string_delay:()=>CX,display_show_image:()=>RX,display_show_image_or_string_delay:()=>cX,draw_pointer:()=>fy,image_arithmetic:()=>XX,image_invert:()=>yX,mixbot_display_bitmap_create:()=>oy,mixbot_display_bright_screen:()=>uy,mixbot_display_get_ambientbright:()=>ay,mixbot_display_get_screen_pixel:()=>py,mixbot_display_image_create:()=>_y,mixbot_display_rotate:()=>ry,mixgo_display_bitmap_create:()=>JX,mixgo_display_image_create_new:()=>KX,mixgome_display_bitmap_create:()=>wX,mixgome_display_font:()=>WX,mixgome_display_image_create:()=>UX,mixgomini_display_bitmap_create:()=>kX,mixgomini_display_image_create:()=>HX,mpython_display_hvline:()=>ny,mpython_display_line:()=>sy,mpython_display_shape_rect:()=>iy,mpython_pbm_image:()=>QX,nova_draw_pointer:()=>Fy,onboard_oled_bright_point:()=>ty,onboard_oled_scroll_string_delay:()=>ey,onboard_oled_show_frame_string_delay:()=>ZX,onboard_oled_show_image:()=>zX,onboard_oled_show_image_or_string_delay:()=>$X,onboard_oled_show_image_xy:()=>qX,onboard_oled_show_string:()=>jX,onboard_tft_bright_point:()=>cy,onboard_tft_bright_screen:()=>Vy,onboard_tft_clear:()=>By,onboard_tft_clock_clear:()=>Ny,onboard_tft_clock_draw:()=>Ly,onboard_tft_clock_get_rtctime:()=>Sy,onboard_tft_clock_init:()=>Cy,onboard_tft_clock_set_time:()=>Ay,onboard_tft_display_hvline:()=>Ey,onboard_tft_display_line:()=>Oy,onboard_tft_display_shape_circle:()=>Dy,onboard_tft_display_shape_rect:()=>my,onboard_tft_fill:()=>gy,onboard_tft_get_pixel:()=>Ry,onboard_tft_get_screen_pixel:()=>by,onboard_tft_scroll_string_delay:()=>NX,onboard_tft_shift:()=>xy,onboard_tft_show_frame_string:()=>yy,onboard_tft_show_frame_string_delay:()=>hy,onboard_tft_show_image:()=>Xy,onboard_tft_show_image_or_string_delay:()=>My,onboard_tft_show_image_xy:()=>Iy,onboard_tft_show_image_xy_direct:()=>Ty,onboard_tft_show_qrcode:()=>Yy,onboard_tft_show_qrcode_details:()=>vy,onboard_tft_show_texts:()=>Py});var ie={};e.r(ie),e.d(ie,{factory_block:()=>Jy,factory_block_return:()=>Qy,factory_block_return_with_textarea:()=>qy,factory_block_with_textarea:()=>zy,factory_callMethod_noreturn:()=>Wy,factory_callMethod_return:()=>Ky,factory_declare:()=>ky,factory_from_import:()=>Gy,factory_function_noreturn:()=>wy,factory_function_return:()=>Hy,factory_import:()=>Uy,folding_block:()=>jy});var ne={};e.r(ne),e.d(ne,{inout_analog_atten:()=>dx,inout_analog_read:()=>_x,inout_analog_read_init:()=>lx,inout_analog_write:()=>ix,inout_analog_write_init:()=>rx,inout_analog_write_set:()=>nx,inout_digital_init:()=>ax,inout_digital_read:()=>ex,inout_digital_write:()=>Zy,inout_highlow:()=>$y,inout_pin_attachInterrupt:()=>px,inout_pin_pressed:()=>ox,inout_pin_pressed_init:()=>Ix,inout_pwm_analog_write:()=>tx,inout_pwm_analog_write_init:()=>ux,inout_pwm_analog_write_set_freq:()=>sx});var se={};e.r(se),e.d(se,{IOT_CONNECT_OLLAMA:()=>wx,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>vx,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Px,IOT_EMQX_PING:()=>Xx,IOT_FORMATTING:()=>fx,IOT_FORMAT_STRING:()=>Fx,IOT_MIXIO_NTP:()=>yx,IOT_MIXIO_PUBLISH:()=>cx,IOT_MIXIO_PUBLISHEX:()=>gx,IOT_MIXIO_SUBSCRIBE:()=>Cx,iot_client_onboard:()=>xx,iot_connect_ollama:()=>Ux,iot_connect_openai:()=>Hx,iot_http_client:()=>bx,iot_http_data:()=>Vx,iot_mixio_check:()=>Lx,iot_mixio_connect:()=>Rx,iot_mixio_connect_only:()=>Ax,iot_mixio_disconnect:()=>Sx,iot_mixio_format_msg:()=>Dx,iot_mixio_format_topic:()=>Nx,iot_mixly_key:()=>Yx,iot_mqtt_client:()=>Bx,iot_mqtt_data:()=>Gx,iot_onenet_check:()=>Ex,iot_onenet_connect:()=>Mx,iot_onenet_disconnect:()=>hx,iot_onenet_publish:()=>Ox,iot_onenet_publish_dict:()=>mx,iot_tiny_web_db_count:()=>jx,iot_tiny_web_db_delete:()=>Zx,iot_tiny_web_db_get:()=>qx,iot_tiny_web_db_init:()=>Jx,iot_tiny_web_db_init_with_mqtt:()=>Qx,iot_tiny_web_db_search:()=>$x,iot_tiny_web_db_update:()=>zx,iot_wifi_connect:()=>Tx,ollama_empty_history:()=>Kx,use_ollama_llm_to_chat:()=>kx,use_ollama_llm_to_chat_return:()=>Wx});var _e={};e.r(_e),e.d(_e,{educore_mqtt_connect:()=>Pb,educore_mqtt_connect_success:()=>yb,educore_mqtt_subscribe_message:()=>Yb,educore_mqtt_topic_publish:()=>Xb,educore_mqtt_topic_subscribe:()=>vb,educore_wifi_connect:()=>Fb,network_ap_connect:()=>ab,network_connect:()=>tb,network_get_connect:()=>nb,network_get_wifi:()=>pb,network_init:()=>eb,network_is_active:()=>ob,network_open:()=>_b,network_scan:()=>ub,network_server:()=>rb,network_socket_accept:()=>Mb,network_socket_bind:()=>db,network_socket_close:()=>cb,network_socket_connect:()=>Ib,network_socket_init:()=>lb,network_socket_listen:()=>Tb,network_socket_readline:()=>hb,network_socket_receive:()=>mb,network_socket_receive_from:()=>Ob,network_socket_send:()=>Eb,network_socket_send_to:()=>Rb,network_stop:()=>sb,network_wifi_connect:()=>ib,ntptime_address:()=>Lb,ntptime_time:()=>Ab,requests_attribute:()=>Cb,requests_attribute2:()=>Db,requests_get:()=>gb,requests_get2:()=>Nb,requests_method:()=>Sb,requests_post:()=>fb});var oe={};e.r(oe),e.d(oe,{get_potential_num:()=>xb,nova_g1_motor:()=>bb,nova_g1_spk_en:()=>Bb,nova_g1_usb:()=>Vb});var pe={};e.r(pe),e.d(pe,{pe_g1_battery_left:()=>Ub,pe_g1_dc_motor:()=>wb,pe_g1_dc_motor_speed:()=>Hb,pe_g1_servo_get_angle:()=>Kb,pe_g1_servo_get_speed:()=>Jb,pe_g1_servo_set_angle:()=>kb,pe_g1_servo_set_speed:()=>Wb,pe_g1_use_i2c_init:()=>Gb});var ae={};e.r(ae),e.d(ae,{CI130X_BROADCAST:()=>hV,CI130X_GET_THE_RECOGNIZED_CMD:()=>MV,CI130X_GET_WHETHER_IDENTIFY:()=>TV,CI130X_IDENTIFY_AND_SAVE:()=>IV,CI130X_SET_SYSTEM_CMD:()=>mV,HCSR04:()=>zV,PS2_Button:()=>$V,PS2_Buttons:()=>ZV,PS2_Buttons_new:()=>pB,PS2_State:()=>eB,PS2_init:()=>qV,PS2_init_new:()=>_B,PS2_stk:()=>tB,PS2_stk_new:()=>aB,PS2_vibration:()=>jV,PS2_vibration_new:()=>oB,RTC_get_time:()=>nB,RTC_set_date:()=>tV,RTC_set_datetime:()=>iB,RTC_set_time:()=>eV,camera_sensor_init:()=>BB,camera_sensor_result:()=>GB,column_tube_foot:()=>kB,define_keyboards:()=>WB,educore_body_sensor:()=>fB,educore_button_sensor_extern:()=>vB,educore_camera_sensor:()=>VB,educore_infrared_sensor:()=>YB,educore_soilhum_sensor:()=>FB,educore_temp_sensor:()=>bB,educore_temphum_sensor:()=>PB,educore_ultrasonic_sensor:()=>yB,esp32_s2_weather_init:()=>WV,esp32_s2_weather_rain:()=>JV,esp32_s2_weather_wd:()=>KV,esp32_s2_weather_ws:()=>QV,extern_rfid_read:()=>vV,extern_rfid_readcontent:()=>yV,extern_rfid_readid:()=>XV,extern_rfid_status:()=>VV,extern_rfid_write:()=>xV,extern_rfid_write_return:()=>bV,get_keboards_value:()=>JB,gnss_get_data:()=>lB,gnss_have_data:()=>dB,init_init_rotary_encoder:()=>QB,init_matrix_keyboard:()=>KB,interaction_whether_to_interaction:()=>lV,interaction_whether_to_interaction_SANT:()=>dV,line_tube_foot:()=>HB,mixbot_sensor_extern_get_addr:()=>gB,mixbot_sensor_extern_set_addr:()=>CB,pm25_get_data:()=>rB,radar_set_DETECTION_THRESHOLD:()=>uV,radar_set_DETECTION_THRESHOLD_SANT:()=>rV,robot_button_extern_get_value:()=>TB,robot_color_extern_get_value:()=>OB,robot_infrared_extern_get_value:()=>hB,robot_infrared_extern_grey_get_value:()=>mB,robot_potentiometer_extern_get_value:()=>EB,robot_sonar_extern_get_value:()=>RB,robot_sonar_extern_led:()=>cB,robot_touch_extern_get_value:()=>MB,rotary_key:()=>zB,sensor_APDS9960_extern:()=>OV,sensor_DS18X20:()=>DB,sensor_LTR308_extern:()=>RV,sensor_LTR390UV_extern:()=>NV,sensor_MAX30102_extern:()=>EV,sensor_QMC5883L_extern:()=>DV,sensor_VL530LX_extern:()=>PV,sensor_aht11_extern:()=>FV,sensor_bmp:()=>oV,sensor_dht11:()=>sB,sensor_distance_hrsc04:()=>Zb,sensor_hp203_extern:()=>cV,sensor_ltr381_extern:()=>AV,sensor_mixgo_extern_button_attachInterrupt:()=>jb,sensor_mixgo_extern_button_get_presses:()=>qb,sensor_mixgo_extern_button_is_pressed:()=>Qb,sensor_mixgo_extern_button_was_pressed:()=>zb,sensor_mixgo_extern_light:()=>iV,sensor_mixgo_extern_pin_near:()=>sV,sensor_mixgo_extern_sound:()=>nV,sensor_mixgoce_hot_wheel_degrees:()=>kV,sensor_mixgoce_hot_wheel_is_touched:()=>HV,sensor_mpu9250_attachGestureInterrupt:()=>$b,sensor_ms5611_extern:()=>CV,sensor_ms5611_extern_altitude:()=>SV,sensor_read_humiture:()=>XB,sensor_rtc_init:()=>_V,sensor_sht:()=>pV,sensor_shtc3_extern:()=>fV,sensor_spl06_001_extern:()=>gV,sensor_ucs12071_extern:()=>LV,sensor_use_i2c_init:()=>aV,sensor_use_spi_init:()=>YV,sensor_use_uart_init:()=>uB,sensor_weather_solo_init:()=>SB,sensor_weather_solo_rain:()=>NB,sensor_weather_solo_wd:()=>AB,sensor_weather_solo_ws:()=>LB,sensor_weigh_init:()=>UB,tvoc_get_data:()=>IB,ultrasonic_sensor_read_distance:()=>xB,weather_data:()=>BV,weather_have_data:()=>GV,weather_set_label:()=>wV,weather_uart_mixio:()=>UV,weigh_sensor_get_weight:()=>wB});var ue={};e.r(ue),e.d(ue,{HCSR04:()=>sG,bitbot_als_num:()=>LU,dht11:()=>XU,educore_button_sensor:()=>UU,educore_button_was_pressed:()=>wU,educore_gyroscope_sensor:()=>VU,educore_gyroscope_sensor_read:()=>BU,educore_gyroscope_sensor_shake:()=>GU,educore_light_sensor:()=>bU,educore_rfid_sensor:()=>HU,educore_rfid_sensor_scan:()=>kU,educore_rfid_sensor_scan_data:()=>WU,educore_voice_sensor:()=>yU,number1:()=>_G,number2:()=>oG,number3:()=>pG,number4:()=>aG,number5:()=>uG,number6:()=>rG,number7:()=>lG,onboard_RTC_get_time:()=>iU,onboard_RTC_get_time_str:()=>_U,onboard_RTC_get_timestamp:()=>nU,onboard_RTC_get_timetuple_to_str:()=>oU,onboard_RTC_set_datetime:()=>eU,onboard_RTC_settime_string:()=>tU,onboard_RTC_timestamp_totuple:()=>sU,rfid_readcontent:()=>NG,rfid_readid:()=>LG,rfid_status:()=>FG,rfid_write:()=>DG,rfid_write_return:()=>fG,sensor_LTR308:()=>cG,sensor_adxl345_get_acceleration:()=>BG,sensor_aht11:()=>SG,sensor_bitbot_ALS:()=>AU,sensor_button_get_presses:()=>fU,sensor_button_is_pressed:()=>NU,sensor_button_was_pressed:()=>DU,sensor_compass_reset:()=>WG,sensor_ds18x20:()=>OG,sensor_eulerangles:()=>YG,sensor_get_acceleration:()=>PG,sensor_get_temperature:()=>AG,sensor_get_the_coprocessor_version:()=>KU,sensor_hp203:()=>CG,sensor_light:()=>vU,sensor_lm35:()=>RG,sensor_mixbot_get_gyro:()=>SU,sensor_mixbot_patrol_calibrate:()=>cU,sensor_mixbot_patrol_value:()=>gU,sensor_mixbot_temperature:()=>CU,sensor_mixgo_LTR308:()=>hG,sensor_mixgo_button_attachInterrupt:()=>ZB,sensor_mixgo_button_get_presses:()=>$B,sensor_mixgo_button_is_pressed:()=>qB,sensor_mixgo_button_was_pressed:()=>jB,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>uU,sensor_mixgo_cc_mmc5603_get_angle:()=>aU,sensor_mixgo_cc_mmc5603_get_magnetic:()=>pU,sensor_mixgo_light:()=>YU,sensor_mixgo_nova_LTR308:()=>EG,sensor_mixgo_nova_pin_near:()=>MG,sensor_mixgo_pin_near:()=>TG,sensor_mixgo_pin_near_double:()=>IG,sensor_mixgo_pin_near_single:()=>dG,sensor_mixgo_pin_pressed:()=>bG,sensor_mixgo_sant_color:()=>mG,sensor_mixgo_touch_slide:()=>xG,sensor_mixgocar42_button_attachInterrupt:()=>nG,sensor_mixgocar42_button_get_presses:()=>iG,sensor_mixgocar42_button_is_pressed:()=>eG,sensor_mixgocar42_button_was_pressed:()=>tG,sensor_mixgocar_battery_left:()=>RU,sensor_mixgocar_pin_near:()=>EU,sensor_mixgocar_pin_near_line:()=>mU,sensor_mixgocar_pin_near_state_change:()=>OU,sensor_mixgoce_pin_pressed:()=>yG,sensor_mixgoce_temperature:()=>lU,sensor_mixgome_temperature:()=>rU,sensor_mpu9250_calibrate_compass:()=>wG,sensor_mpu9250_field_strength:()=>kG,sensor_mpu9250_gesture:()=>vG,sensor_mpu9250_get_acceleration:()=>XG,sensor_mpu9250_get_gyro:()=>UG,sensor_mpu9250_get_magnetic:()=>GG,sensor_mpu9250_temperature:()=>HG,sensor_mpython_pin_pressed:()=>VG,sensor_mpython_qmi8658_get_gyro:()=>dU,sensor_mpython_qmi8658_temperature:()=>IU,sensor_onboard_compass_reset:()=>ZG,sensor_onboard_mpu9250_calibrate_compass:()=>qG,sensor_onboard_mpu9250_field_strength:()=>$G,sensor_onboard_mpu9250_gesture:()=>KG,sensor_onboard_mpu9250_get_acceleration:()=>JG,sensor_onboard_mpu9250_get_gyro:()=>zG,sensor_onboard_mpu9250_get_magnetic:()=>QG,sensor_onboard_mpu9250_temperature:()=>jG,sensor_pin_near:()=>PU,sensor_pin_pressed:()=>FU,sensor_read:()=>xU,sensor_rm_acc:()=>hU,sensor_rm_battery_left:()=>MU,sensor_rm_pin_near_double:()=>TU,sensor_sound:()=>gG,simulated_light_sensor:()=>JU});var re={};e.r(re),e.d(re,{serial_any:()=>$U,serial_print:()=>QU,serial_print_byte:()=>zU,serial_print_hex:()=>jU,serial_println:()=>qU,serial_read_from_ai:()=>uw,serial_readline:()=>ew,serial_readstr:()=>ZU,serial_send_to_ai:()=>aw,serial_softserial:()=>tw,serial_softserial_new:()=>iw,system_input:()=>nw,system_print:()=>sw,system_print_end:()=>ow,system_print_inline:()=>_w,system_print_many:()=>pw});var le={};e.r(le),e.d(le,{Panic_with_status_code:()=>cw,Timer_init:()=>bw,base_delay:()=>Gw,controls_delay:()=>Lw,controls_delay_new:()=>Nw,controls_end_program:()=>Cw,controls_millis:()=>gw,controls_uname:()=>Aw,reset:()=>Sw,set_system_timer:()=>fw,system_bitbot_shutdown:()=>xw,system_device_name:()=>Ow,system_device_serial_number:()=>Rw,system_event_bus_source:()=>mw,system_event_bus_value:()=>Ew,system_machine_reset:()=>yw,system_on_event:()=>Tw,system_raise_event:()=>Iw,system_reset:()=>lw,system_run_in_background:()=>rw,system_ticks_diff:()=>Fw,system_timer:()=>Yw,system_timer_init:()=>Pw,system_timestamp:()=>Mw,system_value:()=>hw,system_wait:()=>dw,system_wdt_feed:()=>Xw,system_wdt_init:()=>vw,time_ticks_diff:()=>Bw,timer:()=>Dw,timer2:()=>Vw});var de={};e.r(de),e.d(de,{Air_daily_content:()=>Zw,Air_now_content:()=>Kw,Geo_moon_content:()=>tH,Geo_sun_content:()=>eH,Life_suggestion_content:()=>Qw,Location_search_content:()=>qw,Tide_daily_content:()=>zw,WEATHER_DAILY:()=>ww,WEATHER_HOUR:()=>Hw,WEATHER_NOW:()=>Uw,Weather_alarm_content:()=>Jw,Weather_daily:()=>jw,Weather_daily_content:()=>$w,Weather_now:()=>kw,Weather_now_content:()=>Ww});var Ie={};e.r(Ie),e.d(Ie,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>sH});var Te={};e.r(Te),e.d(Te,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>oH});var Me={};e.r(Me),e.d(Me,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>aH});var he={};e.r(he),e.d(he,{controls_pin_attachInterrupt:()=>DH,inout_analog_atten:()=>EH,inout_analog_write:()=>hH,inout_analog_write_init:()=>gH,inout_analog_write_set:()=>mH,inout_analog_write_set_freq:()=>SH,inout_digital_init:()=>cH,inout_digital_read:()=>MH,inout_digital_write:()=>TH,inout_highlow:()=>IH,inout_pinMode:()=>AH,inout_pin_attachInterrupt:()=>RH,inout_pin_pressed:()=>OH,inout_pin_pressed_init:()=>CH,pin_pressed:()=>NH,pin_pressed_init:()=>LH});var me={};e.r(me),e.d(me,{analog_input:()=>bH,analog_output:()=>BH,espnow_channel:()=>XH,haskylens_model:()=>yH,i2c_A_pin:()=>GH,i2c_B_pin:()=>UH,pins_analog:()=>KH,pins_analog_pin:()=>JH,pins_axis:()=>rk,pins_brightness:()=>lk,pins_builtinimg:()=>nk,pins_builtinimg_extern:()=>sk,pins_button:()=>qH,pins_buttonB:()=>jH,pins_dac:()=>QH,pins_dac_pin:()=>zH,pins_digital:()=>FH,pins_digital_dot:()=>Ok,pins_digital_pin:()=>PH,pins_exlcdh:()=>ak,pins_exlcdv:()=>uk,pins_imglist:()=>_k,pins_input_pin:()=>YH,pins_one_more:()=>Ek,pins_output_pin:()=>vH,pins_playlist:()=>ok,pins_playlist_extern:()=>pk,pins_pwm:()=>$H,pins_pwm_pin:()=>ZH,pins_radio_datarate:()=>mk,pins_radio_power:()=>hk,pins_serial:()=>ik,pins_tone_notes:()=>Mk,pins_touch:()=>tk,pins_touch_pin:()=>ek,pins_tts_bgmusic:()=>Tk,pins_tts_builtin_music:()=>Ik,pins_tts_voice:()=>dk,pwm_input:()=>xH,pwm_output:()=>VH,spi_A_pin:()=>wH,spi_B_pin:()=>HH,spi_C_pin:()=>kH,spi_D_pin:()=>WH,timer_id_pin:()=>Rk});var Ee={};e.r(Ee),e.d(Ee,{mini_g2_rfid_readcontent:()=>gk,mini_g2_rfid_readid:()=>ck,mini_g2_rfid_status:()=>Ak,mini_g2_rfid_write:()=>Ck,mini_g2_rfid_write_outcome:()=>Sk});var Oe={};e.r(Oe),e.d(Oe,{inout_analog_atten:()=>yk,inout_analog_write:()=>fk,inout_analog_write_init:()=>Xk,inout_analog_write_set:()=>Fk,inout_digital_init:()=>vk,inout_digital_read:()=>Dk,inout_digital_write:()=>Nk,inout_highlow:()=>Lk,inout_pin_attachInterrupt:()=>Yk,inout_pin_pressed:()=>Pk,inout_pin_pressed_init:()=>xk});var Re={};e.r(Re),e.d(Re,{analog_input:()=>Kk,analog_output:()=>Qk,espnow_channel:()=>kk,haskylens_model:()=>Wk,i2c_A_pin:()=>zk,i2c_B_pin:()=>qk,pins_analog:()=>iW,pins_analog_pin:()=>tW,pins_axis:()=>MW,pins_brightness:()=>EW,pins_builtinimg:()=>DW,pins_builtinimg_extern:()=>lW,pins_button:()=>Vk,pins_buttonB:()=>Bk,pins_dac:()=>oW,pins_dac_pin:()=>_W,pins_digital:()=>bk,pins_digital_dot:()=>LW,pins_digital_pin:()=>Gk,pins_exlcdh:()=>hW,pins_exlcdv:()=>mW,pins_imglist:()=>dW,pins_input_pin:()=>Uk,pins_interrupt:()=>uW,pins_one_more:()=>AW,pins_output_pin:()=>wk,pins_playlist:()=>IW,pins_playlist_extern:()=>TW,pins_pwm:()=>sW,pins_pwm_input:()=>Hk,pins_pwm_pin:()=>nW,pins_radio_datarate:()=>SW,pins_radio_power:()=>CW,pins_serial:()=>rW,pins_tone_notes:()=>gW,pins_touch:()=>aW,pins_touch_pin:()=>pW,pins_tts_bgmusic:()=>cW,pins_tts_builtin_music:()=>RW,pins_tts_voice:()=>OW,pwm_output:()=>Jk,spi_A_pin:()=>jk,spi_B_pin:()=>$k,spi_C_pin:()=>Zk,spi_D_pin:()=>eW,timer_id_pin:()=>NW});var ce={};e.r(ce),e.d(ce,{mini_g2_rfid_readcontent:()=>FW,mini_g2_rfid_readid:()=>fW,mini_g2_rfid_status:()=>vW,mini_g2_rfid_write:()=>PW,mini_g2_rfid_write_outcome:()=>YW});const ge=Blockly,Ce=Mixly,Se={NAME_TYPE:"VARIABLE",allVariables:function(e){var t;if(e.getDescendants)t=e.getDescendants();else{if(!e.getAllBlocks)throw"Not Block or Workspace: "+e;t=e.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Ae=Se; -/** - * @license - * Visual Blocks Editor - * - * Copyright 2012 Google Inc. - * https://developers.google.com/blockly/ - * - * 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. - */ -class Le{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ge.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(ge.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(ge.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(ge.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},We={init:function(){this.setColour(Be),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.PYTHON_RANGE).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ke={init:function(){this.setColour(Be),this.appendValueInput("LIST").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(ge.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Je={init:function(){this.setColour(Be),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new ge.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(ge.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:ge.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:ge.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},Qe={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(ge.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},ze={init:function(){this.setColour(Be);var e=new ge.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:ge.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:ge.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},qe={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ge.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return ge.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},je={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new ge.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return ge.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};Je.OPERATORS=[[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],ze.OPERATORS=[[ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[ge.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const $e={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ze={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},et={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(ge.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},tt={init:function(){this.setColour(Be),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},it={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},nt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(ge.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},st={init:function(){this.jsonInit({message0:ge.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Be,tooltip:ge.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:ge.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},_t={init:function(){this.setColour(Be),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_STAT),this.setOutput(!0)}},ot={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},at={init:function(){this.appendDummyInput().appendField(ge.Msg.CONTROLS_REPEAT_TITLE_REPEAT+ge.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(ge.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new ge.FieldDropdown([[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[ge.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Be),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ut={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},lt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},dt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_GET_UNIQUE_IDEN)}},It={init:function(){this.setColour(Be),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(ge.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Tt={init:function(){this.setColour(Be),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Mt=230;ge.FieldTextInput.math_number_validator=function(e){return String(e)},ge.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const ht={init:function(){this.setColour(Mt),this.appendDummyInput().appendField(new ge.FieldTextInput("0",ge.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MATH_NUMBER_TOOLTIP)}},mt={init:function(){this.setColour(Mt);this.appendDummyInput("").appendField(ge.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ge.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},Et={init:function(){this.setColour(Mt);this.appendDummyInput("").appendField(ge.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new ge.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:ge.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},Ot={init:function(){this.setColour(Mt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:ge.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ge.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ge.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Rt={init:function(){this.setColour(Mt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:ge.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:ge.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:ge.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:ge.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:ge.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},ct={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new ge.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},gt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new ge.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:ge.Msg.MATH_TRIG_TOOLTIP_SIN,COS:ge.Msg.MATH_TRIG_TOOLTIP_COS,TAN:ge.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:ge.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:ge.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:ge.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:ge.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},Ct={init:function(){var e=[[ge.Msg.MATH_BIN,"bin"],[ge.Msg.MATH_OCT,"oct"],[ge.Msg.MATH_HEX,"hex"]];this.setColour(Mt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new ge.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:ge.Msg.MATH_DEC_TOOLTIP_BIN,oct:ge.Msg.MATH_DEC_TOOLTIP_OCT,hex:ge.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},St={init:function(){var e=[[ge.Msg.LANG_MATH_TO_ROUND,"round"],[ge.Msg.LANG_MATH_TO_CEIL,"ceil"],[ge.Msg.LANG_MATH_TO_FLOOR,"floor"],[ge.Msg.MATH_ABS,"fabs"],[ge.Msg.MATH_SQRT,"sqrt"]];this.setColour(Mt),this.appendValueInput("A").setCheck(Number).appendField(new ge.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:ge.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:ge.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:ge.Msg.MATH_SINGLE_TOOLTIP_SQ,round:ge.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:ge.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:ge.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},At={init:function(){var e=[[ge.Msg.MIXLY_MAX,"max"],[ge.Msg.MIXLY_MIN,"min"]];this.setColour(Mt),this.appendValueInput("A").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(ge.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:ge.Msg.MIXLY_TOOLTIP_MATH_MAX,min:ge.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},Lt={init:function(){var e=[[ge.Msg.MATH_TWO,"two"],[ge.Msg.MATH_EIGHT,"eight"],[ge.Msg.MATH_TEN,"ten"],[ge.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Mt),this.appendDummyInput("").appendField(ge.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new ge.FieldDropdown(e),"OP").appendField(ge.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MATH_ZHW).appendField(new ge.FieldDropdown(e),"OP2").appendField(ge.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:ge.Msg.MATH_Before_two,eight:ge.Msg.MATH_Before_eight,ten:ge.Msg.MATH_Before_ten,sixteen:ge.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:ge.Msg.MATH_Behind_two,eight:ge.Msg.MATH_Behind_eight,ten:ge.Msg.MATH_Behind_ten,sixteen:ge.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},Nt={init:function(){var e=[[ge.Msg.LANG_MATH_INT,"int"],[ge.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Mt),this.setOutput(!0,Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_RANDOM).appendField(new ge.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(ge.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:ge.Msg.LANG_MATH_INT,float:ge.Msg.LANG_MATH_FLOAT_RANDOM};return ge.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},Dt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(ge.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(ge.Msg.MATH_CONSTRAIN_TOOLTIP)}},ft={init:function(){this.setColour(Mt),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(ge.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(ge.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Ft={init:function(){this.setColour(Mt),this.appendDummyInput().appendField(new ge.FieldTextInput("0",ge.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(ge.Msg.MATH_NUMBER_TOOLTIP)}},Pt={init:function(){this.setColour(Mt),this.appendValueInput("NUM").setCheck(Number).appendField(ge.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Yt={init:function(){this.setColour(Mt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MATH_ROUND).appendField(ge.Msg.TEXT_KEEP),this.appendDummyInput().appendField(ge.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(ge.Msg.MATH_ROUND_NEW_TOOLTIP)}},vt={init:function(){var e=[[ge.Msg.MIXLY_TO_INT,"int"],[ge.Msg.MIXLY_TO_FLOAT,"float"],[ge.Msg.MIXLY_TO_BITES,"b"],[ge.Msg.LANG_MATH_BYTE+ge.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Mt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:ge.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:ge.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:ge.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Xt={init:function(){var e=[[ge.Msg.MIXLY_TO_INT,"int"],[ge.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Mt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:ge.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:ge.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},yt=ft,xt={init:function(){this.setColour(Mt),this.appendValueInput("VAR").appendField(ge.Msg.LANG_MATH_BYTE+ge.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},bt={init:function(){this.setColour(Mt),this.itemCount_=1,this.setMutator(new ge.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(ge.Msg.MIXLY_PRODUCT+ge.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(ge.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(ge.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(ge.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const kt={init:function(){this.setColour(Gt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new ge.FieldTextInput("",ge.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(ge.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new ge.FieldImage(t,7,12,'"')}},Wt={init:function(){this.setColour(Gt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(ge.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Kt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Jt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(String).appendField(ge.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Qt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},zt={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},qt={init:function(){this.WHERE_OPTIONS=[[ge.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ge.Msg.TEXT_GET_INDEX_RANDOM+1+ge.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.LISTS_GET_INDEX_GET,"MODE"),ge.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(ge.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=ge.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+ge.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",ge.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:ge.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:ge.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:ge.Msg.TEXT_GET_INDEX_RANDOM};return ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+ge.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==ge.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),ge.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(ge.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new ge.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),ge.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},jt={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(ge.Msg.LISTS_GET_INDEX_GET+" "+ge.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(ge.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+ge.Msg.LISTS_GET_INDEX_FROM_START+"n"+ge.Msg.TEXT_CHARAT2)}},$t={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(ge.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(ge.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Zt={init:function(){this.WHERE_OPTIONS_1=[[ge.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[ge.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[ge.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[ge.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[ge.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(ge.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==ge.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==ge.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),ge.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(ge.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new ge.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ei={init:function(){this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(ge.Msg.LISTS_GET_INDEX_GET+" "+ge.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(ge.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(ge.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(ge.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ti={init:function(){var e=[[ge.Msg.MIXLY_EQUALS,"==="],[ge.Msg.MIXLY_STARTSWITH,"startswith"],[ge.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Gt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new ge.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ii={init:function(){this.setColour(Gt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(ge.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_COMPARETO_HELP)}},ni={init:function(){var e=[[ge.Msg.TEXT_UPPER,"upper"],[ge.Msg.TEXT_TITLE,"title"],[ge.Msg.TEXT_CAPITALIZE,"capitalize"],[ge.Msg.TEXT_SWAPCASE,"swapcase"],[ge.Msg.TEXT_LOWER,"lower"]];this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:ge.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:ge.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:ge.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:ge.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:ge.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},si={init:function(){var e=[[ge.Msg.TEXT_LJUST,"ljust"],[ge.Msg.TEXT_CENTER,"center"],[ge.Msg.TEXT_RJUST,"rjust"]];this.setColour(Gt),this.appendValueInput("VAR").appendField(new ge.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(ge.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(ge.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},_i={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(ge.Msg.MIXLY_MID+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(ge.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Gt),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Gt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(ge.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(ge.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ai={init:function(){this.setColour(Gt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(ge.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(ge.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ui={init:function(){var e=[[ge.Msg.TEXT_TRIM_BOTH,"strip"],[ge.Msg.TEXT_TRIM_LEFT,"lstrip"],[ge.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Gt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ge.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new ge.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(ge.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:ge.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:ge.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:ge.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},ri={init:function(){this.setColour(Gt),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new ge.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ge.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},pn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(_n),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_KEYS),this.setTooltip(ge.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},rn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(ge.Msg.DICTS_GET_TOOLTIP)}},ln={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(ge.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(ge.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},In={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(ge.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_DELETE_TOOLTIP)}},Tn={init:function(){this.setColour(_n),this.appendValueInput("DICT2").setCheck("Dict").appendField(ge.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(ge.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MID),this.setTooltip(ge.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_CLEAR),this.setTooltip(ge.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_ITEMS),this.setTooltip(ge.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_VALUES),this.setTooltip(ge.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},En={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_LENGTH),this.setTooltip(ge.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},On={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.DICT_DELDICT),this.setTooltip(ge.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[ge.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[ge.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(ge.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(ge.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=ge.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=ge.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==ge.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new ge.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},cn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(ge.Msg.DICTS_ADD_VALUE),this.setTooltip(ge.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},gn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(ge.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(ge.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(_n),this.appendDummyInput("").appendField(new ge.FieldLabel(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new ge.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Sn={init:function(){this.setColour(_n),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},An={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TO_JSON),this.setTooltip(ge.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(_n),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(ge.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TO_JSON),this.setTooltip(ge.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},fn=210,Fn={init:function(){var e=ge.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:ge.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:ge.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:ge.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:ge.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:ge.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:ge.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},Pn={init:function(){var e=ge.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=ge.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new ge.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Yn={init:function(){var e=[[ge.Msg.LOGIC_OPERATION_AND,"AND"],[ge.Msg.LOGIC_OPERATION_OR,"OR"],[ge.Msg.LOGIC_OPERATION_NOR,"NOR"],[ge.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new ge.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:ge.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:ge.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:ge.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:ge.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},vn={init:function(){this.setColour(fn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(ge.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(ge.Msg.LOGIC_NEGATE_TOOLTIP)}},Xn={init:function(){var e=[[ge.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[ge.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(fn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new ge.FieldDropdown(e),"BOOL"),this.setTooltip(ge.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yn={init:function(){this.setColour(fn),this.setOutput(!0),this.appendDummyInput().appendField(ge.Msg.LOGIC_NULL),this.setTooltip(ge.Msg.LOGIC_NULL_TOOLTIP)}},xn={init:function(){this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(ge.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(ge.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},bn={init:function(){var e=[[ge.Msg.TEXT_APPEND_TO,"in"],[ge.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new ge.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(ge.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.IN)}},Vn={init:function(){var e=[[ge.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[ge.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(fn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new ge.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Bn={init:function(){this.setColour(fn),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(ge.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[ge.Msg.MIXLY_ADD,"a"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_ADD,"ab"],[ge.Msg.MIXLY_R_W,"r+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_R_W,"rb+"],[ge.Msg.MIXLY_W_R,"w+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_W_R,"wb+"],[ge.Msg.MIXLY_A_R,"a+"],[ge.Msg.MATH_BIN+ge.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG,o=ge.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(ge.Msg.MIXPY_TEXT_ENCODE).appendField(new ge.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_USE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=ge.Msg.MIXLY_BELONG,o=ge.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},kn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+ge.Msg.MIXLY_MICROBIT_TYPE_STRING+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ge.Msg.MICROBIT_PYTHON_TYPE)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.HTML_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const $n={init:function(){this.setColour(0),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},es={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},is={init:function(){this.setColour(0),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ns={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+ge.Msg.MIXLY_ESP32_SET+{mkdir:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(ge.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_s={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.HTML_FILE,"isfile"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(ge.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},as={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(ge.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},us={init:function(){var e=ge.Procedures.findLegalName("",this),t=new ge.FieldTextInput(e,ge.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new ge.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&ge.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(ge.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(ge.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(ge.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(ge.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=ge.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),ge.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{ge.Events.enable()}},mutationToDom:function(e){var t=ge.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(ge.Msg.MIXLY_AIP_ATTR).setAlign(ge.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},__={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_FORM_CONTENT).appendField(new ge.FieldDropdown([[ge.Msg.HTML_TEXT,"text"],[ge.Msg.HTML_EMAIL,"email"],[ge.Msg.HTML_NUMBER,"number"],[ge.Msg.HTML_PASSWORD,"password"],[ge.Msg.HTML_CHECKBOX,"checkbox"],[ge.Msg.HTML_RADIOBUTTON,"radiobutton"],[ge.Msg.HTML_BUTTON,"button"],[ge.Msg.HTML_COLOUR,"colour"],[ge.Msg.HTML_DATE,"date"],[ge.Msg.HTML_LOCALTIME,"local time"],[ge.Msg.HTML_FILE,"file"],[ge.Msg.HTML_HIDDEN,"hidden"],[ge.Msg.HTML_IMAGE,"image"],[ge.Msg.HTML_MONTH,"month"],[ge.Msg.HTML_RANGE,"range"],[ge.Msg.HTML_RESET,"reset"],[ge.Msg.HTML_SEARCH,"search"],[ge.Msg.HTML_SUBMIT,"submit"],[ge.Msg.HTML_TELEPHONENUMBER,"telephone number"],[ge.Msg.HTML_TIME,"time"],[ge.Msg.HTML_URL,"url"],[ge.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(ge.Msg.HTML_NAME).appendField(new ge.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(ge.Msg.HTML_VALUE).appendField(new ge.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(ge.Msg.MIXLY_AIP_ATTR).setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new ge.FieldTextInput("property"),"KEY").appendField(":").appendField(new ge.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_={init:function(){this.setColour($s),this.appendDummyInput().appendField(new ge.FieldTextInput("property"),"KEY").appendField(":").appendField(new ge.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},a_={init:function(){this.setColour($s),this.appendDummyInput().appendField(ge.Msg.HTML_TEXT).appendField(new ge.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_=160,r_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new ge.FieldTable(""),"TEXT")}},l_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new ge.FieldMultilineInput(""),"TEXT")}},d_={init:function(){this.setColour(u_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new ge.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},I_={init:function(){this.setColour(u_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},T_={init:function(){this.setColour(u_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new ge.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},M_={init:function(){this.setColour(u_),this.appendValueInput("VALUE").appendField(ge.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},h_={init:function(){this.setColour(u_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(ge.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=ge.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},ge.isNumber(n)&&ge.isNumber(s)&&ge.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const da=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},Ia=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},Ta=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Ma=function(e,t){return["None",t.ORDER_ATOMIC]},ha=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},ma=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Ea=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},Oa=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Ra=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},ca=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ga=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},Ca=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},Sa=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Aa=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},La=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Na=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Da=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},fa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},Fa=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Pa=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Ya=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},va=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},ya=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},xa=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ba=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},Va=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},Ba=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Ga=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Ua=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},wa=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},Ha=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),ge.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Au=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Lu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Nu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Du=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},fu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},Fu=function(e,t){return'"},Pu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Yu=function(){return this.getFieldValue("TEXT")+"\n"},vu=function(e){return e.getFieldValue("TEXT")+"\n"},Xu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},yu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},xu=function(){return""},bu=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},Vu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},wu.scrubNakedValue=function(e){return e+"\n"},wu.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},wu.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},wu.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=ge.utils.string.wrap(_,wu.COMMENT_WRAP-3),n+=wu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Hu="#74A55B",ku={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_RGB_PIN_COUNT)}},Wu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ku={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ju={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Qu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},zu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ge.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ge.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},qu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},ju={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_RESET)}},$u={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zu={init:function(){this.setColour(Hu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(ge.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},er={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},tr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ir={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},nr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},sr={init:function(){this.setColour(Hu),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_r={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Hu),this.appendValueInput("VAR").appendField("360°"+ge.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SETTING+ge.Msg.blockpy_turtle_rotate+ge.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},pr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},ar={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},ur={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},rr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},lr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new ge.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(ge.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},dr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ge.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[ge.Msg.MOTOR_N,"ms32006.MOT_N"],[ge.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Ir={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new ge.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"ms32006.MOT_CW"],[ge.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},Tr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_RGB_PIN_COUNT)}},Mr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},hr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},mr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_WRI)}},Er={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Or={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new ge.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([["SYN6288"+ge.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+ge.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_WHETHER).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_STOPPED,"0"],[ge.Msg.MIXLY_PLAYING,"1"],[ge.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},gr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MP3_PLAY,"1"],[ge.Msg.MIXLY_MP3_PAUSE,"2"],[ge.Msg.MIXLY_STOP,"3"],[ge.Msg.MIXLY_MP3_PREV,"4"],[ge.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(ge.Msg.MIXLY_MP3_VOL+ge.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Sr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE+ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MP3_LOOP_ALL,"0"],[ge.Msg.MIXLY_MP3_LOOP_ONE,"1"],[ge.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[ge.Msg.MIXLY_MP3_LOOP_RAM,"3"],[ge.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[ge.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[ge.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Lr={},Nr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Dr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},fr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(ge.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Fr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(ge.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(ge.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(ge.Msg.MIXLY_PROGRAM_BLOCK).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},Pr={init:function(){this.setColour(Hu),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Yr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},vr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_TRAFFIC_LIGHT).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.LISTS_SET_INDEX_SET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[ge.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_WHITE,"W"],[ge.Msg.COLOUR_RGB_RED,"R"],[ge.Msg.COLOUR_RGB_YELLOW,"Y"],[ge.Msg.COLOUR_RGB_GREEN,"G"],[ge.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_WHITE,"W"],[ge.Msg.COLOUR_RGB_RED,"R"],[ge.Msg.COLOUR_RGB_YELLOW,"Y"],[ge.Msg.COLOUR_RGB_GREEN,"G"],[ge.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[ge.Msg.MIXLY_SPEED,"[1]"],[ge.Msg.MATH_SINGLE_OP_ABSOLUTE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[ge.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[ge.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[ge.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[ge.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MATH_SINGLE_OP_ABSOLUTE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"0"],[ge.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[ge.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField("("+ge.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Hr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.ME_GO_MOTOR_EXTERN+ge.Msg.MIXLY_SERVO_MOTOR).appendField(ge.Msg.MIXLY_RELATIVE+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+ge.Msg.MSG.run).appendField("("+ge.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(ge.Msg.PIN_NUMBERING).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LEFT,"0"],[ge.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MODE).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPEED+ge.Msg.MIXLY_MODE,"0"],[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER+ge.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"0"],[ge.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MOTOR,"ext_motor"],[ge.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ge.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ge.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ge.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ge.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ge.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ge.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Wr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.ME_GO_MOTOR_EXTERN).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MOTOR,"ext_motor"],[ge.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[ge.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[ge.Msg.COLOUR_RGB_RED+"LED","R_LED"],[ge.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[ge.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[ge.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[ge.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Hu),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SERVO+ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},zr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qr={init:function(){this.setColour(Hu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MOTOR+ge.Msg.MIXLY_SETUP+ge.Msg.MIXLY_AT).appendField(ge.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},jr={init:function(){this.setColour(Hu),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+ge.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$r="#6C9858",Zr={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},el={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_ON,"1"],[ge.Msg.MIXLY_ESP32_OFF,"0"],[ge.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},tl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},il={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},_l={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(ge.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(ge.Msg.MIXLY_LCD_SETCOLOR).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_LIGHT_RED,"1"],[ge.Msg.MIXLY_LIGHT_GREEN,"2"],[ge.Msg.MIXLY_LIGHT_BLUE,"3"],[ge.Msg.MIXLY_LIGHT_YELLOW,"4"],[ge.Msg.MIXLY_LIGHT_CYAN,"5"],[ge.Msg.MIXLY_LIGHT_PURPLE,"6"],[ge.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ol={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ge.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},al={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(ge.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETTING).appendField(ge.Msg.MIXLY_BUILDIN_LED).appendField(new ge.FieldDropdown([[ge.Msg.COLOUR_RGB_RED,"r"],[ge.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_BUILDIN_LED+ge.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},rl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new ge.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ll={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},dl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Il={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Tl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_WRI)}},hl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(Ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(ge.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},ml={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},El={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(ge.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.PYTHON_RANGE_STEP).appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Ol={init:function(){this.setColour($r),this.appendValueInput("TICKS").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(ge.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(ge.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Rl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_RESET)}},gl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Cl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Sl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Al={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ll={init:function(){this.setColour($r),this.appendValueInput("LIST").appendField(ge.Msg.MIXLY_BACKSTAGE+ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Nl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dl={init:function(){this.setColour($r),this.appendDummyInput().appendField("MixGo Car").appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour($r),this.appendDummyInput("").appendField("MixGo Car").appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Fl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MOTOR_DC).appendField(new ge.FieldDropdown([[ge.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[ge.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_STOP).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ge.Msg.MIXLY_SPEED,"SPEED"],[ge.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXBOT).appendField(ge.Msg.MIXLY_MOTOR).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"1"],[ge.Msg.TEXT_TRIM_RIGHT,"2"],[ge.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[ge.Msg.MIXLY_SPEED,"SPEED"],[ge.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},xl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[ge.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(new ge.FieldDropdown([[ge.Msg.blockpy_forward,"F"],[ge.Msg.blockpy_backward,"B"],[ge.Msg.blockpy_left,"L"],[ge.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(new ge.FieldDropdown([[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.BITBOT).appendField(ge.Msg.MIXLY_MOTOR).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"0"],[ge.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour($r),this.appendValueInput("bright").appendField(ge.Msg.MIXLY_SETTING+ge.Msg.MIXLY_MIXBOT_BUZZER+ge.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_SETONOFF)}},Hl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MIXBOT_BUZZER+ge.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_LED_GETONOFF)}},kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_RECORD_AUDIO).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(ge.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_PLAY_AUDIO).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kl={init:function(){this.setColour($r),this.appendValueInput("PATH").appendField(ge.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(ge.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===Ce.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendValueInput("duty").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},ql={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===Ce.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new ge.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},jl={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.ME_GO_MOTOR_EXTERN).appendField(ge.Msg.MIXLY_ALL+ge.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(ge.ALIGN_RIGHT).appendField(ge.Msg.blynk_IOT_IR_POWER+ge.Msg.MIXLY_PINMODEOUT+ge.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},$l={init:function(){this.setColour($r),this.appendDummyInput().appendField(ge.Msg.ANALOG+ge.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(ge.Msg.MIXLY_RELEASE).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.ANALOG+ge.Msg.MIXLY_KEYBOARD_INPUT)}},Zl={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SPECIAL_KEY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[ge.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[ge.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[ge.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[ge.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[ge.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[ge.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[ge.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[ge.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour($r),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GENERAL_KEY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour($r),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new ge.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(ge.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},$m={init:function(){this.jsonInit({colour:Um,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:ge.Msg.MIXLY_MICROBIT_Built_in_image1,message0:ge.Msg.MIXLY_MICROBIT_Built_in_image})}},Zm={init:function(){this.setColour(Um),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},eE={init:function(){this.setColour(Um),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ge.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ge.FieldDropdown(eE.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ge.Msg.MIXLY_MICROBIT_image_add,"-":ge.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[ge.Msg.MICROBIT_DISPLAY_UNION,"add"],[ge.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},tE={init:function(){this.setColour(Um),this.appendValueInput("A").setCheck("esp32_image").appendField(ge.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},iE={init:function(){this.setColour(Um),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET2).appendField(new ge.FieldDropdown(iE.OPERATORS),"OP"),this.appendValueInput("val").appendField(ge.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_UNIT);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ge.Msg.DISPLAY_IMAGE_LET,n=ge.Msg.DISPLAY_IMAGE_LET2,s=ge.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:ge.Msg.MIXLY_UP,shift_down:ge.Msg.MIXLY_DOWN,shift_left:ge.Msg.MIXLY_LEFT,shift_right:ge.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[ge.Msg.MIXLY_UP,"shift_up"],[ge.Msg.MIXLY_DOWN,"shift_down"],[ge.Msg.MIXLY_LEFT,"shift_left"],[ge.Msg.MIXLY_RIGHT,"shift_right"]]},nE={init:function(){this.setColour(Um),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},sE={init:function(){this.setColour(Um),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},_E={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},oE={init:function(){this.setColour(Um),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},pE={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Clear_display);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Clear_display)}},aE={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.MIXLY_SHOW+ge.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},rE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(rE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},lE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},dE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(dE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},IE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},TE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(TE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},ME={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.OLED_SET_FONT).appendField(new ge.FieldDropdown(ME.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+ge.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+ge.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+ge.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},hE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},mE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},EE={init:function(){this.setColour(Um),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ge.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING)}},OE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ge.Msg.TEXT_CENTER).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},RE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},cE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gE={init:function(){this.setColour(Um),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},CE={init:function(){this.jsonInit({colour:Um,args0:[{name:"state",options:[[ge.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ge.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},SE={init:function(){this.jsonInit({colour:Um,args0:[{name:"state",options:[[ge.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ge.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[ge.Msg.mpython_vertical,"0"],[ge.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ge.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},AE={init:function(){this.jsonInit({colour:Um,args0:[{name:"state",options:[[ge.Msg.mpython_display_hline_1,"1"],[ge.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.mpython_display_line_TOOLTIP,message0:ge.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},LE={init:function(){this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ge.FieldDropdown(LE.IMAGES),"path"),this.setColour(Um),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},NE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},DE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(DE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},fE={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},FE={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},PE={init:function(){this.setColour(Um),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},YE={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new ge.FieldDropdown(YE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[ge.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[ge.Msg.CLOCKWISE+"90"+ge.Msg.blockpy_setheading_degree,"1"],[ge.Msg.CLOCKWISE+"180"+ge.Msg.blockpy_setheading_degree,"2"],[ge.Msg.CLOCKWISE+"270"+ge.Msg.blockpy_setheading_degree,"3"]]},vE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new ge.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},XE={init:function(){this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(ge.inputs.Align.CENTRE).appendField(new ge.FieldBitmap(XE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Um),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},yE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xE={init:function(){this.setColour(Um),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(ge.Msg.MIXLY_AipImageClassify_Image+ge.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ge.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ge.Msg.TEXT_CENTER).appendField(new ge.FieldDropdown([[ge.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ge.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},VE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},BE={init:function(){this.jsonInit({colour:Um,args0:[{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ge.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},GE={init:function(){this.jsonInit({colour:Um,args0:[{name:"dir_h_v",options:[[ge.Msg.mpython_vertical,"0"],[ge.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ge.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},UE={init:function(){this.jsonInit({colour:Um,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,tooltip:ge.Msg.mpython_display_line_TOOLTIP,message0:ge.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},wE={init:function(){this.setColour(Um),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ge.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},HE={init:function(){this.setColour(Um),this.appendValueInput("x").setCheck(Number).appendField(ge.Msg.MIXLY_LCD_SETCOLOR).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},kE={init:function(){this.setColour(Um),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_SCREEN_FILL);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},WE={init:function(){this.setColour(Um),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(ge.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},KE={init:function(){this.setColour(Um),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JE={init:function(){this.setColour(Um),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(ge.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(ge.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(ge.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},QE={init:function(){this.setColour(Um),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zE={init:function(){this.setColour(Um),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ge.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qE={init:function(){this.jsonInit({colour:Um,args0:[{name:"shape",options:[[ge.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[ge.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:ge.Msg.mpython_HELPURL,message0:ge.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},jE={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER).appendField(ge.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(ge.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.DRAW_POINTER_TOOLTIP)}},$E={init:function(){this.setColour(Um),this.appendDummyInput().appendField(ge.Msg.DRAW_POINTER).appendField(ge.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(ge.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.DRAW_POINTER_TOOLTIP)}},ZE={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR);Ce.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eO={init:function(){this.setColour(Um),this.appendValueInput("direct").appendField(ge.Msg.OLED_BITMAP).appendField(ge.Msg.MIXLY_QR_CODE),"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},tO={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP).appendField(ge.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ERROR_RATE).appendField(new ge.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(ge.Msg.HTML_COLOUR),"Python ESP32-S3"===Ce.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(ge.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},iO={init:function(){this.setColour(Um),this.appendValueInput("data").appendField(ge.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},nO={init:function(){km.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},sO={init:function(){Qm.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},_O={init:function(){iE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},oO={init:function(){_E.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},pO={init:function(){oE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},aO={init:function(){pE.init.call(this),this.appendDummyInput().appendField(`(${ge.Msg.MIXLY_DEPRECATED})`),this.setWarningText(ge.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},uO=180,rO={init:function(){this.setColour(uO),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(ge.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_LET2).appendField(new ge.FieldDropdown(rO.OPERATORS),"OP"),this.appendValueInput("val").appendField(ge.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ge.Msg.DISPLAY_IMAGE_LET,n=ge.Msg.DISPLAY_IMAGE_LET2,s=ge.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"]]},lO={init:function(){this.setColour(uO),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ge.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ge.FieldDropdown(lO.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ge.Msg.MIXLY_MICROBIT_image_add,"-":ge.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[ge.Msg.MICROBIT_DISPLAY_UNION,"+"],[ge.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},dO={init:function(){this.setColour(uO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new ge.FieldDropdown(dO.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_MICROBIT_IMAGE+{height:ge.Msg.MIXLY_HEIGHT,width:ge.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[ge.Msg.MIXLY_HEIGHT,"height"],[ge.Msg.MIXLY_WIDTH,"width"]]},IO={init:function(){this.setColour(uO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RECT).appendField(new ge.FieldDropdown(IO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_OLED_RECT)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},TO={init:function(){this.setColour(uO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new ge.FieldDropdown(TO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},MO={init:function(){this.setColour(uO),this.appendValueInput("VAR").appendField(ge.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_DISPLAY_DRAW+ge.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new ge.FieldDropdown(MO.STATUS),"OP"),this.jsonInit({message0:ge.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ge.Msg.MIXLY_DISPLAY_DRAW+ge.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[ge.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ge.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},hO="#777777",mO={init:function(){this.setColour(hO),this.appendDummyInput("").appendField("from ").appendField(new ge.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new ge.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},EO={init:function(){this.setColour(hO),this.appendDummyInput("").appendField("import ").appendField(new ge.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},OO={init:function(){this.setColour(hO),this.appendDummyInput("").appendField(new ge.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ge.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},oR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},pR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},aR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},uR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ge.Msg.MIXLY_WIFI_USERNAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.MIXLY_IOT_PASSWORD).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_PROJECT).setAlign(ge.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},lR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.appendDummyInput().appendField(ge.Msg.MIXLY_Service_quality_display).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_AT_MOST_ONCE,"0"],[ge.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},dR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},IR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ge.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},mR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},ER={init:function(){this.setColour(ZO),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},OR={init:function(){this.setColour(ZO),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},RR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ge.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},cR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO").appendField(ge.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(ge.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},gR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+ge.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},CR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(ge.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SR={init:function(){this.VISITOR_ID=Ce.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(ZO),this.appendDummyInput("").appendField(new ge.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},AR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MixIO").appendField(ge.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},LR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("HTTP"+ge.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ge.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(ge.Msg.MIXLY_REQUESTS_GET).appendField(ge.Msg.MIXLY_GET_CURRENT_TIME).appendField(ge.Msg.MIXLY_OPEN_DEBUG).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},NR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("HTTP"+ge.Msg.MIXLY_Client).appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ge.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ge.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},DR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MQTT"+ge.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(ge.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(ge.Msg.MIXLY_INIT_SUBSCRIBE).appendField(ge.Msg.MQTT_Topic).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(ge.Msg.MIXLY_OPEN_DEBUG).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ge.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("MQTT"+ge.Msg.MIXLY_Client).appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_REQUESTS_LEN,"client_len"],[ge.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[ge.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},FR=eR,PR=tR,YR=iR,vR=nR,XR=_R,yR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(ge.Msg.MODEL_NAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(ge.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xR=yR,bR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(ge.Msg.MIXLY_API_PRIVATE_KEY).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(ge.Msg.MODEL_NAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(ge.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(ge.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},GR={init:function(){this.setColour(ZO),this.appendDummyInput().appendField("Ollama "+ge.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${ge.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${ge.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(ge.inputs.Align.RIGHT).appendField(`MixIO ${ge.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(ge.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},WR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},KR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(ge.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(ge.inputs.Align.RIGHT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[ge.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},JR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(ge.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QR=225,zR={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(ge.Msg.MIXLY_NETWORK_MODE).appendField(new ge.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},qR={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[ge.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=ge.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:ge.Msg.MIXLY_NETWORK_WIFI_OPEN,False:ge.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},jR={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},$R={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return ge.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:ge.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},ZR={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(ge.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(ge.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},ec={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_NETWORK_WIFI_CONNECT+ge.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},tc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[ge.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[ge.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:ge.Msg.MIXLY_ESP32_NETWORK_IP,1:ge.Msg.MIXLY_ESP32_NETWORK_MASK,2:ge.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},ic={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},nc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[ge.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},sc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(ge.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(ge.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},_c={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},oc={init:function(){this.setColour(QR),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ge.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},pc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},ac={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},uc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},rc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},lc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},dc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},Ic={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},Tc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},Mc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},hc={init:function(){this.setColour(QR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},mc={init:function(){this.setColour(QR),this.appendValueInput("DOMAIN").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_REQUESTS_GET).appendField(new ge.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ec={init:function(){this.appendValueInput("VAL"),this.setColour(QR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown(Ec.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:ge.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:ge.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:ge.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[ge.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},Oc={init:function(){this.appendValueInput("VAR").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(QR),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown(Oc.METHOD),"DIR"),this.appendDummyInput("").appendField(ge.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:ge.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:ge.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},Rc={init:function(){this.setColour(QR),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(ge.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},cc={init:function(){this.setColour(QR),this.appendDummyInput("").appendField(new ge.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},gc="#3288dd",Cc={init:function(){this.setColour(gc),this.appendValueInput("URL").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(ge.Msg.blockpy_REQUESTS).appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Sc={init:function(){this.setColour(gc),this.appendValueInput("URL").appendField(ge.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(ge.Msg.blockpy_CONDUCT).appendField(new ge.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(ge.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(ge.Msg.blockpy_REQUESTS+ge.Msg.OLED_STRING),this.appendDummyInput("").appendField(ge.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ac={init:function(){this.appendValueInput("VAL"),this.setColour(gc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown(Ac.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[ge.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[ge.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[ge.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},Lc={init:function(){this.setColour(gc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(ge.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(ge.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(ge.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Nc={init:function(){this.setColour(gc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_SERVER).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(ge.Msg.MIXLY_EMQX_PORT).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(ge.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(ge.Msg.MIXLY_WIFI_USERNAME).setAlign(ge.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(ge.Msg.MIXLY_IOT_PASSWORD).setAlign(ge.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dc={init:function(){this.setColour(gc),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(ge.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},fc={init:function(){this.setColour(gc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_SUBSCRIBE+ge.Msg.MIXLY_MICROBIT_MSG).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(ge.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fc={init:function(){this.setColour(gc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(ge.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(ge.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(ge.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pc={init:function(){this.setColour(gc),this.appendDummyInput().appendField("mqtt"+ge.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Yc=100,vc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Yc),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Xc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Yc),this.appendValueInput("PIN").appendField(e).appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Yc),this.appendValueInput("PIN").appendField(e).appendField(ge.Msg.SET_USB),this.appendValueInput("percent").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_POWER_SUPPLY),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xc={init:function(){if("mixgo_nova"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Yc),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_SPK_STATE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ON,"True"],[ge.Msg.MIXLY_OFF,"False"]]),"state"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bc=100,Vc={init:function(){var e=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==e)var t="CE G6";else if("mixgo_pe"==e)t="PE G1";this.setColour(bc),this.appendValueInput("I2CSUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(t),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Bc={init:function(){var e=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==e)var t="CE G6";else if("mixgo_pe"==e)t="PE G1";this.setColour(bc),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},Gc={init:function(){var e=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==e)var t="CE G6";else if("mixgo_pe"==e)t="PE G1";this.setColour(bc),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Direction).appendField(new ge.FieldDropdown([[ge.Msg.CLOCKWISE,"CW"],[ge.Msg.ANTI_CLOCKWISE,"CCW"],[ge.Msg.MOTOR_P,"P"],[ge.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Uc={init:function(){var e=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==e)var t="CE G6";else if("mixgo_pe"==e)t="PE G1";this.setColour(bc),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField(ge.Msg.MOTOR_DC).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},wc={init:function(){var e=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==e)var t="CE G6";else if("mixgo_pe"==e)t="PE G1";this.setColour(bc),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_MOVE)}},Hc={init:function(){var e=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==e)var t="CE G6";else if("mixgo_pe"==e)t="PE G1";this.setColour(bc),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(ge.inputs.Align.RIGHT).appendField(ge.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},kc={init:function(){var e=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==e)var t="CE G6";else if("mixgo_pe"==e)t="PE G1";this.setColour(bc),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("180°"+ge.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wc={init:function(){var e=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==e)var t="CE G6";else if("mixgo_pe"==e)t="PE G1";this.setColour(bc),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendValueInput("PIN").appendField("360°"+ge.Msg.MIXLY_SERVO).appendField(ge.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET+ge.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kc="#A58C5B",Jc={init:function(){this.setColour(Kc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SENOR_IS_PRESSED)}},Qc={init:function(){this.setColour(Kc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_SENOR_WAS_PRESSED)}},zc={init:function(){this.setColour(Kc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(ge.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.PROCEDURES_DEFRETURN_RETURN+ge.Msg.MIXLY_BUTTON+ge.Msg.MIXLY_GET_PRESSES)}},qc={init:function(){this.setColour(Kc),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_BUTTON).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ge.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ge.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},jc={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_shake,"shake"],[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"],[ge.Msg.MIXLY_MICROBIT_face_up,"face up"],[ge.Msg.MIXLY_MICROBIT_face_down,"face down"],[ge.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=ge.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ge.Msg.MSG.catSensor,s=ge.Msg.MIXLY_MICROBIT_JS_STATE,_=ge.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ge.Msg.MIXLY_MICROBIT_shake,up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT,"face up":ge.Msg.MIXLY_MICROBIT_face_up,"face down":ge.Msg.MIXLY_MICROBIT_face_down,freefall:ge.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},$c={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Zc={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},eg={init:function(){this.setColour(Kc),this.appendValueInput("PIN",Number).appendField(new ge.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new ge.FieldDropdown(eg.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:ge.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]},tg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},ig={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},ng={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ge.FieldDropdown([[ge.Msg.TEXT_TRIM_LEFT,"left"],[ge.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(ge.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=ge.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=ge.Msg.MIXLY_ESP32_NEAR;return i+{left:ge.Msg.TEXT_TRIM_LEFT,right:ge.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},sg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[ge.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":ge.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":ge.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},_g={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[ge.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},og={init:function(){this.setColour(Kc),this.appendValueInput("PIN",Number).appendField("DS18X20 "+ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},pg={init:function(){this.setColour(Kc),this.appendDummyInput("").appendField("LM35"+ge.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ge.Msg.MIXLY_TOOLTIP_LM35)}},ag={init:function(){this.setColour(Kc),this.appendValueInput("I2CSUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[ge.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[ge.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[ge.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[ge.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[ge.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[ge.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[ge.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[ge.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[ge.Msg.HTML_COLOUR+"、"+ge.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+ge.Msg.MIXLY_NEXT+"、"+ge.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[ge.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[ge.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[ge.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[ge.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[ge.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ug={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(ge.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+ge.Msg.MIXLY_DELAY_TIME_RANGE)}},rg={init:function(){this.setColour(Kc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RADAR).appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(ge.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+ge.Msg.MIXLY_DELAY_TIME_RANGE)}},lg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},dg={init:function(){this.setColour(Kc),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RADAR).appendField(ge.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},Ig={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Tg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_HELLO_XIAOZHI,"1"],[ge.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[ge.Msg.MIXLY_THE_FIRST,"3"],[ge.Msg.MIXLY_THE_SECOND,"4"],[ge.Msg.MIXLY_THE_THIRD,"5"],[ge.Msg.MIXLY_THE_FOURTH,"6"],[ge.Msg.MIXLY_THE_FIFTH,"7"],[ge.Msg.MIXLY_THE_SIXTH,"8"],[ge.Msg.MIXLY_THE_SEVENTH,"9"],[ge.Msg.MIXLY_THE_EIGHTH,"10"],[ge.Msg.MIXLY_THE_NINTH,"11"],[ge.Msg.MIXLY_THE_TENTH,"12"],[ge.Msg.MIXLY_THE_ELEVENTH,"13"],[ge.Msg.MIXLY_THE_TWELFTH,"14"],[ge.Msg.MIXLY_THE_13TH,"15"],[ge.Msg.MIXLY_THE_14TH,"16"],[ge.Msg.MIXLY_THE_15TH,"17"],[ge.Msg.MIXLY_THE_16TH,"18"],[ge.Msg.MIXLY_THE_17TH,"19"],[ge.Msg.MIXLY_THE_18TH,"20"],[ge.Msg.MIXLY_THE_19TH,"21"],[ge.Msg.MIXLY_THE_20TH,"22"],[ge.Msg.MIXLY_Turn_on_the_lights,"23"],[ge.Msg.MIXLY_Turn_off_the_lights,"24"],[ge.Msg.MIXLY_Turn_up_the_brightness,"25"],[ge.Msg.MIXLY_Turn_down_the_brightness,"26"],[ge.Msg.MIXLY_Set_it_to_red,"27"],[ge.Msg.MIXLY_Set_it_to_orange,"28"],[ge.Msg.MIXLY_Set_it_to_yellow,"29"],[ge.Msg.MIXLY_Set_it_to_green,"30"],[ge.Msg.MIXLY_Set_it_to_cyan,"31"],[ge.Msg.MIXLY_Set_it_to_blue,"32"],[ge.Msg.MIXLY_Set_it_to_purple,"33"],[ge.Msg.MIXLY_Set_it_to_white,"34"],[ge.Msg.MIXLY_Turn_on_the_fan,"35"],[ge.Msg.MIXLY_Turn_off_the_fan,"36"],[ge.Msg.MIXLY_First_gear,"37"],[ge.Msg.MIXLY_Wind_speed_second,"38"],[ge.Msg.MIXLY_Third_gear,"39"],[ge.Msg.MIXLY_Previous,"40"],[ge.Msg.MIXLY_Next_page,"41"],[ge.Msg.MIXLY_Show_smiley_face,"42"],[ge.Msg.MIXLY_Show_crying_face,"43"],[ge.Msg.MIXLY_Show_love,"44"],[ge.Msg.MIXLY_Close_display,"45"],[ge.Msg.MIXLY_Start_execution,"46"],[ge.Msg.MIXLY_FORWARD,"47"],[ge.Msg.MIXLY_BACKWARD,"48"],[ge.Msg.MIXLY_TURNLEFT,"49"],[ge.Msg.MIXLY_TURNRIGHT,"50"],[ge.Msg.MIXLY_STOP,"51"],[ge.Msg.MIXLY_Accelerate,"52"],[ge.Msg.MIXLY_retard,"53"],[ge.Msg.ROTATION_FORWARD,"54"],[ge.Msg.ROTATION_BACKWARD,"55"],[ge.Msg.MIXLY_Query_temperature,"56"],[ge.Msg.MIXLY_Query_humidity,"57"],[ge.Msg.MIXLY_Query_brightness,"58"],[ge.Msg.MIXLY_Query_sound,"59"],[ge.Msg.MIXLY_Query_time,"60"],[ge.Msg.MIXLY_Query_distance,"61"],[ge.Msg.MIXLY_Query_pressure,"62"],[ge.Msg.MIXLY_Query_key,"63"],[ge.Msg.MIXLY_Query_touch,"64"],[ge.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(ge.Msg.MIXLY_WHETHER+ge.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},Mg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[ge.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[ge.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},hg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MP3_PLAY).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[ge.Msg.MIXLY_WIND_SPEED,"154"],[ge.Msg.MIXLY_HYETAL,"155"],[ge.Msg.MIXLY_TEMPERATURE,"156"],[ge.Msg.MIXLY_Humidity,"157"],[ge.Msg.MIXLY_Altitude,"158"],[ge.Msg.MIXLY_SOUND,"159"],[ge.Msg.MIXLY_BRIGHTNESS,"160"],[ge.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[ge.Msg.MIXLY_SERVO,"162"],[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[ge.Msg.MIXLY_BUTTON2,"164"],[ge.Msg.MIXLY_ESP32_TOUCH,"165"],[ge.Msg.MIXLY_PAY,"166"],[ge.Msg.MIXLY_CARSH_CHANGE,"167"],[ge.Msg.MIXLY_COUNTDOWN,"168"],[ge.Msg.MIXLY_TIMING,"169"],[ge.Msg.MIXLY_AT_THE_MOMENT,"170"],[ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[ge.Msg.MIXLY_FORWARD,"172"],[ge.Msg.MIXLY_BACKWARD,"173"],[ge.Msg.MIXLY_TURNLEFT,"174"],[ge.Msg.MIXLY_TURNRIGHT,"175"],[ge.Msg.MIXLY_STOP,"176"],[ge.Msg.MIXLY_Accelerate,"177"],[ge.Msg.MIXLY_retard,"178"],[ge.Msg.ROTATION_FORWARD,"179"],[ge.Msg.ROTATION_BACKWARD,"180"],[ge.Msg.TUPLE_JOIN,"181"],[ge.Msg.MIXLY_SHOW,"182"],[ge.Msg.MIXLY_LAMPLIGHT,"183"],[ge.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(ge.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(ge.Msg.MIXLY_UNIT).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[ge.Msg.MIXLY_YEAR,"117"],[ge.Msg.MIXLY_MONTH,"118"],[ge.Msg.MIXLY_DAY,"119"],[ge.Msg.MIXLY_HOUR,"120"],[ge.Msg.MIXLY_MINUTE,"121"],[ge.Msg.MIXLY_SECOND,"122"],[ge.Msg.MIXLY_WEEK2,"123"],[ge.Msg.MIXLY_RMB_UNIT,"124"],[ge.Msg.blockpy_setheading_degree,"125"],[ge.Msg.MIXLY_GEAR,"126"],[ge.Msg.MIXLY_LAYER,"127"],[ge.Msg.MIXLY_GRAM,"128"],[ge.Msg.MIXLY_METER,"129"],[ge.Msg.MIXLY_CENTIMETER,"130"],[ge.Msg.MIXLY_MILLIMETER,"131"],[ge.Msg.MIXLY_LUMEN,"132"],[ge.Msg.MIXLY_DECIBEL,"133"],[ge.Msg.MIXLY_hectopascal,"134"],[ge.Msg.MIXLY_PERCENT,"135"],[ge.Msg.MIXLY_CELSIUS,"136"],[ge.Msg.MIXLY_METER_PER_SEC,"137"],[ge.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[ge.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[ge.Msg.MIXLY_SUCCESS,"140"],[ge.Msg.MIXLY_FAILED,"141"],[ge.Msg.MIXLY_WRONG,"142"],[ge.Msg.MIXLY_GOOD,"143"],[ge.Msg.MIXLY_blockpy_set_add,"144"],[ge.Msg.MIXLY_DECREASE,"145"],[ge.Msg.COLOUR_RGB_RED,"146"],[ge.Msg.COLOUR_RGB_ORANGE,"147"],[ge.Msg.COLOUR_YELLOW,"148"],[ge.Msg.COLOUR_RGB_GREEN,"149"],[ge.Msg.COLOUR_CYAN,"150"],[ge.Msg.COLOUR_RGB_BLUE,"151"],[ge.Msg.COLOUR_RGB_PURPLE,"152"],[ge.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},mg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.LISTS_SET_INDEX_SET+ge.Msg.MIXLY_SYSTEM+ge.Msg.MIXLY_CMD).appendField(new ge.FieldDropdown([[ge.Msg.MILXY_ENTER_WAKE_UP,"1"],[ge.Msg.MIXLY_INCREASE_VOLUME,"202"],[ge.Msg.MIXLY_REDUCE_VOLUME,"203"],[ge.Msg.MIXLY_MAX_VOLUME,"204"],[ge.Msg.MIXLY_MINIMUM,"205"],[ge.Msg.MIXLY_OPEN_RESPONSE,"206"],[ge.Msg.MIXLY_CLOSE_RESPONSE,"207"],[ge.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Eg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[ge.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[ge.Msg.MIXLY_ESP32_MAX30102_IR+","+ge.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Og={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[ge.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[ge.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Rg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},cg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.HTML_COLOUR+ge.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET+ge.Msg.HTML_COLOUR,"[2]"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_IR_STRENGTH,"[1]"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},gg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.HTML_COLOUR+ge.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET+"RGB"+ge.Msg.HTML_COLOUR,"0"],[ge.Msg.MIXLY_GET+ge.Msg.MIXLY_RGB_RAW,"1"],[ge.Msg.MIXLY_GET_ENV_LIGHT+ge.Msg.MIXLY_BRIGHTNESS,"2"],[ge.Msg.GET_IR_STRENGTH+ge.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GET_ENV_LIGHT,"E"],[ge.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ag={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Lg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ge.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:ge.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Ng={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_GETPRESSURE,"pressure()"],[ge.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[ge.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_Altitude+ge.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(ge.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(ge.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MIXGOPE_FIELD+ge.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[ge.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_shake,"shake"],[ge.Msg.MIXLY_UP,"up"],[ge.Msg.MIXLY_DOWN,"down"],[ge.Msg.MIXLY_LEFT,"left"],[ge.Msg.MIXLY_RIGHT,"right"],[ge.Msg.MIXLY_MICROBIT_face_up,"face up"],[ge.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=ge.Msg.MIXLY_MICROBIT_JS_CURRENT,n=ge.Msg.MSG.catSensor,s=ge.Msg.MIXLY_MICROBIT_JS_STATE,_=ge.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:ge.Msg.MIXLY_MICROBIT_shake,up:ge.Msg.MIXLY_UP,down:ge.Msg.MIXLY_DOWN,left:ge.Msg.MIXLY_LEFT,right:ge.Msg.MIXLY_RIGHT,"face up":ge.Msg.MIXLY_MICROBIT_face_up,"face down":ge.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},vg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Xg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_GET+ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},yg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ge.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new ge.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=ge.Msg.MIXLY_MICROBIT_Direction,s=ge.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":ge.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},xg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},bg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_GETTEMPERATUE)}},Vg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return ge.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:ge.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:ge.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},Bg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Gg={init:function(){this.setColour(Kc),this.appendValueInput("SPISUB").appendField(ge.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(ge.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP+ge.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new ge.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},Ug={init:function(){this.setColour(Kc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[ge.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},wg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},kg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Wg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ge.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Kg={init:function(){this.setColour(Kc),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_SCAN_OK,"0"],[ge.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[ge.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Jg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_JS_GET).appendField(new ge.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},Qg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},zg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},qg={init:function(){this.setColour(Kc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new ge.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},dv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Iv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Tv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},hv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Ev=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},Ov=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},Rv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},cv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},gv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},Cv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},Sv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},Av=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Lv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Nv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},Dv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},fv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},Fv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},Pv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},Yv=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},vv=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},yv=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},xv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},bv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Vv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},Bv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},Gv=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},Uv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},wv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Hv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},kv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Wv=function(e,t){t.definitions_.import_st7789="import st7789";var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Kv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Jv=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},Qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},zv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},jv=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},$v=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Zv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},eX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},tX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},iX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},nX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},sX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=Ce.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},_X=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},oX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},pX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},aX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},uX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},rX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},lX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},dX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},IX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},TX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},MX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},hX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},mX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},EX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},OX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},RX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},cX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},gX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},CX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},SX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},AX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},LX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},NX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},DX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},fX=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},FX=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Ty=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},My=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},hy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},my=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},Ey=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Oy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Ry=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},cy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},gy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},Cy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Sy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Ay=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},Ly=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},Ny=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Dy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},fy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===Ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},Fy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},Py=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Yy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"direct",t.ORDER_ATOMIC);t.valueToCode(this,"boolean",t.ORDER_ATOMIC);return"onboard_tft.qrcode("+n+")\n"},vy=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},Xy=RX,yy=BX,xy=xX,by=BX,Vy=GX,By=YX,Gy=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},Uy=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},wy=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},lw=function(){return"control.reset()\n"},dw=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+")\n"},Iw=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+")\n"},Tw=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||Ce.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},Mw=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},hw=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},mw=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Ew=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Ow=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},Rw=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},cw=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},gw=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},Cw=function(){return"while True:\n pass\n"},Sw=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},Aw=function(e,t){return t.definitions_.import_os="import os","os.uname()"},Lw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Nw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Dw=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},fw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},Fw=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},Pw=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},Yw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},vw=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},Xw=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},yw=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},xw=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},bw=Pw,Vw=Yw,Bw=Fw,Gw=Lw,Uw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ww=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Hw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},kw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},Ww=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Kw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Jw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},zw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},jw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},$w=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},Zw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},eH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},tH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},iH='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:nH}=Ce,sH=nH.render(iH,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:_H}=Ce,oH=_H.render(iH,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:pH}=Ce,aH=pH.render(iH,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),uH=new ge.Generator("Python");uH.INDENT=" ",uH.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),uH.ORDER_ATOMIC=0,uH.ORDER_COLLECTION=1,uH.ORDER_STRING_CONVERSION=1,uH.ORDER_UNARY_POSTFIX=1,uH.ORDER_UNARY_PREFIX=2,uH.ORDER_MEMBER=2.1,uH.ORDER_FUNCTION_CALL=2.2,uH.ORDER_EXPONENTIATION=3,uH.ORDER_UNARY_SIGN=4,uH.ORDER_BITWISE_NOT=4,uH.ORDER_MULTIPLICATIVE=5,uH.ORDER_ADDITIVE=6,uH.ORDER_BITWISE_SHIFT=7,uH.ORDER_BITWISE_AND=8,uH.ORDER_BITWISE_XOR=9,uH.ORDER_BITWISE_OR=10,uH.ORDER_RELATIONAL=11,uH.ORDER_EQUALITY=11,uH.ORDER_LOGICAL_NOT=12,uH.ORDER_LOGICAL_AND=13,uH.ORDER_LOGICAL_OR=14,uH.ORDER_ASSIGNMENT=14,uH.ORDER_CONDITIONAL=15,uH.ORDER_LAMBDA=16,uH.ORDER_NONE=99,uH.ORDER_OVERRIDES=[[uH.ORDER_FUNCTION_CALL,uH.ORDER_MEMBER],[uH.ORDER_FUNCTION_CALL,uH.ORDER_FUNCTION_CALL],[uH.ORDER_MEMBER,uH.ORDER_MEMBER],[uH.ORDER_MEMBER,uH.ORDER_FUNCTION_CALL]],uH.init=function(){uH.PASS=this.INDENT+"pass\n",uH.definitions_=Object.create(null),uH.functionNames_=Object.create(null),uH.setups_=Object.create(null),uH.loops_=Object.create(null),uH.codeEnd_=Object.create(null),uH.variableDB_?uH.variableDB_.reset():uH.variableDB_=new Ne(uH.RESERVED_WORDS_)},uH.finish=function(e){""!==e&&(e=(e=e.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[],i=[],n=[];for(var s in this.definitions_){var _=this.definitions_[s];0===s.indexOf("import")?t.push(_):0===s.indexOf("var_declare")?i.push(_):n.push(_)}t.length&&t.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var o=[];for(var s in uH.functions_)o.push(uH.functions_[s]);o.length&&o.push("\n");var p=[];for(var s in uH.setups_)p.push(uH.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in uH.loops_)a.push(uH.loops_[s]);var u=[];for(var s in uH.codeEnd_)u.push(uH.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n"),r},uH.scrubNakedValue=function(e){return e+"\n"},uH.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},uH.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},uH.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=ge.utils.string.wrap(_,uH.COMMENT_WRAP-3),n+=uH.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const rH={};rH["元控青春"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-18"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["DOOR_CLOSE","object_picture.DOOR_CLOSE"],["DOOR_OPEN","object_picture.DOOR_OPEN"],["DOOR_OPENING","object_picture.DOOR_OPENING"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","spk_midi.DADADADUM"],["ENTERTAINER","spk_midi.ENTERTAINER"],["PRELUDE","spk_midi.PRELUDE"],["ODE","spk_midi.ODE"],["NYAN","spk_midi.NYAN"],["RINGTONE","spk_midi.RINGTONE"],["FUNK","spk_midi.FUNK"],["BLUES","spk_midi.BLUES"],["BIRTHDAY","spk_midi.BIRTHDAY"],["WEDDING","spk_midi.WEDDING"],["FUNERAL","spk_midi.FUNERAL"],["PUNCHLINE","spk_midi.PUNCHLINE"],["PYTHON","spk_midi.PYTHON"],["BADDY","spk_midi.BADDY"],["CHASE","spk_midi.CHASE"],["BA_DING","spk_midi.BA_DING"],["WAWAWAWAA","spk_midi.WAWAWAWAA"],["JUMP_UP","spk_midi.JUMP_UP"],["JUMP_DOWN","spk_midi.JUMP_DOWN"],["POWER_UP","spk_midi.POWER_UP"],["POWER_DOWN","spk_midi.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},rH["元控自强"]={description:"MicroPython[ESP32C3 MixGo CE]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-20"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:rH["元控青春"].builtinimg,builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]},rH["ESP32S2 Generic"]={description:"MicroPython[ESP32C3 MixGo CC]",digital_pin:Ce.Profile.generate(["0-18","21","33-48"]),input_pin:Ce.Profile.generate(["0-18","21","33-48"]),output_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm_input:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_input:Ce.Profile.generate(["1-18"],"adc","adc"),pwm_output:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_output:Ce.Profile.generate(["1-18"],"adc","adc"),espnow_channel:Ce.Profile.generate(["1-13"]),haskylens_model:Ce.Profile.generate(["0-4"]),digital:Ce.Profile.generate(["0-18","21","33-48"],"pin","pin"),pwm_pin:Ce.Profile.generate(["0-18","21","33-48"]),pwm:Ce.Profile.generate(["0-18","21","33-48"],"pwm","pwm"),analog_pin:Ce.Profile.generate(["1-18"]),analog:Ce.Profile.generate(["1-18"],"adc","adc"),touch:Ce.Profile.generate(["1-14"],"tc","tc"),touch_pin:Ce.Profile.generate(["1-14"]),button:[["B1","B1key"],["B2","B2key"],["A1","A1key"],["A2","A2key"],["A3","A3key"],["A4","A4key"]],buttonB:[["B1","B1key"],["B2","B2key"]],axis:Ce.Profile.generate(["0-4"]),exlcdh:Ce.Profile.generate(["0-15"]),exlcdv:Ce.Profile.generate(["0-7"]),brightness:Ce.Profile.generate(["0-9"]),tts_voice:Ce.Profile.generate(["0-16"]),tts_builtin_music:Ce.Profile.generate(["0-47"]),tts_bgmusic:Ce.Profile.generate(["0-15"]),builtinimg:rH["元控青春"].builtinimg,builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","matrix.Image.ALL_CLOCKS"],["ALL_ARROWS","matrix.Image.ALL_ARROWS"]],playlist:[["DADADADUM",".DADADADUM"],["ENTERTAINER",".ENTERTAINER"],["PRELUDE",".PRELUDE"],["ODE",".ODE"],["NYAN",".NYAN"],["RINGTONE",".RINGTONE"],["FUNK",".FUNK"],["BLUES",".BLUES"],["BIRTHDAY",".BIRTHDAY"],["WEDDING",".WEDDING"],["FUNERAL",".FUNERAL"],["PUNCHLINE",".PUNCHLINE"],["PYTHON",".PYTHON"],["BADDY",".BADDY"],["CHASE",".CHASE"],["BA_DING",".BA_DING"],["WAWAWAWAA",".WAWAWAWAA"],["JUMP_UP",".JUMP_UP"],["JUMP_DOWN",".JUMP_DOWN"],["POWER_UP",".POWER_UP"],["POWER_DOWN",".POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"]]};const lH=rH,dH=20,IH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_HIGH,"HIGH"],[ge.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},TH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(ge.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},MH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},hH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField("DAC"+ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_VALUE2).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_TOOLTIP)}},mH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendDummyInput().appendField(ge.Msg.MIXLY_MICROBIT_JS_PERIOD_MIL).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_mSecond,"period"],[ge.Msg.MIXLY_uSecond,"period_microseconds"]]),"key"),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_SET_TOOLTIP)}},EH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_Analog_PINMODEIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_REF_VOLTAGE+ge.Msg.MIXLY_STAT).appendField(new ge.FieldDropdown([["3.3V","machine.ADC.ATTN_11DB"],["2.2V","machine.ADC.ATTN_6DB"],["1.5V","machine.ADC.ATTN_2_5DB"],["1.2V","machine.ADC.ATTN_0DB"]]),"atten"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_ATTEN_TOOLTIP)}},OH={init:function(){this.setColour(dH),this.appendValueInput("pin").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(ge.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(ge.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},RH={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_ATTACHINTERRUPT_PIN).setCheck(Number),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MODE).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[ge.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[ge.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(ge.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},cH={init:function(){this.setColour(20),this.appendDummyInput().appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("pin#"),"PIN_OBJ"),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROPYTHON_AS).appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_Digital_PINMODEOUT,"machine.Pin.OUT"],[ge.Msg.MIXLY_Digital_PINMODEIN,"machine.Pin.IN"],[ge.Msg.MIXLY_PINMODEPULLUP,"machine.Pin.IN, machine.Pin.PULL_UP"],[ge.Msg.MIXLY_PINMODEPULLDOWN,"machine.Pin.IN, machine.Pin.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)},getVars:function(){return["pin#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},gH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("dac#"),"PIN_OBJ").appendField(ge.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField("DAC"+ge.Msg.MIXLY_Analog_PINMODEOUT),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_ANALOG_WRITE_INIT_TOOLTIP)},getVars:function(){return["dac#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},CH={init:function(){this.setColour(dH),this.appendDummyInput("").appendField(ge.Msg.MIXLY_SETUP).appendField(new ge.FieldTextInput("tc#"),"PIN_OBJ").appendField(ge.Msg.MIXLY_MICROPYTHON_AS),this.appendDummyInput("").appendField(ge.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendValueInput("PIN",Number).appendField(ge.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_INIT_TOOLTIP)},getVars:function(){return["tc#"==this.getFieldValue("PIN_OBJ")?null:this.getFieldValue("PIN_OBJ")]},renameVar:function(e,t){ge.Names.equals(e,this.getFieldValue("PIN_OBJ"))&&this.setTitleValue(t,"PIN_OBJ")}},SH={init:function(){this.setColour(dH),this.appendValueInput("PIN",Number).appendField("PWM"+ge.Msg.MIXLY_Analog_PINMODEOUT).setCheck(Number),this.appendValueInput("NUM",Number).appendField(ge.Msg.MIXLY_FREQUENCY+ge.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ge.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},AH=cH,LH=CH,NH=OH,DH=RH,fH=230,FH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital),"PIN"),this.setOutput(!0)}},PH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},YH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},vH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},XH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},yH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},xH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},bH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},VH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},BH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},GH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},UH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},wH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},HH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},kH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},WH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},KH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog),"PIN"),this.setOutput(!0)}},JH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},QH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.dac),"PIN"),this.setOutput(!0)}},zH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},qH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},jH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},$H={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm),"PIN"),this.setOutput(!0)}},ZH={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},ek={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},tk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.touch),"PIN"),this.setOutput(!0)}},ik={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},nk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},sk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},_k={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.imglist),"PIN"),this.setOutput(!0)}},ok={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.playlist),"PIN"),this.setOutput(!0)}},pk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},ak={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},uk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},rk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},lk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},dk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},Ik={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Tk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},Mk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},hk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},mk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Ek={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.one_more),"PIN"),this.setOutput(!0)}},Ok={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown(Ce.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},Rk={init:function(){this.setColour(fH),this.appendDummyInput("").appendField(new ge.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"PIN"),this.setOutput(!0,Number)}},ck={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(ge.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},gk={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"+ge.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(ge.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ck={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Sk={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField(ge.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(ge.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(ge.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(ge.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0)}},Ak={init:function(){if("mixgo_me"==Ce.Boards.getSelectedBoardKey().split(":")[2])var e="ME G1";this.setColour(40),this.appendDummyInput().appendField(e).appendField("RFID"),this.appendDummyInput("").appendField(new ge.FieldDropdown([[ge.Msg.MIXLY_RFID_SCAN_OK,"True"],[ge.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[ge.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Lk=function(e,t){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",t.ORDER_ATOMIC]},Nk=function(e,t){t.definitions_.import_machine="import machine";var i="";return i+=t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value("+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},Dk=function(e,t){t.definitions_.import_machine="import machine";return[t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".value()",t.ORDER_ATOMIC]},fk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".write("+t.valueToCode(this,"NUM",t.ORDER_ATOMIC)+")\n"},Fk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=t.valueToCode(this,"NUM",t.ORDER_ATOMIC);return i+".set_analog_"+this.getFieldValue("key")+"("+n+")\n"},Pk=function(e,t){return t.definitions_.import_machine="import machine",[t.valueToCode(this,"pin",t.ORDER_ATOMIC)+".read()",t.ORDER_ATOMIC]},Yk=function(e,t){t.definitions_.import_machine="import machine";var i=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),n=this.getFieldValue("mode");return"machine.Pin("+i+").irq(handler = "+t.valueToCode(this,"DO",t.ORDER_ATOMIC)+", trigger = "+n+")\n"},vk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"pin#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC),s=this.getFieldValue("MODE");return("pin#"==i?"pin"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.Pin("+n+", "+s+")\n"},Xk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"dac#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("dac#"==i?"dac"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.DAC(machine.Pin("+n+"))\n"},yk=function(e,t){return t.definitions_.import_machine="import machine",t.valueToCode(this,"PIN",t.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},xk=function(e,t){t.definitions_.import_machine="import machine";var i=this.getFieldValue("PIN_OBJ")||"tc#",n=t.valueToCode(this,"PIN",t.ORDER_ATOMIC);return("tc#"==i?"tc"+n:t.variableDB_.getName(i,ge.Variables.NAME_TYPE))+" = machine.TouchPad(machine.Pin("+n+"))\n"},bk=function(e,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},Vk=bk,Bk=bk,Gk=bk,Uk=bk,wk=bk,Hk=bk,kk=bk,Wk=bk,Kk=bk,Jk=bk,Qk=bk,zk=bk,qk=bk,jk=bk,$k=bk,Zk=bk,eW=bk,tW=bk,iW=bk,nW=bk,sW=bk,_W=bk,oW=bk,pW=bk,aW=bk,uW=bk,rW=bk,lW=bk,dW=bk,IW=bk,TW=bk,MW=bk,hW=bk,mW=bk,EW=bk,OW=bk,RW=bk,cW=bk,gW=bk,CW=bk,SW=bk,AW=bk,LW=bk,NW=bk,DW=function(e,t){const i=this.getFieldValue("PIN").split(".");if(2!==i.length)throw Error("pin value error");return t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`,[i[1],t.ORDER_ATOMIC]},fW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var n='ext_rfid.read_card(0, x="id")'}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";n='ext_rfid.read_card(0, x="id")'}else{t.definitions_.import_mini_g2="import mini_g2";n='mini_g2.ext_rc522.read_card(0, x="id")'}return[n,t.ORDER_ATOMIC]},FW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.read_card("+n+")"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";s="ext_rfid.read_card("+n+")"}else{t.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.read_card("+n+")"}return[s,t.ORDER_ATOMIC]},PW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")\n"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";_="ext_rfid.write_card("+s+","+n+")\n"}else{t.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")\n"}return _},YW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"SECTOR",t.ORDER_ATOMIC),s=t.valueToCode(this,"CONTENT",t.ORDER_ATOMIC);if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var _="ext_rfid.write_card("+s+","+n+")"}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";_="ext_rfid.write_card("+s+","+n+")"}else{t.definitions_.import_mini_g2="import mini_g2";_="mini_g2.ext_rc522.write_card("+s+","+n+")"}return[_,t.ORDER_ATOMIC]},vW=function(e,t){var i=Ce.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_mini"==i){t.definitions_.import_mini_g2_ext_rfid="from mini_g2 import ext_rfid";var s="ext_rfid.scan_card()=="+n}else if("mixgo_sant"==i){t.definitions_.import_sant_gx_ext_rfid="from sant_gx import ext_rfid";s="ext_rfid.scan_card()=="+n}else{t.definitions_.import_mini_g2="import mini_g2";s="mini_g2.ext_rc522.scan_card()=="+n}return[s,t.ORDER_ATOMIC]};Object.assign(ge.Variables,Ae),Object.assign(ge.Procedures,Uu),Object.assign(ge.Lang.ZhHans,Ie),Object.assign(ge.Lang.ZhHant,Te),Object.assign(ge.Lang.En,Me),ge.Python=wu,ge.generator=wu,Ce.Profile.default={},Object.assign(Ce.Profile,lH),Object.assign(Ce.Profile.default,lH["元控青春"]),Object.assign(ge.Blocks,t,i,n,s,_,o,p,a,u,r,l,d,I,b,W,k,v,V,K,f,P,H,w,U,B,F,D,N,y,X,x,Y,G,he,me,Ee),Object.assign(ge.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,ne,le,re,Z,se,de,z,q,ue,ae,pe,_e,j,Q,J,te,ee,ie,$,oe,Oe,Re,ce)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/styles/main.6d008c05.css b/boards/default/micropython_esp32s3/styles/main.6d008c05.css new file mode 100644 index 00000000..42908ce0 --- /dev/null +++ b/boards/default/micropython_esp32s3/styles/main.6d008c05.css @@ -0,0 +1,499 @@ +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(1)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo0NiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NDYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZGFjMDQyYmMtODZjZC02MzQwLWExYjItZjA5MTkyOGMzM2Q4PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmRhYzA0MmJjLTg2Y2QtNjM0MC1hMWIyLWYwOTE5MjhjMzNkODwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmRhYzA0MmJjLTg2Y2QtNjM0MC1hMWIyLWYwOTE5MjhjMzNkODwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkYWMwNDJiYy04NmNkLTYzNDAtYTFiMi1mMDkxOTI4YzMzZDg8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+z0WRKgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADjUlEQVR42sSXT6hVVRTGf9865x4H74U0c1RKEDgJamSTGjUoKgIR1ItOoyzE8ElBIUiFvuebqEnhIKzrn8iKSqiJk6igSQ0LIkdFICj+eUWee/f+Gpx773s+yXevXfFMDpy9z1q//a219tpbtrmbjwYAZ2Y2ra9dPWHpQeEMpAnYD8BAInNM+JfBwJb5kzcCnJ7ZOpOJA4DuwDqR8245zQ/Mb54/dSPAiZlth4VfAr4FfwCsmYDnq8D9oF3C89i7hwocXKbAyZn2UdALNq9LfmsCwQULzBoUf4p8VE47hgocPHUTwDugF232Avsk+uEb068MBrtxZLRO4jxwxOblwbz2wc6tAYbGxoq0yQ66qUUoUxU1ku9V5tK1YnrfX+XU3sJNbu94+8jKAONCdFOLlAuyg6qop6qiXoW4lHPcY6lGXB8qMNsZDQBA4ZGi0UslopkbRZ6P8CspxzOYsyI30Y9mUVtmT46hgEZLB8k4i14usGNDWfa+C4gMbzrrDQwqGnsjK6Doex4jHYxIqSCUicjHQdttvibzlENWeDQAhRuADLbWAVNAb8RqaNn6FfMP0mfAc5g/LB6X/NvW2RMjKLC4Jz4r+HxC2+IVw672XOf9FQF6qSQ5KCKvaxXd3aAe0L2NftAF/u4reMXiq/Zs58cVNiKTckHdqygiUbXqZmebTAtktBD0a1syraI7uT41DsBiFUyqSRoj2nOd0ZJwCJDvAkAoD1Rfa8dO4BqQ+8kUt9GtpoCLhi/bc50fVlYggWwIPUrB90xMA15rz3X2r1gFTXMpkRJV0X1M8jlQaXMI2Cl5NXDfGKVZGV0ELrTnOt1bA2AyQbfXVEEZXZBWh/wN8JDNAeBV4bGKw/3JI+XAQIWcg6qsm58NEX4XeB64rpwfBn4mmqT1CtUyHkA/Y3uppIi02BVlJLYLjueszcBHtpBMRL4h2MO3+oDjACw9kBg1q+sbU2O9rHtVyg5HZMroUUZvuQrTBueIv5Z+3Db74e0fyQahGOyUA+eSFyEHcyPOFyldqOp6gyXo+9t4+Mz/P5QaIbzoeFmtAaSiuL6qrn9fffXqAzliOPzksbOTOpb7v3uEIRfF5aquL08vLKxdCvD0e1/c8YtJDZCj2F/V9U/TCwuP3BLg9J6tM9mTv5pZokjp06quN1qLpjce+njZ5XTPpvV1nujlVP2CbQl/Ivvc0sGbrmZ36/l3AHnYit+0RI/wAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(1)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo0NiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NDYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MzJjYjhlY2MtMWMxZS0zZDRjLTkyMDMtNzA2OGE3ZmNiOTBjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjMyY2I4ZWNjLTFjMWUtM2Q0Yy05MjAzLTcwNjhhN2ZjYjkwYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjMyY2I4ZWNjLTFjMWUtM2Q0Yy05MjAzLTcwNjhhN2ZjYjkwYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozMmNiOGVjYy0xYzFlLTNkNGMtOTIwMy03MDY4YTdmY2I5MGM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+k4ziZAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABsklEQVR42uzXP0hWYRTH8c8rWoOJtDmlL0HgEtRkS00tQSK0OLlGmUhhUJAIUmCDS/8IGsK2hhRJsKUlLGjR0SB0KoKgyELxb2/LEZzu+165770NPnC5w+We833Oc87vnKdUqVQUuUp7ADpxHifwFzsZ2G9AJWw9w6ckgJu4j1KdNjuE8SSAh7iGObxAWwZOf6Md18P5UBLAE1zBHdzLcOdt+Bb2+5MAHuMqRjCaIUAZy3iEgSIAjuJn2BzJE6AZh8N5CzaxkSfAOG7gImZq0YGsAbrwPrTgLobzBthdE+jDG1wIYdoXQDnOdbtGx034jHVMoQdfcQ5LaQG6MZ1RRFZCmJ6nASiHim1jax/9YAtrEcEVzGI+rxyouRseAPzXAB0YxJ8YVpr3DBtp5fkHXuNjGoAz+JDhxm9jLO0RnMVbNOJBRKQVx1KU5qGIwPfdf9LmQCve4WSMb7eKSsKnuBzt9RQWi6iCvmg0vXhZVBk2xsidVA1H4vtqUTqwHEnXVRTABr7geDWAeo3lv+LpqAaQ9cVkM95jWMDpagD1vJpN4lLel9NSPE14FSqaCFDI+jcAivHmwXUc8rwAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(2)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZWNjMWJmM2QtOTc5ZS1iODRhLWIyY2UtNTVjZWYxOGYwYTFiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmVjYzFiZjNkLTk3OWUtYjg0YS1iMmNlLTU1Y2VmMThmMGExYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmVjYzFiZjNkLTk3OWUtYjg0YS1iMmNlLTU1Y2VmMThmMGExYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplY2MxYmYzZC05NzllLWI4NGEtYjJjZS01NWNlZjE4ZjBhMWI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+hgy+ngAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAEY0lEQVR42rSXT2heZRbGf895b3RErRbcWXRZcKEiZbQwhEGYoS7EfyiYRGvr2DaiqCO0o7PQlaKl4H9rq22t+eIwoDO6sqCIVlAURcSVuBi1gihWrQo6ue95XCQ3fk1i2iT23Vw+vve+53fPfc45z5Vt+tfw+DCykHWlw/8GQECy3fJoRnK0a+ocZGFNxukN9WbsmQsA3WT5YeAtzIOyBiWNJvlyRv7lWAOcI/R+ZGxP5WhGEjWQNUjhtVReb7zraAG661EDXNO75h7Ld2BWAJ93N06+CX0MfGW8mgWs3w0A+Fjoa8z58wWccc/CAIaeHTonHO9HxvaqOuowpRZk/SlL7sdskLVzvuBLBUDWzYiHgDcwdwpdInS78cs16rwiLLUsDWB4fBiAyLgK8S93SoInMJvapv1NsZVaAMhIfr1tkQClFhxebvkgZiNmB4Ja6oycAwGlLUQGGbk0gJHxkf6fy4GDSt0APDlXyruApR5LAGsyAzPSXkudFt2xBrges2uuJ+8OP1YApwDfGv/D8n39gutX+lwAGISWDHAy4pBSz5eJcgWCtmln1fpMAMvnAduEVhq/oNQWy4fQYgDgEEBpy0pZH9VSuyCzSjEysLwZcR/wA/ApcBZg47NlfTg2PLYggGXAJ8CpGflFacsfMZ9lmQ0wNSsukPWm5a1Kbe4r0y+AxvjM3lDvx4WK8GvM7Yg1wF8xr1t+DvE90Ey5BYADsrbJOllVK7qeoRRCqxx+J5W3jV89/sBi+sBIKnuS7gbuOsLw+49Sl3cZmrouFzoIbB0bGtu8GICNlnd0Bwr9ATgRyD4hfmP54ci4SamTMvJHIVSF0LW1qU9HjcueGXnmv4sCgMlGlJHT5XXYQSmUWpYlv0N8aXy+rP/JGnZ4TNYLzURz6e7rdi+uEyq1wzKdJ+yHsMzA/wdo2oa2aVdOHDfxtqxlff+/1Ew0F5Va2LVu16IAbsA82TUUh2d5gA4gI/np+J8UxMXGK8OxD/NBqYVSC0+tf2rhAJgNwM4ZNXfYihpdH5ieEdOeEIEnJ+yetXuObhz3hclwbLW9WQg0pWzPdkKdgS1ZqE09Ttbxxt/3t+7xq8eP7IhmNJf3lDotMs44LP2e1YUwk08ttNPy3361DB4Cnl2QIelbFyNebNpmve3ddaBOptZzG1GhV4ALMY9Y3o+4VWg15tZUPnjEDKzdu3aW48kmn8jIDUrdY/mf3TudY21EbFdqENjfdcLi8mhG3ohZNTY89u68AOt3r581ZNqmpR1otwF/nxLWJ8B3wEDf1p+Bc433AWu6ipnafzrBgahx796RvXfOC7Buzzrmcj4TAxPIWhGOLZYHgROA2qnB+Gehc4F9xmuEpjUBnI44YHx/b6i3ZdEAkYEsfusDVdYmxOORMWi8v5ZKZBCOxzJy1HhVb6j37lIyMF3rc/kBWTj8KvBnzOOWXwNuIVgdbdzStM1DR2zFSwWYmhWPAaPT/lE5EjV6A+0AMwF+GQAExkzuzV8QpQAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(2)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyOCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjgrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NjNhZjVmMWQtMDY5NS04YzRhLWIwNjEtMDI2NGNmY2FmNDY1PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjYzYWY1ZjFkLTA2OTUtOGM0YS1iMDYxLTAyNjRjZmNhZjQ2NTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjYzYWY1ZjFkLTA2OTUtOGM0YS1iMDYxLTAyNjRjZmNhZjQ2NTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo2M2FmNWYxZC0wNjk1LThjNGEtYjA2MS0wMjY0Y2ZjYWY0NjU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+2xfycgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACNUlEQVR42sTXS4jNYRjH8c8p15hB2RHLKQskuZQmKRqLyS0WyMJlZmg0gzIuC1aElPttRIpIua4o0qCISLKShXGpicbdwoKxef51OnM758ycOb/Vec///3/e7/u+z/t7nzfV1tamEy3G5bT2CazVy0p1AlCLw3iMgyiPzu9gdqEBJuBFByMuRxNW4UwhAXZhK0bjY8azN/iM6cUEaMXUYizBDDxAFRoLnYTrcQgPsQ3zsKmvkjDRElxCKtonUdNX2zDRCHxBNU4pgLIFWIPTxQQo+gz0qvnkAjAM37AFe4oBUIIfuIpFOcSdhP0oww00RJy8AUSw11l0vjlm6xfeYRzaMB6vcgUoRTOGowVT8L6L96fhEfYFSKIW9MNY/M41CVvDBSswB/dxBT8jaGJUH2LaS+IcSddkPMUGHMhnFyzHBezEjm6W4BoWdhInc2by9oFBGIJ/af99jSKmFkMzpnoFzmEBrhfSiErxHZ/iyH6LZTgfu2F+XzhhGZ4ETKJbmNuXZ0EKlQFzGy97asW9WoTkApCKRGuXvVloAAbGds0bAJ5jJMbk0HkjVqe1l+JivgCVuImVOJtF53cxC0eihqyPKro+7hg5AyTlWFVUzNu7eK86itny6DzRUawLR3yWD4Cw2Y3xuzn2e/+0538wMbK+IuPbUWHVu6PIzQtAeHxDjHAw/sZJly3A3vg+b4DuVIPjHSzBsbhj9GgJstU9zAyQJtRFEtbFXUOhAdJHnCg5Tdvp/wCeGOnB7Qz1rwAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(3)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo1NCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NTQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6N2ZjYzcwODMtMDM1ZC05MjQ2LWJlZjMtN2FkODcxNjg0OTk1PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjdmY2M3MDgzLTAzNWQtOTI0Ni1iZWYzLTdhZDg3MTY4NDk5NTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjdmY2M3MDgzLTAzNWQtOTI0Ni1iZWYzLTdhZDg3MTY4NDk5NTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3ZmNjNzA4My0wMzVkLTkyNDYtYmVmMy03YWQ4NzE2ODQ5OTU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg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) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(3)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo1NSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NTUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NDk0ZTYzYzAtNzIxZC05ZDRlLTgxZjEtMDFkOTJkNGM5NzIzPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjQ5NGU2M2MwLTcyMWQtOWQ0ZS04MWYxLTAxZDkyZDRjOTcyMzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjQ5NGU2M2MwLTcyMWQtOWQ0ZS04MWYxLTAxZDkyZDRjOTcyMzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo0OTRlNjNjMC03MjFkLTlkNGUtODFmMS0wMWQ5MmQ0Yzk3MjM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+i21wbAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAC1ElEQVR42sTWW4hWVRgG4EfzBGqadnK0tDRFpSwSzyMUJGlIXXQSw4S6Scm0EqMgwTNSGJYZgh0oBIOINKuJDlApVogV1EWZUWrNRVFRE2LQdPMKm+Gf2f/v/DO+V9/ea+2137XW977f16O1tVUn0Bs/43xMxqFaF+jRSQJ98Td6YRo+7W4CvfFXiEzB52eTwDX4ojsJ9MRKbMrzK1iG37uDwHh8giEVxpbh6a4kcAmOJvGOYSdacCumZs59eK6rCLyK2/AVrkZxgS1Yjj9xAf6tN4GL0Jy4PdkdwWjcEbJ1JXBldn4Kg3CywpxdWIBV2FxvAlfg28TDCqdRxAe4DkuwvSty4JuoYAsebDN2Pd5PPBbfVUNgeOTUCz/gj5Jv5mFf4hewPna8EE/m/U7cW60KGnNcd+KJmEsZHsHGdsb2Y1atPnA7duPXyKcMK5NgzeiDwYkbcBDTz8SIjmFEFckzAV8nvgHv4RwMzBoD8DjW1krgfmyNsYxIna+Eg3G83bm2IhYnL+Dy5FRNKvg+Hzbhxgrzl+KZxKPwY4U5TZiD12LPNRGYhY8TP4UVhbELcSJq6chkxhTkNx9v1uoDD+TnsAGPJX4Zd8WIxpVsbF2+a8alHdWE9oxoVaHO78AbBe03phSX4Sguw7O5upqdsEjiNLbmhKrB1CSsjrqlMisemz7v3DwfwjbswW8lBKYnIQfiAGaeCYH+uccBabXOy/vW7KgpSvgv/WEDZuDa/LiIe/B8rQTejhzfwk0pPksj1TK0pE70izG14OLUjaoI3ILXC/f5WWFsHGan8RiDofgHP8VLDheqInyJq9IrLKyWwHEMxxqs1jk04qPEc/FOGYH1eDRSGq0+eBF3p5+Y2BGBSQXJzEse1AODktD9YlIb2iNwutjswc3qi0V4KXEDfmlL4KE0JTAySVVvvJsyvg/b2xKYnCPfUagB9cZM7MXD+PD/AQCXWfot1LKNBwAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(4)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo1MyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NTMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NDZhNjJiYmQtMzA0Yy1kZjRmLThhYmYtYzY4OGQ4NTljOGQzPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjQ2YTYyYmJkLTMwNGMtZGY0Zi04YWJmLWM2ODhkODU5YzhkMzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjQ2YTYyYmJkLTMwNGMtZGY0Zi04YWJmLWM2ODhkODU5YzhkMzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo0NmE2MmJiZC0zMDRjLWRmNGYtOGFiZi1jNjg4ZDg1OWM4ZDM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+RQhtzAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAFJElEQVR42sSXXYgd5R3Gf887M2fPbuxNICBYyDbGQGyNltrgV6PFJEUQFKTUrlrTIr0RioK5ac2uu9abagNCeyFCQzWbSimlWAptE5OVkoikTYrbRhpoa6EKSqlQm+w58/E+Xsyc3XNOspvVBHyvBmbeeX7v//uVbT7JJdvcPb2PlEBKCmKT0IMBbsZeC5QXqZEifQAcwxwwnMwpKan41dQ3a4C7pn9CSkKb7HuSvg/G8DaQA+EiASKQAZ9WfebnOy6+nVPy8tS3aoB7pl8gU9iTEWZK+IHwHqH8UjqnFufRgPaWxAOFq/t+MfWNGuCr0y+uH1X2VtflsxE/kikgxKUECIiuS4x3jSrbh/XlF6funZNt7p3Z/2xK8p3ClYxJCASF2hHnDZzmSM1rawVhi5K4uCFiMoX/AH+enZzYLtvcN3PgdeAKL/oJ7CW7DQj329R9HGIAt/etqAFMIJEQEeAwsH52cuLKHsA8MGa4st5QESySldwgXgFexZ6hgXBj6qF1i8VhzE7QHDKqAcZnJyc29ABOAGsN4wa6LmiTIrSc+MmArssp78pdvVwDmDYZKUm/676C+C1wHHMn4r3GsHPAFbOTE1cNAAiNL1BQuswuo13CeQwgTgNXBetzXcq/LlAgoE3GCClxacuNiGPAK5jt/bGyLAAwXjoC3Jkq/BpzPfCnPvHXga2YawL6S4eSDgVjtGiRrCi+KgDDeEDIrIvyMWAjZhz4F+IE8HnMtcAbAdGhAER78OQ3IY42Zt86LH5BgIFoF68C24B54BrMF4ATgx5Rv89vRxwCDtZBt7Q+HkD99d+BDZirgTdXqDU9sx/C7OgHjPJwVVwZYAgiQ6zDvLOC+A2I14A/YLYNiBOxBvPpowIMVL3zrNsQR5pud3N/6S2JLJDTVouEpcq6KoChWFgOYFsTJ4dk7Wi6KEJURM6SI2CUFkFLRe1SAfSi/WCwdpZEIpGMFAFdKjoUJIg2GQGtLg3P23iWD7jjsraWRM7QZYSUNhkC8gagLlIt0gbAlwBgB+L3wGHM7SBy1e2mRfKbhHBKZndOxVlyWiQ3jKn148rVRIS/BYWP4YJzTz5Q4dR0Dcs/Mjwc0BMdl9Ml1eZPqX2qpPrvGeebU8J7bbUAX6AONB1RFulS9C6b5xpM8seBJwviDxP0cMSn/+/utQLGNEJCWB3AgnNaJL3u1hP/I+aLw6kWFwcOiJhEejojfcz4/Y6Ltb0hJ1OK8YV7QUFFx3WTSQjbLR8cLq/9qdYLrVgLbVmj1pzQu8abZO0W7K2IIC2bBfPAGmCDEQvuUhFZw8hticIR4yHxWvIseTPr1P0gEG66TCNHC6o3C1dXt8ketbwX81Sk2iPJzchyzkBysmnH6w2UjghColAJ5jFbBhpLUxTcP+9iUoV3Kxw+cGddi4QxWkT8FOK7trYA86oj+yCwcXZy4jOyzcTMgecED5WOiRAJafPjajv4CFD1C/e7YekpYMUtZ9w5HaEzSkqradOGz5r0LVOegUii8G/gn7OTE1+Sbe6f/tnmIJ1acLG7Ij4zqlY9lNYBs+x0PAwTZUpXpCSLbqn3BySRO8dw66iyOcM9+ye//kvZ5mvT+0mkfQlhV0ncJfRT2R/xXuD+inCurQS2dwaF30V8vHS19edTDwxdzZS9IHjA8L96CHGxGLqrkj/3uaFJERsFl4OOdlzcmlNWi1ezu6f3kZCQkZBIdwAPAZuAseZud3GXIugC/wD2Ay91PXQ5/STXhwMAb5UB7iHvD2IAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(4)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo1MyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NTMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzBhMDY0MWUtOTVmMy0zYzRkLWFjMjAtNjRiODIzNWUxOWM1PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcwYTA2NDFlLTk1ZjMtM2M0ZC1hYzIwLTY0YjgyMzVlMTljNTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcwYTA2NDFlLTk1ZjMtM2M0ZC1hYzIwLTY0YjgyMzVlMTljNTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MGEwNjQxZS05NWYzLTNjNGQtYWMyMC02NGI4MjM1ZTE5YzU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+pqPz3gAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACk0lEQVR42sTXS4jNYRjH8c8Ms2GnlKLGvdzJJYxrBillYUcyC9koUWxcym02bqVYyEIkWVmQcp+ZhOQyMphMuRWKRJFyPzbPv/6dzpzzH2cO7+r9v//3/z7f8zy/5znPW5XL5fzPUVUAYDhWog598LNMGz3xGTdwEq3FADZjV8xf4zuqywT4jRoMiOcjWF0IYCt2YHfMv1fA4+uxPzyxPA1Qixc4gHUVDnsDjmIumhOAA1iLqn+kvfe4j/oE4Bb6p+JU6XE1vD4kAWhDLwzpwiFX0BK6KTZmhMEFaE4BDMTgBOBepNzAjMZbMR5LcKbIvoU4j9tYjHex3hweH9YZQE3kf6Eq1YFhGI1HRYxPi9y/gvq8dyUBFuMsJuFu6sNbmIIxePiXxjMB9I0Dhsbay9gzAePwoIjx6bgebp/SyZ6SAMlowawQ6RhMjL2djXm4jEshOuUCwFMMxki0Z3D7ZcwvIeIuAdRESN4UOXAqbuJaeEx3ApQac9AUv74u4zfdBjArdJLF7d0OkKi9lOAqApAIrliqVQxgPi5GPZ+X9+4cHmNjnkAPYRmelAtQqsIdxBpsw3aMCKAPMX9XDkDWPN+CndgXMB1RPcsKQWL8DiZnCNMebMDHOLcsDdSH0rOqfWwYeBsd9sboA4sCtKF3lNxCRSar8SQ126N0J01oYzS6uc4aktbwQG3qsGr8CrixGdPrbXzXN7XWiE1xRlusXYp/2kEJwGGsQo8C7m8KEBnd34Gveeujouv+Es+v8BwzE4ARqfzdW+GGdHZoYClOpy8mR6Nnb8CxChlfgAvpCpp/NTuOFfgU8frRDXeFXNwPh6JfiHR2EtZCl9NFoYfh0ar/LhOgGt/wDCdwqtTt+J+OPwMAjCUQ0E52QKYAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(5)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjoxMCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MTArMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NTg4N2RhYmQtYjQ3NC1jNjRlLTgwMTMtZTcxODEzYzRmYmM2PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjU4ODdkYWJkLWI0NzQtYzY0ZS04MDEzLWU3MTgxM2M0ZmJjNjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjU4ODdkYWJkLWI0NzQtYzY0ZS04MDEzLWU3MTgxM2M0ZmJjNjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1ODg3ZGFiZC1iNDc0LWM2NGUtODAxMy1lNzE4MTNjNGZiYzY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+BMXw/AAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACtklEQVR42tyXzWrVUBDHf/8TW7BU0YW4Ea34sVN8AF/AlTv7sVGpurXoQhSpFFFU7K0LN6KI2lsfwgdw60JXioIg0gpdKBVKazIucu5tbm5OkqstFgOBnGSY+c1H5syRmfEvL402G8OSTQI7ge3ASkgWcMBH/3wAiIGQB/3AD2DRpJPApxDAJcmmgZ/AN6AvoND8vcevv3gQBeRXgd3AQBTrCPAuBHBNsluCMwk8rwwZzIMtGxoqk/NhGXfwxCXlAFcluy2zs8Azk4IxxUBiAVjGbB8lsmYgOCfxuAJg+rrETZmNgz0FSOSCLnUAAKbuDFjiYR0XJB5FsY4CbwsBRpqNE052WcYk8FreUOy6jRcB5CGsM13HBTdMOg18LQQ4NfuALS7Gmda8BGJn6TIX4yKA1gcDLMq8MnAxrPSLxKXrLoDh2Rkil3QAACTOKGoRQQAfCXM5gARW+4QF/pUgQKzi8ioDAEgi1QYwFQDIGw9VdxWACSzyugIArWeXZABkwlkahJD3dQBaUTClBrIALcNRAlGcGuuIgCw1npS0t0oAA3MpRAtgpT8FiBJwseESL+oKUlDmfd0IpMrVroM4WotGNgXka8A8gP4SwKQOHS2fugoxDxBTvTX/CUDZxtIGwKDOZFD9F6jdzHoCqDuXrDvASLOBqD8VVXXC7PRSC2C0Od3bCLVZAfLb8mYAeA8cKldmd9YvBd2DyRRwGPheoMYBOwy93EiAyisxx38NcB7YCywFzhjbzPRKY3PVANbDTJix8AE4WFGEd2sBZCG6AJQZNqwDYD8wAPwKqOxDLNQGaM/6uXNB1y5nPfaBXgC8/nlhy2RORhsNMANM+GIyYNC/X/J2Bk3cA67kAN4AxwJFGAFbkU1pbK5RBTABdhH4HDgdDxncBx7mPH/hARYDjWiXoZnfAwCQb5XMnmgWRAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(5)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjoxMSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MTErMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MDU3MTYyMzItOGJjMi03NjQ2LWJlMTYtYjQzNjhiZDg4MGMyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjA1NzE2MjMyLThiYzItNzY0Ni1iZTE2LWI0MzY4YmQ4ODBjMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjA1NzE2MjMyLThiYzItNzY0Ni1iZTE2LWI0MzY4YmQ4ODBjMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDowNTcxNjIzMi04YmMyLTc2NDYtYmUxNi1iNDM2OGJkODgwYzI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+nsy67gAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABXUlEQVR42uzXvUocURgG4GcNKxhW0UJsJG5ItDN4Ad6AlaVlDEbbLEkRDEFZQkIiyjY2YhBj4UXkAtKm0MqgIIhkA1skrCD+MDanWjzsLOwSlBkYmJnznsMzw3cGvlySJP7nkUuSZAZLGEAfLmJZdOEwXD/BNWJv0I1/qGEaRzHAa6zhDH+QjyyYhHM43J8ESC6Sv8QQHmIc+zHAO3zELL6l+Gq/cY5iiuwcvjYDLOITXmA7xaLVABhJkX2JzWaA9/gQtFttBixgA8+wFwNM4U0oxB9tBkxiGc9xGgO0unNaAaTahhkgA2SADJABMsC9BRxgtEnmcycBZYzh7y1jXejHblYDnQTM4xHqkR6jF987CfiFp00yXzoJeByakqvIeB7VO1kDrXRGbQFUUArFlKAQntdDMRWwgrcN835iIlKED9CDchpACa9wHOmOi1jFesO8nQCoRX5Eg6jcDAA2K85ZChxVOAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(6)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo1MSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NTErMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzEyMWVjNjYtMzU0ZS1iNzQ3LWExZTItMzFkMmE5YTkxMmNhPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxMjFlYzY2LTM1NGUtYjc0Ny1hMWUyLTMxZDJhOWE5MTJjYTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxMjFlYzY2LTM1NGUtYjc0Ny1hMWUyLTMxZDJhOWE5MTJjYTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MTIxZWM2Ni0zNTRlLWI3NDctYTFlMi0zMWQyYTlhOTEyY2E8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+UdCZaQAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAB8ElEQVR42uzWMWsUQRjG8f/zTpKLRbp0aRSt/QR+AEERBEGyuXTa2ZkUgjaWbsBC/AZ319hYiYVt6pDGQrAVgqUg2dvd97XYPbgLEQO3uVjclssu85vhmWdGEcFVPloCloD/BrC/O3xP6AYQwFiu14IjM8fFUw89aP+ZV7wCHOeD7MUsoD/6CWxOvnKr74E+qUogBlLsdDjx7/kguzUL2BmB2AAR+LjqFYXcSKfroEAWG12NHsGvg2HGeQBaAPXaGLlhRW8CoEMA/wRUvaIBnK4DYMkvHyBBIIIgUo2FsCqBBd5hAM4F7O2MsDbiAc3gQFKDKd0g1A2ACwAEDQAIc6rQ4gFpClBeNmC/PzoW3G6zXhC6r+CLFITiXaBnHRTRZAaH+SC7cxbwGbjevFRUK+WTgEMrV5F4JUW/wwweHQyy7b9sQ1CIau2UQNNFtKgeaAGrRQNYfBFd0Qrs9YeYW4sIyqmjy0PIHCmmcjTHFnAjH23PAp73h6Q60aaesk4NYKXC3RqA+fxbMXRBgFsDSPXCANdSnTZbwLh0OzkD2JK5CMWcAMPtJB9tj8/2QAFam/SMux4CH6VA4gPwqMPz6Ec+yLZmQ7g7fGmhm6GwIH57nd4C35I5EXoscVcK5r9CSgRf82H2ZnkrXgKWAIA/AwDs1X3Q6rZ7igAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(6)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo1MiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NTIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NTY2ODgyOGQtYmUwYS0xNjQzLWJlYzUtNTJmNjI0ZTFmNmQ5PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjU2Njg4MjhkLWJlMGEtMTY0My1iZWM1LTUyZjYyNGUxZjZkOTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjU2Njg4MjhkLWJlMGEtMTY0My1iZWM1LTUyZjYyNGUxZjZkOTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1NjY4ODI4ZC1iZTBhLTE2NDMtYmVjNS01MmY2MjRlMWY2ZDk8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EohvJAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAA9klEQVR42uzWoUoFQRQA0LMiguE1m0XR7Bf4AYIiCIKIRm3+gKDlRYtB/AObxSQGq1leMQhWQYyC8Las5YZ1eO0NaLhb5i5zd/bc3bvDNl3X+cujSUAC/hPgGsvo0GKI55g7xnbE04pnMcJpCfjEQi9xE/cR3+CgYuFvWJ30CgYxthgXFw0qAr6yCROQgEmAEdYiHmMLj3F+hZMKG1ET4xPWS8ADlno3OYpEOMdhpaK72GH3swcSkIASMN/7H2jxUeQuxnc8rXgm1m5LwBhzvcQd3EV8i92Khb9HQb8AZ1gJ4Tcu8Rpze9io9dTxgotswgQkAH4GANY3h8FgPEXgAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(7)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAAEEfUpiAAAACXBIWXMAAC4jAAAuIwF4pT92AAA54GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMDktMjNUMTY6MjQ6NTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjoxMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MTMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NTM0OTIzMGMtZWQ4NS1mZDRiLTgzZjAtNTZkNjAzY2VlMjg4PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjJiYzZiMTNlLTI3MzYtZDM0OC04OWI4LTE0NWNmNjdjOWI3NzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjJiYzZiMTNlLTI3MzYtZDM0OC04OWI4LTE0NWNmNjdjOWI3NzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDoyYmM2YjEzZS0yNzM2LWQzNDgtODliOC0xNDVjZjY3YzliNzc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMDktMjNUMTY6MjQ6NTQrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NTM0OTIzMGMtZWQ4NS1mZDRiLTgzZjAtNTZkNjAzY2VlMjg4PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE5LTEwLTI2VDE2OjU2OjEzKzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PkEzbJ4AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAACcBJREFUeNokyqERgDAURMHXITNILi1QBwZ3nw5y2JQVAz0gWL206rTqyJnLMUAOcnZVkDus50DO064gZyLn/dfNVjcfAAAA//+C6J+4TCZy8nIGuBnx0xZCzVrCwBAzeemU8IkrGaImrmCImLicmyF66hKG6IlLGeKmLmSImbSEAQAAAP//LM49CsIwGIDh92xuilMRa34qOHgTQUTQ5ktFNzFJjVI6Cb2CN3LVxecED5ULVC6wdDeKY8/CZwrfoyWh5d+wklifM2X9GJkmUZ3iZ3boUJLBStzYS8A2kcluwLpI6TPK35nuX7ByV+Z1h5EW49N3vB3Qkt+6aVEuP38AAAD//zzQMW7CQBSE4Slzj1wjV4iIkFhsvyWpc5FEERJ4961NhyJ732KHCAQt4jCkSEtHa4rFlNP986G3SLgBOf+XmOYw+Nhg8LmNv/pIZdrdhGuM8jUyK9098oaHSVEhs9LvI7GPEMqsoV1AalYzcoKx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) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(7)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAAEEfUpiAAAACXBIWXMAAC4jAAAuIwF4pT92AAA7qGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMDktMjNUMTY6MjQ6NTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjoxNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MTQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MGIxMWE5OTEtZGU2MC1jZjRiLTg1MzUtYzg4NDkxN2FmMTg4PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NTA3ZTlmNTktZGRkYy0xMWU5LWE2MWYtOWZlNmQ3Zjk2OGYwPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6MmJjNmIxM2UtMjczNi1kMzQ4LTg5YjgtMTQ1Y2Y2N2M5Yjc3PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjJiYzZiMTNlLTI3MzYtZDM0OC04OWI4LTE0NWNmNjdjOWI3Nzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxOS0wOS0yM1QxNjoyNDo1NCswODowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo5MjM5NzRjYy0wOTliLTQ2NDItYTkyNy1hYzI1NTlmYTBjNDc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMDktMjNUMTY6Mjk6NTkrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6MGIxMWE5OTEtZGU2MC1jZjRiLTg1MzUtYzg4NDkxN2FmMTg4PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE5LTEwLTI2VDE2OjU2OjE0KzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PjK2gekAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAAzhJREFUeNpi+P//PwMUP////z8DjJMLk4AJvIGpYvj///9bJG0MAAAAAP//gjFk0AVQVExBEuDGUAEAAAD//8IQIKTACUp/Q1bQQooJ/6H0cSi9EgAAAP//Qlfw6P///7txmbARi0k4fbEXm4I+fI58+////3lIEg//////DJsVC5Dt/////zd0Be////+ficS3YUDTwfD//38OJLYyAAAA///C5Yuq////R+AIRIKRmYknag4QmxoW4xD/T0pyMoAm9ef///8/RSix/Cdgm/T///9XoMk3wEL5DR5XvIPSSTjkzRn+//9fgMeAHnwxgC6Yj+TnKhwaTv/////F////L8PEAAAAAP//nJQxCgIxEEUXtrATbCxsbWwEwUoES7HXwl68go0n2GsIgmBr6Rm28AAiirgs6wkUn80EQtjJRoswhCQvmT+Z7xNxK5tvwDC04zRRe8AhFHBWoAsgDgFcPWntQgAXD2AfAsiUw1Og9q+ILSnhT9Z6lNfkwKyqjLGI9xAvqpdsTuTbF7Z/RUC/xPHWwKTCTDCAt/K8XOLck2YSAQNlsQ00jb0qo4iAkbLYARrA3QN4+lr1JXHsOLE9VsZt3EbZAF1r/imB4P6DVOp+Um5bih6Z7Rdf1ssflMIwCuPdkZK7uQuK6yv/orAZZGKQzai7WVjEdEvpZiJGCwazVWQx2ZgMLLKgbqQuyUI/y/PW7ev78x69wxlO7znPd77znvOc8+bO6Jis6MvXYrJxRboInOnsyILpazgm8GkP23bZroYKoEuA3cZsNYBKiAC2Mu41S06AixABlIFfoMMYwFvOmmCqgSldw6iHbUG2tZBF6KQm8HNgQVtyScR3rLPTUF1QBiZFSWk2w8pKa8p5jzD6fQKYEDM/AmtyKiqQZeBOfzibEVAf8CH+rAJDwugVxn28nZtpbd8zbVXZtySMj0tPjG1hFNwQ3zTWwhLw2aTfJG0MObIB1N1zLTI6F4E6MCD9JedqkiRyj8AnYM/ovC6mc/qVZoEFYwd4dsqXWsvH8TBlBt8CDwaW/Il3Qac24YbeuXPAiFK7qyJ7BwYzgNtU6d/AATAvjBlhvEqi/xJRcPkbALl3mQ2vYYnLAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(8)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTozMiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MzIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ODgzZWM0N2EtNTNlYi0zYzRkLTk2MjMtY2NjNmRlMTY3ZTU5PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjg4M2VjNDdhLTUzZWItM2M0ZC05NjIzLWNjYzZkZTE2N2U1OTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjg4M2VjNDdhLTUzZWItM2M0ZC05NjIzLWNjYzZkZTE2N2U1OTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo4ODNlYzQ3YS01M2ViLTNjNGQtOTYyMy1jY2M2ZGUxNjdlNTk8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+YIkhkQAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADJ0lEQVR42sSXy4scVRTGf9+p6s6AZOHKpeDCvdnE7CLORrOQCKL0TIK6EmZGTUgMLnyA+CAPRjpK3GlMjwPiCwniInErohuXPlDQf0CI4jzq3s9F9YwJ2q/qhrlQUBS37vnd8/juubLNXg7dDPDeEydobWfCfjTLhwTC5CltBLANXKvK8svjl1cHA1x+/ES7SHmlyD5vzXqnUBXx8LH33/x0IMDa4spTQpcsfrJ5MsxWfwfTjAzej/gcNNfpdYuBAB8srLyFtAS8aHhFM0sPg/gEdLTT62oYwAWkk8A54Lndf20sNTcOIF0FjowCOId0CrgAnNqJXQohTGQYKzf8nxeQvgAemAhAhhxis13Q3qoo9gJgs12QQuxrBHBLCCYHsERV1PPLlN+NzCGLUQiW+QH7KJB3gZsAgFGudchRXAWO/N8eb16vDhvfpYiD4FxWuZ4djQAAp7qUaY2w/a/gbLfE5r4WZZWZ26jqsKkxAMgJqxgTwKQisEoiV0TOdQk3BZD7WhYeW/isktZ2iZVIRQU0BTBEPwdy6HWkA0AakYMFxM+RYgWcc6QpqgB2FVD214J7x3TDL8Z3A2lXzpuGYKtdkCJob1WUVZ6ztD3CeMvyRo46fJGnEqI6oTbb5Q7AWGeCZXLUxqf2QF1WgbInAthNYKYE2Cmtxqehm0nxKnASGzSD1sgG8RnooXH7gdPY54FAum1GTcnHoPlOrxvDAN5AOgP0MH8glmfUEt0A9gOM8sBLSC9TaxeGb4HfgbL/aUK360/DQcFdfQ2/1Ol1l8YCyGJe2debZUC9ZpaQ9L3Mndj3gH7trHUHt+XrCytnQadzqFcFx4qUx29Cbl12x4f3Ib4yXgbelsVQgN7xp1+LzPMWZ5N0RoJIk91L6n4ggAKRHgn7wwzzpvbmQu8iQ+4FzxwWvga+gXW7JazM5O25ASEHwn+n0DcpfLjIZvHKEID1zjKWHkNal/kxSy9Y+Te5v+Lk96G/gNWA+7P4yPDO4pXu9SFJuNQ/u+PZvhjNfIwow6V+DAty6EBkPxj2Ha57gCb3JAEb/acANjprF18dCLAX458BAPkhJt8MEBV8AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(8)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTozMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MzMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MGM1NmY1NTEtNjllZS1iMzQwLWJmZTEtNTgyMjVmOTAyNjk4PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjBjNTZmNTUxLTY5ZWUtYjM0MC1iZmUxLTU4MjI1ZjkwMjY5ODwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjBjNTZmNTUxLTY5ZWUtYjM0MC1iZmUxLTU4MjI1ZjkwMjY5ODwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDowYzU2ZjU1MS02OWVlLWIzNDAtYmZlMS01ODIyNWY5MDI2OTg8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+ypyUIQAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABtUlEQVR42uzXv0tVcRjH8df1lgjR0NQYNLjXUm1JLtUgBVJLi1NQQYQlDqkg/SCNlsS2FiGIsoiIhmqNqKWxHyTUPyBYKIr3tDyCHLznHLxfk+A+cPhyhnOe9/P9fvh+nqeWZZntjFoTgDM4ghoaLebowAre4HUZQCcuYXKLCj6NZ0UA5zGNbxjAclTQSjSwGy/QhXoRwH1cwAjGE1c/i1NxrE0B7uIKJnAtMcBLnCwDmMBggAwmBniF422AVgAerrsbiiLDlxBcIyXAmojWkmx4scX6CYdSA7Q1sO0At3AQqyWJ6vgenpJUA+9xuGK1P9Cdg01yBF1hrUWxE0ttEf73APfCllPGc/RV7QeuRlvWgV2JAJ6iN99h5QFuYwgzmMfFRMkXoi1TtgOjGFv3/hG/sKOCC24Uv8OU9oeBTUfLVwmgF28TVP8Z+3AAc2Vt+Z04/xmcS5C8B+/iKKeqDCY3MRwgQwkA+vG4aDfzAEdjglnAnkQCXMSH+Hel0ewsHuErruNnCGgzIvwTd8oxPMGD/E40mw0vx4dbMo9WARDefwJ7w1azTSZbiqce642qAP8k/g4Ar1Hawc14N6sAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(9)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NTU0ZDkyODAtOWYzMy03YzQwLTgzYTUtOTNmNzY5NjE3Y2NkPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjU1NGQ5MjgwLTlmMzMtN2M0MC04M2E1LTkzZjc2OTYxN2NjZDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjU1NGQ5MjgwLTlmMzMtN2M0MC04M2E1LTkzZjc2OTYxN2NjZDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1NTRkOTI4MC05ZjMzLTdjNDAtODNhNS05M2Y3Njk2MTdjY2Q8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+tTvJKAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAEwUlEQVR42uyXTYhedxXGf8/53xlRixJqFmkitCAWPxbtqhEX2u6kLWqTaJPJV7MpJmgTol34ERDdyFA6VhQ3OkkzmVCdadMsiiDiRwVFW0kDYiRdFaVVqFVpA817z3lcvO87H3EYUyp0k7u73Jf3/M55zvP875Vt3spL1wCuAYwBjhy/D4Cu6yGKqkAylkFsDbMV+BDWdcgXgWdt/dJR/1z+MyFrfIOAsqjRs4gi+47Kxsx9P1wfIDOI8EbEQeFDoI1rNHCmVA8bfqX/N0BVfD7Cj4wKvQo8CT4PXMJxE/IdwC0Axj+2fFTWBlkfB25AfknwTFm/vjqA2QMAtIkBEfUo0h6bi5hDJf9UwKg3XAIZo3dKHBM8uI7MafwVV3xrfYC5PVBBi5qNrvZXxvcwhyKKHBUfA+RgAlt0EwOQT4F2jatZdZfgvCo2l/gIcDRgs+E57Nuzn3ilKv4b4IG5PXRRn2nBYznoTuSg2z8xeRmNAGKsad9RFcNpdf0FiZtT9VnJz7eKZxMt9hnbu6ihlNlo8kE1f9fmL3l54sbKljMHfrAa4OjJvUS4V9SlynhXVdC6HgEJONtwyTT8fbT8EWJH9t2UlfMIZB1r4a/3pU+V9eQYejS5bdFqoSqe6vu4c2bfidUAD56e2ok13+MpR85LYIuogIqlrgEkv79r9eeSHx/0sS0EHtm269KU/oq1hShcsSzZ5OBEdLk3U7c8NDX33CqAL53a/RvE1szQUiHAQ2Fh1LktWsvZCO/Pvr0HeBmZksEixPEWtc9mk+AlA1mBh+DvaOHXqFiYnjq5YzXA/G4DFzAfGBeWjCsoa9kBQIRfddTrxtevDCAPJbobcRbYjlkc6lXLnnC8gNkyPTUXawEsgrevkZcr7wJHAk8Z38lKh8jYuhX0B/ARYIbxBJfHugBsm941p7UAFsA7/kd8B+hqAA4D336jAH8S/uDKalclwUgGI4TvBp0Fb8daRF49QccLWFump06uluCLp3b/VvJtme2KJRQ2S/a7Ygmvx/wDMXSJRXQ521rux9wAvGiLtMY79fYWvkTpiempuXtW23B+aidovse7HHlaGh4kMbJiZVu5Dzd3XV1Ie7GXt0c2QgZDBAn83aVNRIFFXp4c2/B4tNyXqlsfuvf0uSsOo/20iXRE/bsy3u0K1PXLp1o2WAERLRcU3pbmXg+6x5gcEOGvRrZv9BWfLnOmtRxOsQ8IPtlanamMn/QVn5jZe0UQHX10L9HlTon5yjZbfTsQEwPGXSAji8q2NI1ucnBR8L7M2AFcbF2eK+uJTN3TwtAKZxDW/Wr1fcOLOejeW323dhRTQq2OR5f7XPqOrS8sAYxyAQtXo0pESxSex9q5tGP4Lsnn5NhcsBU4HHCT4Y+WP1aD7uU1T8PDswfAopt8HbU6hWOX4QL4c8AvxkvJ6DwoGbK9jahjQl9ez7dlvob1TbWkBhPrvJBYtMnLwwS0Dit4eJjF/At8BjiP9RpwI/LtoNtGNR43PgLaIHMH8iasv4F+58inq2KYlm8EoIYj34jjAcFBYMOVndmclXjE+Gdj48ojp1hDuVryZgCG+Q4fxbFVqg8D1wHP2/p9WT8P+ZXloHkTANe+C64BvFXXfwYARCRc7o9UqUkAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(9)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NTQ4ZTZlMWYtMmNhNy03YjRjLWJhYzgtNzliNjkwMGJmZmM4PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjU0OGU2ZTFmLTJjYTctN2I0Yy1iYWM4LTc5YjY5MDBiZmZjODwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjU0OGU2ZTFmLTJjYTctN2I0Yy1iYWM4LTc5YjY5MDBiZmZjODwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1NDhlNmUxZi0yY2E3LTdiNGMtYmFjOC03OWI2OTAwYmZmYzg8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+11C96AAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACZElEQVR42uzXWYiNcRjH8c/MjSzRNFyYoWZKZLngCrmw3AlZx5olN0IYKRe2EjeubJG7McoIYywXUpK1yBZTMhpXIktZQyk6bp7R6+09M2cwTWp+deo973Pe///7Ptv/OUW5XE5nqqgLoAugQIAx8RmOXmjGPVzFh44E6IdVWB3XaZ3BblzrCIA12BfXn3EWjfiKSkzCyLCfxAaUYALK8Ap3ceNPAI5gcbh6NS7meb4ntmFjK3v8wGbsKhSgBstwMDZvS0exMPF9aniqHGPDM+V4iIl43xrAXBxHbUC0pSYMwTw8jcQ8hTmp363CATxHRXglE+B7xLh3AZufQBUWoS7ubcN2zIicSWo26nEeU7IAFsRCyQXzaTCeoCEWTiqHFxiQ8VwtlkTyPkwD3IxaLyrg7VvypC/epmyHsRT9oxKS6oEv4YmqNEAuYjq0AIDP+IbSDNs0nIs8OJVhfxbeKc4CyEqgtIojiX6LZUKjcB/rsSfDXh9hK8oC+OWafwBQjb3tBXiMYZ0VglsY3c4kLMW7PLYyvEzZukeZn8asfGW4EMfaABgSCZuVMz/wJqpAngoZhQdZjSiHT+hTgBdaYjk/uidswQ7MjJMyqelx7wIm5+uELV6owfICIJoxKBK3Od7ql3sTWoFDEZKBrbXipJv2Y20BEHUBnjyMHsQBNCaqoRKPMD7duPIdxy0nXBNW4kqezbtF/9/UBuRW7GzvQFId0w58jPg1RiutiKN1dNgbovGUxKDSH69xG9f/diRbF8dpSYb9XExNlzp6KB0X8RwRQ+lT3MHl9IDR9b+gC+C/A/g5AJPi9MEZTI8XAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(10)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjoxNSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MTUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFjOTU1ZTItOTlmNy1lNDQ0LTgwNjktYzEyM2Y2ZWQ4Y2U3PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxYzk1NWUyLTk5ZjctZTQ0NC04MDY5LWMxMjNmNmVkOGNlNzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxYzk1NWUyLTk5ZjctZTQ0NC04MDY5LWMxMjNmNmVkOGNlNzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWM5NTVlMi05OWY3LWU0NDQtODA2OS1jMTIzZjZlZDhjZTc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg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) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(10)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjoxNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MTYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZWY1NGY4YTgtNWQyMC1hMzQyLTg3NTEtNDk3MDkxOTdlODljPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmVmNTRmOGE4LTVkMjAtYTM0Mi04NzUxLTQ5NzA5MTk3ZTg5YzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmVmNTRmOGE4LTVkMjAtYTM0Mi04NzUxLTQ5NzA5MTk3ZTg5YzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplZjU0ZjhhOC01ZDIwLWEzNDItODc1MS00OTcwOTE5N2U4OWM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+1iJoCAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACbUlEQVR42szXW4hVVRzH8c8edCLxUs0Ig3gpwodIfaiHiRKlhwEfxEQbRvFFIkOEYQjCCgmqhzEJQVRCGK0X0WG8vAyIRYQoODRIVwQRFMVSkLyQKN6G1ct/w0acOWefxnP8vey91tp7re/aa///v7WylBJsw3o8o7L+xS58bByUpZT2Yg3O4gaakaFplGsLWrEJvY/0NxkPcK8MQMIJLCoBfg4z8GyhrhMDcX8HR7EHR6oBGEBXCYAhzI8Z53oVG/ECXsHLUX8G3fhxLIBBLCsB8AvmxHKMpla8j81R/gKf1xMgVwv2YsnjIOoBkOsHdGAB/mwEACRcxIuNAujGdrRjuBEA+Vfowwf1BpiKt9EfyaoHgzlAP1b/zzxQSZNj/Z+PjAotOcBwrEu1Oo82TCr5+TsiGmAlDmcppQN4F6fCC7IK6zczMl1v+EFZ3cBz+ThZuOE3kbUmVtHB7XDDj2o0wNUxia+LAA3TUwWwHMdws8a+NsSmZhpGxniuCXfxHbbkAM2xifgEW2oYvCd2VddwJQYZTSMBORt7coDP8CUuRUNZXcf9CM1q9TsWZCml+fij0LA9ZlRG13ABr5d4px9dWUrpzcgDH+JXfIudJQH+jvieV+KdQSwt/oQJJ/FWDUswLgD7sapCJnyiADPjJ9yNdY0AgENYgTfwcyMAJkRITcFiHK83AMyNgduwA1vDx+sGkKfLfYXDyhB+iutl/BZRk+sq/sJrJQAG0FnJjNrxKd55pH46/imUb0X5pRIAJ7CwWjfMovNZhXzxsND+VZyWT0dGHGtf8SBOTe34fjztuA/vVTCiog5i7X8DAKeH/ztNK3T+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(11)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTozNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MzcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6OWFjYjVhNzEtMzlmYS1hOTRmLThiOGItZjg2NTY2YTFiMzAyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjlhY2I1YTcxLTM5ZmEtYTk0Zi04YjhiLWY4NjU2NmExYjMwMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjlhY2I1YTcxLTM5ZmEtYTk0Zi04YjhiLWY4NjU2NmExYjMwMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo5YWNiNWE3MS0zOWZhLWE5NGYtOGI4Yi1mODY1NjZhMWIzMDI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg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) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(11)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTozOCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MzgrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmE1MjY5ZTItMTAxYy00NTQ2LTkzNDYtNThiY2ZlZGZiYWFiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZhNTI2OWUyLTEwMWMtNDU0Ni05MzQ2LTU4YmNmZWRmYmFhYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZhNTI2OWUyLTEwMWMtNDU0Ni05MzQ2LTU4YmNmZWRmYmFhYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYTUyNjllMi0xMDFjLTQ1NDYtOTM0Ni01OGJjZmVkZmJhYWI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+Z3zfQAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACbElEQVR42sTXWYjOURjH8Y9sZbI0JZHRmCgxLiYZ24VGKOtITJFkwuBGuZILqbngikhZGmsaS8jOhcSFsiYZjK0kS0rIXMg+bp6p6WXe+b/vbL+r038553vO83uec06n+vp6WWoYyjERhchBNRZl0kmnLAAKcQYFjZ69xGfsxJ62BFiHjdFeG4N90gJlArAyZngPY/FTKygpwBA8xyvka0UlBdiNCszAxY4A+BpL3lsrKwlAIWpwFAs6AqAMx7Aa2zsCYFsMPh43OgLgHoqQG8WmXQG64TsehRe0N0AxbkXFW96WAIOQh28p9b0Cm1CJLVGQGqtL/FODPy0BuI4JLZhIEe63BGA0RkXBqcfvaO8N8y3FF/T4j0fqcDa80qoeyMVHPMYIbaR0AJNxOWEFzMFwPEi4Ev3RFx/SAawP85XjQDMdTotN6hxmJxj8XZwjNqcDOB+7XzHuJJjVcczDKcxt4puBkTF9sAyn0wHUoSe640fCkO7Aqgjd1JR3g/EUXQPwVDoPNBxAbmNMhr7aF2G7gJnxLA9PIosW4khzJpwVqbUVa7Iwd8NKHI5zZG0MXhr9NpsFDTtgWcQ2G1WGkUVdmYKrSdPwCiZhJB5mCTAUz6J9E+OS1oHO+BUmzPYINiCWvVdk0OhY+tIkACOjoFxDSRaDF4ThukZanmxkzH+y438Ai3EQGyKOmWhQlO6cuKJVN3p3MPo+HyZvEmAXVmRxBM/HiwjhnLi+paoqCtAlTG8K4G7sjHl4k8FFtTba83Eizbf7sSSMXpUK0A/v8TqWM6lKIr6lUYCaU1VM8lAqwAC8jZvQSu2gvwMAdWnjL54XeQgAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(12)>div.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowMiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MTYyZTczZjgtYzU3ZS01NDQwLWJjZjQtOGFmZDA0MGJhNzg1PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjE2MmU3M2Y4LWM1N2UtNTQ0MC1iY2Y0LThhZmQwNDBiYTc4NTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjE2MmU3M2Y4LWM1N2UtNTQ0MC1iY2Y0LThhZmQwNDBiYTc4NTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDoxNjJlNzNmOC1jNTdlLTU0NDAtYmNmNC04YWZkMDQwYmE3ODU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+n3pS8wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAERklEQVR42uSXa4iUVRjHf//zznrJtBtFVtKHirQrrFG2lZgfSo3ALnjZcWOKtiCJkCgxC0NIFgsJLD+ksea6a2pKimYgZSCmEV5CQQ36EElSSYbSRWfm/Pvwzu7szoyr4S4Fvd/mzMM5v/M8/+dyZJt/89N/BmD5qsbOtQwOXwD3dLP7C+tezO6ulRDL/1qXAIsR2dLKUUwzhcxmYgBVXzKXa60BYIE1AbHFeAGwGRgh9CHWEiIzSWLlXuNA20okm7C+QTyBPIJi8g755HnEOQCsngYxXE4MHyAmIi8DtgPDsVqAE0RNIpPfgYBiAnAl6CiKJ8HXGf2imICBEF9HzCPqGWBpFUB2ZQVAR/Ym0JfARcD3wFVAXcn+x9L6EOTHiFpPDBDie4hmCsn1yN85U0AOEAUxQBL3EOINKA6tApi2qgKgvek15PmYBss7gaSbfRELISNvwUxKNaATxHCAfNKAgLp8pyZKCqMJWAG+unSJMkBjexVAC/Js8CjgUA/ZWMgCcRzFg0AD6W9j2oEZnXYOPTRyv9DnmNHAnt5D0N70BvIr4FuBA5CGsuvw1Pp35K9T4aULWOswj5dZ3V3144U+A1cD1PBAFUCXO88foB7Ye64hGAkcrsqbGED8SoiHwXenUH0J0JGdBVqEaUb+CLgGKAAB+BO4AHSAGNZgppIU0yg59BnAMNBW4M5ea6e5A2t3KQv61ANgDUJMJGoIMIjgpcA6opYhDyfErcCRcqr1PUAp3sJJzAjlwbOJYSEASbFs0+ci7MjS2TicblAndBo8F1iAlTagswAQYmriXgBkctM7anvAZfqeAGdoprUB3AnaA8CASh6qKsWtHdnK3c8DoFQNHdJKiG+zvB8LCVDsV4AZiKeBn4Brse6yvB34TVYAv0qI+/oHQDQS3I4BqwgcB38LGgUMRc4AeeT7ctPbv+oPgPXIkzGhp1hLokxiPWg31vxctm1ePwB4E2IsUcNqmSKPBB3Easll2+b0B8AGxANEDa5xOMAtoP1YC3LZtrlnAxggdOqsAPAx5pF0PqgA6Ezpcmr/I4DBQn+AXwLeqn0+ppispagpJBHkTxANRF1caxJGvhF0CGthLts2u7oQ1b7hIsyLCKzYfcDNYOVxWIKZSYggWokhhxmDfBK4sNtmR5AfRVpMIbyca1rx5pneBd2/XTjczOm6oSRFXJdPp6O0ZD8M2gieDGygkElFlinuwxrYy0tkJ2ZCrrH9RE+AlU21zMeReBtFrcZMc10BxQAOlyIfwxzDugKA0wNShw08BdZOxBjMs6VhdDxiFmYOodhCEslNWV3RC1qfqshbgSIMzL+A/DZWAbwGcRnWg8hQSOopZPZ2dcqkWEp4vYt4DjMV+AF4CDEXmAj+FEFuemU3XP5kbQlkCgC3I94HRpe63EagmRh+Lrk+HcnLTagesQMY1O1Gu5DHAnmguhv+b1/Hfw8A8lTR38QmejsAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +div.blocklyToolboxDiv>div.blocklyToolboxContents>div:nth-child(12)>div.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6OTllOWJiZDItY2ViNC01MDQ1LWFhMTctNTczZDNiYThlYTgyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjk5ZTliYmQyLWNlYjQtNTA0NS1hYTE3LTU3M2QzYmE4ZWE4MjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjk5ZTliYmQyLWNlYjQtNTA0NS1hYTE3LTU3M2QzYmE4ZWE4MjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo5OWU5YmJkMi1jZWI0LTUwNDUtYWExNy01NzNkM2JhOGVhODI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+Q3Jt1wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACqElEQVR42uzXV4hVVxTG8Z/dsUUNiholDybELmiwK9EHjRMCRoOKDR8soASRYMRGwoDDoCKCiQ8WREFIJlEyYSwwWEBsiI0ELJAHURQLKiPGzvVlDRzknut1mGvmwQ2Xe/Y+66zz33uvs9a3G2QyGf9na1AfARrjCIYnxp5gBM6k+GmHjZge/ZuYi721AfgS+1EaDrrhV2zCwiw+vsDhuK7EBcyK537Gd28D0AE7MB5bcRSdUYZqFONYwr5TzPYhuuNO4t5P+BHzsCUfgF44jg9wFV3QJO7diPGWmIQ9Mb45lvoT/JvF/1l8itb5AKxCCYbhBBol7F7Gfya2pzj61fgnnsnWZmInPopJ5AQow1L0xKUUh/dxMfHCDHZhRor9aBzCwFiNnACrsRx9Y1bZ2iOcjsCrAdiNb1Psx+BgfQAYgHP5bkEPXE5xeC/uDS0EwGKsj6j+A13xAg3xGC1iZcoxpRAAbVCFQW9IXp8nMmKdAkDzSEIt43pLvGBrJKQqXE/Y1znA6zXhecTFmhSbggI0wTOsiLrwHqA2ADWZsB/+flcAMzAHt/AxBkdVfRCf9EqcLxTAtKgNNQXsPq5EfWmdCOyROFUIgD2YEDPN1gZEDikJrVDnAJUYFUktW+sR1bQMywoBUIGxKEqx7xPBWBp+cwI0xdM8AP7EN4UAKMJ/WIJ1OQB+x+To7wux0jbF/rMQO2siw77xXJCJCvl9jlSdVMvbMRtDQqi2Sthfx8SQ7z9gbT4AJ9E7RVR+jb8i6isSQXYezXL4PBHSvzofgBrN/xumJsbb4278Oqa8ZAjmhxgdE3pjWXwBb3U0W4QNIU7K8SHGJb7rbDn+FywI4XINX0XQjceB2pwN+2NbiEux9HNxO0fCORaaIrmdoyJu6vfh9J22VwMAm1ky0Ekp5ZMAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catOnBoardSensor.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA5pJREFUWEftll2IHEUQx/+1u4nE40QxomgeIvgRURHxg0gkXNCHfKlLphdyoMI9SHKZuQuJkpBsrxnZ3kOJD+Z2dvFBJCLGmO29u0Qw5CEoImIOAkcgGDEqomc0D34h8eP2pqR7Zo8J+eAge7sv2aee3uqqX1V1VxWhwz/qsH1cBbggAuUdzhKk6WUi3uMV68dakaLyTrEqlcKjwPQBV41+mdR5HoDv92QWNhZ+CuAxI+Qp3ZIUBXnnOxAtBnCcMrTW9Ws/NyHOMxBI8TaAPvMnAb6r9CstiUBeVIiwyepiPtI1rzvb5+/9J7YTmQik0w9QNdrkD1xVX98K40bH7pee61qw4O+DYDwRQeAtr6RfmAEY9lddl2pc+wVA9wA4MS8MV24YGjnTBAikWEsZOuX6tdOzgaoWcg9xyEvckn6vKV+WudvB4SEiui9iwIoBpT+xKShLJ08gZYWJN3vF+nDzYFWKvhAwqcFUpnHDFn/s98tBvLGz9+ZMairKcYgnvSF9tClfKYjnmfFODDAyoLRjAYK88xWI7gL4h1Tjmgc2vbrvN7P/pnTubIDGAVwPYMJT+sHZRCCQzjhAjxjZ/zJ041a/9msimocBrDTf6TB9P5Wl6CHg41ig7Ck9OEMsc6MMzkaRQa9X1PtnBVAQ68F4P8o37/VKdXuxo2iLPoojSsBGCvJiDwjWKIdYPTCkDSGq0smGoNH43H5P6d6k8UpBHGDGchBNE3B8mqe2DKqxbxKeGgB7kQlwXKVHzHp4R+6mVJrPRnL8LiXDlXz3QV5IEIpWAWOZW9KfJ5TzxSKRZlrUX6pNWk8L65YRpz6zZsClAVWXifMm4j0AxmmmSBD95BVrtyVCVSdgnQXIULfr1/4y66AgxsB4JnIAp0H4F8C90SfsxTLr17Y93d01f/6fkT76yFO1NQnd+wjoBeNbCqQwirtMlfKUfjhB+SMAA3TSU9o+nQggNwnmW5P7QV58DcIdAH7xlL4loeMUgLsJOOMqbc5EOqR4HcCLAP7oLABjqqMpIGCy05dworPPkHCwo4WIGdvbXoorhdwhZn7KPlsKH29rMzJdFcCH8Ws85im91AK0ox0bO0nvifGsadczE9FcDiRR8XGqAPXbukg47Bb1artuVqe4Qs3JSFaRYhcDfmzrewop6w7VJi4AmLOhVIpm8zrHwBozCTUdb89YLp0sgTaHQHkwbsuXBEimpB3rlsz9VwJ6FeB/Fk4pyAxBTXEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catOnBoardSensor.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAp9JREFUWEftlk2IjlEUx3//stOIJMKC8jFCko9oJGLBzIjMxpSUhcLCJAsLYoSdzRAriYQxZRjKZCGSZKamJiUjX4kxWPhKIunovJ1nuj5GU955n83c1XPvc+45v3vOPfcckfNQzvYZBPjDA2ZWDuwBGiS1FSNEZrYSmA80SXqQ6vwFwMyGALeAhS4kqSghMrNnwASgA6iW9DqD+B3gBLAxftZL2lckDxwFtoaua8AaSV8Lh8wMmNkW4FjMz0taVwzjrsPMhgItwLLQeVzSpl4AMxsG3AWmAfeAFZJ6ErhqoEvS4/5AmdkcoFzSmUTHROAyMCPWlkq6WfCAme0CDsSPOkmHk40eEg+NjxGSPvwLwsxGA1mMl0u6nujaAJyKebOkmgzgITAFeAHMkvQ+wCYD7cBwoFPS7H56wPfMC9mRkt4lEK3u4ZjPlJktAW7EwhFJ2xLhi35hYl4rqbGfAH5/zoXsSUnZxXZvpx7d7AANQGa0UpITuqAbdgAfjZJqU+Nm1gQsBn5Eem2X9CSBd4DsItdIag69o4C3IXfaAXrdlea9me0G9odghaQ7iXLrwxPjJXWHoQrgdsgdlOT6CsPM3OPu+XYHyB6JV5LGJUIXgLUxL5P0OTZfAlbHumfFN2B6zAsXK+TKgE+xflVSVaL7LOAefeoArtjztEPS3EToJeBA9yVlqeP0fsKx6bqZPQImAW8kjUl0dAFTgR5JvifzwCFgB/Axb4DveYegO+9L2Jl3Grbk/RDtzOMp9oK0KhJiUamLkVfVK2G8TdKCDGDAy3E8Tunp13u5LklDEsa92fGmx0erpEr/KFVLtheoD+PPoyXr/BvAQDWlWfH6AlR5J5Q9y6Vqy7201wHebxTKcp8A6c9SfBel7/8f0EGAn72Ox+WpecOdAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catOnBoardActuator.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAABKtJREFUWEe9l11oHFUUx/9nNqUmpqmlYKXSBwUtiemLQR8igdagUNQkUpKdTatCAu7sZjYfDwZEJV82Jliwyc7sTrZUwWB3Nmvxg9KH+pAqqdFo2oClmD4VfchDVUKDYMLOPTK72XbT7O5sPnSeBu495/zOveee+7+ETXwdZzz7rASXZ5quSHQ94o3+sVF3VIiB/5PGR1z/SPVMUh3AhwAcyGF3E6ArRMIMemOXCvGdF8CvywekInSD8RqA3QDFAVxm4JquRKfTAVrO1u0qWSmpInAlE2oBagDoOwKdDSrnPs0HkhMgEHarDOoGoRSEEWJXPKh8dqOQrAJn5Bq28AaAVgAGJ5bf1dUv/sxmmxUgMCa3M2OEGWHB1kjYH58vJPD9c9RQUwMk6gGICK7mbAmsA1ANzwmAx0Ho1bxm32YCZ9p0ftTwUKK4OALiCmJX0/0QawDUsHwYhIsgDG9H8EwQ1fBM2BAigaOhNvP39NhdgK5w46MJyXWRmeY1Jdq01cyz2auGPAnCdc1rBtYBqIZ8HsCznOBaXY3d/E8AUis8yaAXdSX6jR0juQLtYXelIPoFoDZNiYbyBbe3SfOZlzcLqI7JPWAc1BSz+S6AGna/A1AH7bSeCrbEbzsBEKEzIayBsD8+u1GQgHG8gmHNCAvldi0kV0A15GmAr2pKrM3J4WqhTgK4A2BAU8xTTjbrjqfhmWDib3WvqZPdZqVl1wIE6jW/+bWTs3sA1ALwIIOvgqhf95o/Otmmx1VDVgC8oCnmMVIjnmMQ/PkDJTtKT70+/reTkzSAppjUbjQ/YUEMEvAymPs0X2zIyT5Zc7pcLYrwpeY1H6bVojisKeaRQowzAdLz20LuTpJwEozvAe7VfBNX8vny642lksu1RIyntwUgmVVErhYCvQBqGdynK7H+XBC+UPMelyT+AuPItgEEQnINJPQI8POA1Ksr0ZwAft1dLrnoRgog7OkGcaOmmM9sdgtWffQQME1EvaPe6JTTUbYbUgogItcRI753j7Wrtym+4gSRWQOpTDAI4CgR9Qe9pv3v+KmGxw/w6RUqe5A6QicOWlLiVwZVZ4qMXF7SACShVQh8QIRZsrg/6I/94Bh5dYJqyGEwntR8Zm26Ec0x6JKuRLudnKQBGLwkEQaC3tiHTjbrG5H8EwgX7Bs3BTAmdzGj/c7Sjsrxt/L3AhvAbsUMvK8p5s8bDR4Yk19ixoUE4zHDZ95KArRpr+6lop1zxDwc9MU0pwLa0mVkyCZAy5oStSVb6jZMroJ9GsCqEHguUzBsNEOn+WrYPUwQ54O++MwagCSEIU+BcC1TMDg53Or4WkkWkesg8NV26cFC4NaL0jF3I5gm/i+IrLJctSFAp8E8IyzRF2qLzxWSzfrjllTYrYLovVCO7pj7YWIcrwDEEEPUEKSPBfFEoXd+sldI6AKjDkxDmi/6dq4EHN+G9nXN4FeIqYqBKYnZYKJ5YVmLiaKixf0LC4u39+97XBJSFYMPMVBBQD2AiETWyVFv/Ld8q+cIcO+YJhWtB8Cb2RwycMt+N0rEs2S5pkf95wrSiwUDZAYNjB4vQzHKYKFMQOy2mBfsrraZOvkXImQaBwSKbdgAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catOnBoardActuator.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA3RJREFUWEetl0+oVVUUxn/fOK0kqCAaGKjkn0lSAyPQxEDKEkQhMYSEiLSySRAqqWkqNSiwEqEGNZFKMIkGOrBC0/6ZYEQ6Ehs4yEKSBjb56nvtq8frvXef+97dcHkPzll7/fY6a31rbTGOZfsO4N4u058lXRx2O7UxsH0n8ATwODAHuLuP3VngGLBP0qE2ew8EsB1HLwNPAbcAnwBfAj9JOt5xYHsyMBeYDSwElgJfA+9L+nAQSF8A2+uK80nA23Eu6Zc2p7L9ELAaWAPsATZK+qOXbU8A2y8Up+/lr6QzbRx3v2M7kXgViJ+VvQ5wA4DtVcBHwGZJW8bjuGlj+1ZgLzATWNENcR2A7fnAF8CuUTjvAvm4QCyW9Fvn2VUA23cV52ckrZjoyXvZ2z4CpFyf7wWwH3ggWSwp5TTyVSIciEckHY6DsQjYTvmcBtZKeneQ52wiKaU4rmU7STlD0somwAbgRWCWpN9rAMB64DVJPw5LYTvJ+F2UNLnQiUBE5aSktbUNG2H8q0C8WbPpUZ5JyK8kvaMisxcitZIO1jZrADwNvB5wYKukb2u2DeV8FlgkaVkAlgGfApMk/V3bpAMgKbbTCsRjwBZJO2v2JefmAQck3Z5NkhRJrAUtjaMVRwLQOFFyYjvwTRGwNKS+y3bk/TJw30gAGqfaXJpRorG1H4HtKcCfwIJRAqQBJZoPlygMAsgskcY2BpB2u1zS/RP4BNkjzlNN6SFHW5RyBGkMIENG+vxkSf/UILqSMCdJJSwulZD/q8v2c8BbwE0BmAH8CsxrDhkDvt9YEpZevwOIGKUMT1Q9lxdsp81Pl7SwI0SngEOSEsqBq6EDyeKo4Rs1mx5C9D3weTpuB+AlIEPI7JoWFICU3TZJP4zD+aNxDkyVdK4DcBuQKGQO2F1LoAk2o33AFUkZ2f7vhqWOE/7MgQ82B4ZhT1h73/YuYL+kNKRrAAUi5ZOJ9+rAUNtwos+7R7KU5GejmgfbwPUaSpcDaZcjGUprEP3G8kBEKPKdoutJ0KFXmbBzN9jUTx0HXUwyuaS9RuM/SFTa9vxSqintfNKdkl7pR1+9G5Z2vaRcvZKkuenkonKp8bunPM+9MeC5R+YusF3S+UGhqwI0yjQS/CTwTJ8Nz5V7Y6T5eNt5sTVA06ntm4HOL5fWC1G1oZPkP4N/AVYfhBdHznUwAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catOnBoardDisplay.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAdJJREFUWEftlrsvBFEUxr9zxyORSDRCKaHXqIhYhUKnMEuCEGEeCoVCi0pUEgkzOxKESJhJ+Au8glD4A5Si0Gyn85ojs7LsDmuJO0Eyt5ubM9/5nW/O3HsIv7zol/Pj7wGott1BAvUgqpHpDoGviXC9NWLs5ermOaA61hCBVgE8MHAqFwDNAMpANO2O6jNZ7VeAZMqaBNEcmCeEj90t07ySCaCurFSLx3uVgUViSm7ruhfovwE4qYtgw9X0JpmJw1rJlH3JxHeeZjaGAGwO2xMFSHI5NQXmaVczMsXnOBADxA7EDsQOxA68OOA/+kdRHMFZTVEi2gofxVFmDml/dBfcAljzn3gnSg5FoUEGul3NqAxfRscA13JJebM3PJyOAqLXsup8hQ4YfONpZksegOpYAwRaJ/CGD+x7mrkmE6LbshJCIRXAGDO1erp+kgcQPPQ4S50MWgCoQWbyNy1Og8Wsq+vz70ay7EbX6nxV2X15AkLJTCyfLWZOZKogOiwWC/bPSysezjb7x4Nee10/GstVxz4IlDzNaC8KUCDgfwEE81zW9kIVB58jd+wu5sy3HOhxrD4m8WmDEnN6WzOWiiUu2IRffVFW3LcckJVU2l8gA+gZLgALMFpGl0sAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catOnBoardDisplay.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAAEzo7pQAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB4UExURQAAAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8ao5KwAAAAndFJOUwAOEBUgPEBDRUdJUFVbXWBhaGpxdn+SlZ+iv8PFzNHY29/q8vP5+u1c/V8AAAAJcEhZcwAADsMAAA7DAcdvqGQAAADQSURBVChT1ZPZEoIwDEWrIO6iYF3qhmv//w9tbiJDK/KAvnhmSm+T2yWdokK00aKc5k9Xk7CGKJNOJGCDkc4QfQHv3U2ScY248nSnNDFEEDvVcJAenFwrlyFwPJYMArw+Q4HZFjmQVOxG+lakD5QKsKZ30qNrXkVk+UlA6gIUWIkGN3Kl5GXWPfqO6ZoNLruDMAiqn1JadDsGC2wRMO9LemnzWKRHlNkJhP24vaZC/8XQAAy7IkL/RnzesxgV4g+45Jz3ME2vWMsDrfza36PUE7XUGfAv2qLCAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catPE_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZDNmNzAyOWQtOWMwYy00NTRiLTllMTQtNTg0MjY3NTRiYWMyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkM2Y3MDI5ZC05YzBjLTQ1NGItOWUxNC01ODQyNjc1NGJhYzI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/zmC9wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADFklEQVR42uzXPYgdVRjG8f/znnFbEUWwFBENKVLEMosoWNiYoEnYL4MEtbAQoqsi9gHNrh+FYKKNMfeGZZeNNoKaJhIrU9ikEQnpUq2gRYp1zvtYzFxJjAlC5pImpxyGc37M+3HekW3u5NJdwLWA5fEikUGNpC2VsChZ3ha8D/zu1HzC9xEJGSQQpULb4EgiEtfSPY+EWrBMlIrbhiyVAFYWRjcHKAMDLhWh3bIu2HwmeAzxlGEd8iVquZoaHLD0hcwm1rcKAB8yfOkaQgnFr8o6jozbWEwxHhTw1njJ4I+AN0AA+4F1Uo8gX0oZarkvIkcEz9qcBx+klitDAt4DjvaAF4ANUg8Dl90foKgg9gmdAXDGspWrUwcApIVKBcC1lCh5QnDY8Bt4nzMuThVgC3oAtUBUCO+R42vgfpvVtJanBgBwJAZUC5SKZahBBEeBd4E/jZ+jLeccUwAgk/L1gAxCxvC4rE2JHU59lfByRN12HRIAXa8AFHkdIPvQROTrhD8BgX3AtWwMCgBIQDLuO+O1AJWK4UE5Tof8tK2zVTkXsDUYwAA3+QI9ANqGaNqDwJoRmD0ri6d+GgTwT0LeAqC2gabFFiF+Bp44tnBKwwCs7vBIMoMAVCqZgTKgaclaCAuaFjkuALsHA9iC/wVgIZocuQPPrsyPzg9TBVb3Vn/oDYBSHwKtBcw69UPK80Rurc6PByjDSJyB+s54A8BxJCI/dJeKB1zLhiMhkmEApXYX078BkTsNZyQ9StXJlF9R5Pbkyp4uQD4msQz8YeVe2uac5e7yGgrgPvvVJ5hS0NQnhb4B7rX5wNY76puT+7DcPsBcJro6V8YEMBPwOeFD4F+B551xcdKihweU7OaBDFTqftB6X45HjD+eDCS3C/jvkQwu9bF+QGgs+RnjH8FzynIlZYYAHE9508rvGgfAi7ZOdkOpUeRriE8B3JYFy6ejVKiFYQCjJWqppEVTC8AuhX9x6oTEDuRZmzWUh6nN1cm0MyygacntGbQ9A6VS7vnrTYVXsLacmrM5q6bfcGjA3X/DO7H+HgDRj5vujRlaHAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catPE_G1.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmEyZmFlYWEtZjcyYS1hYjQzLThkN2EtYjEwY2QxMTA3MmNiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYTJmYWVhYS1mNzJhLWFiNDMtOGQ3YS1iMTBjZDExMDcyY2I8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+wqwjaAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABl0lEQVR42uzXP0hVcRjG8c9FcI0wgsYQSWloqDEJgwYXk/6IFYaEOjQIlRTRLpTanyHIaqlQEaV0ESoXI6ccWlxCws1JwYaGltvyHrhIQ8O9ryC+0+89cA7f3znv73meUyqXy3azSvsA/wFwFw+xhSv4lAlwEit4gWNowwx68bsWAK/xHgvRX8cblKIfwHisr2Gy2gBlPMHt6C/FjhvxM64dxATa8RVd2KgmwAMMR38RsziK9R33duJDrIcwlg0AdXiJG1gLqNVMgKJOYw4N8SaGsgGKGsZ9/EIHlrIBoDlOUgveoQ9/MgGKGsSzWF+O56QCwGFM4SwW0Y3NTICiujBdMbDL2QBFfcOpCmVNB1gJf0kHuBryDa0h4SkAR+Lbt+Jz2HnaEN7C4904hsfDpJrwFv2ZQjQSPrCN85lSfAbzOIBHuJdlRvV4FcnpBy5k2nGRloqBe5oVyQ5FFjyHL6HvVYtk42GlH6PviUkulOsmnleIy1StY/kJfI/Y1RKCMh0RrCax/F91B6OhYN1hq/v/hnsH4O8A38/3wXV4mTEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catSANT_G3.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTgzOWI5NTgtMjZhNy1kYTQwLTg1NDQtZWRkY2UzZjYzYmNhPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplODM5Yjk1OC0yNmE3LWRhNDAtODU0NC1lZGRjZTNmNjNiY2E8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+w67uMwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAFA0lEQVR42sSXS6hkVxWGv3/tfW4bgxIJNK1RuKJ4J42PgWJGCUkEHwMHcZSbgYKQgWRqRKI4izF3IoiERnzQ3pkRRwaFpB21GATRJpDuIDFog23EGNMm3XXOXr+DU1W36tbDJhlkD+ucOvtba/3r32vLNm/l0uHBfXdJfOSN/h+7DarnWpQ/iTEYI2SzkxOESQcArRSGqGghaB0e7P8W+OSbCGIw+klKX8ZLZBTaCGRtBfCU+iLYQNzoxsDbBbvAZSfvnT0wIpRIvmGAl2xOzlK1IdeglZ9vDvkq8HxaH1p8UNTmGyXx/wFInyTAEhzTpWQaBaWRPb4zrltD/ucigNG4eRijEbrxpMwHhlI+00f353AeAzBXpDyl4o3RX9PbaC7UHIicf+C2kP8GXEprbx59NDKCzDHyIM+Gfb/R633Uj1m6uAhwbRrlGcbY19TB0ahnmuKPAKW17QAaAdxEaY2sAdKjkflVS6/YvCecr80A/gW8a8yVNyqA5CvG3wcWS7ACEE4UHjNAoQ49GcH1ukPX2g9rDl9CPpfEXZbQ4cH+AFwF7t0meVsXDP849vMcoFl7YRNuEPFwhqrRt5QmS4EYn0XjBVu7rcbnMuKXMxFewT6FtA1gXX6WM6AxO+F0GCw/k9an+rrzn+qBkgMmbhecR7yYYncG8Hfsd/sYgOy5KuzYCuBkr0Wh7zq6Nvlg19oPEHckerZFOW1EbQMiQboAOp3SJ3R4sD8BesM3jgoOwAmZ87Z/M+3F0VC0OQOy6WtHkJRsCM7JvtPSd4YoD4WTaAnSA4jHDQc6PNh/GbhlbdrRU2ndo43iXAVoUXBopumbuhz+C6gR7wRenXrAnuA5i9/r8GC/BybYDy61oelU+IMifzezUlvz3t7WhtTRO4wI+6wa9zfpCyk9UTIRrkg90C9p4Fj4qHhsqQwiRm/v+w5bM59fCxDMzgFj4gHQ49hfF37EsxpKLwO3LANsOYYUSYmktcIw1DcEADyy4O9zgLEEmpdAqy5EAX4dkX+xRWvlBkowraf9UzX2m3RvSj8vmciuhHpgslWEyz4QDyZ875ggVwBk4xB9qYS9KMJ3AFfnIhTPmVGEE6DH/uaWDHRYPzM8fyNWbAmHCHvWho8OUb62pg0f2yzC1Z6cr1SstWJhSiYZ8T6Js8J3GD07LBmRQVwAnbb08a1WbIRtgukcgBY3Xz0Lxjc6FJPpF56xdc+k7rzauR9PRpXbhc8jv5jS7tbDyOivaS5pNhF5Kf3LJUj2HEHWiDoM35V4JdHDaqaVgooZS+AXjHZbic9m6MmF43ht8/3K6U+PaR8xtonQEn3tONGuI8zgyg4TmgrX4wQ1hx91OXzR4unmcvfsOL42jfYMPnJC4ZKKp1rEE7YoNKoGMsdJZ50PyGYolUIjSByiU8/QKk59u8gPJfq3zW2yX1ucCa/YnEoLpjOhnAy14hp02VNoRzo4gljpAksESWUYQzGkyy+MPg+83kf9qKVLq0Opx6F0SQPTjwU5n2znQ2orOOPWiFwaSuVxGnJoCgzFvhxu2Ue9cyjrh9KXFHmSmDv1aAg+6oZ1KzNu1ijgFYC+dnO9lNZqyTZkBEPZcDGRfNEbh9K1U+IA3GTr/YbLTC8mllCaVsuofpvIcT7YBPBmr2bN6MeLVzMx3h1mm20HeOy+u018mO1j8cZECGeLeHrxcjqr4cwztgK81dfz/w0AHjWdyjCbBL0AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catSANT_G3.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzQ1YzdjNjktY2JiZi1mMDRhLTg4ZGItMmQ4OWM4YjgzYjQwPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjc0NWM3YzY5LWNiYmYtZjA0YS04OGRiLTJkODljOGI4M2I0MDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjc0NWM3YzY5LWNiYmYtZjA0YS04OGRiLTJkODljOGI4M2I0MDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3NDVjN2M2OS1jYmJmLWYwNGEtODhkYi0yZDg5YzhiODNiNDA8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+H1XW1AAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACSElEQVR42szXS4iNYRzH8c+ZSxqikZJrjchsJpcFsaKZUS4LC3YsKGWh2SIN2THYKEmSSyyNrEyUGSsiJaRcmhBTbhnXobl4bZ5Xp3GcM/O+58zxrN6e933e5/s8////9///M1EUKefIRFHUiIVJ12MIXXiQFOAWlqU4xCDOYVtSgNgGTxChYhQbj0cdejArDcB7TE2wfgK+4RnmlwNgCj6MAKADc7EG3bkA3mJaAoCZeI2nqM/z3Xlsxg8sDub+A/AzPJ/M4wMV4f39hADQhp34jBnoiwE+YvIITrsDx1MAwGlsDWHbGAMMBkfaUGDxQ7wbIUArqrA/x3+eh8hZhyul8oE4tO9gFb5kvVuOm3iJuhjgDaYXEWAeTmEFHqEhx202YGkmiqJ+DGBvlrzCuEB6I0UUdGElDmFX1vx2nMCRTBRFvaj9xwbX0ZwCoAbfw6Em4WuYr8dj3M1EUTSAfrQMC8Nq3MPtlDoQa8BGtIe5qnDrA6XyATmuew8OZM33ova/ABhugkyOnF+Ja3iRAOACNgWduTTMBP2FnDB7tOBYCiecGATvLyeMw3BfnhuoxsWQ9ZKEYRt25zDL4VL5wOzg/YWEaEkppLg6+FQsxc1Z8Z9TivMlo1fh56MBqMDRkHZb8ySjtegolI6vYnURCpJ4nMEWdKKpUEFSGaS4vUgAB0M++BTW9Y1lSXYZ60NJtijbrGNVlPbgVwjJ7nKU5VWhjyh6Y1KDOWkbk7St2RDOpmnNmrAgSO5oW+VMsG1nmua0rO357wEA7D8z1ZGqH+UAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catExternSensor.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA4xJREFUWEftllGIVFUYx//fnVaizSgkCu2hIMuoiKikMMKoB1OjIUGc+91ZmjBIg2R37qwPSU1UD3nPQKvkU8m2e891XUnToMWH2IgIFYRFEA2tiFLLh7JYKmfc+8U5c+/MiBkLjTMv3qd7zvnO9/3O/5zznY/Q5Y+6HB9XAS5RIFK5RTGc12OZGeorjR1sxxaFip8hksUzFzLjfRtHj7X6vAhgsly+5vT1J74E8JgxYl+3ZYu04u8B3A7gcDXuWVkYHP45hbgogFbudoAKdpCkzMXozTYp8D4B6+u+ZH91ek62UB7+24ZJA+jN7jo4tC1p72Rfr2lHcONjJMj3ZijeC+CpBOID9qOXGgBhmW9ALw4Q4R6AjsQZLMv3h2dSgLDCK+cQHV89EJ6cDZRW7kMAFrEf6dR+JMjf4VC8j4D7TF8s9GS+FH5hFYgCfk0Ib9cVkg1cirakE6PAKwjJdtOuZnpuKvQPn/sviOi93C1ywbF7LISnvaL+vKFyxeuDyEdJezf7epUF0Mr9BqC7APyI6+QBXh/9ZvuH3IWo0SEANwKYYl8/ODsF2Mx5xNj+5VTnrR3Y9WtDzYAniLDMtDPi3E+jgbfUIZm0xMBWz9evNoiVtweQbKJMjkvR2KwAAncNiHYktsPs6/rBtmo3FSWil0lXeAgCG1SA5Z6vJ6yh8rIC2VOfJmPsR7nW4Fp544A8AWAGoMO1uNb/wuDOb5vw7g6AkoMsq9iPdpux8S2Fm2vV6tnEbpS0asrVeu+1cjcB9JYxjImW5Ivh103nLP+mRI+TuW31wMgpMxZu5iXk4CuLL3jHK+lNDRUUTwqwFMAhA5AmidPs6wUtQT4G8Lxpn5uuzn2lvGvanosKfwLBc4liJ4lwHoJ7k3n2YJn/D999ce61mfN/1AWkz7gUrkh9h4ojAoyi3xkA47jXZCn29cMtRj8RsACEo1zU9upYAMVmhfNb+0PFJwi4E8Av7OtbG7YBHwfhbgBn2NfzWxRQAhQB/N5tgFpXt4CAU90+hFPdvYaEvV1NRAJs7Hgq1srbB8iz9nbGeLyjj5F5VUnwqQlOwEHX149agE48x/Uc0lw9IJ55rjtSkNjggbsNROuSZDTBvl6eKNHM6leqJNMV9w0IlZNIPyCWLA9GU5cAXMGi1D5eIvhTQCtMJZQuuyNleaRyWcDZIJCt6bN8WYDmhnTmry11//9BvQrwD1F8Qa3W8hbBAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catExternSensor.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAp9JREFUWEftlk2IjlEUx3//stOIJMKC8jFCko9oJGLBzIjMxpSUhcLCJAsLYoSdzRAriYQxZRjKZCGSZKamJiUjX4kxWPhKIunovJ1nuj5GU955n83c1XPvc+45v3vOPfcckfNQzvYZBPjDA2ZWDuwBGiS1FSNEZrYSmA80SXqQ6vwFwMyGALeAhS4kqSghMrNnwASgA6iW9DqD+B3gBLAxftZL2lckDxwFtoaua8AaSV8Lh8wMmNkW4FjMz0taVwzjrsPMhgItwLLQeVzSpl4AMxsG3AWmAfeAFZJ6ErhqoEvS4/5AmdkcoFzSmUTHROAyMCPWlkq6WfCAme0CDsSPOkmHk40eEg+NjxGSPvwLwsxGA1mMl0u6nujaAJyKebOkmgzgITAFeAHMkvQ+wCYD7cBwoFPS7H56wPfMC9mRkt4lEK3u4ZjPlJktAW7EwhFJ2xLhi35hYl4rqbGfAH5/zoXsSUnZxXZvpx7d7AANQGa0UpITuqAbdgAfjZJqU+Nm1gQsBn5Eem2X9CSBd4DsItdIag69o4C3IXfaAXrdlea9me0G9odghaQ7iXLrwxPjJXWHoQrgdsgdlOT6CsPM3OPu+XYHyB6JV5LGJUIXgLUxL5P0OTZfAlbHumfFN2B6zAsXK+TKgE+xflVSVaL7LOAefeoArtjztEPS3EToJeBA9yVlqeP0fsKx6bqZPQImAW8kjUl0dAFTgR5JvifzwCFgB/Axb4DveYegO+9L2Jl3Grbk/RDtzOMp9oK0KhJiUamLkVfVK2G8TdKCDGDAy3E8Tunp13u5LklDEsa92fGmx0erpEr/KFVLtheoD+PPoyXr/BvAQDWlWfH6AlR5J5Q9y6Vqy7201wHebxTKcp8A6c9SfBel7/8f0EGAn72Ox+WpecOdAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catExternActuator.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAABKdJREFUWEe9l11sFFUUx//nTlujtAVj4kcMJpooocKLRB9qSMBGE6K2JKSVzp22BBJj+CzshxI1/ZJC3dkCiQghQSI7d3ZtJVFDeMAHqgGrKB+JhIhPRB8a40ca0Afpzj06y27dtrud7Ue8r/f+z/mdO+ece4Ywi7XDbX6g3DOW5kvZ8K7GzeRvMzVHpQgiAxse5HS6AYx6gJcDWFxYxz8COE8GpWLr1ZlSbE8LsCu5frHQIgpQC4CFAA0y8RBBX7bN5HDOQfTYxipdcXsFhF7GQB2B1gL4kkDHYtI5MR1IUYCwMrcC8J1XAnyQmQbjlrpWSlSRpLWSNdoA3kTAkbK08dbethO/F9IWBAgrcztABwE+LLQ4+G6Lc70Ux5PPhNzmtcSiAwxiwCwUwBSAsCstMBIAd9rS7ZqN43xN+/ENi8oq0kcJXKMZTZMhJgCEE9YqCD4NcN98OM8HCStrwIfwhLemvzn1c25vHGDnQOvDRlqfBuO6LZ2muUZeSB925VkwX7Wlu20KQFjJkwCe0el0XX/bR345zfvK3vBZ1vqFeEvyc99B5gbCqZZl8PT3TNgSN9X703n2jdgtztBs6cLK7CCiJTFTmf8BOPJNEO8oL7/ryb1Nx38NAoDgdgb3xKV7caYgIUfWEOGCFt5SPxcyNxBScpgYl2xLbQkymLtGADcJ3BOTrh2kmbyfSUjmL2KWOkSZNjs2NqI1NfS3OJ8FGRsHINoIoBesL0EY3XZz4psgbW4/5MjXiPC8LdU6irjWOmb+GJ6otFsTfwUZyQHYUlFEmY8zUS8YLxGhK2aqfUF6f39Xwqo1DHwSM537yU8KEK2yTbW6FHE+QO582JHtAPaA8BUxOmOWOj+drc2HGivvWVRxSwvvqXkB8J29nrRqtdadDKpjRlfcUt3FIN5Q5r1p0B/QtHreACIJayUEd2jwcyDqjJvFAdpPvLK0zCi7lgEIOTJKxI22dJ+e7SeIODIKIt/5MEh0xs3EuRJK+WwGIJq06rXmwcry21WdTYO3gyDyc8CPpNwo72XoNQzRHZdOb5A+U/au3EyMAzf/XLCAoglriRb8A0jX5g8ZxQzlAEhgE2vsBXBRM7r7LfV1Kc79MxFHHmbiJ2zp1t1pxY68AuCMbalokJHxPsC4BUE9tunEgjRTG5H5LYBT/oubAYgoc6cGbSdPLAvqBVmAds/z3tnfmvpuxs6T1ovQfCotvEcPNKduZAB2f9h631iZdyU7B7wXlEBzeYxCSqYI/Lct3Tbfz/g8kK2GrVroZ/MHhplGGHQ+5Mg+TXxyv3QvTADI5IKS5wC+nD8wBBmc6/6EkSxbkp/O1zxYCtyUoTSizEYGDfxfEAXH8izEAQJdAHRXTLp+mc54ZSZsYBNDvx03kwW7Y9EfkzuTC+0DeCXAH8DTA3ZrqqQ33y9VNngnMeqZsS9uqd3F6AP/DTPPNehlACsY7EdxxPD09TEqGxWGN1r10MjozV8eeczQ2t9fDkYNgAYCHRVp2tPXlvhpuqsLBMiJ/ahIoJnBrxYyyMANAEMEusjQw6XOiyUD5Dvd5sjqu4FqD6gmoRemiUf8rjbjJPlX8A+RZjtkUBGFRgAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catExternActuator.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA3RJREFUWEetl0+oVVUUxn/fOK0kqCAaGKjkn0lSAyPQxEDKEkQhMYSEiLSySRAqqWkqNSiwEqEGNZFKMIkGOrBC0/6ZYEQ6Ehs4yEKSBjb56nvtq8frvXef+97dcHkPzll7/fY6a31rbTGOZfsO4N4u058lXRx2O7UxsH0n8ATwODAHuLuP3VngGLBP0qE2ew8EsB1HLwNPAbcAnwBfAj9JOt5xYHsyMBeYDSwElgJfA+9L+nAQSF8A2+uK80nA23Eu6Zc2p7L9ELAaWAPsATZK+qOXbU8A2y8Up+/lr6QzbRx3v2M7kXgViJ+VvQ5wA4DtVcBHwGZJW8bjuGlj+1ZgLzATWNENcR2A7fnAF8CuUTjvAvm4QCyW9Fvn2VUA23cV52ckrZjoyXvZ2z4CpFyf7wWwH3ggWSwp5TTyVSIciEckHY6DsQjYTvmcBtZKeneQ52wiKaU4rmU7STlD0somwAbgRWCWpN9rAMB64DVJPw5LYTvJ+F2UNLnQiUBE5aSktbUNG2H8q0C8WbPpUZ5JyK8kvaMisxcitZIO1jZrADwNvB5wYKukb2u2DeV8FlgkaVkAlgGfApMk/V3bpAMgKbbTCsRjwBZJO2v2JefmAQck3Z5NkhRJrAUtjaMVRwLQOFFyYjvwTRGwNKS+y3bk/TJw30gAGqfaXJpRorG1H4HtKcCfwIJRAqQBJZoPlygMAsgskcY2BpB2u1zS/RP4BNkjzlNN6SFHW5RyBGkMIENG+vxkSf/UILqSMCdJJSwulZD/q8v2c8BbwE0BmAH8CsxrDhkDvt9YEpZevwOIGKUMT1Q9lxdsp81Pl7SwI0SngEOSEsqBq6EDyeKo4Rs1mx5C9D3weTpuB+AlIEPI7JoWFICU3TZJP4zD+aNxDkyVdK4DcBuQKGQO2F1LoAk2o33AFUkZ2f7vhqWOE/7MgQ82B4ZhT1h73/YuYL+kNKRrAAUi5ZOJ9+rAUNtwos+7R7KU5GejmgfbwPUaSpcDaZcjGUprEP3G8kBEKPKdoutJ0KFXmbBzN9jUTx0HXUwyuaS9RuM/SFTa9vxSqintfNKdkl7pR1+9G5Z2vaRcvZKkuenkonKp8bunPM+9MeC5R+YusF3S+UGhqwI0yjQS/CTwTJ8Nz5V7Y6T5eNt5sTVA06ntm4HOL5fWC1G1oZPkP4N/AVYfhBdHznUwAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catMatrix.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMTAtMDNUMTE6MDQ6MjkrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo1NSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NTUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MzEyZjJiNDktNTM4ZS1hNzRlLTlkNzItNjc2ODBiMDIyNGU2PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjMxMmYyYjQ5LTUzOGUtYTc0ZS05ZDcyLTY3NjgwYjAyMjRlNjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjMxMmYyYjQ5LTUzOGUtYTc0ZS05ZDcyLTY3NjgwYjAyMjRlNjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozMTJmMmI0OS01MzhlLWE3NGUtOWQ3Mi02NzY4MGIwMjI0ZTY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMTAtMDNUMTE6MDQ6MjkrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+rvdoVQAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABfUlEQVR42uyVsW7UQBRFz332ej8GpEh8BRIFdTZFOtJEAiEoQk+qRFCARBsp3vAF0MMPIMHPgGfm0sQbJ1qTjRKlwa8ZyXM8upo7710t2hbZyH7kiF2gMZzVKX2rUwLAEr/ncyz17ChvafVPv+aqwtKWI57JnhtOopTvs65Di7ZF8AJ4R18SyvlI9uv+oBJxsf0PvkQgm1nXIZsi0TXNSyKOsVeiVMrxrOteaef09DHSV66UJbCfyP5yZesh0s8b8FtIP9bxVUpPtdO2n4A91pTsj5Syj4QvbuAN8PY6PldV//kg7EPW14e7F2DvD98AcIB0OMbfhwUPkH6N8ou2BXgueH/Jn5yPGHmEd8lre7kkShm21czS57rrNm3DW/HaXi6RTZUzJWLlXZUzw77+0zSXrvC2fJ0SVc73L2BgAXVK54PIJkrZ+MBN+KHf55OQEkGUgiWilHEBAuIGAtbx1wlYTcspC6YsmLJgyoIpC6YsmLJgyoIpC/77LPg7AM0cxIlkvCORAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catMatrix.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMTAtMDNUMTE6MDQ6MjkrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTo1NiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6NTYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmUwNzQ3OTAtOTU1MS02NDQ5LWE2YzQtYmZkYzIwZDViZjMwPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZlMDc0NzkwLTk1NTEtNjQ0OS1hNmM0LWJmZGMyMGQ1YmYzMDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZlMDc0NzkwLTk1NTEtNjQ0OS1hNmM0LWJmZGMyMGQ1YmYzMDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmZTA3NDc5MC05NTUxLTY0NDktYTZjNC1iZmRjMjBkNWJmMzA8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMTAtMDNUMTE6MDQ6MjkrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+adwyxgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAAzUlEQVR42uzVMUqDQRCG4WeL6GEMBDyFYOER7EwjKBIL08fKoEUCaa30BNrrBYR4n7GJEH6ywqIYwZlyeHf5YGf2LRFhVfs4xg4e8OLrauUHOMEu7vEKZRXgHLedAze4rFzWyl9g2ulNMSoRcYDnysFDPHV6fSwb+AHeKvxRiYgFhhVgjtNOb4xJA3+F6wo/23aA+W88wR7ea/znEJ7hrmGofowvG9awh8eGNfwWvx5gK5UB/lSAdEG6IF2QLsifMAOkC9IF6YL/6YKPAQCoUuj+HnwYNQAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catOLED.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA1klEQVRYR+2WsQ3CMBBF/9HEJSPABtkANkChQ0FiBMImGQGkWHRYbEA2yAYwAmXScIgCRUiQYBc+JOza/973a84E4UPCfMgXiEyRETCTMMHAkZTRLAF/Mn+oAKOs5+nUhw110CcQJg9WayAUCAaCgWAgGAgG/t4Ag68EVD7WMQMxgYav69gH+Q2DlCm2AK1k+LyT/xXLvLyl9hqIjM4JWLsUZXDeJMtNV7azgDL7EXA7u8DbzGBcJ4vLpxnfGWDELiWYUDVJmjkbcIHaZnoN2A60vS9e4A59Y6enTaveiAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catOLED.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAr0lEQVRYR+2XQQ3CQBBF33eABHCAA3CABCQATiqBSsABOKgDkICDT0oChyZtYQ+dHmbus+/PSzY7K4JLwXziA9g+ArsgExfZdhD8jZ1VgJuk7RQ2bF+BTddABkgDaSANpIE0kAaeQDPFcwysgcVsFpIzsJ9o8i6mjt+Kgyb/YkcN2K6AQ2HQStJpqHcwgO0lcC+Ef9pWkh59Z/xqoL02JdVIaj8+vTUaoIT6T08GeAHJj7Dffxnj6QAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catTFT.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA1klEQVRYR+2WsQ3CMBBF/9HEJSPABtkANkChQ0FiBMImGQGkWHRYbEA2yAYwAmXScIgCRUiQYBc+JOza/973a84E4UPCfMgXiEyRETCTMMHAkZTRLAF/Mn+oAKOs5+nUhw110CcQJg9WayAUCAaCgWAgGAgG/t4Ag68EVD7WMQMxgYav69gH+Q2DlCm2AK1k+LyT/xXLvLyl9hqIjM4JWLsUZXDeJMtNV7azgDL7EXA7u8DbzGBcJ4vLpxnfGWDELiWYUDVJmjkbcIHaZnoN2A60vS9e4A59Y6enTaveiAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catTFT.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAr0lEQVRYR+2XQQ3CQBBF33eABHCAA3CABCQATiqBSsABOKgDkICDT0oChyZtYQ+dHmbus+/PSzY7K4JLwXziA9g+ArsgExfZdhD8jZ1VgJuk7RQ2bF+BTddABkgDaSANpIE0kAaeQDPFcwysgcVsFpIzsJ9o8i6mjt+Kgyb/YkcN2K6AQ2HQStJpqHcwgO0lcC+Ef9pWkh59Z/xqoL02JdVIaj8+vTUaoIT6T08GeAHJj7Dffxnj6QAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catLCD.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAA1klEQVRYR+2WsQ3CMBBF/9HEJSPABtkANkChQ0FiBMImGQGkWHRYbEA2yAYwAmXScIgCRUiQYBc+JOza/973a84E4UPCfMgXiEyRETCTMMHAkZTRLAF/Mn+oAKOs5+nUhw110CcQJg9WayAUCAaCgWAgGAgG/t4Ag68EVD7WMQMxgYav69gH+Q2DlCm2AK1k+LyT/xXLvLyl9hqIjM4JWLsUZXDeJMtNV7azgDL7EXA7u8DbzGBcJ4vLpxnfGWDELiWYUDVJmjkbcIHaZnoN2A60vS9e4A59Y6enTaveiAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catLCD.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAr0lEQVRYR+2XQQ3CQBBF33eABHCAA3CABCQATiqBSsABOKgDkICDT0oChyZtYQ+dHmbus+/PSzY7K4JLwXziA9g+ArsgExfZdhD8jZ1VgJuk7RQ2bF+BTddABkgDaSANpIE0kAaeQDPFcwysgcVsFpIzsJ9o8i6mjt+Kgyb/YkcN2K6AQ2HQStJpqHcwgO0lcC+Ef9pWkh59Z/xqoL02JdVIaj8+vTUaoIT6T08GeAHJj7Dffxnj6QAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#cat4Digitdisplay.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA54GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMTAtMDNUMTE6MDQ6MjkrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NDozNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTQ6MzYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6YzAxMDhhZWEtY2E2ZS04YjQxLWI3MDUtOWJiNjk3ZTc0MDQ5PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjMzMTgzMzRkLTUxMWYtMTQ0YS1iOTA3LWI2YzhkMGQyMWNiNzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjMzMTgzMzRkLTUxMWYtMTQ0YS1iOTA3LWI2YzhkMGQyMWNiNzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozMzE4MzM0ZC01MTFmLTE0NGEtYjkwNy1iNmM4ZDBkMjFjYjc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMTAtMDNUMTE6MDQ6MjkrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6YzAxMDhhZWEtY2E2ZS04YjQxLWI3MDUtOWJiNjk3ZTc0MDQ5PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE5LTEwLTI2VDE2OjU0OjM2KzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PswpLKcAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAACL1JREFUeNrsl1tsHNUZx/9UQqgXVVVpJVpBW6S2IFLKpZAoUEJIArHjJL7u7sycM7trO06aCwHSqqJARCghsZrYTmInG+96dy7nOpddXzaxiYNCKkiRUlShgHiqhCrRSoD6UiSKitTTB9tRSuCZFx5+0rz89P2P5vvONwNjDL5I8GWALzzAPUNDuGdoCHccOIDV4+PoOH8erVNTKFartxEpPSrEJBEivoLUlXKScG7d+vzz+ObWrbhl505sKZexY2wMfQcPonN2dnVeSk2EaFzpUiHqbhgmXfPzDz1y9izuOHLk/wOsqlTQeeYM2qNoeZ+UxuHcECGuRkrTF0Vm7fj4DTfGMX45Po7do6MolkrYMjxM7Dj+TM8RwhDOzfZm02Q9D99vaQGWDQ5i2eAgfrJvH+6dmECh2dyVK5d/Rxh7vaCUyTNm8pwvsPhMpfzQqdWeKiRJacPFi/dvCwI8NTiITBTtIWn6dEHrf+QZu8otcG4c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) no-repeat; + background-size: 100% auto; +} + +#cat4Digitdisplay.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA54GlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMTAtMDNUMTE6MDQ6MjkrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjErMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZGQ3ZDk5M2UtOWE5MC01MTRhLTk3Y2ItNzc4MTEyOTFjNjMzPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjdmNWZhOWM0LWZmZWEtMTI0Yy1hMDlkLTg0YTFlZjMyZmFhNTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjdmNWZhOWM0LWZmZWEtMTI0Yy1hMDlkLTg0YTFlZjMyZmFhNTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3ZjVmYTljNC1mZmVhLTEyNGMtYTA5ZC04NGExZWYzMmZhYTU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMTAtMDNUMTE6MDQ6MjkrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6ZGQ3ZDk5M2UtOWE5MC01MTRhLTk3Y2ItNzc4MTEyOTFjNjMzPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE5LTEwLTI2VDE2OjU1OjIxKzA4OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+MzAwMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzI8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pokm5vQAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAA6JJREFUeNrsl0toXVUUhrdCER8DMQoVGrUjpVIxPkmLaawRrC2VEpRKHWlrQcViENHWUB+Dim3aQi3FiQ8wYGva0k6ETlQKDjSItNSRoEKNmKYacpObm/P4fgd3nZt1j/eek5kOcmBzOXuv/9//WmuvdfYNksJ/OcKigP+VgFQKCQRJAVgBfCzppKRjboxIOplKmy9MToavx8bC6MRESNLUc/UCn0s6kcMel/RFAg+nhQLgAS3g+aNaXfrr9HQYn50NKQTq4reU4RJQbI62EvCS4A1JowUcFWCnpCOSVlvEAjAg2CVprAD7GzAIDEla3iQAqc+MxoEOoAfozo0e4E5Jw2Z7lHrUttr7WeBaYE0L7Brgbklfmu1gpjwL37eZTOAqv5YbK51Hb5sD4/Z+qR1O9d/NjT2kF/MCLtnaaMHmAXg5I5moVLprURScoJF2uLS+x8HMMJbu9wbLHcln/1LfXD5HMsO/JieXzEVRZ4uIBHc2PM8Zs5sFrvOk6x3JzlY160i+yQ6jrW1xqXsqL9qnQNJFMz0HBK9ulyN5ooXXmd2VLt8/2Nxhh72rALvMOXkiL+CUI7miXecCOp3dR7bZj24uFGDXObvBvIAXbGEfsEHS65JeyY1XgbWS/jTb2438A3vfIalf0ms53ICkHcBG278m6JAXYApvA46WNLJamqarSNMVDheA+1x9t3t+AbpSuDW1qvARuDmFbqSvSkiG4zhen/V+w94B9Er6qRAJHwq6Z6VQkcK01BDQ4cLaC/QBm4CNbvQD9zZSJR1XrnyBlcAGO8RN2BS6gD32LXgnghBnEZD0liNZV9SEnD/f29ynbu6WAuzVLhIjsrLMTuip+f25qYDkHid0rwk6Z1MXS7pnv8MOZPOZV1nufi4hecZ5u8nEV+39TAl2txPQ1xAguF5SZGuni1pwlkNJqkXRjX9XKtc40v0lqTvmbJc2BCTSKufVnhIvTmffkWoUhcszM4840m0lAs67UgzzKag3iYzksRKSqSzfFpX3HLazALvEOXm2SYCkQRf+HmAr8GxubAO6JH1ntvssJcO2+SfAauD5FtjngIeyMpe0vUnA9NTUshl4P5Z2S7pc0EbiRDocw7vZ2UiS5EHgkKQ3S5rX73NwKK6Xe/OtOKrVQhVCsoBLaCJtj3MHFLhhIRfYOVgbt72W18kel7TXbixDbuyXdBB4UvPXqqbPbJIkT0s6YMNjD0gaAh5Vm6/k4j+jRQH/DAB5GSrcz7a3iQAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catAIsensor.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAA6tWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMjAtMDQtMjRUMDk6MzM6NTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAyMC0wNC0yNFQxMDozODowNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMjAtMDQtMjRUMTA6Mzg6MDcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgICAgIDxyZGY6QmFnPgogICAgICAgICAgICAgICA8cmRmOmxpPnhtcC5kaWQ6YjA4NTBlYjUtM2Y1MS00ZjRlLWEwOTAtYzc1ZDg1YTkwOWI2PC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6Yzk0OWQyZjEtMTY2NC0wNDQ5LWJiNjgtYTE2ZDA1ZTlhMzllPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6OTdiMjNjZTMtODVkNC0xMWVhLWEzOTMtZWFlNjU5ZDNiMjg3PC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6ZTA5YTEzMzctN2ZhYi0wODQwLTliMDEtOWZhNTZmNWJmNzQ3PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmUwOWExMzM3LTdmYWItMDg0MC05YjAxLTlmYTU2ZjViZjc0Nzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAyMC0wNC0yNFQwOTozMzo1NCswODowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpjOTQ5ZDJmMS0xNjY0LTA0NDktYmI2OC1hMTZkMDVlOWEzOWU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMjAtMDQtMjRUMTA6Mzg6MDcrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pm7Cqz0AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABCFJREFUeNrsl12oVFUUx7e3rMwgKvrADJ+s1EpLq1tRQoTcWXPmzEf2YVQPKUUREVEvEeiDFajz3+fMBEkaQkRw//scoi9CAqOkoG5EaVRgpKQ9aAglhZZXdw93TZx7mLlz5tZDDz4sZmavtdf8zt7r6xjvvfk/iDkFkgcBZVA5DZRloDwFyhZQ3gflQ1A+AMWBsh6UGijnDOJ3EICbQdkGyq+g+ALyJygE5ab/CmQZKDsL/nkv2QnK8L8BeQaU8S6OvwRlIygPgLIClKWg3KDfHwHlZVC+z+05CUoblLMGBWl1OerNoFw5wHXOA2V17kS/AOWyoiAv5iA+BeXyaQR2Vm4BZUz9/QTKwn4gq3MQsWZKR38hKI+C8iYoezNX9zso34LyBihr1K5bxq0F5QQoh0CZ3wtkKSjH1PEvoIQZ3UV6NccKBug4KKlmW/5/GupnPyhz8yCzQPlOnezPXcUqUA6r7qAG492gLADlPFBmg3IJKMtBeVaDOQu1A5RrczCicTcGyplZxQbd9BsoV+vaDM0OD8pHoJRz1zSV3AHKZxmY46A8nbNZo7qtnYWr1NCDcl/G8DFQ1oGyqLNmXdlYJyZyoWkldWNdRZosHYqT6lDs6hPrab2zf0hLwF8ZoJf0ATs2r4DiOz+2q9Fb/Z7UurKBk2HLYGPsqhdbBpubLPnIhSsiV10IltuttHZubt/toBzJwDyX0c0GZU8nrbxS903RVnqniZPaPWDJg3J04rPkQfFN/d5OG3O67B0G5Y9MIF+f0ZUNKK+rcrTI3beSummnK411wa4mRzwoBywDguKboyM+cuG6VtLotf/BzKl8nK8jP6tiuAiIZbDIMnhYn+5A5MKzIxeayIXLwdI4WP7KuspdU/goaVZ6LRf/gHhQPileIUs7mqMjvskRbxlsjZOasa5iIlc1YPkgWPJ6UlP5mQPKHq3gk0CeLApiGVxjXeWJifiQfXFSPz1O6iZy4TBYOg7KN5aV+wv4Wqz1ZRJIt5lhTLvppPU4qZlW2jDWBbuboyMeLP9gXfBaJkbWttNG0f7zfB7k0i5Gq0DZDcoZ2fV22jBxUr23OVrS1p7PGvHttDG3IMgVeZBZXYxmgPK5zhCZE6ma2IW3WQYt68J5lsG2iTpSCSNXWWJdsKWV1s4ftDsbzekLehgs0K66vlMN46Rq4qRqIlc1sauZyFUqYOlI5CbWWmk9W1m7NbueID/2KWShwm7XsXE6s8h1OmS/MBXIe6Dc2sdRQ7PEg/JOdo6YQoa08b2tY+KGflezSefMfo6XgLJLYU7oCT2uLWK+yo2gPKSNrFMoj2qX7RsjK0F5teARz9SOvK/AYHQSlHeLzrhGJ6S9A975kHbUTVqVD2cG7K91ffFAWdPrFXAaATmziN2pl/BTINOVvwcAQ8BMwy7GxSEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catAIsensor.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsSAAALEgHS3X78AAACdElEQVRYhd1X7XHbMAx9zuV/NII2qDYoN6hH4AjeIO4GygRVN3A3UDdQJ6hGUCZ4/UGgQhhQon25Npd3x5Npgvh4AETqQBLvAXf/2wHFh3KkBRDkeTPubzB6FMMBwIMj8wxgAnCRMVdpJlkzAsmRt2GU/Zs2Djtd0wIYAHx21n4BGAEs8lR0sq/L9v0EcBK2rmLkSHLJoptIRpJNJZONyFs2oydbUhAzB+YaendGkEBIcqhJTQTwzcy/Ajg7ZAYZOTRVfgqSrkcA38WWm5qjYWGReb5+YR0Wkj3JtsDOYtNkGWkligekFgwmqiOAHkBjoh0LLHV43dpPwsRi/utER7JjvLQFpUy0wsBAsruiHrRIZ6NzcnR0YheWKsXZKDtxv0N6UealAKJDu29xnDmRjDrRvE+VEUeRDcZIFKdedYQ4qR2zOMH1KqSobVFLuQcvjQ3X9I+5o0qNt7g1bHdRolVmPEasM8pMtGs2LXmrlsZoGLmY6LXOFpEpFXcjMnPuyCwLtWxYWOebbG0rzSHfr4ovmWC3EVFg6iwKzVp4g/w3isxet+lr4YUjJ0fwvKFEjXqwzm2NliYTekPzzoUR/hmjb0UgHe0wv5+R3tBNYZ/FLDaS7E4+L/SP7cbkVwu3kyj33sDWVtS5OlKishFDnjO2nrYKM093yPR36si8o6jjepLWXoi8enhRnPm4K9SHxYR0Qh4lr7GyBoD1qvkb6eSNJcEDyZMIDTtKG5H5IvMfKF+AApLjn2T+hHRfLUNo66+gObD+Rj/W1s89ar87VoxYP6jsUzGJzvpvGuDvDS3IpmudejPsfdf8M3yoj/A3wbtx5A+bYbZVmns8NwAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catAIsensor2.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAA6tWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMjAtMDQtMjRUMDk6MzM6NTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAyMC0wNC0yNFQxMDozODowNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMjAtMDQtMjRUMTA6Mzg6MDcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgICAgIDxyZGY6QmFnPgogICAgICAgICAgICAgICA8cmRmOmxpPnhtcC5kaWQ6YjA4NTBlYjUtM2Y1MS00ZjRlLWEwOTAtYzc1ZDg1YTkwOWI2PC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6Yzk0OWQyZjEtMTY2NC0wNDQ5LWJiNjgtYTE2ZDA1ZTlhMzllPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6OTdiMjNjZTMtODVkNC0xMWVhLWEzOTMtZWFlNjU5ZDNiMjg3PC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6ZTA5YTEzMzctN2ZhYi0wODQwLTliMDEtOWZhNTZmNWJmNzQ3PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmUwOWExMzM3LTdmYWItMDg0MC05YjAxLTlmYTU2ZjViZjc0Nzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAyMC0wNC0yNFQwOTozMzo1NCswODowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpjOTQ5ZDJmMS0xNjY0LTA0NDktYmI2OC1hMTZkMDVlOWEzOWU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMjAtMDQtMjRUMTA6Mzg6MDcrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pm7Cqz0AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABCFJREFUeNrsl12oVFUUx7e3rMwgKvrADJ+s1EpLq1tRQoTcWXPmzEf2YVQPKUUREVEvEeiDFajz3+fMBEkaQkRw//scoi9CAqOkoG5EaVRgpKQ9aAglhZZXdw93TZx7mLlz5tZDDz4sZmavtdf8zt7r6xjvvfk/iDkFkgcBZVA5DZRloDwFyhZQ3gflQ1A+AMWBsh6UGijnDOJ3EICbQdkGyq+g+ALyJygE5ab/CmQZKDsL/nkv2QnK8L8BeQaU8S6OvwRlIygPgLIClKWg3KDfHwHlZVC+z+05CUoblLMGBWl1OerNoFw5wHXOA2V17kS/AOWyoiAv5iA+BeXyaQR2Vm4BZUz9/QTKwn4gq3MQsWZKR38hKI+C8iYoezNX9zso34LyBihr1K5bxq0F5QQoh0CZ3wtkKSjH1PEvoIQZ3UV6NccKBug4KKlmW/5/GupnPyhz8yCzQPlOnezPXcUqUA6r7qAG492gLADlPFBmg3IJKMtBeVaDOQu1A5RrczCicTcGyplZxQbd9BsoV+vaDM0OD8pHoJRz1zSV3AHKZxmY46A8nbNZo7qtnYWr1NCDcl/G8DFQ1oGyqLNmXdlYJyZyoWkldWNdRZosHYqT6lDs6hPrab2zf0hLwF8ZoJf0ATs2r4DiOz+2q9Fb/Z7UurKBk2HLYGPsqhdbBpubLPnIhSsiV10IltuttHZubt/toBzJwDyX0c0GZU8nrbxS903RVnqniZPaPWDJg3J04rPkQfFN/d5OG3O67B0G5Y9MIF+f0ZUNKK+rcrTI3beSummnK411wa4mRzwoBywDguKboyM+cuG6VtLotf/BzKl8nK8jP6tiuAiIZbDIMnhYn+5A5MKzIxeayIXLwdI4WP7KuspdU/goaVZ6LRf/gHhQPileIUs7mqMjvskRbxlsjZOasa5iIlc1YPkgWPJ6UlP5mQPKHq3gk0CeLApiGVxjXeWJifiQfXFSPz1O6iZy4TBYOg7KN5aV+wv4Wqz1ZRJIt5lhTLvppPU4qZlW2jDWBbuboyMeLP9gXfBaJkbWttNG0f7zfB7k0i5Gq0DZDcoZ2fV22jBxUr23OVrS1p7PGvHttDG3IMgVeZBZXYxmgPK5zhCZE6ma2IW3WQYt68J5lsG2iTpSCSNXWWJdsKWV1s4ftDsbzekLehgs0K66vlMN46Rq4qRqIlc1sauZyFUqYOlI5CbWWmk9W1m7NbueID/2KWShwm7XsXE6s8h1OmS/MBXIe6Dc2sdRQ7PEg/JOdo6YQoa08b2tY+KGflezSefMfo6XgLJLYU7oCT2uLWK+yo2gPKSNrFMoj2qX7RsjK0F5teARz9SOvK/AYHQSlHeLzrhGJ6S9A975kHbUTVqVD2cG7K91ffFAWdPrFXAaATmziN2pl/BTINOVvwcAQ8BMwy7GxSEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catAIsensor2.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsSAAALEgHS3X78AAACdElEQVRYhd1X7XHbMAx9zuV/NII2qDYoN6hH4AjeIO4GygRVN3A3UDdQJ6hGUCZ4/UGgQhhQon25Npd3x5Npgvh4AETqQBLvAXf/2wHFh3KkBRDkeTPubzB6FMMBwIMj8wxgAnCRMVdpJlkzAsmRt2GU/Zs2Djtd0wIYAHx21n4BGAEs8lR0sq/L9v0EcBK2rmLkSHLJoptIRpJNJZONyFs2oydbUhAzB+YaendGkEBIcqhJTQTwzcy/Ajg7ZAYZOTRVfgqSrkcA38WWm5qjYWGReb5+YR0Wkj3JtsDOYtNkGWkligekFgwmqiOAHkBjoh0LLHV43dpPwsRi/utER7JjvLQFpUy0wsBAsruiHrRIZ6NzcnR0YheWKsXZKDtxv0N6UealAKJDu29xnDmRjDrRvE+VEUeRDcZIFKdedYQ4qR2zOMH1KqSobVFLuQcvjQ3X9I+5o0qNt7g1bHdRolVmPEasM8pMtGs2LXmrlsZoGLmY6LXOFpEpFXcjMnPuyCwLtWxYWOebbG0rzSHfr4ovmWC3EVFg6iwKzVp4g/w3isxet+lr4YUjJ0fwvKFEjXqwzm2NliYTekPzzoUR/hmjb0UgHe0wv5+R3tBNYZ/FLDaS7E4+L/SP7cbkVwu3kyj33sDWVtS5OlKishFDnjO2nrYKM093yPR36si8o6jjepLWXoi8enhRnPm4K9SHxYR0Qh4lr7GyBoD1qvkb6eSNJcEDyZMIDTtKG5H5IvMfKF+AApLjn2T+hHRfLUNo66+gObD+Rj/W1s89ar87VoxYP6jsUzGJzvpvGuDvDS3IpmudejPsfdf8M3yoj/A3wbtx5A+bYbZVmns8NwAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catFile.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMDktMjhUMDk6MjE6MjgrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTozNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MzYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NGIzOWQ0MWYtNTQ0Yi1hMTRmLThjNzMtYjI3YjQ4ODkzYTkyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjRiMzlkNDFmLTU0NGItYTE0Zi04YzczLWIyN2I0ODg5M2E5MjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjRiMzlkNDFmLTU0NGItYTE0Zi04YzczLWIyN2I0ODg5M2E5MjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo0YjM5ZDQxZi01NDRiLWExNGYtOGM3My1iMjdiNDg4OTNhOTI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMDktMjhUMDk6MjE6MjgrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+oBbkTwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAETElEQVR42uyXXYhVVRiGn3ftfUZFhEAFL6QUBAMjAou6iKAujBK8ESI5o8wgZBYSQ5OTBkFgMoFGBal0oU4eZ9JKqUjCmy7sJpWwIjCNotGxC9NEw5/Ze6+3i7OPjY5zzohCQS3YNxvW9z3r+3nXt2Sbf3Lpf4AGQF9HByFGQowkRUFWqTDc1oZsKln2YFoU71qaAFxsYi8AbcCxLE27YggnNcYBO7Ztaw6QpylXJkwgFEXSlmXfBnuepQuAmgAYSIFJUdocpecExBCwNH6AECMARZIguwvpzShNTvP84vWGbhxXHQXmKsaNQHdWqTRs3RxAuWFSTJIMO79ROBtAsv8+pfS94ZCgE7s3q1TWxBCaA2zv7CQpinlJUewHpgPnVA/nOWAYmAbEEb7bLAn7VUtvF0lCmucNgPPAIuwhwbE8SbrzNN3YFGBne/tTgveAX6P0FjC1Sb4j8EewuwT32O6+PHHixjTPqWQZDuECsAp7u6WlwX7fsFz21jxNKZJkNMBAtbrH0iLDrCidLE8ydrnHiOwdSO2yydL0eWBTCXAJeBa7r0gSHMKKNM+3KMZFeZp+dkOA/mp1L9JC4C7gN7fuX4DDDuGrKO1Mi+IgsDhKewTnDAOKcWWwydMU2auTGN/I0vShPE2/7ty6dRTAnhJgNnCKMfq3UaAxBIBDSGeH0/RxwYttWbYhSnfHEJwUxY/AsOCc7MzSaUv3GX4pkmTVsr6+z1sBTAHml/luFN9k2cdl/1wCHLE0VISw0BKVPO8V9AxXKrNknwgxrh2x/7RgmuzXDJurtVrX2AD2KeABpIOl4+ERlb/B8JJsBAcMNjwigPq/NZbWW5oJDI1sU2BOsI8YdlVrteWtIlBBmlqqWyMfqaXzhj/LVCxB6gc+NgyVoGcF62Wfwb7T0sUyWgDzgv2Noa9aqz3TsgbGUr2GWFmiSJIVgo3A5TLUl4CjwALslSHGLTGEhhKOE6CegnstfVEavlL6ngustdQrmxAjVxVuNOwJ7F3Y3Q6BKKFxR6AOMBtYV4Y1K43OtLQd2H21I65zPCJqg9gD2D03D1CmYKyrtCw2XDdKw0awiXXhAfsWAOoRmCG7A8jLb+RtN0qXgDsU427gh5gktxiBOsD9SIdKB1daCGMAKoYOoE+3KwU3uxrtFup7/2UA9W65qRTMRzpcdsDlcaRgsmEZsOOaFECP7MZYNifY35VK2NkKYDrS4rIAi1aXIzAFex9wvCzSQewB2T2KEYdAnqYPJzEeMLxTrdVeaJ2C8cx/17Un1+rAOsFh4EPgpxjCAtmfKsZVS/r7B5vOA7dh5B/Eft0hHAL2AmcU437ZL8vm6YGB6+aB9vZPgCfLC+SWAEppHgQ+KKTVSDSkuyFuS/r7Rw0kK5E2YX9kaT0wo8UbYKz1O/CooDdKj1n6suG0KUBt6VJkPyHYd5ueXK8oxvUqR7IYAklRjA3wn32c/jUA2KVX7kJ1+d4AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catFile.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMDktMjhUMDk6MjE6MzcrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTozNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MzcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NWJiMzU4NWUtMmIwNC1iZjQyLTk3NmEtZGNkNzE5NTBhMTNjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjViYjM1ODVlLTJiMDQtYmY0Mi05NzZhLWRjZDcxOTUwYTEzYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjViYjM1ODVlLTJiMDQtYmY0Mi05NzZhLWRjZDcxOTUwYTEzYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1YmIzNTg1ZS0yYjA0LWJmNDItOTc2YS1kY2Q3MTk1MGExM2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMDktMjhUMDk6MjE6MzcrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+GJFvEwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACmElEQVR42uzXS4jVZRjH8c/kJWQQghJciBcYMJgQQUMXIuiiyAE3QiBYJIKlIjI4Ol5ACFRGUDHBFBeSit1VUoqYTQvdeEGyELxheF+YOjiS6ZinzW/gMHjO+WvHBPGBA/8X3vP+v+/z/J7Lv6FUKnme1vASoCDABGzBq/iryr5XMBBn0Yor9QDoh5NoRjcaquwtoT8GYSvm1wOgFRvRWOP25XYao7EBbf8VYBB68PAJQvs7jmE2OrC8KEAzOjEEXXFnFx7gDTwq2zsw4ViFz/qcewfTcTV6aIs3qgK8j+24iE14vUq8H+F2wvPWY17QjYX4Ah9gF+ZgRzWAfaEeWUS9sd2YlecF+DzP9/AJdmb9Mbbl/IOVAPajBSNwvSDAcRzGHhzFjFykC19hXtnepViHiThSyQMtGIVrBQGO4RbexWKsx5tJxzPRTldEfANj8UfC82MtgMEYl3j3iq8R53Ah618jtJasO9CeMF7GirL/34iQP02NaK0F8HbcKjfpVf56LMn6UG47ucwry7EWwwJXbk2B/iairAowIJlQyk/S8g7uZj0TX2JvXvYgIVmLmxjep3g140TEObceGuhV+Ab8HVffSyV8JyLc9rQAY/BzDr6fPaMT144CYJfj6ranBRiF1XFrT/YMS3H5tgDApaRi+7MOwTMDGIqP0oRqNaIGvBbPnKoXwPgUGmUaqDaIDAjwzhcmBM8dYFyaTU9SsVYIGvFhOmQlgCb8lvScXQtgSLrbQ/xTQISD8VN6RSWASSnfm7Ho/wjB6njxO5xPdTyQbnipHvNALYA1yaT96Q2dWFZpIPkB09JA6gXwdQaRQlPxvIxU36ebDa3xDVDJ/sSU9Iup+OVJxvL3IqR62Mpc5OXHaVX7dwApDD3Qio2lngAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catBLE.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg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) no-repeat; + background-size: 100% auto; +} + +#catBLE.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catIR.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg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) no-repeat; + background-size: 100% auto; +} + +#catIR.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catI2C.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg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) no-repeat; + background-size: 100% auto; +} + +#catI2C.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catSPI.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/6UDowAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAHRklEQVR42qyXWaxfVRXGf9/a538hBBNFRIIYhgJhMhpFEwZNzO0DhAgy096LDJKgUSiFlpknKyClDEWjRBlCe6Fhhqjw0BsfwJIIPKDMlqKEoEFQEyd6/2evz4dz/vfeFghgPI8755z922t9a+1vyTan37aU+Y9s2qaQIWRjBVYCIlKfy8LBJHtI7Ahg8ybBK1HZkOGnLRMZyIklIk3TVixtsc+tp12HPgTAbqAzZR2J+AzQsOXTYn5r+Rfgn8nx6v8LYCdH/Bg4lg/33KfMb1t6438DKEFtyumCW0brBgTTmIeRnzf6C4DwJ7D2QxxhGJ+/jeGMUuutTZsfDEA2AMNBc32WWNKlACJ9E+ayDN6UhdXj9NuM1iLZEbEiQ2fJdCmoef1g2C4FtoB4B8Dog+EgrnVoab/2euKFJfN5WbSNesjYKuLdCZvWWKZG7BdovcUuAEpf2wzr+WGwtgI449ZzZ08/MzY4szblp5FJpJ80HJLBUB5pw8jaXo5DgN373V+B3JDhfzWtsNRHjYFgQ4YOyhClzTPHZoY3j6Jwy+nXdwDfWHP+KF+fzhIvCbY12jQYtgdm6D+RJkPUoo8jrpJ12rtVgeXbMBdF+q1SjSVkbzcca56RvYfh7ai5t+A1gNtPWdUBTE5d0AGImyWfIYtUHmrXDWNDaFqzeZvmyCzx85FG5umSeWLoc16P3GZz/WXbiJkxEOWQyPi1w9i6RdY3AdZO/KADOGXtMoAFDm0EYepNVn4LCqUK8FEOPTi3racy+FGkfg+Q4b0j+Q7SxKyY00eDHqqlaxFy/ESUs8BgLwA2rZ24ZpSC83BouaNcjU0qD8jI5zpdlE+GY6Ps7Y1a7K8KHoPcogogMByG9CvhxtI/UrmXVd/AEI79w/EsEsp6gdIrbz/l2g5g4o7z9xO6ETQOPGr4CpiMlnBZLZezjWnaPAJ4pG0KpVYy1ABEuq2l0LQV4PDaxMMgrLq6Ri6JbJCF8GPAocbrLZ99x6JVL3QAdy6blHWD0A6p+v0kL4ssCBXEH4FPWV5X2roICrUEcl6B1KvXq6y4pNQEKrUpd8o6GXgNs7vlmkqCuEKOi8FvKb1kzeQ1U30Ell0qtKKP5iQw1cf2YMQGgKh5bIr7swRhvgdctpUaV1hcXmoic2yWuLdfPwR4XJ1cJxFr+pK/ZM3ENVf2AMtXC87u5bMQMx3VEByXwT2dqNgPeCEDBBuBBVuV4UbD3pEA7Ovg+e47HQ/cS0cwbrG+r7jVU4tWLhkB3CA4p+98C4FpkwDHoLgPIMUB4OcgEfGirH22jIBftLxv3yH3D/Nsn55jwfeXBEvjGVrfR2b11OI5gAsFV/V/OtXi9u7+54vh+A2IVD0J8q6oAdIypJVsSbAsw6tSlbBOCjfrwKT8JeAJpRCciritB7hwavHKq/tGtPxkxA3ATpiVMheM2qnwJtAeOB/A7TElg0gYjsWVSBd1h/RVYzN5cVc5pjbNA6CjgVeM9pQ714K4GrEceAOzZO3EynV9IzpvLytWO+KIyHyqGbYH1QiGg0DoijAXd9R54mDY3m01tIMYl2fzuXAwzOlm2DIzaE6qTVknjPGVxpcMWhNp2kF5MiO+oMyH5TxnzeS1G2WbxXcuR3C2zOpOOHmQxVMyKPlIlniJYGcsouaeGXqF0Dj2+r4RLySZlr1HFm3qFf8nzD7G/xRG5iBHPNEDn2O48Y5FK0et+HyAXR2xCTGwmSptTjbVRCabtymHZYlHZYiau1l61UXj9BFALFT1NPZuLvEHMJa+rIzHmrbFQDuItRITmKEy9wReWzM5exmd27fTwQ0ozgGjrEfUko9012vQNtqnaaljM+3Lw7GGWmJcfQQsLSy1Tg9mKjNjzYJaXCBeAhM5RC6HO8rDIHCuhuESEGsnrh8BLEWGDHawmpfD+qjlt1J5oJV/jhQQNG3vCQYF2ePQRwAWWppuhp3va5vOoGQkytg5KL+TtWPKf5fbBZH81YK1E9eNUrB03qVSTnCUu/qb9rka9YCRzW5a4dDI0WwBAEx3mulMi1WBoGR5BjgAhLKeCPXu0SW2ZnLWES2ddUS1BDNj5dIwK4C/peouwNuWKVl6K+Z3BRgdokb2jY9tw+V14GMpLh+bqStKnTOnt5z+Dk/YAbRNEKmvZfHrqfYpELIIl/mt5z0AIFV70wqR5fOR2jXDDzVtMh/gXUzpHECpUAvU0iKLUkvnJuN9ALLr57V0EKU2s//6kACazWU3Zmm+8wJtBeC5CHRl6E6ELjStqMXvDbC1BoaDuQjMOR9tI+uzQAE2IY4Hftjv+F3MPcCeQLX8NHhzNytAqaIWGAwr8weUm894RxV0pnJuJlQvOCOXe4SOe/+JTJi8x2pPGEVsdkDJriWP5oI1k30fWLRu+bzJaPQBIyWPbO+DwFEfZCg0ftDy1+cO5VkIz8viupNWjTzhBR/ktwcLLwP9Gxi+x0sDYDvDNcDj7/fHqcUr+e8A90Wn/TcL1i8AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catSPI.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catRadio.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg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) no-repeat; + background-size: 100% auto; +} + +#catRadio.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catOneWire.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg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) no-repeat; + background-size: 100% auto; +} + +#catOneWire.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catESPNow.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg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) no-repeat; + background-size: 100% auto; +} + +#catESPNow.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catLora.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg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) no-repeat; + background-size: 100% auto; +} + +#catLora.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catNetwork.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4IGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMTAtMDJUMjA6MzU6MTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6OGM4YTJlZTctNDFkZi1kMjQ2LTgzZTItMDFhYmU4OWY0ZDEyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjhjOGEyZWU3LTQxZGYtZDI0Ni04M2UyLTAxYWJlODlmNGQxMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjhjOGEyZWU3LTQxZGYtZDI0Ni04M2UyLTAxYWJlODlmNGQxMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo4YzhhMmVlNy00MWRmLWQyNDYtODNlMi0wMWFiZTg5ZjRkMTI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMTAtMDJUMjA6MzU6MTQrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg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) no-repeat; + background-size: 100% auto; +} + +#catNetwork.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4IGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MzUwODcxOTctMzc0Yy0zOTQ1LTk2ZjgtYTc2YmViMjhjOTY0PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjM1MDg3MTk3LTM3NGMtMzk0NS05NmY4LWE3NmJlYjI4Yzk2NDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjM1MDg3MTk3LTM3NGMtMzk0NS05NmY4LWE3NmJlYjI4Yzk2NDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDozNTA4NzE5Ny0zNzRjLTM5NDUtOTZmOC1hNzZiZWIyOGM5NjQ8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+5Kss7gAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAEbElEQVR42qSXWWwWVRiGn+kmFRBZqlJMFNw1gri2UbASrcS4e2GNS9SYqERNxFjARlAQo4WI2wVKYmMkEXcUUcSNaiFojEYtF261QgGpSwgiFmt7vPCZZDKZ+ftjz83MfOecb77zvt92ohACRY79gcuBs4BDgfOBMuf2AmuBbcCHwEplA46oCAPGAg8ANwJ9QKnyTqBEw/YC45T3K18KzAO6B2PAQuAe3xuBNcAXPi8EWoDRwMXAB0ANMAm4CrjffXOBBftqQCXwJXAU0AzM8WRtwCnOI9wjgZP87gXeB6ZLTzNwJ/A1cDLwTzEGHO6PKlT0ufKrgeXAiUC7srUacJrfU4FW0VmtrAZ4G/hd/9leyIAyTwEQpQzrB34QFXIMAPhJ2QGp/UEEygsZ8KnKuoE9wCPAE3r9Fuc+S6x/x5+dnpBNlL4xwG/ATGmo1F/WAedkGfCgXB8hCi8BZ/i+RWqqgR2Jn70GVAltPI6Uoi5ggkiuBxo8fQcwG3g4acBQYLenvSOl7ErDsE8a+oA/gF8M0UqNGgUMT8AdAbOAFw3ZeDwO3G4498cGPAdck8F7PP4EbgM2e9rxwCG+l+p42z1dq466EDgwR1+IDxuFEEo81WLg7ozF5wLvetqfU3Ovy/WZKfk4KZhiRKXHYuAuIIpCCA3A8zrTzozFTVJQnhHHWU6Ia/8W6iczdI40LOujEMIa83oe/C8DV+TMZ4VhEublwLUFaFgRhRB2AN+lPDk51gGTgRH7aMAuYCNQn6O3FaiOwn9eOBNYkrNwo0nl+Iy5V/WBqRlzm4HvgWk5eucATVEIoQf40cX7ZWSuOp9tZsooUYJr5ftjU3dy3zSfrYk5EnuPBobEBnQDWxP1PZl+J6lok2U2Hn3AcYZhe6JMJ/f1A1+l5lDfBGB3TEEjsCgHqk9MMFkUrDS9TsmY2wp8U4CCZuDW2Am/zVESO8tEnY2MMByV44Q9OvD0HL2bgJIohLDK8pkXhq/Yiv2fMGyxk8oLw2VRCOEyvXmgRFQqp8Ukori23Aw8naEzzpS1UQihVKdotnikR70/qgJ+zUjFozNyyHjrQo0+lB7LgJviVAzwDHDDAMVohlWtztJ8sPFfamvW7U8/MgKagIMKwL8AmBsbMAT4K6McH2Ydf0iUynzuFI2xGtAlEiP8LnHdbOAFIyIezwLXxYdNNiTzgPuErxdYIbS9KqgCjvVnhcKw2sS2TaQA3rOnHKP33wI8ldWStVlau0VkCfCYSHTaLXUMEIaTbWSrbMkaTfVB2lbZxud2xf3CE2Xw1m6zUSgMO+R+WMb+XemilmVAtUgMAy5INKHXG9fHmLiyDKgFNgCXAG8oO1WkuoCz06GedzEp9wZ0gp3xLJ1qvVlxeM7FpMfCdJ4ILrLz2ZDRNRV1NbsXmJ9ISKs17E15bNGxLvKUdVLUoENHtuSPDuZyWqWyGbZZFYl6X2rW67FJjXNGhc473w56ULfjJC2XymO1l4uhhukeC0+ntLxVrNJ/BwA2Cn/lzfxhngAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catOnenet.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA29JREFUWEftll9oHFUUxr8zu6ZbqQpSjK21O6utwTYUqS+1WCUPrcUnKd2bmBapVETwxUDNzqbEbhTZWWrQl2IrlooPkp2x+hAhiIhFFBEVbGkqBe3MbjXkQS0UbZo/ez+ZTTfZQpqd3UXyknk953znd797z70jWOJPlrg/lgEadqDXudQmGrEZHftjsHvtn41uZV0AvXnvGUPkEIAtAO6YbyrDIngvm4x/Vi9IaIC0W3iF5NuzDeRfQF8g5JxAWgTcTuBBku/kOhM9FQhryN8XMyIjGXX/37cCCwWQdos7SP31bG/5kIz259R9xWrRvqFiu5bSaxBD2yreFcSsvPcuIAcg+MVW5taFIGoCZIbHVk9MTF0U4G6QA3ZnIrOYzVbeP1YSvnFUJcbnnHCKBwB9ijPT7bnujaPV9TUBUq5/VIhDAvyWVeaGMHucGvK6cl2JIcvxCeCbEpgMgCzHH7WVubkuAMstfA5yF4A9tjI/DQMwv/LLGwTcSeHLumXiMWMqNgDNq9Uu1nTAcvzAylaJRldn96z7qx6ASm7K8d8X8k6Dkde1wWO2ij9ZiYUBCE7wuK3MTY00D2pS+cJ+MXjQTpodluN/ZSuzY0GAtOs9TxodAHcAiIL8DiIPALjXVua6RgEWq5tzwMp7DkSSt5zXErdln018Xy9Ej3N5ZUz0cySPl6fY4Lbs3nmdMoCV9zIQOXJD/FchRmDgDInAjScA2RJmBG+6Fz4ptutp3VYivEhJPLkNazT0XiH2AThrdyZUGSjl+tuF+LZcTLqVQEWs76NLrTpiDMKQR4RQWRW/UK8L1fmW4+0GZKTSS8onFDgIkVE7GW9fTDzl+KcNSH/TEDcc15o9YrmF8yA3h7E4lfeegmE8ZBBfNgPRd9pfo0sYA/CTWE7hGsCVFDydS5ojzdgbtjbtFDYRDK7kK3MOCPFqttN8K6xIM3mpvN8ngjcB+GI53glAXgRwcXpm8vHB7raGfy7CQB1xzrdMYtXPAB4G5INgCx4F+GN5JCBfUMthu2v9D2HEGslJu4Ucyd7ZoePu2XvALSRBOnOCgjONiNesYbBqtJabAydzynxh/ib8uPgSNPsBrq0p1GxC1X/FTY9RZnjs9uuTU22Y5l3N9liwPhL9fQVWjA+oe/6pxGu+hv8LSJXoMsCyA0vuwH+lLmokEcSzhgAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catOnenet.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAn5JREFUWEftlk2IjmEUhq+7JBRKU36yQoRJYoP8ZIHJSmKaItFIysYUFuQ/CyE2k5+IrESyoCSJRBIKGVJEQrPwU8LSrTOed3pHM/O93zd9fZs5Nc3ieZ5zrvd+zrmfT9Q4VOP69ANUrIDtScAg4JOkL5VeZVkAtpcBW4BpwNBc0avAKUnXygUpDGB7M3A0FfgFvASeAwOBOcB44JiklgzC9irguqRvPYEVArA9D7ibkpwHdkr6kE9qux7YBfyR1BRrto8Da4FXkmZ0B1ESwHYd8BoYAeyVtKc3mW23AvslteeUCIizQL2ktvz5IgCH0r2/lTShyB3bbpJ0wbaBe8DKALLdJmlquQA3gMXAcklXigDkvjyAFwGbgNmhIPAjr2IRBULKkUCdpK/lAORATgPDgH1Aq6QF2VoRgOjgdklTKimemnE10Cxpoe3b8b9bANvrgFiMrh8APADGAaMkja0UoLdznQrYvhjN0svmWZIelgthezCwBjiRznbJ0wFgO0Zrd9rwJswDuJPUmJ+cr+QIduMLYdfv0t9oYAUQ5vRMUmPsl+1wsfvp8KVsIddA0YBHgOlAo6RwwIrDdkP6wI5aARAd2gzEjIab9Ri2LycX7CtEpnhLALwAwhxKSmx7CTARuNUXJWzHdXwGngTAbyAaZamkuPuqh+0Y6bDk73kFtko6XPXq/5p+O3AAeB8AJ4EN6cGZ25cfF0Xgbcfz/RSYDJwLgJnA43T4JrBD0qMiySrZY/sgsC2dbch8IAwojCiL8IBqRHx1jHXEGUnr8064MUYMGFONyv/l7Jy4Lo+R7SFAuNfwKkF8TA/bzyx/ydewSiCdafsB+hWouQJ/AfDp7/68vn5OAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catBlynk.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAhCAYAAAC4JqlRAAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMTAtMDJUMjA6MzU6MTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NTJhZDZiMGItZTMwYS1hOTQ1LThlZDAtYmM0ZmMxMGY4NjUzPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjUyYWQ2YjBiLWUzMGEtYTk0NS04ZWQwLWJjNGZjMTBmODY1MzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjUyYWQ2YjBiLWUzMGEtYTk0NS04ZWQwLWJjNGZjMTBmODY1MzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo1MmFkNmIwYi1lMzBhLWE5NDUtOGVkMC1iYzRmYzEwZjg2NTM8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMTAtMDJUMjA6MzU6MTQrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMzwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+erd7egAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAEs0lEQVR42rSYT2wUVRzHv2piEMQT8UYCRELbnXm/N1s9+OdkojcPSjQaLiRKkBDstrvdnfnNtiAQEvWIQfBvTArdnfd+b7elMTbcjHrwYgJqlIt680JogiYkJo6HmaVL223Lthy+2Zn33vze5715v29+syBhbEBjJPzlRmKsPcgyyPTs/4aE0/sPkPSESEj4ZnebtjFI4r4AXifhMz13wKwIMb90B5QLQRLlICtOWiRhtRLA4TzYuVUBTN4mDHI8SMLPkGUoyyAbY+jyCJSrIjArAjy3dI6lAzoQMyT8YE+ALhAlDL8dQdkYytZXA9ifx/6ehLetdgZOkfBXJPwAySqTGwY1s5UXZiMoyQHm3oHvqghMfWncn0j4z/4OofCLJHydhH+7S5avk/CvSvhHEr5CNn6/MFsKfFdF0dYxLDECx9COQcKP9JcFmQ7k25eSy3+7pIVTfVd7dEYlMfxGHV6jDt8wdN9pmOmVO8EtnyfHZRIuk/C4stFJZaP3lI0aw813/w7MZEouTIca9Tf2TZ/AwPQJFMwkgtYmAagG7ybDIJennY3gJQyvOYHd82/u3Dc7cqNoJlNy/FfB8EOFhDHUZAw1I2iJNgGgyc+rS/khdBmA35iEL2PY891LGJh/q1RsnkyVcKovhcVgqoZgKkTxYognTRXkos0BUI3cIROGasZQUkHQPgbdKr9AZiLVEqeDXx99auDKYXTkzVSgzcSGAZ5V01kKUqOjOjxXwxPzb2NwrnQhMJMpWb5ZkNGHh1olFFolFGZGoVo10BKH7AfgaWrkALmUiUCGtwWNyRFtJlLlwlRL/WAgJxC449mqk3iTskD4D7J8jSz/nOsaCf9Cwgt5/z9kov26HSOYmcBwaxK6PQG1eAC3kvCjHSF/8L9cCyS8fVUA18sL4lRn1wtFEx8daI9h79QR6E/LIBOCWnd24Pfu50DCZ0n441xnSXjLGj5wjoRLJDxKwiUlUU1ZPqVc9Ily0VXl6qmWelpoj18dbIxsoc8rUBerUC7ujnUo18F+fGCX6vYBiaAsw5+tYV8zhDdV46AVpdpx6ifxRwOX6hiYqsNrxh1L3rARZT5gM4/vAHgzVXjJOIoXK9AS/qCy8be1hFsDiaBtVidsmhGpaQbZKAPoFCKmCkpqIBOdJonz91zZRVIBSRkk1WXVUn8A0wzVjOAnIXwTQgmDTAQ/iVCwMZTl6Q6AdtUd2lWxqI074bDfiOCb8I6Ui6FNDX6jiiFb30OO/9XCqbJ8dSiJUTAxCklHefXUN0ASveybcEeXHlcu3kU28lQSHvMt39Cd1DTRfmpGoCSTMpm6z8J6AV5dmvcrysWpljglyylZ/pAsQ1uGzusB7ZbXBesFeG1dABLdIht/68+OHfDblawydospuxErfoyEvTW0V7nx7X67DG+uBH92DHp5XbgugJMkfKGfrxzlxuG3y/Auj8KfKS8FOEbClbUAjuTb+dk6J91JwoPZdQzlxuHNjPYC+CCPfaQXQCkfcPoeVt0m4dsdAHIhlNTgzY30egWn8zmOrwRwqLtjnRISvrV4H0ObCah2FcotLz5ynSfhL+71EN7T17G29V6T950F9+3/gf8HAN/4Qqg9PlH6AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catBlynk.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMTAtMDJUMjA6MzU6MTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZWFkMjI2ODAtYzQ1ZS00ZTQ3LTk0MDMtZDk2ZjcxNGY5OTI3PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmVhZDIyNjgwLWM0NWUtNGU0Ny05NDAzLWQ5NmY3MTRmOTkyNzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmVhZDIyNjgwLWM0NWUtNGU0Ny05NDAzLWQ5NmY3MTRmOTkyNzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplYWQyMjY4MC1jNDVlLTRlNDctOTQwMy1kOTZmNzE0Zjk5Mjc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMTAtMDJUMjA6MzU6MTQrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+SHn3wQAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAB1klEQVR42szXT4hNURwH8A+eKWmGsBlbO+RfYmOK0aSIJFkMUdZmqaRZCQtSmoWSjQ1KirAyK8RyLKwsLGwsKDVp/Jtnjs1vcZvuvHffu/fO86tfv3s753zv9/zO+X3vOVJKSvhwSulFGYylytly9JcBKEvgC96UAViSUtJLy8vASYzW8K09GCtCYBb3KiaxCa+xoegSnMc+HKyIwATWRna73gPbsRPT2fERf+Mj3i+015D/oQ5qdiK1t88ppaFOdKDRRTo/4DkGMrNbGUs2iFfYi5eF0LrIwO0WfZ5En8k6lbDVmCsRh7F6MZRwvv2K+Ce8FgJzLdpOR3yAH0XAutmEW3EG6zKE+nAIQ3iMs0XBGriDbXiI6wXG7A5fyB4VwBiLSbxrYCbE5WdB0lO4izXzJrIZR0LGj+NYm70yjZmqy3BHSmku+p3rRRlO4WY8H+5FGcLXiP11EWj399oV8dNiZ6CBazga7/fr0oFTUfPLMtlYgVWZPrfwrGoCfyP2YX1OexNvcQNP6ziUDoQ3c5axiW85bV0TGMWBUKsq7GpI9niR88D+EJLxkremrI8E5oUiQrQRF3G5wgqZxIk8bfgvLyad2BZc6iWBQYz0ksAsvpcB+DcAGTVKMgErpF8AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catMixIO.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAABJRJREFUWEfFl39oW1UUx7/npt0olbk/LO4fUVEEfyJYwa3vxRZFmSI0L+tw6pxQkP0g76V2terQtWNO7IwvL93cKLLaKXPa5aVWJmww2uS1nX/0DxH8tT/E/uH807kJzi25R95L0mVN0jTZcPe/5N7zPZ977jnn3ke4wYOu1X972Gkdi6qTterUBsBMmuH0ANQJwj1gnGFguOliQ2RoqPlyNTBVA2i6EwCx63x1CUezLEQkYbYcXSrEkgEC+vQDRLIHwMs58VmAPrAt5Ytg2NkAptcZ/HB2juNMvkgi2nK6EkhFgLWhb5Y3iMYekNgOxs0AnwPEXttS9iwU18KpXWDqBbDMw2D+MCNFZHyfcrYcyKIAwa6p9SzdcKM5JzCM9KV+e/8Tc+UEO7ZOrMosqxsEY102GJiDEBE72jJYyqYkQNBIPSRBbxCwIWtEKZbyncSgP1kppPn5dfrMGkmZIQD3544lBYiIbSnjhRpFAMFwqp2ZDgK4FaDfibEjHlNGluq46Fh0ZyOAERA8XwysT1jqaH5dEYAWdg6DsREs++3Y4321Oi4GSfaBxE4QPrWjaj6Rs1SFI2A4EwS0SkKb5Pqf6vjfLUR0Om75T1QLoxnJTjBuy29EMxxmYDJhqW1lI1AIIKRs9ajdLGAcgg/vxk3110ogmj7ZBqrrBvhZgH6zLeVO16ZqALfFBo2p9xjcDaAewN8Aoralvl0KQtt26nbyLethwjbvvIlPCqJ9cVP9umYA1zDYNdXM0oN4PldaZ0hwbzzqH8uDBMPODmbszv3+XoL3jln+zwpBa4pAoUCwy3mOJd4C8FiuPI8DmYTbEQFaScB5Bt60LfWj3I63AugFy2E3D64ZIA+jhZ1XwegHsGoekDCQPk+7xw8pFzRj2s+Qbh9Zm41YtqKuG8A8iJ4tLbdi8ldywJgaIHjd88qoFSBbBb5N4MyIr6HRHH2/+a+rznQBgGY4XwLoKErQWgGI0UTAfgBNANwL5YBtqflEg1YMwCVLtFYAN6wdXTN3S5nuZtDmnPhZEO20o8rH/wvAfJmFnCch8BrnEsu2VFo6ADQ7piauSxJqxlQnOOO110oABPzJLGNVteK8KIMPJiz/lsXa7uIAfCANYY1byi9eTwinXgHTMAOfJyz1hbJ3gfsWYNBJ7zomJFkKMxFr+apk6y2ZhBwXQljHTMVxbQLhydXEPv1KF736li39IAmn2gHaxYwHc46PkCAzbiqzi5VhRyh13+ig/0d3TXto+i7hYwPMoZzNDwDtsS3lSKFG2SfZU9tPNN6UbtDB5NK7HS/NIJNImnbU/4cX1hKN6MXQtyv+oUsGyLO7BcA5ApuXlwtzfEC5sDCSFR+l7eGJO3xcrzPYFfSBMEcSZjymWt5OCz5MAnpqM2Ud3+s5IgyRz2fGI2t+LpdLFQHm264x+SijTifwS7n/ZhiIus+roJEKMoQOsD87R8cFS/NYzH9qsSTOMlY5gnryGSbXGZ5eaMrAdwDMhKUeXqps1QB54YCe3EQk3AR7xH31gOTQipUZ85O+totLdV5TBBaK35iP02q2WGHtf8NmjT/s7bDsAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catMixIO.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA1xJREFUWEfFl13onnMYxz/fhAM1DogTmUh5TaFwsLZaCSmvCzFKLSxbbbaZxRBT3udtS7K8xFgalgNKhrITB1JeD8TBOGTmYEV99f133U/3nt3Pnue5t+Y6+fe/f7/f9f3cv/t6e8T/bDpQfdtzJW3v66cXgO2cWwHcBpwG/ARsAp6U9M80MFMD2L6qxC/qEPqqIDZPCjExgO2zSnhhOY/YE5Letn0DsBI4t9beLZAd40DGAtg+soTvBo4G/gQel7Ru2Lnth4BVwBG19lSB/DYKZL8AtheU+PnlIN/5QUm/jnJo+wTgOeDa2pO9iY0828c6AWyfA9wD5GpjnwP3S/ps3JU267YvBl4Czmz5CMgHbR/7ANi+EtgIHA/sBNZIenVS4Y7PcjOQ843WAklbmn1dAK8BOZSrfqCvcAdIfK0FXpfUBPKAarDf9qfAXGAe8D1wB7BD0kfTwthOnTixeRHbBrZLiu8Z67qBNkBAQh17BXhE0s/jQGxHYDlwOfCLpJNzZmqAlFjbj5azw4G/gWck3dcFYfukyprFtf4x8Lykbb0B6mDSMG90fTlO6V0l6b1W1K8BHq7/v6la8UYbtNcNDDm4ArgXuLCefwhsTUUEjgH+AlZLerHA76zCtClxcMAArbddlCwBUnQaeyw3IGm37TlVRy6txZmMOmgALZAmteY1Ldl2QNIp29YPoNLxliokT0vaNfRJ9gKw/Q5wXUeA9gY4DngByN80lA2SmkBLWg0DJM+7rB9ApeGplQG3l+eArJX08iEBaH3v+cAyYCawJGkKgKslbT0oQdgurxMA/AE8O20pbr7rRknpAyNtDMAGYL2kH6sm3Fpz41uSbmycdvWCzAIpoWnH6f+J/ve7KEYAZByL8BclnNlxSauK7tVlRw0kmQkyXp1dwm8WSObAgXUAnCHpuxI+BVgK3FUHvgXWSYqvgY0cyWwfVeShT8X7NxAF8nuJdBWiWSWcc8fWDNmc2z18k5MMpbNbIIcBmfHyWdYXxOCHie2kaoRPL6GMZNn7w6hAGgvQSsMLyvlN9ezLas1bbF9Ta+kBsTSpCH+yvyCeSedxG4bXbV9WYpd0nP26hDPWTWRTA7RuJD0iAXZepp6agPPWeyZSrk29AVogh/7H6TRvOG7vf/Gg2jD45+rBAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catweather.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,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) no-repeat; + background-size: 100% auto; +} + +#catweather.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgEAYAAAAj6qa3AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAABGpJREFUaN7dWU1IVVEQvvdqpIVokiUWGrmQ/v8QKSLeK83IRWUbWyhBoLaohRBBEPSzaFMLg4QoApEWESWRC03LQkpXEUhJVuji9UupYFjka6bF56hz31Xfe/fmtWbzOeedM/PN3HPm/GgYMQozM3NWFjAUAtbXx2fHsoD37zMxMT14AD0hIVZ7syYguHIlkIhFiIlp/frY7Ozbp8d//w4lKcnvOKMMoKWFlVy9GvV4YmJqb9fj6+r8jiv6BBATU3GxDuDRo+gSZ5rA4WHgr1/AvDy/44o9EczMvHkzEpKRodsTEoALFzqP27gR4/Lz/Y7DZQIWLQKePQt8+RIYDusZMjSEgO/cgb5zp9/8xwI4dgzY0ACChYUyVaccp/p9/cqupKFhpuKnl04wCLxwAZib6zIBr187E+vtBW7ZovsHAnrtShXv6YFy+DD0nBxZGmjfulWKJXB0VPtragJalvZXWgp88yaCIjExXbzoMgGyrV2+DBwc1A6OH5e1DPz4UbNobJzpC04/g0ZG7P40v+Zm7U/4XbmC/kuXxp0A54QsWADDBQXQpZjV1Ggi8kWSk935O3pU2/38Gf7nzYOemQksKXHrz2Vinj7VRKurXdslJqbERNj79EnbDwb/dlxWbN1Xr9b648duCZiWaZlWOAyto0P/unat7wnAl5DdICVF/zo87JaATHGDDTYizguFheO1gpiY7P5nUUD0/XtdrHbsiNnO2Di9pCbdKaYSuSsQE9O1a2jMyvI4QCk2J0/qA0tuLvDWLc1q5rM7+smtr7bWObpwGP6eP4d+966u/h8+OI8bGgLu2eMy8Lo6oH1fFqmsBMHdu3X76KjsFtPbr6/X437/Bso2tnz5jAlU/l+8cOZRVBRnAvr6tMGODhisqJAqrfvfu6f7y75cXY3+69YBy8sjiDIz88GD7j5YcjJQzh8i377Z7yRRGkxPB65YEV3/sjKOSibNKGJiOnEi3sCnT0R3t/ZbW+uVH5vDVauAP35oh6EQAuzsdF5KfX32meQtr717tb+BAfibP99jR3KGly/a1mZ3BH37dmBXFzqXlnr+RRQvOal++aITsW2bewfExJSaCoOvXmkH8a9lzxNBTEytrZrf9evAZcvizOyRI+PFxVH27/c7cM33xg1nnrLryPV5mkdXZLKqamye2w4oMgPOnAHOncdL8M7O1oHa7y4iN29OYWDJEv06K3L+PHDqB5K5KuB96BDQ/kJ14ICt46lTusi1t/sdgGeJICamS5d0AlpabJch+7t+Y6PfxD0T0zAN8/Zt3ZifP5EANtjg9HTdYXDQb97eiv32mpQ0kQDTMA3z3TutFxf7TdlbCQS0/vbt+J9YE7t26TUiu8CkYvGPid4d7K/Xp09HVHX80NQEraREWoGyfTx8iCUTCvkdYISYhmmYqalQNm0Cz6oqtC9ejPb+frRv2BCZMWZmTksDPnnC/5X09wPXrIly6shjZWUl8Nkz53PCXJOfP/X/Kc6dA6al2eP8A6NyG6am1cFxAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTA3LTEyVDE5OjM1OjM4KzA4OjAwTAlA6QAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wNy0xMlQxOTozNTozOCswODowMD1U+FUAAABJdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX3FxN3VoNHVqcm5rL3RpYW5xaS5zdmeyg/FyAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catTinyWebDB.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADGUlEQVR4AcTWC3LTQBAEUMkcjHANHM6ScBZirpFwMBDzhvRG/pTLELtIqbW/meme2V3Fm+mCv2/393e7+/vH79vtc7Dbbpc1xnzZseVzQejppADOICiSzbI8T8vysEzTXXAYfMyX3VTgw7djlKhD+4z3BISUMwjKcJ6ml2mev8Kvef4UbHe7GTLWsoH2maapY5QgYlSmpvaeIcDiIamACD7vdp+2T0+P8OXp6SVIpIy1bKB9SiAxDcYnhLQA5MrGhvKQCmjuPSCmETGCEfK6LZs1uYwpZ3MLELKuhi3vCjRZ7fE1Mu5YZ15rER+qEpuUvhfOOF5zKVwO6KhAb8U1Wc7EWnMNASqxXjjj/64l+44rQd4EmKk9uaUIHyVXHVXwJqAOYU8S4TNb1+QaYmSM2IfInjdHuGowBDgY7v/6migVxw7wKkjAoPz7yVhLNLRPJSLjEPvGuOq42rFeQ0D1+7G4J6RmO0BVhiABA+IgYy0baJ/yDSli35jDq34koHz6iRBiOHdlqnQCQhutXuYCtnz4hvSQOK5HApRPVsoZI84tqP4fCAiCr2EuYMsn/ufaISCE87J85FALd9pbQJKJWzx/uj6Lej+rzF2+ytb41hgCHBonV+ngFsSqjMMhTfwhwAQR9l+JGJu7BsRC7JbgcFgTdwhwoJzeXqgrxzhiCOr5v3iFdE3c7rXFDmv36zUEVH9yeu3/EGKyxChZi6kPi4BAVGAcxE4CsgVhZC02DuNgT4BJ+89oVKQUc7YGAgJRgXHABvhAk9avIVmLbW2NIwFKJzNGLaRuA2eCBAu6SiVOm7m0bPnAKVKxgyMBSiczQmKUVrAg4rSZSxv7S9qNMjFM1jLKnPlbIFx4Nj48TVKHzYKMLild+/zDqytbXFyXef6xUbbJXvbM8kCE7i3gpvQWC16cku0zoLMnoq4bIcD2PZAxYtfTTelYr+T6LUCHCKd3LcRh5NgB/scPEoeEuFZu3wpKGBAHGWuJhvYp545RGbuip87WqEDZ7j0qwmFUpYKoTgfcs3wbWAN2CPl2jPqW9Fl7Mx293wAAAP//quMgcwAAAAZJREFUAwDG/OnbxycT+QAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catTinyWebDB.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADO0lEQVR4AbTXC3LbMAwEUCoXa3KyuCdLejJ1H0LIkp1MfraHG5AgsFhCojp9GF/4rev6GJyClx0yPYzeEwePX6Ae7woIrYKAdA3RS/AcIG1keRjtFweVGy72dIjcLQ4CElxFs68gIM1yvI4x/k48xRaW+ev1tB0nJ67xOMZ4DrdxJWQTkF2bl0WfZg32lDm8xhZCXKPX04oBOUsCWlCm10JKwCyubYKQh2tB0Kfg/xGWZSEGlhAQE1NCHHg8XBR/SoL2Cro5wq3oXsRjdWBW+puAX594cn1oUuMggoBq/dz4MPGWG7ta5w7MR3HLOh9y7WvpQAe6KtrT67vYFK9r2eR7AXx3FZHirjmoVdgL2L+diV19Tk8V9Ys/IaqPW6wvqtNj61rnT7EXIzjc1UTqiNz6nGZCFMJC9mvEX+tpxYAcRZ24C7tlrvp2sH0HiiwiLj8a/AjcFkBYSMEaCaj1tGJATlyjio4xFAbrLN/GlYA39xgtJFZXfJy0DRDAuPjxNcQpJp31dbV3kTLOj6B3ciTti1n7BMQg0BlACMj34GuIe7dg12m7dSAVu+CfudnrubydSa133wHPTZVu3xbEeS9sHUgBb/JLeqrdX2pfcr41cvKqkaQ+7NU7ICBxq/fgZo8ghHj7puDdDrh1ICdfokz7YwaFdY+TTMyJ8ztIXhWN3RdG4V9dt8r82IGIUMhmCxFEzHOIehAGJSxO1roR17omUWGnhSyHU7slaoz+bR1oR0R4B1yj7ggxkjsEIZSwOFnrRlw15ICioV1Y69rsP1cCIl/rSuWyLITAU+ZLknSnQVijfWXFBnLgqmh4tnElIDtap+VOlOV5hFR3GoQ12lf2nPH5jIBSmJPXqZPiVOXL/C5jV+uVAAUVcuo+0aetk/ATpLjOem+k/3vQ1swOIrK+y0hxjxfwu44nHfCPjfbvRSR2PeXPSeRvEA4vtSvqajo9uipuUgJM0gnt96ZvQuL3WMKxIihB69t/VJE22dj7Mu84OYo6ccd6tzze7WCbgBSrcSFEAj8Czw0QFlKsRgJqPa0YkBPXwOFQCoP16N+VgN6YQiR0V5DAgaDjp7UH4io3PKzu8s+ws/kPAAD///OpEaoAAAAGSURBVAMAJotArPFCzysAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catAIOT.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMDctMzBUMTM6NTI6MzMrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZWFhNDM2YjctNmVkMi1iNDRhLWJjNTktODEyMjIwMzZjNjNmPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmVhYTQzNmI3LTZlZDItYjQ0YS1iYzU5LTgxMjIyMDM2YzYzZjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmVhYTQzNmI3LTZlZDItYjQ0YS1iYzU5LTgxMjIyMDM2YzYzZjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplYWE0MzZiNy02ZWQyLWI0NGEtYmM1OS04MTIyMjAzNmM2M2Y8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMDctMzBUMTM6NTI6MzMrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg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) no-repeat; + background-size: 100% auto; +} + +#catAIOT.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTktMDctMzBUMTM6NTI6MzMrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6MTliYWIxZTgtNTc0ZS1kMjQ4LTliODYtZjZkZTBlYTAzNWZkPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjE5YmFiMWU4LTU3NGUtZDI0OC05Yjg2LWY2ZGUwZWEwMzVmZDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjE5YmFiMWU4LTU3NGUtZDI0OC05Yjg2LWY2ZGUwZWEwMzVmZDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDoxOWJhYjFlOC01NzRlLWQyNDgtOWI4Ni1mNmRlMGVhMDM1ZmQ8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTktMDctMzBUMTM6NTI6MzMrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+ycM8ggAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAC/klEQVR42qzXe4hVVRTH8c9Yjg6NNIShoTkGmVhiECQKITJR4gMVJMkiX1EhFpQgikXpSEESpf4h+MJXZkWZGFnUqKR/BEpEmBJqGVQq5B8WhoWP6Z91YTvduffsO/f3zz33nM0+3733Wr+1TkNnZ6cM3YKHMArDcROu4zSO4RD+ypmwIQNgLOZiAlrLPD+HfdiF/fUEaMVqTE/uXcEJXEQ/jEBT8rwDL+GHngJMxm40xv91+ABH8E8yrhH3YyZeQJ+4PwfbawWYgC/i+jM8j18K7Gr/2LEn4/98bMkFGIxfk1UvlK9XsDKuR+J4DsBBjMeXsRO1ahtm48eIk0IAo/A9ruG23LQqo4u4FY/iqyIAb0cEb8Izeq7XsBzvY1YRgCN4EBOTIOyJHsC3+D1iqyrAHxHJ9+BUHQAGhklBM/6uBNCAC3H2w8Jie6qbcTbmHox/q+3AfrRhRphQPdQcv5eKHEEHHsZivFXjiq9WeN6Ey90BDI+chTvxW+bLv8GQqB/lINqxILJrTzmAXXg8HOzVzJeX/AMW4Z0yYw5HOV+DF7sCtCVldBr2ZgJswtNxfQG3lxmzJ+ZuD3+4AWAZXk8Gv4mlBV/eJxyzMbk3K8wn1SdR1leEOd0A0IypeCQaD5iHrQUA5mMzdsRLduMn3J0DkGpBVMFyk5TTcdyLSfg88f+2KGzZAH2TVGnq0nx0F3xnMSjuPYGdOIrRtQAMwPm4bsGfFQA2RFqdw4EAbsSUBPBYLsCgxAP+59+JegdcUwXATyO2sgBak/arocLks6Pp+DlSq1eMvxoxsDbG3RE7WkrDqgD9oyqKszyNj7p0ub3i7EdWyJbSijfguZhjRhEAeDdpLEtaGNkBQ3GmSqCOiPa9tJPvhT+swpIibfljuCtW+VTSYHwXmbISJ7Gxwhwror1rT47gZbyR+2W0Hs/GVs+rsSzfhzH4OLwiC6BUKzrCLeuiHICSuVyOvrFoW76lXgDj8HXmAvfF511dAFqiR2ip4g2pPoza0K3+GwCzSgrQzBH61AAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catFactory.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTozNSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MzUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NjkyMDk4ZGMtYjhhYS04MjQzLWIzNWYtOGVlY2VkNTllMWRlPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjY5MjA5OGRjLWI4YWEtODI0My1iMzVmLThlZWNlZDU5ZTFkZTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjY5MjA5OGRjLWI4YWEtODI0My1iMzVmLThlZWNlZDU5ZTFkZTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo2OTIwOThkYy1iOGFhLTgyNDMtYjM1Zi04ZWVjZWQ1OWUxZGU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+vIUvZAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAFRklEQVR42rxXXYhe1RVda59zvplQ608yoMWGNlXESKimFBKw+tBYqKEgGColioQUS+hDit8EblSq/YnJDdPYFh8SWqmEIGXw50VUqNPiT2lrLSk1SqTBaa2lpBinUSYxmXP23n3w3o8vYzrzfQn0wH06nL3W3mftte9ht9vFsMvMEGPcGGN8zN3h7j9x9/vc/SRJxBjh7ovG2bVrF7ht27ahwN0dJD8dY3zH3Y8DeJPkWneHmW0CsH8oAudSgRjjQZKr3X0MwHsAvk7yUQCfAPAIybsGiTM0AXdHjPFrIYSnzWy/qm4SkXY7kPwZyc0Argfwu8Xi1XUNjo+PD1N6xBiPAVhGEu7+sJltd/eTqooY470hhAfN7EYAL/+vWM1Z7N69e3ACjfAeCiHc7e5b3X2NiNwOAKp6s7sfCiH8k+QhAJ9fKBEzg4h8VIFBrqDJ/tKU0lGSr7n7taoKkreKyH4AFwA4RXJUVa8ws2mSZ62giMDdhyPQCO/3IrKW5Ap3/3sppVdOkk+IyAYze7iUsrUffD5wu9cjsNgVuDtCCDfHGJ9V1Z+r6rcAIITQC0byT+6+upSS3N36z7cinV+RHoFBfCDGOOvuo6WUqKoIIaDT6bQEHwRwbynlTlU90A8kIj0C832hR2D79u2LVWAnyXtU9Q5VfYwkUkqtksfc/V0Ah3PO1/SrPIRwVuBhCfQASinXND6AGCPMDO7+EskbVPWqUsqRNuO2zRZaAxFw99+SvL6UcpWqHukPTvLLKaVfq+qBUsqd7d6ga0ENNADrUkpTqro/57ypX1DujpTScQAX5ZyDiFgIAWY2PIH5XdCWrgUopQR3t/6yhhC+F0J4wMy+qaq/SCkBwHfM7Lo2zALY/EgmfL2u6x99zAeae/5+COH+UspmVX207eGmJS+OMf7H3adF5IrWJQEcArBqiJn2t7quP/cxAiQvSSnNuPtbpZQr28zbL6U0JSLrSK4C8Eaf2ATApwacKwRwtK7rcsYVNNlPicg6AKtIvgEAc3NzbfY3hBBeMrNJAN9oXHDocd6SPkMDjT/fGGN80d1/SXKjiCDnjMb3EWM8RnJZKWVEVedCCL1+P5vbDUSg2+32PDqlNAPgEpKRpJZSkHNuwe+JMe5U1W+XUvaGEND3L3BO64xhFELoAajq3v6MSH4yhPCBu/8j5/yZ1g3dfQWAywHkIXAJIAB4q67roxwfHwfJC2OM7zdTboWZzff7Z9x9fc75C6r655GREYjIRWZ2/DwK8O+6ri9jt9tFSuk5kl/NOV+nqn+ZB77G3f9gZk/lnDeQxMjICEgmM9vs7pcBmBsGmWRHVd+cmJiYZFVVIwBOufsrqrp2/qgFcJTkpaWUJe5+qpmOEJF2HgydOknknLFnzx6wqqorARxx950icl9/28UY744xPpRz7qaUfjw6OorZ2dkzxHeuBFQVExMTYFVVNwF4HsBdAB4xMzQaWCYix1T1XyGEy0spOHz4MFauXDnww2OgLqiqaguAvQC+QnJKVQHgSyLyKwBLSK5ZunTpH/ft24fp6Wns2LEDJ06cGGrwLEbgpyS3qmoAYCLyXQA/aMp029jY2OMHDx7E5OQkli9ffvWWLVuenJ2dXXKeBBzAK3Vdb2RVVb8B8EUz+yzJAyKy3sxeFZENqvpOp9PBzMwMUkrodDqrY4xT7t4BcD4MpCFwE6uqetXdryZ5gYhAVX+oqve3fz0AMDo6ihgjSik4ffr0eTtgK972CuYAJAAfAljv7i80r5zeA6J/Ip7rAFqIwNvu/lczu0VETjYvnf8bgf8OAAIvQ+6K9rGkAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catFactory.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NTozNSswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MzUrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6YWY0YTQwOGYtNTBiMC1kMDQ5LTgxYTItN2VmOTdkNGJjZTI1PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmFmNGE0MDhmLTUwYjAtZDA0OS04MWEyLTdlZjk3ZDRiY2UyNTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmFmNGE0MDhmLTUwYjAtZDA0OS04MWEyLTdlZjk3ZDRiY2UyNTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDphZjRhNDA4Zi01MGIwLWQwNDktODFhMi03ZWY5N2Q0YmNlMjU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+ihKg3gAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACt0lEQVR42rzXW4iVVRQH8N9nXgo1jRE0DHRURGTQJoQRLB+8gIogKImoDFIo0sOIPWVR3tCn6EIPgYoiIiJeXkQFNTEV7yg2RVJYqRET1WQiJt62L+vAx+HM6JyZb/5wOJu19j7rv9det5OllFSJhdgZ6y/wEe519EeyKgm8hlu4jWuYGPIl2N4dBC6jHoPwD97GNvTFFiwtksBsHIibLsnJX8AmvINJOFMUgb9RE+uv8EHu7T/EBkzGqSIIfIaVaEIDFoV8Jprxe3yPK+IJBqMF32F8yObGU/TDfbyIkfilCAJnI9pr8VuZbi/mxZM0FZEFM3EIm7Gsgv5SZEUvPCmCwN1wb88Kug0RfI3YUUQh2ohVWJyrfCUMwl/4EWOrKSjPIvAsAyfxFkbj5yIInI6iUsnAFHwTbm+stqG0R2AqjlWoeCXcxoCogE+KINCegTVYjXexNWQr8Hqs23NrFp/v8WlbBNbik6jr28p0A/FvFJuROXkz6jpw+V8xohKBV9CK6xhV4eCxeJ46/JCT98Crz+v5qKqPKhFoy4CI+JPYjQW6AOUEJuNb7IqJp61O2AcPiiDQGk/QE4/L9q6KovQevtZFyBNoz0B/3MFNDMvJazEUDztiMzLrOlpKBF7Gf9HlaiscOohZeANXQjYgUrVa/IkhJQKHMSPy+GrZxgacw/5ouSX0ijQdUkU89I5hdneWUuoTw8T53HSbR0sMIy/Fvi5FllIaFXV+Y8z2eayMMex9fK4AZCmlaTgao/SWnK4m0u6PCDRFEVgeUT89ihC8iSPh9gZcKJLAlzHHlZrOx1gX+vnYk9s/BvuCWGeQIuYWZiml45iA4dHbZ+FiRPytsoP14aXenWnB0TfOY1qWUroYN+sXyvXRCbsFWUrpQeT0/3H7E7oRWUrpBn7CnGr+XncWTwcA4EzxwWHPpz0AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catNova_G1.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjIrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZDNmNzAyOWQtOWMwYy00NTRiLTllMTQtNTg0MjY3NTRiYWMyPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmQzZjcwMjlkLTljMGMtNDU0Yi05ZTE0LTU4NDI2NzU0YmFjMjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkM2Y3MDI5ZC05YzBjLTQ1NGItOWUxNC01ODQyNjc1NGJhYzI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/zmC9wAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADFklEQVR42uzXPYgdVRjG8f/znnFbEUWwFBENKVLEMosoWNiYoEnYL4MEtbAQoqsi9gHNrh+FYKKNMfeGZZeNNoKaJhIrU9ikEQnpUq2gRYp1zvtYzFxJjAlC5pImpxyGc37M+3HekW3u5NJdwLWA5fEikUGNpC2VsChZ3ha8D/zu1HzC9xEJGSQQpULb4EgiEtfSPY+EWrBMlIrbhiyVAFYWRjcHKAMDLhWh3bIu2HwmeAzxlGEd8iVquZoaHLD0hcwm1rcKAB8yfOkaQgnFr8o6jozbWEwxHhTw1njJ4I+AN0AA+4F1Uo8gX0oZarkvIkcEz9qcBx+klitDAt4DjvaAF4ANUg8Dl90foKgg9gmdAXDGspWrUwcApIVKBcC1lCh5QnDY8Bt4nzMuThVgC3oAtUBUCO+R42vgfpvVtJanBgBwJAZUC5SKZahBBEeBd4E/jZ+jLeccUwAgk/L1gAxCxvC4rE2JHU59lfByRN12HRIAXa8AFHkdIPvQROTrhD8BgX3AtWwMCgBIQDLuO+O1AJWK4UE5Tof8tK2zVTkXsDUYwAA3+QI9ANqGaNqDwJoRmD0ri6d+GgTwT0LeAqC2gabFFiF+Bp44tnBKwwCs7vBIMoMAVCqZgTKgaclaCAuaFjkuALsHA9iC/wVgIZocuQPPrsyPzg9TBVb3Vn/oDYBSHwKtBcw69UPK80Rurc6PByjDSJyB+s54A8BxJCI/dJeKB1zLhiMhkmEApXYX078BkTsNZyQ9StXJlF9R5Pbkyp4uQD4msQz8YeVe2uac5e7yGgrgPvvVJ5hS0NQnhb4B7rX5wNY76puT+7DcPsBcJro6V8YEMBPwOeFD4F+B551xcdKihweU7OaBDFTqftB6X45HjD+eDCS3C/jvkQwu9bF+QGgs+RnjH8FzynIlZYYAHE9508rvGgfAi7ZOdkOpUeRriE8B3JYFy6ejVKiFYQCjJWqppEVTC8AuhX9x6oTEDuRZmzWUh6nN1cm0MyygacntGbQ9A6VS7vnrTYVXsLacmrM5q6bfcGjA3X/DO7H+HgDRj5vujRlaHAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catNova_G1.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyMyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjMrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmEyZmFlYWEtZjcyYS1hYjQzLThkN2EtYjEwY2QxMTA3MmNiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmZhMmZhZWFhLWY3MmEtYWI0My04ZDdhLWIxMGNkMTEwNzJjYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpmYTJmYWVhYS1mNzJhLWFiNDMtOGQ3YS1iMTBjZDExMDcyY2I8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+wqwjaAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAABl0lEQVR42uzXP0hVcRjG8c9FcI0wgsYQSWloqDEJgwYXk/6IFYaEOjQIlRTRLpTanyHIaqlQEaV0ESoXI6ccWlxCws1JwYaGltvyHrhIQ8O9ryC+0+89cA7f3znv73meUyqXy3azSvsA/wFwFw+xhSv4lAlwEit4gWNowwx68bsWAK/xHgvRX8cblKIfwHisr2Gy2gBlPMHt6C/FjhvxM64dxATa8RVd2KgmwAMMR38RsziK9R33duJDrIcwlg0AdXiJG1gLqNVMgKJOYw4N8SaGsgGKGsZ9/EIHlrIBoDlOUgveoQ9/MgGKGsSzWF+O56QCwGFM4SwW0Y3NTICiujBdMbDL2QBFfcOpCmVNB1gJf0kHuBryDa0h4SkAR+Lbt+Jz2HnaEN7C4904hsfDpJrwFv2ZQjQSPrCN85lSfAbzOIBHuJdlRvV4FcnpBy5k2nGRloqBe5oVyQ5FFjyHL6HvVYtk42GlH6PviUkulOsmnleIy1StY/kJfI/Y1RKCMh0RrCax/F91B6OhYN1hq/v/hnsH4O8A38/3wXV4mTEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catCommunicate.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA6hJREFUWEfFV0FWE0EQ/dV5ijviCUwYXBOCe+EE6gmMJzBsYLICVgluDCcwnsB4AmEvQ1hLZDyBYSf60uWrnu5JM8mQCe8ps5rpma7+XfV/9R/CPV90z+vjTgCetb9tsqInDKrIBggcayrFZzvVk0U3VBjAxuHFS2Z6DeDlnEX6RPzxdHe1XwTMXACy2zGV9gi8WSSg+4ZBxyUeH3xtPT2+bd6tAOqHwyYY700Axg+AYxA9N49MH4lYMiLvDkDYS+75BEQ1AMv2+U3UWu3lgcgFsN7+3ksXAI70ktpX1/oSQFkWP2utNOqdIUvgKAyo3r5ogOiDPCvWWxpqMwUF9KIweDMLxEwAXrArMDdlB/X2xbHsnkCfT8MVwwMfgH3uAngLII7CoGrjyNgymGdmYgqA1FyT+uJ2IjX0xq70kqoMtqujWQDMWHsYg/DELWjJ+8mP52diCoDbaSIvDDRoRGCRW8U8K9V0AUhrQzBWakJQzfuWsDGDYgUuMyCcgBDzLFzZygXgo12E8Yt8S8SvfIneyMBG53ufwS9A2I52g65NvdRb6noORh++HK0iDPPTtNAAzDXhi5C1hHFPyugU5XPIZnmC35FKL6nHrs6pGiwof7dZErp3aSaZT6LWqilP7f1lWV3rnwBGURg8TvG6m5Ro3qSEVAn7RVrZppIHwFvMSNStUe8MBwDW/FjpS4faaTydZFmtWVUHrWpcJAN5CnHZ9HkwQdce7nuNYxFeLf4t4yBqBfs3OFC/bwC5JegMpeks//MSOBJKszkNg/UJB/4TCS1xkt16Mqx3hq6/H0VhkHbBPKJZ5ZiDydd8rX1ZUWQOs6soDMpTMpQBvxHph6pHf7BGrDfBEMKIAo6dC0oIlHgEabGTgBwTULPtt8dK9fgBztVv3ZCjPauyG53QP4gWp3axGdl+cuth5FosQ8XWG4wU61duKf/U9MakZGuZ9mxMjIy5zjizBKZlvrusKa3P7IT0DJ8csxMNT/mBiSlJj23fqGil1gc7VemG6TXPkAhqA2KWT/ABWODiI8pujr94YUPioGUsWVcvqQP1SzdttxxppbZcpkQ1vl3jR9RU11o8YqIar/NlmXK7KfV8nqiAgC5AW+bIBkSyTk6ikIoxrgofwGbh5F2OFcvlQBahSe143HVuuBjXE8LpUqmZrflCGfA/Nv8HKDWIWAxKYrmnrytm6jsTUgTs3B+TWUEEjIwb6y02HIk3nPcTMivWnQAU2VnRb+4dwF84AWI/dAQFagAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catCommunicate.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAwFJREFUWEfFl41RFEEQhd+LQIlAiECJQIlAiUCIQIxAiUCIQIhAjUCIQIxAjECJoK1va3rs29tjjx+lq7aOnZ2fN92vXzfWA5sf+HzdCkBEvJD0RNJmu8ClpEvb5ze90NoAIuKVpNeS+L3OPks6tc3vrM0CaLd9J4lb38TOJB3a5nelXQsgIg4kfWirf+JmSc/b+2nzCK+HkgCJEYZnkh61933bJ6sQrAQQESzC5dixpPeSfkh63Fy8FxHBR9uOiD1JH9v8neaxBHVie38KxCSAstmVpANuEBG4ktt/sT3woAJo70eS3jRCbrV9GMMbk55YAtBi/jVvQgzLGIA2bf+eAtDGCBMZMhzYyPup7lc9MQUgb8q8C0kcRrrx8A4v0pJglaCEivchNVvI4AR2ZpvwdFsAMEK7ijd3Hd+tKToGQO6+lPTW9lFzPfEmrt8l8b3eNjOiChBe4sZ8I1MgIGHMjOocGghcr5OkkrRR4pzZMICamk8WjMYBTdzPbQ+AI4Ls+UVIbW/k/L6wEK0vaguTEztjURlnQW5aDhtStIzjnaeS+l71Y6JGRsnpwSIiWb1lm7+7rQLQ1nWNKHulNzsPKgDYm8JxV6LNrUeiOe8vByLiwQGsCgE6gJL98xDAVhTwwvZ2idv/IWEjTt62pmHq+7HtqoJLtaCAzsJU6wZKSjG7sk1KDrZSiBCQljJ4Bn6QAXgjuyDWpyjVms88hIiHPXgQMUBR2heybAwgwzDH4rt8X9CTuWKUEsut6A0I0W45vVfNMkbIEJsqz12yUxknQ9B4gOu+tQm9hhdB6jk80Q9k7HvZHjUq27ZRw25zDQkTs67X8AxuHHVEAMcjECzX1C5pvYZkQjYZwq30fWQBakkoqOvpKYpLb9fKvMya7rUxeeaa0noDeAAQDqZkAyLTiW9kB40rfSEH57fbNaXFE7iWg5NI62YAJKSfXIj5jTxQJ7dyjUeQ7Gy5x/tBPpqWoQlZB+nsPyZTmzQwS0K07qGzWbAO8vuacysP3Nfh7PMHf02SMN9p8fsAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catBLEC.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg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) no-repeat; + background-size: 100% auto; +} + +#catBLEC.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catBLEKM.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNiswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjYrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTc1NDI1MTAtNGJmOS00YjQwLTlkYzgtMTRhOTQ4MjMzYWZiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU3NTQyNTEwLTRiZjktNGI0MC05ZGM4LTE0YTk0ODIzM2FmYjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplNzU0MjUxMC00YmY5LTRiNDAtOWRjOC0xNGE5NDgyMzNhZmI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg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) no-repeat; + background-size: 100% auto; +} + +#catBLEKM.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NToyNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTU6MjcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzFmZjM2OWUtMzY0NS0zMzQ5LWJlZmUtZjhiMTM1ZWVmY2NjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjcxZmYzNjllLTM2NDUtMzM0OS1iZWZlLWY4YjEzNWVlZmNjYzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3MWZmMzY5ZS0zNjQ1LTMzNDktYmVmZS1mOGIxMzVlZWZjY2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjErMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+EjBnGgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADnElEQVR42sTXWYiWZRQH8N+QkohBmZm0oM6oNGUUbTC2QOhFw9BmaUZCm1BRjkSmaXXV1MS0kC1UlCbV0FBmKm0XRhdaQTkXlpnaNJZIha3QZlhMN+eN48v3TfPNDHSuzrOd9/+e53/+z/PU9fX1qdFORRMmY1z0fY/deB9bawlWVwOAiViAFpyMEaXxv/Ax3sCz2DNcAMbjScyuMVNrcRP2DQXAtVhV6nsHb+EzfBd9R6ERzZhZmn8dnhsMgEewKLWfxl2x3/3ZOLThhlKsW2sB8HBa8DVmxR/XYo3YiGNSzNsGAmABngl/C2bgQGnOmOifFO2iAn4rzRsZ/Wek2Cv7A3A8dmEUejEdf6TxI3E/rqlSBatxB35I/aOxLcp2P6ZibzUAK4M0cHagL6wFr5c+WiyuK/W34M3UnoH3wl+F6ysBaEBPItyNKcBFWJ/anXgCn0d7Km7GVWnOxdiQ2k8lYjZEhg8CcDs6wj8J28M/OoCNiTSfj81ViHcO3o3t+QVTkg6ciE/DX4IHMoBGPBY1vAnnpaCPYmH4zXg7jY1I+1/YBaETxdpcyptjazdGzB0FgPlYgbG4N+odDsFXOBZduDIFuy+V1UNYnsZewrwg2yT8ndYsC5IuQmcB4M4QjwJMZ/hNiYiz8Vr49ySQhbXh7jT31UTAD1LsF8JfjvYCQE7zrJBbuAxrkrDsCL8niJStJ8gIJyThujyBmRnp/3d7CgAr0FoBwKVxqJSJuRPTSgB2xofLhMuZqwpgaQgMXI3nwz8TH4Z/BV4Of3HB4mSLgwvF3K7wz8JHKfbq8JeiowAwL7IwPgIvSYF7Q8XWRUYKaw/VE+CXpbF1oQO7UZ/6O6Lc9wUJuwoAUyIlzehO2p2ZC3PxSoV05m3Lf99eqo4tOD3KtBU9WYgWBggBoDv8w+J8mBDt+vizSgAmFwqHb4Inv6aYxVa0hu4cpITHxeKRUYbzSwq3KV3N9lQBMBFfRt+5JcV8MaT6QPzE3kqHUa6GsupNC0H54j+2oCEEbNdA1LEMYGx84PBQq+n4toruVwNQtgn4JG5KPwfAH/u7kMxJ5bY96n8oALalGJnE/V7JCmn+Ka5U+wcJYFRc6Y4ImW6r5VJ6YSzuHmIGTguCbxjqw2SwAIbtZfS/AzgUp0SJ9cYp93iM3RKnZn2U6lb8OdwA1sTxPNC5c4YbwPq4nA507iXDDaApjtzfKzxU8kNkNB5Mt6B+7Z8BADmmRtBxI+m+AAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catAIgraphsensor.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAA6tWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMjAtMDQtMjRUMDk6MzM6NTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAyMC0wNC0yNFQxMDozODowNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMjAtMDQtMjRUMTA6Mzg6MDcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgICAgIDxyZGY6QmFnPgogICAgICAgICAgICAgICA8cmRmOmxpPnhtcC5kaWQ6YjA4NTBlYjUtM2Y1MS00ZjRlLWEwOTAtYzc1ZDg1YTkwOWI2PC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6Yzk0OWQyZjEtMTY2NC0wNDQ5LWJiNjgtYTE2ZDA1ZTlhMzllPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6OTdiMjNjZTMtODVkNC0xMWVhLWEzOTMtZWFlNjU5ZDNiMjg3PC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6ZTA5YTEzMzctN2ZhYi0wODQwLTliMDEtOWZhNTZmNWJmNzQ3PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmUwOWExMzM3LTdmYWItMDg0MC05YjAxLTlmYTU2ZjViZjc0Nzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAyMC0wNC0yNFQwOTozMzo1NCswODowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpjOTQ5ZDJmMS0xNjY0LTA0NDktYmI2OC1hMTZkMDVlOWEzOWU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMjAtMDQtMjRUMTA6Mzg6MDcrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pm7Cqz0AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABCFJREFUeNrsl12oVFUUx7e3rMwgKvrADJ+s1EpLq1tRQoTcWXPmzEf2YVQPKUUREVEvEeiDFajz3+fMBEkaQkRw//scoi9CAqOkoG5EaVRgpKQ9aAglhZZXdw93TZx7mLlz5tZDDz4sZmavtdf8zt7r6xjvvfk/iDkFkgcBZVA5DZRloDwFyhZQ3gflQ1A+AMWBsh6UGijnDOJ3EICbQdkGyq+g+ALyJygE5ab/CmQZKDsL/nkv2QnK8L8BeQaU8S6OvwRlIygPgLIClKWg3KDfHwHlZVC+z+05CUoblLMGBWl1OerNoFw5wHXOA2V17kS/AOWyoiAv5iA+BeXyaQR2Vm4BZUz9/QTKwn4gq3MQsWZKR38hKI+C8iYoezNX9zso34LyBihr1K5bxq0F5QQoh0CZ3wtkKSjH1PEvoIQZ3UV6NccKBug4KKlmW/5/GupnPyhz8yCzQPlOnezPXcUqUA6r7qAG492gLADlPFBmg3IJKMtBeVaDOQu1A5RrczCicTcGyplZxQbd9BsoV+vaDM0OD8pHoJRz1zSV3AHKZxmY46A8nbNZo7qtnYWr1NCDcl/G8DFQ1oGyqLNmXdlYJyZyoWkldWNdRZosHYqT6lDs6hPrab2zf0hLwF8ZoJf0ATs2r4DiOz+2q9Fb/Z7UurKBk2HLYGPsqhdbBpubLPnIhSsiV10IltuttHZubt/toBzJwDyX0c0GZU8nrbxS903RVnqniZPaPWDJg3J04rPkQfFN/d5OG3O67B0G5Y9MIF+f0ZUNKK+rcrTI3beSummnK411wa4mRzwoBywDguKboyM+cuG6VtLotf/BzKl8nK8jP6tiuAiIZbDIMnhYn+5A5MKzIxeayIXLwdI4WP7KuspdU/goaVZ6LRf/gHhQPileIUs7mqMjvskRbxlsjZOasa5iIlc1YPkgWPJ6UlP5mQPKHq3gk0CeLApiGVxjXeWJifiQfXFSPz1O6iZy4TBYOg7KN5aV+wv4Wqz1ZRJIt5lhTLvppPU4qZlW2jDWBbuboyMeLP9gXfBaJkbWttNG0f7zfB7k0i5Gq0DZDcoZ2fV22jBxUr23OVrS1p7PGvHttDG3IMgVeZBZXYxmgPK5zhCZE6ma2IW3WQYt68J5lsG2iTpSCSNXWWJdsKWV1s4ftDsbzekLehgs0K66vlMN46Rq4qRqIlc1sauZyFUqYOlI5CbWWmk9W1m7NbueID/2KWShwm7XsXE6s8h1OmS/MBXIe6Dc2sdRQ7PEg/JOdo6YQoa08b2tY+KGflezSefMfo6XgLJLYU7oCT2uLWK+yo2gPKSNrFMoj2qX7RsjK0F5teARz9SOvK/AYHQSlHeLzrhGJ6S9A975kHbUTVqVD2cG7K91ffFAWdPrFXAaATmziN2pl/BTINOVvwcAQ8BMwy7GxSEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catAIgraphsensor.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsSAAALEgHS3X78AAACdElEQVRYhd1X7XHbMAx9zuV/NII2qDYoN6hH4AjeIO4GygRVN3A3UDdQJ6hGUCZ4/UGgQhhQon25Npd3x5Npgvh4AETqQBLvAXf/2wHFh3KkBRDkeTPubzB6FMMBwIMj8wxgAnCRMVdpJlkzAsmRt2GU/Zs2Djtd0wIYAHx21n4BGAEs8lR0sq/L9v0EcBK2rmLkSHLJoptIRpJNJZONyFs2oydbUhAzB+YaendGkEBIcqhJTQTwzcy/Ajg7ZAYZOTRVfgqSrkcA38WWm5qjYWGReb5+YR0Wkj3JtsDOYtNkGWkligekFgwmqiOAHkBjoh0LLHV43dpPwsRi/utER7JjvLQFpUy0wsBAsruiHrRIZ6NzcnR0YheWKsXZKDtxv0N6UealAKJDu29xnDmRjDrRvE+VEUeRDcZIFKdedYQ4qR2zOMH1KqSobVFLuQcvjQ3X9I+5o0qNt7g1bHdRolVmPEasM8pMtGs2LXmrlsZoGLmY6LXOFpEpFXcjMnPuyCwLtWxYWOebbG0rzSHfr4ovmWC3EVFg6iwKzVp4g/w3isxet+lr4YUjJ0fwvKFEjXqwzm2NliYTekPzzoUR/hmjb0UgHe0wv5+R3tBNYZ/FLDaS7E4+L/SP7cbkVwu3kyj33sDWVtS5OlKishFDnjO2nrYKM093yPR36si8o6jjepLWXoi8enhRnPm4K9SHxYR0Qh4lr7GyBoD1qvkb6eSNJcEDyZMIDTtKG5H5IvMfKF+AApLjn2T+hHRfLUNo66+gObD+Rj/W1s89ar87VoxYP6jsUzGJzvpvGuDvDS3IpmudejPsfdf8M3yoj/A3wbtx5A+bYbZVmns8NwAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catAIvoicesensor.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFBElEQVR4nNVaW4gcRRSt+Db4wgcIIqJRE3d3qmYd8QGKCOKHJijifogf6s9GxQc+ku17e6Sj4t8mKqgQ/UiIssGee3tlo8H1tT7ijxDyEwRDgiiagKJgXIkm0ZHbXdXTPTsTdpYeN32gYeiuqq7bdc+5dW+NMgQ/GIa/NcEvhnGfZvhKE7xtGJ8zBHcNhM9cqMoAzfi9YWwe69IE32jGF4YIVqjjGZdvf+zUaggXDEb+skoDbqo2vPsN4Yua4SNDeDA1ivBfTfBehfFqVTbcPBOcVCX/VkPwpib4M14hxqOGYX1t4+jJqoyoTQXna8INmuBIYhDMDITBGaqs0A3vOs3wY+Jy8IEKghNUWTEY+csM4wExpkLwhCozDOMdljM/Xx8+eboqMwzBzkSicZUqMwzDesuVdarMMAzr7IoEqswwjF/EhGe4R5UVmmHIkb20wVFwyabgtGQLA/+UZnPZDYaBLNlXqzLDsH+fJfuHqsyohWNn23zmiOzFVJmhGaftNv8BVWZoxsete72qygzDOF56Q8wkVkV+JdkajrwbVFlhGMdskrVJlRnVyB+xbvXTisg7b8EDNdUSqeAYgi/lt1qMnF4z7rBblcmFjjM46V/sihyLVq1JJgG/2tLRwwsZo0re7Wn5KcKH1GJBR3C3lIsM4V8LKRcZgrWZstPW/sxyvpNhfDmZCOyViN9j3y2ZouCBReGJw0AYnKIJv7YuFvbSVxPsckXArjxpqiWG4BO5+m5olepXGMZZuzK3zFcwDMMhKxjT3XhiGvXB/08QYhnFd6whz+fvw4xm/LT9aw5H9auchBvC0W48kbJT3wVBN8aGZYtiCL91LlKN8E73XFan29dMYxHjtI68K7vxxBBu67sgSCBrvQT2Vhr+vTlDGTe3yJxPwuIjjOTZeNxWVqbNYEmlcwX1fgmCIXjFblU2joQjJ2afSX3YMPzR7WsaQs6mAYZhot19dOTf6I44XIWzLzzRkbeyW6YoE7RG7LOT2Z/ry7BH7g838Brbfg5PXNkp/mCEWwvliQnxItPwbtMETxvChn3RzjlGEn6WGOI96NymEtaXy7PaVLBUds9y1aaCpXJPnrW7T7oNIlwlBhTCkwp5l7kJ5S45CGr7Sjr0L7WxYda62ESWJ7IK1iX35I2H/c59rn0rOEszHpZLfsu9Qngiei6DWjf5XRO+IVlilcdM10ok4+ac2zBM5NyOkNv6pTyRVbBj7EgDY1E8qTI+4qKwGNJe18qpWCY4OnmVFc1ml6JcKm/Iauc+Tkiy9eVCeRKfNbbUaFaO6DoZIoEw6wLObcQoF8kllqgMsjyxStUU5UrHKIonuahM+Fsv+UjKE8JRxzUZR7XBGWzbHsyWZQvjSfoyxvczL3t0nobEbpOWkRgOyX5Ltbez7mPH3pZ7WCRPEkNgJvF5/6n59kndJuUY7OrUzjiedDneK5QnmuAlS+Z6j/1absO4pVOboZb7NEUp54xRJE8M4RqrQht67JdxG1jbsVHT5h+MH3figTPUKWBHVCa9miH04zggpIy8lZLCSjSXCLz83TVnStzQDLsdcXsyJOM2kq/30rdj5aUTNMFrc6L2sf6rwrC711PdrNtI8UIVDe2iaPJ3jXHN+KwEPPljQKznLak9qgm/izkyGZzT84ti1YHP42jdj+24tnLaiwodFzDtW4nkax8eCINzVZlg5uyJYm1/fbHn1Sv+A4LVUBQs0lKcAAAAAElFTkSuQmCC) no-repeat; + background-size: 100% auto; +} + +#catAIvoicesensor.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAD4klEQVR4nNWZXYhOWxjHl2Ocg3DEKCUXyFeUYyid4kJNLnxE4kIuHDfjkCgyLpCv3A2HQuGCpJGvXKCMb4dzc0pupEwkJ2OKKAc5HOanlf+eHsvevHtmv8b611vv3utjP/+1n//zrPVsB/wDvAGeAPeAv4BDwEZgFtDfxQDgAV/HbWAzMMJ9zwB+AvoBQ4BJwAJgC3Ae+NcQagFOA1UuNgAVQDWwD3glQu+ArUAXFyOASmAb8L8IXQZ6uFgBTAAeisxZ4AcXK/iop2aRWe5iBjBNRB4D3VzMAG6IzAwXM/gYvTw2uJgBbBCR9S5mAH+KyBwXK4DRRuxxJkcPoKu2MO+j2VxmATiut7LIxQxgvoicczED+FnnGb//qnQxA2jQW/nNxQxgmYjsdDEDqIueCPCLwq8/bP3qYgWwWm9jv4sZwFwRaQL6tmOeTqrgXPP/i7Wy9DP9dZE52Y55BpoiR8dUa2TEUxmxuI1zTDVEfi/eytINma1y0X9tKRcBtYbI4fJYWbox22XIXZ/xc449aIg0d4hOjDE/An/LmKM5x940RcBUnSggXNSvvESBocBLGTM5R8B4rTENWToBRn2zgKBVO6KHbQru+4LepXA1gZEmhNdk6cSXncoeEICxfosC3DEuMtO0T85aTZOLGoBhWToBTpU9ICiRYcQ+L2g/YNo/OYTpE4ZHna6bQsL+KB0U1MsTEIAdesAeoHPQ1gN4kbWawAl7DADqQ/cBJppPHM1l0wkwPeuk6A1Um/+Q5PEoaG/U/fG6/kwnpuzkF+xwoToBBgBTgJXAMU1+I6XfFbUtNG4zXG3dtXv2v+66Nzx0H7MNmuEJFKITYLAxyKIlXCVgkO6/lIvVW534t6DrxmDco8R9gF7AW/166V77daJ47if1eA7s1SlxTErfxCUOBG5TH7jdiWBcq070Fjyum1BejE6AJSYL7w3rWkEUa02OJrw2BafLjcH4RYn7mEDSWl8uVCf61phEI+861RlELlsXMG4zzGTyucHcVic+UnlMNO3F6CTIys/ynEeM29QYrY1M6ZcQRjmktSxbmE7MhGfMw5aWOCZxm+Rt+H1WRUq/xH08TgVtxelEE3q38ViRY0ziNonGbn6FcOrnvaJ18ocmW5tznHWbgxl9Rpg+o1Lai9MJsEqTbcs5zrpNbUafTjp7XEjTgSHa9KUHjQPWKA/UaAtSpWzus3FPnzeAW5qsJicR6zZT84xNq7y4NAC7yIdbeb/qBm4zMM/YkmCy6Cslq3VKeGcVz5NQ6yuL96WR3m1czavaQ5VlO34mbxT6LsDnWwm0j+rjIifSAuzuaLvy4gOzyvVlmL3uMAAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} + +#catAIgraphsensorpro.blocklyTreeRow>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsTAAALEwEAmpwYAAA6tWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMjAtMDQtMjRUMDk6MzM6NTQrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAyMC0wNC0yNFQxMDozODowNyswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMjAtMDQtMjRUMTA6Mzg6MDcrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDxwaG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgICAgIDxyZGY6QmFnPgogICAgICAgICAgICAgICA8cmRmOmxpPnhtcC5kaWQ6YjA4NTBlYjUtM2Y1MS00ZjRlLWEwOTAtYzc1ZDg1YTkwOWI2PC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOkJhZz4KICAgICAgICAgPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6Yzk0OWQyZjEtMTY2NC0wNDQ5LWJiNjgtYTE2ZDA1ZTlhMzllPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6OTdiMjNjZTMtODVkNC0xMWVhLWEzOTMtZWFlNjU5ZDNiMjg3PC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6ZTA5YTEzMzctN2ZhYi0wODQwLTliMDEtOWZhNTZmNWJmNzQ3PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmUwOWExMzM3LTdmYWItMDg0MC05YjAxLTlmYTU2ZjViZjc0Nzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAyMC0wNC0yNFQwOTozMzo1NCswODowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpjOTQ5ZDJmMS0xNjY0LTA0NDktYmI2OC1hMTZkMDVlOWEzOWU8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMjAtMDQtMjRUMTA6Mzg6MDcrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT42NTUzNTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MzQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pm7Cqz0AAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAABCFJREFUeNrsl12oVFUUx7e3rMwgKvrADJ+s1EpLq1tRQoTcWXPmzEf2YVQPKUUREVEvEeiDFajz3+fMBEkaQkRw//scoi9CAqOkoG5EaVRgpKQ9aAglhZZXdw93TZx7mLlz5tZDDz4sZmavtdf8zt7r6xjvvfk/iDkFkgcBZVA5DZRloDwFyhZQ3gflQ1A+AMWBsh6UGijnDOJ3EICbQdkGyq+g+ALyJygE5ab/CmQZKDsL/nkv2QnK8L8BeQaU8S6OvwRlIygPgLIClKWg3KDfHwHlZVC+z+05CUoblLMGBWl1OerNoFw5wHXOA2V17kS/AOWyoiAv5iA+BeXyaQR2Vm4BZUz9/QTKwn4gq3MQsWZKR38hKI+C8iYoezNX9zso34LyBihr1K5bxq0F5QQoh0CZ3wtkKSjH1PEvoIQZ3UV6NccKBug4KKlmW/5/GupnPyhz8yCzQPlOnezPXcUqUA6r7qAG492gLADlPFBmg3IJKMtBeVaDOQu1A5RrczCicTcGyplZxQbd9BsoV+vaDM0OD8pHoJRz1zSV3AHKZxmY46A8nbNZo7qtnYWr1NCDcl/G8DFQ1oGyqLNmXdlYJyZyoWkldWNdRZosHYqT6lDs6hPrab2zf0hLwF8ZoJf0ATs2r4DiOz+2q9Fb/Z7UurKBk2HLYGPsqhdbBpubLPnIhSsiV10IltuttHZubt/toBzJwDyX0c0GZU8nrbxS903RVnqniZPaPWDJg3J04rPkQfFN/d5OG3O67B0G5Y9MIF+f0ZUNKK+rcrTI3beSummnK411wa4mRzwoBywDguKboyM+cuG6VtLotf/BzKl8nK8jP6tiuAiIZbDIMnhYn+5A5MKzIxeayIXLwdI4WP7KuspdU/goaVZ6LRf/gHhQPileIUs7mqMjvskRbxlsjZOasa5iIlc1YPkgWPJ6UlP5mQPKHq3gk0CeLApiGVxjXeWJifiQfXFSPz1O6iZy4TBYOg7KN5aV+wv4Wqz1ZRJIt5lhTLvppPU4qZlW2jDWBbuboyMeLP9gXfBaJkbWttNG0f7zfB7k0i5Gq0DZDcoZ2fV22jBxUr23OVrS1p7PGvHttDG3IMgVeZBZXYxmgPK5zhCZE6ma2IW3WQYt68J5lsG2iTpSCSNXWWJdsKWV1s4ftDsbzekLehgs0K66vlMN46Rq4qRqIlc1sauZyFUqYOlI5CbWWmk9W1m7NbueID/2KWShwm7XsXE6s8h1OmS/MBXIe6Dc2sdRQ7PEg/JOdo6YQoa08b2tY+KGflezSefMfo6XgLJLYU7oCT2uLWK+yo2gPKSNrFMoj2qX7RsjK0F5teARz9SOvK/AYHQSlHeLzrhGJ6S9A975kHbUTVqVD2cG7K91ffFAWdPrFXAaATmziN2pl/BTINOVvwcAQ8BMwy7GxSEAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} + +#catAIgraphsensorpro.blocklyTreeRow.blocklyTreeSelected>div.blocklyTreeRowContentContainer>span.blocklyTreeIcon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAAAsSAAALEgHS3X78AAACdElEQVRYhd1X7XHbMAx9zuV/NII2qDYoN6hH4AjeIO4GygRVN3A3UDdQJ6hGUCZ4/UGgQhhQon25Npd3x5Npgvh4AETqQBLvAXf/2wHFh3KkBRDkeTPubzB6FMMBwIMj8wxgAnCRMVdpJlkzAsmRt2GU/Zs2Djtd0wIYAHx21n4BGAEs8lR0sq/L9v0EcBK2rmLkSHLJoptIRpJNJZONyFs2oydbUhAzB+YaendGkEBIcqhJTQTwzcy/Ajg7ZAYZOTRVfgqSrkcA38WWm5qjYWGReb5+YR0Wkj3JtsDOYtNkGWkligekFgwmqiOAHkBjoh0LLHV43dpPwsRi/utER7JjvLQFpUy0wsBAsruiHrRIZ6NzcnR0YheWKsXZKDtxv0N6UealAKJDu29xnDmRjDrRvE+VEUeRDcZIFKdedYQ4qR2zOMH1KqSobVFLuQcvjQ3X9I+5o0qNt7g1bHdRolVmPEasM8pMtGs2LXmrlsZoGLmY6LXOFpEpFXcjMnPuyCwLtWxYWOebbG0rzSHfr4ovmWC3EVFg6iwKzVp4g/w3isxet+lr4YUjJ0fwvKFEjXqwzm2NliYTekPzzoUR/hmjb0UgHe0wv5+R3tBNYZ/FLDaS7E4+L/SP7cbkVwu3kyj33sDWVtS5OlKishFDnjO2nrYKM093yPR36si8o6jjepLWXoi8enhRnPm4K9SHxYR0Qh4lr7GyBoD1qvkb6eSNJcEDyZMIDTtKG5H5IvMfKF+AApLjn2T+hHRfLUNo66+gObD+Rj/W1s89ar87VoxYP6jsUzGJzvpvGuDvDS3IpmudejPsfdf8M3yoj/A3wbtx5A+bYbZVmns8NwAAAABJRU5ErkJggg==) no-repeat; + background-size: 100% auto; +} diff --git a/boards/default/micropython_k210_mixgoai/index.xml b/boards/default/micropython_k210_mixgoai/index.xml index 73eac333..fe648c63 100644 --- a/boards/default/micropython_k210_mixgoai/index.xml +++ b/boards/default/micropython_k210_mixgoai/index.xml @@ -1 +1 @@ -666610006506irp_funcirp_func610510,1,2,3051itestThreadtestThreadWHILETRUEHello Mixly from Thread!ms101000tim_callbacktim_callback5000#ff000090151100a10.998124.82110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly12365a0MixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixPYI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0MixlyMixlyMixly,HelloMixlyprompt67MixlyMixly0XFF00FFcode6i2c67400000i2ci2c00i2c00i2ci2cspi20000010045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345bufow12owowow12345ow12345ow89MixGo AI12345MixGo AI123455socksockmixly.cnsock192.168.0.180sock5sockdatasock1024sockRGB312RGB0000RGB660Motori2cMotor100Motor10241024PID0.400PID01SPK8910MIC8910/sd/MixGo.wavSPK80/sd/MixGo.wavMIC10/sd/MixGo.aviSPK80/sd/MixGo.aviMIC10sensor.B240X240100224224150000000x0000#000000img0x0000#00000000MixGo AI0XFFFF#FFFFFF0X0000#00000089MixGo AI12345mixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012mixio.xbed.cnKPU/sd/MixGoAI.kmodelKPU0.50.35anchorKPUimgKPUimgyolo2calss5MixGo.aiMixGo.aicalssimgASRni-haoASR0.1ASRASRimgimgMixGo.jpgimgimgMixGo.jpgimg0,00xFFFF#FFFFFFimg0,0img0,0,240,240img20imgimgimg00你好,米思齐0xFFFF#FFFFFF12img00MixGo AI0xFFFF#FFFFFF1img160,1201.01.0img10,20,30,400xFFFF#FFFFFF1img10,20,30,400xFFFF#FFFFFF1img10,200xFFFF#FFFFFF130img40,30,200xFFFF#FFFFFF1img10,20,30,400xFFFF#FFFFFF1img1.01.0img3img15img0.050.05img110img110img160,1200xFFFF#FFFFFF0.050.05imgimgimg71,95,-60,-41,-128,12700img1-1,-1,-1, -1,8,-1, -1,-1,-1linecirclerectimg0,0,240,24010002525img0,0,240,2401015img0,0,240,240200021002101010img0,0,240,24010000img71,95,-60,-41,-128,1270,0,240,2400,0,00,0,00,0,0255blobhistogram0.5img71,95,-60,-41,-128,1270,0,240,24020020010img0,0,240,240barcodeqrcodeapriltagimg0,0,240,240img0,0,240,240img0,0,240,240responsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponse \ No newline at end of file +666610006506irp_funcirp_func610510,1,2,3051itestThreadtestThreadWHILETRUEHello Mixly from Thread!ms101000tim_callbacktim_callback5000#ff000090151100a10.998124.82110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly12365a0MixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixPYI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0MixlyMixlyMixly,HelloMixlyprompt67MixlyMixly0XFF00FFcode6i2c67400000i2ci2c00i2c00i2ci2cspi20000010045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345bufow12owowow12345ow12345ow89MixGo AI12345MixGo AI123455socksockmixly.cnsock192.168.0.180sock5sockdatasock1024sockRGB312RGB0000RGB660Motori2cMotor100Motor10241024PID0.400PID01SPK8910MIC8910/sd/MixGo.wavSPK80/sd/MixGo.wavMIC10/sd/MixGo.aviSPK80/sd/MixGo.aviMIC10sensor.B240X240100224224150000000x0000#000000img0x0000#00000000MixGo AI0XFFFF#FFFFFF0X0000#00000089MixGo AI12345mixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012mixio.xbed.cnKPU/sd/MixGoAI.kmodelKPU0.50.35anchorKPUimgKPUimgyolo2calss5MixGo.aiMixGo.aicalssimgASRni-haoASR0.1ASRASRimgimgMixGo.jpgimgimgMixGo.jpgimg0,00xFFFF#FFFFFFimg0,0img0,0,240,240img20imgimgimg00你好,米思齐0xFFFF#FFFFFF12img00MixGo AI0xFFFF#FFFFFF1img160,1201.01.0img10,20,30,400xFFFF#FFFFFF1img10,20,30,400xFFFF#FFFFFF1img10,200xFFFF#FFFFFF130img40,30,200xFFFF#FFFFFF1img10,20,30,400xFFFF#FFFFFF1img1.01.0img3img15img0.050.05img110img110img160,1200xFFFF#FFFFFF0.050.05imgimgimg71,95,-60,-41,-128,12700img1-1,-1,-1, -1,8,-1, -1,-1,-1linecirclerectimg0,0,240,24010002525img0,0,240,2401015img0,0,240,240200021002101010img0,0,240,24010000img71,95,-60,-41,-128,1270,0,240,2400,0,00,0,00,0,0255blobhistogram0.5img71,95,-60,-41,-128,1270,0,240,24020020010img0,0,240,240barcodeqrcodeapriltagimg0,0,240,240img0,0,240,240img0,0,240,240responsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponse \ No newline at end of file diff --git a/boards/default/micropython_k210_mixgoai/main.bundle.40f4f17a.js b/boards/default/micropython_k210_mixgoai/main.bundle.b6b2ab0d.js similarity index 50% rename from boards/default/micropython_k210_mixgoai/main.bundle.40f4f17a.js rename to boards/default/micropython_k210_mixgoai/main.bundle.b6b2ab0d.js index bb61a9fb..8f5dd678 100644 --- a/boards/default/micropython_k210_mixgoai/main.bundle.40f4f17a.js +++ b/boards/default/micropython_k210_mixgoai/main.bundle.b6b2ab0d.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class St{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Et.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Et.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Et.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Et.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Bt={init:function(){this.setColour(Xt),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PYTHON_RANGE).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Wt={init:function(){this.setColour(Xt),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Et.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Kt={init:function(){this.setColour(Xt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Et.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Et.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Et.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},qt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Qt={init:function(){this.setColour(Xt);var t=new Et.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},jt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Et.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Et.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Jt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Et.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Et.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Kt.OPERATORS=[[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Qt.OPERATORS=[[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const zt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},$t={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Et.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},te={init:function(){this.setColour(Xt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ee={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ie={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},ne={init:function(){this.jsonInit({message0:Et.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Xt,tooltip:Et.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Et.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},se={init:function(){this.setColour(Xt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_STAT),this.setOutput(!0)}},oe={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pe={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ue={init:function(){this.appendDummyInput().appendField(Et.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Et.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Et.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Et.FieldDropdown([[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Xt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ae={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},le={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},_e={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},re={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_GET_UNIQUE_IDEN)}},de={init:function(){this.setColour(Xt),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Et.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Ie={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Te=230;Et.FieldTextInput.math_number_validator=function(t){return String(t)},Et.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const he={init:function(){this.setColour(Te),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},me={init:function(){this.setColour(Te);this.appendDummyInput("").appendField(Et.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Et.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Oe={init:function(){this.setColour(Te);this.appendDummyInput("").appendField(Et.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Et.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},ce={init:function(){this.setColour(Te),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Re={init:function(){this.setColour(Te),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Me={init:function(){this.setColour(Te),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Et.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Ee={init:function(){this.setColour(Te),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Et.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Et.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Et.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Et.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Et.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Et.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Et.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Et.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ce={init:function(){var t=[[Et.Msg.MATH_BIN,"bin"],[Et.Msg.MATH_OCT,"oct"],[Et.Msg.MATH_HEX,"hex"]];this.setColour(Te),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Et.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Et.Msg.MATH_DEC_TOOLTIP_BIN,oct:Et.Msg.MATH_DEC_TOOLTIP_OCT,hex:Et.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Ae={init:function(){var t=[[Et.Msg.LANG_MATH_TO_ROUND,"round"],[Et.Msg.LANG_MATH_TO_CEIL,"ceil"],[Et.Msg.LANG_MATH_TO_FLOOR,"floor"],[Et.Msg.MATH_ABS,"fabs"],[Et.Msg.MATH_SQRT,"sqrt"]];this.setColour(Te),this.appendValueInput("A").setCheck(Number).appendField(new Et.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Et.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Et.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Et.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Et.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Et.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Et.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},ge={init:function(){var t=[[Et.Msg.MIXLY_MAX,"max"],[Et.Msg.MIXLY_MIN,"min"]];this.setColour(Te),this.appendValueInput("A").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Et.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Et.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Et.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Se={init:function(){var t=[[Et.Msg.MATH_TWO,"two"],[Et.Msg.MATH_EIGHT,"eight"],[Et.Msg.MATH_TEN,"ten"],[Et.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Te),this.appendDummyInput("").appendField(Et.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Et.FieldDropdown(t),"OP").appendField(Et.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MATH_ZHW).appendField(new Et.FieldDropdown(t),"OP2").appendField(Et.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Et.Msg.MATH_Before_two,eight:Et.Msg.MATH_Before_eight,ten:Et.Msg.MATH_Before_ten,sixteen:Et.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Et.Msg.MATH_Behind_two,eight:Et.Msg.MATH_Behind_eight,ten:Et.Msg.MATH_Behind_ten,sixteen:Et.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},De={init:function(){var t=[[Et.Msg.LANG_MATH_INT,"int"],[Et.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Te),this.setOutput(!0,Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Et.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Et.Msg.LANG_MATH_INT,float:Et.Msg.LANG_MATH_FLOAT_RANDOM};return Et.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Le={init:function(){this.setColour(Te),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Et.Msg.MATH_CONSTRAIN_TOOLTIP)}},Ne={init:function(){this.setColour(Te),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Et.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Et.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_MAP)}},fe={init:function(){this.setColour(Te),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},Fe={init:function(){this.setColour(Te),this.appendValueInput("NUM").setCheck(Number).appendField(Et.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ve={init:function(){this.setColour(Te),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Et.Msg.MATH_ROUND).appendField(Et.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Et.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Et.Msg.MATH_ROUND_NEW_TOOLTIP)}},Pe={init:function(){var t=[[Et.Msg.MIXLY_TO_INT,"int"],[Et.Msg.MIXLY_TO_FLOAT,"float"],[Et.Msg.MIXLY_TO_BITES,"b"],[Et.Msg.LANG_MATH_BYTE+Et.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Te),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Et.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Et.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Et.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Ve={init:function(){var t=[[Et.Msg.MIXLY_TO_INT,"int"],[Et.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Te),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Et.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Et.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ye=Ne,Ye={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(Et.Msg.LANG_MATH_BYTE+Et.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},be={init:function(){this.setColour(Te),this.itemCount_=1,this.setMutator(new Et.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Et.Msg.MIXLY_PRODUCT+Et.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Et.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Et.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Et.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const He={init:function(){this.setColour(Ge),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Et.FieldTextInput("",Et.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Et.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Et.FieldImage(e,7,12,'"')}},Be={init:function(){this.setColour(Ge),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Et.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},We={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(Number).appendField(Et.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ke={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String).appendField(Et.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},je={init:function(){this.WHERE_OPTIONS=[[Et.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Et.Msg.TEXT_GET_INDEX_RANDOM+1+Et.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.LISTS_GET_INDEX_GET,"MODE"),Et.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Et.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Et.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Et.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Et.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Et.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Et.Msg.TEXT_GET_INDEX_RANDOM};return Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Et.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Et.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Et.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Et.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Et.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Et.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Je={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Et.Msg.LISTS_GET_INDEX_GET+" "+Et.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Et.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+Et.Msg.LISTS_GET_INDEX_FROM_START+"n"+Et.Msg.TEXT_CHARAT2)}},ze={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Et.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Et.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ze={init:function(){this.WHERE_OPTIONS_1=[[Et.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Et.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Et.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Et.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Et.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Et.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Et.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Et.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Et.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Et.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},$e={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Et.Msg.LISTS_GET_INDEX_GET+" "+Et.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Et.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Et.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Et.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ti={init:function(){var t=[[Et.Msg.MIXLY_EQUALS,"==="],[Et.Msg.MIXLY_STARTSWITH,"startswith"],[Et.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Et.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ei={init:function(){this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Et.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_COMPARETO_HELP)}},ii={init:function(){var t=[[Et.Msg.TEXT_UPPER,"upper"],[Et.Msg.TEXT_TITLE,"title"],[Et.Msg.TEXT_CAPITALIZE,"capitalize"],[Et.Msg.TEXT_SWAPCASE,"swapcase"],[Et.Msg.TEXT_LOWER,"lower"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Et.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Et.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Et.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Et.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Et.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Et.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ni={init:function(){var t=[[Et.Msg.TEXT_LJUST,"ljust"],[Et.Msg.TEXT_CENTER,"center"],[Et.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Et.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Et.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},si={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Et.Msg.MIXLY_MID+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Et.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Et.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Et.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ui={init:function(){this.setColour(Ge),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Et.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Et.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ai={init:function(){var t=[[Et.Msg.TEXT_TRIM_BOTH,"strip"],[Et.Msg.TEXT_TRIM_LEFT,"lstrip"],[Et.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ge),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Et.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Et.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Et.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Et.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Et.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},li={init:function(){this.setColour(Ge),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Et.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Et.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pn={init:function(){this.setColour(sn),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(sn),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_KEYS),this.setTooltip(Et.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},ln={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Et.Msg.DICTS_GET_TOOLTIP)}},_n={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Et.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Et.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},rn={init:function(){this.setColour(sn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Et.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},dn={init:function(){this.setColour(sn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_DELETE_TOOLTIP)}},In={init:function(){this.setColour(sn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Et.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Et.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MID),this.setTooltip(Et.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_CLEAR),this.setTooltip(Et.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_ITEMS),this.setTooltip(Et.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_VALUES),this.setTooltip(Et.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},On={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_LENGTH),this.setTooltip(Et.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},cn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_DELDICT),this.setTooltip(Et.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[Et.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Et.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Et.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Et.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Et.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Et.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Et.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},Mn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.setTooltip(Et.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},En={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Et.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(sn),this.appendDummyInput("").appendField(new Et.FieldLabel(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Et.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},An={init:function(){this.setColour(sn),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},gn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_TO_JSON),this.setTooltip(Et.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Sn={init:function(){this.setColour(sn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Et.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(sn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_TO_JSON),this.setTooltip(Et.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn=210,fn={init:function(){var t=Et.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Et.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Et.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Et.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Et.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Et.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Et.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Fn={init:function(){var t=Et.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Et.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Et.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},vn={init:function(){var t=[[Et.Msg.LOGIC_OPERATION_AND,"AND"],[Et.Msg.LOGIC_OPERATION_OR,"OR"],[Et.Msg.LOGIC_OPERATION_NOR,"NOR"],[Et.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Et.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Et.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Et.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Et.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Pn={init:function(){this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Et.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Et.Msg.LOGIC_NEGATE_TOOLTIP)}},Vn={init:function(){var t=[[Et.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Et.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Et.FieldDropdown(t),"BOOL"),this.setTooltip(Et.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yn={init:function(){this.setColour(Nn),this.setOutput(!0),this.appendDummyInput().appendField(Et.Msg.LOGIC_NULL),this.setTooltip(Et.Msg.LOGIC_NULL_TOOLTIP)}},Yn={init:function(){this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Et.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Et.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},bn={init:function(){var t=[[Et.Msg.TEXT_APPEND_TO,"in"],[Et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Et.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Et.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.IN)}},kn={init:function(){var t=[[Et.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Xn={init:function(){this.setColour(Nn),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Et.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Et.Msg.MIXLY_ADD,"a"],[Et.Msg.MATH_BIN+Et.Msg.MIXLY_ADD,"ab"],[Et.Msg.MIXLY_R_W,"r+"],[Et.Msg.MATH_BIN+Et.Msg.MIXLY_R_W,"rb+"],[Et.Msg.MIXLY_W_R,"w+"],[Et.Msg.MATH_BIN+Et.Msg.MIXLY_W_R,"wb+"],[Et.Msg.MIXLY_A_R,"a+"],[Et.Msg.MATH_BIN+Et.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Et.Msg.MIXLY_BELONG;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Et.Msg.MIXLY_BELONG,p=Et.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+p}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Et.Msg.MIXPY_TEXT_ENCODE).appendField(new Et.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Et.Msg.MIXLY_BELONG,p=Et.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+p}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Et.Msg.MICROBIT_PYTHON_TYPE)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.HTML_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const zn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},es={init:function(){this.setColour(0),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},is={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Et.Msg.MIXLY_ESP32_SET+{mkdir:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Et.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.HTML_FILE,"isfile"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Et.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},us={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Et.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},as={init:function(){var t=Et.Procedures.findLegalName("",this),e=new Et.FieldTextInput(t,Et.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Et.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Et.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Et.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Et.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Et.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Et.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Et.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Et.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Et.Events.enable()}},mutationToDom:function(t){var e=Et.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Et.Msg.MIXLY_AIP_ATTR).setAlign(Et.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},no={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Et.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},so={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Et.Msg.HTML_FORM_CONTENT).appendField(new Et.FieldDropdown([[Et.Msg.HTML_TEXT,"text"],[Et.Msg.HTML_EMAIL,"email"],[Et.Msg.HTML_NUMBER,"number"],[Et.Msg.HTML_PASSWORD,"password"],[Et.Msg.HTML_CHECKBOX,"checkbox"],[Et.Msg.HTML_RADIOBUTTON,"radiobutton"],[Et.Msg.HTML_BUTTON,"button"],[Et.Msg.HTML_COLOUR,"colour"],[Et.Msg.HTML_DATE,"date"],[Et.Msg.HTML_LOCALTIME,"local time"],[Et.Msg.HTML_FILE,"file"],[Et.Msg.HTML_HIDDEN,"hidden"],[Et.Msg.HTML_IMAGE,"image"],[Et.Msg.HTML_MONTH,"month"],[Et.Msg.HTML_RANGE,"range"],[Et.Msg.HTML_RESET,"reset"],[Et.Msg.HTML_SEARCH,"search"],[Et.Msg.HTML_SUBMIT,"submit"],[Et.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Et.Msg.HTML_TIME,"time"],[Et.Msg.HTML_URL,"url"],[Et.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Et.Msg.HTML_NAME).appendField(new Et.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Et.Msg.HTML_VALUE).appendField(new Et.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Et.Msg.MIXLY_AIP_ATTR).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oo={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Et.FieldTextInput("property"),"KEY").appendField(":").appendField(new Et.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},po={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Et.FieldTextInput("property"),"KEY").appendField(":").appendField(new Et.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uo={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Et.Msg.HTML_TEXT).appendField(new Et.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ao=160,lo={init:function(){this.setColour(ao),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Et.FieldTable(""),"TEXT")}},_o={init:function(){this.setColour(ao),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Et.FieldMultilineInput(""),"TEXT")}},ro={init:function(){this.setColour(ao),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Et.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Io={init:function(){this.setColour(ao),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},To={init:function(){this.setColour(ao),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Et.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ho={init:function(){this.setColour(ao),this.appendValueInput("VALUE").appendField(Et.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},mo={init:function(){this.setColour(ao),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Et.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Et.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+l()+"("+t+", "+e+", "+i+")"},Et.isNumber(n)&&Et.isNumber(s)&&Et.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const ra=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var p=s+" and "+o;else if("OR"==i)p=s+" or "+o;else if("NOR"==i)p="not("+s+"^"+o+")";else p=s+"^"+o;return[p,n]},da=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Ia=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ta=function(t,e){return["None",e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Oa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ca=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Ma=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ea=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Aa=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},ga=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Sa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Da=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},fa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Fa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},va=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Va=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},ya=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Ya=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ba=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ka=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},wa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Ua=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Et.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],p=0;p\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},gl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Sl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Dl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Ll=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Nl=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},fl=function(t,e){return'"},Fl=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},vl=function(){return this.getFieldValue("TEXT")+"\n"},Pl=function(t){return t.getFieldValue("TEXT")+"\n"},Vl=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},yl=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Yl=function(){return""},bl=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},kl=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+p.join("\n")+u.join("")+t+"while True:\n"+a.join("")+l.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+p.join("\n")+u.join("")+t+l.join("\n")},Ul.scrubNakedValue=function(t){return t+"\n"},Ul.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Ul.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Ul.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Et.utils.string.wrap(o,Ul.COMMENT_WRAP-3),n+=Ul.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const xl=100,Hl={init:function(){this.setColour(xl),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_SERVO).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SERVO_MOVE)}},Bl={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(new Et.FieldDropdown([["1","1"],["2","2"]]),"op"),this.setOutput(!0)}},Wl={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_ON,"1"],[Et.Msg.MIXLY_ESP32_OFF,"0"],[Et.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Kl={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},ql={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ql={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},jl={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETONOFF)}},Jl={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},zl={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETBRIGHT)}},Zl={init:function(){this.setColour(xl),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_TONE).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},$l={init:function(){this.setColour(xl),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_TONE).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},t_={init:function(){this.setColour(xl),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_NOTONE).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},e_={init:function(){this.setColour(xl),this.appendValueInput("TICKS").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Et.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Et.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},i_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},n_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_RESET)}},s_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},o_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},p_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_={init:function(){this.setColour(xl),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},a_={init:function(){this.setColour(xl),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.appendValueInput("PIN").setCheck(Number).appendField(Et.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},l_={init:function(){this.setColour(xl),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.appendValueInput("PIN").setCheck(Number).appendField(Et.Msg.MIXLY_PIN),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MIXGO_MUSIC_PLAY_TONE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_PLAYSHOW)}},__={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_RGB_PIN_COUNT)}},r_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},d_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_WRI)}},I_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},T_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},h_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_WRI)}},m_=jl,O_=Jl,c_=zl,R_="#2FAD7A",M_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},E_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},C_={init:function(){this.jsonInit({inputsInline:!0,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},A_={init:function(){this.jsonInit({inputsInline:!0,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},g_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},S_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},D_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},L_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},N_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},f_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},F_={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},v_={init:function(){this.jsonInit({message0:Et.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[Et.Msg.MIXLY_PYTHON_PERIODIC,"False"],[Et.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},P_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},V_={init:function(){this.jsonInit({inputsInline:!0,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},y_={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},Y_=120,b_={init:function(){this.setColour(Y_),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Et.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new Et.FieldDropdown(b_.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))},OPERATORS:[[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]]},k_={init:function(){this.setColour(Y_);var t=new Et.FieldDropdown(k_.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}},OPERATORS:[[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]]},X_="5BA5A5",G_={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(X_),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(G_.OPERATORS),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]]},w_={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(X_),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Et.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Et.FieldDropdown(w_.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Et.Msg.MIXLY_MICROBIT_image_add,"-":Et.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Et.Msg.MICROBIT_DISPLAY_UNION,"add"],[Et.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},U_={init:function(){this.setColour(X_),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Et.FieldDropdown(U_.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE+{height:Et.Msg.MIXLY_HEIGHT,width:Et.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Et.Msg.MIXLY_HEIGHT,"height"],[Et.Msg.MIXLY_WIDTH,"width"]]},x_={init:function(){this.setColour(X_),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RECT).appendField(new Et.FieldDropdown(x_.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_OLED_RECT)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},H_={init:function(){this.setColour(X_),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Et.FieldDropdown(H_.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},B_={init:function(){this.setColour(X_),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(B_.OPERATORS),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]]},W_="#569A98",K_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(K_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(32).fill(0)))},q_={init:function(){this.setColour(W_),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Et.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Et.FieldDropdown(q_.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Et.Msg.MIXLY_MICROBIT_image_add,"-":Et.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Et.Msg.MICROBIT_DISPLAY_UNION,"add"],[Et.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Q_={init:function(){this.setColour(W_),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(Q_.OPERATORS),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);Ct.Boards.getSelectedBoardKey();"Python ESP32-S3"===Ct.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(Et.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Et.Msg.MIXLY_UP,shift_down:Et.Msg.MIXLY_DOWN,shift_left:Et.Msg.MIXLY_LEFT,shift_right:Et.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]]},j_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(j_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},J_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(J_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},z_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(z_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Z_={init:function(){this.setColour(W_),this.appendDummyInput().appendField(Et.Msg.OLED_SET_FONT).appendField(new Et.FieldDropdown(Z_.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Et.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Et.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Et.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},$_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap($_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},tr={init:function(){this.setColour(W_),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Et.FieldDropdown(tr.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Et.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Et.Msg.CLOCKWISE+"90"+Et.Msg.blockpy_setheading_degree,"1"],[Et.Msg.CLOCKWISE+"180"+Et.Msg.blockpy_setheading_degree,"2"],[Et.Msg.CLOCKWISE+"270"+Et.Msg.blockpy_setheading_degree,"3"]]},er={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(er.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},ir=180,nr={colourOptions:["#f00","#000"],columns:2},sr={init:function(){this.jsonInit({colour:ir,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:Et.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Clear_display)}},or={init:function(){this.setColour(ir),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},pr={init:function(){this.setColour(ir),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},ur={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(new Et.FieldDropdown([[Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Et.Msg.MIXLY_ESP32_MONITOR_SCROLL,"scroll"]]),"MODE").appendField(Et.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.OLED_DRAWSTR;return{show:Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},ar={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(new Et.FieldDropdown([[Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Et.Msg.MIXLY_ESP32_MONITOR_SCROLL,"scroll"]]),"MODE").appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DELAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.OLED_DRAWSTR;return{show:Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},lr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_STATIC),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_SHOW_STATIC)}},_r={init:function(){this.setColour(ir),this.appendValueInput("PIN",String).setCheck("esp32_image").appendField(Et.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP)}},rr={init:function(){this.jsonInit({colour:ir,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:Et.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}]})}},dr={init:function(){this.jsonInit({colour:ir,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:Et.Msg.MIXLY_MICROBIT_Animate_images,args0:[{check:"List",type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+Et.Msg.MIXLY_MICROBIT_Animate_images1)}},Ir={init:function(){this.jsonInit({colour:ir,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:Et.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},Tr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[Et.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(Et.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=Et.Msg.MIXLY_MICROBIT_monitor;return{on:Et.Msg.MIXLY_MICROBIT_Turn_on_display,off:Et.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},hr={init:function(){this.jsonInit({colour:ir,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:Et.Msg.MIXLY_MICROBIT_Turn_off_display})}},mr={init:function(){this.jsonInit({colour:ir,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:Et.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Display_is_on1)}},Or={init:function(){this.jsonInit({colour:ir,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Et.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Et.Msg.MIXLY_MICROBIT_Built_in_image})}},cr={init:function(){this.jsonInit({colour:ir,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{colour:"#000000",type:"field_colour",name:"05"},{colour:"#000000",type:"field_colour",name:"06"},{colour:"#000000",type:"field_colour",name:"07"},{colour:"#000000",type:"field_colour",name:"08"},{colour:"#000000",type:"field_colour",name:"09"},{colour:"#000000",type:"field_colour",name:"0a"},{colour:"#000000",type:"field_colour",name:"0b"},{colour:"#000000",type:"field_colour",name:"0c"},{colour:"#000000",type:"field_colour",name:"0d"},{colour:"#000000",type:"field_colour",name:"0e"},{colour:"#000000",type:"field_colour",name:"0f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{colour:"#000000",type:"field_colour",name:"15"},{colour:"#000000",type:"field_colour",name:"16"},{colour:"#000000",type:"field_colour",name:"17"},{colour:"#000000",type:"field_colour",name:"18"},{colour:"#000000",type:"field_colour",name:"19"},{colour:"#000000",type:"field_colour",name:"1a"},{colour:"#000000",type:"field_colour",name:"1b"},{colour:"#000000",type:"field_colour",name:"1c"},{colour:"#000000",type:"field_colour",name:"1d"},{colour:"#000000",type:"field_colour",name:"1e"},{colour:"#000000",type:"field_colour",name:"1f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{colour:"#000000",type:"field_colour",name:"25"},{colour:"#000000",type:"field_colour",name:"26"},{colour:"#000000",type:"field_colour",name:"27"},{colour:"#000000",type:"field_colour",name:"28"},{colour:"#000000",type:"field_colour",name:"29"},{colour:"#000000",type:"field_colour",name:"2a"},{colour:"#000000",type:"field_colour",name:"2b"},{colour:"#000000",type:"field_colour",name:"2c"},{colour:"#000000",type:"field_colour",name:"2d"},{colour:"#000000",type:"field_colour",name:"2e"},{colour:"#000000",type:"field_colour",name:"2f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{colour:"#000000",type:"field_colour",name:"35"},{colour:"#000000",type:"field_colour",name:"36"},{colour:"#000000",type:"field_colour",name:"37"},{colour:"#000000",type:"field_colour",name:"38"},{colour:"#000000",type:"field_colour",name:"39"},{colour:"#000000",type:"field_colour",name:"3a"},{colour:"#000000",type:"field_colour",name:"3b"},{colour:"#000000",type:"field_colour",name:"3c"},{colour:"#000000",type:"field_colour",name:"3d"},{colour:"#000000",type:"field_colour",name:"3e"},{colour:"#000000",type:"field_colour",name:"3f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"},{colour:"#000000",type:"field_colour",name:"45"},{colour:"#000000",type:"field_colour",name:"46"},{colour:"#000000",type:"field_colour",name:"47"},{colour:"#000000",type:"field_colour",name:"48"},{colour:"#000000",type:"field_colour",name:"49"},{colour:"#000000",type:"field_colour",name:"4a"},{colour:"#000000",type:"field_colour",name:"4b"},{colour:"#000000",type:"field_colour",name:"4c"},{colour:"#000000",type:"field_colour",name:"4d"},{colour:"#000000",type:"field_colour",name:"4e"},{colour:"#000000",type:"field_colour",name:"4f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"50"},{colour:"#000000",type:"field_colour",name:"51"},{colour:"#000000",type:"field_colour",name:"52"},{colour:"#000000",type:"field_colour",name:"53"},{colour:"#000000",type:"field_colour",name:"54"},{colour:"#000000",type:"field_colour",name:"55"},{colour:"#000000",type:"field_colour",name:"56"},{colour:"#000000",type:"field_colour",name:"57"},{colour:"#000000",type:"field_colour",name:"58"},{colour:"#000000",type:"field_colour",name:"59"},{colour:"#000000",type:"field_colour",name:"5a"},{colour:"#000000",type:"field_colour",name:"5b"},{colour:"#000000",type:"field_colour",name:"5c"},{colour:"#000000",type:"field_colour",name:"5d"},{colour:"#000000",type:"field_colour",name:"5e"},{colour:"#000000",type:"field_colour",name:"5f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"60"},{colour:"#000000",type:"field_colour",name:"61"},{colour:"#000000",type:"field_colour",name:"62"},{colour:"#000000",type:"field_colour",name:"63"},{colour:"#000000",type:"field_colour",name:"64"},{colour:"#000000",type:"field_colour",name:"65"},{colour:"#000000",type:"field_colour",name:"66"},{colour:"#000000",type:"field_colour",name:"67"},{colour:"#000000",type:"field_colour",name:"68"},{colour:"#000000",type:"field_colour",name:"69"},{colour:"#000000",type:"field_colour",name:"6a"},{colour:"#000000",type:"field_colour",name:"6b"},{colour:"#000000",type:"field_colour",name:"6c"},{colour:"#000000",type:"field_colour",name:"6d"},{colour:"#000000",type:"field_colour",name:"6e"},{colour:"#000000",type:"field_colour",name:"6f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"70"},{colour:"#000000",type:"field_colour",name:"71"},{colour:"#000000",type:"field_colour",name:"72"},{colour:"#000000",type:"field_colour",name:"73"},{colour:"#000000",type:"field_colour",name:"74"},{colour:"#000000",type:"field_colour",name:"75"},{colour:"#000000",type:"field_colour",name:"76"},{colour:"#000000",type:"field_colour",name:"77"},{colour:"#000000",type:"field_colour",name:"78"},{colour:"#000000",type:"field_colour",name:"79"},{colour:"#000000",type:"field_colour",name:"7a"},{colour:"#000000",type:"field_colour",name:"7b"},{colour:"#000000",type:"field_colour",name:"7c"},{colour:"#000000",type:"field_colour",name:"7d"},{colour:"#000000",type:"field_colour",name:"7e"},{colour:"#000000",type:"field_colour",name:"7f"}],output:"esp32_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:Et.Msg.MIXLY_ESP32_Create_image}),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)}},Rr={init:function(){this.setColour(ir),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Et.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(Rr.OPERATORS),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Et.Msg.MIXLY_UP,"up"],[Et.Msg.MIXLY_DOWN,"down"],[Et.Msg.MIXLY_LEFT,"left"],[Et.Msg.MIXLY_RIGHT,"right"]]},Mr={init:function(){this.setColour(ir),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Et.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Et.FieldDropdown(Mr.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Et.Msg.MIXLY_MICROBIT_image_add,"-":Et.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Et.Msg.MICROBIT_DISPLAY_UNION,"+"],[Et.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},Er={init:function(){this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING,"scroll"]]),"MODE"),this.jsonInit({colour:ir,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:Et.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.OLED_DRAWSTR;return Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+{show:Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},Cr={init:function(){this.setColour(ir),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(Et.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},Ar={init:function(){this.setColour(ir),this.appendValueInput("device").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_SETUP).appendField(Et.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(Et.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SETUP+Et.Msg.MIXLY_DF_LCD+Et.Msg.MIXLY_LCD_ADDRESS)}},gr={init:function(){this.setColour(ir),this.appendValueInput("row",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(Et.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},Sr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ON,"on()"],[Et.Msg.MIXLY_OFF,"off()"],[Et.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[Et.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(off)"],[Et.Msg.MIXLY_LCD_BACKLIGHT,"backlight(on)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.MIXLY_DF_LCD+{"on()":Et.Msg.MIXLY_ON,"off()":Et.Msg.MIXLY_OFF,"clear()":Et.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":Et.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":Et.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},Dr={init:function(){this.setColour(ir),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendValueInput("row").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},Lr={init:function(){this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.OLEDDISPLAY+Et.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ir),this.setTooltip(Et.Msg.MIXLY_DF_LCD+Et.Msg.OLEDDISPLAY+Et.Msg.MIXLY_MICROBIT_TYPE_STRING)}},Nr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Et.FieldDropdown(Nr.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE+{height:Et.Msg.MIXLY_HEIGHT,width:Et.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Et.Msg.MIXLY_HEIGHT,"height"],[Et.Msg.MIXLY_WIDTH,"width"]]},fr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RECT).appendField(new Et.FieldDropdown(fr.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_OLED_RECT)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Fr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_DISPLAY_DRAW).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_DISPLAY_RLINE,"hline"],[Et.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_OLED_LINE)}},vr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_OLED_LINE_ARBIT)}},Pr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Vr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(Et.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},yr={init:function(){this.setColour(ir),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS)}},Yr={init:function(){this.setColour(ir),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},br={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new Et.FieldColour("#f00",null,nr),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},kr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},Xr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},wr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Ur={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_ON,"ON"],[Et.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},xr={init:function(){this.setColour(ir),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[Et.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:Et.Msg.MIXLY_LCD_STAT_CLEAR,1:Et.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return Et.Msg.MIXLY_DF_LCD+i[e]}))}},Hr={init:function(){this.setColour(ir),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Et.FieldDropdown([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Et.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[e]}))}},Br={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ON,"_on"],[Et.Msg.MIXLY_OFF,"_off"],[Et.Msg.MIXLY_LCD_STAT_CLEAR,"_clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},Wr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Kr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},qr={init:function(){this.setColour(ir),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new Et.FieldDropdown(qr.ANIMATE),"ANIMATION")},ANIMATE:[["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]},Qr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Et.FieldDropdown(Qr.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},jr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_DISPLAY_DRAW+Et.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Et.FieldDropdown(jr.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_DISPLAY_DRAW+Et.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Jr={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(Et.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},zr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(Et.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Et.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(Et.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(Et.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Et.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.OLED_SHOW_BMP_TOOLTIP)}},Zr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED),this.appendDummyInput("").appendField(Et.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(Et.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(Et.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.OLED_DRAW_PIXE_TOOLTIP)}},$r={init:function(){this.setColour(ir),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Et.FieldDropdown([["32x12 Matrix","32x12 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},td={init:function(){this.setColour(ir),this.appendValueInput("SUB"),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},ed={init:function(){this.setColour(ir),this.appendValueInput("SUB"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},id="#526FC3",nd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},sd={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"+Et.Msg.TUPLE_JOIN),this.appendValueInput("CLIENT").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_CLIENT),this.appendValueInput("SERVER").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_SERVER),this.appendValueInput("USERNAME").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_USERNAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_PASSWORD),this.appendValueInput("TOPIC").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_TOPIC),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_CONNECT_TOOLTIP)}},od={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP)}},pd={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_CHECK_TOOLTIP)}},ud={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendValueInput("DICT").appendField(Et.Msg.MIXLY_ESP32_PUBLISH_ONENET),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_ONENET_PRINT_DATA).appendField(new Et.FieldCheckbox("TRUE"),"is_print"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_DICT_TOOLTIP)}},ad={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET").setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField(new Et.FieldLabel(Et.Msg.MIXLY_ESP32_PUBLISH_ONENET),"TIP").setAlign(Et.inputs.Align.RIGHT),this.itemCount_=2,this.updateShape_(),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["iot_publish_item"],this)),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("iot_publish_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},ld={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},_d={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},rd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},dd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Et.Msg.MIXLY_WIFI_USERNAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.MIXLY_IOT_PASSWORD).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_PROJECT).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Id={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Et.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Td={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Et.Msg.HTML_BODY),this.appendDummyInput().appendField(Et.Msg.MIXLY_Service_quality_display).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_AT_MOST_ONCE,"0"],[Et.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},hd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_SUBSCRIBE+Et.Msg.MIXLY_MICROBIT_MSG).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},md={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Od={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Et.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Md={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},Ed={init:function(){this.setColour(id),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Cd={init:function(){this.setColour(id),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},Ad={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},gd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO").appendField(Et.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Et.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Sd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+Et.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ld={init:function(){this.VISITOR_ID=Ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(id),this.appendDummyInput("").appendField(new Et.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},Nd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO").appendField(Et.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},fd={init:function(){this.setColour(id),this.appendDummyInput().appendField("HTTP"+Et.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Et.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Et.Msg.MIXLY_REQUESTS_GET).appendField(Et.Msg.MIXLY_GET_CURRENT_TIME).appendField(Et.Msg.MIXLY_OPEN_DEBUG).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fd={init:function(){this.setColour(id),this.appendDummyInput().appendField("HTTP"+Et.Msg.MIXLY_Client).appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Et.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Et.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},vd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MQTT"+Et.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Et.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Et.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Et.Msg.MQTT_Topic).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Et.Msg.MIXLY_OPEN_DEBUG).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MQTT"+Et.Msg.MIXLY_Client).appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Et.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Et.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Vd=nd,yd=sd,Yd=od,bd=pd,kd=ad,Xd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Et.Msg.MODEL_NAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Et.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gd=Xd,wd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Et.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Et.Msg.MODEL_NAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Et.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ud={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Et.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},Hd={init:function(){this.setColour(id),this.appendDummyInput().appendField("Ollama "+Et.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bd={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Et.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wd={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Et.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Et.inputs.Align.RIGHT).appendField(`MixIO ${Et.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Kd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Et.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},Qd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},jd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Et.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},Jd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Et.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zd=225,Zd={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Et.Msg.MIXLY_NETWORK_MODE).appendField(new Et.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},$d={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Et.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Et.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Et.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Et.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},tI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},eI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Et.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},iI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},nI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_CONNECT+Et.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},sI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Et.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Et.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Et.Msg.MIXLY_ESP32_NETWORK_IP,1:Et.Msg.MIXLY_ESP32_NETWORK_MASK,2:Et.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},oI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},pI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Et.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},uI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Et.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Et.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},aI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},lI={init:function(){this.setColour(zd),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Et.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},_I={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},rI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},dI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},II={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},TI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},hI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},mI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},OI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},cI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},RI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},MI={init:function(){this.setColour(zd),this.appendValueInput("DOMAIN").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Et.Msg.blockpy_REQUESTS_GET).appendField(new Et.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},EI={init:function(){this.appendValueInput("VAL"),this.setColour(zd),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Et.FieldDropdown(EI.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Et.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Et.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Et.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Et.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},CI={init:function(){this.appendValueInput("VAR").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(zd),this.appendDummyInput("").appendField(Et.Msg.blockpy_CONDUCT).appendField(new Et.FieldDropdown(CI.METHOD),"DIR"),this.appendDummyInput("").appendField(Et.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Et.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Et.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},AI={init:function(){this.setColour(zd),this.appendDummyInput("").appendField(Et.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Et.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},gI={init:function(){this.setColour(zd),this.appendDummyInput("").appendField(new Et.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},SI="#3288dd",DI={init:function(){this.setColour(SI),this.appendValueInput("URL").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Et.Msg.blockpy_CONDUCT).appendField(new Et.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Et.Msg.blockpy_REQUESTS).appendField(Et.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},LI={init:function(){this.setColour(SI),this.appendValueInput("URL").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Et.Msg.blockpy_CONDUCT).appendField(new Et.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Et.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Et.Msg.blockpy_REQUESTS+Et.Msg.OLED_STRING),this.appendDummyInput("").appendField(Et.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},NI={init:function(){this.appendValueInput("VAL"),this.setColour(SI),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Et.FieldDropdown(NI.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Et.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Et.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},fI={init:function(){this.setColour(SI),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Et.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Et.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},FI={init:function(){this.setColour(SI),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Et.Msg.MIXLY_EMQX_PORT).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Et.Msg.MIXLY_WIFI_USERNAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.MIXLY_IOT_PASSWORD).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vI={init:function(){this.setColour(SI),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_SUBSCRIBE+Et.Msg.MIXLY_MICROBIT_MSG).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Et.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},PI={init:function(){this.setColour(SI),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_SUBSCRIBE+Et.Msg.MIXLY_MICROBIT_MSG).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VI={init:function(){this.setColour(SI),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Et.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yI={init:function(){this.setColour(SI),this.appendDummyInput().appendField("mqtt"+Et.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},YI="#A58C5B",bI={init:function(){this.setColour(YI),this.appendValueInput("PIN",Number).appendField(new Et.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Et.FieldDropdown(bI.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"humidity"]]},kI=(Et.Msg.PS2_TRIANGLE,Et.Msg.PS2_CIRCLE,Et.Msg.PS2_CROSS,Et.Msg.PS2_SQUARE,Et.Msg.PS2_L1,Et.Msg.PS2_L2,Et.Msg.PS2_R1,Et.Msg.PS2_R2,Et.Msg.PS2_UP,Et.Msg.PS2_RIGHT,Et.Msg.PS2_DOWN,Et.Msg.PS2_LEFT,Et.Msg.PS2_SELECT,Et.Msg.PS2_START,{init:function(){this.setColour(YI),this.appendDummyInput("").appendField(Et.Msg.PS2_stick).appendField(new Et.FieldDropdown(kI.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[Et.Msg.PS2_RX,"0"],[Et.Msg.PS2_RY,"1"],[Et.Msg.PS2_LX,"2"],[Et.Msg.PS2_LY,"3"]]}),XI={init:function(){this.setColour(YI),this.appendValueInput("SUB").appendField(Et.Msg.PS2),this.appendDummyInput("").appendField(Et.Msg.MIXLY_JOYSTICK).appendField(new Et.FieldDropdown(XI.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[Et.Msg.PS2_RX,"RX"],[Et.Msg.PS2_RY,"RY"],[Et.Msg.PS2_LX,"LX"],[Et.Msg.PS2_LY,"LY"]]},GI=40,wI={init:function(){this.setColour(GI),this.appendValueInput("PIN",Number).appendField(new Et.FieldDropdown([["DHT11","dht11"],["DHT22","dht22"]]),"TYPE").appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Et.FieldDropdown(wI.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"relative_humidity"],[Et.Msg.MIXLY_DHT11_T_H,"tempandhum"]]},UI=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"pitch",e.ORDER_ATOMIC);return"music.pitch("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+i+")\n"},xI=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"pitch",e.ORDER_ATOMIC),n=e.valueToCode(this,"time",e.ORDER_ATOMIC);return"music.pitch_time("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+i+", "+n+")\n"},HI=function(t,e){return e.definitions_.import_music="import music","music.stop("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")\n"},BI=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"BPM",e.ORDER_ASSIGNMENT);return"music.set_tempo("+e.valueToCode(this,"TICKS",e.ORDER_ASSIGNMENT)+", "+i+")\n"},WI=function(t,e){e.definitions_.import_music="import music";return["music.get_tempo()",e.ORDER_ATOMIC]},KI=function(t,e){return e.definitions_.import_music="import music","music.pitch("+e.valueToCode(this,"pitch",e.ORDER_ATOMIC)+")\n"},qI=function(t,e){return e.definitions_.import_music="import music","music.pitch_time("+e.valueToCode(this,"pitch",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"time",e.ORDER_ATOMIC)+")\n"},QI=function(t,e){e.definitions_.import_music="import music";return"music.stop()\n"},jI=function(t,e){return e.definitions_.import_music="import music","music.play("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+")\n"},JI=function(t,e){return e.definitions_.import_music="import music","music.play("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN",e.ORDER_ASSIGNMENT)+")\n"},zI=function(t,e){return e.definitions_.import_music="import music",e.definitions_.import_matrix="import matrix","music.play_show("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN",e.ORDER_ASSIGNMENT)+")\n"},ZI=function(t,e){return e.definitions_.import_music="import music","music.reset()\n"},$I=function(t,e){return e.definitions_.import_servo="import servo",e.definitions_.import_machine="import machine","servo.servo_write_angle("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC)+")\n"},tT=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},eT=function(t,e){return[this.getFieldValue("flag"),e.ORDER_ATOMIC]},iT=function(t,e){e.definitions_.import_mixgo="import mixgo";var i=e.valueToCode(this,"bright",e.ORDER_ATOMIC);return"mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").setonoff("+i+")\n"},nT=function(t,e){return e.definitions_.import_mixgo="import mixgo",["mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").getonoff()",e.ORDER_ATOMIC]},sT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").setbrightness("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},oT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".setonoff("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},pT=function(t,e){return e.definitions_.import_mixgo="import mixgo",["mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".getonoff()",e.ORDER_ATOMIC]},uT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".setbrightness("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},aT=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=e.valueToCode(this,"LEDCOUNT",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",i+" = neopixel.NeoPixel(machine.Pin("+n+"), "+s+", timing=True)\n"},lT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".write()\n"},_T=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"["+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+"] = ("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+")\n"},rT=function(t,e){e.definitions_.import_mixgo="import mixgo";return"mixgo.rgb.write()\n"},dT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.rgb["+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+"] = ("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+")\n"},IT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.rgb.fill(("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+"))\n"},TT=oT,hT=pT,mT=uT,OT=function(t,e){var i=e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC);e.functions_["terminal_widget_vpin_"+i]=`\nALLOWED_COMMANDS_LIST = ['ls', 'lsusb', 'ip a', 'ip abc']\n\n@blynk.handle_event('write V${i}')\ndef write_handler(pin, _values):\n header = ''\n result = ''\n delimiter = '{}\\n'.format('=' * 30)\n if _values and _values[0] in ALLOWED_COMMANDS_LIST:\n cmd_params = _values[0].split(' ')\n try:\n result = subprocess.check_output(cmd_params).decode('utf-8')\n header = '[output]\\n'\n except subprocess.CalledProcessError as exe_err:\n header = '[error]\\n'\n result = 'Return Code: {}\\n'.format(exe_err.returncode)\n except Exception as g_err:\n print("Command caused '{}'".format(g_err))\n elif _values and _values[0] == 'help':\n header = '[help -> allowed commands]\\n'\n result = '{}\\n'.format('\\n'.join(ALLOWED_COMMANDS_LIST))\n\n # communicate with terminal if help or some allowed command\n if result:\n output = '{}{}{}{}'.format(header, delimiter, result, delimiter)\n print(output)\n blynk.virtual_write(pin, output)\n blynk.virtual_write(pin, '\\n')\n`;return""},cT=function(t,e){return"blynk.virtual_sync("+e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC)+")\n"},RT=function(t,e){var i=e.statementToCode(this,"DO");return i=e.addLoopTrap(i,this.id)||e.PASS,e.definitions_.blynk_on_disconnected="@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n"+i,""},MT=function(t,e){var i=e.statementToCode(this,"DO");return i=e.addLoopTrap(i,this.id)||e.PASS,e.definitions_.blynk_on_connected="@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n"+i,""},ET=function(){return"blynk_timer.run()\n"},CT=function(){return"blynk.run()\n"},AT=function(t,e){return"blynk.notify("+e.valueToCode(this,"notification",e.ORDER_ATOMIC)+")\n"},gT=function(t,e){e.definitions_.import_blynktimer="import blynktimer",e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";var i=e.valueToCode(this,"timer_num",e.ORDER_ATOMIC);return`blynk_timer.stop('${i}_blynk_timer${i}')\n`},ST=function(t,e){e.definitions_.import_blynktimer="import blynktimer",e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";return["blynk_timer.get_timers()",e.ORDER_ATOMIC]},DT=function(t,e){e.definitions_.import_blynktimer="import blynktimer";var i=e.valueToCode(this,"Num",e.ORDER_ATOMIC),n=e.valueToCode(this,"period",e.ORDER_ATOMIC),s=this.getFieldValue("Timer_mode"),o=e.statementToCode(this,"DO");return o=e.addLoopTrap(o,this.id)||e.PASS,e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)",e.definitions_["blynktimer_event"+i]=`\n@blynk_timer.register(interval=${n}, run_once=${s})\ndef blynk_timer${i}():\n`+o,""},LT=function(t,e){var i=e.valueToCode(this,"sensor_data",e.ORDER_ATOMIC);return"blynk.virtual_write("+e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC)+", "+i+")\n"},NT=function(t,e){var i=e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC),n=e.statementToCode(this,"DO");return n=e.addLoopTrap(n,this.id)||e.PASS,e.definitions_["blynk_VIRTUAL_WRITE_"+i]="@blynk.handle_event('write V"+i+"')\ndef write_virtual_pin_handler(pin, _value):\n for i in range(0, len(_value)):\n try: _value[i] = eval(_value[i])\n except: pass\n if len(_value) == 1: _value = _value[0]\n"+n,""},fT=function(t,e){var i=e.valueToCode(this,"body",e.ORDER_ATOMIC),n=e.valueToCode(this,"subject",e.ORDER_ATOMIC);return`blynk.email(${e.valueToCode(this,"TargetEmail",e.ORDER_ATOMIC)}, ${n}, ${i})\n`},FT=function(t,e){var i=e.valueToCode(this,"attribute_value",e.ORDER_ATOMIC);return`blynk.set_property(pin, ${e.valueToCode(this,"attribute_name",e.ORDER_ATOMIC)}, ${i})\n`},vT=function(t,e){e.definitions_.import_BlynkLib="import blynklib";var i=e.valueToCode(this,"server",e.ORDER_ATOMIC),n=e.valueToCode(this,"auth",e.ORDER_ATOMIC),s=e.valueToCode(this,"port",e.ORDER_ATOMIC);return e.definitions_.mpython_blynk_setup="blynk = blynklib.Blynk("+n+", server="+i+", port="+s+")",e.definitions_.blynk_on_connected="\n@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n",e.definitions_.blynk_on_disconnected="\n@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n",""};const PT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.show("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},VT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},yT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.showstatic("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},YT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.show("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},bT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},kT=function(t,e){e.definitions_.import_matrix="import matrix";var i={"#000000":"0","#ff0000":"1"};return['matrix.Image("'+i[t.getFieldValue("00")]+i[t.getFieldValue("01")]+i[t.getFieldValue("02")]+i[t.getFieldValue("03")]+i[t.getFieldValue("04")]+i[t.getFieldValue("05")]+i[t.getFieldValue("06")]+i[t.getFieldValue("07")]+i[t.getFieldValue("08")]+i[t.getFieldValue("09")]+i[t.getFieldValue("0a")]+i[t.getFieldValue("0b")]+i[t.getFieldValue("0c")]+i[t.getFieldValue("0d")]+i[t.getFieldValue("0e")]+i[t.getFieldValue("0f")]+":"+i[t.getFieldValue("10")]+i[t.getFieldValue("11")]+i[t.getFieldValue("12")]+i[t.getFieldValue("13")]+i[t.getFieldValue("14")]+i[t.getFieldValue("15")]+i[t.getFieldValue("16")]+i[t.getFieldValue("17")]+i[t.getFieldValue("18")]+i[t.getFieldValue("19")]+i[t.getFieldValue("1a")]+i[t.getFieldValue("1b")]+i[t.getFieldValue("1c")]+i[t.getFieldValue("1d")]+i[t.getFieldValue("1e")]+i[t.getFieldValue("1f")]+":"+i[t.getFieldValue("20")]+i[t.getFieldValue("21")]+i[t.getFieldValue("22")]+i[t.getFieldValue("23")]+i[t.getFieldValue("24")]+i[t.getFieldValue("25")]+i[t.getFieldValue("26")]+i[t.getFieldValue("27")]+i[t.getFieldValue("28")]+i[t.getFieldValue("29")]+i[t.getFieldValue("2a")]+i[t.getFieldValue("2b")]+i[t.getFieldValue("2c")]+i[t.getFieldValue("2d")]+i[t.getFieldValue("2e")]+i[t.getFieldValue("2f")]+":"+i[t.getFieldValue("30")]+i[t.getFieldValue("31")]+i[t.getFieldValue("32")]+i[t.getFieldValue("33")]+i[t.getFieldValue("34")]+i[t.getFieldValue("35")]+i[t.getFieldValue("36")]+i[t.getFieldValue("37")]+i[t.getFieldValue("38")]+i[t.getFieldValue("39")]+i[t.getFieldValue("3a")]+i[t.getFieldValue("3b")]+i[t.getFieldValue("3c")]+i[t.getFieldValue("3d")]+i[t.getFieldValue("3e")]+i[t.getFieldValue("3f")]+":"+i[t.getFieldValue("40")]+i[t.getFieldValue("41")]+i[t.getFieldValue("42")]+i[t.getFieldValue("43")]+i[t.getFieldValue("44")]+i[t.getFieldValue("45")]+i[t.getFieldValue("46")]+i[t.getFieldValue("47")]+i[t.getFieldValue("48")]+i[t.getFieldValue("49")]+i[t.getFieldValue("4a")]+i[t.getFieldValue("4b")]+i[t.getFieldValue("4c")]+i[t.getFieldValue("4d")]+i[t.getFieldValue("4e")]+i[t.getFieldValue("4f")]+":"+i[t.getFieldValue("50")]+i[t.getFieldValue("51")]+i[t.getFieldValue("52")]+i[t.getFieldValue("53")]+i[t.getFieldValue("54")]+i[t.getFieldValue("55")]+i[t.getFieldValue("56")]+i[t.getFieldValue("57")]+i[t.getFieldValue("58")]+i[t.getFieldValue("59")]+i[t.getFieldValue("5a")]+i[t.getFieldValue("5b")]+i[t.getFieldValue("5c")]+i[t.getFieldValue("5d")]+i[t.getFieldValue("5e")]+i[t.getFieldValue("5f")]+":"+i[t.getFieldValue("60")]+i[t.getFieldValue("61")]+i[t.getFieldValue("62")]+i[t.getFieldValue("63")]+i[t.getFieldValue("64")]+i[t.getFieldValue("65")]+i[t.getFieldValue("66")]+i[t.getFieldValue("67")]+i[t.getFieldValue("68")]+i[t.getFieldValue("69")]+i[t.getFieldValue("6a")]+i[t.getFieldValue("6b")]+i[t.getFieldValue("6c")]+i[t.getFieldValue("6d")]+i[t.getFieldValue("6e")]+i[t.getFieldValue("6f")]+":"+i[t.getFieldValue("70")]+i[t.getFieldValue("71")]+i[t.getFieldValue("72")]+i[t.getFieldValue("73")]+i[t.getFieldValue("74")]+i[t.getFieldValue("75")]+i[t.getFieldValue("76")]+i[t.getFieldValue("77")]+i[t.getFieldValue("78")]+i[t.getFieldValue("79")]+i[t.getFieldValue("7a")]+i[t.getFieldValue("7b")]+i[t.getFieldValue("7c")]+i[t.getFieldValue("7d")]+i[t.getFieldValue("7e")]+i[t.getFieldValue("7f")]+'")',e.ORDER_ATOMIC]},XT=function(t,e){return e.definitions_.import_matrix="import matrix",["matrix.Image."+t.getFieldValue("image"),e.ORDER_ATOMIC]},GT=function(t,e){return e.definitions_.import_matrix="import matrix",["matrix.get_pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},wT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.set_pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},UT=function(t,e){e.definitions_.import_matrix="import matrix";return["matrix.get_brightness()",e.ORDER_ATOMIC]},xT=function(t,e){e.definitions_.import_matrix="import matrix";return["matrix.get_screenimage()",e.ORDER_ATOMIC]},HT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},BT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.blink_rate("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},WT=function(t,e){e.definitions_.import_matrix="import matrix";return"matrix.clear()\n"},KT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},qT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},QT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},jT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),p=e.valueToCode(this,"height",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP"),l="";switch(u){case"True":l=i+".show_fill_rect("+n+", "+s+", "+o+", "+p+", "+a+")\n";break;case"False":l=i+".show_rect("+n+", "+s+", "+o+", "+p+", "+a+")\n"}return l},JT=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP"),n=e.valueToCode(t,"A",e.ORDER_ATOMIC),s=e.valueToCode(t,"B",e.ORDER_ATOMIC);return["INTERSECTION"==i?n+"-("+n+"-"+s+")":n+i+s,e.ORDER_ATOMIC]},zT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},ZT=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},$T=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},th=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},eh=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},ih=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+this.getFieldValue("STAT")+"()\n"},nh=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+"_show_num("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},sh=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+"_show_dot("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},oh=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},ph=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",u=this.getFieldValue("OP"),a="";switch(p){case"True":a=i+".show_fill_circle("+n+", "+s+", "+o+", "+u+")\n";break;case"False":a=i+".show_circle("+n+", "+s+", "+o+", "+u+")\n"}return a},uh=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),p=e.valueToCode(this,"y1",e.ORDER_ATOMIC),u=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),l="TRUE"==this.getFieldValue("fill")?"True":"False",_=this.getFieldValue("OP"),r="";switch(l){case"True":r=i+".show_fill_triangle("+n+", "+s+", "+o+", "+p+", "+u+", "+a+", "+_+")\n";break;case"False":r=i+".show_triangle("+n+", "+s+", "+o+", "+p+", "+u+", "+a+", "+_+")\n"}return r},ah=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},lh=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},_h=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=n+" = matrix32x12.Matrix("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},rh=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_matrix32x12="import matrix32x12",i+".set_buffer("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},dh=function(t,e){return e.definitions_.import_matrix32x12="import matrix32x12",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Ih=function(t,e){return e.definitions_.import_mixiot="import mixiot","mixiot.wlan_connect("+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},Th=function(t,e){return e.definitions_.import_onenet="import onenet",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = onenet.init_MQTT_client("+e.valueToCode(this,"CLIENT",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", "+(e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)||"None")+")\n"},hh=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return e.definitions_.import_onenet="import onenet",i+".do_disconnect()\n"},mh=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"DICT",e.ORDER_ATOMIC),s="TRUE"==this.getFieldValue("is_print")?"True":"False";return e.definitions_.import_onenet="import onenet",i+".publish("+n+", is_print="+s+")\n"},Oh=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return e.definitions_.import_onenet="import onenet",i+".check_msg()\n"},ch=function(t,e){e.definitions_.import_onenet="import onenet";var i=new Array(this.itemCount_),n=new Array(this.itemCount_),s=new Array(this.itemCount_),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);for(let t=0;t0?e.join("\n")+i.join("\n")+n.join("\n")+p.join("\n")+u.join("")+t+"while True:\n"+a.join("")+l.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+p.join("\n")+u.join("")+t+l.join("\n"),_},Gm.scrubNakedValue=function(t){return t+"\n"},Gm.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Gm.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Gm.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Et.utils.string.wrap(o,Gm.COMMENT_WRAP-3),n+=Gm.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const wm={k210:{description:"MicroPython[K210_MixGo AI]",digital_pin:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P17","17"],["P18","18"],["P19","19"],["P20","20"],["P21","21"],["P22","22"],["P23","23"],["P24","24"],["P25","25"]],digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P17","17"],["P18","18"],["P19","19"],["P20","20"],["P21","21"],["P22","22"],["P23","23"],["P24","24"],["P25","25"],["P30","30"],["P31","31"],["P32","32"],["P33","33"],["P34","34"],["P35","35"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]]}};wm["MixGo AI"]=wm.k210;const Um=wm,xm=100,Hm={init:function(){this.setColour(xm),this.appendDummyInput().appendField("初始化"),this.appendDummyInput().appendField("舵机"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("time").appendField("定时器").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Bm={init:function(){this.setColour(xm),this.appendDummyInput().appendField("设置"),this.appendDummyInput().appendField("舵机"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("range").appendField("角度").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Wm={init:function(){this.setColour(xm),this.appendDummyInput().appendField("初始化"),this.appendDummyInput().appendField("16路舵机"),this.appendValueInput("address").appendField("地址").setCheck(Number),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("使用PCA9685驱动16路舵机并备注IIC端口")}},Km={init:function(){this.setColour(xm),this.appendDummyInput().appendField("设置"),this.appendDummyInput().appendField("16路舵机"),this.appendValueInput("index").appendField("编号").setCheck(Number),this.appendValueInput("range").appendField("角度").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("使用PCA9685驱动16路舵机,输入编号机角度")}},qm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("num").appendField("灯数").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Qm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendValueInput("num").appendField("灯号").setCheck(Number),this.appendValueInput("R").appendField("R值").setCheck(Number),this.appendValueInput("G").appendField("G值").setCheck(Number),this.appendValueInput("B").appendField("B值").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},jm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("生效"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Jm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Et.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},zm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Et.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Et.Msg.MOTOR_N,"ms32006.MOT_N"],[Et.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Zm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Et.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Et.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},$m={init:function(){this.setColour(xm),this.appendValueInput("SUB").setCheck("var").appendField("初始化"),this.appendValueInput("P",Number).appendField("P值").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("I",Number).appendField("I值").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("D",Number).appendField("D值").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("初始化PID算法")}},tO={init:function(){this.setColour(xm),this.appendValueInput("SUB").setCheck("var").appendField(""),this.appendDummyInput().appendField("运算"),this.appendValueInput("error").appendField("偏移量").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("scaler").appendField("定标量").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("根据参数返回运算结果")}},eO="#55839A",iO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField(new Et.FieldTextInput("anchor"),"VAR").appendField("锚点参数= (").appendField(new Et.FieldTextInput("1.889, 2.5245, 2.9465, 3.94056, 3.99987, 5.3658, 5.155437, 6.92275, 6.718375, 9.01025"),"TEXT").appendField(")"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("锚点参数")}},nO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField(new Et.FieldTextInput("calss"),"VAR").appendField("物品名称= [").appendField(new Et.FieldTextInput("'name1', 'name2', 'name3', 'name4'"),"TEXT").appendField("]"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("将要识别的物品名称")}},sO={init:function(){this.setColour(eO),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendValueInput("path").appendField("模型加载").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("从flash系统中加载模型")}},oO={init:function(){this.setColour(eO),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendValueInput("path").appendField("模型路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("从文件系统中加载模型")}},pO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("yolo2").appendField("初始化"),this.appendValueInput("SUB").setAlign(Et.inputs.Align.RIGHT).appendField("网络模型").setCheck("var"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("概率阈值").setCheck(Number),this.appendValueInput("nms_value").setAlign(Et.inputs.Align.RIGHT).appendField("box_iou门限").setCheck(Number),this.appendValueInput("anchor_num").setAlign(Et.inputs.Align.RIGHT).appendField("锚点数").setCheck(Number),this.appendValueInput("anchor").setAlign(Et.inputs.Align.RIGHT).appendField("锚点参数"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化yolo2网络")}},uO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("yolo2").appendField("运行网络"),this.appendValueInput("SUB").setAlign(Et.inputs.Align.RIGHT).appendField("模型").setCheck("var"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("运行yolo2网络")}},aO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("yolo2").appendField("前向运算"),this.appendValueInput("SUB").setAlign(Et.inputs.Align.RIGHT).appendField("模型").setCheck("var"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("运行网络前向运算")}},lO={init:function(){this.setColour(eO),this.appendDummyInput().appendField("yolo2").appendField("模型解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-x","x"],["坐标-y","y"],["标识号","classid"],["置信度","value"]]),"key"),this.setOutput(!0),this.setTooltip("对于模型解析,获取模型识别结果的目标坐标、标识好、置信度")}},_O={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_OneNET").appendField("连接WiFi"),this.appendValueInput("account").appendField("名称").setCheck(String),this.appendValueInput("password").appendField("密码").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("AI-Onenet平台 连接WiFi")}},rO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_OneNET").appendField("获鉴权码"),this.appendValueInput("account").setAlign(Et.inputs.Align.RIGHT).appendField("账号").setCheck(String),this.appendValueInput("password").setAlign(Et.inputs.Align.RIGHT).appendField("密码").setCheck(String),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("AI-Onenet平台 需要注册平台才能使用账号获取用户鉴权码,鉴权码一般24小时有效")}},dO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_OneNET").appendField("调取API"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像"),this.appendDummyInput().appendField("识别").appendField(new Et.FieldDropdown([["人脸检测","FACE_RECO"],["人脸分析","FACE_ATTRIBUTE"],["人体检测","BODY_RECO"],["图像抄表","AMMETER_READ"],["内容测评","IDENTIFY_PORN"],["车牌信息","NUMBER_PLATE_RECOGNITION"],["宠物种类","CAT_DOG_DETECTION"],["火灾检测","FIRE_DETECTION"]]),"api"),this.appendValueInput("token").setAlign(Et.inputs.Align.RIGHT).appendField("鉴权码").setCheck(String),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("AI-Onenet平台 调用平台API,返回列表识别结果参数")}},IO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Local").appendField("模型训练"),this.appendValueInput("calss").setAlign(Et.inputs.Align.RIGHT).appendField("物品"),this.appendValueInput("sample").setAlign(Et.inputs.Align.RIGHT).appendField("训练量").setCheck(Number),this.appendValueInput("save").setAlign(Et.inputs.Align.RIGHT).appendField("保存").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("AI-Local本地模型训练 需要识别的物品名称、每个物品训练数量、保存的名称")}},TO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Local").appendField("模型加载"),this.appendValueInput("path").setAlign(Et.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("AI-Local 加载已经训练好的本地模型")}},hO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Local").appendField("运行模型"),this.appendValueInput("calss").setAlign(Et.inputs.Align.RIGHT).appendField("物品"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("AI-Local 采集图像运行模型将返回识别的物品名、置信度")}},mO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Face").appendField("初始化 加载"),this.appendValueInput("FD").setAlign(Et.inputs.Align.RIGHT).appendField("模型FD:").setCheck(String),this.appendValueInput("LD").setAlign(Et.inputs.Align.RIGHT).appendField("模型LD:").setCheck(String),this.appendValueInput("FE").setAlign(Et.inputs.Align.RIGHT).appendField("模型FE:").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("人脸分辨,初始化")}},OO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Face").appendField("运行识别"),this.appendValueInput("names").setAlign(Et.inputs.Align.RIGHT).appendField("人名"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图象"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("人脸分辨,识别到人脸返回True,无人脸返回False")}},cO={init:function(){this.setColour(eO),this.appendDummyInput().appendField("AI_Face").appendField("识别解析"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["识别人名","info_name"],["置信度 %","info_score"],["脸部坐标","info_face"],["三官坐标","info_organs"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("人脸分辨,识别到人物名称,置信度,脸部坐标,三官(眼睛x2、鼻子、嘴巴*2)坐标")}},RO="#2CAAD2",MO={init:function(){this.setColour(RO),this.appendValueInput("SUB").setCheck("var").appendField("初始化"),this.appendValueInput("BCK",Number).appendField("BCK#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("WS",Number).appendField("WS#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("DAT",Number).appendField("DAT#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("初始化配置扬声器,用于语音播放")}},EO={init:function(){this.setColour(RO),this.appendValueInput("SUB").setCheck("var").appendField("初始化"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("初始化配置扬声器,用于语音播放")}},CO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Audio 音频播放"),this.appendValueInput("path").appendField("路径").setAlign(Et.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("volume").appendField("音量(%)").setAlign(Et.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("音频播放")}},AO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Audio 音频录制"),this.appendValueInput("path").appendField("路径").setAlign(Et.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("time").appendField("时长(s)").setAlign(Et.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("音频录制")}},gO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Video 视频播放"),this.appendValueInput("path").appendField("路径").setAlign(Et.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("volume").appendField("音量(%)").setAlign(Et.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("视频播放")}},SO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Video 视频录制"),this.appendValueInput("path").appendField("路径").setAlign(Et.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("time").appendField("时长(s)").setAlign(Et.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("视频录制")}},DO="#bc9705",LO={init:function(){this.setColour(DO),this.appendDummyInput("").appendField(new Et.FieldDropdown([["彩色图(YUV422)","sensor.YUV422"],["彩色图(RGB565)","sensor.RGB565"],["灰度图","sensor.GRAYSCALE"]]),"flag"),this.setOutput(!0),this.setTooltip()}},NO={init:function(){this.setColour(DO),this.appendDummyInput("").appendField(new Et.FieldDropdown([["320x240","sensor.QVGA"],["240x240","sensor.B240X240"],["128x128","sensor.B128X128"],["64x64","sensor.B64X64"]]),"flag"),this.setOutput(!0),this.setTooltip()}},fO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera").appendField("初始化"),this.appendValueInput("key1").setAlign(Et.inputs.Align.RIGHT).appendField("帧格式"),this.appendValueInput("key2").setAlign(Et.inputs.Align.RIGHT).appendField("帧大小"),this.appendValueInput("key3").setAlign(Et.inputs.Align.RIGHT).appendField("图捕捉"),this.appendValueInput("key4").setAlign(Et.inputs.Align.RIGHT).appendField("跳帧数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("初始化摄像头,会自动扫描并获取摄像头型号")}},FO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("初始化"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("初始化摄像头,会自动扫描并获取摄像头型号")}},vO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("帧格式"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头输出格式")}},PO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("帧大小"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头输出帧大小")}},VO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("图捕捉"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("开启图像捕捉功能")}},yO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("frame").appendField("跳帧数").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("摄像头跳过指定帧数")}},YO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("获取图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("控制摄像头捕捉图像")}},bO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("设为"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("启动/关闭摄像头")}},kO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("水平镜像"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头水平镜像")}},XO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("垂直镜像"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头垂直镜像")}},GO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("彩条模式"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("将摄像头设置为彩条模式")}},wO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["分辨率宽度","width"],["分辨率高度","height"],["当前增益值","get_gain_db"],["帧缓冲图像","get_fb"],["类型型号ID","get_id"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取当前摄像头信息")}},UO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("设置").appendField(new Et.FieldDropdown([["对比度","set_contrast"],["亮度值","set_brightness"],["增益值","set_auto_gain"],["饱和度","set_saturation"]]),"key"),this.appendValueInput("num").appendField("值为").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头对比度、亮度、增益、饱和度")}},xO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("设置窗口"),this.appendValueInput("numa").appendField("宽为").setCheck(Number),this.appendValueInput("numb").appendField("高为").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头窗口大小")}},HO=140,BO={init:function(){this.setColour(HO),this.appendValueInput("PIN").appendField(Et.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField("获取编码"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_SCAN)}},WO={init:function(){this.setColour(HO),this.appendValueInput("SUB").appendField("I2C "+Et.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField("通道").appendField(new Et.FieldDropdown([["0","I2C0"],["1","I2C1"],["2","I2C2"]]),"mode"),this.appendValueInput("freq").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_INIT)}},KO={init:function(){this.setColour(HO),this.appendValueInput("SUB").setCheck("var").appendField("I2S 初始化"),this.appendDummyInput().appendField("设备").appendField(new Et.FieldDropdown([["麦克风","mic"],["扬声器","spk"]]),"mode"),this.appendValueInput("BCK",Number).appendField("BCK#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("WS",Number).appendField("WS#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("DAT",Number).appendField("DAT#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("sample").appendField("采样率").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_INIT)}},qO={init:function(){this.setColour(HO),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},QO={init:function(){this.setColour(HO),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},jO={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_I2C_SCAN1),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_SCAN)}},JO={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("polarity").setCheck(Number).appendField("polarity"),this.appendValueInput("phase").setCheck(Number).appendField("phase"),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},zO={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_SETTING+" SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_SET)}},ZO={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_SET+"SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},$O={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READ)}},tc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.LANG_MATH_BYTE+","+Et.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},ec={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(Et.Msg.MIXLY_SERIAL_READ+Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READINTO)}},ic={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(Et.Msg.MIXLY_SERIAL_READ+Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(","+Et.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},nc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_WRITE)}},sc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(","+Et.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},oc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},pc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_READ+"I2C"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},uc={init:function(){this.setColour(HO),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ac={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendValueInput("BUS").setCheck(Number).appendField(Et.Msg.MIXLY_SETUP+" "+Et.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_INIT)}},lc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_SCAN)}},_c={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_READ)}},rc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_WRITE).appendField(new Et.FieldDropdown([[Et.Msg.LANG_MATH_STRING,"write"],[Et.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_WRITE)}},dc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_SELECT),this.appendValueInput("byte").setCheck(String).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_SELECT)}},Ic={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_RESET),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_RESET)}},Tc=WO,hc=qO,mc=QO,Oc=jO,cc=JO,Rc=zO,Mc=ZO,Ec=$O,Cc=tc,Ac=ec,gc=ic,Sc=nc,Dc=sc,Lc=oc,Nc=pc,fc=180,Fc={init:function(){this.setColour(fc),this.appendDummyInput("").appendField(new Et.FieldDropdown([["0°","0"],["90°","1"],["180°","2"],["270°","3"]]),"flag"),this.setOutput(!0),this.setTooltip()}},vc={init:function(){this.setColour(fc),this.appendDummyInput("").appendField(new Et.FieldDropdown([["黑色","lcd.BLACK"],["深蓝色","lcd.NAVY"],["蓝色","lcd.BLUE"],["深绿色","lcd.DARKGREEN"],["深青色","lcd.DARKCYAN"],["绿色","lcd.GREEN"],["青色","lcd.CYAN"],["褐红色","lcd.MAROON"],["紫色","lcd.PURPLE"],["橄榄色","lcd.OLIVE"],["深灰色","lcd.DARKGREY"],["绿黄色","lcd.GREENYELLOW"],["浅灰色","lcd.LIGHTGREY"],["红色","lcd.RED"],["洋红色","lcd.MAGENTA"],["粉红色","lcd.PINK"],["橙色","lcd.ORANGE"],["黄色","lcd.YELLOW"],["白色","lcd.WHITE"]]),"flag"),this.setOutput(!0),this.setTooltip()}},Pc={init:function(){this.setColour(fc),this.appendDummyInput("").appendField(new Et.FieldDropdown([["开启","1"],["关闭","0"]]),"flag"),this.setOutput(!0),this.setTooltip()}},Vc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 初始化"),this.appendValueInput("freq").setAlign(Et.inputs.Align.RIGHT).appendField("通信频率").setCheck(Number),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("背景颜色").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化LCD屏幕显示")}},yc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 获取 "),this.appendDummyInput().appendField(new Et.FieldDropdown([["宽度","width"],["高度","height"]]),"key"),this.appendDummyInput().appendField("分辨率"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取LCD的宽度/高度(水平分辨率)")}},Yc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD"),this.appendValueInput("key").appendField("系统颜色"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取LCD的宽度/高度(水平分辨率)")}},bc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 显示图像"),this.appendValueInput("img").appendField(""),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("在液晶屏上显示一张image(GRAYSCALE或RGB565")}},kc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 清屏颜色"),this.appendValueInput("color").appendField("").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("将液晶屏清空为指定的颜色")}},Xc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 屏幕旋转"),this.appendValueInput("key").appendField(""),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("设置LCD屏幕方向")}},Gc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 镜像显示"),this.appendValueInput("key").appendField(""),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置LCD是否镜面显示")}},wc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 绘制文本"),this.appendValueInput("x").setAlign(Et.inputs.Align.RIGHT).appendField("坐标X").setCheck(Number),this.appendValueInput("y").setAlign(Et.inputs.Align.RIGHT).appendField("坐标Y").setCheck(Number),this.appendValueInput("text").setAlign(Et.inputs.Align.RIGHT).appendField("文本内容").setCheck(String),this.appendValueInput("color_T").setAlign(Et.inputs.Align.RIGHT).appendField("文本颜色").setCheck(Number),this.appendValueInput("color_S").setAlign(Et.inputs.Align.RIGHT).appendField("背景颜色").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("在液晶屏上显示文本字符(不支持中文)")}},Uc={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 初始化"),this.appendValueInput("I2C").appendField("通信").setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化触摸屏")}},xc={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 校准"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("校准屏幕,使屏幕显示和触摸屏像素能够对应")}},Hc={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 获取 "),this.appendDummyInput().appendField(new Et.FieldDropdown([["状态","[0]"],["坐标x","[1]"],["坐标y","[2]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("读取当前屏幕的状态以及按下的点的坐标值")}},Bc={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 状态"),this.appendDummyInput().appendField(new Et.FieldDropdown([["空闲","ts.STATUS_IDLE"],["不按","ts.STATUS_RELEASE"],["按下","ts.STATUS_PRESS"],["移动","ts.STATUS_MOVE"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("读取当前屏幕的状态以及按下的点的坐标值")}},Wc="#777777",Kc={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField("from ").appendField(new Et.FieldTextInput("mixno"),"path").appendField(" import ").appendField(new Et.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qc={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField("import ").appendField(new Et.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qc={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField(new Et.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:"ni-hao"),"KEY"+e).appendField("”:")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},lR={init:function(){this.setColour(pR),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("启动识别 返回结果"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip("语音识别,获取识别结果")}},_R={init:function(){this.setColour(pR),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("注销识别 内存释放"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("语音识别,注销语音识别,释放内存")}},rR="#90A244",dR={init:function(){this.setColour(rR),this.appendDummyInput("").appendField(new Et.FieldDropdown([["否","0"],["是","1"]]),"flag"),this.setOutput(!0),this.setTooltip()}},IR={init:function(){this.setColour(rR),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("path").appendField("打开路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("打开一个新的图像对象")}},TR={init:function(){this.setColour(rR),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField("打开空图"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("打开一个空的图像对象")}},hR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像信息"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["宽度","width"],["高度","height"],["格式","format"],["大小","size"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取图像的宽度、高度、格式、大小")}},mR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像保存"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("path").setAlign(Et.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("图像的副本保存到文件系统")}},OR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像截取"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("复制一个图像图像的副本")}},cR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("RGB"),this.appendDummyInput().appendField("["),this.appendValueInput("R").setCheck(Number),this.appendValueInput("G").appendField(",").setCheck(Number),this.appendValueInput("B").appendField(",").setCheck(Number),this.appendDummyInput().appendField("]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("对图像进行适当压缩")}},RR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像压缩"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("quality").setAlign(Et.inputs.Align.RIGHT).appendField("压缩率").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("对图像进行适当压缩")}},MR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像清除"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("将图像中的所有像素设置为零")}},ER={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像转换"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendDummyInput().appendField("转换为").appendField(new Et.FieldDropdown([["灰度图","to_grayscale"],["彩色图","to_rgb565"],["彩虹图","to_rainbow"],["AI格式","pix_to_ai"],["字节块","to_bytes"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("将图像转换为灰度图、彩色图、彩虹图像")}},CR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("修改点颜色"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("设置图像某点像素值")}},AR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("获取点颜色"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xy"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("获取图像某点像素值")}},gR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("字库加载"),this.appendValueInput("path").setAlign(Et.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("从SD中加载需要显示文字的字库")}},SR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("字库释放"),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("释放字库所占的内存")}},DR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制文本(中)"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Et.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Et.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Et.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Et.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.appendValueInput("x_spacing").setAlign(Et.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个文本")}},LR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制文本"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Et.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Et.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Et.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Et.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.appendValueInput("x_spacing").setAlign(Et.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个中文文本")}},NR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制文本(英)"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Et.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Et.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Et.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Et.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个字符文本")}},fR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制直线"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xyxy"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一条从(x0,y0)到(x1,y1)的线")}},FR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制箭头"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xyxy"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("大小").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个箭头")}},vR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制十字"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("延伸").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个十字")}},PR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制圆形"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xyr"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Et.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个圆形")}},VR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制矩形"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xywh"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Et.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个矩形")}},yR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制特征点"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("keypoints").setAlign(Et.inputs.Align.RIGHT).appendField("对象"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("大小").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Et.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setTooltip("绘制一个特征点对象的各个点")}},YR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制图像"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("x_scale").setAlign(Et.inputs.Align.RIGHT).appendField("x缩放").setCheck(Number),this.appendValueInput("y_scale").setAlign(Et.inputs.Align.RIGHT).appendField("y缩放").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("绘制一个image图像")}},bR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("直线识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("theta_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并角度").setCheck(Number),this.appendValueInput("rho_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并斜率").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别直线,返回image.line对象列表")}},kR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("线段识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("distance").setAlign(Et.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.appendValueInput("difference").setAlign(Et.inputs.Align.RIGHT).appendField("合并角度").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别线段,返回image.line对象列表")}},XR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("圆形识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("r_min").setAlign(Et.inputs.Align.RIGHT).appendField("最小r").setCheck(Number),this.appendValueInput("r_max").setAlign(Et.inputs.Align.RIGHT).appendField("最大r").setCheck(Number),this.appendValueInput("r_step").setAlign(Et.inputs.Align.RIGHT).appendField("步长r").setCheck(Number),this.appendValueInput("x_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并x值").setCheck(Number),this.appendValueInput("y_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并y值").setCheck(Number),this.appendValueInput("r_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并r值").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[circle]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别圆形,返回image.cirle对象列表")}},GR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("矩形识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[rect]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用四元检测识别矩形,返回image.rect对象列表")}},wR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("线性回归"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("invert").setAlign(Et.inputs.Align.RIGHT).appendField("阈值反转"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("robust").setAlign(Et.inputs.Align.RIGHT).appendField("泰尔指数").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("计算线性回归,返回image.line对象列表")}},UR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("直线解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","line"],["x1分量","x1"],["y1分量","y1"],["x2分量","x2"],["y2分量","y2"],["长度","length"],["角度","theta"],["斜率","rho"],["模","magnitude"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.line列表,获取直线信息")}},xR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("圆形解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xyr","circle"],["x分量","x"],["y分量","y"],["r分量","r"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.circle列表,获取圆形信息")}},HR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("矩形解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.rect列表,获取矩形信息")}},BR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("直方图均衡"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("key").setAlign(Et.inputs.Align.RIGHT).appendField("自适应"),this.appendValueInput("limit").setAlign(Et.inputs.Align.RIGHT).appendField("对比度").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单直方图均衡化")}},WR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("模糊滤波"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("key").setAlign(Et.inputs.Align.RIGHT).appendField("自适应"),this.appendValueInput("offset").setAlign(Et.inputs.Align.RIGHT).appendField("补偿").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单模糊滤波")}},KR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("卡通化滤波"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("seed").setAlign(Et.inputs.Align.RIGHT).appendField("原始差异").setCheck(Number),this.appendValueInput("float").setAlign(Et.inputs.Align.RIGHT).appendField("相邻差异").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单卡通滤波器")}},qR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像腐蚀"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setTooltip("图像腐蚀,从分割区域的边缘删除像素(白色目标区域)")}},QR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像膨胀"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setTooltip("图像膨胀,将像素添加到分割区域的边缘中(白色目标区域)")}},jR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像填充"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("开始坐标"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("seed").setAlign(Et.inputs.Align.RIGHT).appendField("原始差异").setCheck(Number),this.appendValueInput("float").setAlign(Et.inputs.Align.RIGHT).appendField("相邻差异").setCheck(Number),this.appendValueInput("invert").setAlign(Et.inputs.Align.RIGHT).appendField("反转"),this.appendValueInput("clear").setAlign(Et.inputs.Align.RIGHT).appendField("清除"),this.setOutput(!0),this.setTooltip("像洪水一样填充图像中低矮凹陷的地方(洪水填充)")}},JR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像投影"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("key").setAlign(Et.inputs.Align.RIGHT).appendField("垂直投影"),this.setOutput(!0),this.setTooltip("图像从笛卡尔坐标到线性极坐标重新投影")}},zR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像反转"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("翻转图像中的所有像素值")}},ZR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("校正缩放"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendValueInput("strength").appendField("校正值").setCheck(Number),this.appendValueInput("zoom").appendField("缩放值").setCheck(Number),this.setOutput(!0),this.setTooltip("翻转图像中的所有像素值")}},$R={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像二值化"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("invert").setAlign(Et.inputs.Align.RIGHT).appendField("阈值反转"),this.appendValueInput("zero").setAlign(Et.inputs.Align.RIGHT).appendField("阈值像素为零"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("根据像素是否在阈值列表 thresholds 中的阈值内,将图像中的所有像素设置为黑色或白色。")}},tM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像边缘检测"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("kernel").setAlign(Et.inputs.Align.RIGHT).appendField("内核"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("通过过滤器内核对图像进行卷积。")}},eM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("条形码识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[barcode]"),this.setOutput(!0),this.setInputsInline(!1),this.setOutput(!0),this.setTooltip("使用条形码识别,返回image.barcode对象列表")}},iM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("二维码识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[qrcode]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用二维码识别,返回image.line对象列表")}},nM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("AprilTag识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[apriltag]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用image.TAG36H11识别,返回image.apriltag对象列表")}},sM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("二维码解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["内容","payload"],["版本","version"],["掩码","mask"],["类型","data_type"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.qrcode列表,获取二维码信息")}},oM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("条形码解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["内容","payload"],["类型","type"],["角度","rotation"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},pM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("AprilTag解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["号码","id"],["家族","family"],["弧度","rotation"],["x向距离","x_translation"],["y向距离","y_translation"],["z向距离","z_translation"],["x向弧度","x_rotation"],["y向弧度","y_rotation"],["z向弧度","z_rotation"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.apriltag列表,获取Apriltag信息")}},uM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("色块追踪"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("阈值LAB"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("area").setAlign(Et.inputs.Align.RIGHT).appendField("滤掉区域").setCheck(Number),this.appendValueInput("pixel").setAlign(Et.inputs.Align.RIGHT).appendField("滤掉素数").setCheck(Number),this.appendValueInput("margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并").setCheck(Number),this.appendValueInput("key").setAlign(Et.inputs.Align.RIGHT).appendField("重叠"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[blob]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用色块追踪,返回image.blob对象列表")}},aM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("颜色识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[histogram]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用直方图识别颜色,返回image.histogram对象列表")}},lM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("追踪解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["像素量","pixels"],["弧度","rotation"],["号码数","code"],["合并量","count"],["面积","area"],["密度比","density"]]),"key"),this.setOutput(!0),this.setTooltip("通过image.blob列表,获取追踪色块信息")}},_M={init:function(){this.setColour(rR),this.appendDummyInput().appendField("色阈浮点"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["灰度图浮点列表","bins"],["LAB的L浮点列表","l_bins"],["LAB的A浮点列表","a_bins"],["LAB的B浮点列表","b_bins"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},rM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("颜色解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendValueInput("percentile").appendField("CDF").setCheck(Number),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["灰度图值","value"],["LAB的L值","l_value"],["LAB的A值","a_value"],["LAB的B值","b_value"]]),"key"),this.setOutput(!0),this.setTooltip("通过histogram列表,获取识别颜色信息")}},dM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("色阈解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["灰度图值","value"],["LAB的L值","l_value"],["LAB的A值","a_value"],["LAB的B值","b_value"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},IM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("RGB888值"),this.appendValueInput("LIST").appendField("由LAB"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("LAB转RGB888")}},TM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("LAB值"),this.appendValueInput("LIST").appendField("由RGB888"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("RGB888转LAB")}},hM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("灰度值"),this.appendValueInput("LIST").appendField("由RGB888"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("RGB888转灰度图")}},mM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("RGB888"),this.appendValueInput("g_value").appendField("由灰度值").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("灰度图转RGB888")}},OM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("定向梯度图"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("线长").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("用HOG(定向梯度直方图)线替换ROI中的像素,仅支持灰度图像")}},cM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("特征识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("max_keypoints").setAlign(Et.inputs.Align.RIGHT).appendField("关键点数").setCheck(Number),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("角点数").setCheck(Number),this.appendValueInput("scale_factor").setAlign(Et.inputs.Align.RIGHT).appendField("比例因子").setCheck(Number),this.appendValueInput("normalized").setAlign(Et.inputs.Align.RIGHT).appendField("多比例"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[keypoints]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用特征识别,返回image.keypoints对象列表")}},RM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("特征比较"),this.appendValueInput("VAR1").setAlign(Et.inputs.Align.RIGHT).appendField("对象1").setCheck("var"),this.appendValueInput("VAR2").setAlign(Et.inputs.Align.RIGHT).appendField("对象2").setCheck("var"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("相似度").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[kptmatch]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用特征识别,返回image.keypoints对象列表")}},MM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("特征信息"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["匹配量","count"],["弧度","theta"],["匹配点-xy","match"]]),"key"),this.setOutput(!0),this.setTooltip("通过image.kptmatch列表,获取追踪特征信息")}},EM=20,CM={init:function(){this.setColour(EM),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_HIGH,"HIGH"],[Et.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},AM={init:function(){this.setColour(EM),this.appendDummyInput().appendField("初始化 "),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_Digital_PINMODEOUT,"GPIO.OUT"],[Et.Msg.MIXLY_Digital_PINMODEIN,"GPIO.IN"],[Et.Msg.MIXLY_PINMODEPULLUP,"GPIO.IN, board.GPIO.PULL_UP"],[Et.Msg.MIXLY_PINMODEPULLDOWN,"GPIO.IN, board.GPIO.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)}},gM={init:function(){this.setColour(EM),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Et.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},SM={init:function(){this.setColour(EM),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField("值"),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},DM={init:function(){this.setColour(EM),this.appendDummyInput().appendField("初始化 PWM输出"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("freq").appendField("频率").setCheck(Number),this.appendValueInput("VAR").appendField("定时器").setCheck("var"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化PWM输出设置,需要调用定时器")}},LM={init:function(){this.setColour(EM),this.appendValueInput("PIN",Number).appendField("PWM输出").setCheck(Number),this.appendValueInput("pwm").appendField("占空比").setCheck(Number),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("PWM输出,值范围为0-100%,可以为小数")}},NM={init:function(){this.setColour(EM),this.appendDummyInput().appendField("硬件中断"),this.appendValueInput("PIN",Number).appendField("管键").setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_RISING,"GPIO.IRQ_RISING"],[Et.Msg.MIXLY_FALLING,"GPIO.IRQ_FALLING"],[Et.Msg.MIXLY_CHANGE,"GPIO.IRQ_BOTH"]]),"mode"),this.appendValueInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},fM={init:function(){this.setColour(EM),this.appendDummyInput().appendField("取消中断"),this.appendValueInput("PIN",Number).appendField("管键").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("取消中断")}},FM="#637AAC",vM={init:function(){this.setColour(FM),this.appendDummyInput().appendField("OneNET 连接WiFi"),this.appendValueInput("WIFINAME").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},PM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"+Et.Msg.TUPLE_JOIN),this.appendValueInput("CLIENT").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_CLIENT),this.appendValueInput("SERVER").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_SERVER),this.appendValueInput("USERNAME").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_USERNAME),this.appendValueInput("PASSWORD").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_PASSWORD),this.appendValueInput("TOPIC").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_TOPIC),this.appendValueInput("SUB").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_CONNECT_TOOLTIP)}},VM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP)}},yM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_CHECK_TOOLTIP)}},YM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendValueInput("DICT").appendField(Et.Msg.MIXLY_ESP32_PUBLISH_ONENET),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_ONENET_PRINT_DATA).appendField(new Et.FieldCheckbox("TRUE"),"is_print"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_DICT_TOOLTIP)}},bM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET").setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField(new Et.FieldLabel(Et.Msg.MIXLY_ESP32_PUBLISH_ONENET),"TIP").setAlign(Et.inputs.Align.RIGHT),this.itemCount_=2,this.updateShape_(),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["iot_publish_item"],this)),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("iot_publish_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},kM={init:function(){this.setColour(FM),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},XM={init:function(){this.setColour(FM),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},GM={init:function(){this.setColour(FM),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},wM=vM,UM=PM,xM=VM,HM=yM,BM=bM,WM=230;Et.FieldTextInput.math_number_validator=function(t){return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null},Et.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const KM={init:function(){this.setColour(WM),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},qM={init:function(){this.setColour(WM);this.appendDummyInput("").appendField(Et.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Et.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},QM={init:function(){this.setColour(WM),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},jM={init:function(){this.setColour(WM),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},JM={init:function(){this.setColour(WM),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Et.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},zM={init:function(){this.setColour(WM),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Et.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Et.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Et.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Et.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Et.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Et.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Et.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Et.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},ZM={init:function(){var t=[[Et.Msg.LANG_MATH_TO_ROUND,"round"],[Et.Msg.LANG_MATH_TO_CEIL,"ceil"],[Et.Msg.LANG_MATH_TO_FLOOR,"floor"],[Et.Msg.MATH_ABS,"fabs"],[Et.Msg.MATH_SQRT,"sqrt"]];this.setColour(WM),this.appendValueInput("A").setCheck(Number).appendField(new Et.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Et.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Et.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Et.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Et.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Et.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Et.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},$M={init:function(){var t=[[Et.Msg.MIXLY_MAX,"max"],[Et.Msg.MIXLY_MIN,"min"]];this.setColour(WM),this.appendValueInput("A").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Et.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Et.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Et.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},tE={init:function(){var t=[[Et.Msg.MIXLY_MAX,"max"],[Et.Msg.MIXLY_MIN,"min"]];this.setColour(WM),this.appendValueInput("LIST").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Et.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Et.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},eE={init:function(){var t=[[Et.Msg.MATH_TWO,"two"],[Et.Msg.MATH_EIGHT,"eight"],[Et.Msg.MATH_TEN,"ten"],[Et.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(WM),this.appendDummyInput("").appendField(Et.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Et.FieldDropdown(t),"OP").appendField(Et.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MATH_ZHW).appendField(new Et.FieldDropdown(t),"OP2").appendField(Et.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Et.Msg.MATH_Before_two,eight:Et.Msg.MATH_Before_eight,ten:Et.Msg.MATH_Before_ten,sixteen:Et.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Et.Msg.MATH_Behind_two,eight:Et.Msg.MATH_Behind_eight,ten:Et.Msg.MATH_Behind_ten,sixteen:Et.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},iE={init:function(){var t=[[Et.Msg.LANG_MATH_INT,"int"],[Et.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(WM),this.setOutput(!0,Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Et.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Et.Msg.LANG_MATH_INT,float:Et.Msg.LANG_MATH_FLOAT_RANDOM};return Et.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},nE={init:function(){this.setColour(WM),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Et.Msg.MATH_CONSTRAIN_TOOLTIP)}},sE={init:function(){this.setColour(WM),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Et.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Et.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_MAP)}},oE={init:function(){this.setColour(WM),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},pE={init:function(){this.setColour(WM),this.appendValueInput("NUM").setCheck(Number).appendField(Et.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},uE=sE,aE="#2E9883",lE={init:function(){this.setColour(aE),this.appendDummyInput().appendField("NES 初始化"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("PS2手柄"),this.appendValueInput("miso_pin",Number).setAlign(Et.inputs.Align.RIGHT).appendField("DAT#").setCheck(Number),this.appendValueInput("mosi_pin",Number).setAlign(Et.inputs.Align.RIGHT).appendField("CMD#").setCheck(Number),this.appendValueInput("cs_pin",Number).setAlign(Et.inputs.Align.RIGHT).appendField("SEL#").setCheck(Number),this.appendValueInput("clk_pin",Number).setAlign(Et.inputs.Align.RIGHT).appendField("CLK#").setCheck(Number),this.appendValueInput("vol").setAlign(Et.inputs.Align.RIGHT).appendField("音量").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化NES,使用PS2手柄控制")}},_E={init:function(){this.setColour(aE),this.appendDummyInput().appendField("NES 初始化"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("UART键盘"),this.appendValueInput("vol").setAlign(Et.inputs.Align.RIGHT).appendField("音量").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化NES,使用串口键盘控制")}},rE={init:function(){this.setColour(aE),this.appendDummyInput().appendField("NES 运行游戏"),this.appendValueInput("path").appendField("路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("运行NES游戏ROM")}},dE="#5B6DA5",IE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("ESP-AT 初始化"),this.appendValueInput("RX",Number).appendField("RX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("使用串口连接ESP-AT设备,并初始化配置")}},TE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("WiFi扫描"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("扫描附近可用的WiFi信息-返回多信息列表")}},hE={init:function(){this.setColour(dE),this.appendDummyInput("").appendField("WiFi连接"),this.appendValueInput("account").appendField("名称").setCheck(String),this.appendValueInput("password").appendField("密码").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("配置WiFi名称及密码,连接WiFi上网")}},mE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("WiFi").appendField(new Et.FieldDropdown([["连接信息","1"],["连接状态","2"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("查看wifi连接信息或者连接状态")}},OE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("WiFi断开连接"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("断开wifi连接")}},cE={init:function(){this.setColour(dE),this.appendDummyInput("").setAlign(Et.inputs.Align.RIGHT).appendField("打开热点"),this.appendValueInput("account").setAlign(Et.inputs.Align.RIGHT).appendField("名称").setCheck(String),this.appendValueInput("password").setAlign(Et.inputs.Align.RIGHT).appendField("密码").setCheck(String),this.appendValueInput("chl").setAlign(Et.inputs.Align.RIGHT).appendField("通道").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("加密").appendField(new Et.FieldDropdown([["WPA2_PSK","WPA2_PSK"],["OPEN","OPEN"],["WPA_PSK","WPA_PSK"],["WPA_WPA2_PSK","WPA_WPA2_PSK"]]),"mode"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("打开WiFi热点并配置")}},RE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("关闭热点"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("关闭热点")}},ME={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("套接字 初始化"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("套接字初始化")}},EE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("获取地址"),this.appendValueInput("addr").setAlign(Et.inputs.Align.RIGHT).appendField("域名").setCheck(String),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("套接字根据域名解析地址IP信息")}},CE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("创建连接"),this.appendValueInput("address").appendField("地址"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("套接字创建目标IP地址连接")}},AE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("超时时间"),this.appendValueInput("time").setAlign(Et.inputs.Align.RIGHT).appendField("").setCheck(Number),this.appendDummyInput().appendField("s"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("设置阻塞套接字超时时间")}},gE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendValueInput("content").appendField("发送数据"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("套接发送数据")}},SE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("接收数据"),this.appendValueInput("size").appendField("字节").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("套接接收数据,返回接收到的数据对象")}},DE={init:function(){this.setColour(dE),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},LE=230,NE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},fE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},FE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},vE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},PE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},VE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},yE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},YE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},bE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},kE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},XE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},GE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},wE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},UE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},xE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},HE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},BE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},WE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},KE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},qE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},QE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},jE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},JE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},zE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},ZE=40,$E={init:function(){this.setColour(ZE),this.appendDummyInput("").appendField(new Et.FieldDropdown([["A","17"],["B","16"]]),"KEY"),this.setOutput(!0),this.setTooltip()}},tC={init:function(){this.setColour(ZE),this.appendDummyInput().appendField("初始化"),this.appendValueInput("key").appendField("按键"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化按键")}},eC={init:function(){this.setColour(ZE),this.appendValueInput("key").appendField("按键"),this.appendDummyInput().appendField("被按下?"),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip("获取按键值")}},iC={init:function(){this.setColour(ZE),this.appendDummyInput().appendField("DHT11"),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField("获取").appendField(new Et.FieldDropdown([["温度-℃","0"],["湿度-%","1"],["温湿度","2"]]),"TYPE"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip("dht11,获取温湿度")}},nC={init:function(){this.setColour(ZE),this.appendDummyInput("").appendField(Et.Msg.MIXLY_CHAOSHENGBO),this.appendValueInput("PIN1",Number).appendField("Trig #").setCheck(Number),this.appendValueInput("PIN2",Number).appendField("Echo #").setCheck(Number),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO)}},sC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oC={init:function(){this.setColour(ZE),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Et.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("MPU9250","key");var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Et.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{MPU9250:"MPU9250",SHT20:"SHT20",BMP280:"BMP280",ADXL345:"ADXL345"}[e]}))}},pC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Et.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Et.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Et.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},uC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Et.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},aC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_GET+Et.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},lC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},_C={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_GETTEMPERATUE)}},rC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("ADXL345").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},dC=65,IC={init:function(){this.setColour(dC),this.appendValueInput("CONTENT",String).appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.TEXT_PRINT_TOOLTIP)}},TC={init:function(){this.setColour(dC),this.appendValueInput("CONTENT",String).appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.TEXT_PRINT_Huanhang_TOOLTIP+Et.Msg.TEXT_PRINT_TOOLTIP)}},hC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_PRINTLN),this.appendValueInput("CONTENT",Number).appendField(new Et.FieldDropdown([[Et.Msg.MATH_BIN,"bin"],[Et.Msg.MATH_OCT,"oct"],[Et.Msg.MATH_DEC,"int"],[Et.Msg.MATH_HEX,"hex"]]),"STAT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setFieldValue("hex","STAT"),this.setTooltip(Et.Msg.TEXT_PRINT_HEX_TOOLTIP)}},mC={init:function(){this.setColour(dC),this.appendValueInput("char_marker").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_SERIAL_WHEN_CONTAIN_DATA),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO)}},OC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_READSTR),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERIAL_READ_STR)}},cC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_SERIAL_AVAILABLE1)}},RC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_ESP32_READ_LINE),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_SERIAL_READ_LINE1)}},MC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial "+Et.Msg.MIXLY_SERIAL_READSTR_UNTIL).appendField(new Et.FieldDropdown([["new line","serial.delimiters(Delimiters.NewLine)"],[",","serial.delimiters(Delimiters.Comma)"],["$","serial.delimiters(Delimiters.Dollar)"],[":","serial.delimiters(Delimiters.Colon)"],[".","serial.delimiters(Delimiters.Fullstop)"],["#","serial.delimiters(Delimiters.Hash)"]]),"char_marker"),this.setInputsInline(!0),this.setOutput(!0,String)}},EC={init:function(){this.setColour(dC),this.appendValueInput("RX",Number).appendField(Et.Msg.MIXLY_SETUP).appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField("RX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField(Et.Msg.MIXLY_SERIAL_BEGIN).appendField(new Et.FieldDropdown([["115200","115200"],["57600","57600"],["37400","38400"],["31250","31250"],["28800","28800"],["19200","19200"],["14400","14400"],["9600","9600"],["4800","4800"],["2400","2400"],["1200","1200"],["300","300"]]),"baudrate"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SERIAL_softserial)}},CC={init:function(){this.setColour(dC),this.appendValueInput("VAR").appendField(Et.Msg.blockpy_inout_raw_input).setCheck(String),this.setOutput(!0),this.setTooltip(Et.Msg.INOUT_input_TOOLTIP)}},AC={init:function(){this.setColour(dC),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.BLOCKPY_PRINT_TOOLTIP)}},gC={init:function(){this.setColour(dC),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.TEXT_PRINT_TOOLTIP)}},SC={init:function(){this.setColour(dC),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SERIAL_PRINT),this.appendValueInput("END").appendField(Et.Msg.MIXLY_ENDSWITH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_INOUT_PRINT_END_TOOLTIP)}},DC={init:function(){this.setColour(dC),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Et.icons.MutatorIcon(["system_print_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("system_print_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n {\n"+e.statementToCode(this,"do")+"})\n"},lN=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},_N=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},rN=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},dN=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},IN=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},TN=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},hN=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},mN=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},ON=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},cN=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},RN=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},MN=function(){return"while True:\n pass\n"},EN=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},CN=function(t,e){e.definitions_["import machine"]="import machine";return"machine.reset()\n"},AN=function(t,e){return e.definitions_["import gc"]="import gc",this.getFieldValue("gc")+"\n"},gN=function(t,e){return e.definitions_.import_os="import os","os.uname()"},SN=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},DN=function(t,e){e.definitions_["from machine import Timer"]="from machine import Timer";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=i%3,s=parseInt(i/3),o=e.valueToCode(this,"period",e.ORDER_NONE);return"tim"+i+" =Timer(Timer.TIMER"+n+",Timer.CHANNEL"+s+",mode=Timer.MODE_"+this.getFieldValue("mode")+",period = "+o+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},LN=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},NN=function(t,e){e.definitions_["from machine import Timer"]="from machine import Timer";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"tim"+i+" = Timer(Timer.TIMER"+i%3+",Timer.CHANNEL"+parseInt(i/3)+", mode=Timer.MODE_PWM)\n"},fN=NN,FN=DN,vN=LN,PN=SN;const VN=function(t,e){return["["+this.getFieldValue("TEXT")+"]",e.ORDER_ATOMIC]},yN=function(t,e){return["("+this.getFieldValue("TEXT")+")",e.ORDER_ATOMIC]},YN=function(t,e){var i=this.getFieldValue("COLOR");return["("+("0x"+(i=i.substr(1)).substr(0,2))+","+("0x"+i.substr(2,2))+","+("0x"+i.substr(4,2))+")",e.ORDER_ATOMIC]},bN=function(t,e){var i=this.getFieldValue("COLOR");return[i=function(t){var e,i,n;e=(t=t.substr(1)).substr(0,2),i=t.substr(2,2),n=t.substr(4,2);var s=(64512&(t="0x"+(t=e+i+n)))>>10;return((248&t)>>3<<8)+((7&s)<<13)+((16252928&t)>>19<<3)+((56&s)>>3)}(i),e.ORDER_ATOMIC]};Object.assign(Et.Variables,gt),Object.assign(Et.Procedures,wl),Et.Python=Ul,Et.generator=Ul,Ct.Profile.default={},Object.assign(Ct.Profile,Um),Object.assign(Ct.Profile.default,Um.k210),Object.assign(Et.Blocks,e,i,n,s,o,p,u,a,l,_,r,d,I,F,f,N,L,v,k,X,G,w,U,x,H,B,W,K,q,Q,j,J,z,Z,$,tt,et),Object.assign(Et.Python.forBlock,T,h,m,O,c,R,M,E,C,A,g,S,D,Y,y,V,P,b,it,nt,st,ot,pt,ut,at,lt,_t,rt,dt,It,Tt,ht,mt,Ot,ct,Rt,Mt)})(); \ No newline at end of file +class St{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Et.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Et.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Et.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Et.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Bt={init:function(){this.setColour(Xt),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PYTHON_RANGE).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Wt={init:function(){this.setColour(Xt),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Et.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Kt={init:function(){this.setColour(Xt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Et.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Et.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Et.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},qt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Et.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Qt={init:function(){this.setColour(Xt);var t=new Et.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},jt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Et.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Et.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Jt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Et.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Et.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Kt.OPERATORS=[[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Qt.OPERATORS=[[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const zt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Zt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},$t={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Et.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},te={init:function(){this.setColour(Xt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ee={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},ie={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Et.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},ne={init:function(){this.jsonInit({message0:Et.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Xt,tooltip:Et.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Et.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},se={init:function(){this.setColour(Xt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_STAT),this.setOutput(!0)}},oe={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},pe={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ue={init:function(){this.appendDummyInput().appendField(Et.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Et.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Et.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Et.FieldDropdown([[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Xt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ae={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},le={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},_e={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},re={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_GET_UNIQUE_IDEN)}},de={init:function(){this.setColour(Xt),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Et.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Ie={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Te=230;Et.FieldTextInput.math_number_validator=function(t){return String(t)},Et.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const he={init:function(){this.setColour(Te),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},me={init:function(){this.setColour(Te);this.appendDummyInput("").appendField(Et.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Et.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Oe={init:function(){this.setColour(Te);this.appendDummyInput("").appendField(Et.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Et.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},ce={init:function(){this.setColour(Te),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Re={init:function(){this.setColour(Te),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Me={init:function(){this.setColour(Te),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Et.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Ee={init:function(){this.setColour(Te),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Et.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Et.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Et.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Et.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Et.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Et.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Et.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Et.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ce={init:function(){var t=[[Et.Msg.MATH_BIN,"bin"],[Et.Msg.MATH_OCT,"oct"],[Et.Msg.MATH_HEX,"hex"]];this.setColour(Te),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Et.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Et.Msg.MATH_DEC_TOOLTIP_BIN,oct:Et.Msg.MATH_DEC_TOOLTIP_OCT,hex:Et.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Ae={init:function(){var t=[[Et.Msg.LANG_MATH_TO_ROUND,"round"],[Et.Msg.LANG_MATH_TO_CEIL,"ceil"],[Et.Msg.LANG_MATH_TO_FLOOR,"floor"],[Et.Msg.MATH_ABS,"fabs"],[Et.Msg.MATH_SQRT,"sqrt"]];this.setColour(Te),this.appendValueInput("A").setCheck(Number).appendField(new Et.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Et.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Et.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Et.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Et.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Et.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Et.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},ge={init:function(){var t=[[Et.Msg.MIXLY_MAX,"max"],[Et.Msg.MIXLY_MIN,"min"]];this.setColour(Te),this.appendValueInput("A").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Et.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Et.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Et.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Se={init:function(){var t=[[Et.Msg.MATH_TWO,"two"],[Et.Msg.MATH_EIGHT,"eight"],[Et.Msg.MATH_TEN,"ten"],[Et.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Te),this.appendDummyInput("").appendField(Et.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Et.FieldDropdown(t),"OP").appendField(Et.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MATH_ZHW).appendField(new Et.FieldDropdown(t),"OP2").appendField(Et.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Et.Msg.MATH_Before_two,eight:Et.Msg.MATH_Before_eight,ten:Et.Msg.MATH_Before_ten,sixteen:Et.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Et.Msg.MATH_Behind_two,eight:Et.Msg.MATH_Behind_eight,ten:Et.Msg.MATH_Behind_ten,sixteen:Et.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},De={init:function(){var t=[[Et.Msg.LANG_MATH_INT,"int"],[Et.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Te),this.setOutput(!0,Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Et.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Et.Msg.LANG_MATH_INT,float:Et.Msg.LANG_MATH_FLOAT_RANDOM};return Et.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Le={init:function(){this.setColour(Te),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Et.Msg.MATH_CONSTRAIN_TOOLTIP)}},Ne={init:function(){this.setColour(Te),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Et.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Et.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_MAP)}},fe={init:function(){this.setColour(Te),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},Fe={init:function(){this.setColour(Te),this.appendValueInput("NUM").setCheck(Number).appendField(Et.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ve={init:function(){this.setColour(Te),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Et.Msg.MATH_ROUND).appendField(Et.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Et.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Et.Msg.MATH_ROUND_NEW_TOOLTIP)}},Pe={init:function(){var t=[[Et.Msg.MIXLY_TO_INT,"int"],[Et.Msg.MIXLY_TO_FLOAT,"float"],[Et.Msg.MIXLY_TO_BITES,"b"],[Et.Msg.LANG_MATH_BYTE+Et.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Te),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Et.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Et.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Et.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Ve={init:function(){var t=[[Et.Msg.MIXLY_TO_INT,"int"],[Et.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Te),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Et.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Et.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ye=Ne,Ye={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(Et.Msg.LANG_MATH_BYTE+Et.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},be={init:function(){this.setColour(Te),this.itemCount_=1,this.setMutator(new Et.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Et.Msg.MIXLY_PRODUCT+Et.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Et.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Et.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Et.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const He={init:function(){this.setColour(Ge),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Et.FieldTextInput("",Et.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Et.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Et.FieldImage(e,7,12,'"')}},Be={init:function(){this.setColour(Ge),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Et.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},We={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(Number).appendField(Et.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ke={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String).appendField(Et.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Qe={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},je={init:function(){this.WHERE_OPTIONS=[[Et.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Et.Msg.TEXT_GET_INDEX_RANDOM+1+Et.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.LISTS_GET_INDEX_GET,"MODE"),Et.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Et.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Et.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Et.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Et.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Et.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Et.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Et.Msg.TEXT_GET_INDEX_RANDOM};return Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Et.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Et.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),Et.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Et.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Et.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Et.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Je={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Et.Msg.LISTS_GET_INDEX_GET+" "+Et.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Et.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Et.Msg.PROCEDURES_DEFRETURN_RETURN+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+Et.Msg.LISTS_GET_INDEX_FROM_START+"n"+Et.Msg.TEXT_CHARAT2)}},ze={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Et.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Et.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ze={init:function(){this.WHERE_OPTIONS_1=[[Et.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Et.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Et.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Et.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Et.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Et.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Et.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Et.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Et.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Et.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Et.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},$e={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Et.Msg.LISTS_GET_INDEX_GET+" "+Et.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Et.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Et.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Et.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ti={init:function(){var t=[[Et.Msg.MIXLY_EQUALS,"==="],[Et.Msg.MIXLY_STARTSWITH,"startswith"],[Et.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Et.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ei={init:function(){this.setColour(Ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Et.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_COMPARETO_HELP)}},ii={init:function(){var t=[[Et.Msg.TEXT_UPPER,"upper"],[Et.Msg.TEXT_TITLE,"title"],[Et.Msg.TEXT_CAPITALIZE,"capitalize"],[Et.Msg.TEXT_SWAPCASE,"swapcase"],[Et.Msg.TEXT_LOWER,"lower"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Et.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Et.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Et.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Et.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Et.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Et.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},ni={init:function(){var t=[[Et.Msg.TEXT_LJUST,"ljust"],[Et.Msg.TEXT_CENTER,"center"],[Et.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ge),this.appendValueInput("VAR").appendField(new Et.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Et.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Et.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},si={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Et.Msg.MIXLY_MID+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Et.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},oi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},pi={init:function(){this.setColour(Ge),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Et.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Et.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ui={init:function(){this.setColour(Ge),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Et.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Et.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ai={init:function(){var t=[[Et.Msg.TEXT_TRIM_BOTH,"strip"],[Et.Msg.TEXT_TRIM_LEFT,"lstrip"],[Et.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ge),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Et.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Et.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Et.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Et.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Et.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Et.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},li={init:function(){this.setColour(Ge),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Et.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Et.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pn={init:function(){this.setColour(sn),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},un={init:function(){this.setColour(sn),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},an={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_KEYS),this.setTooltip(Et.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},ln={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Et.Msg.DICTS_GET_TOOLTIP)}},_n={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Et.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Et.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},rn={init:function(){this.setColour(sn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Et.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},dn={init:function(){this.setColour(sn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Et.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_DELETE_TOOLTIP)}},In={init:function(){this.setColour(sn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Et.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Et.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MID),this.setTooltip(Et.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_CLEAR),this.setTooltip(Et.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_ITEMS),this.setTooltip(Et.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},mn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_VALUES),this.setTooltip(Et.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},On={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_LENGTH),this.setTooltip(Et.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},cn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_DELDICT),this.setTooltip(Et.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rn={init:function(){this.MODE=[[Et.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Et.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Et.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=Et.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Et.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Et.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new Et.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},Mn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Et.Msg.DICTS_ADD_VALUE),this.setTooltip(Et.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},En={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Et.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Et.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(sn),this.appendDummyInput("").appendField(new Et.FieldLabel(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Et.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},An={init:function(){this.setColour(sn),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},gn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_TO_JSON),this.setTooltip(Et.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Sn={init:function(){this.setColour(sn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Et.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Dn={init:function(){this.setColour(sn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(sn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_TO_JSON),this.setTooltip(Et.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn=210,fn={init:function(){var t=Et.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Et.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Et.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Et.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Et.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Et.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Et.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Fn={init:function(){var t=Et.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Et.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Et.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},vn={init:function(){var t=[[Et.Msg.LOGIC_OPERATION_AND,"AND"],[Et.Msg.LOGIC_OPERATION_OR,"OR"],[Et.Msg.LOGIC_OPERATION_NOR,"NOR"],[Et.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Et.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Et.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Et.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Et.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Pn={init:function(){this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Et.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Et.Msg.LOGIC_NEGATE_TOOLTIP)}},Vn={init:function(){var t=[[Et.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Et.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Et.FieldDropdown(t),"BOOL"),this.setTooltip(Et.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yn={init:function(){this.setColour(Nn),this.setOutput(!0),this.appendDummyInput().appendField(Et.Msg.LOGIC_NULL),this.setTooltip(Et.Msg.LOGIC_NULL_TOOLTIP)}},Yn={init:function(){this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Et.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Et.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},bn={init:function(){var t=[[Et.Msg.TEXT_APPEND_TO,"in"],[Et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Et.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Et.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.IN)}},kn={init:function(){var t=[[Et.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Xn={init:function(){this.setColour(Nn),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Et.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Et.Msg.MIXLY_ADD,"a"],[Et.Msg.MATH_BIN+Et.Msg.MIXLY_ADD,"ab"],[Et.Msg.MIXLY_R_W,"r+"],[Et.Msg.MATH_BIN+Et.Msg.MIXLY_R_W,"rb+"],[Et.Msg.MIXLY_W_R,"w+"],[Et.Msg.MATH_BIN+Et.Msg.MIXLY_W_R,"wb+"],[Et.Msg.MIXLY_A_R,"a+"],[Et.Msg.MATH_BIN+Et.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Et.Msg.MIXLY_BELONG;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Et.Msg.MIXLY_BELONG,p=Et.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+p}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Et.Msg.MIXPY_TEXT_ENCODE).appendField(new Et.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_USE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Et.Msg.MIXLY_BELONG,p=Et.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+p}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Et.Msg.MIXLY_MICROBIT_TYPE_STRING+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Et.Msg.MICROBIT_PYTHON_TYPE)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.HTML_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Jn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const zn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},ts={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},es={init:function(){this.setColour(0),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},is={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Et.Msg.MIXLY_ESP32_SET+{mkdir:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Et.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},os={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.HTML_FILE,"isfile"],[Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Et.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ps={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Et.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},us={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Et.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},as={init:function(){var t=Et.Procedures.findLegalName("",this),e=new Et.FieldTextInput(t,Et.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Et.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Et.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Et.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Et.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Et.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Et.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Et.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Et.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Et.Events.enable()}},mutationToDom:function(t){var e=Et.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Et.Msg.MIXLY_AIP_ATTR).setAlign(Et.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},no={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Et.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},so={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Et.Msg.HTML_FORM_CONTENT).appendField(new Et.FieldDropdown([[Et.Msg.HTML_TEXT,"text"],[Et.Msg.HTML_EMAIL,"email"],[Et.Msg.HTML_NUMBER,"number"],[Et.Msg.HTML_PASSWORD,"password"],[Et.Msg.HTML_CHECKBOX,"checkbox"],[Et.Msg.HTML_RADIOBUTTON,"radiobutton"],[Et.Msg.HTML_BUTTON,"button"],[Et.Msg.HTML_COLOUR,"colour"],[Et.Msg.HTML_DATE,"date"],[Et.Msg.HTML_LOCALTIME,"local time"],[Et.Msg.HTML_FILE,"file"],[Et.Msg.HTML_HIDDEN,"hidden"],[Et.Msg.HTML_IMAGE,"image"],[Et.Msg.HTML_MONTH,"month"],[Et.Msg.HTML_RANGE,"range"],[Et.Msg.HTML_RESET,"reset"],[Et.Msg.HTML_SEARCH,"search"],[Et.Msg.HTML_SUBMIT,"submit"],[Et.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Et.Msg.HTML_TIME,"time"],[Et.Msg.HTML_URL,"url"],[Et.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Et.Msg.HTML_NAME).appendField(new Et.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Et.Msg.HTML_VALUE).appendField(new Et.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Et.Msg.MIXLY_AIP_ATTR).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oo={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Et.FieldTextInput("property"),"KEY").appendField(":").appendField(new Et.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},po={init:function(){this.setColour(zs),this.appendDummyInput().appendField(new Et.FieldTextInput("property"),"KEY").appendField(":").appendField(new Et.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uo={init:function(){this.setColour(zs),this.appendDummyInput().appendField(Et.Msg.HTML_TEXT).appendField(new Et.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ao=160,lo={init:function(){this.setColour(ao),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Et.FieldTable(""),"TEXT")}},_o={init:function(){this.setColour(ao),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Et.FieldMultilineInput(""),"TEXT")}},ro={init:function(){this.setColour(ao),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Et.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Io={init:function(){this.setColour(ao),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},To={init:function(){this.setColour(ao),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Et.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ho={init:function(){this.setColour(ao),this.appendValueInput("VALUE").appendField(Et.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},mo={init:function(){this.setColour(ao),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Et.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=Et.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+l()+"("+t+", "+e+", "+i+")"},Et.isNumber(n)&&Et.isNumber(s)&&Et.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const ra=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var p=s+" and "+o;else if("OR"==i)p=s+" or "+o;else if("NOR"==i)p="not("+s+"^"+o+")";else p=s+"^"+o;return[p,n]},da=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Ia=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Ta=function(t,e){return["None",e.ORDER_ATOMIC]},ha=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},ma=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Oa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ca=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Ma=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ea=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ca=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Aa=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},ga=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Sa=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Da=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},La=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Na=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},fa=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Fa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},va=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Pa=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Va=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},ya=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},Ya=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ba=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ka=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Xa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Ga=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},wa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},Ua=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},xa=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Et.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],p=0;p\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},gl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Sl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Dl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Ll=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Nl=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},fl=function(t,e){return'"},Fl=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},vl=function(){return this.getFieldValue("TEXT")+"\n"},Pl=function(t){return t.getFieldValue("TEXT")+"\n"},Vl=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},yl=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Yl=function(){return""},bl=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},kl=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+p.join("\n")+u.join("")+t+"while True:\n"+a.join("")+l.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+p.join("\n")+u.join("")+t+l.join("\n")},Ul.scrubNakedValue=function(t){return t+"\n"},Ul.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Ul.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Ul.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Et.utils.string.wrap(o,Ul.COMMENT_WRAP-3),n+=Ul.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const xl=100,Hl={init:function(){this.setColour(xl),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_SERVO).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SERVO_MOVE)}},Bl={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(new Et.FieldDropdown([["1","1"],["2","2"]]),"op"),this.setOutput(!0)}},Wl={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_ON,"1"],[Et.Msg.MIXLY_ESP32_OFF,"0"],[Et.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Kl={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},ql={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ql={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING).appendField(Et.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},jl={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETONOFF)}},Jl={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Et.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},zl={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Et.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Et.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_SETBRIGHT)}},Zl={init:function(){this.setColour(xl),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_TONE).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},$l={init:function(){this.setColour(xl),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_TONE).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},t_={init:function(){this.setColour(xl),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_NOTONE).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},e_={init:function(){this.setColour(xl),this.appendValueInput("TICKS").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Et.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Et.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},i_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},n_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_RESET)}},s_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},o_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},p_={init:function(){this.setColour(xl),this.appendDummyInput().appendField(Et.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},u_={init:function(){this.setColour(xl),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},a_={init:function(){this.setColour(xl),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.appendValueInput("PIN").setCheck(Number).appendField(Et.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},l_={init:function(){this.setColour(xl),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.appendValueInput("PIN").setCheck(Number).appendField(Et.Msg.MIXLY_PIN),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MIXGO_MUSIC_PLAY_TONE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_PLAYSHOW)}},__={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_RGB_PIN_COUNT)}},r_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},d_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_WRI)}},I_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},T_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},h_={init:function(){this.setColour(xl),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_WRI)}},m_=jl,O_=Jl,c_=zl,R_="#2FAD7A",M_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},E_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},C_={init:function(){this.jsonInit({inputsInline:!0,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},A_={init:function(){this.jsonInit({inputsInline:!0,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},g_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},S_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},D_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},L_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},N_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},f_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},F_={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},v_={init:function(){this.jsonInit({message0:Et.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[Et.Msg.MIXLY_PYTHON_PERIODIC,"False"],[Et.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},P_={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},V_={init:function(){this.jsonInit({inputsInline:!0,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},y_={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:R_,helpUrl:Et.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},Y_=120,b_={init:function(){this.setColour(Y_),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Et.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new Et.FieldDropdown(b_.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Et.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))},OPERATORS:[[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]]},k_={init:function(){this.setColour(Y_);var t=new Et.FieldDropdown(k_.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Et.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}},OPERATORS:[[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]]},X_="5BA5A5",G_={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(X_),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(G_.OPERATORS),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]]},w_={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(X_),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Et.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Et.FieldDropdown(w_.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Et.Msg.MIXLY_MICROBIT_image_add,"-":Et.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Et.Msg.MICROBIT_DISPLAY_UNION,"add"],[Et.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},U_={init:function(){this.setColour(X_),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Et.FieldDropdown(U_.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE+{height:Et.Msg.MIXLY_HEIGHT,width:Et.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Et.Msg.MIXLY_HEIGHT,"height"],[Et.Msg.MIXLY_WIDTH,"width"]]},x_={init:function(){this.setColour(X_),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RECT).appendField(new Et.FieldDropdown(x_.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_OLED_RECT)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},H_={init:function(){this.setColour(X_),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Et.FieldDropdown(H_.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},B_={init:function(){this.setColour(X_),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(B_.OPERATORS),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]]},W_="#569A98",K_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(K_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(32).fill(0)))},q_={init:function(){this.setColour(W_),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Et.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Et.FieldDropdown(q_.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Et.Msg.MIXLY_MICROBIT_image_add,"-":Et.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Et.Msg.MICROBIT_DISPLAY_UNION,"add"],[Et.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Q_={init:function(){this.setColour(W_),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(Q_.OPERATORS),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(Ct.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Et.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Et.Msg.MIXLY_UP,shift_down:Et.Msg.MIXLY_DOWN,shift_left:Et.Msg.MIXLY_LEFT,shift_right:Et.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]]},j_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(j_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},J_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(J_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},z_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(z_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Z_={init:function(){this.setColour(W_),this.appendDummyInput().appendField(Et.Msg.OLED_SET_FONT).appendField(new Et.FieldDropdown(Z_.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Et.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Et.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Et.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},$_={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap($_.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},tr={init:function(){this.setColour(W_),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Et.FieldDropdown(tr.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Et.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Et.Msg.CLOCKWISE+"90"+Et.Msg.blockpy_setheading_degree,"1"],[Et.Msg.CLOCKWISE+"180"+Et.Msg.blockpy_setheading_degree,"2"],[Et.Msg.CLOCKWISE+"270"+Et.Msg.blockpy_setheading_degree,"3"]]},er={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Et.inputs.Align.CENTRE).appendField(new Et.FieldBitmap(er.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(W_),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},ir=180,nr={colourOptions:["#f00","#000"],columns:2},sr={init:function(){this.jsonInit({colour:ir,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:Et.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Clear_display)}},or={init:function(){this.setColour(ir),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},pr={init:function(){this.setColour(ir),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},ur={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(new Et.FieldDropdown([[Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Et.Msg.MIXLY_ESP32_MONITOR_SCROLL,"scroll"]]),"MODE").appendField(Et.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.OLED_DRAWSTR;return{show:Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},ar={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(new Et.FieldDropdown([[Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Et.Msg.MIXLY_ESP32_MONITOR_SCROLL,"scroll"]]),"MODE").appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_DELAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.OLED_DRAWSTR;return{show:Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},lr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_STATIC),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_MUSIC_SHOW_STATIC)}},_r={init:function(){this.setColour(ir),this.appendValueInput("PIN",String).setCheck("esp32_image").appendField(Et.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP)}},rr={init:function(){this.jsonInit({colour:ir,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:Et.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}]})}},dr={init:function(){this.jsonInit({colour:ir,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:Et.Msg.MIXLY_MICROBIT_Animate_images,args0:[{check:"List",type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+Et.Msg.MIXLY_MICROBIT_Animate_images1)}},Ir={init:function(){this.jsonInit({colour:ir,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:Et.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},Tr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[Et.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(Et.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=Et.Msg.MIXLY_MICROBIT_monitor;return{on:Et.Msg.MIXLY_MICROBIT_Turn_on_display,off:Et.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},hr={init:function(){this.jsonInit({colour:ir,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:Et.Msg.MIXLY_MICROBIT_Turn_off_display})}},mr={init:function(){this.jsonInit({colour:ir,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:Et.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Display_is_on1)}},Or={init:function(){this.jsonInit({colour:ir,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Et.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Et.Msg.MIXLY_MICROBIT_Built_in_image})}},cr={init:function(){this.jsonInit({colour:ir,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{colour:"#000000",type:"field_colour",name:"05"},{colour:"#000000",type:"field_colour",name:"06"},{colour:"#000000",type:"field_colour",name:"07"},{colour:"#000000",type:"field_colour",name:"08"},{colour:"#000000",type:"field_colour",name:"09"},{colour:"#000000",type:"field_colour",name:"0a"},{colour:"#000000",type:"field_colour",name:"0b"},{colour:"#000000",type:"field_colour",name:"0c"},{colour:"#000000",type:"field_colour",name:"0d"},{colour:"#000000",type:"field_colour",name:"0e"},{colour:"#000000",type:"field_colour",name:"0f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{colour:"#000000",type:"field_colour",name:"15"},{colour:"#000000",type:"field_colour",name:"16"},{colour:"#000000",type:"field_colour",name:"17"},{colour:"#000000",type:"field_colour",name:"18"},{colour:"#000000",type:"field_colour",name:"19"},{colour:"#000000",type:"field_colour",name:"1a"},{colour:"#000000",type:"field_colour",name:"1b"},{colour:"#000000",type:"field_colour",name:"1c"},{colour:"#000000",type:"field_colour",name:"1d"},{colour:"#000000",type:"field_colour",name:"1e"},{colour:"#000000",type:"field_colour",name:"1f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{colour:"#000000",type:"field_colour",name:"25"},{colour:"#000000",type:"field_colour",name:"26"},{colour:"#000000",type:"field_colour",name:"27"},{colour:"#000000",type:"field_colour",name:"28"},{colour:"#000000",type:"field_colour",name:"29"},{colour:"#000000",type:"field_colour",name:"2a"},{colour:"#000000",type:"field_colour",name:"2b"},{colour:"#000000",type:"field_colour",name:"2c"},{colour:"#000000",type:"field_colour",name:"2d"},{colour:"#000000",type:"field_colour",name:"2e"},{colour:"#000000",type:"field_colour",name:"2f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{colour:"#000000",type:"field_colour",name:"35"},{colour:"#000000",type:"field_colour",name:"36"},{colour:"#000000",type:"field_colour",name:"37"},{colour:"#000000",type:"field_colour",name:"38"},{colour:"#000000",type:"field_colour",name:"39"},{colour:"#000000",type:"field_colour",name:"3a"},{colour:"#000000",type:"field_colour",name:"3b"},{colour:"#000000",type:"field_colour",name:"3c"},{colour:"#000000",type:"field_colour",name:"3d"},{colour:"#000000",type:"field_colour",name:"3e"},{colour:"#000000",type:"field_colour",name:"3f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"},{colour:"#000000",type:"field_colour",name:"45"},{colour:"#000000",type:"field_colour",name:"46"},{colour:"#000000",type:"field_colour",name:"47"},{colour:"#000000",type:"field_colour",name:"48"},{colour:"#000000",type:"field_colour",name:"49"},{colour:"#000000",type:"field_colour",name:"4a"},{colour:"#000000",type:"field_colour",name:"4b"},{colour:"#000000",type:"field_colour",name:"4c"},{colour:"#000000",type:"field_colour",name:"4d"},{colour:"#000000",type:"field_colour",name:"4e"},{colour:"#000000",type:"field_colour",name:"4f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"50"},{colour:"#000000",type:"field_colour",name:"51"},{colour:"#000000",type:"field_colour",name:"52"},{colour:"#000000",type:"field_colour",name:"53"},{colour:"#000000",type:"field_colour",name:"54"},{colour:"#000000",type:"field_colour",name:"55"},{colour:"#000000",type:"field_colour",name:"56"},{colour:"#000000",type:"field_colour",name:"57"},{colour:"#000000",type:"field_colour",name:"58"},{colour:"#000000",type:"field_colour",name:"59"},{colour:"#000000",type:"field_colour",name:"5a"},{colour:"#000000",type:"field_colour",name:"5b"},{colour:"#000000",type:"field_colour",name:"5c"},{colour:"#000000",type:"field_colour",name:"5d"},{colour:"#000000",type:"field_colour",name:"5e"},{colour:"#000000",type:"field_colour",name:"5f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"60"},{colour:"#000000",type:"field_colour",name:"61"},{colour:"#000000",type:"field_colour",name:"62"},{colour:"#000000",type:"field_colour",name:"63"},{colour:"#000000",type:"field_colour",name:"64"},{colour:"#000000",type:"field_colour",name:"65"},{colour:"#000000",type:"field_colour",name:"66"},{colour:"#000000",type:"field_colour",name:"67"},{colour:"#000000",type:"field_colour",name:"68"},{colour:"#000000",type:"field_colour",name:"69"},{colour:"#000000",type:"field_colour",name:"6a"},{colour:"#000000",type:"field_colour",name:"6b"},{colour:"#000000",type:"field_colour",name:"6c"},{colour:"#000000",type:"field_colour",name:"6d"},{colour:"#000000",type:"field_colour",name:"6e"},{colour:"#000000",type:"field_colour",name:"6f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"70"},{colour:"#000000",type:"field_colour",name:"71"},{colour:"#000000",type:"field_colour",name:"72"},{colour:"#000000",type:"field_colour",name:"73"},{colour:"#000000",type:"field_colour",name:"74"},{colour:"#000000",type:"field_colour",name:"75"},{colour:"#000000",type:"field_colour",name:"76"},{colour:"#000000",type:"field_colour",name:"77"},{colour:"#000000",type:"field_colour",name:"78"},{colour:"#000000",type:"field_colour",name:"79"},{colour:"#000000",type:"field_colour",name:"7a"},{colour:"#000000",type:"field_colour",name:"7b"},{colour:"#000000",type:"field_colour",name:"7c"},{colour:"#000000",type:"field_colour",name:"7d"},{colour:"#000000",type:"field_colour",name:"7e"},{colour:"#000000",type:"field_colour",name:"7f"}],output:"esp32_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:Et.Msg.MIXLY_ESP32_Create_image}),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)}},Rr={init:function(){this.setColour(ir),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Et.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(Rr.OPERATORS),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[Et.Msg.MIXLY_UP,"up"],[Et.Msg.MIXLY_DOWN,"down"],[Et.Msg.MIXLY_LEFT,"left"],[Et.Msg.MIXLY_RIGHT,"right"]]},Mr={init:function(){this.setColour(ir),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Et.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Et.FieldDropdown(Mr.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":Et.Msg.MIXLY_MICROBIT_image_add,"-":Et.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[Et.Msg.MICROBIT_DISPLAY_UNION,"+"],[Et.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},Er={init:function(){this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING,"scroll"]]),"MODE"),this.jsonInit({colour:ir,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:Et.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Et.Msg.OLED_DRAWSTR;return Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+{show:Et.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},Cr={init:function(){this.setColour(ir),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(Et.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},Ar={init:function(){this.setColour(ir),this.appendValueInput("device").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_SETUP).appendField(Et.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(Et.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SETUP+Et.Msg.MIXLY_DF_LCD+Et.Msg.MIXLY_LCD_ADDRESS)}},gr={init:function(){this.setColour(ir),this.appendValueInput("row",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(Et.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},Sr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ON,"on()"],[Et.Msg.MIXLY_OFF,"off()"],[Et.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[Et.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(off)"],[Et.Msg.MIXLY_LCD_BACKLIGHT,"backlight(on)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.MIXLY_DF_LCD+{"on()":Et.Msg.MIXLY_ON,"off()":Et.Msg.MIXLY_OFF,"clear()":Et.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":Et.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":Et.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},Dr={init:function(){this.setColour(ir),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendValueInput("row").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},Lr={init:function(){this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.OLEDDISPLAY+Et.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ir),this.setTooltip(Et.Msg.MIXLY_DF_LCD+Et.Msg.OLEDDISPLAY+Et.Msg.MIXLY_MICROBIT_TYPE_STRING)}},Nr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Et.FieldDropdown(Nr.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE+{height:Et.Msg.MIXLY_HEIGHT,width:Et.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[Et.Msg.MIXLY_HEIGHT,"height"],[Et.Msg.MIXLY_WIDTH,"width"]]},fr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RECT).appendField(new Et.FieldDropdown(fr.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_OLED_RECT)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Fr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_DISPLAY_DRAW).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_DISPLAY_RLINE,"hline"],[Et.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_OLED_LINE)}},vr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_OLED_LINE_ARBIT)}},Pr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Vr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(Et.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},yr={init:function(){this.setColour(ir),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS)}},Yr={init:function(){this.setColour(ir),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},br={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new Et.FieldColour("#f00",null,nr),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},kr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},Xr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},wr={init:function(){this.setColour(ir),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Ur={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_ON,"ON"],[Et.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},xr={init:function(){this.setColour(ir),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[Et.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:Et.Msg.MIXLY_LCD_STAT_CLEAR,1:Et.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return Et.Msg.MIXLY_DF_LCD+i[e]}))}},Hr={init:function(){this.setColour(ir),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Et.FieldDropdown([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Et.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[e]}))}},Br={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ON,"_on"],[Et.Msg.MIXLY_OFF,"_off"],[Et.Msg.MIXLY_LCD_STAT_CLEAR,"_clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},Wr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Kr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},qr={init:function(){this.setColour(ir),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new Et.FieldDropdown(qr.ANIMATE),"ANIMATION")},ANIMATE:[["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]},Qr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Et.FieldDropdown(Qr.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},jr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_DISPLAY_DRAW+Et.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Et.FieldDropdown(jr.STATUS),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_DISPLAY_DRAW+Et.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Jr={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(Et.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},zr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(Et.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Et.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(Et.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(Et.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Et.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.OLED_SHOW_BMP_TOOLTIP)}},Zr={init:function(){this.setColour(ir),this.appendValueInput("VAR").appendField(Et.Msg.OLED),this.appendDummyInput("").appendField(Et.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(Et.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(Et.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.OLED_DRAW_PIXE_TOOLTIP)}},$r={init:function(){this.setColour(ir),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Et.FieldDropdown([["32x12 Matrix","32x12 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},td={init:function(){this.setColour(ir),this.appendValueInput("SUB"),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},ed={init:function(){this.setColour(ir),this.appendValueInput("SUB"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},id="#526FC3",nd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},sd={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"+Et.Msg.TUPLE_JOIN),this.appendValueInput("CLIENT").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_CLIENT),this.appendValueInput("SERVER").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_SERVER),this.appendValueInput("USERNAME").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_USERNAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_PASSWORD),this.appendValueInput("TOPIC").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_TOPIC),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_CONNECT_TOOLTIP)}},od={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP)}},pd={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_CHECK_TOOLTIP)}},ud={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendValueInput("DICT").appendField(Et.Msg.MIXLY_ESP32_PUBLISH_ONENET),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_ONENET_PRINT_DATA).appendField(new Et.FieldCheckbox("TRUE"),"is_print"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_DICT_TOOLTIP)}},ad={init:function(){this.setColour(id),this.appendValueInput("VAR").setCheck("var").appendField("OneNET").setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField(new Et.FieldLabel(Et.Msg.MIXLY_ESP32_PUBLISH_ONENET),"TIP").setAlign(Et.inputs.Align.RIGHT),this.itemCount_=2,this.updateShape_(),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["iot_publish_item"],this)),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("iot_publish_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},ld={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},_d={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},rd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},dd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Et.Msg.MIXLY_WIFI_USERNAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.MIXLY_IOT_PASSWORD).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_PROJECT).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Id={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Et.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Td={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Et.Msg.HTML_BODY),this.appendDummyInput().appendField(Et.Msg.MIXLY_Service_quality_display).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_AT_MOST_ONCE,"0"],[Et.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},hd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_SUBSCRIBE+Et.Msg.MIXLY_MICROBIT_MSG).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},md={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Od={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Et.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Md={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},Ed={init:function(){this.setColour(id),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Cd={init:function(){this.setColour(id),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},Ad={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},gd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO").appendField(Et.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Et.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Sd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+Et.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ld={init:function(){this.VISITOR_ID=Ct.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(id),this.appendDummyInput("").appendField(new Et.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},Nd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MixIO").appendField(Et.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},fd={init:function(){this.setColour(id),this.appendDummyInput().appendField("HTTP"+Et.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Et.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Et.Msg.MIXLY_REQUESTS_GET).appendField(Et.Msg.MIXLY_GET_CURRENT_TIME).appendField(Et.Msg.MIXLY_OPEN_DEBUG).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fd={init:function(){this.setColour(id),this.appendDummyInput().appendField("HTTP"+Et.Msg.MIXLY_Client).appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Et.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Et.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},vd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MQTT"+Et.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Et.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Et.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Et.Msg.MQTT_Topic).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Et.Msg.MIXLY_OPEN_DEBUG).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pd={init:function(){this.setColour(id),this.appendDummyInput().appendField("MQTT"+Et.Msg.MIXLY_Client).appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Et.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Et.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Vd=nd,yd=sd,Yd=od,bd=pd,kd=ad,Xd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Et.Msg.MODEL_NAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Et.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gd=Xd,wd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Et.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Et.Msg.MODEL_NAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Et.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ud={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xd={init:function(){this.setColour(id),this.appendDummyInput().appendField(Et.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Et.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},Hd={init:function(){this.setColour(id),this.appendDummyInput().appendField("Ollama "+Et.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bd={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Et.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wd={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Et.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Et.inputs.Align.RIGHT).appendField(`MixIO ${Et.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Kd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Et.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},Qd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},jd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Et.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Et.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},Jd={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Et.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zd=225,Zd={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Et.Msg.MIXLY_NETWORK_MODE).appendField(new Et.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},$d={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Et.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=Et.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Et.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Et.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},tI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},eI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Et.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Et.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},iI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},nI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_CONNECT+Et.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},sI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Et.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Et.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Et.Msg.MIXLY_ESP32_NETWORK_IP,1:Et.Msg.MIXLY_ESP32_NETWORK_MASK,2:Et.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},oI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},pI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Et.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},uI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Et.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Et.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},aI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},lI={init:function(){this.setColour(zd),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Et.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},_I={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},rI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},dI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},II={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},TI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},hI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},mI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},OI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},cI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},RI={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},MI={init:function(){this.setColour(zd),this.appendValueInput("DOMAIN").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Et.Msg.blockpy_REQUESTS_GET).appendField(new Et.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},EI={init:function(){this.appendValueInput("VAL"),this.setColour(zd),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Et.FieldDropdown(EI.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:Et.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Et.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Et.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[Et.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},CI={init:function(){this.appendValueInput("VAR").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(zd),this.appendDummyInput("").appendField(Et.Msg.blockpy_CONDUCT).appendField(new Et.FieldDropdown(CI.METHOD),"DIR"),this.appendDummyInput("").appendField(Et.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:Et.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Et.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},AI={init:function(){this.setColour(zd),this.appendDummyInput("").appendField(Et.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Et.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},gI={init:function(){this.setColour(zd),this.appendDummyInput("").appendField(new Et.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},SI="#3288dd",DI={init:function(){this.setColour(SI),this.appendValueInput("URL").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Et.Msg.blockpy_CONDUCT).appendField(new Et.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Et.Msg.blockpy_REQUESTS).appendField(Et.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},LI={init:function(){this.setColour(SI),this.appendValueInput("URL").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Et.Msg.blockpy_CONDUCT).appendField(new Et.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Et.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Et.Msg.blockpy_REQUESTS+Et.Msg.OLED_STRING),this.appendDummyInput("").appendField(Et.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},NI={init:function(){this.appendValueInput("VAL"),this.setColour(SI),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Et.FieldDropdown(NI.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Et.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Et.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Et.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},fI={init:function(){this.setColour(SI),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Et.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Et.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},FI={init:function(){this.setColour(SI),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_SERVER).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Et.Msg.MIXLY_EMQX_PORT).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Et.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Et.Msg.MIXLY_WIFI_USERNAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.MIXLY_IOT_PASSWORD).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vI={init:function(){this.setColour(SI),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_SUBSCRIBE+Et.Msg.MIXLY_MICROBIT_MSG).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Et.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},PI={init:function(){this.setColour(SI),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_SUBSCRIBE+Et.Msg.MIXLY_MICROBIT_MSG).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VI={init:function(){this.setColour(SI),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Et.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Et.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yI={init:function(){this.setColour(SI),this.appendDummyInput().appendField("mqtt"+Et.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},YI="#A58C5B",bI={init:function(){this.setColour(YI),this.appendValueInput("PIN",Number).appendField(new Et.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Et.FieldDropdown(bI.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"humidity"]]},kI=(Et.Msg.PS2_TRIANGLE,Et.Msg.PS2_CIRCLE,Et.Msg.PS2_CROSS,Et.Msg.PS2_SQUARE,Et.Msg.PS2_L1,Et.Msg.PS2_L2,Et.Msg.PS2_R1,Et.Msg.PS2_R2,Et.Msg.PS2_UP,Et.Msg.PS2_RIGHT,Et.Msg.PS2_DOWN,Et.Msg.PS2_LEFT,Et.Msg.PS2_SELECT,Et.Msg.PS2_START,{init:function(){this.setColour(YI),this.appendDummyInput("").appendField(Et.Msg.PS2_stick).appendField(new Et.FieldDropdown(kI.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[Et.Msg.PS2_RX,"0"],[Et.Msg.PS2_RY,"1"],[Et.Msg.PS2_LX,"2"],[Et.Msg.PS2_LY,"3"]]}),XI={init:function(){this.setColour(YI),this.appendValueInput("SUB").appendField(Et.Msg.PS2),this.appendDummyInput("").appendField(Et.Msg.MIXLY_JOYSTICK).appendField(new Et.FieldDropdown(XI.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[Et.Msg.PS2_RX,"RX"],[Et.Msg.PS2_RY,"RY"],[Et.Msg.PS2_LX,"LX"],[Et.Msg.PS2_LY,"LY"]]},GI=40,wI={init:function(){this.setColour(GI),this.appendValueInput("PIN",Number).appendField(new Et.FieldDropdown([["DHT11","dht11"],["DHT22","dht22"]]),"TYPE").appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Et.FieldDropdown(wI.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"relative_humidity"],[Et.Msg.MIXLY_DHT11_T_H,"tempandhum"]]},UI=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"pitch",e.ORDER_ATOMIC);return"music.pitch("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+i+")\n"},xI=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"pitch",e.ORDER_ATOMIC),n=e.valueToCode(this,"time",e.ORDER_ATOMIC);return"music.pitch_time("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+i+", "+n+")\n"},HI=function(t,e){return e.definitions_.import_music="import music","music.stop("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")\n"},BI=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"BPM",e.ORDER_ASSIGNMENT);return"music.set_tempo("+e.valueToCode(this,"TICKS",e.ORDER_ASSIGNMENT)+", "+i+")\n"},WI=function(t,e){e.definitions_.import_music="import music";return["music.get_tempo()",e.ORDER_ATOMIC]},KI=function(t,e){return e.definitions_.import_music="import music","music.pitch("+e.valueToCode(this,"pitch",e.ORDER_ATOMIC)+")\n"},qI=function(t,e){return e.definitions_.import_music="import music","music.pitch_time("+e.valueToCode(this,"pitch",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"time",e.ORDER_ATOMIC)+")\n"},QI=function(t,e){e.definitions_.import_music="import music";return"music.stop()\n"},jI=function(t,e){return e.definitions_.import_music="import music","music.play("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+")\n"},JI=function(t,e){return e.definitions_.import_music="import music","music.play("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN",e.ORDER_ASSIGNMENT)+")\n"},zI=function(t,e){return e.definitions_.import_music="import music",e.definitions_.import_matrix="import matrix","music.play_show("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN",e.ORDER_ASSIGNMENT)+")\n"},ZI=function(t,e){return e.definitions_.import_music="import music","music.reset()\n"},$I=function(t,e){return e.definitions_.import_servo="import servo",e.definitions_.import_machine="import machine","servo.servo_write_angle("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC)+")\n"},tT=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},eT=function(t,e){return[this.getFieldValue("flag"),e.ORDER_ATOMIC]},iT=function(t,e){e.definitions_.import_mixgo="import mixgo";var i=e.valueToCode(this,"bright",e.ORDER_ATOMIC);return"mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").setonoff("+i+")\n"},nT=function(t,e){return e.definitions_.import_mixgo="import mixgo",["mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").getonoff()",e.ORDER_ATOMIC]},sT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").setbrightness("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},oT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".setonoff("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},pT=function(t,e){return e.definitions_.import_mixgo="import mixgo",["mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".getonoff()",e.ORDER_ATOMIC]},uT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".setbrightness("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},aT=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=e.valueToCode(this,"LEDCOUNT",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",i+" = neopixel.NeoPixel(machine.Pin("+n+"), "+s+", timing=True)\n"},lT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".write()\n"},_T=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"["+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+"] = ("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+")\n"},rT=function(t,e){e.definitions_.import_mixgo="import mixgo";return"mixgo.rgb.write()\n"},dT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.rgb["+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+"] = ("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+")\n"},IT=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.rgb.fill(("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+"))\n"},TT=oT,hT=pT,mT=uT,OT=function(t,e){var i=e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC);e.functions_["terminal_widget_vpin_"+i]=`\nALLOWED_COMMANDS_LIST = ['ls', 'lsusb', 'ip a', 'ip abc']\n\n@blynk.handle_event('write V${i}')\ndef write_handler(pin, _values):\n header = ''\n result = ''\n delimiter = '{}\\n'.format('=' * 30)\n if _values and _values[0] in ALLOWED_COMMANDS_LIST:\n cmd_params = _values[0].split(' ')\n try:\n result = subprocess.check_output(cmd_params).decode('utf-8')\n header = '[output]\\n'\n except subprocess.CalledProcessError as exe_err:\n header = '[error]\\n'\n result = 'Return Code: {}\\n'.format(exe_err.returncode)\n except Exception as g_err:\n print("Command caused '{}'".format(g_err))\n elif _values and _values[0] == 'help':\n header = '[help -> allowed commands]\\n'\n result = '{}\\n'.format('\\n'.join(ALLOWED_COMMANDS_LIST))\n\n # communicate with terminal if help or some allowed command\n if result:\n output = '{}{}{}{}'.format(header, delimiter, result, delimiter)\n print(output)\n blynk.virtual_write(pin, output)\n blynk.virtual_write(pin, '\\n')\n`;return""},cT=function(t,e){return"blynk.virtual_sync("+e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC)+")\n"},RT=function(t,e){var i=e.statementToCode(this,"DO");return i=e.addLoopTrap(i,this.id)||e.PASS,e.definitions_.blynk_on_disconnected="@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n"+i,""},MT=function(t,e){var i=e.statementToCode(this,"DO");return i=e.addLoopTrap(i,this.id)||e.PASS,e.definitions_.blynk_on_connected="@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n"+i,""},ET=function(){return"blynk_timer.run()\n"},CT=function(){return"blynk.run()\n"},AT=function(t,e){return"blynk.notify("+e.valueToCode(this,"notification",e.ORDER_ATOMIC)+")\n"},gT=function(t,e){e.definitions_.import_blynktimer="import blynktimer",e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";var i=e.valueToCode(this,"timer_num",e.ORDER_ATOMIC);return`blynk_timer.stop('${i}_blynk_timer${i}')\n`},ST=function(t,e){e.definitions_.import_blynktimer="import blynktimer",e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";return["blynk_timer.get_timers()",e.ORDER_ATOMIC]},DT=function(t,e){e.definitions_.import_blynktimer="import blynktimer";var i=e.valueToCode(this,"Num",e.ORDER_ATOMIC),n=e.valueToCode(this,"period",e.ORDER_ATOMIC),s=this.getFieldValue("Timer_mode"),o=e.statementToCode(this,"DO");return o=e.addLoopTrap(o,this.id)||e.PASS,e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)",e.definitions_["blynktimer_event"+i]=`\n@blynk_timer.register(interval=${n}, run_once=${s})\ndef blynk_timer${i}():\n`+o,""},LT=function(t,e){var i=e.valueToCode(this,"sensor_data",e.ORDER_ATOMIC);return"blynk.virtual_write("+e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC)+", "+i+")\n"},NT=function(t,e){var i=e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC),n=e.statementToCode(this,"DO");return n=e.addLoopTrap(n,this.id)||e.PASS,e.definitions_["blynk_VIRTUAL_WRITE_"+i]="@blynk.handle_event('write V"+i+"')\ndef write_virtual_pin_handler(pin, _value):\n for i in range(0, len(_value)):\n try: _value[i] = eval(_value[i])\n except: pass\n if len(_value) == 1: _value = _value[0]\n"+n,""},fT=function(t,e){var i=e.valueToCode(this,"body",e.ORDER_ATOMIC),n=e.valueToCode(this,"subject",e.ORDER_ATOMIC);return`blynk.email(${e.valueToCode(this,"TargetEmail",e.ORDER_ATOMIC)}, ${n}, ${i})\n`},FT=function(t,e){var i=e.valueToCode(this,"attribute_value",e.ORDER_ATOMIC);return`blynk.set_property(pin, ${e.valueToCode(this,"attribute_name",e.ORDER_ATOMIC)}, ${i})\n`},vT=function(t,e){e.definitions_.import_BlynkLib="import blynklib";var i=e.valueToCode(this,"server",e.ORDER_ATOMIC),n=e.valueToCode(this,"auth",e.ORDER_ATOMIC),s=e.valueToCode(this,"port",e.ORDER_ATOMIC);return e.definitions_.mpython_blynk_setup="blynk = blynklib.Blynk("+n+", server="+i+", port="+s+")",e.definitions_.blynk_on_connected="\n@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n",e.definitions_.blynk_on_disconnected="\n@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n",""};const PT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.show("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},VT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},yT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.showstatic("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},YT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.show("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},bT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},kT=function(t,e){e.definitions_.import_matrix="import matrix";var i={"#000000":"0","#ff0000":"1"};return['matrix.Image("'+i[t.getFieldValue("00")]+i[t.getFieldValue("01")]+i[t.getFieldValue("02")]+i[t.getFieldValue("03")]+i[t.getFieldValue("04")]+i[t.getFieldValue("05")]+i[t.getFieldValue("06")]+i[t.getFieldValue("07")]+i[t.getFieldValue("08")]+i[t.getFieldValue("09")]+i[t.getFieldValue("0a")]+i[t.getFieldValue("0b")]+i[t.getFieldValue("0c")]+i[t.getFieldValue("0d")]+i[t.getFieldValue("0e")]+i[t.getFieldValue("0f")]+":"+i[t.getFieldValue("10")]+i[t.getFieldValue("11")]+i[t.getFieldValue("12")]+i[t.getFieldValue("13")]+i[t.getFieldValue("14")]+i[t.getFieldValue("15")]+i[t.getFieldValue("16")]+i[t.getFieldValue("17")]+i[t.getFieldValue("18")]+i[t.getFieldValue("19")]+i[t.getFieldValue("1a")]+i[t.getFieldValue("1b")]+i[t.getFieldValue("1c")]+i[t.getFieldValue("1d")]+i[t.getFieldValue("1e")]+i[t.getFieldValue("1f")]+":"+i[t.getFieldValue("20")]+i[t.getFieldValue("21")]+i[t.getFieldValue("22")]+i[t.getFieldValue("23")]+i[t.getFieldValue("24")]+i[t.getFieldValue("25")]+i[t.getFieldValue("26")]+i[t.getFieldValue("27")]+i[t.getFieldValue("28")]+i[t.getFieldValue("29")]+i[t.getFieldValue("2a")]+i[t.getFieldValue("2b")]+i[t.getFieldValue("2c")]+i[t.getFieldValue("2d")]+i[t.getFieldValue("2e")]+i[t.getFieldValue("2f")]+":"+i[t.getFieldValue("30")]+i[t.getFieldValue("31")]+i[t.getFieldValue("32")]+i[t.getFieldValue("33")]+i[t.getFieldValue("34")]+i[t.getFieldValue("35")]+i[t.getFieldValue("36")]+i[t.getFieldValue("37")]+i[t.getFieldValue("38")]+i[t.getFieldValue("39")]+i[t.getFieldValue("3a")]+i[t.getFieldValue("3b")]+i[t.getFieldValue("3c")]+i[t.getFieldValue("3d")]+i[t.getFieldValue("3e")]+i[t.getFieldValue("3f")]+":"+i[t.getFieldValue("40")]+i[t.getFieldValue("41")]+i[t.getFieldValue("42")]+i[t.getFieldValue("43")]+i[t.getFieldValue("44")]+i[t.getFieldValue("45")]+i[t.getFieldValue("46")]+i[t.getFieldValue("47")]+i[t.getFieldValue("48")]+i[t.getFieldValue("49")]+i[t.getFieldValue("4a")]+i[t.getFieldValue("4b")]+i[t.getFieldValue("4c")]+i[t.getFieldValue("4d")]+i[t.getFieldValue("4e")]+i[t.getFieldValue("4f")]+":"+i[t.getFieldValue("50")]+i[t.getFieldValue("51")]+i[t.getFieldValue("52")]+i[t.getFieldValue("53")]+i[t.getFieldValue("54")]+i[t.getFieldValue("55")]+i[t.getFieldValue("56")]+i[t.getFieldValue("57")]+i[t.getFieldValue("58")]+i[t.getFieldValue("59")]+i[t.getFieldValue("5a")]+i[t.getFieldValue("5b")]+i[t.getFieldValue("5c")]+i[t.getFieldValue("5d")]+i[t.getFieldValue("5e")]+i[t.getFieldValue("5f")]+":"+i[t.getFieldValue("60")]+i[t.getFieldValue("61")]+i[t.getFieldValue("62")]+i[t.getFieldValue("63")]+i[t.getFieldValue("64")]+i[t.getFieldValue("65")]+i[t.getFieldValue("66")]+i[t.getFieldValue("67")]+i[t.getFieldValue("68")]+i[t.getFieldValue("69")]+i[t.getFieldValue("6a")]+i[t.getFieldValue("6b")]+i[t.getFieldValue("6c")]+i[t.getFieldValue("6d")]+i[t.getFieldValue("6e")]+i[t.getFieldValue("6f")]+":"+i[t.getFieldValue("70")]+i[t.getFieldValue("71")]+i[t.getFieldValue("72")]+i[t.getFieldValue("73")]+i[t.getFieldValue("74")]+i[t.getFieldValue("75")]+i[t.getFieldValue("76")]+i[t.getFieldValue("77")]+i[t.getFieldValue("78")]+i[t.getFieldValue("79")]+i[t.getFieldValue("7a")]+i[t.getFieldValue("7b")]+i[t.getFieldValue("7c")]+i[t.getFieldValue("7d")]+i[t.getFieldValue("7e")]+i[t.getFieldValue("7f")]+'")',e.ORDER_ATOMIC]},XT=function(t,e){return e.definitions_.import_matrix="import matrix",["matrix.Image."+t.getFieldValue("image"),e.ORDER_ATOMIC]},GT=function(t,e){return e.definitions_.import_matrix="import matrix",["matrix.get_pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},wT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.set_pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},UT=function(t,e){e.definitions_.import_matrix="import matrix";return["matrix.get_brightness()",e.ORDER_ATOMIC]},xT=function(t,e){e.definitions_.import_matrix="import matrix";return["matrix.get_screenimage()",e.ORDER_ATOMIC]},HT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},BT=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.blink_rate("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},WT=function(t,e){e.definitions_.import_matrix="import matrix";return"matrix.clear()\n"},KT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},qT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},QT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},jT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),p=e.valueToCode(this,"height",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP"),l="";switch(u){case"True":l=i+".show_fill_rect("+n+", "+s+", "+o+", "+p+", "+a+")\n";break;case"False":l=i+".show_rect("+n+", "+s+", "+o+", "+p+", "+a+")\n"}return l},JT=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP"),n=e.valueToCode(t,"A",e.ORDER_ATOMIC),s=e.valueToCode(t,"B",e.ORDER_ATOMIC);return["INTERSECTION"==i?n+"-("+n+"-"+s+")":n+i+s,e.ORDER_ATOMIC]},zT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},ZT=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},$T=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},th=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},eh=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},ih=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+this.getFieldValue("STAT")+"()\n"},nh=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+"_show_num("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},sh=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+"_show_dot("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},oh=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},ph=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",u=this.getFieldValue("OP"),a="";switch(p){case"True":a=i+".show_fill_circle("+n+", "+s+", "+o+", "+u+")\n";break;case"False":a=i+".show_circle("+n+", "+s+", "+o+", "+u+")\n"}return a},uh=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),p=e.valueToCode(this,"y1",e.ORDER_ATOMIC),u=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),l="TRUE"==this.getFieldValue("fill")?"True":"False",_=this.getFieldValue("OP"),r="";switch(l){case"True":r=i+".show_fill_triangle("+n+", "+s+", "+o+", "+p+", "+u+", "+a+", "+_+")\n";break;case"False":r=i+".show_triangle("+n+", "+s+", "+o+", "+p+", "+u+", "+a+", "+_+")\n"}return r},ah=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},lh=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},_h=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),o=this.getFieldValue("key");return"32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=n+" = matrix32x12.Matrix("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},rh=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_matrix32x12="import matrix32x12",i+".set_buffer("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},dh=function(t,e){return e.definitions_.import_matrix32x12="import matrix32x12",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Ih=function(t,e){return e.definitions_.import_mixiot="import mixiot","mixiot.wlan_connect("+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},Th=function(t,e){return e.definitions_.import_onenet="import onenet",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = onenet.init_MQTT_client("+e.valueToCode(this,"CLIENT",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", "+(e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)||"None")+")\n"},hh=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return e.definitions_.import_onenet="import onenet",i+".do_disconnect()\n"},mh=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"DICT",e.ORDER_ATOMIC),s="TRUE"==this.getFieldValue("is_print")?"True":"False";return e.definitions_.import_onenet="import onenet",i+".publish("+n+", is_print="+s+")\n"},Oh=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return e.definitions_.import_onenet="import onenet",i+".check_msg()\n"},ch=function(t,e){e.definitions_.import_onenet="import onenet";var i=new Array(this.itemCount_),n=new Array(this.itemCount_),s=new Array(this.itemCount_),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);for(let t=0;t0?e.join("\n")+i.join("\n")+n.join("\n")+p.join("\n")+u.join("")+t+"while True:\n"+a.join("")+l.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+p.join("\n")+u.join("")+t+l.join("\n"),_},Gm.scrubNakedValue=function(t){return t+"\n"},Gm.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Gm.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Gm.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Et.utils.string.wrap(o,Gm.COMMENT_WRAP-3),n+=Gm.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const wm={k210:{description:"MicroPython[K210_MixGo AI]",digital_pin:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P17","17"],["P18","18"],["P19","19"],["P20","20"],["P21","21"],["P22","22"],["P23","23"],["P24","24"],["P25","25"]],digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P17","17"],["P18","18"],["P19","19"],["P20","20"],["P21","21"],["P22","22"],["P23","23"],["P24","24"],["P25","25"],["P30","30"],["P31","31"],["P32","32"],["P33","33"],["P34","34"],["P35","35"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]]}};wm["MixGo AI"]=wm.k210;const Um=wm,xm=100,Hm={init:function(){this.setColour(xm),this.appendDummyInput().appendField("初始化"),this.appendDummyInput().appendField("舵机"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("time").appendField("定时器").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Bm={init:function(){this.setColour(xm),this.appendDummyInput().appendField("设置"),this.appendDummyInput().appendField("舵机"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("range").appendField("角度").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Wm={init:function(){this.setColour(xm),this.appendDummyInput().appendField("初始化"),this.appendDummyInput().appendField("16路舵机"),this.appendValueInput("address").appendField("地址").setCheck(Number),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("使用PCA9685驱动16路舵机并备注IIC端口")}},Km={init:function(){this.setColour(xm),this.appendDummyInput().appendField("设置"),this.appendDummyInput().appendField("16路舵机"),this.appendValueInput("index").appendField("编号").setCheck(Number),this.appendValueInput("range").appendField("角度").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("使用PCA9685驱动16路舵机,输入编号机角度")}},qm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("num").appendField("灯数").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Qm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendValueInput("num").appendField("灯号").setCheck(Number),this.appendValueInput("R").appendField("R值").setCheck(Number),this.appendValueInput("G").appendField("G值").setCheck(Number),this.appendValueInput("B").appendField("B值").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},jm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("生效"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Jm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Et.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},zm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Et.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Et.Msg.MOTOR_N,"ms32006.MOT_N"],[Et.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},Zm={init:function(){this.setColour(xm),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Et.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Direction).appendField(new Et.FieldDropdown([[Et.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Et.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},$m={init:function(){this.setColour(xm),this.appendValueInput("SUB").setCheck("var").appendField("初始化"),this.appendValueInput("P",Number).appendField("P值").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("I",Number).appendField("I值").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("D",Number).appendField("D值").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("初始化PID算法")}},tO={init:function(){this.setColour(xm),this.appendValueInput("SUB").setCheck("var").appendField(""),this.appendDummyInput().appendField("运算"),this.appendValueInput("error").appendField("偏移量").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("scaler").appendField("定标量").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("根据参数返回运算结果")}},eO="#55839A",iO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField(new Et.FieldTextInput("anchor"),"VAR").appendField("锚点参数= (").appendField(new Et.FieldTextInput("1.889, 2.5245, 2.9465, 3.94056, 3.99987, 5.3658, 5.155437, 6.92275, 6.718375, 9.01025"),"TEXT").appendField(")"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("锚点参数")}},nO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField(new Et.FieldTextInput("calss"),"VAR").appendField("物品名称= [").appendField(new Et.FieldTextInput("'name1', 'name2', 'name3', 'name4'"),"TEXT").appendField("]"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("将要识别的物品名称")}},sO={init:function(){this.setColour(eO),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendValueInput("path").appendField("模型加载").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("从flash系统中加载模型")}},oO={init:function(){this.setColour(eO),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendValueInput("path").appendField("模型路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("从文件系统中加载模型")}},pO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("yolo2").appendField("初始化"),this.appendValueInput("SUB").setAlign(Et.inputs.Align.RIGHT).appendField("网络模型").setCheck("var"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("概率阈值").setCheck(Number),this.appendValueInput("nms_value").setAlign(Et.inputs.Align.RIGHT).appendField("box_iou门限").setCheck(Number),this.appendValueInput("anchor_num").setAlign(Et.inputs.Align.RIGHT).appendField("锚点数").setCheck(Number),this.appendValueInput("anchor").setAlign(Et.inputs.Align.RIGHT).appendField("锚点参数"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化yolo2网络")}},uO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("yolo2").appendField("运行网络"),this.appendValueInput("SUB").setAlign(Et.inputs.Align.RIGHT).appendField("模型").setCheck("var"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("运行yolo2网络")}},aO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("yolo2").appendField("前向运算"),this.appendValueInput("SUB").setAlign(Et.inputs.Align.RIGHT).appendField("模型").setCheck("var"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("运行网络前向运算")}},lO={init:function(){this.setColour(eO),this.appendDummyInput().appendField("yolo2").appendField("模型解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-x","x"],["坐标-y","y"],["标识号","classid"],["置信度","value"]]),"key"),this.setOutput(!0),this.setTooltip("对于模型解析,获取模型识别结果的目标坐标、标识好、置信度")}},_O={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_OneNET").appendField("连接WiFi"),this.appendValueInput("account").appendField("名称").setCheck(String),this.appendValueInput("password").appendField("密码").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("AI-Onenet平台 连接WiFi")}},rO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_OneNET").appendField("获鉴权码"),this.appendValueInput("account").setAlign(Et.inputs.Align.RIGHT).appendField("账号").setCheck(String),this.appendValueInput("password").setAlign(Et.inputs.Align.RIGHT).appendField("密码").setCheck(String),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("AI-Onenet平台 需要注册平台才能使用账号获取用户鉴权码,鉴权码一般24小时有效")}},dO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_OneNET").appendField("调取API"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像"),this.appendDummyInput().appendField("识别").appendField(new Et.FieldDropdown([["人脸检测","FACE_RECO"],["人脸分析","FACE_ATTRIBUTE"],["人体检测","BODY_RECO"],["图像抄表","AMMETER_READ"],["内容测评","IDENTIFY_PORN"],["车牌信息","NUMBER_PLATE_RECOGNITION"],["宠物种类","CAT_DOG_DETECTION"],["火灾检测","FIRE_DETECTION"]]),"api"),this.appendValueInput("token").setAlign(Et.inputs.Align.RIGHT).appendField("鉴权码").setCheck(String),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("AI-Onenet平台 调用平台API,返回列表识别结果参数")}},IO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Local").appendField("模型训练"),this.appendValueInput("calss").setAlign(Et.inputs.Align.RIGHT).appendField("物品"),this.appendValueInput("sample").setAlign(Et.inputs.Align.RIGHT).appendField("训练量").setCheck(Number),this.appendValueInput("save").setAlign(Et.inputs.Align.RIGHT).appendField("保存").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("AI-Local本地模型训练 需要识别的物品名称、每个物品训练数量、保存的名称")}},TO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Local").appendField("模型加载"),this.appendValueInput("path").setAlign(Et.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("AI-Local 加载已经训练好的本地模型")}},hO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Local").appendField("运行模型"),this.appendValueInput("calss").setAlign(Et.inputs.Align.RIGHT).appendField("物品"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("AI-Local 采集图像运行模型将返回识别的物品名、置信度")}},mO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Face").appendField("初始化 加载"),this.appendValueInput("FD").setAlign(Et.inputs.Align.RIGHT).appendField("模型FD:").setCheck(String),this.appendValueInput("LD").setAlign(Et.inputs.Align.RIGHT).appendField("模型LD:").setCheck(String),this.appendValueInput("FE").setAlign(Et.inputs.Align.RIGHT).appendField("模型FE:").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("人脸分辨,初始化")}},OO={init:function(){this.setColour(eO),this.appendDummyInput("").appendField("AI_Face").appendField("运行识别"),this.appendValueInput("names").setAlign(Et.inputs.Align.RIGHT).appendField("人名"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图象"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("人脸分辨,识别到人脸返回True,无人脸返回False")}},cO={init:function(){this.setColour(eO),this.appendDummyInput().appendField("AI_Face").appendField("识别解析"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["识别人名","info_name"],["置信度 %","info_score"],["脸部坐标","info_face"],["三官坐标","info_organs"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("人脸分辨,识别到人物名称,置信度,脸部坐标,三官(眼睛x2、鼻子、嘴巴*2)坐标")}},RO="#2CAAD2",MO={init:function(){this.setColour(RO),this.appendValueInput("SUB").setCheck("var").appendField("初始化"),this.appendValueInput("BCK",Number).appendField("BCK#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("WS",Number).appendField("WS#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("DAT",Number).appendField("DAT#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("初始化配置扬声器,用于语音播放")}},EO={init:function(){this.setColour(RO),this.appendValueInput("SUB").setCheck("var").appendField("初始化"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("初始化配置扬声器,用于语音播放")}},CO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Audio 音频播放"),this.appendValueInput("path").appendField("路径").setAlign(Et.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("volume").appendField("音量(%)").setAlign(Et.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("音频播放")}},AO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Audio 音频录制"),this.appendValueInput("path").appendField("路径").setAlign(Et.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("time").appendField("时长(s)").setAlign(Et.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("音频录制")}},gO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Video 视频播放"),this.appendValueInput("path").appendField("路径").setAlign(Et.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("volume").appendField("音量(%)").setAlign(Et.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("视频播放")}},SO={init:function(){this.setColour(RO),this.appendDummyInput().appendField("Video 视频录制"),this.appendValueInput("path").appendField("路径").setAlign(Et.inputs.Align.RIGHT).setCheck(String),this.appendValueInput("SUB").setCheck("var").setAlign(Et.inputs.Align.RIGHT).appendField("设备"),this.appendValueInput("time").appendField("时长(s)").setAlign(Et.inputs.Align.RIGHT).setCheck(Number),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("视频录制")}},DO="#bc9705",LO={init:function(){this.setColour(DO),this.appendDummyInput("").appendField(new Et.FieldDropdown([["彩色图(YUV422)","sensor.YUV422"],["彩色图(RGB565)","sensor.RGB565"],["灰度图","sensor.GRAYSCALE"]]),"flag"),this.setOutput(!0),this.setTooltip()}},NO={init:function(){this.setColour(DO),this.appendDummyInput("").appendField(new Et.FieldDropdown([["320x240","sensor.QVGA"],["240x240","sensor.B240X240"],["128x128","sensor.B128X128"],["64x64","sensor.B64X64"]]),"flag"),this.setOutput(!0),this.setTooltip()}},fO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera").appendField("初始化"),this.appendValueInput("key1").setAlign(Et.inputs.Align.RIGHT).appendField("帧格式"),this.appendValueInput("key2").setAlign(Et.inputs.Align.RIGHT).appendField("帧大小"),this.appendValueInput("key3").setAlign(Et.inputs.Align.RIGHT).appendField("图捕捉"),this.appendValueInput("key4").setAlign(Et.inputs.Align.RIGHT).appendField("跳帧数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("初始化摄像头,会自动扫描并获取摄像头型号")}},FO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("初始化"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("初始化摄像头,会自动扫描并获取摄像头型号")}},vO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("帧格式"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头输出格式")}},PO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("帧大小"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头输出帧大小")}},VO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("图捕捉"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("开启图像捕捉功能")}},yO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("frame").appendField("跳帧数").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("摄像头跳过指定帧数")}},YO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("获取图像"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("控制摄像头捕捉图像")}},bO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("设为"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("启动/关闭摄像头")}},kO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("水平镜像"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头水平镜像")}},XO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("垂直镜像"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头垂直镜像")}},GO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendValueInput("key").appendField("彩条模式"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("将摄像头设置为彩条模式")}},wO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["分辨率宽度","width"],["分辨率高度","height"],["当前增益值","get_gain_db"],["帧缓冲图像","get_fb"],["类型型号ID","get_id"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取当前摄像头信息")}},UO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("设置").appendField(new Et.FieldDropdown([["对比度","set_contrast"],["亮度值","set_brightness"],["增益值","set_auto_gain"],["饱和度","set_saturation"]]),"key"),this.appendValueInput("num").appendField("值为").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头对比度、亮度、增益、饱和度")}},xO={init:function(){this.setColour(DO),this.appendDummyInput().appendField("Camera"),this.appendDummyInput().appendField("设置窗口"),this.appendValueInput("numa").appendField("宽为").setCheck(Number),this.appendValueInput("numb").appendField("高为").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置摄像头窗口大小")}},HO=140,BO={init:function(){this.setColour(HO),this.appendValueInput("PIN").appendField(Et.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField("获取编码"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_SCAN)}},WO={init:function(){this.setColour(HO),this.appendValueInput("SUB").appendField("I2C "+Et.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField("通道").appendField(new Et.FieldDropdown([["0","I2C0"],["1","I2C1"],["2","I2C2"]]),"mode"),this.appendValueInput("freq").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_INIT)}},KO={init:function(){this.setColour(HO),this.appendValueInput("SUB").setCheck("var").appendField("I2S 初始化"),this.appendDummyInput().appendField("设备").appendField(new Et.FieldDropdown([["麦克风","mic"],["扬声器","spk"]]),"mode"),this.appendValueInput("BCK",Number).appendField("BCK#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("WS",Number).appendField("WS#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("DAT",Number).appendField("DAT#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("sample").appendField("采样率").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_INIT)}},qO={init:function(){this.setColour(HO),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},QO={init:function(){this.setColour(HO),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},jO={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_I2C_SCAN1),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_SCAN)}},JO={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("polarity").setCheck(Number).appendField("polarity"),this.appendValueInput("phase").setCheck(Number).appendField("phase"),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},zO={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_SETTING+" SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_SET)}},ZO={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_SET+"SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},$O={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READ)}},tc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.LANG_MATH_BYTE+","+Et.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},ec={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(Et.Msg.MIXLY_SERIAL_READ+Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READINTO)}},ic={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(Et.Msg.MIXLY_SERIAL_READ+Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(","+Et.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},nc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_WRITE)}},sc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(","+Et.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},oc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},pc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_READ+"I2C"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},uc={init:function(){this.setColour(HO),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ac={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendValueInput("BUS").setCheck(Number).appendField(Et.Msg.MIXLY_SETUP+" "+Et.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_INIT)}},lc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_SCAN)}},_c={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_READ)}},rc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_WRITE).appendField(new Et.FieldDropdown([[Et.Msg.LANG_MATH_STRING,"write"],[Et.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_WRITE)}},dc={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_SELECT),this.appendValueInput("byte").setCheck(String).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_SELECT)}},Ic={init:function(){this.setColour(HO),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_RESET),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_RESET)}},Tc=WO,hc=qO,mc=QO,Oc=jO,cc=JO,Rc=zO,Mc=ZO,Ec=$O,Cc=tc,Ac=ec,gc=ic,Sc=nc,Dc=sc,Lc=oc,Nc=pc,fc=180,Fc={init:function(){this.setColour(fc),this.appendDummyInput("").appendField(new Et.FieldDropdown([["0°","0"],["90°","1"],["180°","2"],["270°","3"]]),"flag"),this.setOutput(!0),this.setTooltip()}},vc={init:function(){this.setColour(fc),this.appendDummyInput("").appendField(new Et.FieldDropdown([["黑色","lcd.BLACK"],["深蓝色","lcd.NAVY"],["蓝色","lcd.BLUE"],["深绿色","lcd.DARKGREEN"],["深青色","lcd.DARKCYAN"],["绿色","lcd.GREEN"],["青色","lcd.CYAN"],["褐红色","lcd.MAROON"],["紫色","lcd.PURPLE"],["橄榄色","lcd.OLIVE"],["深灰色","lcd.DARKGREY"],["绿黄色","lcd.GREENYELLOW"],["浅灰色","lcd.LIGHTGREY"],["红色","lcd.RED"],["洋红色","lcd.MAGENTA"],["粉红色","lcd.PINK"],["橙色","lcd.ORANGE"],["黄色","lcd.YELLOW"],["白色","lcd.WHITE"]]),"flag"),this.setOutput(!0),this.setTooltip()}},Pc={init:function(){this.setColour(fc),this.appendDummyInput("").appendField(new Et.FieldDropdown([["开启","1"],["关闭","0"]]),"flag"),this.setOutput(!0),this.setTooltip()}},Vc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 初始化"),this.appendValueInput("freq").setAlign(Et.inputs.Align.RIGHT).appendField("通信频率").setCheck(Number),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("背景颜色").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化LCD屏幕显示")}},yc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 获取 "),this.appendDummyInput().appendField(new Et.FieldDropdown([["宽度","width"],["高度","height"]]),"key"),this.appendDummyInput().appendField("分辨率"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取LCD的宽度/高度(水平分辨率)")}},Yc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD"),this.appendValueInput("key").appendField("系统颜色"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取LCD的宽度/高度(水平分辨率)")}},bc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 显示图像"),this.appendValueInput("img").appendField(""),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("在液晶屏上显示一张image(GRAYSCALE或RGB565")}},kc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 清屏颜色"),this.appendValueInput("color").appendField("").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("将液晶屏清空为指定的颜色")}},Xc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 屏幕旋转"),this.appendValueInput("key").appendField(""),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("设置LCD屏幕方向")}},Gc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 镜像显示"),this.appendValueInput("key").appendField(""),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("设置LCD是否镜面显示")}},wc={init:function(){this.setColour(fc),this.appendDummyInput().appendField("LCD 绘制文本"),this.appendValueInput("x").setAlign(Et.inputs.Align.RIGHT).appendField("坐标X").setCheck(Number),this.appendValueInput("y").setAlign(Et.inputs.Align.RIGHT).appendField("坐标Y").setCheck(Number),this.appendValueInput("text").setAlign(Et.inputs.Align.RIGHT).appendField("文本内容").setCheck(String),this.appendValueInput("color_T").setAlign(Et.inputs.Align.RIGHT).appendField("文本颜色").setCheck(Number),this.appendValueInput("color_S").setAlign(Et.inputs.Align.RIGHT).appendField("背景颜色").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("在液晶屏上显示文本字符(不支持中文)")}},Uc={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 初始化"),this.appendValueInput("I2C").appendField("通信").setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化触摸屏")}},xc={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 校准"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("校准屏幕,使屏幕显示和触摸屏像素能够对应")}},Hc={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 获取 "),this.appendDummyInput().appendField(new Et.FieldDropdown([["状态","[0]"],["坐标x","[1]"],["坐标y","[2]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("读取当前屏幕的状态以及按下的点的坐标值")}},Bc={init:function(){this.setColour(40),this.appendDummyInput().appendField("Touch 状态"),this.appendDummyInput().appendField(new Et.FieldDropdown([["空闲","ts.STATUS_IDLE"],["不按","ts.STATUS_RELEASE"],["按下","ts.STATUS_PRESS"],["移动","ts.STATUS_MOVE"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("读取当前屏幕的状态以及按下的点的坐标值")}},Wc="#777777",Kc={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField("from ").appendField(new Et.FieldTextInput("mixno"),"path").appendField(" import ").appendField(new Et.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qc={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField("import ").appendField(new Et.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qc={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField(new Et.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:"ni-hao"),"KEY"+e).appendField("”:")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},lR={init:function(){this.setColour(pR),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("启动识别 返回结果"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip("语音识别,获取识别结果")}},_R={init:function(){this.setColour(pR),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("注销识别 内存释放"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("语音识别,注销语音识别,释放内存")}},rR="#90A244",dR={init:function(){this.setColour(rR),this.appendDummyInput("").appendField(new Et.FieldDropdown([["否","0"],["是","1"]]),"flag"),this.setOutput(!0),this.setTooltip()}},IR={init:function(){this.setColour(rR),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("path").appendField("打开路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("打开一个新的图像对象")}},TR={init:function(){this.setColour(rR),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField("打开空图"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("打开一个空的图像对象")}},hR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像信息"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["宽度","width"],["高度","height"],["格式","format"],["大小","size"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取图像的宽度、高度、格式、大小")}},mR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像保存"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("path").setAlign(Et.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("图像的副本保存到文件系统")}},OR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像截取"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("复制一个图像图像的副本")}},cR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("RGB"),this.appendDummyInput().appendField("["),this.appendValueInput("R").setCheck(Number),this.appendValueInput("G").appendField(",").setCheck(Number),this.appendValueInput("B").appendField(",").setCheck(Number),this.appendDummyInput().appendField("]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("对图像进行适当压缩")}},RR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像压缩"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("quality").setAlign(Et.inputs.Align.RIGHT).appendField("压缩率").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("对图像进行适当压缩")}},MR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像清除"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("将图像中的所有像素设置为零")}},ER={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像转换"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendDummyInput().appendField("转换为").appendField(new Et.FieldDropdown([["灰度图","to_grayscale"],["彩色图","to_rgb565"],["彩虹图","to_rainbow"],["AI格式","pix_to_ai"],["字节块","to_bytes"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("将图像转换为灰度图、彩色图、彩虹图像")}},CR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("修改点颜色"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("设置图像某点像素值")}},AR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("获取点颜色"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xy"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("获取图像某点像素值")}},gR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("字库加载"),this.appendValueInput("path").setAlign(Et.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("从SD中加载需要显示文字的字库")}},SR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("字库释放"),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("释放字库所占的内存")}},DR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制文本(中)"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Et.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Et.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Et.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Et.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.appendValueInput("x_spacing").setAlign(Et.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个文本")}},LR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制文本"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Et.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Et.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Et.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Et.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.appendValueInput("x_spacing").setAlign(Et.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个中文文本")}},NR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制文本(英)"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Et.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Et.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Et.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Et.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个字符文本")}},fR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制直线"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xyxy"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一条从(x0,y0)到(x1,y1)的线")}},FR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制箭头"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xyxy"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("大小").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个箭头")}},vR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制十字"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("延伸").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个十字")}},PR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制圆形"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xyr"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Et.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个圆形")}},VR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制矩形"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xywh"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Et.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个矩形")}},yR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制特征点"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("keypoints").setAlign(Et.inputs.Align.RIGHT).appendField("对象"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("大小").setCheck(Number),this.appendValueInput("thi").setAlign(Et.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Et.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setTooltip("绘制一个特征点对象的各个点")}},YR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("绘制图像"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("x_scale").setAlign(Et.inputs.Align.RIGHT).appendField("x缩放").setCheck(Number),this.appendValueInput("y_scale").setAlign(Et.inputs.Align.RIGHT).appendField("y缩放").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("绘制一个image图像")}},bR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("直线识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("theta_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并角度").setCheck(Number),this.appendValueInput("rho_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并斜率").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别直线,返回image.line对象列表")}},kR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("线段识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("distance").setAlign(Et.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.appendValueInput("difference").setAlign(Et.inputs.Align.RIGHT).appendField("合并角度").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别线段,返回image.line对象列表")}},XR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("圆形识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("r_min").setAlign(Et.inputs.Align.RIGHT).appendField("最小r").setCheck(Number),this.appendValueInput("r_max").setAlign(Et.inputs.Align.RIGHT).appendField("最大r").setCheck(Number),this.appendValueInput("r_step").setAlign(Et.inputs.Align.RIGHT).appendField("步长r").setCheck(Number),this.appendValueInput("x_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并x值").setCheck(Number),this.appendValueInput("y_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并y值").setCheck(Number),this.appendValueInput("r_margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并r值").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[circle]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别圆形,返回image.cirle对象列表")}},GR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("矩形识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[rect]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用四元检测识别矩形,返回image.rect对象列表")}},wR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("线性回归"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("invert").setAlign(Et.inputs.Align.RIGHT).appendField("阈值反转"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("robust").setAlign(Et.inputs.Align.RIGHT).appendField("泰尔指数").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("计算线性回归,返回image.line对象列表")}},UR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("直线解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","line"],["x1分量","x1"],["y1分量","y1"],["x2分量","x2"],["y2分量","y2"],["长度","length"],["角度","theta"],["斜率","rho"],["模","magnitude"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.line列表,获取直线信息")}},xR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("圆形解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xyr","circle"],["x分量","x"],["y分量","y"],["r分量","r"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.circle列表,获取圆形信息")}},HR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("矩形解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.rect列表,获取矩形信息")}},BR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("直方图均衡"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("key").setAlign(Et.inputs.Align.RIGHT).appendField("自适应"),this.appendValueInput("limit").setAlign(Et.inputs.Align.RIGHT).appendField("对比度").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单直方图均衡化")}},WR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("模糊滤波"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("key").setAlign(Et.inputs.Align.RIGHT).appendField("自适应"),this.appendValueInput("offset").setAlign(Et.inputs.Align.RIGHT).appendField("补偿").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单模糊滤波")}},KR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("卡通化滤波"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("seed").setAlign(Et.inputs.Align.RIGHT).appendField("原始差异").setCheck(Number),this.appendValueInput("float").setAlign(Et.inputs.Align.RIGHT).appendField("相邻差异").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单卡通滤波器")}},qR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像腐蚀"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setTooltip("图像腐蚀,从分割区域的边缘删除像素(白色目标区域)")}},QR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像膨胀"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setTooltip("图像膨胀,将像素添加到分割区域的边缘中(白色目标区域)")}},jR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像填充"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("开始坐标"),this.appendValueInput("color").setAlign(Et.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("seed").setAlign(Et.inputs.Align.RIGHT).appendField("原始差异").setCheck(Number),this.appendValueInput("float").setAlign(Et.inputs.Align.RIGHT).appendField("相邻差异").setCheck(Number),this.appendValueInput("invert").setAlign(Et.inputs.Align.RIGHT).appendField("反转"),this.appendValueInput("clear").setAlign(Et.inputs.Align.RIGHT).appendField("清除"),this.setOutput(!0),this.setTooltip("像洪水一样填充图像中低矮凹陷的地方(洪水填充)")}},JR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像投影"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("key").setAlign(Et.inputs.Align.RIGHT).appendField("垂直投影"),this.setOutput(!0),this.setTooltip("图像从笛卡尔坐标到线性极坐标重新投影")}},zR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像反转"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("翻转图像中的所有像素值")}},ZR={init:function(){this.setColour(rR),this.appendDummyInput().appendField("校正缩放"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendValueInput("strength").appendField("校正值").setCheck(Number),this.appendValueInput("zoom").appendField("缩放值").setCheck(Number),this.setOutput(!0),this.setTooltip("翻转图像中的所有像素值")}},$R={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像二值化"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("invert").setAlign(Et.inputs.Align.RIGHT).appendField("阈值反转"),this.appendValueInput("zero").setAlign(Et.inputs.Align.RIGHT).appendField("阈值像素为零"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("根据像素是否在阈值列表 thresholds 中的阈值内,将图像中的所有像素设置为黑色或白色。")}},tM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("图像边缘检测"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("kernel").setAlign(Et.inputs.Align.RIGHT).appendField("内核"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("通过过滤器内核对图像进行卷积。")}},eM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("条形码识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[barcode]"),this.setOutput(!0),this.setInputsInline(!1),this.setOutput(!0),this.setTooltip("使用条形码识别,返回image.barcode对象列表")}},iM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("二维码识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[qrcode]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用二维码识别,返回image.line对象列表")}},nM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("AprilTag识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[apriltag]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用image.TAG36H11识别,返回image.apriltag对象列表")}},sM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("二维码解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["内容","payload"],["版本","version"],["掩码","mask"],["类型","data_type"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.qrcode列表,获取二维码信息")}},oM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("条形码解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["内容","payload"],["类型","type"],["角度","rotation"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},pM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("AprilTag解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["号码","id"],["家族","family"],["弧度","rotation"],["x向距离","x_translation"],["y向距离","y_translation"],["z向距离","z_translation"],["x向弧度","x_rotation"],["y向弧度","y_rotation"],["z向弧度","z_rotation"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.apriltag列表,获取Apriltag信息")}},uM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("色块追踪"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Et.inputs.Align.RIGHT).appendField("阈值LAB"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("area").setAlign(Et.inputs.Align.RIGHT).appendField("滤掉区域").setCheck(Number),this.appendValueInput("pixel").setAlign(Et.inputs.Align.RIGHT).appendField("滤掉素数").setCheck(Number),this.appendValueInput("margin").setAlign(Et.inputs.Align.RIGHT).appendField("合并").setCheck(Number),this.appendValueInput("key").setAlign(Et.inputs.Align.RIGHT).appendField("重叠"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[blob]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用色块追踪,返回image.blob对象列表")}},aM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("颜色识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[histogram]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用直方图识别颜色,返回image.histogram对象列表")}},lM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("追踪解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["像素量","pixels"],["弧度","rotation"],["号码数","code"],["合并量","count"],["面积","area"],["密度比","density"]]),"key"),this.setOutput(!0),this.setTooltip("通过image.blob列表,获取追踪色块信息")}},_M={init:function(){this.setColour(rR),this.appendDummyInput().appendField("色阈浮点"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["灰度图浮点列表","bins"],["LAB的L浮点列表","l_bins"],["LAB的A浮点列表","a_bins"],["LAB的B浮点列表","b_bins"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},rM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("颜色解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendValueInput("percentile").appendField("CDF").setCheck(Number),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["灰度图值","value"],["LAB的L值","l_value"],["LAB的A值","a_value"],["LAB的B值","b_value"]]),"key"),this.setOutput(!0),this.setTooltip("通过histogram列表,获取识别颜色信息")}},dM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("色阈解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["灰度图值","value"],["LAB的L值","l_value"],["LAB的A值","a_value"],["LAB的B值","b_value"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},IM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("RGB888值"),this.appendValueInput("LIST").appendField("由LAB"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("LAB转RGB888")}},TM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("LAB值"),this.appendValueInput("LIST").appendField("由RGB888"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("RGB888转LAB")}},hM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("灰度值"),this.appendValueInput("LIST").appendField("由RGB888"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("RGB888转灰度图")}},mM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("RGB888"),this.appendValueInput("g_value").appendField("由灰度值").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("灰度图转RGB888")}},OM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("定向梯度图"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("size").setAlign(Et.inputs.Align.RIGHT).appendField("线长").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("用HOG(定向梯度直方图)线替换ROI中的像素,仅支持灰度图像")}},cM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("特征识别"),this.appendValueInput("VAR").setAlign(Et.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Et.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("max_keypoints").setAlign(Et.inputs.Align.RIGHT).appendField("关键点数").setCheck(Number),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("角点数").setCheck(Number),this.appendValueInput("scale_factor").setAlign(Et.inputs.Align.RIGHT).appendField("比例因子").setCheck(Number),this.appendValueInput("normalized").setAlign(Et.inputs.Align.RIGHT).appendField("多比例"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[keypoints]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用特征识别,返回image.keypoints对象列表")}},RM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("特征比较"),this.appendValueInput("VAR1").setAlign(Et.inputs.Align.RIGHT).appendField("对象1").setCheck("var"),this.appendValueInput("VAR2").setAlign(Et.inputs.Align.RIGHT).appendField("对象2").setCheck("var"),this.appendValueInput("threshold").setAlign(Et.inputs.Align.RIGHT).appendField("相似度").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("返回[kptmatch]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用特征识别,返回image.keypoints对象列表")}},MM={init:function(){this.setColour(rR),this.appendDummyInput().appendField("特征信息"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Et.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["匹配量","count"],["弧度","theta"],["匹配点-xy","match"]]),"key"),this.setOutput(!0),this.setTooltip("通过image.kptmatch列表,获取追踪特征信息")}},EM=20,CM={init:function(){this.setColour(EM),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_HIGH,"HIGH"],[Et.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},AM={init:function(){this.setColour(EM),this.appendDummyInput().appendField("初始化 "),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_Digital_PINMODEOUT,"GPIO.OUT"],[Et.Msg.MIXLY_Digital_PINMODEIN,"GPIO.IN"],[Et.Msg.MIXLY_PINMODEPULLUP,"GPIO.IN, board.GPIO.PULL_UP"],[Et.Msg.MIXLY_PINMODEPULLDOWN,"GPIO.IN, board.GPIO.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)}},gM={init:function(){this.setColour(EM),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Et.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},SM={init:function(){this.setColour(EM),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Et.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField("值"),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},DM={init:function(){this.setColour(EM),this.appendDummyInput().appendField("初始化 PWM输出"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("freq").appendField("频率").setCheck(Number),this.appendValueInput("VAR").appendField("定时器").setCheck("var"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化PWM输出设置,需要调用定时器")}},LM={init:function(){this.setColour(EM),this.appendValueInput("PIN",Number).appendField("PWM输出").setCheck(Number),this.appendValueInput("pwm").appendField("占空比").setCheck(Number),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("PWM输出,值范围为0-100%,可以为小数")}},NM={init:function(){this.setColour(EM),this.appendDummyInput().appendField("硬件中断"),this.appendValueInput("PIN",Number).appendField("管键").setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MODE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_RISING,"GPIO.IRQ_RISING"],[Et.Msg.MIXLY_FALLING,"GPIO.IRQ_FALLING"],[Et.Msg.MIXLY_CHANGE,"GPIO.IRQ_BOTH"]]),"mode"),this.appendValueInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},fM={init:function(){this.setColour(EM),this.appendDummyInput().appendField("取消中断"),this.appendValueInput("PIN",Number).appendField("管键").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("取消中断")}},FM="#637AAC",vM={init:function(){this.setColour(FM),this.appendDummyInput().appendField("OneNET 连接WiFi"),this.appendValueInput("WIFINAME").setCheck(String).appendField(Et.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Et.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},PM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"+Et.Msg.TUPLE_JOIN),this.appendValueInput("CLIENT").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_CLIENT),this.appendValueInput("SERVER").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_SERVER),this.appendValueInput("USERNAME").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_USERNAME),this.appendValueInput("PASSWORD").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_PASSWORD),this.appendValueInput("TOPIC").setAlign(Et.inputs.Align.RIGHT).setCheck(String).appendField(Et.Msg.MIXLY_ESP32_ONENET_TOPIC),this.appendValueInput("SUB").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_CONNECT_TOOLTIP)}},VM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP)}},yM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_CHECK_TOOLTIP)}},YM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendValueInput("DICT").appendField(Et.Msg.MIXLY_ESP32_PUBLISH_ONENET),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_IOT_ONENET_PRINT_DATA).appendField(new Et.FieldCheckbox("TRUE"),"is_print"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_DICT_TOOLTIP)}},bM={init:function(){this.setColour(FM),this.appendValueInput("VAR").setCheck("var").appendField("OneNET").setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField(new Et.FieldLabel(Et.Msg.MIXLY_ESP32_PUBLISH_ONENET),"TIP").setAlign(Et.inputs.Align.RIGHT),this.itemCount_=2,this.updateShape_(),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["iot_publish_item"],this)),this.setTooltip(Et.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("iot_publish_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},kM={init:function(){this.setColour(FM),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},XM={init:function(){this.setColour(FM),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},GM={init:function(){this.setColour(FM),this.appendDummyInput().appendField(Et.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},wM=vM,UM=PM,xM=VM,HM=yM,BM=bM,WM=230;Et.FieldTextInput.math_number_validator=function(t){return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null},Et.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const KM={init:function(){this.setColour(WM),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},qM={init:function(){this.setColour(WM);this.appendDummyInput("").appendField(Et.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Et.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Et.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},QM={init:function(){this.setColour(WM),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},jM={init:function(){this.setColour(WM),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Et.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:Et.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Et.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Et.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Et.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Et.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},JM={init:function(){this.setColour(WM),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Et.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},zM={init:function(){this.setColour(WM),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Et.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:Et.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Et.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Et.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Et.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Et.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Et.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Et.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},ZM={init:function(){var t=[[Et.Msg.LANG_MATH_TO_ROUND,"round"],[Et.Msg.LANG_MATH_TO_CEIL,"ceil"],[Et.Msg.LANG_MATH_TO_FLOOR,"floor"],[Et.Msg.MATH_ABS,"fabs"],[Et.Msg.MATH_SQRT,"sqrt"]];this.setColour(WM),this.appendValueInput("A").setCheck(Number).appendField(new Et.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Et.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Et.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Et.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Et.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Et.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Et.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},$M={init:function(){var t=[[Et.Msg.MIXLY_MAX,"max"],[Et.Msg.MIXLY_MIN,"min"]];this.setColour(WM),this.appendValueInput("A").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Et.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Et.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Et.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},tE={init:function(){var t=[[Et.Msg.MIXLY_MAX,"max"],[Et.Msg.MIXLY_MIN,"min"]];this.setColour(WM),this.appendValueInput("LIST").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(new Et.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Et.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Et.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},eE={init:function(){var t=[[Et.Msg.MATH_TWO,"two"],[Et.Msg.MATH_EIGHT,"eight"],[Et.Msg.MATH_TEN,"ten"],[Et.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(WM),this.appendDummyInput("").appendField(Et.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Et.FieldDropdown(t),"OP").appendField(Et.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.MATH_ZHW).appendField(new Et.FieldDropdown(t),"OP2").appendField(Et.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:Et.Msg.MATH_Before_two,eight:Et.Msg.MATH_Before_eight,ten:Et.Msg.MATH_Before_ten,sixteen:Et.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Et.Msg.MATH_Behind_two,eight:Et.Msg.MATH_Behind_eight,ten:Et.Msg.MATH_Behind_ten,sixteen:Et.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},iE={init:function(){var t=[[Et.Msg.LANG_MATH_INT,"int"],[Et.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(WM),this.setOutput(!0,Number),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Et.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Et.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Et.Msg.LANG_MATH_INT,float:Et.Msg.LANG_MATH_FLOAT_RANDOM};return Et.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},nE={init:function(){this.setColour(WM),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Et.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Et.Msg.MATH_CONSTRAIN_TOOLTIP)}},sE={init:function(){this.setColour(WM),this.appendValueInput("NUM",Number).appendField(Et.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Et.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Et.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_MAP)}},oE={init:function(){this.setColour(WM),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},pE={init:function(){this.setColour(WM),this.appendValueInput("NUM").setCheck(Number).appendField(Et.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},uE=sE,aE="#2E9883",lE={init:function(){this.setColour(aE),this.appendDummyInput().appendField("NES 初始化"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("PS2手柄"),this.appendValueInput("miso_pin",Number).setAlign(Et.inputs.Align.RIGHT).appendField("DAT#").setCheck(Number),this.appendValueInput("mosi_pin",Number).setAlign(Et.inputs.Align.RIGHT).appendField("CMD#").setCheck(Number),this.appendValueInput("cs_pin",Number).setAlign(Et.inputs.Align.RIGHT).appendField("SEL#").setCheck(Number),this.appendValueInput("clk_pin",Number).setAlign(Et.inputs.Align.RIGHT).appendField("CLK#").setCheck(Number),this.appendValueInput("vol").setAlign(Et.inputs.Align.RIGHT).appendField("音量").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化NES,使用PS2手柄控制")}},_E={init:function(){this.setColour(aE),this.appendDummyInput().appendField("NES 初始化"),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("UART键盘"),this.appendValueInput("vol").setAlign(Et.inputs.Align.RIGHT).appendField("音量").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化NES,使用串口键盘控制")}},rE={init:function(){this.setColour(aE),this.appendDummyInput().appendField("NES 运行游戏"),this.appendValueInput("path").appendField("路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("运行NES游戏ROM")}},dE="#5B6DA5",IE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("ESP-AT 初始化"),this.appendValueInput("RX",Number).appendField("RX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("使用串口连接ESP-AT设备,并初始化配置")}},TE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("WiFi扫描"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("扫描附近可用的WiFi信息-返回多信息列表")}},hE={init:function(){this.setColour(dE),this.appendDummyInput("").appendField("WiFi连接"),this.appendValueInput("account").appendField("名称").setCheck(String),this.appendValueInput("password").appendField("密码").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("配置WiFi名称及密码,连接WiFi上网")}},mE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("WiFi").appendField(new Et.FieldDropdown([["连接信息","1"],["连接状态","2"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("查看wifi连接信息或者连接状态")}},OE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("WiFi断开连接"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("断开wifi连接")}},cE={init:function(){this.setColour(dE),this.appendDummyInput("").setAlign(Et.inputs.Align.RIGHT).appendField("打开热点"),this.appendValueInput("account").setAlign(Et.inputs.Align.RIGHT).appendField("名称").setCheck(String),this.appendValueInput("password").setAlign(Et.inputs.Align.RIGHT).appendField("密码").setCheck(String),this.appendValueInput("chl").setAlign(Et.inputs.Align.RIGHT).appendField("通道").setCheck(Number),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField("加密").appendField(new Et.FieldDropdown([["WPA2_PSK","WPA2_PSK"],["OPEN","OPEN"],["WPA_PSK","WPA_PSK"],["WPA_WPA2_PSK","WPA_WPA2_PSK"]]),"mode"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("打开WiFi热点并配置")}},RE={init:function(){this.setColour(dE),this.appendDummyInput().appendField("关闭热点"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("关闭热点")}},ME={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("套接字 初始化"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("套接字初始化")}},EE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("获取地址"),this.appendValueInput("addr").setAlign(Et.inputs.Align.RIGHT).appendField("域名").setCheck(String),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("套接字根据域名解析地址IP信息")}},CE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("创建连接"),this.appendValueInput("address").appendField("地址"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("套接字创建目标IP地址连接")}},AE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("超时时间"),this.appendValueInput("time").setAlign(Et.inputs.Align.RIGHT).appendField("").setCheck(Number),this.appendDummyInput().appendField("s"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("设置阻塞套接字超时时间")}},gE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendValueInput("content").appendField("发送数据"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("套接发送数据")}},SE={init:function(){this.setColour(dE),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("接收数据"),this.appendValueInput("size").appendField("字节").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("套接接收数据,返回接收到的数据对象")}},DE={init:function(){this.setColour(dE),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},LE=230,NE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.digital),"PIN"),this.setOutput(!0)}},fE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},FE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.analog),"PIN"),this.setOutput(!0)}},vE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},PE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.dac),"PIN"),this.setOutput(!0)}},VE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},yE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},YE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.pwm),"PIN"),this.setOutput(!0)}},bE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},kE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},XE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.touch),"PIN"),this.setOutput(!0)}},GE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},wE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},UE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.imglist),"PIN"),this.setOutput(!0)}},xE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.playlist),"PIN"),this.setOutput(!0)}},HE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},BE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},WE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},KE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},qE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},QE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},jE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},JE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.one_more),"PIN"),this.setOutput(!0)}},zE={init:function(){this.setColour(LE),this.appendDummyInput("").appendField(new Et.FieldDropdown(Ct.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},ZE=40,$E={init:function(){this.setColour(ZE),this.appendDummyInput("").appendField(new Et.FieldDropdown([["A","17"],["B","16"]]),"KEY"),this.setOutput(!0),this.setTooltip()}},tC={init:function(){this.setColour(ZE),this.appendDummyInput().appendField("初始化"),this.appendValueInput("key").appendField("按键"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化按键")}},eC={init:function(){this.setColour(ZE),this.appendValueInput("key").appendField("按键"),this.appendDummyInput().appendField("被按下?"),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip("获取按键值")}},iC={init:function(){this.setColour(ZE),this.appendDummyInput().appendField("DHT11"),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField("获取").appendField(new Et.FieldDropdown([["温度-℃","0"],["湿度-%","1"],["温湿度","2"]]),"TYPE"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip("dht11,获取温湿度")}},nC={init:function(){this.setColour(ZE),this.appendDummyInput("").appendField(Et.Msg.MIXLY_CHAOSHENGBO),this.appendValueInput("PIN1",Number).appendField("Trig #").setCheck(Number),this.appendValueInput("PIN2",Number).appendField("Echo #").setCheck(Number),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO)}},sC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oC={init:function(){this.setColour(ZE),this.appendValueInput("I2CSUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Et.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("MPU9250","key");var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Et.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{MPU9250:"MPU9250",SHT20:"SHT20",BMP280:"BMP280",ADXL345:"ADXL345"}[e]}))}},pC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Et.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":Et.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Et.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},uC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Et.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Et.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},aC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_GET+Et.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},lC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},_C={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_GETTEMPERATUE)}},rC={init:function(){this.setColour(ZE),this.appendValueInput("SUB").appendField("ADXL345").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Et.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Et.Msg.MIXLY_MICROBIT_Direction,s=Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Et.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},dC=65,IC={init:function(){this.setColour(dC),this.appendValueInput("CONTENT",String).appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.TEXT_PRINT_TOOLTIP)}},TC={init:function(){this.setColour(dC),this.appendValueInput("CONTENT",String).appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.TEXT_PRINT_Huanhang_TOOLTIP+Et.Msg.TEXT_PRINT_TOOLTIP)}},hC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_PRINTLN),this.appendValueInput("CONTENT",Number).appendField(new Et.FieldDropdown([[Et.Msg.MATH_BIN,"bin"],[Et.Msg.MATH_OCT,"oct"],[Et.Msg.MATH_DEC,"int"],[Et.Msg.MATH_HEX,"hex"]]),"STAT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setFieldValue("hex","STAT"),this.setTooltip(Et.Msg.TEXT_PRINT_HEX_TOOLTIP)}},mC={init:function(){this.setColour(dC),this.appendValueInput("char_marker").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_SERIAL_WHEN_CONTAIN_DATA),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO)}},OC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_READSTR),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERIAL_READ_STR)}},cC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_SERIAL_AVAILABLE1)}},RC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial").appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Et.Msg.MIXLY_ESP32_READ_LINE),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_SERIAL_READ_LINE1)}},MC={init:function(){this.setColour(dC),this.appendDummyInput().appendField("Serial "+Et.Msg.MIXLY_SERIAL_READSTR_UNTIL).appendField(new Et.FieldDropdown([["new line","serial.delimiters(Delimiters.NewLine)"],[",","serial.delimiters(Delimiters.Comma)"],["$","serial.delimiters(Delimiters.Dollar)"],[":","serial.delimiters(Delimiters.Colon)"],[".","serial.delimiters(Delimiters.Fullstop)"],["#","serial.delimiters(Delimiters.Hash)"]]),"char_marker"),this.setInputsInline(!0),this.setOutput(!0,String)}},EC={init:function(){this.setColour(dC),this.appendValueInput("RX",Number).appendField(Et.Msg.MIXLY_SETUP).appendField(new Et.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField("RX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField(Et.Msg.MIXLY_SERIAL_BEGIN).appendField(new Et.FieldDropdown([["115200","115200"],["57600","57600"],["37400","38400"],["31250","31250"],["28800","28800"],["19200","19200"],["14400","14400"],["9600","9600"],["4800","4800"],["2400","2400"],["1200","1200"],["300","300"]]),"baudrate"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_SERIAL_softserial)}},CC={init:function(){this.setColour(dC),this.appendValueInput("VAR").appendField(Et.Msg.blockpy_inout_raw_input).setCheck(String),this.setOutput(!0),this.setTooltip(Et.Msg.INOUT_input_TOOLTIP)}},AC={init:function(){this.setColour(dC),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.BLOCKPY_PRINT_TOOLTIP)}},gC={init:function(){this.setColour(dC),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.TEXT_PRINT_TOOLTIP)}},SC={init:function(){this.setColour(dC),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SERIAL_PRINT),this.appendValueInput("END").appendField(Et.Msg.MIXLY_ENDSWITH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_INOUT_PRINT_END_TOOLTIP)}},DC={init:function(){this.setColour(dC),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Et.icons.MutatorIcon(["system_print_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("system_print_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n {\n"+e.statementToCode(this,"do")+"})\n"},lN=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},_N=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+")\n"},rN=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||Ct.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},dN=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},IN=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},TN=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},hN=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},mN=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},ON=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},cN=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},RN=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},MN=function(){return"while True:\n pass\n"},EN=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},CN=function(t,e){e.definitions_["import machine"]="import machine";return"machine.reset()\n"},AN=function(t,e){return e.definitions_["import gc"]="import gc",this.getFieldValue("gc")+"\n"},gN=function(t,e){return e.definitions_.import_os="import os","os.uname()"},SN=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},DN=function(t,e){e.definitions_["from machine import Timer"]="from machine import Timer";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=i%3,s=parseInt(i/3),o=e.valueToCode(this,"period",e.ORDER_NONE);return"tim"+i+" =Timer(Timer.TIMER"+n+",Timer.CHANNEL"+s+",mode=Timer.MODE_"+this.getFieldValue("mode")+",period = "+o+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},LN=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},NN=function(t,e){e.definitions_["from machine import Timer"]="from machine import Timer";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"tim"+i+" = Timer(Timer.TIMER"+i%3+",Timer.CHANNEL"+parseInt(i/3)+", mode=Timer.MODE_PWM)\n"},fN=NN,FN=DN,vN=LN,PN=SN;const VN=function(t,e){return["["+this.getFieldValue("TEXT")+"]",e.ORDER_ATOMIC]},yN=function(t,e){return["("+this.getFieldValue("TEXT")+")",e.ORDER_ATOMIC]},YN=function(t,e){var i=this.getFieldValue("COLOR");return["("+("0x"+(i=i.substr(1)).substr(0,2))+","+("0x"+i.substr(2,2))+","+("0x"+i.substr(4,2))+")",e.ORDER_ATOMIC]},bN=function(t,e){var i=this.getFieldValue("COLOR");return[i=function(t){var e,i,n;e=(t=t.substr(1)).substr(0,2),i=t.substr(2,2),n=t.substr(4,2);var s=(64512&(t="0x"+(t=e+i+n)))>>10;return((248&t)>>3<<8)+((7&s)<<13)+((16252928&t)>>19<<3)+((56&s)>>3)}(i),e.ORDER_ATOMIC]};Object.assign(Et.Variables,gt),Object.assign(Et.Procedures,wl),Et.Python=Ul,Et.generator=Ul,Ct.Profile.default={},Object.assign(Ct.Profile,Um),Object.assign(Ct.Profile.default,Um.k210),Object.assign(Et.Blocks,e,i,n,s,o,p,u,a,l,_,r,d,I,F,f,N,L,v,k,X,G,w,U,x,H,B,W,K,q,Q,j,J,z,Z,$,tt,et),Object.assign(Et.Python.forBlock,T,h,m,O,c,R,M,E,C,A,g,S,D,Y,y,V,P,b,it,nt,st,ot,pt,ut,at,lt,_t,rt,dt,It,Tt,ht,mt,Ot,ct,Rt,Mt)})(); \ No newline at end of file diff --git a/boards/default/micropython_nrf51822_microbit/index.xml b/boards/default/micropython_nrf51822_microbit/index.xml index 799eb4b4..9a6f8801 100644 --- a/boards/default/micropython_nrf51822_microbit/index.xml +++ b/boards/default/micropython_nrf51822_microbit/index.xml @@ -1 +1 @@ -0210000,1,2,3051i23390x151100a10.998124.82110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyprompt1011580020001110000039501000010011*255500mylist4120MixlyMixly 0.999 is great!64721281281621112040000MixlyMixly1201201>0x2711clear()oledExample1Example2Example3Example4filename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0192010000000000323760x756269740Mixlyresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponse \ No newline at end of file +0210000,1,2,3051i23390x151100a10.998124.82110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyprompt1011580020001110000039501000010011*255500mylist4120MixlyMixly 0.999 is great!64721281281621112040000MixlyMixly1201201>0x2711clear()oledExample1Example2Example3Example4filename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0192010000000000323760x756269740Mixlyresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponse \ No newline at end of file diff --git a/boards/default/micropython_nrf51822_microbit/main.bundle.5ef1fc10.js b/boards/default/micropython_nrf51822_microbit/main.bundle.f0608bef.js similarity index 57% rename from boards/default/micropython_nrf51822_microbit/main.bundle.5ef1fc10.js rename to boards/default/micropython_nrf51822_microbit/main.bundle.f0608bef.js index 048298ad..3e658e2b 100644 --- a/boards/default/micropython_nrf51822_microbit/main.bundle.5ef1fc10.js +++ b/boards/default/micropython_nrf51822_microbit/main.bundle.f0608bef.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class ${constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(j.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(j.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(j.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(j.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Ot={init:function(){this.setColour(It),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.PYTHON_RANGE).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ct={init:function(){this.setColour(It),this.appendValueInput("LIST").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(j.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Et={init:function(){this.setColour(It),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(j.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new j.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(j.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Rt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},gt={init:function(){this.setColour(It);var t=new j.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Ct={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new j.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return j.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},At={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new j.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return j.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Et.OPERATORS=[[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],gt.OPERATORS=[[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Lt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(j.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},St={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},ft={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(j.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Dt={init:function(){this.setColour(It),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Nt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Pt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Ft={init:function(){this.jsonInit({message0:j.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:It,tooltip:j.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:j.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},vt={init:function(){this.setColour(It),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_STAT),this.setOutput(!0)}},Yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},bt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},Xt={init:function(){this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT+j.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(j.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new j.FieldDropdown([[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(It),this.setTooltip("do-while loop"),this.setHelpUrl("")}},yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Bt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Gt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_GET_UNIQUE_IDEN)}},Ut={init:function(){this.setColour(It),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(j.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},wt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},kt=230;j.FieldTextInput.math_number_validator=function(t){return String(t)},j.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const xt={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new j.FieldTextInput("0",j.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(j.Msg.MATH_NUMBER_TOOLTIP)}},Ht={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(j.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new j.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Wt={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(j.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new j.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Kt={init:function(){this.setColour(kt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:j.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:j.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:j.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:j.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:j.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Jt={init:function(){this.setColour(kt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:j.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:j.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:j.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:j.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:j.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Qt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new j.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},jt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new j.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:j.Msg.MATH_TRIG_TOOLTIP_SIN,COS:j.Msg.MATH_TRIG_TOOLTIP_COS,TAN:j.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:j.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:j.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:j.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:j.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},qt={init:function(){var t=[[j.Msg.MATH_BIN,"bin"],[j.Msg.MATH_OCT,"oct"],[j.Msg.MATH_HEX,"hex"]];this.setColour(kt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new j.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:j.Msg.MATH_DEC_TOOLTIP_BIN,oct:j.Msg.MATH_DEC_TOOLTIP_OCT,hex:j.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},zt={init:function(){var t=[[j.Msg.LANG_MATH_TO_ROUND,"round"],[j.Msg.LANG_MATH_TO_CEIL,"ceil"],[j.Msg.LANG_MATH_TO_FLOOR,"floor"],[j.Msg.MATH_ABS,"fabs"],[j.Msg.MATH_SQRT,"sqrt"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).appendField(new j.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:j.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:j.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:j.Msg.MATH_SINGLE_TOOLTIP_SQ,round:j.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:j.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:j.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Zt={init:function(){var t=[[j.Msg.MIXLY_MAX,"max"],[j.Msg.MIXLY_MIN,"min"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(new j.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:j.Msg.MIXLY_TOOLTIP_MATH_MAX,min:j.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},$t={init:function(){var t=[[j.Msg.MATH_TWO,"two"],[j.Msg.MATH_EIGHT,"eight"],[j.Msg.MATH_TEN,"ten"],[j.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(kt),this.appendDummyInput("").appendField(j.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new j.FieldDropdown(t),"OP").appendField(j.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.MATH_ZHW).appendField(new j.FieldDropdown(t),"OP2").appendField(j.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:j.Msg.MATH_Before_two,eight:j.Msg.MATH_Before_eight,ten:j.Msg.MATH_Before_ten,sixteen:j.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:j.Msg.MATH_Behind_two,eight:j.Msg.MATH_Behind_eight,ten:j.Msg.MATH_Behind_ten,sixteen:j.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},te={init:function(){var t=[[j.Msg.LANG_MATH_INT,"int"],[j.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(kt),this.setOutput(!0,Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_RANDOM).appendField(new j.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:j.Msg.LANG_MATH_INT,float:j.Msg.LANG_MATH_FLOAT_RANDOM};return j.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},ee={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(j.Msg.MATH_CONSTRAIN_TOOLTIP)}},ie={init:function(){this.setColour(kt),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(j.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(j.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ne={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new j.FieldTextInput("0",j.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(j.Msg.MATH_NUMBER_TOOLTIP)}},se={init:function(){this.setColour(kt),this.appendValueInput("NUM").setCheck(Number).appendField(j.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},oe={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MATH_ROUND).appendField(j.Msg.TEXT_KEEP),this.appendDummyInput().appendField(j.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(j.Msg.MATH_ROUND_NEW_TOOLTIP)}},_e={init:function(){var t=[[j.Msg.MIXLY_TO_INT,"int"],[j.Msg.MIXLY_TO_FLOAT,"float"],[j.Msg.MIXLY_TO_BITES,"b"],[j.Msg.LANG_MATH_BYTE+j.Msg.MIXLY_TO_INT,"bti"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:j.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:j.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:j.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ue={init:function(){var t=[[j.Msg.MIXLY_TO_INT,"int"],[j.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:j.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:j.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},re=ie,pe={init:function(){this.setColour(kt),this.appendValueInput("VAR").appendField(j.Msg.LANG_MATH_BYTE+j.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},ae={init:function(){this.setColour(kt),this.itemCount_=1,this.setMutator(new j.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(j.Msg.MIXLY_PRODUCT+j.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(j.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(j.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const me={init:function(){this.setColour(de),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new j.FieldTextInput("",j.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(j.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new j.FieldImage(e,7,12,'"')}},Oe={init:function(){this.setColour(de),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(j.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ce={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ee={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Re={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ge={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ce={init:function(){this.WHERE_OPTIONS=[[j.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[j.Msg.TEXT_GET_INDEX_RANDOM+1+j.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(j.Msg.LISTS_GET_INDEX_GET,"MODE"),j.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(j.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+j.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",j.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:j.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:j.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:j.Msg.TEXT_GET_INDEX_RANDOM};return j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+j.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==j.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),j.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(j.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new j.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),j.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ae={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(j.Msg.LISTS_GET_INDEX_GET+" "+j.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(j.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.LISTS_GET_INDEX_FROM_START+"n"+j.Msg.TEXT_CHARAT2)}},Le={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(j.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(j.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Se={init:function(){this.WHERE_OPTIONS_1=[[j.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[j.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[j.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[j.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(j.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==j.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==j.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),j.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(j.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new j.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},fe={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(j.Msg.LISTS_GET_INDEX_GET+" "+j.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(j.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(j.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(j.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},De={init:function(){var t=[[j.Msg.MIXLY_EQUALS,"==="],[j.Msg.MIXLY_STARTSWITH,"startswith"],[j.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(de),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new j.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ne={init:function(){this.setColour(de),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(j.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_COMPARETO_HELP)}},Pe={init:function(){var t=[[j.Msg.TEXT_UPPER,"upper"],[j.Msg.TEXT_TITLE,"title"],[j.Msg.TEXT_CAPITALIZE,"capitalize"],[j.Msg.TEXT_SWAPCASE,"swapcase"],[j.Msg.TEXT_LOWER,"lower"]];this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:j.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:j.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:j.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:j.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:j.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Fe={init:function(){var t=[[j.Msg.TEXT_LJUST,"ljust"],[j.Msg.TEXT_CENTER,"center"],[j.Msg.TEXT_RJUST,"rjust"]];this.setColour(de),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(j.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(j.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ve={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(j.Msg.MIXLY_MID+j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(j.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Ye={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},be={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(j.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(j.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Xe={init:function(){this.setColour(de),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(j.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(j.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ye={init:function(){var t=[[j.Msg.TEXT_TRIM_BOTH,"strip"],[j.Msg.TEXT_TRIM_LEFT,"lstrip"],[j.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(de),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(j.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new j.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(j.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:j.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:j.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:j.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Ve={init:function(){this.setColour(de),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new j.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new j.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Yi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(j.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},bi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(j.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_KEYS),this.setTooltip(j.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},yi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(j.Msg.DICTS_GET_TOOLTIP)}},Vi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(j.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(j.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Bi={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(j.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Gi={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_DELETE_TOOLTIP)}},Ui={init:function(){this.setColour(Fi),this.appendValueInput("DICT2").setCheck("Dict").appendField(j.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(j.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(j.Msg.MIXLY_MID),this.setTooltip(j.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_CLEAR),this.setTooltip(j.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ki={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_ITEMS),this.setTooltip(j.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_VALUES),this.setTooltip(j.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Hi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.MIXLY_LENGTH),this.setTooltip(j.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_DELDICT),this.setTooltip(j.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ki={init:function(){this.MODE=[[j.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[j.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(j.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=j.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=j.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==j.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new j.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},Ji={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.setTooltip(j.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Qi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(j.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_SETDEFAULT_TOOLTIP)}},ji={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(new j.FieldLabel(j.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new j.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(j.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},qi={init:function(){this.setColour(Fi),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},zi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.MIXLY_TO_JSON),this.setTooltip(j.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Zi={init:function(){this.setColour(Fi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(j.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(j.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},$i={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},tn={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(j.Msg.MIXLY_TO_JSON),this.setTooltip(j.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},en=210,nn={init:function(){var t=j.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:j.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:j.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:j.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:j.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:j.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:j.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},sn={init:function(){var t=j.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=j.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new j.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},on={init:function(){var t=[[j.Msg.LOGIC_OPERATION_AND,"AND"],[j.Msg.LOGIC_OPERATION_OR,"OR"],[j.Msg.LOGIC_OPERATION_NOR,"NOR"],[j.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:j.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:j.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:j.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:j.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},_n={init:function(){this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(j.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(j.Msg.LOGIC_NEGATE_TOOLTIP)}},un={init:function(){var t=[[j.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[j.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new j.FieldDropdown(t),"BOOL"),this.setTooltip(j.Msg.LOGIC_BOOLEAN_TOOLTIP)}},rn={init:function(){this.setColour(en),this.setOutput(!0),this.appendDummyInput().appendField(j.Msg.LOGIC_NULL),this.setTooltip(j.Msg.LOGIC_NULL_TOOLTIP)}},pn={init:function(){this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(j.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(j.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},an={init:function(){var t=[[j.Msg.TEXT_APPEND_TO,"in"],[j.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new j.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(j.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.IN)}},ln={init:function(){var t=[[j.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[j.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},In={init:function(){this.setColour(en),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},dn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(j.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Tn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[j.Msg.MIXLY_ADD,"a"],[j.Msg.MATH_BIN+j.Msg.MIXLY_ADD,"ab"],[j.Msg.MIXLY_R_W,"r+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_R_W,"rb+"],[j.Msg.MIXLY_W_R,"w+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_W_R,"wb+"],[j.Msg.MIXLY_A_R,"a+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG,_=j.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Mn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(j.Msg.MIXPY_TEXT_ENCODE).appendField(new j.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG,_=j.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},mn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},On={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},cn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:j.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},En={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(j.Msg.MICROBIT_PYTHON_TYPE)}},Rn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.HTML_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},An={init:function(){this.setColour(0),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const Ln={init:function(){this.setColour(0),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+j.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+j.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Nn={init:function(){this.setColour(0),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Pn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+j.Msg.MIXLY_ESP32_SET+{mkdir:j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(j.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.HTML_FILE,"isfile"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},bn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(j.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_SETUP+j.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(j.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Xn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(j.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},yn={init:function(){var t=j.Procedures.findLegalName("",this),e=new j.FieldTextInput(t,j.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new j.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&j.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(j.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(j.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(j.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(j.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=j.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),j.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{j.Events.enable()}},mutationToDom:function(t){var e=j.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(j.Msg.MIXLY_AIP_ATTR).setAlign(j.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},vs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_FORM_CONTENT).appendField(new j.FieldDropdown([[j.Msg.HTML_TEXT,"text"],[j.Msg.HTML_EMAIL,"email"],[j.Msg.HTML_NUMBER,"number"],[j.Msg.HTML_PASSWORD,"password"],[j.Msg.HTML_CHECKBOX,"checkbox"],[j.Msg.HTML_RADIOBUTTON,"radiobutton"],[j.Msg.HTML_BUTTON,"button"],[j.Msg.HTML_COLOUR,"colour"],[j.Msg.HTML_DATE,"date"],[j.Msg.HTML_LOCALTIME,"local time"],[j.Msg.HTML_FILE,"file"],[j.Msg.HTML_HIDDEN,"hidden"],[j.Msg.HTML_IMAGE,"image"],[j.Msg.HTML_MONTH,"month"],[j.Msg.HTML_RANGE,"range"],[j.Msg.HTML_RESET,"reset"],[j.Msg.HTML_SEARCH,"search"],[j.Msg.HTML_SUBMIT,"submit"],[j.Msg.HTML_TELEPHONENUMBER,"telephone number"],[j.Msg.HTML_TIME,"time"],[j.Msg.HTML_URL,"url"],[j.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(j.Msg.HTML_NAME).appendField(new j.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(j.Msg.HTML_VALUE).appendField(new j.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(j.Msg.MIXLY_AIP_ATTR).setAlign(j.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ys={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new j.FieldTextInput("property"),"KEY").appendField(":").appendField(new j.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new j.FieldTextInput("property"),"KEY").appendField(":").appendField(new j.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_TEXT).appendField(new j.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ys=160,Vs={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new j.FieldTable(""),"TEXT")}},Bs={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new j.FieldMultilineInput(""),"TEXT")}},Gs={init:function(){this.setColour(ys),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new j.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Us={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},ws={init:function(){this.setColour(ys),this.appendDummyInput().appendTitle("Comment:").appendTitle(new j.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ks={init:function(){this.setColour(ys),this.appendValueInput("VALUE").appendField(j.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},xs={init:function(){this.setColour(ys),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(j.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=j.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+r()+"("+t+", "+e+", "+i+") or "+p()+"("+t+", "+e+", "+i+")"},j.isNumber(n)&&j.isNumber(s)&&j.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const Gu=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},Uu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},wu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},ku=function(t,e){return["None",e.ORDER_ATOMIC]},xu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Hu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Wu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ku=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ju=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Qu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ju=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},qu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},zu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Zu=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},$u=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},tr=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},er=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ir=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},nr=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},sr=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},or=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},_r=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ur=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},rr=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},pr=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ar=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},lr=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ir=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},dr=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Tr=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},hr=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Mr=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),j.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Zr=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},$r=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},tp=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},ep=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},ip=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},np=function(t,e){return'"},sp=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},op=function(){return this.getFieldValue("TEXT")+"\n"},_p=function(t){return t.getFieldValue("TEXT")+"\n"},up=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},rp=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},pp=function(){return""},ap=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},lp=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+r.join("")+p.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+p.join("\n")},hp.scrubNakedValue=function(t){return t+"\n"},hp.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},hp.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},hp.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=j.utils.string.wrap(o,hp.COMMENT_WRAP-3),n+=hp.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const Mp=120,mp={init:function(){this.setColour(Mp),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(j.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new j.FieldDropdown(mp.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))},OPERATORS:[[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]]},Op={init:function(){this.setColour(Mp);var t=new j.FieldDropdown(Op.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}},OPERATORS:[[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]]},cp="5BA5A5",Ep={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cp),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Ep.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Rp={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Rp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"add"],[j.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gp={init:function(){this.setColour(cp),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(gp.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]]},Cp={init:function(){this.setColour(cp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_RECT).appendField(new j.FieldDropdown(Cp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_OLED_RECT)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Ap={init:function(){this.setColour(cp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new j.FieldDropdown(Ap.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Lp={init:function(){this.setColour(cp),this.appendValueInput("SUB").setCheck("var").appendField(j.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Lp.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Sp="#569A98",fp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(fp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(32).fill(0)))},Dp={init:function(){this.setColour(Sp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Dp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"add"],[j.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Np={init:function(){this.setColour(Sp),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Np.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);q.Boards.getSelectedBoardKey();"Python ESP32-S3"===q.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(j.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:j.Msg.MIXLY_UP,shift_down:j.Msg.MIXLY_DOWN,shift_left:j.Msg.MIXLY_LEFT,shift_right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Pp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(Pp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Fp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(Fp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},vp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(vp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Yp={init:function(){this.setColour(Sp),this.appendDummyInput().appendField(j.Msg.OLED_SET_FONT).appendField(new j.FieldDropdown(Yp.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+j.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+j.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+j.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},bp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(bp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Xp={init:function(){this.setColour(Sp),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new j.FieldDropdown(Xp.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[j.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[j.Msg.CLOCKWISE+"90"+j.Msg.blockpy_setheading_degree,"1"],[j.Msg.CLOCKWISE+"180"+j.Msg.blockpy_setheading_degree,"2"],[j.Msg.CLOCKWISE+"270"+j.Msg.blockpy_setheading_degree,"3"]]},yp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(yp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Vp=180,Bp={init:function(){this.setColour(Vp),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(j.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Bp.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"]]},Gp={init:function(){this.setColour(Vp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Gp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"+"],[j.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},Up={init:function(){this.setColour(Vp),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(Up.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]]},wp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_RECT).appendField(new j.FieldDropdown(wp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_OLED_RECT)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},kp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new j.FieldDropdown(kp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_DISPLAY_DRAW+j.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new j.FieldDropdown(xp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_DISPLAY_DRAW+j.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Hp=225,Wp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(j.Msg.MIXLY_NETWORK_MODE).appendField(new j.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Kp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[j.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=j.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:j.Msg.MIXLY_NETWORK_WIFI_OPEN,False:j.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},Jp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},Qp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:j.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},jp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(j.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(j.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},qp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_CONNECT+j.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},zp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[j.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[j.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:j.Msg.MIXLY_ESP32_NETWORK_IP,1:j.Msg.MIXLY_ESP32_NETWORK_MASK,2:j.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},Zp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},$p={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[j.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},ta={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.LISTS_SET_INDEX_SET+j.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(j.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(j.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(j.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},ea={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},ia={init:function(){this.setColour(Hp),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new j.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return j.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},na={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},sa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},oa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},_a={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},ua={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},ra={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},pa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},aa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},la={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Ia={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},da={init:function(){this.setColour(Hp),this.appendValueInput("DOMAIN").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_REQUESTS_GET).appendField(new j.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ta={init:function(){this.appendValueInput("VAL"),this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown(Ta.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:j.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:j.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:j.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[j.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[j.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[j.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[j.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},ha={init:function(){this.appendValueInput("VAR").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown(ha.METHOD),"DIR"),this.appendDummyInput("").appendField(j.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:j.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:j.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},Ma={init:function(){this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(j.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},ma={init:function(){this.setColour(Hp),this.appendDummyInput("").appendField(new j.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},Oa="#3288dd",ca={init:function(){this.setColour(Oa),this.appendValueInput("URL").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(j.Msg.blockpy_REQUESTS).appendField(j.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ea={init:function(){this.setColour(Oa),this.appendValueInput("URL").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(j.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(j.Msg.blockpy_REQUESTS+j.Msg.OLED_STRING),this.appendDummyInput("").appendField(j.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ra={init:function(){this.appendValueInput("VAL"),this.setColour(Oa),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown(Ra.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[j.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[j.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[j.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[j.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[j.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},ga={init:function(){this.setColour(Oa),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(j.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(j.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(j.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(j.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Ca={init:function(){this.setColour(Oa),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(j.Msg.MIXLY_EMQX_SERVER).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(j.Msg.MIXLY_EMQX_PORT).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(j.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(j.Msg.MIXLY_WIFI_USERNAME).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(j.Msg.MIXLY_IOT_PASSWORD).setAlign(j.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Aa={init:function(){this.setColour(Oa),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_SUBSCRIBE+j.Msg.MIXLY_MICROBIT_MSG).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(j.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},La={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_SUBSCRIBE+j.Msg.MIXLY_MICROBIT_MSG).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(j.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Sa={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(j.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fa={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"+j.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Da="#A58C5B",Na={init:function(){this.setColour(Da),this.appendValueInput("PIN",Number).appendField(new j.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new j.FieldDropdown(Na.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Pa={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Fa={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},va=(j.Msg.PS2_TRIANGLE,j.Msg.PS2_CIRCLE,j.Msg.PS2_CROSS,j.Msg.PS2_SQUARE,j.Msg.PS2_L1,j.Msg.PS2_L2,j.Msg.PS2_R1,j.Msg.PS2_R2,j.Msg.PS2_UP,j.Msg.PS2_RIGHT,j.Msg.PS2_DOWN,j.Msg.PS2_LEFT,j.Msg.PS2_SELECT,j.Msg.PS2_START,{init:function(){this.setColour(Da),this.appendDummyInput("").appendField(j.Msg.PS2_stick).appendField(new j.FieldDropdown(va.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[j.Msg.PS2_RX,"0"],[j.Msg.PS2_RY,"1"],[j.Msg.PS2_LX,"2"],[j.Msg.PS2_LY,"3"]]}),Ya={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField(j.Msg.PS2),this.appendDummyInput("").appendField(j.Msg.MIXLY_JOYSTICK).appendField(new j.FieldDropdown(Ya.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[j.Msg.PS2_RX,"RX"],[j.Msg.PS2_RY,"RY"],[j.Msg.PS2_LX,"LX"],[j.Msg.PS2_LY,"LY"]]},ba="#947C54",Xa={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_IS_PRESSED)}},ya={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},Va={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_BUTTON+j.Msg.MIXLY_GET_PRESSES)}},Ba={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_ESP32_INTERRUPT).appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.MIXLY_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[j.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[j.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},Ga={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_IS_PRESSED)}},Ua={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},wa={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_BUTTON+j.Msg.MIXLY_GET_PRESSES)}},ka={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_INTERRUPT).appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput("").appendField(j.Msg.MIXLY_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[j.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[j.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},xa={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Ha={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Wa={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Ka={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_TOUCH_SLIDE),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOUCH_SLIDE_TOOLTIP)}},Ja={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_CHAOSHENGBO),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_CHAOSHENGBO)}},Qa={init:function(){this.setColour(ba),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCSETTIME).appendField("myRTC"),this.appendValueInput("hour").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_MINUTE),this.appendValueInput("second").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!1),this.setTooltip(j.Msg.MIXLY_RTCSETTIME+j.Msg.MIXLY_MIX2)}},ja={init:function(){this.setColour(ba),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCSETDATE).appendField("myRTC"),this.appendValueInput("year").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_YEAR),this.appendValueInput("month").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_MONTH),this.appendValueInput("day").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_DAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_RTCSETDATE+j.Msg.MIXLY_MIX1)}},qa={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_CHAOSHENGBO),this.appendValueInput("PIN1",Number).appendField("Trig #").setCheck(Number),this.appendValueInput("PIN2",Number).appendField("Echo #").setCheck(Number),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO)}},za={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Za={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["1","touch1"],["2","touch2"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},$a={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},tl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_UP,"12"],[j.Msg.MIXLY_DOWN,"14"],[j.Msg.MIXLY_LEFT,"13"],[j.Msg.MIXLY_RIGHT,"15"],["A","32"],["B","33"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},el={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},il={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},nl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["3","3"],["4","4"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},sl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},ol={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_NEAR),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR)}},_l={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"left"],[j.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{left:j.Msg.TEXT_TRIM_LEFT,right:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},ul={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0)}},rl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"l"],[j.Msg.TEXT_TRIM_RIGHT,"r"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{l:j.Msg.TEXT_TRIM_LEFT,r:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},pl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"l"],[j.Msg.TEXT_TRIM_RIGHT,"r"]]),"direction").appendField(j.Msg.MIXLY_ESP32_EXTERN_LIGHT+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_EXTERN_LIGHT;return i+{l:j.Msg.TEXT_TRIM_LEFT,r:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},al={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_EXTERN_LIGHT+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},ll={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_COLOR_SENSOR+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},Il={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendDummyInput().setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCGETTIME),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIME_TOOLTIP+" (year, month, mday, hour, minute, second, weekday, yearday)")}},dl={init:function(){this.setColour(ba),this.appendValueInput("LIST").appendField(j.Msg.MIXLY_RTCGETTIMESTAMP),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIMESTAMP_TOOLTIP)}},Tl={init:function(){this.setColour(ba),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(j.Msg.LISTS_TO_TUPLE),this.setInputsInline(!0),this.setOutput(!0,Number)}},hl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_USE_STRING_TUPLE),this.appendDummyInput().appendField(j.Msg.MIXLY_RTCSETTIME),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ml={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendValueInput("year").setCheck(Number).appendField(" "+j.Msg.MIXLY_YEAR),this.appendValueInput("month").setCheck(Number).appendField(" "+j.Msg.MIXLY_MONTH),this.appendValueInput("day").setCheck(Number).appendField(" "+j.Msg.MIXLY_DAY),this.appendValueInput("hour").setCheck(Number).appendField(" "+j.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).appendField(" "+j.Msg.MIXLY_MINUTE),this.appendValueInput("second").setCheck(Number).appendField(" "+j.Msg.MIXLY_SECOND),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_SET_DATATIME_TOOLTIP)}},ml={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("RTC"),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_SETUP).setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_ESP32_SENSOR_RTC_INT_TOOLTIP)}},Ol={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_RTC_GET_TIME_STR),this.setOutput(!0,String),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIME_TOOLTIP)}},cl={init:function(){this.setColour(ba),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_GPS_TIME+j.Msg.MIXLY_MICROBIT_TYPE_TUPLE).setCheck(),this.appendDummyInput().appendField(j.Msg.A_TO_B+j.Msg.MIXLY_GPS_TIME+j.Msg.LANG_MATH_STRING),this.setOutput(!0,String),this.setInputsInline(!0)}},El={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Rl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_SOUND),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},gl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_TEM_HUM+" "),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:j.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:j.Msg.MIXLY_ESP32C3_SENSOR_AHT_HUM_TOOLTIP}[e]}))}},Cl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Al={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_Altitude+j.Msg.MSG.catSensor+" "),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_GETPRESSURE,"pressure()"],[j.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[j.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RFID"+j.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(j.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RFID"+j.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},fl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Dl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(j.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Nl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("RFID").appendField(new j.FieldDropdown([[j.Msg.MIXLY_RFID_SCAN_OK,"True"],[j.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[j.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""],[j.Msg.MIXLY_STRENGTH,"strength"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Fl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET_GESTURE_ALL).appendField(new j.FieldDropdown([[j.Msg.ME_GO_PITCH,"[0]"],[j.Msg.ME_GO_ROLL,"[1]"],[j.Msg.ME_GO_PITCH+", "+j.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},vl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_shake,"shake"],[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"],[j.Msg.MIXLY_MICROBIT_face_up,"face up"],[j.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=j.Msg.MIXLY_MICROBIT_JS_CURRENT,n=j.Msg.MSG.catSensor,s=j.Msg.MIXLY_MICROBIT_JS_STATE,o=j.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:j.Msg.MIXLY_MICROBIT_shake,up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT,"face up":j.Msg.MIXLY_MICROBIT_face_up,"face down":j.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},Yl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},bl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Xl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},yl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Vl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Bl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Gl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Ul={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""],[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH_ALL,"all"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},wl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},kl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},xl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GETTEMPERATUE),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GETTEMPERATUE),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Kl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Jl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"1"],[j.Msg.TEXT_TRIM_RIGHT,"2"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{left:j.Msg.TEXT_TRIM_LEFT,right:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},Ql={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0),this.setInputsInline(!0)}},jl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("acc"+j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown([[j.Msg.MIXLY_ADXL345_XA,"[0]"],[j.Msg.MIXLY_ADXL345_YA,"[1]"],[j.Msg.MIXLY_ACC_SHAKE,"[2]"],[j.Msg.MIXLY_ADXL345_XA+","+j.Msg.MIXLY_ADXL345_YA+","+j.Msg.MIXLY_ACC_SHAKE,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION)}},ql={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"[0]"],[j.Msg.MIXGO_LEFT_MID,"[1]"],[j.Msg.MIXGO_RIGHT_MID,"[2]"],[j.Msg.TEXT_TRIM_RIGHT,"[3]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},zl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.MIXGO_LEFT_FRONT,"[0]"],[j.Msg.MIXGO_RIGHT_FRONT,"[1]"],[j.Msg.MIXGO_LEFT_BACK,"[3]"],[j.Msg.MIXGO_RIGHT_BACK,"[2]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},Zl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[j.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[j.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},$l={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0),this.setInputsInline(!0)}},tI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXGO_LINE_SENSOR).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_WHITE,"WHITE"],[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_BLACK,"BLACK"],[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_RESET,"RESET_TO_FAB"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.MIXGO_LEFT_FRONT,"[0]"],[j.Msg.MIXGO_RIGHT_FRONT,"[1]"],[j.Msg.MIXGO_LEFT_BACK,"[3]"],[j.Msg.MIXGO_RIGHT_BACK,"[2]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},iI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_Board_temperature),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},nI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},sI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.ANALOG+j.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("mode").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_LIGHT_INTENSITY+"(%)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown(q.Profile.default.als_num),"PIN"),this.setOutput(!0,Number)}},_I=Xa,uI=ya,rI=Va,pI=xa,aI=ul,lI=za,II=Na,dI=Fa,TI=Pa,hI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_EXTERN_SOUND),this.setInputsInline(!0),this.setOutput(!0)}},MI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.blockpy_set_of+j.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},mI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_LIGHT_SENSOR),this.setInputsInline(!0),this.setOutput(!0)}},OI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GYROSCOPE_SENSOR),this.setInputsInline(!0),this.setOutput(!0)}},cI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_Horizontal_inclination,"X"],["y","[1]"],["z","[2]"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},EI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_BE_SHAKED),this.setInputsInline(!0),this.setOutput(!0)}},RI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_BUTTON).appendField(new j.FieldDropdown([["a","a"],["b","b"],["c","c"]]),"btn"),this.setOutput(!0),this.setInputsInline(!0)}},gI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},CI={init:function(){this.setColour(ba),this.appendValueInput("PIN").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_INITIAL),this.setOutput(!0),this.setInputsInline(!0)}},AI={init:function(){this.setColour(ba),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_READ),this.setOutput(!0),this.setInputsInline(!0)}},LI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_READ+j.Msg.MIXLY_COMMUNICATION_DATA_FROM),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET).appendField(new j.FieldDropdown([[j.Msg.MIXLY_SERIAL_NUMBER,"serial_number"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},SI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.MIXLY_THE_COPROCESSOR_VERSION),this.setOutput(!0),this.setInputsInline(!0)}},fI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.ANALOG+j.Msg.MIXLY_LIGHT_SENSOR2).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"0"],[j.Msg.TEXT_TRIM_RIGHT,"1"]]),"key"),this.appendDummyInput().appendField(j.Msg.blockpy_set_of+j.Msg.MIXLY_MICROBIT_JS_SYSTEM_RAISE_VALUE),this.setOutput(!0),this.setInputsInline(!0)}},DI=40,NI={init:function(){this.setColour(DI),this.appendValueInput("PIN",Number).appendField(new j.FieldDropdown([["DHT11","dht11"],["DHT22","dht22"]]),"TYPE").appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new j.FieldDropdown(NI.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"relative_humidity"],[j.Msg.MIXLY_DHT11_T_H,"tempandhum"]]};const PI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = network.WLAN(network."+this.getFieldValue("mode")+"_IF);\n"},FI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect("+e.valueToCode(this,"id",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"password",e.ORDER_ATOMIC)+")\n"},vI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".isconnected()",e.ORDER_ATOMIC]},YI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".ifconfig()["+this.getFieldValue("mode")+"]",e.ORDER_ATOMIC]},bI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".disconnect()\n"},XI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active("+this.getFieldValue("op")+")\n"},yI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active()",e.ORDER_ATOMIC]},VI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".config('"+this.getFieldValue("op")+"')",e.ORDER_ATOMIC]},BI=function(t,e){e.definitions_.import_network="import network";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"essid",e.ORDER_ATOMIC),s=e.valueToCode(this,"password",e.ORDER_ATOMIC);return i+".config(essid = "+n+", channel="+e.valueToCode(this,"channel",e.ORDER_ATOMIC)+",password="+s+")\n"},GI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".scan()",e.ORDER_ATOMIC]},UI=function(t,e){e.definitions_["import_server_*"]="from server import *";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return"if not "+i+".isconnected():\n connectWifi(SSID, PASSWORD)\nip="+i+".ifconfig()[0]\nprint(ip)\ntime.sleep(1)\nDATA=listenData()\n"},wI=function(t,e){e.definitions_.import_network="import network",e.definitions_.import_socket="import socket";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"UDP"==n?n="socket.SOCK_DGRAM":"TCP"==n&&(n="socket.SOCK_STREAM"),i+" = socket.socket(socket.AF_INET, "+n+")\n"},kI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".bind("+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},xI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect(socket.getaddrinfo"+e.valueToCode(this,"address",e.ORDER_ATOMIC)+"[0][-1])\n"},HI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".listen("+e.valueToCode(this,"queue",e.ORDER_ATOMIC)+")\n"},WI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".accept()",e.ORDER_ATOMIC]},KI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".readline()",e.ORDER_ATOMIC]},JI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recv("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},QI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".send("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+")\n"},jI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recvfrom("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},qI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".sendto("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},zI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".close()\n"},ZI=function(t,e){return e.definitions_.import_requests="import requests",e.variableDB_.getName(this.getFieldValue("VAR"),j.Variables.NAME_TYPE)+"= requests.get("+e.valueToCode(this,"DOMAIN",e.ORDER_ATOMIC)+")\n"},$I=function(t,e){return e.definitions_.import_requests="import requests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},td=function(t,e){return e.definitions_.import_requests="import requests","requests."+this.getFieldValue("DIR")+"("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")\n"},ed=function(t,e){return e.definitions_.import_ntptime="import ntptime",["ntptime.time(host="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},id=function(t,e){return["'"+this.getFieldValue("op")+"'",e.ORDER_ATOMIC]},nd=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},sd=function(t,e){return e.definitions_.import_urequests="import urequests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},od=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+", data="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_d=function(t,e){return e.definitions_.import_educore_wifi="from educore import wifi","wifi.connect(ssid="+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", timeout="+e.valueToCode(this,"TIMEOUT",e.ORDER_ATOMIC)+")\n"},ud=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.connect(server="+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", port="+e.valueToCode(this,"PORT",e.ORDER_ATOMIC)+", client_id="+e.valueToCode(this,"CLIENT_ID",e.ORDER_ATOMIC)+", user="+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},rd=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC);return["mqttclient."+e.valueToCode(this,"MESSAGE",e.ORDER_ATOMIC)+"("+i+")",e.ORDER_ATOMIC]},pd=function(t,e){var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC),n=e.valueToCode(this,"METHOD",e.ORDER_ATOMIC);return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.received(topic="+i+", callback="+n+")\n"},ad=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqtt_client.publish(topic="+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", content="+e.valueToCode(this,"MSG",e.ORDER_ATOMIC)+")\n"},ld=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";return["mqtt_client.connescted()",e.ORDER_ATOMIC]},Id=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".is_pressed()",e.ORDER_ATOMIC]},dd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".was_pressed()",e.ORDER_ATOMIC]},Td=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".get_presses("+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},hd=function(t,e){e.definitions_.import_machine="import machine";var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i]="import "+i;var n=e.valueToCode(this,"btn",e.ORDER_ATOMIC),s=this.getFieldValue("mode");return i+"."+n+".irq(handler="+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger="+s+")\n"},Md=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.is_pressed()",e.ORDER_ATOMIC]},md=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.was_pressed()",e.ORDER_ATOMIC]},Od=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.get_presses("+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},cd=function(t,e){e.definitions_.import_machine="import machine";var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i]="import "+i;var n=this.getFieldValue("mode");return i+".button.irq(handler="+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger="+n+")\n"},Ed=function(t,e){return e.definitions_.import_sonar="import sonar",["sonar.Sonar("+e.valueToCode(this,"PIN1",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN2",e.ORDER_ASSIGNMENT)+").checkdist()",e.ORDER_ATOMIC]},Rd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},gd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Cd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Ad=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Ld=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Sd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},fd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Dd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.ps_nl()",e.ORDER_ATOMIC]},Nd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".infrared_"+this.getFieldValue("direction")+"()",e.ORDER_ATOMIC]},Pd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.ps()",e.ORDER_ATOMIC]},Fd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_"+n]="from "+i+" import onboard_als_"+n,["onboard_als_"+n+".ps_nl()",e.ORDER_ATOMIC]},vd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.als()",e.ORDER_ATOMIC]},Yd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.color()",e.ORDER_ATOMIC]},bd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_"+n]="from "+i+" import onboard_als_"+n,["onboard_als_"+n+".als_vis()",e.ORDER_ATOMIC]},Xd=function(t,e){return e.definitions_.import_ds18x20x="import ds18x20x",["ds18x20x.get_ds18x20_temperature("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},yd=function(t,e){return e.definitions_.import_lm35="import lm35",["lm35.get_LM35_temperature("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Vd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixgo"==i)return e.definitions_.import_mixgo="import mixgo",["mixgo.get_brightness()",e.ORDER_ATOMIC];if("mixgo_ce"==i)return e.definitions_.import_mixgo_ce="import mixgo_ce",["mixgo_ce.get_brightness()",e.ORDER_ATOMIC];if("mpython"==i)return e.definitions_.import_mpython_onboard_light="from mpython import onboard_light",["onboard_light.brightness()",e.ORDER_ATOMIC];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.als_vis()",e.ORDER_ATOMIC]},Bd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixbot"==i){e.definitions_["import_"+i+"_sound"]="from "+i+" import sound";var n="sound.loudness()"}else if("mixgo_zero"==i){e.definitions_.import_mixgo_zero_voice_sound_level="from mixgo_zero_voice import sound_level";n="sound_level()"}else if("mixgo_nova"==i){e.definitions_.import_mixgo_nova_voice_sound_level="from mixgo_nova_voice import sound_level";n="sound_level()"}else if("mixgo_soar"==i){e.definitions_.import_mixgo_soar_voice_sound_level="from mixgo_soar_voice import sound_level";n="sound_level()"}else{if("mixgo"==i)return e.definitions_.import_mixgo="import mixgo",["mixgo.get_soundlevel()",e.ORDER_ATOMIC];if("mpython"==i)return e.definitions_.import_mpython_onboard_sound="from mpython import onboard_sound",["onboard_sound.soundlevel()",e.ORDER_ATOMIC];if("mixgo_mini"==i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";n="onboard_bot.soundlevel()"}else{e.definitions_["import_"+i+"_onboard_sound"]="from "+i+" import onboard_sound";n="onboard_sound.read()"}}return[n,e.ORDER_ATOMIC]},Gd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");return"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_spl06_001="import spl06_001",e.definitions_.import_onboard_bps="onboard_bps = spl06_001.SPL06(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_bps"]="from "+i+" import onboard_bps",["onboard_bps."+n,e.ORDER_ATOMIC]},Ud=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");return"mixgo_nova"==i||"mixgo_zero"==i?e.definitions_["import_"+i+"_onboard_ths"]="from "+i+" import onboard_ths":"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_shtc3="import shtc3",e.definitions_.import_onboard_ths="onboard_ths = shtc3.SHTC3(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_ths"]="from "+i+" import onboard_ths",["onboard_ths."+n+"()",e.ORDER_ATOMIC]},wd=function(t,e){return e.definitions_.import_feiyi_onboard_acc="from feiyi import onboard_acc",["onboard_acc.temperature()",e.ORDER_ATOMIC]},kd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=i,s="onboard_rfid";return"mixgo_mini"===i?(n="mini_gx",s="ext_rfid"):"mixgo_me"===i?(n="me_g1",s="ext_rc522"):"mixgo_sant"===i&&(n="sant_gx",s="ext_rfid"),e.definitions_[`import_${n}_${s}`]=`from ${n} import ${s}`,[`${s}.read_card(0, x="id")`,e.ORDER_ATOMIC]},xd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=i,o="onboard_rfid";return"mixgo_mini"===i?(s="mini_gx",o="ext_rfid"):"mixgo_me"===i?(s="me_g1",o="ext_rc522"):"mixgo_sant"===i&&(s="sant_gx",o="ext_rfid"),e.definitions_[`import_${s}_${o}`]=`from ${s} import ${o}`,[`${o}.read_card(${n}, x="content")`,e.ORDER_ATOMIC]},Hd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC),o=i,_="onboard_rfid";return"mixgo_mini"===i?(o="mini_gx",_="ext_rfid"):"mixgo_me"===i?(o="me_g1",_="ext_rc522"):"mixgo_sant"===i&&(o="sant_gx",_="ext_rfid"),e.definitions_[`import_${o}_${_}`]=`from ${o} import ${_}`,`${_}.write_card(${s}, ${n})\n`},Wd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC),o=i,_="onboard_rfid";return"mixgo_mini"===i?(o="mini_gx",_="ext_rfid"):"mixgo_me"===i?(o="me_g1",_="ext_rc522"):"mixgo_sant"===i&&(o="sant_gx",_="ext_rfid"),e.definitions_[`import_${o}_${_}`]=`from ${o} import ${_}`,[`${_}.write_card(${s}, ${n})`,e.ORDER_ATOMIC]},Kd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key"),s=i,o="onboard_rfid";return"mixgo_mini"===i?(s="mini_gx",o="ext_rfid"):"mixgo_me"===i?(s="me_g1",o="ext_rc522"):"mixgo_sant"===i&&(s="sant_gx",o="ext_rfid"),e.definitions_[`import_${s}_${o}`]=`from ${s} import ${o}`,[`${o}.scan_card() == ${n}`,e.ORDER_ATOMIC]},Jd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("strength"==n){if("mixbot"==i){e.definitions_["import_"+i+"_acc_gyr"]="from "+i+" import acc_gyr";var s="acc_gyr.strength()"}else if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";s="onboard_imu.strength()"}else{e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc";s="onboard_acc.strength()"}return[s,e.ORDER_ATOMIC]}if("mixbot"==i){e.definitions_["import_"+i+"_acc_gyr"]="from "+i+" import acc_gyr";s="acc_gyr.accelerometer()"+n}else if("mpython"==i){e.definitions_.import_mpython_motion="from mpython import motion";s="motion.accelerometer()"+n}else if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";s="onboard_imu.acceleration()"+n}else{e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc";s="onboard_acc.acceleration()"+n}return[s,e.ORDER_ATOMIC]},Qd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc",["onboard_acc.eulerangles()"+this.getFieldValue("angle"),e.ORDER_ATOMIC]},jd=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("gesture"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+'.mpu9250_is_gesture("'+i+'")',e.ORDER_ATOMIC]},qd=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_get_"+i+"()",e.ORDER_ATOMIC]},zd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"button",e.ORDER_ATOMIC);if("mixgo_mini"===i||"mixgo_sant"===i||"mixgo_soar"===i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";var s="onboard_bot.touched("+n+")"}else{e.definitions_["import_"+i]="import "+i;s=i+".touched("+n+")"}return[s,e.ORDER_ATOMIC]},Zd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"===i||"mixgo_sant"===i||"mixgo_soar"===i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";var n="onboard_bot.touch_slide()"}else{e.definitions_["import_"+i]="import "+i;n=i+".touch_slide(3, 4)"}return[n,e.ORDER_ATOMIC]},$d=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"button",e.ORDER_ATOMIC)+".is_touched()",e.ORDER_ATOMIC]},tT=function(t,e){return e.definitions_.import_mpython="import mpython",["mpython.touch_"+e.valueToCode(this,"button",e.ORDER_ATOMIC)+".is_touched()",e.ORDER_ATOMIC]},eT=function(t,e){e.definitions_.import_adxl345="import adxl345";var i,n=this.getFieldValue("key"),s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"x"==n?i=s+".readX()":"y"==n?i=s+".readY()":"z"==n?i=s+".readZ()":"values"==n&&(i=s+".readXYZ()"),[i,e.ORDER_ATOMIC]},iT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_magnetic_"+i+"()",e.ORDER_ATOMIC]},nT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_gyro_"+i+"()",e.ORDER_ATOMIC]},sT=function(t,e){return e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_compass="from mixgo import compass",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".calibrate()\n"},oT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==i&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[i+".mpu9250_get_temperature()",e.ORDER_ATOMIC]},_T=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);"compass"==i&&(e.definitions_.import_mixgo_compass="from mixgo import compass");var n,s=this.getFieldValue("compass");return"strength"==s?n=i+".get_field_strength()":"heading"==s&&(n=i+".heading()"),[n,e.ORDER_ATOMIC]},uT=function(t,e){return e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_compass="from mixgo import compass",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".reset_calibrate()\n"},rT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("gesture");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",['onboard_mpu.mpu9250_is_gesture("'+i+'")',e.ORDER_ATOMIC]},pT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_get_"+i+"()",e.ORDER_ATOMIC]},aT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_magnetic_"+i+"()",e.ORDER_ATOMIC]},lT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_gyro_"+i+"()",e.ORDER_ATOMIC]},IT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass","onboard_compass.calibrate()\n"},dT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_get_temperature()",e.ORDER_ATOMIC]},TT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass";var i,n=this.getFieldValue("compass");return"strength"==n?i="onboard_compass.get_field_strength()":"heading"==n&&(i="onboard_compass.heading()"),[i,e.ORDER_ATOMIC]},hT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass","onboard_compass.reset_calibrate()\n"},MT=function(t,e){return e.definitions_.import_rtctime="import rtctime","rtctime.settime(("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+", 0, 0))\n"},mT=function(t,e){var i=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_rtctime="import rtctime","rtctime.settime("+i+")\n"},OT=function(t,e){e.definitions_.import_time="import time";return["time.localtime()",e.ORDER_ATOMIC]},cT=function(t,e){return e.definitions_.import_time="import time",["time.mktime("+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ET=function(t,e){return e.definitions_.import_time="import time",["time.localtime("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},RT=function(t,e){e.definitions_.import_rtctime="import rtctime";return["rtctime.strtime()",e.ORDER_ATOMIC]},gT=function(t,e){return e.definitions_.import_rtctime="import rtctime",["rtctime.strtime("+e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},CT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==n)if(e.definitions_.import_mpython_magnetic="from mpython import magnetic","all"==i)var s="magnetic.getstrength()";else s="magnetic.getdata()"+i;else if("mixgo_mini"==n)if(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)","all"==i)s="onboard_mgs.getstrength()";else s="onboard_mgs.getdata()"+i;else if(e.definitions_["import_"+n+"_onboard_mgs"]="from "+n+" import onboard_mgs","all"==i)s="onboard_mgs.getstrength()";else s="onboard_mgs.getdata()"+i;return[s,e.ORDER_ATOMIC]},AT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_.import_mpython_magnetic="from mpython import magnetic"}else"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_mgs"]="from "+i+" import onboard_mgs";return["onboard_mgs.getangle()",e.ORDER_ATOMIC]},LT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_mgs"]="from "+i+" import onboard_mgs";return"onboard_mgs.calibrate()\n"},ST=function(t,e){if("mixgo_mini"==q.Boards.getSelectedBoardKey().split(":")[2]){e.definitions_.import_mixgo_mini_onboard_temperature="from mixgo_mini import onboard_temperature";var i="onboard_temperature()"}else{e.definitions_.import_mixgo_me_onboard_acc="from mixgo_me import onboard_acc";i="onboard_acc.temperature()"}return[i,e.ORDER_ATOMIC]},fT=function(t,e){e.definitions_.import_mixgo_ce="import mixgo_ce";return["mixgo_ce.get_temperature()",e.ORDER_ATOMIC]},DT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mpython_motion="from mpython import motion",["motion.gyroscope()"+i,e.ORDER_ATOMIC]},NT=function(t,e){return e.definitions_.import_mpython_motion="from mpython import motion",["motion.temperature()",e.ORDER_ATOMIC]},PT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_adc"+n]="from "+i+" import adc"+n,["adc"+n+".read()",e.ORDER_ATOMIC]},FT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return"feiyi"==i?(e.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51",["onboard_bot51.read_bat()",e.ORDER_ATOMIC]):(e.definitions_["import_"+i+"_battery"]="from "+i+" import battery",["battery.voltage()",e.ORDER_ATOMIC])},vT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_rm_e1_gyro="from rm_e1 import gyro",["gyro.acceleration()"+i,e.ORDER_ATOMIC]},YT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info",["onboard_info.patrol()"+i,e.ORDER_ATOMIC]},bT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info",["onboard_info.obstacle()"+i,e.ORDER_ATOMIC]},XT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info","onboard_info.ir_mode(onboard_info."+i+")\n"},yT=function(t,e){e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info";return["onboard_info.read_bat()",e.ORDER_ATOMIC]},VT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+n+"_patrol"]="from "+n+" import patrol","patrol.correct(patrol.CORRECTING_"+i+")\n"},BT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+n+"_patrol"]="from "+n+" import patrol",["patrol.getdata()"+i,e.ORDER_ATOMIC]},GT=function(t,e){e.definitions_.import_mixbot_acc_gyr="from mixbot import acc_gyr";return["acc_gyr.temperature()",e.ORDER_ATOMIC]},UT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";var s="onboard_imu.gyroscope()"+n}else{e.definitions_.import_mixbot_acc_gyr="from mixbot import acc_gyr";s="acc_gyr.gyroscope()"+n}return[s,e.ORDER_ATOMIC]},wT=function(t,e){return e.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51",["onboard_bot51.read_als("+e.valueToCode(this,"mode",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},kT=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},xT=Id,HT=dd,WT=Td,KT=$d,JT=Pd,QT=Vd,jT=QT,qT=function(t,e){return e.definitions_.import_dhtx="import dhtx",["dhtx."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")."+this.getFieldValue("WHAT")+"()",e.ORDER_ATOMIC]},zT=function(t,e){e.definitions_.import_educore_sound="from educore import sound";return["sound()",e.ORDER_ATOMIC]},ZT=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},$T=function(t,e){e.definitions_.import_educore_light="from educore import light";return["light()",e.ORDER_ATOMIC]},th=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer";return["accelerometer()",e.ORDER_ATOMIC]},eh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},ih=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shake()",e.ORDER_ATOMIC]},nh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_button"]="from "+i+" import button",["button(button."+this.getFieldValue("btn")+")",e.ORDER_ATOMIC]},sh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_button"]="from "+i+" import button",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".status()",e.ORDER_ATOMIC]},oh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",["rfid("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_h=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scanning()",e.ORDER_ATOMIC]},uh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},rh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";return["onboard_bot.version()",e.ORDER_ATOMIC]},ph=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot",["onboard_bot.brightness("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},ah='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:lh}=q,{XML:Ih}=(lh.render(ah,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),q),{XML:dh}=(Ih.render(ah,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),q),Th=(dh.render(ah,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),new j.Generator("Python"));Th.INDENT=" ",Th.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),Th.ORDER_ATOMIC=0,Th.ORDER_COLLECTION=1,Th.ORDER_STRING_CONVERSION=1,Th.ORDER_UNARY_POSTFIX=1,Th.ORDER_UNARY_PREFIX=2,Th.ORDER_MEMBER=2.1,Th.ORDER_FUNCTION_CALL=2.2,Th.ORDER_EXPONENTIATION=3,Th.ORDER_UNARY_SIGN=4,Th.ORDER_BITWISE_NOT=4,Th.ORDER_MULTIPLICATIVE=5,Th.ORDER_ADDITIVE=6,Th.ORDER_BITWISE_SHIFT=7,Th.ORDER_BITWISE_AND=8,Th.ORDER_BITWISE_XOR=9,Th.ORDER_BITWISE_OR=10,Th.ORDER_RELATIONAL=11,Th.ORDER_EQUALITY=11,Th.ORDER_LOGICAL_NOT=12,Th.ORDER_LOGICAL_AND=13,Th.ORDER_LOGICAL_OR=14,Th.ORDER_ASSIGNMENT=14,Th.ORDER_CONDITIONAL=15,Th.ORDER_LAMBDA=16,Th.ORDER_NONE=99,Th.ORDER_OVERRIDES=[[Th.ORDER_FUNCTION_CALL,Th.ORDER_MEMBER],[Th.ORDER_FUNCTION_CALL,Th.ORDER_FUNCTION_CALL],[Th.ORDER_MEMBER,Th.ORDER_MEMBER],[Th.ORDER_MEMBER,Th.ORDER_FUNCTION_CALL]],Th.init=function(){Th.PASS=this.INDENT+"pass\n",Th.definitions_=Object.create(null),Th.functionNames_=Object.create(null),Th.setups_=Object.create(null),Th.loops_=Object.create(null),Th.codeEnd_=Object.create(null),Th.variableDB_?Th.variableDB_.reset():Th.variableDB_=new tt(Th.RESERVED_WORDS_)},Th.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in Th.functions_)_.push(Th.functions_[s]);_.length&&_.push("\n");var u=[];for(var s in Th.setups_)u.push(Th.setups_[s]);u.length&&u.push("\n");var r=[];for(var s in Th.loops_)r.push(Th.loops_[s]);var p=[];for(var s in Th.codeEnd_)p.push(Th.codeEnd_[s]);0!==p.length&&p.push("\n");let a="";return a=r.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+r.join("")+p.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+p.join("\n"),a},Th.scrubNakedValue=function(t){return t+"\n"},Th.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Th.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Th.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=j.utils.string.wrap(o,Th.COMMENT_WRAP-3),n+=Th.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const hh={microbit:{description:"microbit_python",digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],pwm:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],analog:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P10","10"]],interrupt:[["P0","0"],["P1","1"],["P2","2"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","Image.HEART"],["HEART_SMALL","Image.HEART_SMALL"],["HAPPY","Image.HAPPY"],["SMILE","Image.SMILE"],["SAD","Image.SAD"],["CONFUSED","Image.CONFUSED"],["ANGRY","Image.ANGRY"],["ASLEEP","Image.ASLEEP"],["SURPRISED","Image.SURPRISED"],["SILLY","Image.SILLY"],["FABULOUS","Image.FABULOUS"],["MEH","Image.MEH"],["YES","Image.YES"],["NO","Image.NO"],["CLOCK12","Image.CLOCK12"],["CLOCK11","Image.CLOCK11"],["CLOCK10","Image.CLOCK10"],["CLOCK9","Image.CLOCK9"],["CLOCK8","Image.CLOCK8"],["CLOCK7","Image.CLOCK7"],["CLOCK6","Image.CLOCK6"],["CLOCK5","Image.CLOCK5"],["CLOCK4","Image.CLOCK4"],["CLOCK3","Image.CLOCK3"],["CLOCK2","Image.CLOCK2"],["CLOCK1","Image.CLOCK1"],["ARROW_N","Image.ARROW_N"],["ARROW_NE","Image.ARROW_NE"],["ARROW_E","Image.ARROW_E"],["ARROW_SE","Image.ARROW_SE"],["ARROW_S","Image.ARROW_S"],["ARROW_SW","Image.ARROW_SW"],["ARROW_W","Image.ARROW_W"],["ARROW_NW","Image.ARROW_NW"],["TRIANGLE","Image.TRIANGLE"],["TRIANGLE_LEFT","Image.TRIANGLE_LEFT"],["CHESSBOARD","Image.CHESSBOARD"],["DIAMOND","Image.DIAMOND"],["DIAMOND_SMALL","Image.DIAMOND_SMALL"],["SQUARE","Image.SQUARE"],["SQUARE_SMALL","Image.SQUARE_SMALL"],["RABBIT","Image.RABBIT"],["COW","Image.COW"],["MUSIC_CROTCHET","Image.MUSIC_CROTCHET"],["MUSIC_QUAVER","Image.MUSIC_QUAVER"],["MUSIC_QUAVERS","Image.MUSIC_QUAVERS"],["PITCHFORK","Image.PITCHFORK"],["XMAS","Image.XMAS"],["PACMAN","Image.PACMAN"],["TARGET","Image.TARGET"],["TSHIRT","Image.TSHIRT"],["ROLLERSKATE","Image.ROLLERSKATE"],["DUCK","Image.DUCK"],["HOUSE","Image.HOUSE"],["TORTOISE","Image.TORTOISE"],["BUTTERFLY","Image.BUTTERFLY"],["STICKFIGURE","Image.STICKFIGURE"],["GHOST","Image.GHOST"],["SWORD","Image.SWORD"],["GIRAFFE","Image.GIRAFFE"],["SKULL","Image.SKULL"],["UMBRELLA","Image.UMBRELLA"],["SNAKE","Image.SNAKE"],["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],imglist:[["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["P0","0"],["P1","1"],["P2","2"],["P8","8"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]]}};hh["BBC micro:bit"]=hh.microbit;const Mh=hh,mh=100,Oh={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",message0:j.Msg.MIXLY_MICROBIT_Play_built_in_melody,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Play_built_in_melody1)}},ch={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",tooltip:"Play one of the built-in melodies. Indicate if you need to wait before continuing or continuously loop the melody.",message0:j.Msg.MIXLY_MICROBIT_Play_built_in_melody_easy,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"}]})}},Eh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_TONE).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MIXLY_FREQUENCY),this.appendValueInput("duration").setCheck(Number).appendField(j.Msg.MIXLY_DURATION),this.appendDummyInput("").appendField(j.Msg.MIXLY_MILLIS).appendField(j.Msg.MIXLY_MICROBIT_WAIT),this.appendDummyInput("").appendField(new j.FieldCheckbox(!0),"wait"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Rh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_TONE).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},gh={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",message0:j.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Play_notes1)}},Ch={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",tooltip:"Play a list of notes expressed in the special music language. Indicate if you need to wait before continuing or continuously loop the melody.",message0:j.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{type:"input_dummy"},{type:"input_dummy"}]})}},Ah={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",message0:j.Msg.MIXLY_MICROBIT_Reset_music}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Reset_music)}},Lh={init:function(){this.setColour(mh),this.appendValueInput("PIN").appendField(j.Msg.MIXLY_NOTONE).appendField(j.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_NOTONE)}},Sh={init:function(){this.jsonInit({colour:mh,output:"Array",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",message0:j.Msg.MIXLY_MICROBIT_Get_current_tempo}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Get_current_tempo)}},fh={init:function(){this.setColour(mh),this.appendValueInput("TICKS").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(j.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(j.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_SET_TEMPO1)}},Dh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,"say"],[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,"sing"],[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE,"pronounce"]]),"MODE"),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_pitch),this.appendValueInput("speed").setCheck(Number).appendField(j.Msg.MIXLY_SPEED),this.appendValueInput("mouth").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_mouth),this.appendValueInput("throat").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_throat),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH,n=j.Msg.MIXLY_MICROBIT_TYPE_STRING;return i+{say:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,sing:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,pronounce:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE}[e]+n}))}},Nh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ph={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Fh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MICROBIT_SPEECH_translation),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.MICROBIT_SPEECH_translation)}},Yh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_SERVO).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERVO_MOVE)}},bh={init:function(){this.appendValueInput("speed").setCheck(null).appendField(j.Msg.MIXLY_MOTOR).appendField(new j.FieldDropdown([["M1","1"],["M2","2"],["M3","3"],["M4","4"]]),"Motor").appendField(j.Msg.MIXLY_SPEED),this.appendDummyInput().appendField(new j.FieldDropdown([["Forward","1*"],["Reverse","-1*"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(mh),this.setTooltip(""),this.setHelpUrl("")}},Xh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_RGB_PIN_COUNT)}},yh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_RGB_NUM_R_G_B)}},Vh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(new j.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Bh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_ESP32_MUSIC_WRI)}},Gh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_SETUP+" "+j.Msg.QJ00X_MP3),this.appendValueInput("RX").setAlign(j.inputs.Align.RIGHT).appendField("TX#"),this.appendValueInput("TX").setAlign(j.inputs.Align.RIGHT).appendField("RX#"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Uh=[[j.Msg.MIXLY_MP3_PLAY,"play"],[j.Msg.MIXLY_MP3_PAUSE,"pause"],[j.Msg.MIXLY_MP3_NEXT,"next_track"],[j.Msg.MIXLY_MP3_PREV,"prev_track"],[j.Msg.MIXLY_MP3_VOL_UP,"inc_vol"],[j.Msg.MIXLY_MP3_VOL_DOWN,"dec_vol"]];const wh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(Uh),"CONTROL_TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var kh=[[j.Msg.MIXLY_MP3_LOOP_ALL,"0"],[j.Msg.MIXLY_MP3_LOOP_FOLDER,"1"],[j.Msg.MIXLY_MP3_LOOP_ONE,"2"],[j.Msg.MIXLY_MP3_LOOP_RAM,"3"]];const xh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_LOOP_MODE).appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(kh),"LOOP_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Hh=[[j.Msg.MIXLY_MP3_EQ_NORMAL,"0"],[j.Msg.MIXLY_MP3_EQ_POP,"1"],[j.Msg.MIXLY_MP3_EQ_ROCK,"2"],[j.Msg.MIXLY_MP3_EQ_JAZZ,"3"],[j.Msg.MIXLY_MP3_EQ_CLASSIC,"4"],[j.Msg.MIXLY_MP3_EQ_BASS,"5"]];const Wh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_EQ_MODE).appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(Hh),"EQ_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Kh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_VOL),this.appendValueInput("vol",Number).appendField(j.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Jh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Qh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendValueInput("FOLDER",Number).appendField(j.Msg.DFPLAYER_MINI_FOLDER).setCheck(Number),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},jh=140,qh={init:function(){this.setColour(225),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"on"],[j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"off"],[j.Msg.HTML_RESET,"reset"]]),"type").appendField(j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type"),i=j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI;return{on:j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,off:j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,reset:j.Blockly.Msg.HTML_RESET}[e]+i}))}},zh={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",tooltip:"Turn on the radio. This needs to be explicitly called since the radio draws power and takes up memory that you may otherwise need.",message0:j.Msg.MIXLY_MICROBIT_Switch_on_radio})}},Zh={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",tooltip:"Turn off the radio, thus saving power and memory.",message0:j.Msg.MIXLY_MICROBIT_Switch_off_radio})}},$h={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",tooltip:j.Msg.MIXLY_MICROBIT_Configure_radio1,message0:j.Msg.MIXLY_MICROBIT_Configure_radio,args0:[{min:4,value:32,type:"input_value",max:251,name:"length"},{type:"input_dummy"},{min:1,value:3,type:"input_value",max:32,name:"queue"},{type:"input_dummy"},{min:0,value:7,type:"input_value",max:100,name:"channel"},{type:"input_dummy"},{name:"power",type:"input_value"},{type:"input_dummy"},{name:"address",type:"input_value"},{type:"input_dummy"},{name:"group",type:"input_value"},{type:"input_dummy"},{name:"data_rate",type:"input_value"}]})}},tM={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",tooltip:"Reset the radio to default settings.",message0:j.Msg.MIXLY_MICROBIT_Reset_radio})}},eM={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",tooltip:"Broadcast a text message.",message0:j.Msg.MIXLY_MICROBIT_Send_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},iM={init:function(){this.setColour(225),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_RADIO_SEND),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_MSG,"send"],[j.Msg.MIXLY_MICROBIT_MSG_BYTE,"send_bytes"]]),"type"),this.appendValueInput("data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Send_message1)}},nM={init:function(){this.jsonInit({colour:225,output:"String",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",tooltip:j.Msg.MIXLY_MICROBIT_Receive_message,message0:j.Msg.MIXLY_MICROBIT_Receive_message})}},sM={init:function(){this.setColour(225),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_Receive_message),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_MSG,"receive"],[j.Msg.MIXLY_MICROBIT_MSG_BYTE,"receive_bytes"],[j.Msg.MIXLY_MICROBIT_MSG_FULL,"receive_full"]]),"type"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Receive_message)}},oM={init:function(){this.setColour(jh),this.appendValueInput("RX",Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_SETUP).appendField("sda").setCheck(Number).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("scl").setCheck(Number).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField("频率").setAlign(j.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_M={init:function(){this.setColour(jh),this.appendValueInput("address").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_READ_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.LANG_MATH_BYTE),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new j.FieldCheckbox(!1),"is_repeated"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},uM={init:function(){this.setColour(jh),this.appendValueInput("address").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_WRITE_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new j.FieldCheckbox(!1),"is_repeated"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},rM={init:function(){this.jsonInit({colour:jh,nextStatement:null,previousStatement:null,message0:j.Msg.MIXLY_MICROBIT_SPI_INIT,args0:[{value:1e6,type:"field_number",name:"freq"},{type:"input_dummy"},{value:8,type:"field_number",name:"bits"},{type:"input_dummy"},{value:0,type:"field_number",name:"mode"},{type:"input_dummy"},{name:"mosi",options:q.Profile.default.digital,type:"field_dropdown"},{name:"miso",options:q.Profile.default.digital,type:"field_dropdown"},{name:"sck",options:q.Profile.default.digital,type:"field_dropdown"}]}),this.setFieldValue("15","mosi"),this.setFieldValue("14","miso"),this.setFieldValue("13","sck")}},pM={init:function(){this.setColour(jh),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_SPI_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_SPI_WRITE)}},aM=180,lM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:j.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Clear_display)}},IM={init:function(){this.setColour(aM),this.appendValueInput("x").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(j.Msg.MIXLY_BRIGHTNESS).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_BRIGHTNESS1)}},dM={init:function(){this.setColour(aM),this.appendValueInput("x").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("brightness").setCheck(Number).appendField(j.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_BRIGHTNESS2)}},TM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck([String,"microbit_image"]).appendField(j.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING)}},hM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},MM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("delay").setCheck(null).appendField(j.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(j.Msg.MIXLY_MILLIS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mM={init:function(){this.setColour(aM),this.appendValueInput("PIN",String).setCheck("microbit_image").appendField(j.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.OLED_BITMAP)}},OM={init:function(){this.jsonInit({colour:aM,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:j.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}]})}},cM={init:function(){this.jsonInit({colour:aM,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:j.Msg.MIXLY_MICROBIT_Animate_images_or_string,args0:[{check:[String,"List"],type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+j.Msg.MIXLY_MICROBIT_Animate_images1)}},EM={init:function(){this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.jsonInit({colour:aM,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:j.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING)}},RM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:j.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},gM={init:function(){this.setColour(aM),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[j.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(j.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=j.Msg.MIXLY_MICROBIT_monitor;return{on:j.Msg.MIXLY_MICROBIT_Turn_on_display,off:j.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},CM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:j.Msg.MIXLY_MICROBIT_Turn_off_display})}},AM={init:function(){this.jsonInit({colour:aM,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:j.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Display_is_on1)}},LM={init:function(){this.jsonInit({colour:aM,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}],output:["microbit_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:j.Msg.MIXLY_MICROBIT_Built_in_image1,message0:j.Msg.MIXLY_MICROBIT_Built_in_image})}},SM={init:function(){this.jsonInit({colour:aM,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.copy",message0:j.Msg.MIXLY_MICROBIT_Copy_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Copy_image1)}},fM={init:function(){this.jsonInit({colour:aM,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.invert",message0:j.Msg.MIXLY_MICROBIT_Invert_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Invert_image1)}},DM={init:function(){this.jsonInit({colour:aM,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:j.Msg.MIXLY_MICROBIT_Create_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)}},NM={init:function(){var t=[[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"]];this.setColour(aM),this.setOutput(!0,"microbit_image"),this.setInputsInline(!0),this.appendValueInput("img").appendField(j.Msg.DISPLAY_IMAGE_LET).setCheck(["microbit_image","List",String]),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[t]+s}))}},PM={init:function(){var t=[[j.Msg.MICROBIT_DISPLAY_UNION,"+"],[j.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(aM),this.setOutput(!0,"microbit_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},FM={init:function(){this.setColour(aM),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(j.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},vM={init:function(){this.setColour(aM),this.appendValueInput("device").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_SETUP).appendField(j.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(j.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SETUP+j.Msg.MIXLY_DF_LCD+j.Msg.MIXLY_LCD_ADDRESS)}},YM={init:function(){this.setColour(aM),this.appendValueInput("row",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(j.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},bM={init:function(){this.setColour(aM),this.appendDummyInput().appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new j.FieldDropdown([[j.Msg.MIXLY_ON,"on()"],[j.Msg.MIXLY_OFF,"off()"],[j.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[j.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(False)"],[j.Msg.MIXLY_LCD_BACKLIGHT,"backlight(True)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return j.Msg.LISTS_SET_INDEX_SET+j.Msg.MIXLY_DF_LCD+{"on()":j.Msg.MIXLY_ON,"off()":j.Msg.MIXLY_OFF,"clear()":j.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":j.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":j.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},XM={init:function(){this.appendDummyInput().appendField(j.Msg.MIXLY_DF_LCD+" OLED "+j.Msg.OLEDDISPLAY),this.appendValueInput("Text_line1","String").setAlign(j.inputs.Align.RIGHT).appendField("(128*64) "+j.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(aM),this.setTooltip(j.Msg.MIXLY_DF_LCD+j.Msg.OLEDDISPLAY+j.Msg.MIXLY_MICROBIT_TYPE_STRING)}},yM={init:function(){var t=[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]];this.setColour(aM),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("microbit_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[t]}))}},VM={init:function(){this.setColour(aM),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[j.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:j.Msg.MIXLY_LCD_STAT_CLEAR,1:j.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return j.Msg.MIXLY_DF_LCD+i[e]}))}},BM="#777777",GM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField("from ").appendField(new j.FieldTextInput("microbit"),"path").appendField(" import ").appendField(new j.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField("import ").appendField(new j.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField(new j.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;e 0:\n pre = bin(value).count("1")\n # find first non full high value afterwards\n try:\n k, value = next((ind, v)\n for ind, v in enumerate(resp[i:length - 2]) if resp[i + ind + 1] == 0)\n post = bin(value).count("1") if k else 0\n k = k + i\n except StopIteration:\n i = -1\n dist= -1 if i < 0 else round((pre + (k - i) * 8. + post) * 8 * 0.172)\n return dist\n\n def distance_cm(self):\n return self.distance_mm() / 10.0\n\nsonar=HCSR04()\n\n',["sonar.distance_cm()",e.ORDER_ATOMIC]},vE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *"},YE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *";var i=this.getFieldValue("TIME_TYPE");switch(i){case"Year":case"Month":case"Day":case"Hour":case"Minute":case"Second":case"Week":return["ds."+i+"()",e.ORDER_ASSIGNMENT];case"Mix1":return["ds.get_date()",e.ORDER_ASSIGNMENT];case"Mix2":return["ds.get_time()",e.ORDER_ASSIGNMENT]}},bE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_time("+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+")\n"},XE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_date("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+")\n"},yE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.clear_calibration()\n"},VE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["display.read_light_level()",e.ORDER_ATOMIC]},BE=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="from ultrasonic import *","sonar = HCSR04(tpin=pin"+i+", epin=pin"+n+")\n"},GE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_TCS="from TCS import *",["tcs.getRawRGBData("+this.getFieldValue("TCS34725_COLOR")+")",e.ORDER_ATOMIC]},UE=function(t,e){var i=this.getFieldValue("PIN"),n=e.valueToCode(this,"NominalResistance",e.ORDER_ATOMIC),s=e.valueToCode(this,"betaCoefficient",e.ORDER_ATOMIC),o=e.valueToCode(this,"seriesResistor",e.ORDER_ATOMIC);return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ntc="import ntc",["ntc.read(pin"+i+", "+n+", "+s+", "+o+")",e.ORDER_ATOMIC]},wE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+"))\n"},kE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+")+'\\r\\n')\n"},xE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str(hex("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0")+")) + '\\r\\n')\n"},HE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"char_marker",e.ORDER_ATOMIC)||";",n=e.statementToCode(this,"DO");e.definitions_["func_serial_receive_data_event_"+i.charCodeAt(1)]="serial.onDataReceived("+i+", () => {\n"+n+"}\n"},WE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.any()",e.ORDER_ATOMIC]},KE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.read()",e.ORDER_ATOMIC]},JE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.readline()",e.ORDER_ATOMIC]},QE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["serial.readUntil("+this.getFieldValue("char_marker")+")",e.ORDER_ATOMIC]},jE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"RX",e.ORDER_ATOMIC),n=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return isNaN(parseInt(i))||(i="pin"+i),isNaN(parseInt(n))||(n="pin"+n),"uart.init(rx="+i+", tx="+n+", baudrate="+this.getFieldValue("baudrate")+")\n"},qE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.init(baudrate="+this.getFieldValue("baudrate")+")\n"},zE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["input("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},ZE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")\n"},$E=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+',end ="")\n'},tR=function(t,e){return"control.inBackground(() => {\n"+e.statementToCode(this,"do")+"})\n"},eR=function(){return"control.reset()\n"},iR=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},nR=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},sR=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},oR=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},_R=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},uR=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},rR=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},pR=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},aR=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},lR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","sleep("+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000")+")\n"},IR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},dR=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["running_time()",e.ORDER_ATOMIC]},TR=function(){return"while True:\n pass\n"},hR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","reset()\n"},MR=function(t,e){return e.definitions_.import_os="import os",["os.uname()",e.ORDER_ATOMIC]};Object.assign(j.Variables,Z),Object.assign(j.Procedures,Tp),j.Python=hp,j.generator=hp,q.Profile.default={},Object.assign(q.Profile,Mh),Object.assign(q.Profile.default,Mh.microbit),Object.assign(j.Blocks,e,i,n,s,o,_,u,r,p,a,l,I,d,f,D,F,v,Y,b,X,y,V,B,G),Object.assign(j.Python.forBlock,T,h,M,m,O,c,E,R,g,C,A,L,S,N,P,U,w,k,x,H,W,K,J,Q)})(); \ No newline at end of file +class ${constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(j.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(j.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(j.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(j.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Ot={init:function(){this.setColour(It),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.PYTHON_RANGE).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ct={init:function(){this.setColour(It),this.appendValueInput("LIST").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(j.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Et={init:function(){this.setColour(It),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(j.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new j.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(j.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Rt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(j.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},gt={init:function(){this.setColour(It);var t=new j.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Ct={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new j.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return j.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},At={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new j.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return j.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Et.OPERATORS=[[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],gt.OPERATORS=[[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Lt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(j.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},St={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},ft={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(j.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Dt={init:function(){this.setColour(It),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Nt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Pt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(j.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Ft={init:function(){this.jsonInit({message0:j.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:It,tooltip:j.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:j.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},vt={init:function(){this.setColour(It),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_STAT),this.setOutput(!0)}},Yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},bt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},Xt={init:function(){this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT+j.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(j.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new j.FieldDropdown([[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(It),this.setTooltip("do-while loop"),this.setHelpUrl("")}},yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Bt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Gt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_GET_UNIQUE_IDEN)}},Ut={init:function(){this.setColour(It),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(j.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},wt={init:function(){this.setColour(It),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},kt=230;j.FieldTextInput.math_number_validator=function(t){return String(t)},j.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const xt={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new j.FieldTextInput("0",j.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(j.Msg.MATH_NUMBER_TOOLTIP)}},Ht={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(j.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new j.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Wt={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(j.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new j.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:j.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Kt={init:function(){this.setColour(kt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:j.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:j.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:j.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:j.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:j.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Jt={init:function(){this.setColour(kt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:j.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:j.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:j.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:j.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:j.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:j.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Qt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new j.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},jt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new j.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:j.Msg.MATH_TRIG_TOOLTIP_SIN,COS:j.Msg.MATH_TRIG_TOOLTIP_COS,TAN:j.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:j.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:j.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:j.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:j.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},qt={init:function(){var t=[[j.Msg.MATH_BIN,"bin"],[j.Msg.MATH_OCT,"oct"],[j.Msg.MATH_HEX,"hex"]];this.setColour(kt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new j.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:j.Msg.MATH_DEC_TOOLTIP_BIN,oct:j.Msg.MATH_DEC_TOOLTIP_OCT,hex:j.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},zt={init:function(){var t=[[j.Msg.LANG_MATH_TO_ROUND,"round"],[j.Msg.LANG_MATH_TO_CEIL,"ceil"],[j.Msg.LANG_MATH_TO_FLOOR,"floor"],[j.Msg.MATH_ABS,"fabs"],[j.Msg.MATH_SQRT,"sqrt"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).appendField(new j.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:j.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:j.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:j.Msg.MATH_SINGLE_TOOLTIP_SQ,round:j.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:j.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:j.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Zt={init:function(){var t=[[j.Msg.MIXLY_MAX,"max"],[j.Msg.MIXLY_MIN,"min"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(new j.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:j.Msg.MIXLY_TOOLTIP_MATH_MAX,min:j.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},$t={init:function(){var t=[[j.Msg.MATH_TWO,"two"],[j.Msg.MATH_EIGHT,"eight"],[j.Msg.MATH_TEN,"ten"],[j.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(kt),this.appendDummyInput("").appendField(j.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new j.FieldDropdown(t),"OP").appendField(j.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.MATH_ZHW).appendField(new j.FieldDropdown(t),"OP2").appendField(j.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:j.Msg.MATH_Before_two,eight:j.Msg.MATH_Before_eight,ten:j.Msg.MATH_Before_ten,sixteen:j.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:j.Msg.MATH_Behind_two,eight:j.Msg.MATH_Behind_eight,ten:j.Msg.MATH_Behind_ten,sixteen:j.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},te={init:function(){var t=[[j.Msg.LANG_MATH_INT,"int"],[j.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(kt),this.setOutput(!0,Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_RANDOM).appendField(new j.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(j.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:j.Msg.LANG_MATH_INT,float:j.Msg.LANG_MATH_FLOAT_RANDOM};return j.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},ee={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(j.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(j.Msg.MATH_CONSTRAIN_TOOLTIP)}},ie={init:function(){this.setColour(kt),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(j.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(j.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ne={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new j.FieldTextInput("0",j.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(j.Msg.MATH_NUMBER_TOOLTIP)}},se={init:function(){this.setColour(kt),this.appendValueInput("NUM").setCheck(Number).appendField(j.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},oe={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MATH_ROUND).appendField(j.Msg.TEXT_KEEP),this.appendDummyInput().appendField(j.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(j.Msg.MATH_ROUND_NEW_TOOLTIP)}},_e={init:function(){var t=[[j.Msg.MIXLY_TO_INT,"int"],[j.Msg.MIXLY_TO_FLOAT,"float"],[j.Msg.MIXLY_TO_BITES,"b"],[j.Msg.LANG_MATH_BYTE+j.Msg.MIXLY_TO_INT,"bti"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:j.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:j.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:j.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ue={init:function(){var t=[[j.Msg.MIXLY_TO_INT,"int"],[j.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:j.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:j.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},re=ie,pe={init:function(){this.setColour(kt),this.appendValueInput("VAR").appendField(j.Msg.LANG_MATH_BYTE+j.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},ae={init:function(){this.setColour(kt),this.itemCount_=1,this.setMutator(new j.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(j.Msg.MIXLY_PRODUCT+j.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(j.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(j.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const me={init:function(){this.setColour(de),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new j.FieldTextInput("",j.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(j.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new j.FieldImage(e,7,12,'"')}},Oe={init:function(){this.setColour(de),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(j.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ce={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ee={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Re={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ge={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ce={init:function(){this.WHERE_OPTIONS=[[j.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[j.Msg.TEXT_GET_INDEX_RANDOM+1+j.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(j.Msg.LISTS_GET_INDEX_GET,"MODE"),j.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(j.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=j.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+j.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",j.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:j.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:j.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:j.Msg.TEXT_GET_INDEX_RANDOM};return j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+j.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==j.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),j.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(j.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new j.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),j.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ae={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(j.Msg.LISTS_GET_INDEX_GET+" "+j.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(j.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.LISTS_GET_INDEX_FROM_START+"n"+j.Msg.TEXT_CHARAT2)}},Le={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(j.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(j.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Se={init:function(){this.WHERE_OPTIONS_1=[[j.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[j.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[j.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[j.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[j.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(j.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==j.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==j.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),j.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(j.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new j.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},fe={init:function(){this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(j.Msg.LISTS_GET_INDEX_GET+" "+j.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(j.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(j.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(j.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},De={init:function(){var t=[[j.Msg.MIXLY_EQUALS,"==="],[j.Msg.MIXLY_STARTSWITH,"startswith"],[j.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(de),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new j.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ne={init:function(){this.setColour(de),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(j.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_COMPARETO_HELP)}},Pe={init:function(){var t=[[j.Msg.TEXT_UPPER,"upper"],[j.Msg.TEXT_TITLE,"title"],[j.Msg.TEXT_CAPITALIZE,"capitalize"],[j.Msg.TEXT_SWAPCASE,"swapcase"],[j.Msg.TEXT_LOWER,"lower"]];this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:j.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:j.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:j.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:j.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:j.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Fe={init:function(){var t=[[j.Msg.TEXT_LJUST,"ljust"],[j.Msg.TEXT_CENTER,"center"],[j.Msg.TEXT_RJUST,"rjust"]];this.setColour(de),this.appendValueInput("VAR").appendField(new j.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(j.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(j.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ve={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(j.Msg.MIXLY_MID+j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(j.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Ye={init:function(){this.setColour(de),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},be={init:function(){this.setColour(de),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(j.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(j.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Xe={init:function(){this.setColour(de),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(j.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(j.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ye={init:function(){var t=[[j.Msg.TEXT_TRIM_BOTH,"strip"],[j.Msg.TEXT_TRIM_LEFT,"lstrip"],[j.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(de),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(j.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new j.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(j.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:j.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:j.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:j.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Ve={init:function(){this.setColour(de),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new j.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new j.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Yi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(j.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},bi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(j.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_KEYS),this.setTooltip(j.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},yi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(j.Msg.DICTS_GET_TOOLTIP)}},Vi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(j.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(j.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Bi={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(j.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Gi={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(j.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_DELETE_TOOLTIP)}},Ui={init:function(){this.setColour(Fi),this.appendValueInput("DICT2").setCheck("Dict").appendField(j.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(j.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(j.Msg.MIXLY_MID),this.setTooltip(j.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_CLEAR),this.setTooltip(j.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ki={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_ITEMS),this.setTooltip(j.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_VALUES),this.setTooltip(j.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Hi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.MIXLY_LENGTH),this.setTooltip(j.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.DICT_DELDICT),this.setTooltip(j.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ki={init:function(){this.MODE=[[j.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[j.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(j.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(j.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=j.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=j.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==j.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new j.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},Ji={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(j.Msg.DICTS_ADD_VALUE),this.setTooltip(j.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Qi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(j.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(j.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.DICTS_SETDEFAULT_TOOLTIP)}},ji={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(new j.FieldLabel(j.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new j.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(j.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},qi={init:function(){this.setColour(Fi),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},zi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(j.Msg.MIXLY_TO_JSON),this.setTooltip(j.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Zi={init:function(){this.setColour(Fi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(j.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(j.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},$i={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},tn={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(j.Msg.MIXLY_TO_JSON),this.setTooltip(j.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},en=210,nn={init:function(){var t=j.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:j.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:j.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:j.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:j.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:j.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:j.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},sn={init:function(){var t=j.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=j.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new j.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},on={init:function(){var t=[[j.Msg.LOGIC_OPERATION_AND,"AND"],[j.Msg.LOGIC_OPERATION_OR,"OR"],[j.Msg.LOGIC_OPERATION_NOR,"NOR"],[j.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:j.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:j.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:j.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:j.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},_n={init:function(){this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(j.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(j.Msg.LOGIC_NEGATE_TOOLTIP)}},un={init:function(){var t=[[j.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[j.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new j.FieldDropdown(t),"BOOL"),this.setTooltip(j.Msg.LOGIC_BOOLEAN_TOOLTIP)}},rn={init:function(){this.setColour(en),this.setOutput(!0),this.appendDummyInput().appendField(j.Msg.LOGIC_NULL),this.setTooltip(j.Msg.LOGIC_NULL_TOOLTIP)}},pn={init:function(){this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(j.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(j.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},an={init:function(){var t=[[j.Msg.TEXT_APPEND_TO,"in"],[j.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new j.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(j.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.IN)}},ln={init:function(){var t=[[j.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[j.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},In={init:function(){this.setColour(en),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(j.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},dn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(j.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Tn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[j.Msg.MIXLY_ADD,"a"],[j.Msg.MATH_BIN+j.Msg.MIXLY_ADD,"ab"],[j.Msg.MIXLY_R_W,"r+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_R_W,"rb+"],[j.Msg.MIXLY_W_R,"w+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_W_R,"wb+"],[j.Msg.MIXLY_A_R,"a+"],[j.Msg.MATH_BIN+j.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG,_=j.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Mn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(j.Msg.MIXPY_TEXT_ENCODE).appendField(new j.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_USE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=j.Msg.MIXLY_BELONG,_=j.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:j.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:j.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:j.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},mn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},On={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},cn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:j.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},En={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(j.Msg.MICROBIT_PYTHON_TYPE)}},Rn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.HTML_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},An={init:function(){this.setColour(0),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const Ln={init:function(){this.setColour(0),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+j.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+j.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:j.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Nn={init:function(){this.setColour(0),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Pn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+j.Msg.MIXLY_ESP32_SET+{mkdir:j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(j.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(j.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.HTML_FILE,"isfile"],[j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+j.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:j.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},bn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(j.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_SETUP+j.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(j.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Xn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(j.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},yn={init:function(){var t=j.Procedures.findLegalName("",this),e=new j.FieldTextInput(t,j.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new j.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&j.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(j.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(j.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(j.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(j.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=j.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),j.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{j.Events.enable()}},mutationToDom:function(t){var e=j.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(j.Msg.MIXLY_AIP_ATTR).setAlign(j.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},vs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_FORM_CONTENT).appendField(new j.FieldDropdown([[j.Msg.HTML_TEXT,"text"],[j.Msg.HTML_EMAIL,"email"],[j.Msg.HTML_NUMBER,"number"],[j.Msg.HTML_PASSWORD,"password"],[j.Msg.HTML_CHECKBOX,"checkbox"],[j.Msg.HTML_RADIOBUTTON,"radiobutton"],[j.Msg.HTML_BUTTON,"button"],[j.Msg.HTML_COLOUR,"colour"],[j.Msg.HTML_DATE,"date"],[j.Msg.HTML_LOCALTIME,"local time"],[j.Msg.HTML_FILE,"file"],[j.Msg.HTML_HIDDEN,"hidden"],[j.Msg.HTML_IMAGE,"image"],[j.Msg.HTML_MONTH,"month"],[j.Msg.HTML_RANGE,"range"],[j.Msg.HTML_RESET,"reset"],[j.Msg.HTML_SEARCH,"search"],[j.Msg.HTML_SUBMIT,"submit"],[j.Msg.HTML_TELEPHONENUMBER,"telephone number"],[j.Msg.HTML_TIME,"time"],[j.Msg.HTML_URL,"url"],[j.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(j.Msg.HTML_NAME).appendField(new j.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(j.Msg.HTML_VALUE).appendField(new j.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(j.Msg.MIXLY_AIP_ATTR).setAlign(j.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ys={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new j.FieldTextInput("property"),"KEY").appendField(":").appendField(new j.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new j.FieldTextInput("property"),"KEY").appendField(":").appendField(new j.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(j.Msg.HTML_TEXT).appendField(new j.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ys=160,Vs={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new j.FieldTable(""),"TEXT")}},Bs={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new j.FieldMultilineInput(""),"TEXT")}},Gs={init:function(){this.setColour(ys),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new j.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Us={init:function(){this.setColour(ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},ws={init:function(){this.setColour(ys),this.appendDummyInput().appendTitle("Comment:").appendTitle(new j.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ks={init:function(){this.setColour(ys),this.appendValueInput("VALUE").appendField(j.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},xs={init:function(){this.setColour(ys),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(j.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=j.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+r()+"("+t+", "+e+", "+i+") or "+p()+"("+t+", "+e+", "+i+")"},j.isNumber(n)&&j.isNumber(s)&&j.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const Gu=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},Uu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},wu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},ku=function(t,e){return["None",e.ORDER_ATOMIC]},xu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Hu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Wu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ku=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Ju=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Qu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ju=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},qu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},zu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Zu=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},$u=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},tr=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},er=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ir=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},nr=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},sr=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},or=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},_r=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ur=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},rr=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},pr=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ar=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},lr=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ir=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},dr=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Tr=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},hr=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Mr=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),j.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Zr=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},$r=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},tp=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},ep=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},ip=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},np=function(t,e){return'"},sp=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},op=function(){return this.getFieldValue("TEXT")+"\n"},_p=function(t){return t.getFieldValue("TEXT")+"\n"},up=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},rp=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},pp=function(){return""},ap=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},lp=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+r.join("")+p.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+p.join("\n")},hp.scrubNakedValue=function(t){return t+"\n"},hp.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},hp.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},hp.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=j.utils.string.wrap(o,hp.COMMENT_WRAP-3),n+=hp.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const Mp=120,mp={init:function(){this.setColour(Mp),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(j.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new j.FieldDropdown(mp.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:j.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))},OPERATORS:[[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[j.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]]},Op={init:function(){this.setColour(Mp);var t=new j.FieldDropdown(Op.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:j.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}},OPERATORS:[[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[j.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]]},cp="5BA5A5",Ep={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cp),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Ep.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Rp={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Rp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"add"],[j.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gp={init:function(){this.setColour(cp),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(gp.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]]},Cp={init:function(){this.setColour(cp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_RECT).appendField(new j.FieldDropdown(Cp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_OLED_RECT)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Ap={init:function(){this.setColour(cp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new j.FieldDropdown(Ap.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Lp={init:function(){this.setColour(cp),this.appendValueInput("SUB").setCheck("var").appendField(j.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Lp.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Sp="#569A98",fp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(fp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(32).fill(0)))},Dp={init:function(){this.setColour(Sp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Dp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"add"],[j.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Np={init:function(){this.setColour(Sp),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Np.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(q.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(j.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:j.Msg.MIXLY_UP,shift_down:j.Msg.MIXLY_DOWN,shift_left:j.Msg.MIXLY_LEFT,shift_right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"shift_up"],[j.Msg.MIXLY_DOWN,"shift_down"],[j.Msg.MIXLY_LEFT,"shift_left"],[j.Msg.MIXLY_RIGHT,"shift_right"]]},Pp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(Pp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Fp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(Fp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},vp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(vp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Yp={init:function(){this.setColour(Sp),this.appendDummyInput().appendField(j.Msg.OLED_SET_FONT).appendField(new j.FieldDropdown(Yp.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+j.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+j.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+j.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},bp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(bp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Xp={init:function(){this.setColour(Sp),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new j.FieldDropdown(Xp.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[j.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[j.Msg.CLOCKWISE+"90"+j.Msg.blockpy_setheading_degree,"1"],[j.Msg.CLOCKWISE+"180"+j.Msg.blockpy_setheading_degree,"2"],[j.Msg.CLOCKWISE+"270"+j.Msg.blockpy_setheading_degree,"3"]]},yp={init:function(){this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(j.inputs.Align.CENTRE).appendField(new j.FieldBitmap(yp.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sp),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Vp=180,Bp={init:function(){this.setColour(Vp),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(j.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(Bp.OPERATORS),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"]]},Gp={init:function(){this.setColour(Vp),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(Gp.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[j.Msg.MICROBIT_DISPLAY_UNION,"+"],[j.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},Up={init:function(){this.setColour(Vp),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(Up.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]]},wp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_RECT).appendField(new j.FieldDropdown(wp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_OLED_RECT)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},kp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new j.FieldDropdown(kp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xp={init:function(){this.setColour(Vp),this.appendValueInput("VAR").appendField(j.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_DISPLAY_DRAW+j.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new j.FieldDropdown(xp.STATUS),"OP"),this.jsonInit({message0:j.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_DISPLAY_DRAW+j.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[j.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[j.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Hp=225,Wp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(j.Msg.MIXLY_NETWORK_MODE).appendField(new j.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Kp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[j.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=j.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:j.Msg.MIXLY_NETWORK_WIFI_OPEN,False:j.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},Jp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},Qp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:j.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},jp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(j.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(j.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},qp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_NETWORK_WIFI_CONNECT+j.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},zp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[j.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[j.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:j.Msg.MIXLY_ESP32_NETWORK_IP,1:j.Msg.MIXLY_ESP32_NETWORK_MASK,2:j.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},Zp={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},$p={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[j.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},ta={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.LISTS_SET_INDEX_SET+j.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(j.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(j.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(j.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},ea={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},ia={init:function(){this.setColour(Hp),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new j.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return j.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},na={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},sa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},oa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},_a={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},ua={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},ra={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},pa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},aa={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},la={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Ia={init:function(){this.setColour(Hp),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},da={init:function(){this.setColour(Hp),this.appendValueInput("DOMAIN").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_REQUESTS_GET).appendField(new j.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){j.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ta={init:function(){this.appendValueInput("VAL"),this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown(Ta.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:j.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:j.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:j.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[j.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[j.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[j.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[j.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},ha={init:function(){this.appendValueInput("VAR").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown(ha.METHOD),"DIR"),this.appendDummyInput("").appendField(j.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:j.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:j.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},Ma={init:function(){this.setColour(Hp),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(j.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},ma={init:function(){this.setColour(Hp),this.appendDummyInput("").appendField(new j.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},Oa="#3288dd",ca={init:function(){this.setColour(Oa),this.appendValueInput("URL").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(j.Msg.blockpy_REQUESTS).appendField(j.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ea={init:function(){this.setColour(Oa),this.appendValueInput("URL").appendField(j.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(j.Msg.blockpy_CONDUCT).appendField(new j.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(j.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(j.Msg.blockpy_REQUESTS+j.Msg.OLED_STRING),this.appendDummyInput("").appendField(j.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ra={init:function(){this.appendValueInput("VAL"),this.setColour(Oa),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown(Ra.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[j.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[j.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[j.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[j.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[j.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},ga={init:function(){this.setColour(Oa),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(j.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(j.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(j.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(j.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Ca={init:function(){this.setColour(Oa),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(j.Msg.MIXLY_EMQX_SERVER).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(j.Msg.MIXLY_EMQX_PORT).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(j.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(j.Msg.MIXLY_WIFI_USERNAME).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(j.Msg.MIXLY_IOT_PASSWORD).setAlign(j.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Aa={init:function(){this.setColour(Oa),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_SUBSCRIBE+j.Msg.MIXLY_MICROBIT_MSG).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(j.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},La={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_SUBSCRIBE+j.Msg.MIXLY_MICROBIT_MSG).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(j.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Sa={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(j.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(j.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(j.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fa={init:function(){this.setColour(Oa),this.appendDummyInput().appendField("mqtt"+j.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Da="#A58C5B",Na={init:function(){this.setColour(Da),this.appendValueInput("PIN",Number).appendField(new j.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new j.FieldDropdown(Na.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Pa={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Fa={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},va=(j.Msg.PS2_TRIANGLE,j.Msg.PS2_CIRCLE,j.Msg.PS2_CROSS,j.Msg.PS2_SQUARE,j.Msg.PS2_L1,j.Msg.PS2_L2,j.Msg.PS2_R1,j.Msg.PS2_R2,j.Msg.PS2_UP,j.Msg.PS2_RIGHT,j.Msg.PS2_DOWN,j.Msg.PS2_LEFT,j.Msg.PS2_SELECT,j.Msg.PS2_START,{init:function(){this.setColour(Da),this.appendDummyInput("").appendField(j.Msg.PS2_stick).appendField(new j.FieldDropdown(va.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[j.Msg.PS2_RX,"0"],[j.Msg.PS2_RY,"1"],[j.Msg.PS2_LX,"2"],[j.Msg.PS2_LY,"3"]]}),Ya={init:function(){this.setColour(Da),this.appendValueInput("SUB").appendField(j.Msg.PS2),this.appendDummyInput("").appendField(j.Msg.MIXLY_JOYSTICK).appendField(new j.FieldDropdown(Ya.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[j.Msg.PS2_RX,"RX"],[j.Msg.PS2_RY,"RY"],[j.Msg.PS2_LX,"LX"],[j.Msg.PS2_LY,"LY"]]},ba="#947C54",Xa={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_IS_PRESSED)}},ya={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},Va={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_BUTTON+j.Msg.MIXLY_GET_PRESSES)}},Ba={init:function(){this.setColour(ba),this.appendValueInput("btn").appendField(j.Msg.MIXLY_ESP32_INTERRUPT).appendField(j.Msg.MIXLY_BUTTON).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.MIXLY_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[j.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[j.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},Ga={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_IS_PRESSED)}},Ua={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},wa={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(j.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.PROCEDURES_DEFRETURN_RETURN+j.Msg.MIXLY_BUTTON+j.Msg.MIXLY_GET_PRESSES)}},ka={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_INTERRUPT).appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput("").appendField(j.Msg.MIXLY_MODE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[j.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[j.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(j.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},xa={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Ha={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Wa={init:function(){this.setColour(ba),this.appendValueInput("button").appendField(j.Msg.MIXLY_ESP32_TOUCH_SENSOR),this.appendDummyInput().appendField(j.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Ka={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_TOUCH_SLIDE),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOUCH_SLIDE_TOOLTIP)}},Ja={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_CHAOSHENGBO),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_CHAOSHENGBO)}},Qa={init:function(){this.setColour(ba),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCSETTIME).appendField("myRTC"),this.appendValueInput("hour").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_MINUTE),this.appendValueInput("second").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!1),this.setTooltip(j.Msg.MIXLY_RTCSETTIME+j.Msg.MIXLY_MIX2)}},ja={init:function(){this.setColour(ba),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCSETDATE).appendField("myRTC"),this.appendValueInput("year").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_YEAR),this.appendValueInput("month").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_MONTH),this.appendValueInput("day").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(" "+j.Msg.MIXLY_DAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_RTCSETDATE+j.Msg.MIXLY_MIX1)}},qa={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_CHAOSHENGBO),this.appendValueInput("PIN1",Number).appendField("Trig #").setCheck(Number),this.appendValueInput("PIN2",Number).appendField("Echo #").setCheck(Number),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO)}},za={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Za={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["1","touch1"],["2","touch2"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},$a={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},tl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_UP,"12"],[j.Msg.MIXLY_DOWN,"14"],[j.Msg.MIXLY_LEFT,"13"],[j.Msg.MIXLY_RIGHT,"15"],["A","32"],["B","33"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},el={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},il={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},nl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["3","3"],["4","4"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},sl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown([["0","0"],["1","1"]]),"op"),this.setOutput(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},ol={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_NEAR),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR)}},_l={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"left"],[j.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{left:j.Msg.TEXT_TRIM_LEFT,right:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},ul={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0)}},rl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"l"],[j.Msg.TEXT_TRIM_RIGHT,"r"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{l:j.Msg.TEXT_TRIM_LEFT,r:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},pl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"l"],[j.Msg.TEXT_TRIM_RIGHT,"r"]]),"direction").appendField(j.Msg.MIXLY_ESP32_EXTERN_LIGHT+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_EXTERN_LIGHT;return i+{l:j.Msg.TEXT_TRIM_LEFT,r:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},al={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_EXTERN_LIGHT+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},ll={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_COLOR_SENSOR+j.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},Il={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendDummyInput().setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RTCGETTIME),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIME_TOOLTIP+" (year, month, mday, hour, minute, second, weekday, yearday)")}},dl={init:function(){this.setColour(ba),this.appendValueInput("LIST").appendField(j.Msg.MIXLY_RTCGETTIMESTAMP),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIMESTAMP_TOOLTIP)}},Tl={init:function(){this.setColour(ba),this.appendValueInput("VAR").appendField(j.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(j.Msg.LISTS_TO_TUPLE),this.setInputsInline(!0),this.setOutput(!0,Number)}},hl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_USE_STRING_TUPLE),this.appendDummyInput().appendField(j.Msg.MIXLY_RTCSETTIME),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ml={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RTC"),this.appendValueInput("year").setCheck(Number).appendField(" "+j.Msg.MIXLY_YEAR),this.appendValueInput("month").setCheck(Number).appendField(" "+j.Msg.MIXLY_MONTH),this.appendValueInput("day").setCheck(Number).appendField(" "+j.Msg.MIXLY_DAY),this.appendValueInput("hour").setCheck(Number).appendField(" "+j.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).appendField(" "+j.Msg.MIXLY_MINUTE),this.appendValueInput("second").setCheck(Number).appendField(" "+j.Msg.MIXLY_SECOND),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_SET_DATATIME_TOOLTIP)}},ml={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("RTC"),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_SETUP).setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_ESP32_SENSOR_RTC_INT_TOOLTIP)}},Ol={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_RTC_GET_TIME_STR),this.setOutput(!0,String),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_ESP32_RTC_GET_TIME_TOOLTIP)}},cl={init:function(){this.setColour(ba),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_GPS_TIME+j.Msg.MIXLY_MICROBIT_TYPE_TUPLE).setCheck(),this.appendDummyInput().appendField(j.Msg.A_TO_B+j.Msg.MIXLY_GPS_TIME+j.Msg.LANG_MATH_STRING),this.setOutput(!0,String),this.setInputsInline(!0)}},El={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Rl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_SOUND),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},gl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_TEM_HUM+" "),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:j.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:j.Msg.MIXLY_ESP32C3_SENSOR_AHT_HUM_TOOLTIP}[e]}))}},Cl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Al={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_Altitude+j.Msg.MSG.catSensor+" "),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_GETPRESSURE,"pressure()"],[j.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[j.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RFID"+j.Msg.MIXLY_RFID_READ_CARD),this.appendDummyInput("").appendField(j.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("RFID"+j.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,Number),this.setInputsInline(!0)}},fl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Dl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SECTOR").appendField(j.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(j.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(j.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Nl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("RFID").appendField(new j.FieldDropdown([[j.Msg.MIXLY_RFID_SCAN_OK,"True"],[j.Msg.MIXLY_RFID_SCAN_NOTAGERR,"None"],[j.Msg.MIXLY_RFID_SCAN_ERROR,"False"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""],[j.Msg.MIXLY_STRENGTH,"strength"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Fl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET_GESTURE_ALL).appendField(new j.FieldDropdown([[j.Msg.ME_GO_PITCH,"[0]"],[j.Msg.ME_GO_ROLL,"[1]"],[j.Msg.ME_GO_PITCH+", "+j.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},vl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_shake,"shake"],[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"],[j.Msg.MIXLY_MICROBIT_face_up,"face up"],[j.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=j.Msg.MIXLY_MICROBIT_JS_CURRENT,n=j.Msg.MSG.catSensor,s=j.Msg.MIXLY_MICROBIT_JS_STATE,o=j.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:j.Msg.MIXLY_MICROBIT_shake,up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT,"face up":j.Msg.MIXLY_MICROBIT_face_up,"face down":j.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},Yl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},bl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Xl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},yl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},Vl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Bl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},Gl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField("MPU9250"),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Ul={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""],[j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH_ALL,"all"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},wl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+j.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},kl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},xl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GETTEMPERATUE),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GETTEMPERATUE),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},Kl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_GETTEMPERATUE)}},Jl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"1"],[j.Msg.TEXT_TRIM_RIGHT,"2"]]),"direction").appendField(j.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=j.Msg.MIXLY_ESP32_NEAR;return i+{left:j.Msg.TEXT_TRIM_LEFT,right:j.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},Ql={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0),this.setInputsInline(!0)}},jl={init:function(){this.setColour(ba),this.appendDummyInput().appendField("acc"+j.Msg.MIXLY_MICROBIT_JS_GET).appendField(new j.FieldDropdown([[j.Msg.MIXLY_ADXL345_XA,"[0]"],[j.Msg.MIXLY_ADXL345_YA,"[1]"],[j.Msg.MIXLY_ACC_SHAKE,"[2]"],[j.Msg.MIXLY_ADXL345_XA+","+j.Msg.MIXLY_ADXL345_YA+","+j.Msg.MIXLY_ACC_SHAKE,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_ACCELERATION)}},ql={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"[0]"],[j.Msg.MIXGO_LEFT_MID,"[1]"],[j.Msg.MIXGO_RIGHT_MID,"[2]"],[j.Msg.TEXT_TRIM_RIGHT,"[3]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},zl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.MIXGO_LEFT_FRONT,"[0]"],[j.Msg.MIXGO_RIGHT_FRONT,"[1]"],[j.Msg.MIXGO_LEFT_BACK,"[3]"],[j.Msg.MIXGO_RIGHT_BACK,"[2]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},Zl={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[j.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[j.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},$l={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0),this.setInputsInline(!0)}},tI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXGO_LINE_SENSOR).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_WHITE,"WHITE"],[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_BLACK,"BLACK"],[j.Msg.MIXLY_MIXBOT_LINE_SENSOR_CALIBRATE_RESET,"RESET_TO_FAB"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new j.FieldDropdown([[j.Msg.MIXGO_LEFT_FRONT,"[0]"],[j.Msg.MIXGO_RIGHT_FRONT,"[1]"],[j.Msg.MIXGO_LEFT_BACK,"[3]"],[j.Msg.MIXGO_RIGHT_BACK,"[2]"],[j.Msg.MIXLY_ALL,""]]),"key").appendField(j.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return j.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+j.Msg.MIXLY_ESP32_NEAR}))}},iI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_MICROBIT_JS_GET+j.Msg.MIXLY_MICROBIT_Board_temperature),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},nI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new j.FieldDropdown([["x","[0]"],["y","[1]"],["z","[2]"],["(x,y,z)",""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=j.Msg.MIXLY_MICROBIT_Direction,s=j.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{"[0]":"x","[1]":"y","[2]":"z","":j.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},sI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.ANALOG+j.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("mode").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(j.Msg.MIXLY_GET_LIGHT_INTENSITY+"(%)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},oI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(new j.FieldDropdown(q.Profile.default.als_num),"PIN"),this.setOutput(!0,Number)}},_I=Xa,uI=ya,rI=Va,pI=xa,aI=ul,lI=za,II=Na,dI=Fa,TI=Pa,hI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_ESP32_EXTERN_SOUND),this.setInputsInline(!0),this.setOutput(!0)}},MI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.blockpy_set_of+j.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},mI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_LIGHT_SENSOR),this.setInputsInline(!0),this.setOutput(!0)}},OI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_GYROSCOPE_SENSOR),this.setInputsInline(!0),this.setOutput(!0)}},cI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(new j.FieldDropdown([[j.Msg.MIXLY_Horizontal_inclination,"X"],["y","[1]"],["z","[2]"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},EI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_GET).setCheck("var"),this.appendDummyInput("").appendField(j.Msg.MIXLY_BE_SHAKED),this.setInputsInline(!0),this.setOutput(!0)}},RI={init:function(){this.setColour(ba),this.appendDummyInput("").appendField(j.Msg.MIXLY_BUTTON).appendField(new j.FieldDropdown([["a","a"],["b","b"],["c","c"]]),"btn"),this.setOutput(!0),this.setInputsInline(!0)}},gI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_BUTTON),this.appendDummyInput().appendField(j.Msg.MIXLY_WAS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SENOR_WAS_PRESSED)}},CI={init:function(){this.setColour(ba),this.appendValueInput("PIN").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_INITIAL),this.setOutput(!0),this.setInputsInline(!0)}},AI={init:function(){this.setColour(ba),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_READ),this.setOutput(!0),this.setInputsInline(!0)}},LI={init:function(){this.setColour(ba),this.appendValueInput("SUB").appendField(j.Msg.MIXLY_COMMUNICATION_RFID_READ+j.Msg.MIXLY_COMMUNICATION_DATA_FROM),this.appendDummyInput("").appendField(j.Msg.MIXLY_GET).appendField(new j.FieldDropdown([[j.Msg.MIXLY_SERIAL_NUMBER,"serial_number"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},SI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.MIXLY_THE_COPROCESSOR_VERSION),this.setOutput(!0),this.setInputsInline(!0)}},fI={init:function(){this.setColour(ba),this.appendDummyInput().appendField(j.Msg.MIXLY_GET+j.Msg.ANALOG+j.Msg.MIXLY_LIGHT_SENSOR2).appendField(new j.FieldDropdown([[j.Msg.TEXT_TRIM_LEFT,"0"],[j.Msg.TEXT_TRIM_RIGHT,"1"]]),"key"),this.appendDummyInput().appendField(j.Msg.blockpy_set_of+j.Msg.MIXLY_MICROBIT_JS_SYSTEM_RAISE_VALUE),this.setOutput(!0),this.setInputsInline(!0)}},DI=40,NI={init:function(){this.setColour(DI),this.appendValueInput("PIN",Number).appendField(new j.FieldDropdown([["DHT11","dht11"],["DHT22","dht22"]]),"TYPE").appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new j.FieldDropdown(NI.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[j.Msg.MIXLY_GETTEMPERATUE,"temperature"],[j.Msg.MIXLY_GETHUMIDITY,"relative_humidity"],[j.Msg.MIXLY_DHT11_T_H,"tempandhum"]]};const PI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = network.WLAN(network."+this.getFieldValue("mode")+"_IF);\n"},FI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect("+e.valueToCode(this,"id",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"password",e.ORDER_ATOMIC)+")\n"},vI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".isconnected()",e.ORDER_ATOMIC]},YI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".ifconfig()["+this.getFieldValue("mode")+"]",e.ORDER_ATOMIC]},bI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".disconnect()\n"},XI=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active("+this.getFieldValue("op")+")\n"},yI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active()",e.ORDER_ATOMIC]},VI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".config('"+this.getFieldValue("op")+"')",e.ORDER_ATOMIC]},BI=function(t,e){e.definitions_.import_network="import network";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"essid",e.ORDER_ATOMIC),s=e.valueToCode(this,"password",e.ORDER_ATOMIC);return i+".config(essid = "+n+", channel="+e.valueToCode(this,"channel",e.ORDER_ATOMIC)+",password="+s+")\n"},GI=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".scan()",e.ORDER_ATOMIC]},UI=function(t,e){e.definitions_["import_server_*"]="from server import *";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return"if not "+i+".isconnected():\n connectWifi(SSID, PASSWORD)\nip="+i+".ifconfig()[0]\nprint(ip)\ntime.sleep(1)\nDATA=listenData()\n"},wI=function(t,e){e.definitions_.import_network="import network",e.definitions_.import_socket="import socket";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"UDP"==n?n="socket.SOCK_DGRAM":"TCP"==n&&(n="socket.SOCK_STREAM"),i+" = socket.socket(socket.AF_INET, "+n+")\n"},kI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".bind("+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},xI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect(socket.getaddrinfo"+e.valueToCode(this,"address",e.ORDER_ATOMIC)+"[0][-1])\n"},HI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".listen("+e.valueToCode(this,"queue",e.ORDER_ATOMIC)+")\n"},WI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".accept()",e.ORDER_ATOMIC]},KI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".readline()",e.ORDER_ATOMIC]},JI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recv("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},QI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".send("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+")\n"},jI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recvfrom("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},qI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".sendto("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},zI=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".close()\n"},ZI=function(t,e){return e.definitions_.import_requests="import requests",e.variableDB_.getName(this.getFieldValue("VAR"),j.Variables.NAME_TYPE)+"= requests.get("+e.valueToCode(this,"DOMAIN",e.ORDER_ATOMIC)+")\n"},$I=function(t,e){return e.definitions_.import_requests="import requests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},td=function(t,e){return e.definitions_.import_requests="import requests","requests."+this.getFieldValue("DIR")+"("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")\n"},ed=function(t,e){return e.definitions_.import_ntptime="import ntptime",["ntptime.time(host="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},id=function(t,e){return["'"+this.getFieldValue("op")+"'",e.ORDER_ATOMIC]},nd=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},sd=function(t,e){return e.definitions_.import_urequests="import urequests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},od=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+", data="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_d=function(t,e){return e.definitions_.import_educore_wifi="from educore import wifi","wifi.connect(ssid="+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", timeout="+e.valueToCode(this,"TIMEOUT",e.ORDER_ATOMIC)+")\n"},ud=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.connect(server="+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", port="+e.valueToCode(this,"PORT",e.ORDER_ATOMIC)+", client_id="+e.valueToCode(this,"CLIENT_ID",e.ORDER_ATOMIC)+", user="+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},rd=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC);return["mqttclient."+e.valueToCode(this,"MESSAGE",e.ORDER_ATOMIC)+"("+i+")",e.ORDER_ATOMIC]},pd=function(t,e){var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC),n=e.valueToCode(this,"METHOD",e.ORDER_ATOMIC);return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.received(topic="+i+", callback="+n+")\n"},ad=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqtt_client.publish(topic="+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", content="+e.valueToCode(this,"MSG",e.ORDER_ATOMIC)+")\n"},ld=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";return["mqtt_client.connescted()",e.ORDER_ATOMIC]},Id=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".is_pressed()",e.ORDER_ATOMIC]},dd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".was_pressed()",e.ORDER_ATOMIC]},Td=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".get_presses("+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},hd=function(t,e){e.definitions_.import_machine="import machine";var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i]="import "+i;var n=e.valueToCode(this,"btn",e.ORDER_ATOMIC),s=this.getFieldValue("mode");return i+"."+n+".irq(handler="+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger="+s+")\n"},Md=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.is_pressed()",e.ORDER_ATOMIC]},md=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.was_pressed()",e.ORDER_ATOMIC]},Od=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".button.get_presses("+(e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT)||"0")+")",e.ORDER_ATOMIC]},cd=function(t,e){e.definitions_.import_machine="import machine";var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i]="import "+i;var n=this.getFieldValue("mode");return i+".button.irq(handler="+e.valueToCode(this,"DO",e.ORDER_ATOMIC)+", trigger="+n+")\n"},Ed=function(t,e){return e.definitions_.import_sonar="import sonar",["sonar.Sonar("+e.valueToCode(this,"PIN1",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN2",e.ORDER_ASSIGNMENT)+").checkdist()",e.ORDER_ATOMIC]},Rd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},gd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Cd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Ad=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Ld=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Sd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},fd=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Dd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.ps_nl()",e.ORDER_ATOMIC]},Nd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+".infrared_"+this.getFieldValue("direction")+"()",e.ORDER_ATOMIC]},Pd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.ps()",e.ORDER_ATOMIC]},Fd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_"+n]="from "+i+" import onboard_als_"+n,["onboard_als_"+n+".ps_nl()",e.ORDER_ATOMIC]},vd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.als()",e.ORDER_ATOMIC]},Yd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.color()",e.ORDER_ATOMIC]},bd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_"+n]="from "+i+" import onboard_als_"+n,["onboard_als_"+n+".als_vis()",e.ORDER_ATOMIC]},Xd=function(t,e){return e.definitions_.import_ds18x20x="import ds18x20x",["ds18x20x.get_ds18x20_temperature("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},yd=function(t,e){return e.definitions_.import_lm35="import lm35",["lm35.get_LM35_temperature("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Vd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixgo"==i)return e.definitions_.import_mixgo="import mixgo",["mixgo.get_brightness()",e.ORDER_ATOMIC];if("mixgo_ce"==i)return e.definitions_.import_mixgo_ce="import mixgo_ce",["mixgo_ce.get_brightness()",e.ORDER_ATOMIC];if("mpython"==i)return e.definitions_.import_mpython_onboard_light="from mpython import onboard_light",["onboard_light.brightness()",e.ORDER_ATOMIC];e.definitions_["import_"+i+"_onboard_als"]="from "+i+" import onboard_als";return["onboard_als.als_vis()",e.ORDER_ATOMIC]},Bd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixbot"==i){e.definitions_["import_"+i+"_sound"]="from "+i+" import sound";var n="sound.loudness()"}else if("mixgo_zero"==i){e.definitions_.import_mixgo_zero_voice_sound_level="from mixgo_zero_voice import sound_level";n="sound_level()"}else if("mixgo_nova"==i){e.definitions_.import_mixgo_nova_voice_sound_level="from mixgo_nova_voice import sound_level";n="sound_level()"}else if("mixgo_soar"==i){e.definitions_.import_mixgo_soar_voice_sound_level="from mixgo_soar_voice import sound_level";n="sound_level()"}else{if("mixgo"==i)return e.definitions_.import_mixgo="import mixgo",["mixgo.get_soundlevel()",e.ORDER_ATOMIC];if("mpython"==i)return e.definitions_.import_mpython_onboard_sound="from mpython import onboard_sound",["onboard_sound.soundlevel()",e.ORDER_ATOMIC];if("mixgo_mini"==i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";n="onboard_bot.soundlevel()"}else{e.definitions_["import_"+i+"_onboard_sound"]="from "+i+" import onboard_sound";n="onboard_sound.read()"}}return[n,e.ORDER_ATOMIC]},Gd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");return"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_spl06_001="import spl06_001",e.definitions_.import_onboard_bps="onboard_bps = spl06_001.SPL06(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_bps"]="from "+i+" import onboard_bps",["onboard_bps."+n,e.ORDER_ATOMIC]},Ud=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");return"mixgo_nova"==i||"mixgo_zero"==i?e.definitions_["import_"+i+"_onboard_ths"]="from "+i+" import onboard_ths":"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_shtc3="import shtc3",e.definitions_.import_onboard_ths="onboard_ths = shtc3.SHTC3(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_ths"]="from "+i+" import onboard_ths",["onboard_ths."+n+"()",e.ORDER_ATOMIC]},wd=function(t,e){return e.definitions_.import_feiyi_onboard_acc="from feiyi import onboard_acc",["onboard_acc.temperature()",e.ORDER_ATOMIC]},kd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=i,s="onboard_rfid";return"mixgo_mini"===i?(n="mini_gx",s="ext_rfid"):"mixgo_me"===i?(n="me_g1",s="ext_rc522"):"mixgo_sant"===i&&(n="sant_gx",s="ext_rfid"),e.definitions_[`import_${n}_${s}`]=`from ${n} import ${s}`,[`${s}.read_card(0, x="id")`,e.ORDER_ATOMIC]},xd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=i,o="onboard_rfid";return"mixgo_mini"===i?(s="mini_gx",o="ext_rfid"):"mixgo_me"===i?(s="me_g1",o="ext_rc522"):"mixgo_sant"===i&&(s="sant_gx",o="ext_rfid"),e.definitions_[`import_${s}_${o}`]=`from ${s} import ${o}`,[`${o}.read_card(${n}, x="content")`,e.ORDER_ATOMIC]},Hd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC),o=i,_="onboard_rfid";return"mixgo_mini"===i?(o="mini_gx",_="ext_rfid"):"mixgo_me"===i?(o="me_g1",_="ext_rc522"):"mixgo_sant"===i&&(o="sant_gx",_="ext_rfid"),e.definitions_[`import_${o}_${_}`]=`from ${o} import ${_}`,`${_}.write_card(${s}, ${n})\n`},Wd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"SECTOR",e.ORDER_ATOMIC),s=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC),o=i,_="onboard_rfid";return"mixgo_mini"===i?(o="mini_gx",_="ext_rfid"):"mixgo_me"===i?(o="me_g1",_="ext_rc522"):"mixgo_sant"===i&&(o="sant_gx",_="ext_rfid"),e.definitions_[`import_${o}_${_}`]=`from ${o} import ${_}`,[`${_}.write_card(${s}, ${n})`,e.ORDER_ATOMIC]},Kd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key"),s=i,o="onboard_rfid";return"mixgo_mini"===i?(s="mini_gx",o="ext_rfid"):"mixgo_me"===i?(s="me_g1",o="ext_rc522"):"mixgo_sant"===i&&(s="sant_gx",o="ext_rfid"),e.definitions_[`import_${s}_${o}`]=`from ${s} import ${o}`,[`${o}.scan_card() == ${n}`,e.ORDER_ATOMIC]},Jd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("strength"==n){if("mixbot"==i){e.definitions_["import_"+i+"_acc_gyr"]="from "+i+" import acc_gyr";var s="acc_gyr.strength()"}else if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";s="onboard_imu.strength()"}else{e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc";s="onboard_acc.strength()"}return[s,e.ORDER_ATOMIC]}if("mixbot"==i){e.definitions_["import_"+i+"_acc_gyr"]="from "+i+" import acc_gyr";s="acc_gyr.accelerometer()"+n}else if("mpython"==i){e.definitions_.import_mpython_motion="from mpython import motion";s="motion.accelerometer()"+n}else if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";s="onboard_imu.acceleration()"+n}else{e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc";s="onboard_acc.acceleration()"+n}return[s,e.ORDER_ATOMIC]},Qd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_acc"]="from "+i+" import onboard_acc",["onboard_acc.eulerangles()"+this.getFieldValue("angle"),e.ORDER_ATOMIC]},jd=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("gesture"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+'.mpu9250_is_gesture("'+i+'")',e.ORDER_ATOMIC]},qd=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_get_"+i+"()",e.ORDER_ATOMIC]},zd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"button",e.ORDER_ATOMIC);if("mixgo_mini"===i||"mixgo_sant"===i||"mixgo_soar"===i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";var s="onboard_bot.touched("+n+")"}else{e.definitions_["import_"+i]="import "+i;s=i+".touched("+n+")"}return[s,e.ORDER_ATOMIC]},Zd=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_mini"===i||"mixgo_sant"===i||"mixgo_soar"===i){e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";var n="onboard_bot.touch_slide()"}else{e.definitions_["import_"+i]="import "+i;n=i+".touch_slide(3, 4)"}return[n,e.ORDER_ATOMIC]},$d=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i]="import "+i,[i+"."+e.valueToCode(this,"button",e.ORDER_ATOMIC)+".is_touched()",e.ORDER_ATOMIC]},tT=function(t,e){return e.definitions_.import_mpython="import mpython",["mpython.touch_"+e.valueToCode(this,"button",e.ORDER_ATOMIC)+".is_touched()",e.ORDER_ATOMIC]},eT=function(t,e){e.definitions_.import_adxl345="import adxl345";var i,n=this.getFieldValue("key"),s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"x"==n?i=s+".readX()":"y"==n?i=s+".readY()":"z"==n?i=s+".readZ()":"values"==n&&(i=s+".readXYZ()"),[i,e.ORDER_ATOMIC]},iT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_magnetic_"+i+"()",e.ORDER_ATOMIC]},nT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=this.getFieldValue("key"),n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==n&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[n+".mpu9250_gyro_"+i+"()",e.ORDER_ATOMIC]},sT=function(t,e){return e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_compass="from mixgo import compass",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".calibrate()\n"},oT=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"mpu"==i&&(e.definitions_.import_mixgo_mpu="from mixgo import mpu"),[i+".mpu9250_get_temperature()",e.ORDER_ATOMIC]},_T=function(t,e){e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);"compass"==i&&(e.definitions_.import_mixgo_compass="from mixgo import compass");var n,s=this.getFieldValue("compass");return"strength"==s?n=i+".get_field_strength()":"heading"==s&&(n=i+".heading()"),[n,e.ORDER_ATOMIC]},uT=function(t,e){return e.definitions_.import_mpu9250="import mpu9250",e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_compass="from mixgo import compass",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".reset_calibrate()\n"},rT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("gesture");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",['onboard_mpu.mpu9250_is_gesture("'+i+'")',e.ORDER_ATOMIC]},pT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_get_"+i+"()",e.ORDER_ATOMIC]},aT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_magnetic_"+i+"()",e.ORDER_ATOMIC]},lT=function(t,e){e.definitions_.import_machine="import machine";var i=this.getFieldValue("key");return e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_gyro_"+i+"()",e.ORDER_ATOMIC]},IT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass","onboard_compass.calibrate()\n"},dT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_mpu="from mixgo import onboard_mpu",["onboard_mpu.mpu9250_get_temperature()",e.ORDER_ATOMIC]},TT=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass";var i,n=this.getFieldValue("compass");return"strength"==n?i="onboard_compass.get_field_strength()":"heading"==n&&(i="onboard_compass.heading()"),[i,e.ORDER_ATOMIC]},hT=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_mixgo_onboard_compass="from mixgo import onboard_compass","onboard_compass.reset_calibrate()\n"},MT=function(t,e){return e.definitions_.import_rtctime="import rtctime","rtctime.settime(("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+", 0, 0))\n"},mT=function(t,e){var i=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.import_rtctime="import rtctime","rtctime.settime("+i+")\n"},OT=function(t,e){e.definitions_.import_time="import time";return["time.localtime()",e.ORDER_ATOMIC]},cT=function(t,e){return e.definitions_.import_time="import time",["time.mktime("+e.valueToCode(this,"LIST",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ET=function(t,e){return e.definitions_.import_time="import time",["time.localtime("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},RT=function(t,e){e.definitions_.import_rtctime="import rtctime";return["rtctime.strtime()",e.ORDER_ATOMIC]},gT=function(t,e){return e.definitions_.import_rtctime="import rtctime",["rtctime.strtime("+e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},CT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==n)if(e.definitions_.import_mpython_magnetic="from mpython import magnetic","all"==i)var s="magnetic.getstrength()";else s="magnetic.getdata()"+i;else if("mixgo_mini"==n)if(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)","all"==i)s="onboard_mgs.getstrength()";else s="onboard_mgs.getdata()"+i;else if(e.definitions_["import_"+n+"_onboard_mgs"]="from "+n+" import onboard_mgs","all"==i)s="onboard_mgs.getstrength()";else s="onboard_mgs.getdata()"+i;return[s,e.ORDER_ATOMIC]},AT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i){e.definitions_.import_mpython_magnetic="from mpython import magnetic"}else"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_mgs"]="from "+i+" import onboard_mgs";return["onboard_mgs.getangle()",e.ORDER_ATOMIC]},LT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];"mixgo_mini"==i?(e.definitions_.import_mixgo_mini_onboard_i2c="from mixgo_mini import onboard_i2c",e.definitions_.import_mmc5603="import mmc5603",e.definitions_.import_onboard_mgs="onboard_mgs = mmc5603.MMC5603(onboard_i2c)"):e.definitions_["import_"+i+"_onboard_mgs"]="from "+i+" import onboard_mgs";return"onboard_mgs.calibrate()\n"},ST=function(t,e){if("mixgo_mini"==q.Boards.getSelectedBoardKey().split(":")[2]){e.definitions_.import_mixgo_mini_onboard_temperature="from mixgo_mini import onboard_temperature";var i="onboard_temperature()"}else{e.definitions_.import_mixgo_me_onboard_acc="from mixgo_me import onboard_acc";i="onboard_acc.temperature()"}return[i,e.ORDER_ATOMIC]},fT=function(t,e){e.definitions_.import_mixgo_ce="import mixgo_ce";return["mixgo_ce.get_temperature()",e.ORDER_ATOMIC]},DT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mpython_motion="from mpython import motion",["motion.gyroscope()"+i,e.ORDER_ATOMIC]},NT=function(t,e){return e.definitions_.import_mpython_motion="from mpython import motion",["motion.temperature()",e.ORDER_ATOMIC]},PT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("direction");return e.definitions_["import_"+i+"_adc"+n]="from "+i+" import adc"+n,["adc"+n+".read()",e.ORDER_ATOMIC]},FT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return"feiyi"==i?(e.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51",["onboard_bot51.read_bat()",e.ORDER_ATOMIC]):(e.definitions_["import_"+i+"_battery"]="from "+i+" import battery",["battery.voltage()",e.ORDER_ATOMIC])},vT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_rm_e1_gyro="from rm_e1 import gyro",["gyro.acceleration()"+i,e.ORDER_ATOMIC]},YT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info",["onboard_info.patrol()"+i,e.ORDER_ATOMIC]},bT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info",["onboard_info.obstacle()"+i,e.ORDER_ATOMIC]},XT=function(t,e){var i=this.getFieldValue("key");return e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info","onboard_info.ir_mode(onboard_info."+i+")\n"},yT=function(t,e){e.definitions_.import_mixgocar_c3_onboard_info="from mixgocar_c3 import onboard_info";return["onboard_info.read_bat()",e.ORDER_ATOMIC]},VT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+n+"_patrol"]="from "+n+" import patrol","patrol.correct(patrol.CORRECTING_"+i+")\n"},BT=function(t,e){var i=this.getFieldValue("key"),n=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+n+"_patrol"]="from "+n+" import patrol",["patrol.getdata()"+i,e.ORDER_ATOMIC]},GT=function(t,e){e.definitions_.import_mixbot_acc_gyr="from mixbot import acc_gyr";return["acc_gyr.temperature()",e.ORDER_ATOMIC]},UT=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2],n=this.getFieldValue("key");if("mixgo_soar"==i){e.definitions_["import_"+i+"_onboard_imu"]="from "+i+" import onboard_imu";var s="onboard_imu.gyroscope()"+n}else{e.definitions_.import_mixbot_acc_gyr="from mixbot import acc_gyr";s="acc_gyr.gyroscope()"+n}return[s,e.ORDER_ATOMIC]},wT=function(t,e){return e.definitions_.import_feiyi_onboard_bot51="from feiyi import onboard_bot51",["onboard_bot51.read_als("+e.valueToCode(this,"mode",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},kT=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},xT=Id,HT=dd,WT=Td,KT=$d,JT=Pd,QT=Vd,jT=QT,qT=function(t,e){return e.definitions_.import_dhtx="import dhtx",["dhtx."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")."+this.getFieldValue("WHAT")+"()",e.ORDER_ATOMIC]},zT=function(t,e){e.definitions_.import_educore_sound="from educore import sound";return["sound()",e.ORDER_ATOMIC]},ZT=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},$T=function(t,e){e.definitions_.import_educore_light="from educore import light";return["light()",e.ORDER_ATOMIC]},th=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer";return["accelerometer()",e.ORDER_ATOMIC]},eh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},ih=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_accelerometer"]="from "+i+" import accelerometer",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shake()",e.ORDER_ATOMIC]},nh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_button"]="from "+i+" import button",["button(button."+this.getFieldValue("btn")+")",e.ORDER_ATOMIC]},sh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_button"]="from "+i+" import button",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".status()",e.ORDER_ATOMIC]},oh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",["rfid("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_h=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scanning()",e.ORDER_ATOMIC]},uh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_rfid"]="from "+i+" import rfid",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},rh=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot";return["onboard_bot.version()",e.ORDER_ATOMIC]},ph=function(t,e){var i=q.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_bot"]="from "+i+" import onboard_bot",["onboard_bot.brightness("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},ah='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:lh}=q,{XML:Ih}=(lh.render(ah,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),q),{XML:dh}=(Ih.render(ah,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),q),Th=(dh.render(ah,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),new j.Generator("Python"));Th.INDENT=" ",Th.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),Th.ORDER_ATOMIC=0,Th.ORDER_COLLECTION=1,Th.ORDER_STRING_CONVERSION=1,Th.ORDER_UNARY_POSTFIX=1,Th.ORDER_UNARY_PREFIX=2,Th.ORDER_MEMBER=2.1,Th.ORDER_FUNCTION_CALL=2.2,Th.ORDER_EXPONENTIATION=3,Th.ORDER_UNARY_SIGN=4,Th.ORDER_BITWISE_NOT=4,Th.ORDER_MULTIPLICATIVE=5,Th.ORDER_ADDITIVE=6,Th.ORDER_BITWISE_SHIFT=7,Th.ORDER_BITWISE_AND=8,Th.ORDER_BITWISE_XOR=9,Th.ORDER_BITWISE_OR=10,Th.ORDER_RELATIONAL=11,Th.ORDER_EQUALITY=11,Th.ORDER_LOGICAL_NOT=12,Th.ORDER_LOGICAL_AND=13,Th.ORDER_LOGICAL_OR=14,Th.ORDER_ASSIGNMENT=14,Th.ORDER_CONDITIONAL=15,Th.ORDER_LAMBDA=16,Th.ORDER_NONE=99,Th.ORDER_OVERRIDES=[[Th.ORDER_FUNCTION_CALL,Th.ORDER_MEMBER],[Th.ORDER_FUNCTION_CALL,Th.ORDER_FUNCTION_CALL],[Th.ORDER_MEMBER,Th.ORDER_MEMBER],[Th.ORDER_MEMBER,Th.ORDER_FUNCTION_CALL]],Th.init=function(){Th.PASS=this.INDENT+"pass\n",Th.definitions_=Object.create(null),Th.functionNames_=Object.create(null),Th.setups_=Object.create(null),Th.loops_=Object.create(null),Th.codeEnd_=Object.create(null),Th.variableDB_?Th.variableDB_.reset():Th.variableDB_=new tt(Th.RESERVED_WORDS_)},Th.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in Th.functions_)_.push(Th.functions_[s]);_.length&&_.push("\n");var u=[];for(var s in Th.setups_)u.push(Th.setups_[s]);u.length&&u.push("\n");var r=[];for(var s in Th.loops_)r.push(Th.loops_[s]);var p=[];for(var s in Th.codeEnd_)p.push(Th.codeEnd_[s]);0!==p.length&&p.push("\n");let a="";return a=r.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+r.join("")+p.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+p.join("\n"),a},Th.scrubNakedValue=function(t){return t+"\n"},Th.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},Th.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Th.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=j.utils.string.wrap(o,Th.COMMENT_WRAP-3),n+=Th.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const hh={microbit:{description:"microbit_python",digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],pwm:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],analog:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P10","10"]],interrupt:[["P0","0"],["P1","1"],["P2","2"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","Image.HEART"],["HEART_SMALL","Image.HEART_SMALL"],["HAPPY","Image.HAPPY"],["SMILE","Image.SMILE"],["SAD","Image.SAD"],["CONFUSED","Image.CONFUSED"],["ANGRY","Image.ANGRY"],["ASLEEP","Image.ASLEEP"],["SURPRISED","Image.SURPRISED"],["SILLY","Image.SILLY"],["FABULOUS","Image.FABULOUS"],["MEH","Image.MEH"],["YES","Image.YES"],["NO","Image.NO"],["CLOCK12","Image.CLOCK12"],["CLOCK11","Image.CLOCK11"],["CLOCK10","Image.CLOCK10"],["CLOCK9","Image.CLOCK9"],["CLOCK8","Image.CLOCK8"],["CLOCK7","Image.CLOCK7"],["CLOCK6","Image.CLOCK6"],["CLOCK5","Image.CLOCK5"],["CLOCK4","Image.CLOCK4"],["CLOCK3","Image.CLOCK3"],["CLOCK2","Image.CLOCK2"],["CLOCK1","Image.CLOCK1"],["ARROW_N","Image.ARROW_N"],["ARROW_NE","Image.ARROW_NE"],["ARROW_E","Image.ARROW_E"],["ARROW_SE","Image.ARROW_SE"],["ARROW_S","Image.ARROW_S"],["ARROW_SW","Image.ARROW_SW"],["ARROW_W","Image.ARROW_W"],["ARROW_NW","Image.ARROW_NW"],["TRIANGLE","Image.TRIANGLE"],["TRIANGLE_LEFT","Image.TRIANGLE_LEFT"],["CHESSBOARD","Image.CHESSBOARD"],["DIAMOND","Image.DIAMOND"],["DIAMOND_SMALL","Image.DIAMOND_SMALL"],["SQUARE","Image.SQUARE"],["SQUARE_SMALL","Image.SQUARE_SMALL"],["RABBIT","Image.RABBIT"],["COW","Image.COW"],["MUSIC_CROTCHET","Image.MUSIC_CROTCHET"],["MUSIC_QUAVER","Image.MUSIC_QUAVER"],["MUSIC_QUAVERS","Image.MUSIC_QUAVERS"],["PITCHFORK","Image.PITCHFORK"],["XMAS","Image.XMAS"],["PACMAN","Image.PACMAN"],["TARGET","Image.TARGET"],["TSHIRT","Image.TSHIRT"],["ROLLERSKATE","Image.ROLLERSKATE"],["DUCK","Image.DUCK"],["HOUSE","Image.HOUSE"],["TORTOISE","Image.TORTOISE"],["BUTTERFLY","Image.BUTTERFLY"],["STICKFIGURE","Image.STICKFIGURE"],["GHOST","Image.GHOST"],["SWORD","Image.SWORD"],["GIRAFFE","Image.GIRAFFE"],["SKULL","Image.SKULL"],["UMBRELLA","Image.UMBRELLA"],["SNAKE","Image.SNAKE"],["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],imglist:[["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["P0","0"],["P1","1"],["P2","2"],["P8","8"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]]}};hh["BBC micro:bit"]=hh.microbit;const Mh=hh,mh=100,Oh={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",message0:j.Msg.MIXLY_MICROBIT_Play_built_in_melody,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Play_built_in_melody1)}},ch={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",tooltip:"Play one of the built-in melodies. Indicate if you need to wait before continuing or continuously loop the melody.",message0:j.Msg.MIXLY_MICROBIT_Play_built_in_melody_easy,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"}]})}},Eh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_TONE).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MIXLY_FREQUENCY),this.appendValueInput("duration").setCheck(Number).appendField(j.Msg.MIXLY_DURATION),this.appendDummyInput("").appendField(j.Msg.MIXLY_MILLIS).appendField(j.Msg.MIXLY_MICROBIT_WAIT),this.appendDummyInput("").appendField(new j.FieldCheckbox(!0),"wait"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Rh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_TONE).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},gh={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",message0:j.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Play_notes1)}},Ch={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",tooltip:"Play a list of notes expressed in the special music language. Indicate if you need to wait before continuing or continuously loop the melody.",message0:j.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{type:"input_dummy"},{type:"input_dummy"}]})}},Ah={init:function(){this.jsonInit({colour:mh,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",message0:j.Msg.MIXLY_MICROBIT_Reset_music}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Reset_music)}},Lh={init:function(){this.setColour(mh),this.appendValueInput("PIN").appendField(j.Msg.MIXLY_NOTONE).appendField(j.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_NOTONE)}},Sh={init:function(){this.jsonInit({colour:mh,output:"Array",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",message0:j.Msg.MIXLY_MICROBIT_Get_current_tempo}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Get_current_tempo)}},fh={init:function(){this.setColour(mh),this.appendValueInput("TICKS").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(j.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(j.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_SET_TEMPO1)}},Dh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,"say"],[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,"sing"],[j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE,"pronounce"]]),"MODE"),this.appendValueInput("pitch").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_pitch),this.appendValueInput("speed").setCheck(Number).appendField(j.Msg.MIXLY_SPEED),this.appendValueInput("mouth").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_mouth),this.appendValueInput("throat").setCheck(Number).appendField(j.Msg.MICROBIT_SPEECH_throat),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH,n=j.Msg.MIXLY_MICROBIT_TYPE_STRING;return i+{say:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,sing:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,pronounce:j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE}[e]+n}))}},Nh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ph={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Fh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vh={init:function(){this.setColour(mh),this.appendValueInput("VAR").setCheck(String).appendField(j.Msg.MICROBIT_SPEECH_translation),this.setOutput(!0,String),this.setTooltip(j.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+j.Msg.MIXLY_MICROBIT_TYPE_STRING+j.Msg.MICROBIT_SPEECH_translation)}},Yh={init:function(){this.setColour(mh),this.appendValueInput("PIN",Number).appendField(j.Msg.MIXLY_SERVO).appendField(j.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERVO_MOVE)}},bh={init:function(){this.appendValueInput("speed").setCheck(null).appendField(j.Msg.MIXLY_MOTOR).appendField(new j.FieldDropdown([["M1","1"],["M2","2"],["M3","3"],["M4","4"]]),"Motor").appendField(j.Msg.MIXLY_SPEED),this.appendDummyInput().appendField(new j.FieldDropdown([["Forward","1*"],["Reverse","-1*"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(mh),this.setTooltip(""),this.setHelpUrl("")}},Xh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_RGB_PIN_COUNT)}},yh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_RGB_NUM_R_G_B)}},Vh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").setAlign(j.inputs.Align.RIGHT).appendField(new j.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Bh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_RGB),this.appendDummyInput().appendField(j.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(j.Msg.MIXLY_ESP32_MUSIC_WRI)}},Gh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.MIXLY_SETUP+" "+j.Msg.QJ00X_MP3),this.appendValueInput("RX").setAlign(j.inputs.Align.RIGHT).appendField("TX#"),this.appendValueInput("TX").setAlign(j.inputs.Align.RIGHT).appendField("RX#"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Uh=[[j.Msg.MIXLY_MP3_PLAY,"play"],[j.Msg.MIXLY_MP3_PAUSE,"pause"],[j.Msg.MIXLY_MP3_NEXT,"next_track"],[j.Msg.MIXLY_MP3_PREV,"prev_track"],[j.Msg.MIXLY_MP3_VOL_UP,"inc_vol"],[j.Msg.MIXLY_MP3_VOL_DOWN,"dec_vol"]];const wh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(Uh),"CONTROL_TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var kh=[[j.Msg.MIXLY_MP3_LOOP_ALL,"0"],[j.Msg.MIXLY_MP3_LOOP_FOLDER,"1"],[j.Msg.MIXLY_MP3_LOOP_ONE,"2"],[j.Msg.MIXLY_MP3_LOOP_RAM,"3"]];const xh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_LOOP_MODE).appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(kh),"LOOP_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Hh=[[j.Msg.MIXLY_MP3_EQ_NORMAL,"0"],[j.Msg.MIXLY_MP3_EQ_POP,"1"],[j.Msg.MIXLY_MP3_EQ_ROCK,"2"],[j.Msg.MIXLY_MP3_EQ_JAZZ,"3"],[j.Msg.MIXLY_MP3_EQ_CLASSIC,"4"],[j.Msg.MIXLY_MP3_EQ_BASS,"5"]];const Wh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_EQ_MODE).appendField(j.Msg.MIXLY_STAT).appendField(new j.FieldDropdown(Hh),"EQ_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Kh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(j.Msg.MIXLY_MP3_VOL),this.appendValueInput("vol",Number).appendField(j.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Jh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Qh={init:function(){this.setColour(mh),this.appendDummyInput("").appendField(j.Msg.QJ00X_MP3),this.appendValueInput("FOLDER",Number).appendField(j.Msg.DFPLAYER_MINI_FOLDER).setCheck(Number),this.appendValueInput("NUM",Number).appendField(j.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},jh=140,qh={init:function(){this.setColour(225),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"on"],[j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"off"],[j.Msg.HTML_RESET,"reset"]]),"type").appendField(j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type"),i=j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI;return{on:j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,off:j.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,reset:j.Blockly.Msg.HTML_RESET}[e]+i}))}},zh={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",tooltip:"Turn on the radio. This needs to be explicitly called since the radio draws power and takes up memory that you may otherwise need.",message0:j.Msg.MIXLY_MICROBIT_Switch_on_radio})}},Zh={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",tooltip:"Turn off the radio, thus saving power and memory.",message0:j.Msg.MIXLY_MICROBIT_Switch_off_radio})}},$h={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",tooltip:j.Msg.MIXLY_MICROBIT_Configure_radio1,message0:j.Msg.MIXLY_MICROBIT_Configure_radio,args0:[{min:4,value:32,type:"input_value",max:251,name:"length"},{type:"input_dummy"},{min:1,value:3,type:"input_value",max:32,name:"queue"},{type:"input_dummy"},{min:0,value:7,type:"input_value",max:100,name:"channel"},{type:"input_dummy"},{name:"power",type:"input_value"},{type:"input_dummy"},{name:"address",type:"input_value"},{type:"input_dummy"},{name:"group",type:"input_value"},{type:"input_dummy"},{name:"data_rate",type:"input_value"}]})}},tM={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",tooltip:"Reset the radio to default settings.",message0:j.Msg.MIXLY_MICROBIT_Reset_radio})}},eM={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",tooltip:"Broadcast a text message.",message0:j.Msg.MIXLY_MICROBIT_Send_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},iM={init:function(){this.setColour(225),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_RADIO_SEND),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_MSG,"send"],[j.Msg.MIXLY_MICROBIT_MSG_BYTE,"send_bytes"]]),"type"),this.appendValueInput("data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Send_message1)}},nM={init:function(){this.jsonInit({colour:225,output:"String",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",tooltip:j.Msg.MIXLY_MICROBIT_Receive_message,message0:j.Msg.MIXLY_MICROBIT_Receive_message})}},sM={init:function(){this.setColour(225),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_Receive_message),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_MSG,"receive"],[j.Msg.MIXLY_MICROBIT_MSG_BYTE,"receive_bytes"],[j.Msg.MIXLY_MICROBIT_MSG_FULL,"receive_full"]]),"type"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_Receive_message)}},oM={init:function(){this.setColour(jh),this.appendValueInput("RX",Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_SETUP).appendField("sda").setCheck(Number).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("scl").setCheck(Number).setAlign(j.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField("频率").setAlign(j.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_M={init:function(){this.setColour(jh),this.appendValueInput("address").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_READ_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.LANG_MATH_BYTE),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new j.FieldCheckbox(!1),"is_repeated"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},uM={init:function(){this.setColour(jh),this.appendValueInput("address").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_WRITE_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendDummyInput().appendField(j.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new j.FieldCheckbox(!1),"is_repeated"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},rM={init:function(){this.jsonInit({colour:jh,nextStatement:null,previousStatement:null,message0:j.Msg.MIXLY_MICROBIT_SPI_INIT,args0:[{value:1e6,type:"field_number",name:"freq"},{type:"input_dummy"},{value:8,type:"field_number",name:"bits"},{type:"input_dummy"},{value:0,type:"field_number",name:"mode"},{type:"input_dummy"},{name:"mosi",options:q.Profile.default.digital,type:"field_dropdown"},{name:"miso",options:q.Profile.default.digital,type:"field_dropdown"},{name:"sck",options:q.Profile.default.digital,type:"field_dropdown"}]}),this.setFieldValue("15","mosi"),this.setFieldValue("14","miso"),this.setFieldValue("13","sck")}},pM={init:function(){this.setColour(jh),this.appendValueInput("data").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_SPI_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_SPI_WRITE)}},aM=180,lM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:j.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Clear_display)}},IM={init:function(){this.setColour(aM),this.appendValueInput("x").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_GET).appendField(j.Msg.MIXLY_BRIGHTNESS).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(j.Msg.MIXLY_BRIGHTNESS1)}},dM={init:function(){this.setColour(aM),this.appendValueInput("x").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("brightness").setCheck(Number).appendField(j.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_BRIGHTNESS2)}},TM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck([String,"microbit_image"]).appendField(j.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING)}},hM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},MM={init:function(){this.setColour(aM),this.appendValueInput("data").setCheck(String).appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("delay").setCheck(null).appendField(j.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(j.Msg.MIXLY_MILLIS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mM={init:function(){this.setColour(aM),this.appendValueInput("PIN",String).setCheck("microbit_image").appendField(j.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.OLED_BITMAP)}},OM={init:function(){this.jsonInit({colour:aM,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:j.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}]})}},cM={init:function(){this.jsonInit({colour:aM,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:j.Msg.MIXLY_MICROBIT_Animate_images_or_string,args0:[{check:[String,"List"],type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+j.Msg.MIXLY_MICROBIT_Animate_images1)}},EM={init:function(){this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.jsonInit({colour:aM,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:j.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING)}},RM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:j.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},gM={init:function(){this.setColour(aM),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[j.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(j.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=j.Msg.MIXLY_MICROBIT_monitor;return{on:j.Msg.MIXLY_MICROBIT_Turn_on_display,off:j.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},CM={init:function(){this.jsonInit({colour:aM,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:j.Msg.MIXLY_MICROBIT_Turn_off_display})}},AM={init:function(){this.jsonInit({colour:aM,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:j.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Display_is_on1)}},LM={init:function(){this.jsonInit({colour:aM,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}],output:["microbit_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:j.Msg.MIXLY_MICROBIT_Built_in_image1,message0:j.Msg.MIXLY_MICROBIT_Built_in_image})}},SM={init:function(){this.jsonInit({colour:aM,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.copy",message0:j.Msg.MIXLY_MICROBIT_Copy_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Copy_image1)}},fM={init:function(){this.jsonInit({colour:aM,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.invert",message0:j.Msg.MIXLY_MICROBIT_Invert_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Invert_image1)}},DM={init:function(){this.jsonInit({colour:aM,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:j.Msg.MIXLY_MICROBIT_Create_image}),this.setTooltip(j.Msg.MIXLY_MICROBIT_Create_image1)}},NM={init:function(){var t=[[j.Msg.MIXLY_UP,"up"],[j.Msg.MIXLY_DOWN,"down"],[j.Msg.MIXLY_LEFT,"left"],[j.Msg.MIXLY_RIGHT,"right"]];this.setColour(aM),this.setOutput(!0,"microbit_image"),this.setInputsInline(!0),this.appendValueInput("img").appendField(j.Msg.DISPLAY_IMAGE_LET).setCheck(["microbit_image","List",String]),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_LET2).appendField(new j.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(j.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(j.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=j.Msg.DISPLAY_IMAGE_LET,n=j.Msg.DISPLAY_IMAGE_LET2,s=j.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:j.Msg.MIXLY_UP,down:j.Msg.MIXLY_DOWN,left:j.Msg.MIXLY_LEFT,right:j.Msg.MIXLY_RIGHT}[t]+s}))}},PM={init:function(){var t=[[j.Msg.MICROBIT_DISPLAY_UNION,"+"],[j.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(aM),this.setOutput(!0,"microbit_image"),this.appendValueInput("A").appendField(j.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":j.Msg.MIXLY_MICROBIT_image_add,"-":j.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},FM={init:function(){this.setColour(aM),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(j.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},vM={init:function(){this.setColour(aM),this.appendValueInput("device").setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_SETUP).appendField(j.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(j.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(j.Msg.MIXLY_SETUP+j.Msg.MIXLY_DF_LCD+j.Msg.MIXLY_LCD_ADDRESS)}},YM={init:function(){this.setColour(aM),this.appendValueInput("row",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(j.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(j.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},bM={init:function(){this.setColour(aM),this.appendDummyInput().appendField(j.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new j.FieldDropdown([[j.Msg.MIXLY_ON,"on()"],[j.Msg.MIXLY_OFF,"off()"],[j.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[j.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(False)"],[j.Msg.MIXLY_LCD_BACKLIGHT,"backlight(True)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return j.Msg.LISTS_SET_INDEX_SET+j.Msg.MIXLY_DF_LCD+{"on()":j.Msg.MIXLY_ON,"off()":j.Msg.MIXLY_OFF,"clear()":j.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":j.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":j.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},XM={init:function(){this.appendDummyInput().appendField(j.Msg.MIXLY_DF_LCD+" OLED "+j.Msg.OLEDDISPLAY),this.appendValueInput("Text_line1","String").setAlign(j.inputs.Align.RIGHT).appendField("(128*64) "+j.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(j.inputs.Align.RIGHT).appendField(j.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(aM),this.setTooltip(j.Msg.MIXLY_DF_LCD+j.Msg.OLEDDISPLAY+j.Msg.MIXLY_MICROBIT_TYPE_STRING)}},yM={init:function(){var t=[[j.Msg.MIXLY_HEIGHT,"height"],[j.Msg.MIXLY_WIDTH,"width"]];this.setColour(aM),this.appendDummyInput().appendField(j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("microbit_image"),this.appendDummyInput("").appendField(new j.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return j.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+j.Msg.MIXLY_MICROBIT_IMAGE+{height:j.Msg.MIXLY_HEIGHT,width:j.Msg.MIXLY_WIDTH}[t]}))}},VM={init:function(){this.setColour(aM),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new j.FieldDropdown([[j.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[j.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:j.Msg.MIXLY_LCD_STAT_CLEAR,1:j.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return j.Msg.MIXLY_DF_LCD+i[e]}))}},BM="#777777",GM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField("from ").appendField(new j.FieldTextInput("microbit"),"path").appendField(" import ").appendField(new j.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField("import ").appendField(new j.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wM={init:function(){this.setColour(BM),this.appendDummyInput("").appendField(new j.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new j.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;e 0:\n pre = bin(value).count("1")\n # find first non full high value afterwards\n try:\n k, value = next((ind, v)\n for ind, v in enumerate(resp[i:length - 2]) if resp[i + ind + 1] == 0)\n post = bin(value).count("1") if k else 0\n k = k + i\n except StopIteration:\n i = -1\n dist= -1 if i < 0 else round((pre + (k - i) * 8. + post) * 8 * 0.172)\n return dist\n\n def distance_cm(self):\n return self.distance_mm() / 10.0\n\nsonar=HCSR04()\n\n',["sonar.distance_cm()",e.ORDER_ATOMIC]},vE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *"},YE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *";var i=this.getFieldValue("TIME_TYPE");switch(i){case"Year":case"Month":case"Day":case"Hour":case"Minute":case"Second":case"Week":return["ds."+i+"()",e.ORDER_ASSIGNMENT];case"Mix1":return["ds.get_date()",e.ORDER_ASSIGNMENT];case"Mix2":return["ds.get_time()",e.ORDER_ASSIGNMENT]}},bE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_time("+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+")\n"},XE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_date("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+")\n"},yE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.clear_calibration()\n"},VE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["display.read_light_level()",e.ORDER_ATOMIC]},BE=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="from ultrasonic import *","sonar = HCSR04(tpin=pin"+i+", epin=pin"+n+")\n"},GE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_TCS="from TCS import *",["tcs.getRawRGBData("+this.getFieldValue("TCS34725_COLOR")+")",e.ORDER_ATOMIC]},UE=function(t,e){var i=this.getFieldValue("PIN"),n=e.valueToCode(this,"NominalResistance",e.ORDER_ATOMIC),s=e.valueToCode(this,"betaCoefficient",e.ORDER_ATOMIC),o=e.valueToCode(this,"seriesResistor",e.ORDER_ATOMIC);return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ntc="import ntc",["ntc.read(pin"+i+", "+n+", "+s+", "+o+")",e.ORDER_ATOMIC]},wE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+"))\n"},kE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+")+'\\r\\n')\n"},xE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str(hex("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0")+")) + '\\r\\n')\n"},HE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"char_marker",e.ORDER_ATOMIC)||";",n=e.statementToCode(this,"DO");e.definitions_["func_serial_receive_data_event_"+i.charCodeAt(1)]="serial.onDataReceived("+i+", () => {\n"+n+"}\n"},WE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.any()",e.ORDER_ATOMIC]},KE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.read()",e.ORDER_ATOMIC]},JE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.readline()",e.ORDER_ATOMIC]},QE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["serial.readUntil("+this.getFieldValue("char_marker")+")",e.ORDER_ATOMIC]},jE=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"RX",e.ORDER_ATOMIC),n=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return isNaN(parseInt(i))||(i="pin"+i),isNaN(parseInt(n))||(n="pin"+n),"uart.init(rx="+i+", tx="+n+", baudrate="+this.getFieldValue("baudrate")+")\n"},qE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.init(baudrate="+this.getFieldValue("baudrate")+")\n"},zE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["input("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},ZE=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")\n"},$E=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+',end ="")\n'},tR=function(t,e){return"control.inBackground(() => {\n"+e.statementToCode(this,"do")+"})\n"},eR=function(){return"control.reset()\n"},iR=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},nR=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},sR=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},oR=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},_R=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},uR=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},rR=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},pR=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},aR=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},lR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","sleep("+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000")+")\n"},IR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},dR=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["running_time()",e.ORDER_ATOMIC]},TR=function(){return"while True:\n pass\n"},hR=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","reset()\n"},MR=function(t,e){return e.definitions_.import_os="import os",["os.uname()",e.ORDER_ATOMIC]};Object.assign(j.Variables,Z),Object.assign(j.Procedures,Tp),j.Python=hp,j.generator=hp,q.Profile.default={},Object.assign(q.Profile,Mh),Object.assign(q.Profile.default,Mh.microbit),Object.assign(j.Blocks,e,i,n,s,o,_,u,r,p,a,l,I,d,f,D,F,v,Y,b,X,y,V,B,G),Object.assign(j.Python.forBlock,T,h,M,m,O,c,E,R,g,C,A,L,S,N,P,U,w,k,x,H,W,K,J,Q)})(); \ No newline at end of file diff --git a/boards/default/micropython_nrf51822_mithoncc/index.xml b/boards/default/micropython_nrf51822_mithoncc/index.xml index c87167de..de48109a 100644 --- a/boards/default/micropython_nrf51822_mithoncc/index.xml +++ b/boards/default/micropython_nrf51822_mithoncc/index.xml @@ -1 +1 @@ -1000100,1,2,3051i90x151100a10.998124.82110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyprompt100012MixlyMixly1201201>323760x756269740Mixlyresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponse \ No newline at end of file +1000100,1,2,3051i90x151100a10.998124.82110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyprompt100012MixlyMixly1201201>323760x756269740Mixlyresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponse \ No newline at end of file diff --git a/boards/default/micropython_nrf51822_mithoncc/main.bundle.83d827ca.js b/boards/default/micropython_nrf51822_mithoncc/main.bundle.9dad03f5.js similarity index 62% rename from boards/default/micropython_nrf51822_mithoncc/main.bundle.83d827ca.js rename to boards/default/micropython_nrf51822_mithoncc/main.bundle.9dad03f5.js index 6a01a94e..c2dce0fe 100644 --- a/boards/default/micropython_nrf51822_mithoncc/main.bundle.83d827ca.js +++ b/boards/default/micropython_nrf51822_mithoncc/main.bundle.9dad03f5.js @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class ${constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(J.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(J.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(J.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(J.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},mt={init:function(){this.setColour(It),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.PYTHON_RANGE).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ct={init:function(){this.setColour(It),this.appendValueInput("LIST").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(J.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return J.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Et={init:function(){this.setColour(It),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(J.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new J.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(J.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Rt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(J.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},gt={init:function(){this.setColour(It);var t=new J.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Ct={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new J.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return J.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},At={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new J.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return J.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Et.OPERATORS=[[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],gt.OPERATORS=[[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Lt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(J.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},St={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Dt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(J.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Nt={init:function(){this.setColour(It),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ft={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(J.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Pt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(J.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Ft={init:function(){this.jsonInit({message0:J.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:It,tooltip:J.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:J.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},vt={init:function(){this.setColour(It),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_STAT),this.setOutput(!0)}},Yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Vt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},bt={init:function(){this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT+J.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(J.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new J.FieldDropdown([[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(It),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Xt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Ut={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Bt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_GET+J.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(J.Msg.PROCEDURES_DEFRETURN_RETURN+J.Msg.MIXLY_GET_UNIQUE_IDEN)}},wt={init:function(){this.setColour(It),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(J.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Gt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},kt=230;J.FieldTextInput.math_number_validator=function(t){return String(t)},J.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const Ht={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new J.FieldTextInput("0",J.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(J.Msg.MATH_NUMBER_TOOLTIP)}},xt={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(J.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new J.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Wt={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(J.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new J.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Kt={init:function(){this.setColour(kt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:J.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:J.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:J.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:J.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:J.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Qt={init:function(){this.setColour(kt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:J.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:J.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:J.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:J.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:J.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},jt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new J.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Jt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new J.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:J.Msg.MATH_TRIG_TOOLTIP_SIN,COS:J.Msg.MATH_TRIG_TOOLTIP_COS,TAN:J.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:J.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:J.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:J.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:J.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},qt={init:function(){var t=[[J.Msg.MATH_BIN,"bin"],[J.Msg.MATH_OCT,"oct"],[J.Msg.MATH_HEX,"hex"]];this.setColour(kt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new J.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:J.Msg.MATH_DEC_TOOLTIP_BIN,oct:J.Msg.MATH_DEC_TOOLTIP_OCT,hex:J.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},zt={init:function(){var t=[[J.Msg.LANG_MATH_TO_ROUND,"round"],[J.Msg.LANG_MATH_TO_CEIL,"ceil"],[J.Msg.LANG_MATH_TO_FLOOR,"floor"],[J.Msg.MATH_ABS,"fabs"],[J.Msg.MATH_SQRT,"sqrt"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).appendField(new J.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:J.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:J.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:J.Msg.MATH_SINGLE_TOOLTIP_SQ,round:J.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:J.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:J.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Zt={init:function(){var t=[[J.Msg.MIXLY_MAX,"max"],[J.Msg.MIXLY_MIN,"min"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(new J.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(J.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:J.Msg.MIXLY_TOOLTIP_MATH_MAX,min:J.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},$t={init:function(){var t=[[J.Msg.MATH_TWO,"two"],[J.Msg.MATH_EIGHT,"eight"],[J.Msg.MATH_TEN,"ten"],[J.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(kt),this.appendDummyInput("").appendField(J.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new J.FieldDropdown(t),"OP").appendField(J.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.MATH_ZHW).appendField(new J.FieldDropdown(t),"OP2").appendField(J.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:J.Msg.MATH_Before_two,eight:J.Msg.MATH_Before_eight,ten:J.Msg.MATH_Before_ten,sixteen:J.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:J.Msg.MATH_Behind_two,eight:J.Msg.MATH_Behind_eight,ten:J.Msg.MATH_Behind_ten,sixteen:J.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},te={init:function(){var t=[[J.Msg.LANG_MATH_INT,"int"],[J.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(kt),this.setOutput(!0,Number),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_RANDOM).appendField(new J.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:J.Msg.LANG_MATH_INT,float:J.Msg.LANG_MATH_FLOAT_RANDOM};return J.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},ee={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(J.Msg.MATH_CONSTRAIN_TOOLTIP)}},ie={init:function(){this.setColour(kt),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(J.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(J.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ne={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new J.FieldTextInput("0",J.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(J.Msg.MATH_NUMBER_TOOLTIP)}},se={init:function(){this.setColour(kt),this.appendValueInput("NUM").setCheck(Number).appendField(J.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},oe={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(J.Msg.MATH_ROUND).appendField(J.Msg.TEXT_KEEP),this.appendDummyInput().appendField(J.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(J.Msg.MATH_ROUND_NEW_TOOLTIP)}},_e={init:function(){var t=[[J.Msg.MIXLY_TO_INT,"int"],[J.Msg.MIXLY_TO_FLOAT,"float"],[J.Msg.MIXLY_TO_BITES,"b"],[J.Msg.LANG_MATH_BYTE+J.Msg.MIXLY_TO_INT,"bti"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:J.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:J.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:J.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ue={init:function(){var t=[[J.Msg.MIXLY_TO_INT,"int"],[J.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:J.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:J.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ae=ie,re={init:function(){this.setColour(kt),this.appendValueInput("VAR").appendField(J.Msg.LANG_MATH_BYTE+J.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},pe={init:function(){this.setColour(kt),this.itemCount_=1,this.setMutator(new J.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(J.Msg.MIXLY_PRODUCT+J.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(J.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(J.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const Oe={init:function(){this.setColour(Te),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new J.FieldTextInput("",J.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(J.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new J.FieldImage(e,7,12,'"')}},me={init:function(){this.setColour(Te),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(J.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ce={init:function(){this.setColour(Te),this.appendValueInput("VAR").setCheck(Number).appendField(J.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ee={init:function(){this.setColour(Te),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Re={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ge={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ce={init:function(){this.WHERE_OPTIONS=[[J.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[J.Msg.TEXT_GET_INDEX_RANDOM+1+J.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(J.Msg.LISTS_GET_INDEX_GET,"MODE"),J.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(J.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+J.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",J.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:J.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:J.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:J.Msg.TEXT_GET_INDEX_RANDOM};return J.Msg.PROCEDURES_DEFRETURN_RETURN+J.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+J.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==J.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),J.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(J.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new J.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),J.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ae={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(J.Msg.LISTS_GET_INDEX_GET+" "+J.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(J.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(J.Msg.PROCEDURES_DEFRETURN_RETURN+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.LISTS_GET_INDEX_FROM_START+"n"+J.Msg.TEXT_CHARAT2)}},Le={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(J.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(J.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Se={init:function(){this.WHERE_OPTIONS_1=[[J.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[J.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[J.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[J.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(J.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==J.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==J.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),J.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(J.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new J.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},De={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(J.Msg.LISTS_GET_INDEX_GET+" "+J.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(J.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(J.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(J.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Ne={init:function(){var t=[[J.Msg.MIXLY_EQUALS,"==="],[J.Msg.MIXLY_STARTSWITH,"startswith"],[J.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Te),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new J.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},fe={init:function(){this.setColour(Te),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(J.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_COMPARETO_HELP)}},Pe={init:function(){var t=[[J.Msg.TEXT_UPPER,"upper"],[J.Msg.TEXT_TITLE,"title"],[J.Msg.TEXT_CAPITALIZE,"capitalize"],[J.Msg.TEXT_SWAPCASE,"swapcase"],[J.Msg.TEXT_LOWER,"lower"]];this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new J.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:J.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:J.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:J.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:J.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:J.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Fe={init:function(){var t=[[J.Msg.TEXT_LJUST,"ljust"],[J.Msg.TEXT_CENTER,"center"],[J.Msg.TEXT_RJUST,"rjust"]];this.setColour(Te),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(J.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(J.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ve={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(J.Msg.MIXLY_MID+J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(J.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Ye={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Ve={init:function(){this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(J.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(J.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},be={init:function(){this.setColour(Te),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(J.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(J.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Xe={init:function(){var t=[[J.Msg.TEXT_TRIM_BOTH,"strip"],[J.Msg.TEXT_TRIM_LEFT,"lstrip"],[J.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Te),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(J.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new J.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(J.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:J.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:J.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:J.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ye={init:function(){this.setColour(Te),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new J.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new J.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Yi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(J.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Vi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(J.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},bi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_KEYS),this.setTooltip(J.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(J.Msg.DICTS_GET_TOOLTIP)}},yi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(J.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(J.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Ui={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(J.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Bi={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_DELETE_TOOLTIP)}},wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT2").setCheck("Dict").appendField(J.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(J.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(J.Msg.MIXLY_MID),this.setTooltip(J.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_CLEAR),this.setTooltip(J.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ki={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_ITEMS),this.setTooltip(J.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Hi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_VALUES),this.setTooltip(J.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.MIXLY_LENGTH),this.setTooltip(J.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_DELDICT),this.setTooltip(J.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ki={init:function(){this.MODE=[[J.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[J.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(J.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=J.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=J.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==J.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new J.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},Qi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.setTooltip(J.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},ji={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(J.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Ji={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(new J.FieldLabel(J.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new J.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(J.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},qi={init:function(){this.setColour(Fi),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},zi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.MIXLY_TO_JSON),this.setTooltip(J.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Zi={init:function(){this.setColour(Fi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(J.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(J.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},$i={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},tn={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(J.Msg.MIXLY_TO_JSON),this.setTooltip(J.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},en=210,nn={init:function(){var t=J.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:J.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:J.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:J.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:J.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:J.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:J.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},sn={init:function(){var t=J.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=J.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new J.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},on={init:function(){var t=[[J.Msg.LOGIC_OPERATION_AND,"AND"],[J.Msg.LOGIC_OPERATION_OR,"OR"],[J.Msg.LOGIC_OPERATION_NOR,"NOR"],[J.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:J.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:J.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:J.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:J.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},_n={init:function(){this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(J.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(J.Msg.LOGIC_NEGATE_TOOLTIP)}},un={init:function(){var t=[[J.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[J.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new J.FieldDropdown(t),"BOOL"),this.setTooltip(J.Msg.LOGIC_BOOLEAN_TOOLTIP)}},an={init:function(){this.setColour(en),this.setOutput(!0),this.appendDummyInput().appendField(J.Msg.LOGIC_NULL),this.setTooltip(J.Msg.LOGIC_NULL_TOOLTIP)}},rn={init:function(){this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(J.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(J.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},pn={init:function(){var t=[[J.Msg.TEXT_APPEND_TO,"in"],[J.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new J.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(J.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(J.Msg.IN)}},ln={init:function(){var t=[[J.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[J.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},In={init:function(){this.setColour(en),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Tn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(J.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},dn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[J.Msg.MIXLY_ADD,"a"],[J.Msg.MATH_BIN+J.Msg.MIXLY_ADD,"ab"],[J.Msg.MIXLY_R_W,"r+"],[J.Msg.MATH_BIN+J.Msg.MIXLY_R_W,"rb+"],[J.Msg.MIXLY_W_R,"w+"],[J.Msg.MATH_BIN+J.Msg.MIXLY_W_R,"wb+"],[J.Msg.MIXLY_A_R,"a+"],[J.Msg.MATH_BIN+J.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG,_=J.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Mn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(J.Msg.MIXPY_TEXT_ENCODE).appendField(new J.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG,_=J.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},On={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},mn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},cn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:J.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},En={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(J.Msg.MICROBIT_PYTHON_TYPE)}},Rn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.HTML_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},An={init:function(){this.setColour(0),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const Ln={init:function(){this.setColour(0),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+J.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Nn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+J.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},fn={init:function(){this.setColour(0),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Pn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+J.Msg.MIXLY_ESP32_SET+{mkdir:J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(J.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.HTML_FILE,"isfile"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+J.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Vn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(J.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_SETUP+J.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(J.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},bn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(J.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Xn={init:function(){var t=J.Procedures.findLegalName("",this),e=new J.FieldTextInput(t,J.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new J.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&J.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(J.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(J.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(J.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(J.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=J.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),J.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{J.Events.enable()}},mutationToDom:function(t){var e=J.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(J.Msg.MIXLY_AIP_ATTR).setAlign(J.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(J.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},vs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(J.Msg.HTML_FORM_CONTENT).appendField(new J.FieldDropdown([[J.Msg.HTML_TEXT,"text"],[J.Msg.HTML_EMAIL,"email"],[J.Msg.HTML_NUMBER,"number"],[J.Msg.HTML_PASSWORD,"password"],[J.Msg.HTML_CHECKBOX,"checkbox"],[J.Msg.HTML_RADIOBUTTON,"radiobutton"],[J.Msg.HTML_BUTTON,"button"],[J.Msg.HTML_COLOUR,"colour"],[J.Msg.HTML_DATE,"date"],[J.Msg.HTML_LOCALTIME,"local time"],[J.Msg.HTML_FILE,"file"],[J.Msg.HTML_HIDDEN,"hidden"],[J.Msg.HTML_IMAGE,"image"],[J.Msg.HTML_MONTH,"month"],[J.Msg.HTML_RANGE,"range"],[J.Msg.HTML_RESET,"reset"],[J.Msg.HTML_SEARCH,"search"],[J.Msg.HTML_SUBMIT,"submit"],[J.Msg.HTML_TELEPHONENUMBER,"telephone number"],[J.Msg.HTML_TIME,"time"],[J.Msg.HTML_URL,"url"],[J.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(J.Msg.HTML_NAME).appendField(new J.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(J.Msg.HTML_VALUE).appendField(new J.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(J.Msg.MIXLY_AIP_ATTR).setAlign(J.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ys={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new J.FieldTextInput("property"),"KEY").appendField(":").appendField(new J.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new J.FieldTextInput("property"),"KEY").appendField(":").appendField(new J.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(J.Msg.HTML_TEXT).appendField(new J.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xs=160,ys={init:function(){this.setColour(Xs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new J.FieldTable(""),"TEXT")}},Us={init:function(){this.setColour(Xs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new J.FieldMultilineInput(""),"TEXT")}},Bs={init:function(){this.setColour(Xs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new J.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},ws={init:function(){this.setColour(Xs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Gs={init:function(){this.setColour(Xs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new J.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ks={init:function(){this.setColour(Xs),this.appendValueInput("VALUE").appendField(J.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Hs={init:function(){this.setColour(Xs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(J.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=J.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+r()+"("+t+", "+e+", "+i+")"},J.isNumber(n)&&J.isNumber(s)&&J.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const Bu=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},wu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Gu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},ku=function(t,e){return["None",e.ORDER_ATOMIC]},Hu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},xu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Wu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ku=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Qu=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},ju=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ju=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},qu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},zu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Zu=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},$u=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ta=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ea=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ia=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},na=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},sa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},oa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},_a=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ua=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},aa=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},ra=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},pa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},la=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ia=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Ta=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},da=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},ha=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ma=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),J.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Za=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},$a=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},tr=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},er=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},ir=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},nr=function(t,e){return'"},sr=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},or=function(){return this.getFieldValue("TEXT")+"\n"},_r=function(t){return t.getFieldValue("TEXT")+"\n"},ur=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},ar=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},rr=function(){return""},pr=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},lr=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+a.join("")+r.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+r.join("\n")},hr.scrubNakedValue=function(t){return t+"\n"},hr.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},hr.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},hr.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=J.utils.string.wrap(o,hr.COMMENT_WRAP-3),n+=hr.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const Mr=120,Or={init:function(){this.setColour(Mr),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(J.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new J.FieldDropdown(Or.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))},OPERATORS:[[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]]},mr={init:function(){this.setColour(Mr);var t=new J.FieldDropdown(mr.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}},OPERATORS:[[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]]},cr="5BA5A5",Er={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cr),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(Er.OPERATORS),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[J.Msg.MIXLY_UP,"shift_up"],[J.Msg.MIXLY_DOWN,"shift_down"],[J.Msg.MIXLY_LEFT,"shift_left"],[J.Msg.MIXLY_RIGHT,"shift_right"]]},Rr={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cr),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(Rr.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[J.Msg.MICROBIT_DISPLAY_UNION,"add"],[J.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gr={init:function(){this.setColour(cr),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new J.FieldDropdown(gr.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE+{height:J.Msg.MIXLY_HEIGHT,width:J.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[J.Msg.MIXLY_HEIGHT,"height"],[J.Msg.MIXLY_WIDTH,"width"]]},Cr={init:function(){this.setColour(cr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_RECT).appendField(new J.FieldDropdown(Cr.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_OLED_RECT)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Ar={init:function(){this.setColour(cr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new J.FieldDropdown(Ar.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Lr={init:function(){this.setColour(cr),this.appendValueInput("SUB").setCheck("var").appendField(J.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(Lr.OPERATORS),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[J.Msg.MIXLY_UP,"shift_up"],[J.Msg.MIXLY_DOWN,"shift_down"],[J.Msg.MIXLY_LEFT,"shift_left"],[J.Msg.MIXLY_RIGHT,"shift_right"]]},Sr="#569A98",Dr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Dr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(32).fill(0)))},Nr={init:function(){this.setColour(Sr),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(Nr.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[J.Msg.MICROBIT_DISPLAY_UNION,"add"],[J.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},fr={init:function(){this.setColour(Sr),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(fr.OPERATORS),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);q.Boards.getSelectedBoardKey();"Python ESP32-S3"===q.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(J.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:J.Msg.MIXLY_UP,shift_down:J.Msg.MIXLY_DOWN,shift_left:J.Msg.MIXLY_LEFT,shift_right:J.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[J.Msg.MIXLY_UP,"shift_up"],[J.Msg.MIXLY_DOWN,"shift_down"],[J.Msg.MIXLY_LEFT,"shift_left"],[J.Msg.MIXLY_RIGHT,"shift_right"]]},Pr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Pr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Fr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Fr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},vr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(vr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Yr={init:function(){this.setColour(Sr),this.appendDummyInput().appendField(J.Msg.OLED_SET_FONT).appendField(new J.FieldDropdown(Yr.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+J.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+J.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+J.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},Vr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Vr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},br={init:function(){this.setColour(Sr),this.appendDummyInput().appendField(J.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new J.FieldDropdown(br.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[J.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[J.Msg.CLOCKWISE+"90"+J.Msg.blockpy_setheading_degree,"1"],[J.Msg.CLOCKWISE+"180"+J.Msg.blockpy_setheading_degree,"2"],[J.Msg.CLOCKWISE+"270"+J.Msg.blockpy_setheading_degree,"3"]]},Xr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Xr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},yr=180,Ur={init:function(){this.setColour(yr),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(J.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(Ur.OPERATORS),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[J.Msg.MIXLY_UP,"up"],[J.Msg.MIXLY_DOWN,"down"],[J.Msg.MIXLY_LEFT,"left"],[J.Msg.MIXLY_RIGHT,"right"]]},Br={init:function(){this.setColour(yr),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(Br.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[J.Msg.MICROBIT_DISPLAY_UNION,"+"],[J.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},wr={init:function(){this.setColour(yr),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new J.FieldDropdown(wr.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE+{height:J.Msg.MIXLY_HEIGHT,width:J.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[J.Msg.MIXLY_HEIGHT,"height"],[J.Msg.MIXLY_WIDTH,"width"]]},Gr={init:function(){this.setColour(yr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_RECT).appendField(new J.FieldDropdown(Gr.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_OLED_RECT)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},kr={init:function(){this.setColour(yr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new J.FieldDropdown(kr.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Hr={init:function(){this.setColour(yr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_DISPLAY_DRAW+J.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new J.FieldDropdown(Hr.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_DISPLAY_DRAW+J.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xr=225,Wr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(J.Msg.MIXLY_NETWORK_MODE).appendField(new J.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Kr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[J.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=J.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:J.Msg.MIXLY_NETWORK_WIFI_OPEN,False:J.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},Qr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},jr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return J.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:J.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},Jr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(J.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(J.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},qr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_WIFI_CONNECT+J.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},zr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new J.FieldDropdown([[J.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[J.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[J.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return J.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:J.Msg.MIXLY_ESP32_NETWORK_IP,1:J.Msg.MIXLY_ESP32_NETWORK_MASK,2:J.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},Zr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},$r={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[J.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},tp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.LISTS_SET_INDEX_SET+J.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(J.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(J.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(J.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},ep={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},ip={init:function(){this.setColour(xr),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new J.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return J.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},np={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},sp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},op={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},_p={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},up={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},ap={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},rp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},pp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},lp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Ip={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},Tp={init:function(){this.setColour(xr),this.appendValueInput("DOMAIN").appendField(J.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(J.Msg.blockpy_REQUESTS_GET).appendField(new J.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},dp={init:function(){this.appendValueInput("VAL"),this.setColour(xr),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_GET).appendField(new J.FieldDropdown(dp.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:J.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:J.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:J.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[J.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[J.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[J.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[J.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},hp={init:function(){this.appendValueInput("VAR").appendField(J.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(xr),this.appendDummyInput("").appendField(J.Msg.blockpy_CONDUCT).appendField(new J.FieldDropdown(hp.METHOD),"DIR"),this.appendDummyInput("").appendField(J.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:J.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:J.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},Mp={init:function(){this.setColour(xr),this.appendDummyInput("").appendField(J.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(J.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Op={init:function(){this.setColour(xr),this.appendDummyInput("").appendField(new J.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},mp="#3288dd",cp={init:function(){this.setColour(mp),this.appendValueInput("URL").appendField(J.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(J.Msg.blockpy_CONDUCT).appendField(new J.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(J.Msg.blockpy_REQUESTS).appendField(J.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ep={init:function(){this.setColour(mp),this.appendValueInput("URL").appendField(J.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(J.Msg.blockpy_CONDUCT).appendField(new J.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(J.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(J.Msg.blockpy_REQUESTS+J.Msg.OLED_STRING),this.appendDummyInput("").appendField(J.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Rp={init:function(){this.appendValueInput("VAL"),this.setColour(mp),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_GET).appendField(new J.FieldDropdown(Rp.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[J.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[J.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[J.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[J.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[J.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},gp={init:function(){this.setColour(mp),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(J.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(J.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(J.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(J.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Cp={init:function(){this.setColour(mp),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(J.Msg.MIXLY_EMQX_SERVER).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(J.Msg.MIXLY_EMQX_PORT).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(J.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(J.Msg.MIXLY_WIFI_USERNAME).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(J.Msg.MIXLY_IOT_PASSWORD).setAlign(J.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ap={init:function(){this.setColour(mp),this.appendValueInput("TOPIC").appendField(J.Msg.MIXLY_EMQX_SUBSCRIBE+J.Msg.MIXLY_MICROBIT_MSG).appendField(J.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(J.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},Lp={init:function(){this.setColour(mp),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(J.Msg.MIXLY_EMQX_SUBSCRIBE+J.Msg.MIXLY_MICROBIT_MSG).appendField(J.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(J.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Sp={init:function(){this.setColour(mp),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(J.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(J.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(J.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dp={init:function(){this.setColour(mp),this.appendDummyInput().appendField("mqtt"+J.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Np="#A58C5B",fp={init:function(){this.setColour(Np),this.appendValueInput("PIN",Number).appendField(new J.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new J.FieldDropdown(fp.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[J.Msg.MIXLY_GETTEMPERATUE,"temperature"],[J.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Pp=(J.Msg.PS2_TRIANGLE,J.Msg.PS2_CIRCLE,J.Msg.PS2_CROSS,J.Msg.PS2_SQUARE,J.Msg.PS2_L1,J.Msg.PS2_L2,J.Msg.PS2_R1,J.Msg.PS2_R2,J.Msg.PS2_UP,J.Msg.PS2_RIGHT,J.Msg.PS2_DOWN,J.Msg.PS2_LEFT,J.Msg.PS2_SELECT,J.Msg.PS2_START,{init:function(){this.setColour(Np),this.appendDummyInput("").appendField(J.Msg.PS2_stick).appendField(new J.FieldDropdown(Pp.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[J.Msg.PS2_RX,"0"],[J.Msg.PS2_RY,"1"],[J.Msg.PS2_LX,"2"],[J.Msg.PS2_LY,"3"]]}),Fp={init:function(){this.setColour(Np),this.appendValueInput("SUB").appendField(J.Msg.PS2),this.appendDummyInput("").appendField(J.Msg.MIXLY_JOYSTICK).appendField(new J.FieldDropdown(Fp.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[J.Msg.PS2_RX,"RX"],[J.Msg.PS2_RY,"RY"],[J.Msg.PS2_LX,"LX"],[J.Msg.PS2_LY,"LY"]]},vp=40,Yp={init:function(){this.setColour(vp),this.appendValueInput("PIN",Number).appendField(new J.FieldDropdown([["DHT11","dht11"],["DHT22","dht22"]]),"TYPE").appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new J.FieldDropdown(Yp.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[J.Msg.MIXLY_GETTEMPERATUE,"temperature"],[J.Msg.MIXLY_GETHUMIDITY,"relative_humidity"],[J.Msg.MIXLY_DHT11_T_H,"tempandhum"]]};const Vp=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = network.WLAN(network."+this.getFieldValue("mode")+"_IF);\n"},bp=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect("+e.valueToCode(this,"id",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"password",e.ORDER_ATOMIC)+")\n"},Xp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".isconnected()",e.ORDER_ATOMIC]},yp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".ifconfig()["+this.getFieldValue("mode")+"]",e.ORDER_ATOMIC]},Up=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".disconnect()\n"},Bp=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active("+this.getFieldValue("op")+")\n"},wp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active()",e.ORDER_ATOMIC]},Gp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".config('"+this.getFieldValue("op")+"')",e.ORDER_ATOMIC]},kp=function(t,e){e.definitions_.import_network="import network";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"essid",e.ORDER_ATOMIC),s=e.valueToCode(this,"password",e.ORDER_ATOMIC);return i+".config(essid = "+n+", channel="+e.valueToCode(this,"channel",e.ORDER_ATOMIC)+",password="+s+")\n"},Hp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".scan()",e.ORDER_ATOMIC]},xp=function(t,e){e.definitions_["import_server_*"]="from server import *";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return"if not "+i+".isconnected():\n connectWifi(SSID, PASSWORD)\nip="+i+".ifconfig()[0]\nprint(ip)\ntime.sleep(1)\nDATA=listenData()\n"},Wp=function(t,e){e.definitions_.import_network="import network",e.definitions_.import_socket="import socket";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"UDP"==n?n="socket.SOCK_DGRAM":"TCP"==n&&(n="socket.SOCK_STREAM"),i+" = socket.socket(socket.AF_INET, "+n+")\n"},Kp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".bind("+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},Qp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect(socket.getaddrinfo"+e.valueToCode(this,"address",e.ORDER_ATOMIC)+"[0][-1])\n"},jp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".listen("+e.valueToCode(this,"queue",e.ORDER_ATOMIC)+")\n"},Jp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".accept()",e.ORDER_ATOMIC]},qp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".readline()",e.ORDER_ATOMIC]},zp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recv("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Zp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".send("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+")\n"},$p=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recvfrom("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},tl=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".sendto("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},el=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".close()\n"},il=function(t,e){return e.definitions_.import_requests="import requests",e.variableDB_.getName(this.getFieldValue("VAR"),J.Variables.NAME_TYPE)+"= requests.get("+e.valueToCode(this,"DOMAIN",e.ORDER_ATOMIC)+")\n"},nl=function(t,e){return e.definitions_.import_requests="import requests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},sl=function(t,e){return e.definitions_.import_requests="import requests","requests."+this.getFieldValue("DIR")+"("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")\n"},ol=function(t,e){return e.definitions_.import_ntptime="import ntptime",["ntptime.time(host="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_l=function(t,e){return["'"+this.getFieldValue("op")+"'",e.ORDER_ATOMIC]},ul=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},al=function(t,e){return e.definitions_.import_urequests="import urequests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},rl=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+", data="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},pl=function(t,e){return e.definitions_.import_educore_wifi="from educore import wifi","wifi.connect(ssid="+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", timeout="+e.valueToCode(this,"TIMEOUT",e.ORDER_ATOMIC)+")\n"},ll=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.connect(server="+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", port="+e.valueToCode(this,"PORT",e.ORDER_ATOMIC)+", client_id="+e.valueToCode(this,"CLIENT_ID",e.ORDER_ATOMIC)+", user="+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},Il=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC);return["mqttclient."+e.valueToCode(this,"MESSAGE",e.ORDER_ATOMIC)+"("+i+")",e.ORDER_ATOMIC]},Tl=function(t,e){var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC),n=e.valueToCode(this,"METHOD",e.ORDER_ATOMIC);return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.received(topic="+i+", callback="+n+")\n"},dl=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqtt_client.publish(topic="+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", content="+e.valueToCode(this,"MSG",e.ORDER_ATOMIC)+")\n"},hl=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";return["mqtt_client.connescted()",e.ORDER_ATOMIC]},Ml='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:Ol}=q,{XML:ml}=(Ol.render(Ml,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),q),{XML:cl}=(ml.render(Ml,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),q),El=(cl.render(Ml,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),new J.Generator("Python"));El.INDENT=" ",El.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),El.ORDER_ATOMIC=0,El.ORDER_COLLECTION=1,El.ORDER_STRING_CONVERSION=1,El.ORDER_UNARY_POSTFIX=1,El.ORDER_UNARY_PREFIX=2,El.ORDER_MEMBER=2.1,El.ORDER_FUNCTION_CALL=2.2,El.ORDER_EXPONENTIATION=3,El.ORDER_UNARY_SIGN=4,El.ORDER_BITWISE_NOT=4,El.ORDER_MULTIPLICATIVE=5,El.ORDER_ADDITIVE=6,El.ORDER_BITWISE_SHIFT=7,El.ORDER_BITWISE_AND=8,El.ORDER_BITWISE_XOR=9,El.ORDER_BITWISE_OR=10,El.ORDER_RELATIONAL=11,El.ORDER_EQUALITY=11,El.ORDER_LOGICAL_NOT=12,El.ORDER_LOGICAL_AND=13,El.ORDER_LOGICAL_OR=14,El.ORDER_ASSIGNMENT=14,El.ORDER_CONDITIONAL=15,El.ORDER_LAMBDA=16,El.ORDER_NONE=99,El.ORDER_OVERRIDES=[[El.ORDER_FUNCTION_CALL,El.ORDER_MEMBER],[El.ORDER_FUNCTION_CALL,El.ORDER_FUNCTION_CALL],[El.ORDER_MEMBER,El.ORDER_MEMBER],[El.ORDER_MEMBER,El.ORDER_FUNCTION_CALL]],El.init=function(){El.PASS=this.INDENT+"pass\n",El.definitions_=Object.create(null),El.functionNames_=Object.create(null),El.setups_=Object.create(null),El.loops_=Object.create(null),El.codeEnd_=Object.create(null),El.variableDB_?El.variableDB_.reset():El.variableDB_=new tt(El.RESERVED_WORDS_)},El.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in El.functions_)_.push(El.functions_[s]);_.length&&_.push("\n");var u=[];for(var s in El.setups_)u.push(El.setups_[s]);u.length&&u.push("\n");var a=[];for(var s in El.loops_)a.push(El.loops_[s]);var r=[];for(var s in El.codeEnd_)r.push(El.codeEnd_[s]);0!==r.length&&r.push("\n");let p="";return p=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+a.join("")+r.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+r.join("\n"),p},El.scrubNakedValue=function(t){return t+"\n"},El.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},El.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},El.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=J.utils.string.wrap(o,El.COMMENT_WRAP-3),n+=El.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const Rl={microbit:{description:"microbit_python",digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],pwm:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],analog:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P10","10"]],interrupt:[["P0","0"],["P1","1"],["P2","2"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","Image.HEART"],["HEART_SMALL","Image.HEART_SMALL"],["HAPPY","Image.HAPPY"],["SMILE","Image.SMILE"],["SAD","Image.SAD"],["CONFUSED","Image.CONFUSED"],["ANGRY","Image.ANGRY"],["ASLEEP","Image.ASLEEP"],["SURPRISED","Image.SURPRISED"],["SILLY","Image.SILLY"],["FABULOUS","Image.FABULOUS"],["MEH","Image.MEH"],["YES","Image.YES"],["NO","Image.NO"],["CLOCK12","Image.CLOCK12"],["CLOCK11","Image.CLOCK11"],["CLOCK10","Image.CLOCK10"],["CLOCK9","Image.CLOCK9"],["CLOCK8","Image.CLOCK8"],["CLOCK7","Image.CLOCK7"],["CLOCK6","Image.CLOCK6"],["CLOCK5","Image.CLOCK5"],["CLOCK4","Image.CLOCK4"],["CLOCK3","Image.CLOCK3"],["CLOCK2","Image.CLOCK2"],["CLOCK1","Image.CLOCK1"],["ARROW_N","Image.ARROW_N"],["ARROW_NE","Image.ARROW_NE"],["ARROW_E","Image.ARROW_E"],["ARROW_SE","Image.ARROW_SE"],["ARROW_S","Image.ARROW_S"],["ARROW_SW","Image.ARROW_SW"],["ARROW_W","Image.ARROW_W"],["ARROW_NW","Image.ARROW_NW"],["TRIANGLE","Image.TRIANGLE"],["TRIANGLE_LEFT","Image.TRIANGLE_LEFT"],["CHESSBOARD","Image.CHESSBOARD"],["DIAMOND","Image.DIAMOND"],["DIAMOND_SMALL","Image.DIAMOND_SMALL"],["SQUARE","Image.SQUARE"],["SQUARE_SMALL","Image.SQUARE_SMALL"],["RABBIT","Image.RABBIT"],["COW","Image.COW"],["MUSIC_CROTCHET","Image.MUSIC_CROTCHET"],["MUSIC_QUAVER","Image.MUSIC_QUAVER"],["MUSIC_QUAVERS","Image.MUSIC_QUAVERS"],["PITCHFORK","Image.PITCHFORK"],["XMAS","Image.XMAS"],["PACMAN","Image.PACMAN"],["TARGET","Image.TARGET"],["TSHIRT","Image.TSHIRT"],["ROLLERSKATE","Image.ROLLERSKATE"],["DUCK","Image.DUCK"],["HOUSE","Image.HOUSE"],["TORTOISE","Image.TORTOISE"],["BUTTERFLY","Image.BUTTERFLY"],["STICKFIGURE","Image.STICKFIGURE"],["GHOST","Image.GHOST"],["SWORD","Image.SWORD"],["GIRAFFE","Image.GIRAFFE"],["SKULL","Image.SKULL"],["UMBRELLA","Image.UMBRELLA"],["SNAKE","Image.SNAKE"],["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],imglist:[["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["P0","0"],["P1","1"],["P2","2"],["P8","8"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]]}};Rl["Mithon CC"]=Rl.microbit;const gl=Rl,Cl=100,Al={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",message0:J.Msg.MIXLY_MICROBIT_Play_built_in_melody,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Play_built_in_melody1)}},Ll={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",tooltip:"Play one of the built-in melodies. Indicate if you need to wait before continuing or continuously loop the melody.",message0:J.Msg.MIXLY_MICROBIT_Play_built_in_melody_easy,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"}]})}},Sl={init:function(){this.setColour(Cl),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_TONE).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MIXLY_FREQUENCY),this.appendValueInput("duration").setCheck(Number).appendField(J.Msg.MIXLY_DURATION),this.appendDummyInput("").appendField(J.Msg.MIXLY_MILLIS).appendField(J.Msg.MIXLY_MICROBIT_WAIT),this.appendDummyInput("").appendField(new J.FieldCheckbox(!0),"wait"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Dl={init:function(){this.setColour(Cl),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_TONE).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Nl={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",message0:J.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Play_notes1)}},fl={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",tooltip:"Play a list of notes expressed in the special music language. Indicate if you need to wait before continuing or continuously loop the melody.",message0:J.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{type:"input_dummy"},{type:"input_dummy"}]})}},Pl={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",message0:J.Msg.MIXLY_MICROBIT_Reset_music}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Reset_music)}},Fl={init:function(){this.setColour(Cl),this.appendValueInput("PIN").appendField(J.Msg.MIXLY_NOTONE).appendField(J.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_NOTONE)}},vl={init:function(){this.jsonInit({colour:Cl,output:"Array",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",message0:J.Msg.MIXLY_MICROBIT_Get_current_tempo}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Get_current_tempo)}},Yl={init:function(){this.setColour(Cl),this.appendValueInput("TICKS").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(J.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(J.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_SET_TEMPO1)}},Vl={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,"say"],[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,"sing"],[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE,"pronounce"]]),"MODE"),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_pitch),this.appendValueInput("speed").setCheck(Number).appendField(J.Msg.MIXLY_SPEED),this.appendValueInput("mouth").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_mouth),this.appendValueInput("throat").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_throat),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH,n=J.Msg.MIXLY_MICROBIT_TYPE_STRING;return i+{say:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,sing:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,pronounce:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE}[e]+n}))}},bl={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Xl={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yl={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ul={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MICROBIT_SPEECH_translation),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.MICROBIT_SPEECH_translation)}},Bl={init:function(){this.setColour(Cl),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_SERVO).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERVO_MOVE)}},wl={init:function(){this.appendValueInput("speed").setCheck(null).appendField(J.Msg.MIXLY_MOTOR).appendField(new J.FieldDropdown([["M1","1"],["M2","2"],["M3","3"],["M4","4"]]),"Motor").appendField(J.Msg.MIXLY_SPEED),this.appendDummyInput().appendField(new J.FieldDropdown([["Forward","1*"],["Reverse","-1*"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Cl),this.setTooltip(""),this.setHelpUrl("")}},Gl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_RGB_PIN_COUNT)}},kl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_RGB_NUM_R_G_B)}},Hl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").setAlign(J.inputs.Align.RIGHT).appendField(new J.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},xl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_ESP32_MUSIC_WRI)}},Wl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_SETUP+" "+J.Msg.QJ00X_MP3),this.appendValueInput("RX").setAlign(J.inputs.Align.RIGHT).appendField("RX#"),this.appendValueInput("TX").setAlign(J.inputs.Align.RIGHT).appendField("TX#"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Kl=[[J.Msg.MIXLY_MP3_PLAY,"play"],[J.Msg.MIXLY_MP3_PAUSE,"pause"],[J.Msg.MIXLY_MP3_NEXT,"next_track"],[J.Msg.MIXLY_MP3_PREV,"prev_track"],[J.Msg.MIXLY_MP3_VOL_UP,"inc_vol"],[J.Msg.MIXLY_MP3_VOL_DOWN,"dec_vol"]];const Ql={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(Kl),"CONTROL_TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var jl=[[J.Msg.MIXLY_MP3_LOOP_ALL,"0"],[J.Msg.MIXLY_MP3_LOOP_FOLDER,"1"],[J.Msg.MIXLY_MP3_LOOP_ONE,"2"],[J.Msg.MIXLY_MP3_LOOP_RAM,"3"]];const Jl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_LOOP_MODE).appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(jl),"LOOP_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var ql=[[J.Msg.MIXLY_MP3_EQ_NORMAL,"0"],[J.Msg.MIXLY_MP3_EQ_POP,"1"],[J.Msg.MIXLY_MP3_EQ_ROCK,"2"],[J.Msg.MIXLY_MP3_EQ_JAZZ,"3"],[J.Msg.MIXLY_MP3_EQ_CLASSIC,"4"],[J.Msg.MIXLY_MP3_EQ_BASS,"5"]];const zl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_EQ_MODE).appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(ql),"EQ_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Zl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_VOL),this.appendValueInput("vol",Number).appendField(J.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},$l={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},tI={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendValueInput("FOLDER",Number).appendField(J.Msg.DFPLAYER_MINI_FOLDER).setCheck(Number),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},eI=140,iI={init:function(){this.setColour(225),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"on"],[J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"off"],[J.Msg.HTML_RESET,"reset"]]),"type").appendField(J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type"),i=J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI;return{on:J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,off:J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,reset:J.Blockly.Msg.HTML_RESET}[e]+i}))}},nI={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",tooltip:"Turn on the radio. This needs to be explicitly called since the radio draws power and takes up memory that you may otherwise need.",message0:J.Msg.MIXLY_MICROBIT_Switch_on_radio})}},sI={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",tooltip:"Turn off the radio, thus saving power and memory.",message0:J.Msg.MIXLY_MICROBIT_Switch_off_radio})}},oI={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",tooltip:J.Msg.MIXLY_MICROBIT_Configure_radio1,message0:J.Msg.MIXLY_MICROBIT_Configure_radio,args0:[{min:4,value:32,type:"input_value",max:251,name:"length"},{type:"input_dummy"},{min:1,value:3,type:"input_value",max:32,name:"queue"},{type:"input_dummy"},{min:0,value:7,type:"input_value",max:100,name:"channel"},{type:"input_dummy"},{name:"power",type:"input_value"},{type:"input_dummy"},{name:"address",type:"input_value"},{type:"input_dummy"},{name:"group",type:"input_value"},{type:"input_dummy"},{name:"data_rate",type:"input_value"}]})}},_I={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",tooltip:"Reset the radio to default settings.",message0:J.Msg.MIXLY_MICROBIT_Reset_radio})}},uI={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",tooltip:"Broadcast a text message.",message0:J.Msg.MIXLY_MICROBIT_Send_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},aI={init:function(){this.setColour(225),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_RADIO_SEND),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_MSG,"send"],[J.Msg.MIXLY_MICROBIT_MSG_BYTE,"send_bytes"]]),"type"),this.appendValueInput("data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_Send_message1)}},rI={init:function(){this.jsonInit({colour:225,output:"String",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",tooltip:J.Msg.MIXLY_MICROBIT_Receive_message,message0:J.Msg.MIXLY_MICROBIT_Receive_message})}},pI={init:function(){this.setColour(225),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_Receive_message),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_MSG,"receive"],[J.Msg.MIXLY_MICROBIT_MSG_BYTE,"receive_bytes"],[J.Msg.MIXLY_MICROBIT_MSG_FULL,"receive_full"]]),"type"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_Receive_message)}},lI={init:function(){this.setColour(eI),this.appendValueInput("RX",Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_SETUP).appendField("sda").setCheck(Number).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("scl").setCheck(Number).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField("频率").setAlign(J.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},II={init:function(){this.setColour(eI),this.appendValueInput("address").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_READ_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.LANG_MATH_BYTE),this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new J.FieldCheckbox(!1),"is_repeated"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},TI={init:function(){this.setColour(eI),this.appendValueInput("address").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_WRITE_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new J.FieldCheckbox(!1),"is_repeated"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},dI={init:function(){this.jsonInit({colour:eI,nextStatement:null,previousStatement:null,message0:J.Msg.MIXLY_MICROBIT_SPI_INIT,args0:[{value:1e6,type:"field_number",name:"freq"},{type:"input_dummy"},{value:8,type:"field_number",name:"bits"},{type:"input_dummy"},{value:0,type:"field_number",name:"mode"},{type:"input_dummy"},{name:"mosi",options:q.Profile.default.digital,type:"field_dropdown"},{name:"miso",options:q.Profile.default.digital,type:"field_dropdown"},{name:"sck",options:q.Profile.default.digital,type:"field_dropdown"}]}),this.setFieldValue("15","mosi"),this.setFieldValue("14","miso"),this.setFieldValue("13","sck")}},hI={init:function(){this.setColour(eI),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_SPI_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_SPI_WRITE)}},MI=180,OI={init:function(){this.jsonInit({colour:MI,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:J.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Clear_display)}},mI={init:function(){this.setColour(MI),this.appendValueInput("x").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_GET).appendField(J.Msg.MIXLY_BRIGHTNESS).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_BRIGHTNESS1)}},cI={init:function(){this.setColour(MI),this.appendValueInput("x").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("brightness").setCheck(Number).appendField(J.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_BRIGHTNESS2)}},EI={init:function(){this.setColour(MI),this.appendValueInput("data").setCheck([String,"microbit_image"]).appendField(J.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING)}},RI={init:function(){this.setColour(MI),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gI={init:function(){this.setColour(MI),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("delay").setCheck(null).appendField(J.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(J.Msg.MIXLY_MILLIS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CI={init:function(){this.setColour(MI),this.appendValueInput("PIN",String).setCheck("microbit_image").appendField(J.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.OLED_BITMAP)}},AI={init:function(){this.jsonInit({colour:MI,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:J.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}]})}},LI={init:function(){this.jsonInit({colour:MI,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:J.Msg.MIXLY_MICROBIT_Animate_images_or_string,args0:[{check:[String,"List"],type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+J.Msg.MIXLY_MICROBIT_Animate_images1)}},SI={init:function(){this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.jsonInit({colour:MI,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:J.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING)}},DI={init:function(){this.jsonInit({colour:MI,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:J.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},NI={init:function(){this.setColour(MI),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[J.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(J.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=J.Msg.MIXLY_MICROBIT_monitor;return{on:J.Msg.MIXLY_MICROBIT_Turn_on_display,off:J.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},fI={init:function(){this.jsonInit({colour:MI,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:J.Msg.MIXLY_MICROBIT_Turn_off_display})}},PI={init:function(){this.jsonInit({colour:MI,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:J.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Display_is_on1)}},FI={init:function(){this.jsonInit({colour:MI,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}],output:["microbit_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:J.Msg.MIXLY_MICROBIT_Built_in_image1,message0:J.Msg.MIXLY_MICROBIT_Built_in_image})}},vI={init:function(){this.jsonInit({colour:MI,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.copy",message0:J.Msg.MIXLY_MICROBIT_Copy_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Copy_image1)}},YI={init:function(){this.jsonInit({colour:MI,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.invert",message0:J.Msg.MIXLY_MICROBIT_Invert_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Invert_image1)}},VI={init:function(){this.jsonInit({colour:MI,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:J.Msg.MIXLY_MICROBIT_Create_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)}},bI={init:function(){var t=[[J.Msg.MIXLY_UP,"up"],[J.Msg.MIXLY_DOWN,"down"],[J.Msg.MIXLY_LEFT,"left"],[J.Msg.MIXLY_RIGHT,"right"]];this.setColour(MI),this.setOutput(!0,"microbit_image"),this.setInputsInline(!0),this.appendValueInput("img").appendField(J.Msg.DISPLAY_IMAGE_LET).setCheck(["microbit_image","List",String]),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[t]+s}))}},XI={init:function(){var t=[[J.Msg.MICROBIT_DISPLAY_UNION,"+"],[J.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(MI),this.setOutput(!0,"microbit_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},yI={init:function(){this.setColour(MI),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(J.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},UI={init:function(){this.setColour(MI),this.appendValueInput("device").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_SETUP).appendField(J.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(J.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_SETUP+J.Msg.MIXLY_DF_LCD+J.Msg.MIXLY_LCD_ADDRESS)}},BI={init:function(){this.setColour(MI),this.appendValueInput("row",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(J.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},wI={init:function(){this.setColour(MI),this.appendDummyInput().appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new J.FieldDropdown([[J.Msg.MIXLY_ON,"on()"],[J.Msg.MIXLY_OFF,"off()"],[J.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[J.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(False)"],[J.Msg.MIXLY_LCD_BACKLIGHT,"backlight(True)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return J.Msg.LISTS_SET_INDEX_SET+J.Msg.MIXLY_DF_LCD+{"on()":J.Msg.MIXLY_ON,"off()":J.Msg.MIXLY_OFF,"clear()":J.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":J.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":J.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},GI={init:function(){this.appendDummyInput().appendField(J.Msg.MIXLY_DF_LCD+" OLED "+J.Msg.OLEDDISPLAY),this.appendValueInput("Text_line1","String").setAlign(J.inputs.Align.RIGHT).appendField("(128*64) "+J.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(MI),this.setTooltip(J.Msg.MIXLY_DF_LCD+J.Msg.OLEDDISPLAY+J.Msg.MIXLY_MICROBIT_TYPE_STRING)}},kI={init:function(){var t=[[J.Msg.MIXLY_HEIGHT,"height"],[J.Msg.MIXLY_WIDTH,"width"]];this.setColour(MI),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("microbit_image"),this.appendDummyInput("").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE+{height:J.Msg.MIXLY_HEIGHT,width:J.Msg.MIXLY_WIDTH}[t]}))}},HI={init:function(){this.setColour(MI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[J.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:J.Msg.MIXLY_LCD_STAT_CLEAR,1:J.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return J.Msg.MIXLY_DF_LCD+i[e]}))}},xI="#777777",WI={init:function(){this.setColour(xI),this.appendDummyInput("").appendField("from ").appendField(new J.FieldTextInput("microbit"),"path").appendField(" import ").appendField(new J.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},KI={init:function(){this.setColour(xI),this.appendDummyInput("").appendField("import ").appendField(new J.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QI={init:function(){this.setColour(xI),this.appendDummyInput("").appendField(new J.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;e0)var u="rgb_show.mixly_rgb_show("+(i-1)+", "+s+", "+o+", "+_+")\n";else u="rgb_show.mixly_rgb_show_all("+s+", "+o+", "+_+")\n";return u},MM=function(t,e){var i=this.getFieldValue("LED");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_neopixel="import neopixel",e.definitions_.import_rgb_show="import rgb_show",i>0)var n="rgb_show.mixly_rgb_show("+(i-1)+", 0, 0, 0)\n";else n="rgb_show.mixly_rgb_show_all(0, 0, 0)\n";return n},OM=function(t,e){var i=e.valueToCode(this,"_LED_",e.ORDER_ATOMIC),n=e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC),s=e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC),o=e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC);return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_neopixel="import neopixel",e.definitions_.import_rgb_show="import rgb_show","rgb_show.mixly_rgb_show("+i+", "+n+", "+s+", "+o+")\n"},mM=function(t,e){var i=this.getFieldValue("NUMBER"),n=e.valueToCode(this,"SPEED",e.ORDER_ATOMIC),s=this.getFieldValue("DIRECTION");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_motor_control="import motor_control",0==i)var o="motor_control.motor1("+n+", "+s+")\nmotor_control.motor2("+n+", "+s+")\nmotor_control.motor3("+n+", "+s+")\n";else if(1==i)o="motor_control.motor1("+n+", "+s+")\n";else if(2==i)o="motor_control.motor2("+n+", "+s+")\n";else if(3==i)o="motor_control.motor3("+n+", "+s+")\n";return o},cM=function(t,e){var i=this.getFieldValue("NUMBER");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_motor_control="import motor_control",0==i)var n="motor_control.motor1(0)\nmotor_control.motor2(0)\nmotor_control.motor3(0)\n";else if(1==i)n="motor_control.motor1(0)\n";else if(2==i)n="motor_control.motor2(0)\n";else if(3==i)n="motor_control.motor3(0)\n";return n},EM=function(t,e){return["pin"+this.getFieldValue("NUMBER")+".read_analog()",e.ORDER_ATOMIC]},RM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"btn",e.ORDER_ATOMIC);e.setups_["on_"+i]="def on_"+i+"():\n while True:\n if "+i+".was_pressed():\n yield callback_"+i+"()\n else:\n yield\n\nfunc_"+i+" = on_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_"+i+")\n","def callback_"+i+"():\n"+n},gM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=this.getFieldValue("gesture");e.setups_["on_"+i]="def on_gesture_"+i+'():\n while True:\n if accelerometer.is_gesture("'+i+'"):\n yield callback_gesture_'+i+"()\n else:\n yield\n\nfunc_gesture_"+i+" = on_gesture_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_gesture_"+i+")\n","def callback_gesture_"+i+"():\n"+n},CM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=this.getFieldValue("near");e.setups_["on_"+i]="def on_near_"+i+"():\n while True:\n if not pin"+i+".read_digital():\n yield callback_near_"+i+"()\n else:\n yield\n\nfunc_near_"+i+" = on_near_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_near_"+i+")\n","def callback_near_"+i+"():\n"+n},AM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"TIMES",e.ORDER_ATOMIC),n=e.statementToCode(t,"DO");return"for _my_variable in range("+i+"):\n"+(n=e.addLoopTrap(n,t.id)||e.PASS)},LM=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},SM=LM,DM=LM,NM=LM,fM=LM,PM=LM,FM=LM,vM=LM,YM=LM,VM=LM,bM=LM,XM=LM,yM=LM,UM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".is_pressed()",e.ORDER_ATOMIC]},BM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".was_pressed()",e.ORDER_ATOMIC]},wM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".get_presses()",e.ORDER_ATOMIC]},GM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['"'+this.getFieldValue("gesture")+'"',e.ORDER_ATOMIC]},kM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",'if accelerometer.is_gesture("'+this.getFieldValue("gesture")+'"):\n'+(e.statementToCode(this,"DO")||e.PASS)},HM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['accelerometer.is_gesture("'+this.getFieldValue("gesture")+'")',e.ORDER_ATOMIC]},xM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['accelerometer.was_gesture("'+this.getFieldValue("gesture")+'")',e.ORDER_ATOMIC]},WM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",'if accelerometer.was_gesture("'+this.getFieldValue("gesture")+'"):\n'+(e.statementToCode(this,"DO")||e.PASS)},KM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i,n=this.getFieldValue("GES");return"all"==n?i="accelerometer.get_gestures()":"current"==n&&(i="accelerometer.current_gesture()"),[i,e.ORDER_ATOMIC]},QM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["accelerometer.current_gesture()",e.ORDER_ATOMIC]},jM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["accelerometer.get_"+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},JM=function(){return"input.setAccelerometerRange("+this.getFieldValue("key")+")\n"},qM=function(t,e){return["input.lightLevel()",e.ORDER_ATOMIC]},zM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.calibrate()\n"},ZM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass.is_calibrated()",e.ORDER_ATOMIC]},$M=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass.heading()",e.ORDER_ATOMIC]},tO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["temperature()",e.ORDER_ATOMIC]},eO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass."+this.getFieldValue("compass")+"()",e.ORDER_ATOMIC]},iO=function(t,e){return["input.rotation("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},nO=function(t,e){return["input.magneticForce("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},sO=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="import ultrasonic",["ultrasonic.distance_cm(t_pin=pin"+i+", e_pin=pin"+n+")",e.ORDER_ATOMIC]},oO=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.setups_.class_hrsc04_="class HCSR04:\n def __init__(self, tpin=pin"+i+", epin=pin"+n+', spin=pin13):\n self.trigger_pin = tpin\n self.echo_pin = epin\n self.sclk_pin = spin\n\n def distance_mm(self):\n spi.init(baudrate=125000, sclk=self.sclk_pin,\n mosi=self.trigger_pin, miso=self.echo_pin)\n pre = 0\n post = 0\n k = -1\n length = 500\n resp = bytearray(length)\n resp[0] = 0xFF\n spi.write_readinto(resp, resp)\n # find first non zero value\n try:\n i, value = next((ind, v) for ind, v in enumerate(resp) if v)\n except StopIteration:\n i = -1\n if i > 0:\n pre = bin(value).count("1")\n # find first non full high value afterwards\n try:\n k, value = next((ind, v)\n for ind, v in enumerate(resp[i:length - 2]) if resp[i + ind + 1] == 0)\n post = bin(value).count("1") if k else 0\n k = k + i\n except StopIteration:\n i = -1\n dist= -1 if i < 0 else round((pre + (k - i) * 8. + post) * 8 * 0.172)\n return dist\n\n def distance_cm(self):\n return self.distance_mm() / 10.0\n\nsonar=HCSR04()\n\n',["sonar.distance_cm()",e.ORDER_ATOMIC]},_O=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *"},uO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *";var i=this.getFieldValue("TIME_TYPE");switch(i){case"Year":case"Month":case"Day":case"Hour":case"Minute":case"Second":case"Week":return["ds."+i+"()",e.ORDER_ASSIGNMENT];case"Mix1":return["ds.get_date()",e.ORDER_ASSIGNMENT];case"Mix2":return["ds.get_time()",e.ORDER_ASSIGNMENT]}},aO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_time("+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+")\n"},rO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_date("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+")\n"},pO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.clear_calibration()\n"},lO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["display.read_light_level()",e.ORDER_ATOMIC]},IO=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="from ultrasonic import *","sonar = HCSR04(tpin=pin"+i+", epin=pin"+n+")\n"},TO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_TCS="from TCS import *",["tcs.getRawRGBData("+this.getFieldValue("TCS34725_COLOR")+")",e.ORDER_ATOMIC]},dO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+"))\n"},hO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+")+'\\r\\n')\n"},MO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str(hex("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0")+")) + '\\r\\n')\n"},OO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"char_marker",e.ORDER_ATOMIC)||";",n=e.statementToCode(this,"DO");e.definitions_["func_serial_receive_data_event_"+i.charCodeAt(1)]="serial.onDataReceived("+i+", () => {\n"+n+"}\n"},mO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.any()",e.ORDER_ATOMIC]},cO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.read()",e.ORDER_ATOMIC]},EO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.readline()",e.ORDER_ATOMIC]},RO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["serial.readUntil("+this.getFieldValue("char_marker")+")",e.ORDER_ATOMIC]},gO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"RX",e.ORDER_ATOMIC),n=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return isNaN(parseInt(i))||(i="pin"+i),isNaN(parseInt(n))||(n="pin"+n),"uart.init(rx="+i+", tx="+n+", baudrate="+this.getFieldValue("baudrate")+")\n"},CO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.init(baudrate="+this.getFieldValue("baudrate")+")\n"},AO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["input("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},LO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")\n"},SO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+',end ="")\n'},DO=function(t,e){return"control.inBackground(() => {\n"+e.statementToCode(this,"do")+"})\n"},NO=function(){return"control.reset()\n"},fO=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},PO=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},FO=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},vO=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},YO=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},VO=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},bO=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},XO=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},yO=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},UO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","sleep("+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000")+")\n"},BO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},wO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["running_time()",e.ORDER_ATOMIC]},GO=function(){return"while True:\n pass\n"},kO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","reset()\n"},HO=function(t,e){return e.definitions_.import_os="import os",["os.uname()",e.ORDER_ATOMIC]};Object.assign(J.Variables,Z),Object.assign(J.Procedures,dr),J.Python=hr,J.generator=hr,q.Profile.default={},Object.assign(q.Profile,gl),Object.assign(q.Profile.default,gl.microbit),Object.assign(J.Blocks,e,i,n,s,o,_,u,a,r,p,l,I,T,D,f,P,F,F,v,Y,V,b,X,y,U),Object.assign(J.Python.forBlock,d,h,M,O,m,c,E,R,g,C,A,L,S,N,B,w,G,G,k,H,x,W,K,Q,j)})(); \ No newline at end of file +class ${constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(J.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(J.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(J.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(J.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},mt={init:function(){this.setColour(It),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.PYTHON_RANGE).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ct={init:function(){this.setColour(It),this.appendValueInput("LIST").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(J.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return J.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Et={init:function(){this.setColour(It),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(J.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new J.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(J.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Rt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(J.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},gt={init:function(){this.setColour(It);var t=new J.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Ct={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new J.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return J.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},At={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new J.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return J.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Et.OPERATORS=[[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],gt.OPERATORS=[[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Lt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(J.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},St={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Dt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(J.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Nt={init:function(){this.setColour(It),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},ft={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(J.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Pt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(J.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Ft={init:function(){this.jsonInit({message0:J.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:It,tooltip:J.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:J.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},vt={init:function(){this.setColour(It),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_STAT),this.setOutput(!0)}},Yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Vt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},bt={init:function(){this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT+J.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(J.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new J.FieldDropdown([[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(It),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Xt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Ut={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Bt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_GET+J.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(J.Msg.PROCEDURES_DEFRETURN_RETURN+J.Msg.MIXLY_GET_UNIQUE_IDEN)}},wt={init:function(){this.setColour(It),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(J.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Gt={init:function(){this.setColour(It),this.appendDummyInput().appendField(J.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},kt=230;J.FieldTextInput.math_number_validator=function(t){return String(t)},J.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const Ht={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new J.FieldTextInput("0",J.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(J.Msg.MATH_NUMBER_TOOLTIP)}},xt={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(J.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new J.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Wt={init:function(){this.setColour(kt);this.appendDummyInput("").appendField(J.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new J.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Kt={init:function(){this.setColour(kt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:J.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:J.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:J.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:J.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:J.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Qt={init:function(){this.setColour(kt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:J.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:J.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:J.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:J.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:J.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},jt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new J.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Jt={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new J.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:J.Msg.MATH_TRIG_TOOLTIP_SIN,COS:J.Msg.MATH_TRIG_TOOLTIP_COS,TAN:J.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:J.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:J.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:J.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:J.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},qt={init:function(){var t=[[J.Msg.MATH_BIN,"bin"],[J.Msg.MATH_OCT,"oct"],[J.Msg.MATH_HEX,"hex"]];this.setColour(kt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new J.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:J.Msg.MATH_DEC_TOOLTIP_BIN,oct:J.Msg.MATH_DEC_TOOLTIP_OCT,hex:J.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},zt={init:function(){var t=[[J.Msg.LANG_MATH_TO_ROUND,"round"],[J.Msg.LANG_MATH_TO_CEIL,"ceil"],[J.Msg.LANG_MATH_TO_FLOOR,"floor"],[J.Msg.MATH_ABS,"fabs"],[J.Msg.MATH_SQRT,"sqrt"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).appendField(new J.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:J.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:J.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:J.Msg.MATH_SINGLE_TOOLTIP_SQ,round:J.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:J.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:J.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Zt={init:function(){var t=[[J.Msg.MIXLY_MAX,"max"],[J.Msg.MIXLY_MIN,"min"]];this.setColour(kt),this.appendValueInput("A").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(new J.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(J.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:J.Msg.MIXLY_TOOLTIP_MATH_MAX,min:J.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},$t={init:function(){var t=[[J.Msg.MATH_TWO,"two"],[J.Msg.MATH_EIGHT,"eight"],[J.Msg.MATH_TEN,"ten"],[J.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(kt),this.appendDummyInput("").appendField(J.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new J.FieldDropdown(t),"OP").appendField(J.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.MATH_ZHW).appendField(new J.FieldDropdown(t),"OP2").appendField(J.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:J.Msg.MATH_Before_two,eight:J.Msg.MATH_Before_eight,ten:J.Msg.MATH_Before_ten,sixteen:J.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:J.Msg.MATH_Behind_two,eight:J.Msg.MATH_Behind_eight,ten:J.Msg.MATH_Behind_ten,sixteen:J.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},te={init:function(){var t=[[J.Msg.LANG_MATH_INT,"int"],[J.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(kt),this.setOutput(!0,Number),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_RANDOM).appendField(new J.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:J.Msg.LANG_MATH_INT,float:J.Msg.LANG_MATH_FLOAT_RANDOM};return J.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},ee={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(J.Msg.MATH_CONSTRAIN_TOOLTIP)}},ie={init:function(){this.setColour(kt),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(J.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(J.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ne={init:function(){this.setColour(kt),this.appendDummyInput().appendField(new J.FieldTextInput("0",J.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(J.Msg.MATH_NUMBER_TOOLTIP)}},se={init:function(){this.setColour(kt),this.appendValueInput("NUM").setCheck(Number).appendField(J.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},oe={init:function(){this.setColour(kt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(J.Msg.MATH_ROUND).appendField(J.Msg.TEXT_KEEP),this.appendDummyInput().appendField(J.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(J.Msg.MATH_ROUND_NEW_TOOLTIP)}},_e={init:function(){var t=[[J.Msg.MIXLY_TO_INT,"int"],[J.Msg.MIXLY_TO_FLOAT,"float"],[J.Msg.MIXLY_TO_BITES,"b"],[J.Msg.LANG_MATH_BYTE+J.Msg.MIXLY_TO_INT,"bti"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:J.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:J.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:J.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ue={init:function(){var t=[[J.Msg.MIXLY_TO_INT,"int"],[J.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(kt),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:J.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:J.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},ae=ie,re={init:function(){this.setColour(kt),this.appendValueInput("VAR").appendField(J.Msg.LANG_MATH_BYTE+J.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},pe={init:function(){this.setColour(kt),this.itemCount_=1,this.setMutator(new J.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(J.Msg.MIXLY_PRODUCT+J.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(J.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(J.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const Oe={init:function(){this.setColour(Te),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new J.FieldTextInput("",J.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(J.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new J.FieldImage(e,7,12,'"')}},me={init:function(){this.setColour(Te),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(J.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ce={init:function(){this.setColour(Te),this.appendValueInput("VAR").setCheck(Number).appendField(J.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ee={init:function(){this.setColour(Te),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Re={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ge={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ce={init:function(){this.WHERE_OPTIONS=[[J.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[J.Msg.TEXT_GET_INDEX_RANDOM+1+J.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(J.Msg.LISTS_GET_INDEX_GET,"MODE"),J.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(J.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+J.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",J.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:J.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:J.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:J.Msg.TEXT_GET_INDEX_RANDOM};return J.Msg.PROCEDURES_DEFRETURN_RETURN+J.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+J.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==J.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),J.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(J.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new J.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),J.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ae={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(J.Msg.LISTS_GET_INDEX_GET+" "+J.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(J.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(J.Msg.PROCEDURES_DEFRETURN_RETURN+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.LISTS_GET_INDEX_FROM_START+"n"+J.Msg.TEXT_CHARAT2)}},Le={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(J.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(J.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Se={init:function(){this.WHERE_OPTIONS_1=[[J.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[J.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[J.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[J.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(J.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==J.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==J.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),J.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(J.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new J.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},De={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(J.Msg.LISTS_GET_INDEX_GET+" "+J.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(J.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(J.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(J.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Ne={init:function(){var t=[[J.Msg.MIXLY_EQUALS,"==="],[J.Msg.MIXLY_STARTSWITH,"startswith"],[J.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Te),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new J.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},fe={init:function(){this.setColour(Te),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(J.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_COMPARETO_HELP)}},Pe={init:function(){var t=[[J.Msg.TEXT_UPPER,"upper"],[J.Msg.TEXT_TITLE,"title"],[J.Msg.TEXT_CAPITALIZE,"capitalize"],[J.Msg.TEXT_SWAPCASE,"swapcase"],[J.Msg.TEXT_LOWER,"lower"]];this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new J.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:J.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:J.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:J.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:J.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:J.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Fe={init:function(){var t=[[J.Msg.TEXT_LJUST,"ljust"],[J.Msg.TEXT_CENTER,"center"],[J.Msg.TEXT_RJUST,"rjust"]];this.setColour(Te),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(J.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(J.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ve={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(J.Msg.MIXLY_MID+J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(J.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Ye={init:function(){this.setColour(Te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Ve={init:function(){this.setColour(Te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(J.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(J.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},be={init:function(){this.setColour(Te),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(J.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(J.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Xe={init:function(){var t=[[J.Msg.TEXT_TRIM_BOTH,"strip"],[J.Msg.TEXT_TRIM_LEFT,"lstrip"],[J.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Te),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(J.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new J.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(J.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:J.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:J.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:J.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ye={init:function(){this.setColour(Te),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new J.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new J.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Yi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(J.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Vi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(J.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},bi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_KEYS),this.setTooltip(J.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(J.Msg.DICTS_GET_TOOLTIP)}},yi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(J.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(J.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Ui={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(J.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Bi={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_DELETE_TOOLTIP)}},wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT2").setCheck("Dict").appendField(J.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(J.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(J.Msg.MIXLY_MID),this.setTooltip(J.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_CLEAR),this.setTooltip(J.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ki={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_ITEMS),this.setTooltip(J.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Hi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_VALUES),this.setTooltip(J.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.MIXLY_LENGTH),this.setTooltip(J.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_DELDICT),this.setTooltip(J.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ki={init:function(){this.MODE=[[J.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[J.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(J.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=J.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=J.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==J.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new J.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},Qi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.setTooltip(J.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},ji={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(J.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Ji={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(new J.FieldLabel(J.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new J.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(J.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},qi={init:function(){this.setColour(Fi),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},zi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.MIXLY_TO_JSON),this.setTooltip(J.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Zi={init:function(){this.setColour(Fi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(J.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(J.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},$i={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},tn={init:function(){this.setColour(Fi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(J.Msg.MIXLY_TO_JSON),this.setTooltip(J.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},en=210,nn={init:function(){var t=J.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:J.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:J.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:J.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:J.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:J.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:J.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},sn={init:function(){var t=J.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=J.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new J.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},on={init:function(){var t=[[J.Msg.LOGIC_OPERATION_AND,"AND"],[J.Msg.LOGIC_OPERATION_OR,"OR"],[J.Msg.LOGIC_OPERATION_NOR,"NOR"],[J.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:J.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:J.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:J.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:J.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},_n={init:function(){this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(J.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(J.Msg.LOGIC_NEGATE_TOOLTIP)}},un={init:function(){var t=[[J.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[J.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new J.FieldDropdown(t),"BOOL"),this.setTooltip(J.Msg.LOGIC_BOOLEAN_TOOLTIP)}},an={init:function(){this.setColour(en),this.setOutput(!0),this.appendDummyInput().appendField(J.Msg.LOGIC_NULL),this.setTooltip(J.Msg.LOGIC_NULL_TOOLTIP)}},rn={init:function(){this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(J.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(J.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},pn={init:function(){var t=[[J.Msg.TEXT_APPEND_TO,"in"],[J.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new J.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(J.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(J.Msg.IN)}},ln={init:function(){var t=[[J.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[J.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(en),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},In={init:function(){this.setColour(en),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Tn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(J.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},dn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[J.Msg.MIXLY_ADD,"a"],[J.Msg.MATH_BIN+J.Msg.MIXLY_ADD,"ab"],[J.Msg.MIXLY_R_W,"r+"],[J.Msg.MATH_BIN+J.Msg.MIXLY_R_W,"rb+"],[J.Msg.MIXLY_W_R,"w+"],[J.Msg.MATH_BIN+J.Msg.MIXLY_W_R,"wb+"],[J.Msg.MIXLY_A_R,"a+"],[J.Msg.MATH_BIN+J.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},hn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG,_=J.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Mn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(J.Msg.MIXPY_TEXT_ENCODE).appendField(new J.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG,_=J.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},On={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},mn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},cn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:J.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},En={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(J.Msg.MICROBIT_PYTHON_TYPE)}},Rn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.HTML_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},An={init:function(){this.setColour(0),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const Ln={init:function(){this.setColour(0),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+J.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Nn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+J.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},fn={init:function(){this.setColour(0),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Pn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+J.Msg.MIXLY_ESP32_SET+{mkdir:J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(J.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.HTML_FILE,"isfile"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+J.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Vn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(J.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_SETUP+J.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(J.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},bn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(J.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Xn={init:function(){var t=J.Procedures.findLegalName("",this),e=new J.FieldTextInput(t,J.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new J.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&J.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(J.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(J.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(J.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(J.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=J.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),J.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{J.Events.enable()}},mutationToDom:function(t){var e=J.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(J.Msg.MIXLY_AIP_ATTR).setAlign(J.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(J.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},vs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(J.Msg.HTML_FORM_CONTENT).appendField(new J.FieldDropdown([[J.Msg.HTML_TEXT,"text"],[J.Msg.HTML_EMAIL,"email"],[J.Msg.HTML_NUMBER,"number"],[J.Msg.HTML_PASSWORD,"password"],[J.Msg.HTML_CHECKBOX,"checkbox"],[J.Msg.HTML_RADIOBUTTON,"radiobutton"],[J.Msg.HTML_BUTTON,"button"],[J.Msg.HTML_COLOUR,"colour"],[J.Msg.HTML_DATE,"date"],[J.Msg.HTML_LOCALTIME,"local time"],[J.Msg.HTML_FILE,"file"],[J.Msg.HTML_HIDDEN,"hidden"],[J.Msg.HTML_IMAGE,"image"],[J.Msg.HTML_MONTH,"month"],[J.Msg.HTML_RANGE,"range"],[J.Msg.HTML_RESET,"reset"],[J.Msg.HTML_SEARCH,"search"],[J.Msg.HTML_SUBMIT,"submit"],[J.Msg.HTML_TELEPHONENUMBER,"telephone number"],[J.Msg.HTML_TIME,"time"],[J.Msg.HTML_URL,"url"],[J.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(J.Msg.HTML_NAME).appendField(new J.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(J.Msg.HTML_VALUE).appendField(new J.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(J.Msg.MIXLY_AIP_ATTR).setAlign(J.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ys={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new J.FieldTextInput("property"),"KEY").appendField(":").appendField(new J.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(new J.FieldTextInput("property"),"KEY").appendField(":").appendField(new J.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.setColour(Ls),this.appendDummyInput().appendField(J.Msg.HTML_TEXT).appendField(new J.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xs=160,ys={init:function(){this.setColour(Xs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new J.FieldTable(""),"TEXT")}},Us={init:function(){this.setColour(Xs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new J.FieldMultilineInput(""),"TEXT")}},Bs={init:function(){this.setColour(Xs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new J.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},ws={init:function(){this.setColour(Xs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Gs={init:function(){this.setColour(Xs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new J.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ks={init:function(){this.setColour(Xs),this.appendValueInput("VALUE").appendField(J.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Hs={init:function(){this.setColour(Xs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(J.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=J.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+r()+"("+t+", "+e+", "+i+")"},J.isNumber(n)&&J.isNumber(s)&&J.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const Bu=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},wu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Gu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},ku=function(t,e){return["None",e.ORDER_ATOMIC]},Hu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},xu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Wu=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},Ku=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Qu=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},ju=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ju=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},qu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},zu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Zu=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},$u=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ta=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ea=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ia=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},na=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},sa=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},oa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},_a=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ua=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},aa=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},ra=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},pa=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},la=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ia=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Ta=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},da=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},ha=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ma=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),J.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Za=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},$a=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},tr=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},er=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},ir=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},nr=function(t,e){return'"},sr=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},or=function(){return this.getFieldValue("TEXT")+"\n"},_r=function(t){return t.getFieldValue("TEXT")+"\n"},ur=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},ar=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},rr=function(){return""},pr=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},lr=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+a.join("")+r.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+r.join("\n")},hr.scrubNakedValue=function(t){return t+"\n"},hr.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},hr.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},hr.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=J.utils.string.wrap(o,hr.COMMENT_WRAP-3),n+=hr.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const Mr=120,Or={init:function(){this.setColour(Mr),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(J.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new J.FieldDropdown(Or.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))},OPERATORS:[[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]]},mr={init:function(){this.setColour(Mr);var t=new J.FieldDropdown(mr.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}},OPERATORS:[[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]]},cr="5BA5A5",Er={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cr),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(Er.OPERATORS),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[J.Msg.MIXLY_UP,"shift_up"],[J.Msg.MIXLY_DOWN,"shift_down"],[J.Msg.MIXLY_LEFT,"shift_left"],[J.Msg.MIXLY_RIGHT,"shift_right"]]},Rr={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(cr),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(Rr.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[J.Msg.MICROBIT_DISPLAY_UNION,"add"],[J.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},gr={init:function(){this.setColour(cr),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new J.FieldDropdown(gr.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE+{height:J.Msg.MIXLY_HEIGHT,width:J.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[J.Msg.MIXLY_HEIGHT,"height"],[J.Msg.MIXLY_WIDTH,"width"]]},Cr={init:function(){this.setColour(cr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_RECT).appendField(new J.FieldDropdown(Cr.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_OLED_RECT)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Ar={init:function(){this.setColour(cr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new J.FieldDropdown(Ar.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Lr={init:function(){this.setColour(cr),this.appendValueInput("SUB").setCheck("var").appendField(J.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(Lr.OPERATORS),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[J.Msg.MIXLY_UP,"shift_up"],[J.Msg.MIXLY_DOWN,"shift_down"],[J.Msg.MIXLY_LEFT,"shift_left"],[J.Msg.MIXLY_RIGHT,"shift_right"]]},Sr="#569A98",Dr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Dr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(32).fill(0)))},Nr={init:function(){this.setColour(Sr),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(Nr.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[J.Msg.MICROBIT_DISPLAY_UNION,"add"],[J.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},fr={init:function(){this.setColour(Sr),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(fr.OPERATORS),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(q.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(J.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:J.Msg.MIXLY_UP,shift_down:J.Msg.MIXLY_DOWN,shift_left:J.Msg.MIXLY_LEFT,shift_right:J.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[J.Msg.MIXLY_UP,"shift_up"],[J.Msg.MIXLY_DOWN,"shift_down"],[J.Msg.MIXLY_LEFT,"shift_left"],[J.Msg.MIXLY_RIGHT,"shift_right"]]},Pr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Pr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Fr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Fr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},vr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(vr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Yr={init:function(){this.setColour(Sr),this.appendDummyInput().appendField(J.Msg.OLED_SET_FONT).appendField(new J.FieldDropdown(Yr.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+J.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+J.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+J.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},Vr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Vr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},br={init:function(){this.setColour(Sr),this.appendDummyInput().appendField(J.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new J.FieldDropdown(br.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[J.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[J.Msg.CLOCKWISE+"90"+J.Msg.blockpy_setheading_degree,"1"],[J.Msg.CLOCKWISE+"180"+J.Msg.blockpy_setheading_degree,"2"],[J.Msg.CLOCKWISE+"270"+J.Msg.blockpy_setheading_degree,"3"]]},Xr={init:function(){this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(J.inputs.Align.CENTRE).appendField(new J.FieldBitmap(Xr.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},yr=180,Ur={init:function(){this.setColour(yr),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(J.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(Ur.OPERATORS),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[J.Msg.MIXLY_UP,"up"],[J.Msg.MIXLY_DOWN,"down"],[J.Msg.MIXLY_LEFT,"left"],[J.Msg.MIXLY_RIGHT,"right"]]},Br={init:function(){this.setColour(yr),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(Br.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[J.Msg.MICROBIT_DISPLAY_UNION,"+"],[J.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},wr={init:function(){this.setColour(yr),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new J.FieldDropdown(wr.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE+{height:J.Msg.MIXLY_HEIGHT,width:J.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[J.Msg.MIXLY_HEIGHT,"height"],[J.Msg.MIXLY_WIDTH,"width"]]},Gr={init:function(){this.setColour(yr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_RECT).appendField(new J.FieldDropdown(Gr.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_OLED_RECT)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},kr={init:function(){this.setColour(yr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new J.FieldDropdown(kr.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Hr={init:function(){this.setColour(yr),this.appendValueInput("VAR").appendField(J.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_DISPLAY_DRAW+J.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new J.FieldDropdown(Hr.STATUS),"OP"),this.jsonInit({message0:J.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_DISPLAY_DRAW+J.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[J.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[J.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},xr=225,Wr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(J.Msg.MIXLY_NETWORK_MODE).appendField(new J.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},Kr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[J.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=J.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:J.Msg.MIXLY_NETWORK_WIFI_OPEN,False:J.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},Qr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},jr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return J.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:J.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},Jr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(J.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(J.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},qr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_NETWORK_WIFI_CONNECT+J.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},zr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new J.FieldDropdown([[J.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[J.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[J.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return J.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:J.Msg.MIXLY_ESP32_NETWORK_IP,1:J.Msg.MIXLY_ESP32_NETWORK_MASK,2:J.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},Zr={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},$r={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[J.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},tp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.LISTS_SET_INDEX_SET+J.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(J.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(J.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(J.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},ep={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(J.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},ip={init:function(){this.setColour(xr),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new J.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return J.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},np={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},sp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},op={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},_p={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},up={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},ap={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},rp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},pp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},lp={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Ip={init:function(){this.setColour(xr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},Tp={init:function(){this.setColour(xr),this.appendValueInput("DOMAIN").appendField(J.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(J.Msg.blockpy_REQUESTS_GET).appendField(new J.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},dp={init:function(){this.appendValueInput("VAL"),this.setColour(xr),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_GET).appendField(new J.FieldDropdown(dp.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:J.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:J.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:J.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[J.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[J.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[J.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[J.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},hp={init:function(){this.appendValueInput("VAR").appendField(J.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(xr),this.appendDummyInput("").appendField(J.Msg.blockpy_CONDUCT).appendField(new J.FieldDropdown(hp.METHOD),"DIR"),this.appendDummyInput("").appendField(J.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:J.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:J.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},Mp={init:function(){this.setColour(xr),this.appendDummyInput("").appendField(J.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(J.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Op={init:function(){this.setColour(xr),this.appendDummyInput("").appendField(new J.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},mp="#3288dd",cp={init:function(){this.setColour(mp),this.appendValueInput("URL").appendField(J.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(J.Msg.blockpy_CONDUCT).appendField(new J.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(J.Msg.blockpy_REQUESTS).appendField(J.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ep={init:function(){this.setColour(mp),this.appendValueInput("URL").appendField(J.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(J.Msg.blockpy_CONDUCT).appendField(new J.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(J.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(J.Msg.blockpy_REQUESTS+J.Msg.OLED_STRING),this.appendDummyInput("").appendField(J.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Rp={init:function(){this.appendValueInput("VAL"),this.setColour(mp),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROBIT_JS_GET).appendField(new J.FieldDropdown(Rp.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[J.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[J.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[J.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[J.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[J.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},gp={init:function(){this.setColour(mp),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(J.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(J.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(J.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(J.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Cp={init:function(){this.setColour(mp),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(J.Msg.MIXLY_EMQX_SERVER).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(J.Msg.MIXLY_EMQX_PORT).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(J.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(J.Msg.MIXLY_WIFI_USERNAME).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(J.Msg.MIXLY_IOT_PASSWORD).setAlign(J.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ap={init:function(){this.setColour(mp),this.appendValueInput("TOPIC").appendField(J.Msg.MIXLY_EMQX_SUBSCRIBE+J.Msg.MIXLY_MICROBIT_MSG).appendField(J.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(J.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},Lp={init:function(){this.setColour(mp),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(J.Msg.MIXLY_EMQX_SUBSCRIBE+J.Msg.MIXLY_MICROBIT_MSG).appendField(J.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(J.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Sp={init:function(){this.setColour(mp),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(J.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(J.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(J.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dp={init:function(){this.setColour(mp),this.appendDummyInput().appendField("mqtt"+J.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Np="#A58C5B",fp={init:function(){this.setColour(Np),this.appendValueInput("PIN",Number).appendField(new J.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new J.FieldDropdown(fp.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[J.Msg.MIXLY_GETTEMPERATUE,"temperature"],[J.Msg.MIXLY_GETHUMIDITY,"humidity"]]},Pp=(J.Msg.PS2_TRIANGLE,J.Msg.PS2_CIRCLE,J.Msg.PS2_CROSS,J.Msg.PS2_SQUARE,J.Msg.PS2_L1,J.Msg.PS2_L2,J.Msg.PS2_R1,J.Msg.PS2_R2,J.Msg.PS2_UP,J.Msg.PS2_RIGHT,J.Msg.PS2_DOWN,J.Msg.PS2_LEFT,J.Msg.PS2_SELECT,J.Msg.PS2_START,{init:function(){this.setColour(Np),this.appendDummyInput("").appendField(J.Msg.PS2_stick).appendField(new J.FieldDropdown(Pp.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[J.Msg.PS2_RX,"0"],[J.Msg.PS2_RY,"1"],[J.Msg.PS2_LX,"2"],[J.Msg.PS2_LY,"3"]]}),Fp={init:function(){this.setColour(Np),this.appendValueInput("SUB").appendField(J.Msg.PS2),this.appendDummyInput("").appendField(J.Msg.MIXLY_JOYSTICK).appendField(new J.FieldDropdown(Fp.PSSTK),"psstk"),this.setOutput(!0,Number),this.setTooltip("")},PSSTK:[[J.Msg.PS2_RX,"RX"],[J.Msg.PS2_RY,"RY"],[J.Msg.PS2_LX,"LX"],[J.Msg.PS2_LY,"LY"]]},vp=40,Yp={init:function(){this.setColour(vp),this.appendValueInput("PIN",Number).appendField(new J.FieldDropdown([["DHT11","dht11"],["DHT22","dht22"]]),"TYPE").appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new J.FieldDropdown(Yp.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[J.Msg.MIXLY_GETTEMPERATUE,"temperature"],[J.Msg.MIXLY_GETHUMIDITY,"relative_humidity"],[J.Msg.MIXLY_DHT11_T_H,"tempandhum"]]};const Vp=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = network.WLAN(network."+this.getFieldValue("mode")+"_IF);\n"},bp=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect("+e.valueToCode(this,"id",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"password",e.ORDER_ATOMIC)+")\n"},Xp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".isconnected()",e.ORDER_ATOMIC]},yp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".ifconfig()["+this.getFieldValue("mode")+"]",e.ORDER_ATOMIC]},Up=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".disconnect()\n"},Bp=function(t,e){return e.definitions_.import_network="import network",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active("+this.getFieldValue("op")+")\n"},wp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".active()",e.ORDER_ATOMIC]},Gp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".config('"+this.getFieldValue("op")+"')",e.ORDER_ATOMIC]},kp=function(t,e){e.definitions_.import_network="import network";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"essid",e.ORDER_ATOMIC),s=e.valueToCode(this,"password",e.ORDER_ATOMIC);return i+".config(essid = "+n+", channel="+e.valueToCode(this,"channel",e.ORDER_ATOMIC)+",password="+s+")\n"},Hp=function(t,e){return e.definitions_.import_network="import network",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".scan()",e.ORDER_ATOMIC]},xp=function(t,e){e.definitions_["import_server_*"]="from server import *";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return"if not "+i+".isconnected():\n connectWifi(SSID, PASSWORD)\nip="+i+".ifconfig()[0]\nprint(ip)\ntime.sleep(1)\nDATA=listenData()\n"},Wp=function(t,e){e.definitions_.import_network="import network",e.definitions_.import_socket="import socket";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=this.getFieldValue("mode");return"UDP"==n?n="socket.SOCK_DGRAM":"TCP"==n&&(n="socket.SOCK_STREAM"),i+" = socket.socket(socket.AF_INET, "+n+")\n"},Kp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".bind("+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},Qp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".connect(socket.getaddrinfo"+e.valueToCode(this,"address",e.ORDER_ATOMIC)+"[0][-1])\n"},jp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".listen("+e.valueToCode(this,"queue",e.ORDER_ATOMIC)+")\n"},Jp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".accept()",e.ORDER_ATOMIC]},qp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".readline()",e.ORDER_ATOMIC]},zp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recv("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Zp=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".send("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+")\n"},$p=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",[e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".recvfrom("+e.valueToCode(this,"size",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},tl=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".sendto("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"address",e.ORDER_ATOMIC)+")\n"},el=function(t,e){return e.definitions_.import_network="import network",e.definitions_.import_socket="import socket",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".close()\n"},il=function(t,e){return e.definitions_.import_requests="import requests",e.variableDB_.getName(this.getFieldValue("VAR"),J.Variables.NAME_TYPE)+"= requests.get("+e.valueToCode(this,"DOMAIN",e.ORDER_ATOMIC)+")\n"},nl=function(t,e){return e.definitions_.import_requests="import requests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},sl=function(t,e){return e.definitions_.import_requests="import requests","requests."+this.getFieldValue("DIR")+"("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")\n"},ol=function(t,e){return e.definitions_.import_ntptime="import ntptime",["ntptime.time(host="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_l=function(t,e){return["'"+this.getFieldValue("op")+"'",e.ORDER_ATOMIC]},ul=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},al=function(t,e){return e.definitions_.import_urequests="import urequests",[(e.valueToCode(this,"VAL",e.ORDER_ASSIGNMENT)||"0")+"."+this.getFieldValue("ATTR"),e.ORDER_ATOMIC]},rl=function(t,e){return e.definitions_.import_urequests="import urequests",["urequests."+this.getFieldValue("TYPE")+"("+e.valueToCode(this,"URL",e.ORDER_ATOMIC)+", data="+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},pl=function(t,e){return e.definitions_.import_educore_wifi="from educore import wifi","wifi.connect(ssid="+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", timeout="+e.valueToCode(this,"TIMEOUT",e.ORDER_ATOMIC)+")\n"},ll=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.connect(server="+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", port="+e.valueToCode(this,"PORT",e.ORDER_ATOMIC)+", client_id="+e.valueToCode(this,"CLIENT_ID",e.ORDER_ATOMIC)+", user="+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", psd="+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},Il=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC);return["mqttclient."+e.valueToCode(this,"MESSAGE",e.ORDER_ATOMIC)+"("+i+")",e.ORDER_ATOMIC]},Tl=function(t,e){var i=e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC),n=e.valueToCode(this,"METHOD",e.ORDER_ATOMIC);return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqttclient.received(topic="+i+", callback="+n+")\n"},dl=function(t,e){return e.definitions_.import_educore_mqttclient="from educore import mqttclient","mqtt_client.publish(topic="+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", content="+e.valueToCode(this,"MSG",e.ORDER_ATOMIC)+")\n"},hl=function(t,e){e.definitions_.import_educore_mqttclient="from educore import mqttclient";return["mqtt_client.connescted()",e.ORDER_ATOMIC]},Ml='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:Ol}=q,{XML:ml}=(Ol.render(Ml,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),q),{XML:cl}=(ml.render(Ml,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),q),El=(cl.render(Ml,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),new J.Generator("Python"));El.INDENT=" ",El.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),El.ORDER_ATOMIC=0,El.ORDER_COLLECTION=1,El.ORDER_STRING_CONVERSION=1,El.ORDER_UNARY_POSTFIX=1,El.ORDER_UNARY_PREFIX=2,El.ORDER_MEMBER=2.1,El.ORDER_FUNCTION_CALL=2.2,El.ORDER_EXPONENTIATION=3,El.ORDER_UNARY_SIGN=4,El.ORDER_BITWISE_NOT=4,El.ORDER_MULTIPLICATIVE=5,El.ORDER_ADDITIVE=6,El.ORDER_BITWISE_SHIFT=7,El.ORDER_BITWISE_AND=8,El.ORDER_BITWISE_XOR=9,El.ORDER_BITWISE_OR=10,El.ORDER_RELATIONAL=11,El.ORDER_EQUALITY=11,El.ORDER_LOGICAL_NOT=12,El.ORDER_LOGICAL_AND=13,El.ORDER_LOGICAL_OR=14,El.ORDER_ASSIGNMENT=14,El.ORDER_CONDITIONAL=15,El.ORDER_LAMBDA=16,El.ORDER_NONE=99,El.ORDER_OVERRIDES=[[El.ORDER_FUNCTION_CALL,El.ORDER_MEMBER],[El.ORDER_FUNCTION_CALL,El.ORDER_FUNCTION_CALL],[El.ORDER_MEMBER,El.ORDER_MEMBER],[El.ORDER_MEMBER,El.ORDER_FUNCTION_CALL]],El.init=function(){El.PASS=this.INDENT+"pass\n",El.definitions_=Object.create(null),El.functionNames_=Object.create(null),El.setups_=Object.create(null),El.loops_=Object.create(null),El.codeEnd_=Object.create(null),El.variableDB_?El.variableDB_.reset():El.variableDB_=new tt(El.RESERVED_WORDS_)},El.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in El.functions_)_.push(El.functions_[s]);_.length&&_.push("\n");var u=[];for(var s in El.setups_)u.push(El.setups_[s]);u.length&&u.push("\n");var a=[];for(var s in El.loops_)a.push(El.loops_[s]);var r=[];for(var s in El.codeEnd_)r.push(El.codeEnd_[s]);0!==r.length&&r.push("\n");let p="";return p=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+"while True:\n"+a.join("")+r.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+u.join("")+t+r.join("\n"),p},El.scrubNakedValue=function(t){return t+"\n"},El.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},El.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},El.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=J.utils.string.wrap(o,El.COMMENT_WRAP-3),n+=El.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const Rl={microbit:{description:"microbit_python",digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],pwm:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],analog:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P10","10"]],interrupt:[["P0","0"],["P1","1"],["P2","2"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","Image.HEART"],["HEART_SMALL","Image.HEART_SMALL"],["HAPPY","Image.HAPPY"],["SMILE","Image.SMILE"],["SAD","Image.SAD"],["CONFUSED","Image.CONFUSED"],["ANGRY","Image.ANGRY"],["ASLEEP","Image.ASLEEP"],["SURPRISED","Image.SURPRISED"],["SILLY","Image.SILLY"],["FABULOUS","Image.FABULOUS"],["MEH","Image.MEH"],["YES","Image.YES"],["NO","Image.NO"],["CLOCK12","Image.CLOCK12"],["CLOCK11","Image.CLOCK11"],["CLOCK10","Image.CLOCK10"],["CLOCK9","Image.CLOCK9"],["CLOCK8","Image.CLOCK8"],["CLOCK7","Image.CLOCK7"],["CLOCK6","Image.CLOCK6"],["CLOCK5","Image.CLOCK5"],["CLOCK4","Image.CLOCK4"],["CLOCK3","Image.CLOCK3"],["CLOCK2","Image.CLOCK2"],["CLOCK1","Image.CLOCK1"],["ARROW_N","Image.ARROW_N"],["ARROW_NE","Image.ARROW_NE"],["ARROW_E","Image.ARROW_E"],["ARROW_SE","Image.ARROW_SE"],["ARROW_S","Image.ARROW_S"],["ARROW_SW","Image.ARROW_SW"],["ARROW_W","Image.ARROW_W"],["ARROW_NW","Image.ARROW_NW"],["TRIANGLE","Image.TRIANGLE"],["TRIANGLE_LEFT","Image.TRIANGLE_LEFT"],["CHESSBOARD","Image.CHESSBOARD"],["DIAMOND","Image.DIAMOND"],["DIAMOND_SMALL","Image.DIAMOND_SMALL"],["SQUARE","Image.SQUARE"],["SQUARE_SMALL","Image.SQUARE_SMALL"],["RABBIT","Image.RABBIT"],["COW","Image.COW"],["MUSIC_CROTCHET","Image.MUSIC_CROTCHET"],["MUSIC_QUAVER","Image.MUSIC_QUAVER"],["MUSIC_QUAVERS","Image.MUSIC_QUAVERS"],["PITCHFORK","Image.PITCHFORK"],["XMAS","Image.XMAS"],["PACMAN","Image.PACMAN"],["TARGET","Image.TARGET"],["TSHIRT","Image.TSHIRT"],["ROLLERSKATE","Image.ROLLERSKATE"],["DUCK","Image.DUCK"],["HOUSE","Image.HOUSE"],["TORTOISE","Image.TORTOISE"],["BUTTERFLY","Image.BUTTERFLY"],["STICKFIGURE","Image.STICKFIGURE"],["GHOST","Image.GHOST"],["SWORD","Image.SWORD"],["GIRAFFE","Image.GIRAFFE"],["SKULL","Image.SKULL"],["UMBRELLA","Image.UMBRELLA"],["SNAKE","Image.SNAKE"],["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],imglist:[["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["P0","0"],["P1","1"],["P2","2"],["P8","8"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]]}};Rl["Mithon CC"]=Rl.microbit;const gl=Rl,Cl=100,Al={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",message0:J.Msg.MIXLY_MICROBIT_Play_built_in_melody,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Play_built_in_melody1)}},Ll={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",tooltip:"Play one of the built-in melodies. Indicate if you need to wait before continuing or continuously loop the melody.",message0:J.Msg.MIXLY_MICROBIT_Play_built_in_melody_easy,args0:[{name:"melody",options:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"}]})}},Sl={init:function(){this.setColour(Cl),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_TONE).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MIXLY_FREQUENCY),this.appendValueInput("duration").setCheck(Number).appendField(J.Msg.MIXLY_DURATION),this.appendDummyInput("").appendField(J.Msg.MIXLY_MILLIS).appendField(J.Msg.MIXLY_MICROBIT_WAIT),this.appendDummyInput("").appendField(new J.FieldCheckbox(!0),"wait"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Dl={init:function(){this.setColour(Cl),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_TONE).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Nl={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",message0:J.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Play_notes1)}},fl={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",tooltip:"Play a list of notes expressed in the special music language. Indicate if you need to wait before continuing or continuously loop the melody.",message0:J.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{type:"input_dummy"},{type:"input_dummy"}]})}},Pl={init:function(){this.jsonInit({colour:Cl,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",message0:J.Msg.MIXLY_MICROBIT_Reset_music}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Reset_music)}},Fl={init:function(){this.setColour(Cl),this.appendValueInput("PIN").appendField(J.Msg.MIXLY_NOTONE).appendField(J.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_NOTONE)}},vl={init:function(){this.jsonInit({colour:Cl,output:"Array",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",message0:J.Msg.MIXLY_MICROBIT_Get_current_tempo}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Get_current_tempo)}},Yl={init:function(){this.setColour(Cl),this.appendValueInput("TICKS").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(J.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(J.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_SET_TEMPO1)}},Vl={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,"say"],[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,"sing"],[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE,"pronounce"]]),"MODE"),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_pitch),this.appendValueInput("speed").setCheck(Number).appendField(J.Msg.MIXLY_SPEED),this.appendValueInput("mouth").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_mouth),this.appendValueInput("throat").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_throat),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH,n=J.Msg.MIXLY_MICROBIT_TYPE_STRING;return i+{say:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,sing:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,pronounce:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE}[e]+n}))}},bl={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Xl={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yl={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ul={init:function(){this.setColour(Cl),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MICROBIT_SPEECH_translation),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.MICROBIT_SPEECH_translation)}},Bl={init:function(){this.setColour(Cl),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_SERVO).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERVO_MOVE)}},wl={init:function(){this.appendValueInput("speed").setCheck(null).appendField(J.Msg.MIXLY_MOTOR).appendField(new J.FieldDropdown([["M1","1"],["M2","2"],["M3","3"],["M4","4"]]),"Motor").appendField(J.Msg.MIXLY_SPEED),this.appendDummyInput().appendField(new J.FieldDropdown([["Forward","1*"],["Reverse","-1*"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Cl),this.setTooltip(""),this.setHelpUrl("")}},Gl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_RGB_PIN_COUNT)}},kl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_RGB_NUM_R_G_B)}},Hl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").setAlign(J.inputs.Align.RIGHT).appendField(new J.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},xl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_ESP32_MUSIC_WRI)}},Wl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.MIXLY_SETUP+" "+J.Msg.QJ00X_MP3),this.appendValueInput("RX").setAlign(J.inputs.Align.RIGHT).appendField("RX#"),this.appendValueInput("TX").setAlign(J.inputs.Align.RIGHT).appendField("TX#"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Kl=[[J.Msg.MIXLY_MP3_PLAY,"play"],[J.Msg.MIXLY_MP3_PAUSE,"pause"],[J.Msg.MIXLY_MP3_NEXT,"next_track"],[J.Msg.MIXLY_MP3_PREV,"prev_track"],[J.Msg.MIXLY_MP3_VOL_UP,"inc_vol"],[J.Msg.MIXLY_MP3_VOL_DOWN,"dec_vol"]];const Ql={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(Kl),"CONTROL_TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var jl=[[J.Msg.MIXLY_MP3_LOOP_ALL,"0"],[J.Msg.MIXLY_MP3_LOOP_FOLDER,"1"],[J.Msg.MIXLY_MP3_LOOP_ONE,"2"],[J.Msg.MIXLY_MP3_LOOP_RAM,"3"]];const Jl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_LOOP_MODE).appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(jl),"LOOP_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var ql=[[J.Msg.MIXLY_MP3_EQ_NORMAL,"0"],[J.Msg.MIXLY_MP3_EQ_POP,"1"],[J.Msg.MIXLY_MP3_EQ_ROCK,"2"],[J.Msg.MIXLY_MP3_EQ_JAZZ,"3"],[J.Msg.MIXLY_MP3_EQ_CLASSIC,"4"],[J.Msg.MIXLY_MP3_EQ_BASS,"5"]];const zl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_EQ_MODE).appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(ql),"EQ_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Zl={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_VOL),this.appendValueInput("vol",Number).appendField(J.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},$l={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},tI={init:function(){this.setColour(Cl),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendValueInput("FOLDER",Number).appendField(J.Msg.DFPLAYER_MINI_FOLDER).setCheck(Number),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},eI=140,iI={init:function(){this.setColour(225),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"on"],[J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"off"],[J.Msg.HTML_RESET,"reset"]]),"type").appendField(J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type"),i=J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI;return{on:J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,off:J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,reset:J.Blockly.Msg.HTML_RESET}[e]+i}))}},nI={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",tooltip:"Turn on the radio. This needs to be explicitly called since the radio draws power and takes up memory that you may otherwise need.",message0:J.Msg.MIXLY_MICROBIT_Switch_on_radio})}},sI={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",tooltip:"Turn off the radio, thus saving power and memory.",message0:J.Msg.MIXLY_MICROBIT_Switch_off_radio})}},oI={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",tooltip:J.Msg.MIXLY_MICROBIT_Configure_radio1,message0:J.Msg.MIXLY_MICROBIT_Configure_radio,args0:[{min:4,value:32,type:"input_value",max:251,name:"length"},{type:"input_dummy"},{min:1,value:3,type:"input_value",max:32,name:"queue"},{type:"input_dummy"},{min:0,value:7,type:"input_value",max:100,name:"channel"},{type:"input_dummy"},{name:"power",type:"input_value"},{type:"input_dummy"},{name:"address",type:"input_value"},{type:"input_dummy"},{name:"group",type:"input_value"},{type:"input_dummy"},{name:"data_rate",type:"input_value"}]})}},_I={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",tooltip:"Reset the radio to default settings.",message0:J.Msg.MIXLY_MICROBIT_Reset_radio})}},uI={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",tooltip:"Broadcast a text message.",message0:J.Msg.MIXLY_MICROBIT_Send_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},aI={init:function(){this.setColour(225),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_RADIO_SEND),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_MSG,"send"],[J.Msg.MIXLY_MICROBIT_MSG_BYTE,"send_bytes"]]),"type"),this.appendValueInput("data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_Send_message1)}},rI={init:function(){this.jsonInit({colour:225,output:"String",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",tooltip:J.Msg.MIXLY_MICROBIT_Receive_message,message0:J.Msg.MIXLY_MICROBIT_Receive_message})}},pI={init:function(){this.setColour(225),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_Receive_message),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_MSG,"receive"],[J.Msg.MIXLY_MICROBIT_MSG_BYTE,"receive_bytes"],[J.Msg.MIXLY_MICROBIT_MSG_FULL,"receive_full"]]),"type"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_Receive_message)}},lI={init:function(){this.setColour(eI),this.appendValueInput("RX",Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_SETUP).appendField("sda").setCheck(Number).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("scl").setCheck(Number).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField("频率").setAlign(J.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},II={init:function(){this.setColour(eI),this.appendValueInput("address").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_READ_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.LANG_MATH_BYTE),this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new J.FieldCheckbox(!1),"is_repeated"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},TI={init:function(){this.setColour(eI),this.appendValueInput("address").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_WRITE_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new J.FieldCheckbox(!1),"is_repeated"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},dI={init:function(){this.jsonInit({colour:eI,nextStatement:null,previousStatement:null,message0:J.Msg.MIXLY_MICROBIT_SPI_INIT,args0:[{value:1e6,type:"field_number",name:"freq"},{type:"input_dummy"},{value:8,type:"field_number",name:"bits"},{type:"input_dummy"},{value:0,type:"field_number",name:"mode"},{type:"input_dummy"},{name:"mosi",options:q.Profile.default.digital,type:"field_dropdown"},{name:"miso",options:q.Profile.default.digital,type:"field_dropdown"},{name:"sck",options:q.Profile.default.digital,type:"field_dropdown"}]}),this.setFieldValue("15","mosi"),this.setFieldValue("14","miso"),this.setFieldValue("13","sck")}},hI={init:function(){this.setColour(eI),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_SPI_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_SPI_WRITE)}},MI=180,OI={init:function(){this.jsonInit({colour:MI,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:J.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Clear_display)}},mI={init:function(){this.setColour(MI),this.appendValueInput("x").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_GET).appendField(J.Msg.MIXLY_BRIGHTNESS).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_BRIGHTNESS1)}},cI={init:function(){this.setColour(MI),this.appendValueInput("x").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("brightness").setCheck(Number).appendField(J.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_BRIGHTNESS2)}},EI={init:function(){this.setColour(MI),this.appendValueInput("data").setCheck([String,"microbit_image"]).appendField(J.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING)}},RI={init:function(){this.setColour(MI),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gI={init:function(){this.setColour(MI),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("delay").setCheck(null).appendField(J.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(J.Msg.MIXLY_MILLIS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CI={init:function(){this.setColour(MI),this.appendValueInput("PIN",String).setCheck("microbit_image").appendField(J.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.OLED_BITMAP)}},AI={init:function(){this.jsonInit({colour:MI,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:J.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}]})}},LI={init:function(){this.jsonInit({colour:MI,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:J.Msg.MIXLY_MICROBIT_Animate_images_or_string,args0:[{check:[String,"List"],type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+J.Msg.MIXLY_MICROBIT_Animate_images1)}},SI={init:function(){this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.jsonInit({colour:MI,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:J.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING)}},DI={init:function(){this.jsonInit({colour:MI,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:J.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},NI={init:function(){this.setColour(MI),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[J.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(J.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=J.Msg.MIXLY_MICROBIT_monitor;return{on:J.Msg.MIXLY_MICROBIT_Turn_on_display,off:J.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},fI={init:function(){this.jsonInit({colour:MI,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:J.Msg.MIXLY_MICROBIT_Turn_off_display})}},PI={init:function(){this.jsonInit({colour:MI,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:J.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Display_is_on1)}},FI={init:function(){this.jsonInit({colour:MI,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}],output:["microbit_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:J.Msg.MIXLY_MICROBIT_Built_in_image1,message0:J.Msg.MIXLY_MICROBIT_Built_in_image})}},vI={init:function(){this.jsonInit({colour:MI,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.copy",message0:J.Msg.MIXLY_MICROBIT_Copy_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Copy_image1)}},YI={init:function(){this.jsonInit({colour:MI,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.invert",message0:J.Msg.MIXLY_MICROBIT_Invert_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Invert_image1)}},VI={init:function(){this.jsonInit({colour:MI,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:J.Msg.MIXLY_MICROBIT_Create_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)}},bI={init:function(){var t=[[J.Msg.MIXLY_UP,"up"],[J.Msg.MIXLY_DOWN,"down"],[J.Msg.MIXLY_LEFT,"left"],[J.Msg.MIXLY_RIGHT,"right"]];this.setColour(MI),this.setOutput(!0,"microbit_image"),this.setInputsInline(!0),this.appendValueInput("img").appendField(J.Msg.DISPLAY_IMAGE_LET).setCheck(["microbit_image","List",String]),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[t]+s}))}},XI={init:function(){var t=[[J.Msg.MICROBIT_DISPLAY_UNION,"+"],[J.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(MI),this.setOutput(!0,"microbit_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},yI={init:function(){this.setColour(MI),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(J.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},UI={init:function(){this.setColour(MI),this.appendValueInput("device").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_SETUP).appendField(J.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(J.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_SETUP+J.Msg.MIXLY_DF_LCD+J.Msg.MIXLY_LCD_ADDRESS)}},BI={init:function(){this.setColour(MI),this.appendValueInput("row",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(J.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},wI={init:function(){this.setColour(MI),this.appendDummyInput().appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new J.FieldDropdown([[J.Msg.MIXLY_ON,"on()"],[J.Msg.MIXLY_OFF,"off()"],[J.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[J.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(False)"],[J.Msg.MIXLY_LCD_BACKLIGHT,"backlight(True)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return J.Msg.LISTS_SET_INDEX_SET+J.Msg.MIXLY_DF_LCD+{"on()":J.Msg.MIXLY_ON,"off()":J.Msg.MIXLY_OFF,"clear()":J.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":J.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":J.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},GI={init:function(){this.appendDummyInput().appendField(J.Msg.MIXLY_DF_LCD+" OLED "+J.Msg.OLEDDISPLAY),this.appendValueInput("Text_line1","String").setAlign(J.inputs.Align.RIGHT).appendField("(128*64) "+J.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(MI),this.setTooltip(J.Msg.MIXLY_DF_LCD+J.Msg.OLEDDISPLAY+J.Msg.MIXLY_MICROBIT_TYPE_STRING)}},kI={init:function(){var t=[[J.Msg.MIXLY_HEIGHT,"height"],[J.Msg.MIXLY_WIDTH,"width"]];this.setColour(MI),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("microbit_image"),this.appendDummyInput("").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE+{height:J.Msg.MIXLY_HEIGHT,width:J.Msg.MIXLY_WIDTH}[t]}))}},HI={init:function(){this.setColour(MI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[J.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:J.Msg.MIXLY_LCD_STAT_CLEAR,1:J.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return J.Msg.MIXLY_DF_LCD+i[e]}))}},xI="#777777",WI={init:function(){this.setColour(xI),this.appendDummyInput("").appendField("from ").appendField(new J.FieldTextInput("microbit"),"path").appendField(" import ").appendField(new J.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},KI={init:function(){this.setColour(xI),this.appendDummyInput("").appendField("import ").appendField(new J.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QI={init:function(){this.setColour(xI),this.appendDummyInput("").appendField(new J.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;e0)var u="rgb_show.mixly_rgb_show("+(i-1)+", "+s+", "+o+", "+_+")\n";else u="rgb_show.mixly_rgb_show_all("+s+", "+o+", "+_+")\n";return u},MM=function(t,e){var i=this.getFieldValue("LED");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_neopixel="import neopixel",e.definitions_.import_rgb_show="import rgb_show",i>0)var n="rgb_show.mixly_rgb_show("+(i-1)+", 0, 0, 0)\n";else n="rgb_show.mixly_rgb_show_all(0, 0, 0)\n";return n},OM=function(t,e){var i=e.valueToCode(this,"_LED_",e.ORDER_ATOMIC),n=e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC),s=e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC),o=e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC);return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_neopixel="import neopixel",e.definitions_.import_rgb_show="import rgb_show","rgb_show.mixly_rgb_show("+i+", "+n+", "+s+", "+o+")\n"},mM=function(t,e){var i=this.getFieldValue("NUMBER"),n=e.valueToCode(this,"SPEED",e.ORDER_ATOMIC),s=this.getFieldValue("DIRECTION");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_motor_control="import motor_control",0==i)var o="motor_control.motor1("+n+", "+s+")\nmotor_control.motor2("+n+", "+s+")\nmotor_control.motor3("+n+", "+s+")\n";else if(1==i)o="motor_control.motor1("+n+", "+s+")\n";else if(2==i)o="motor_control.motor2("+n+", "+s+")\n";else if(3==i)o="motor_control.motor3("+n+", "+s+")\n";return o},cM=function(t,e){var i=this.getFieldValue("NUMBER");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_motor_control="import motor_control",0==i)var n="motor_control.motor1(0)\nmotor_control.motor2(0)\nmotor_control.motor3(0)\n";else if(1==i)n="motor_control.motor1(0)\n";else if(2==i)n="motor_control.motor2(0)\n";else if(3==i)n="motor_control.motor3(0)\n";return n},EM=function(t,e){return["pin"+this.getFieldValue("NUMBER")+".read_analog()",e.ORDER_ATOMIC]},RM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"btn",e.ORDER_ATOMIC);e.setups_["on_"+i]="def on_"+i+"():\n while True:\n if "+i+".was_pressed():\n yield callback_"+i+"()\n else:\n yield\n\nfunc_"+i+" = on_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_"+i+")\n","def callback_"+i+"():\n"+n},gM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=this.getFieldValue("gesture");e.setups_["on_"+i]="def on_gesture_"+i+'():\n while True:\n if accelerometer.is_gesture("'+i+'"):\n yield callback_gesture_'+i+"()\n else:\n yield\n\nfunc_gesture_"+i+" = on_gesture_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_gesture_"+i+")\n","def callback_gesture_"+i+"():\n"+n},CM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=this.getFieldValue("near");e.setups_["on_"+i]="def on_near_"+i+"():\n while True:\n if not pin"+i+".read_digital():\n yield callback_near_"+i+"()\n else:\n yield\n\nfunc_near_"+i+" = on_near_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_near_"+i+")\n","def callback_near_"+i+"():\n"+n},AM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"TIMES",e.ORDER_ATOMIC),n=e.statementToCode(t,"DO");return"for _my_variable in range("+i+"):\n"+(n=e.addLoopTrap(n,t.id)||e.PASS)},LM=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},SM=LM,DM=LM,NM=LM,fM=LM,PM=LM,FM=LM,vM=LM,YM=LM,VM=LM,bM=LM,XM=LM,yM=LM,UM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".is_pressed()",e.ORDER_ATOMIC]},BM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".was_pressed()",e.ORDER_ATOMIC]},wM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".get_presses()",e.ORDER_ATOMIC]},GM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['"'+this.getFieldValue("gesture")+'"',e.ORDER_ATOMIC]},kM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",'if accelerometer.is_gesture("'+this.getFieldValue("gesture")+'"):\n'+(e.statementToCode(this,"DO")||e.PASS)},HM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['accelerometer.is_gesture("'+this.getFieldValue("gesture")+'")',e.ORDER_ATOMIC]},xM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['accelerometer.was_gesture("'+this.getFieldValue("gesture")+'")',e.ORDER_ATOMIC]},WM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",'if accelerometer.was_gesture("'+this.getFieldValue("gesture")+'"):\n'+(e.statementToCode(this,"DO")||e.PASS)},KM=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i,n=this.getFieldValue("GES");return"all"==n?i="accelerometer.get_gestures()":"current"==n&&(i="accelerometer.current_gesture()"),[i,e.ORDER_ATOMIC]},QM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["accelerometer.current_gesture()",e.ORDER_ATOMIC]},jM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["accelerometer.get_"+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},JM=function(){return"input.setAccelerometerRange("+this.getFieldValue("key")+")\n"},qM=function(t,e){return["input.lightLevel()",e.ORDER_ATOMIC]},zM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.calibrate()\n"},ZM=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass.is_calibrated()",e.ORDER_ATOMIC]},$M=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass.heading()",e.ORDER_ATOMIC]},tO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["temperature()",e.ORDER_ATOMIC]},eO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass."+this.getFieldValue("compass")+"()",e.ORDER_ATOMIC]},iO=function(t,e){return["input.rotation("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},nO=function(t,e){return["input.magneticForce("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},sO=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="import ultrasonic",["ultrasonic.distance_cm(t_pin=pin"+i+", e_pin=pin"+n+")",e.ORDER_ATOMIC]},oO=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.setups_.class_hrsc04_="class HCSR04:\n def __init__(self, tpin=pin"+i+", epin=pin"+n+', spin=pin13):\n self.trigger_pin = tpin\n self.echo_pin = epin\n self.sclk_pin = spin\n\n def distance_mm(self):\n spi.init(baudrate=125000, sclk=self.sclk_pin,\n mosi=self.trigger_pin, miso=self.echo_pin)\n pre = 0\n post = 0\n k = -1\n length = 500\n resp = bytearray(length)\n resp[0] = 0xFF\n spi.write_readinto(resp, resp)\n # find first non zero value\n try:\n i, value = next((ind, v) for ind, v in enumerate(resp) if v)\n except StopIteration:\n i = -1\n if i > 0:\n pre = bin(value).count("1")\n # find first non full high value afterwards\n try:\n k, value = next((ind, v)\n for ind, v in enumerate(resp[i:length - 2]) if resp[i + ind + 1] == 0)\n post = bin(value).count("1") if k else 0\n k = k + i\n except StopIteration:\n i = -1\n dist= -1 if i < 0 else round((pre + (k - i) * 8. + post) * 8 * 0.172)\n return dist\n\n def distance_cm(self):\n return self.distance_mm() / 10.0\n\nsonar=HCSR04()\n\n',["sonar.distance_cm()",e.ORDER_ATOMIC]},_O=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *"},uO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *";var i=this.getFieldValue("TIME_TYPE");switch(i){case"Year":case"Month":case"Day":case"Hour":case"Minute":case"Second":case"Week":return["ds."+i+"()",e.ORDER_ASSIGNMENT];case"Mix1":return["ds.get_date()",e.ORDER_ASSIGNMENT];case"Mix2":return["ds.get_time()",e.ORDER_ASSIGNMENT]}},aO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_time("+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+")\n"},rO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_date("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+")\n"},pO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.clear_calibration()\n"},lO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["display.read_light_level()",e.ORDER_ATOMIC]},IO=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="from ultrasonic import *","sonar = HCSR04(tpin=pin"+i+", epin=pin"+n+")\n"},TO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_TCS="from TCS import *",["tcs.getRawRGBData("+this.getFieldValue("TCS34725_COLOR")+")",e.ORDER_ATOMIC]},dO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+"))\n"},hO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+")+'\\r\\n')\n"},MO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str(hex("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0")+")) + '\\r\\n')\n"},OO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"char_marker",e.ORDER_ATOMIC)||";",n=e.statementToCode(this,"DO");e.definitions_["func_serial_receive_data_event_"+i.charCodeAt(1)]="serial.onDataReceived("+i+", () => {\n"+n+"}\n"},mO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.any()",e.ORDER_ATOMIC]},cO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.read()",e.ORDER_ATOMIC]},EO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.readline()",e.ORDER_ATOMIC]},RO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["serial.readUntil("+this.getFieldValue("char_marker")+")",e.ORDER_ATOMIC]},gO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"RX",e.ORDER_ATOMIC),n=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return isNaN(parseInt(i))||(i="pin"+i),isNaN(parseInt(n))||(n="pin"+n),"uart.init(rx="+i+", tx="+n+", baudrate="+this.getFieldValue("baudrate")+")\n"},CO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.init(baudrate="+this.getFieldValue("baudrate")+")\n"},AO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["input("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},LO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")\n"},SO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+',end ="")\n'},DO=function(t,e){return"control.inBackground(() => {\n"+e.statementToCode(this,"do")+"})\n"},NO=function(){return"control.reset()\n"},fO=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},PO=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+")\n"},FO=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||q.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||q.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},vO=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},YO=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},VO=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},bO=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},XO=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},yO=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},UO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","sleep("+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000")+")\n"},BO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},wO=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["running_time()",e.ORDER_ATOMIC]},GO=function(){return"while True:\n pass\n"},kO=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","reset()\n"},HO=function(t,e){return e.definitions_.import_os="import os",["os.uname()",e.ORDER_ATOMIC]};Object.assign(J.Variables,Z),Object.assign(J.Procedures,dr),J.Python=hr,J.generator=hr,q.Profile.default={},Object.assign(q.Profile,gl),Object.assign(q.Profile.default,gl.microbit),Object.assign(J.Blocks,e,i,n,s,o,_,u,a,r,p,l,I,T,D,f,P,F,F,v,Y,V,b,X,y,U),Object.assign(J.Python.forBlock,d,h,M,O,m,c,E,R,g,C,A,L,S,N,B,w,G,G,k,H,x,W,K,Q,j)})(); \ No newline at end of file diff --git a/boards/default/micropython_robot/index.xml b/boards/default/micropython_robot/index.xml index 6d730f9e..5ec597d0 100644 --- a/boards/default/micropython_robot/index.xml +++ b/boards/default/micropython_robot/index.xml @@ -1 +1 @@ -02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly20189141420452023,1,1,12,0,0180291001001001001004404401000004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.50.5wifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSGJl0ExVN-4j27msR北京SGJl0ExVN-4j27msR北京1SGJl0ExVN-4j27msR北京24https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyx02000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixly100100100180100360100100filename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10timtim1000tim_callbacktim_callback5000200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly20189141420452023,1,1,12,0,0180291001001001001004404401000004120000000000010001000Mixly0MixlyMixly500MixlyMixly500>10.50.5wifinamewifipassword8080AUTH TOKEN0_value02000notify0Your Target Emailsubjectbodycolor#FF0000wifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cnwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSGJl0ExVN-4j27msR北京SGJl0ExVN-4j27msR北京1SGJl0ExVN-4j27msR北京24https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyx02000001000009000,4500,563,5630x1234callbackcmdaddrrawpulsesi2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixly100100100180100360100100filename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_robot/main.bundle.27de60aa.js b/boards/default/micropython_robot/main.bundle.27de60aa.js new file mode 100644 index 00000000..720987dc --- /dev/null +++ b/boards/default/micropython_robot/main.bundle.27de60aa.js @@ -0,0 +1,21 @@ +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Ct,controls_typeLists:()=>St,lists_zip:()=>At,lists_zip_container:()=>Lt,lists_zip_item:()=>Nt,unpack_iterable_object:()=>Dt,variables_change:()=>ct,variables_get:()=>Ot,variables_global:()=>gt,variables_set:()=>Rt});var i={};t.r(i),t.d(i,{base_setup:()=>Pt,controls_delay:()=>vt,controls_end_program:()=>Yt,controls_except:()=>Kt,controls_finally:()=>Jt,controls_flow_statements:()=>Bt,controls_for:()=>Gt,controls_forEach:()=>yt,controls_for_range:()=>Ut,controls_if:()=>Xt,controls_if_else:()=>kt,controls_if_elseif:()=>Ht,controls_if_if:()=>wt,controls_lambda:()=>qt,controls_main:()=>Ft,controls_pass:()=>zt,controls_range:()=>bt,controls_repeat_ext:()=>Qt,controls_thread:()=>jt,controls_try:()=>Wt,controls_try_finally:()=>Vt,controls_whileUntil:()=>xt,datetime_fromtimestamp:()=>ne,do_while:()=>$t,garbage_collection:()=>Zt,gene_unique_identifier:()=>se,get_mem_alloc:()=>te,get_mem_free:()=>ee,get_unique_identifier:()=>ie});var n={};t.r(n),t.d(n,{base_map:()=>Ae,generate_cartesian_product:()=>Ne,math_arithmetic:()=>ue,math_bit:()=>de,math_constant:()=>pe,math_constant_mp:()=>ae,math_constrain:()=>Ee,math_dec:()=>Ie,math_degree_to_radian:()=>fe,math_indexer_number:()=>Re,math_map:()=>Oe,math_max_min:()=>Me,math_number:()=>_e,math_number_base_conversion:()=>he,math_radian_to_degree:()=>De,math_random:()=>me,math_random_seed:()=>ce,math_round:()=>ge,math_selfcalcu:()=>re,math_to_int:()=>Te,math_trig:()=>le,text_to_number:()=>Ce,text_to_number_skulpt:()=>Se,turn_to_int:()=>Le});var s={};t.r(s),t.d(s,{ascii_to_char:()=>ye,char_to_ascii:()=>xe,number_to_text:()=>Ve,os_system:()=>ui,text:()=>Pe,text_bytes:()=>Ye,text_capital:()=>Je,text_center:()=>Qe,text_char:()=>Xe,text_char_at:()=>Ue,text_char_at2:()=>Ge,text_char_at3:()=>oi,text_compareTo:()=>si,text_compare_to:()=>Ke,text_create_with_container:()=>ei,text_create_with_item:()=>ii,text_encode:()=>pi,text_equals_starts_ends:()=>We,text_eval:()=>ai,text_find:()=>qe,text_format:()=>ti,text_format_noreturn:()=>_i,text_join:()=>be,text_join_seq:()=>ze,text_length:()=>Be,text_random_char:()=>we,text_replace:()=>je,text_split:()=>$e,text_strip:()=>Ze,text_substring:()=>ke,text_substring2:()=>He,text_substring3:()=>ni,text_textarea:()=>ve});var o={};t.r(o),t.d(o,{ENUMERATE:()=>Wi,content_in_lists:()=>Ji,enumerate:()=>Ki,list_many_input:()=>vi,list_tolist:()=>yi,list_tolist2:()=>ki,list_trig:()=>fi,lists_2d_get_col_row_data:()=>Ti,lists_2d_get_data_with_col_row:()=>Ii,lists_append_extend:()=>Ri,lists_change_to:()=>Pi,lists_change_to_general:()=>Xi,lists_clear:()=>Ai,lists_create_with:()=>Mi,lists_create_with2:()=>xi,lists_create_with_container:()=>mi,lists_create_with_item:()=>Ei,lists_create_with_noreturn:()=>Yi,lists_create_with_text:()=>hi,lists_create_with_text2:()=>Vi,lists_del_general:()=>bi,lists_find:()=>Di,lists_getIndex3:()=>Bi,lists_getSublist3:()=>Gi,lists_get_index:()=>di,lists_get_random_item:()=>ci,lists_get_random_sublist:()=>gi,lists_get_sublist:()=>li,lists_insert_value:()=>Ci,lists_insert_value2:()=>wi,lists_pop:()=>Ni,lists_remove_at:()=>Li,lists_remove_at2:()=>Hi,lists_reverse:()=>Si,lists_setIndex3:()=>Ui,lists_set_index:()=>Oi,lists_sort:()=>Fi});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>rn,dicts_add_or_change:()=>en,dicts_clear:()=>on,dicts_create_with:()=>qi,dicts_create_with_container:()=>zi,dicts_create_with_item:()=>ji,dicts_create_with_noreturn:()=>In,dicts_deldict:()=>un,dicts_delete:()=>nn,dicts_get:()=>Zi,dicts_get_default:()=>tn,dicts_items:()=>_n,dicts_keys:()=>$i,dicts_length:()=>an,dicts_pop:()=>dn,dicts_setdefault:()=>ln,dicts_to_json:()=>Mn,dicts_to_json2:()=>En,dicts_to_to:()=>mn,dicts_todict:()=>Tn,dicts_update:()=>sn,dicts_values:()=>pn,json_to_dicts:()=>hn});var p={};t.r(p),t.d(p,{logic_boolean:()=>Sn,logic_compare:()=>Rn,logic_compare_continous:()=>cn,logic_is:()=>Dn,logic_is_in:()=>Nn,logic_negate:()=>Cn,logic_null:()=>An,logic_operation:()=>gn,logic_tobool:()=>fn,logic_true_or_false:()=>Ln});var a={};t.r(a),t.d(a,{sdcard_mount:()=>$n,sdcard_use_spi_init:()=>jn,storage_can_write_ornot:()=>Vn,storage_change_dir:()=>qn,storage_close_file:()=>Gn,storage_delete_file:()=>wn,storage_file_seek:()=>Wn,storage_file_tell:()=>kn,storage_file_write:()=>Xn,storage_fileopen:()=>Pn,storage_fileopen_new:()=>vn,storage_fileopen_new_encoding:()=>Yn,storage_get_a_line:()=>xn,storage_get_contents:()=>yn,storage_get_contents_without_para:()=>bn,storage_get_current_dir:()=>Kn,storage_get_file_size:()=>Hn,storage_get_filename:()=>Bn,storage_is_file:()=>zn,storage_list_all_files:()=>Un,storage_make_dir:()=>Jn,storage_open_file_with_os:()=>Fn,storage_rename:()=>Qn});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>ns,procedures_callreturn:()=>ss,procedures_defnoreturn:()=>Zn,procedures_defreturn:()=>ts,procedures_ifreturn:()=>os,procedures_mutatorarg:()=>is,procedures_mutatorcontainer:()=>es,procedures_return:()=>_s});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Es,tuple_create_llm_params:()=>Ns,tuple_create_with:()=>as,tuple_create_with_container:()=>us,tuple_create_with_item:()=>rs,tuple_create_with_noreturn:()=>gs,tuple_create_with_text2:()=>ds,tuple_create_with_text_return:()=>ls,tuple_del:()=>Ms,tuple_find:()=>Os,tuple_getIndex:()=>Is,tuple_getSublist:()=>cs,tuple_get_random_item:()=>Ss,tuple_get_sublist:()=>Cs,tuple_input:()=>Ls,tuple_join:()=>hs,tuple_length:()=>Ts,tuple_max:()=>ms,tuple_totuple:()=>As,tuple_trig:()=>Rs});var d={};t.r(d),t.d(d,{set_add_discard:()=>xs,set_clear:()=>Xs,set_create_with:()=>fs,set_create_with_container:()=>Fs,set_create_with_item:()=>Ps,set_create_with_text_return:()=>Gs,set_length:()=>vs,set_operate:()=>bs,set_operate_update:()=>ys,set_pop:()=>Ys,set_sub:()=>Vs,set_toset:()=>Us,set_update:()=>Bs});var l={};t.r(l),t.d(l,{html_content:()=>Ks,html_content_more:()=>Js,html_document:()=>Hs,html_form:()=>qs,html_head_body:()=>Ws,html_style:()=>Qs,html_style_color:()=>js,html_style_content:()=>zs,html_text:()=>$s,html_title:()=>ks});var I={};t.r(I),t.d(I,{attribute_access:()=>Io,function_call:()=>uo,function_call_container:()=>ro,function_call_item:()=>lo,raw_block:()=>eo,raw_empty:()=>no,raw_expression:()=>io,raw_table:()=>to,text_comment:()=>so,text_print_multiple:()=>_o,text_print_multiple_container:()=>po,text_print_multiple_item:()=>ao,type_check:()=>oo});var T={};t.r(T),t.d(T,{controls_type:()=>Eo,controls_typeLists:()=>Oo,lists_zip:()=>Ro,unpack_iterable_object:()=>co,variables_change:()=>ho,variables_get:()=>To,variables_global:()=>mo,variables_set:()=>Mo});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>Po,base_setup:()=>Co,controls_delay:()=>Fo,controls_flow_statements:()=>fo,controls_for:()=>Lo,controls_forEach:()=>yo,controls_for_range:()=>No,controls_if:()=>So,controls_interrupts:()=>Xo,controls_lambda:()=>Vo,controls_main:()=>go,controls_millis:()=>vo,controls_nointerrupts:()=>bo,controls_pass:()=>Go,controls_range:()=>xo,controls_repeat:()=>Qo,controls_repeat_ext:()=>Ho,controls_thread:()=>Uo,controls_try_finally:()=>Ao,controls_whileUntil:()=>Do,datetime_fromtimestamp:()=>qo,do_while:()=>wo,garbage_collection:()=>ko,gene_unique_identifier:()=>zo,get_mem_alloc:()=>Wo,get_mem_free:()=>Ko,get_unique_identifier:()=>Jo,reset:()=>Yo,time_sleep:()=>Bo});var h={};t.r(h),t.d(h,{base_map:()=>m_,generate_cartesian_product:()=>O_,math_arithmetic:()=>e_,math_bit:()=>t_,math_constant:()=>$o,math_constant_mp:()=>Zo,math_constrain:()=>r_,math_dec:()=>o_,math_degree_to_radian:()=>c_,math_indexer_number:()=>I_,math_map:()=>u_,math_max_min:()=>p_,math_number:()=>jo,math_number_base_conversion:()=>d_,math_radian_to_degree:()=>R_,math_random:()=>a_,math_random_seed:()=>l_,math_round:()=>T_,math_selfcalcu:()=>i_,math_single:()=>n_,math_to_int:()=>__,math_trig:()=>s_,text_to_number:()=>M_,text_to_number_skulpt:()=>h_,turn_to_int:()=>E_});var m={};t.r(m),t.d(m,{ascii_to_char:()=>N_,char_to_ascii:()=>D_,number_to_text:()=>f_,os_system:()=>$_,text:()=>g_,text_bytes:()=>S_,text_capital:()=>V_,text_center:()=>B_,text_char:()=>A_,text_char_at:()=>v_,text_char_at2:()=>P_,text_char_at3:()=>q_,text_compareTo:()=>Q_,text_compare_to:()=>b_,text_encode:()=>z_,text_equals_starts_ends:()=>X_,text_eval:()=>j_,text_find:()=>G_,text_format:()=>W_,text_format_noreturn:()=>K_,text_join:()=>L_,text_join_seq:()=>U_,text_length:()=>F_,text_random_char:()=>Y_,text_replace:()=>w_,text_split:()=>H_,text_strip:()=>k_,text_substring:()=>x_,text_substring2:()=>y_,text_substring3:()=>J_,text_textarea:()=>C_});var E={};t.r(E),t.d(E,{content_in_lists:()=>vp,enumerate:()=>Pp,list_many_input:()=>Ep,list_tolist:()=>fp,list_tolist2:()=>Fp,list_trig:()=>Mp,lists_2d_get_col_row_data:()=>ep,lists_2d_get_data_with_col_row:()=>tp,lists_append_extend:()=>_p,lists_change_to:()=>mp,lists_change_to_general:()=>Rp,lists_clear:()=>dp,lists_create_with:()=>ip,lists_create_with2:()=>gp,lists_create_with_noreturn:()=>Op,lists_create_with_text:()=>np,lists_create_with_text2:()=>Cp,lists_del_general:()=>cp,lists_find:()=>lp,lists_getIndex3:()=>Sp,lists_getSublist3:()=>Ap,lists_get_index:()=>sp,lists_get_random_item:()=>pp,lists_get_random_sublist:()=>ap,lists_get_sublist:()=>Z_,lists_insert_value:()=>up,lists_insert_value2:()=>Np,lists_pop:()=>Tp,lists_remove_at:()=>Ip,lists_remove_at2:()=>Dp,lists_reverse:()=>rp,lists_setIndex3:()=>Lp,lists_set_index:()=>op,lists_sort:()=>hp});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>Wp,dicts_add_or_change:()=>xp,dicts_clear:()=>Gp,dicts_create_with:()=>Yp,dicts_create_with_noreturn:()=>Qp,dicts_deldict:()=>kp,dicts_delete:()=>Vp,dicts_get:()=>bp,dicts_get_default:()=>yp,dicts_items:()=>Up,dicts_keys:()=>Xp,dicts_length:()=>Hp,dicts_pop:()=>Kp,dicts_setdefault:()=>Jp,dicts_to_json:()=>zp,dicts_to_json2:()=>Zp,dicts_to_to:()=>$p,dicts_todict:()=>qp,dicts_update:()=>Bp,dicts_values:()=>wp,json_to_dicts:()=>jp});var R={};t.r(R),t.d(R,{logic_boolean:()=>sa,logic_compare:()=>ta,logic_compare_continous:()=>ea,logic_is:()=>aa,logic_is_in:()=>pa,logic_negate:()=>na,logic_null:()=>oa,logic_operation:()=>ia,logic_tobool:()=>ua,logic_true_or_false:()=>_a});var c={};t.r(c),t.d(c,{sdcard_mount:()=>va,sdcard_use_spi_init:()=>Pa,storage_can_write_ornot:()=>Ea,storage_change_dir:()=>La,storage_close_file:()=>Ra,storage_delete_file:()=>ga,storage_file_seek:()=>Aa,storage_file_tell:()=>Sa,storage_file_write:()=>Ta,storage_fileopen:()=>da,storage_fileopen_new:()=>la,storage_fileopen_new_encoding:()=>Ia,storage_get_a_line:()=>ma,storage_get_contents:()=>ha,storage_get_contents_without_para:()=>Ma,storage_get_current_dir:()=>Na,storage_get_file_size:()=>Ca,storage_get_filename:()=>Oa,storage_is_file:()=>Fa,storage_list_all_files:()=>ca,storage_make_dir:()=>Da,storage_open_file_with_os:()=>ra,storage_rename:()=>fa});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>ya,procedures_callreturn:()=>ba,procedures_defnoreturn:()=>Xa,procedures_defreturn:()=>Ya,procedures_ifreturn:()=>xa,procedures_return:()=>Va});var C={};t.r(C),t.d(C,{tuple_change_to:()=>Ja,tuple_create_llm_params:()=>iu,tuple_create_with:()=>Ba,tuple_create_with_noreturn:()=>ja,tuple_create_with_text2:()=>Ga,tuple_create_with_text_return:()=>Ua,tuple_del:()=>ka,tuple_find:()=>Qa,tuple_getIndex:()=>wa,tuple_getSublist:()=>za,tuple_get_random_item:()=>Za,tuple_get_sublist:()=>$a,tuple_input:()=>eu,tuple_join:()=>Wa,tuple_length:()=>Ha,tuple_max:()=>Ka,tuple_totuple:()=>tu,tuple_trig:()=>qa});var S={};t.r(S),t.d(S,{set_add_discard:()=>uu,set_clear:()=>_u,set_create_with:()=>nu,set_create_with_text_return:()=>lu,set_length:()=>su,set_operate:()=>pu,set_operate_update:()=>au,set_pop:()=>ou,set_sub:()=>ru,set_toset:()=>Iu,set_update:()=>du});var A={};t.r(A),t.d(A,{html_content:()=>mu,html_content_more:()=>Eu,html_document:()=>Tu,html_form:()=>Ru,html_head_body:()=>hu,html_style:()=>Ou,html_style_content:()=>cu,html_text:()=>gu,html_title:()=>Mu});var L={};t.r(L),t.d(L,{attribute_access:()=>fu,function_call:()=>Du,raw_block:()=>Cu,raw_empty:()=>Au,raw_expression:()=>Su,raw_table:()=>Lu,type_check:()=>Nu});var N={};t.r(N),t.d(N,{PIN_init:()=>yr,actuator_extern_get_led_bright:()=>Wu,actuator_extern_get_led_state:()=>Ku,actuator_extern_led_bright:()=>ku,actuator_extern_led_brightness:()=>Ju,actuator_ms32006_dcmotor:()=>ir,actuator_ms32006_init:()=>er,actuator_ms32006_stepper:()=>nr,actuator_neopixel_init:()=>sr,actuator_neopixel_rgb:()=>or,actuator_neopixel_rgb_all:()=>_r,actuator_neopixel_rgb_show_all_chase:()=>ur,actuator_neopixel_rgb_show_all_rainbow:()=>ar,actuator_neopixel_write:()=>pr,actuator_use_uart_init:()=>rr,backstage_esp32_music_play_list:()=>Vu,esp32_music_get_tempo_extern:()=>Gu,esp32_music_pitch:()=>bu,esp32_music_pitch_init:()=>Xu,esp32_music_pitch_with_time:()=>yu,esp32_music_play_list:()=>xu,esp32_music_reset_extern:()=>Uu,esp32_music_set_tempo_extern:()=>Bu,esp32_music_stop:()=>wu,esp32_set_music_volume:()=>Hu,mixbot_actuator_extern_get_addr:()=>Xr,mixbot_actuator_extern_set_addr:()=>br,mixbot_addr_extern:()=>cr,parrot_PIN_init:()=>Gr,parrot_move_speed:()=>Ur,pin_led_bright:()=>xr,player_insert_music:()=>hr,player_play_music:()=>Mr,player_set_mode:()=>Tr,player_set_play:()=>lr,player_set_volume:()=>Ir,player_whether_stop:()=>dr,robot_led_extern:()=>Ar,robot_led_extern_get_value:()=>Lr,robot_motor_extern:()=>gr,robot_motor_extern_get_speed:()=>Cr,robot_servo_extern_absolute_run:()=>Fr,robot_servo_extern_get_status:()=>Nr,robot_servo_extern_relative_continue:()=>Yr,robot_servo_extern_relative_origin:()=>Pr,robot_servo_extern_relative_run:()=>vr,robot_servo_extern_stop:()=>fr,robot_servo_extern_stop_mode:()=>Dr,robot_traffic_light_extern:()=>Sr,servo_PIN_init:()=>Vr,servo_get_angle:()=>Zu,servo_get_speed:()=>tr,servo_init:()=>Qu,servo_move:()=>qu,servo_move_angle:()=>Br,servo_set_angle:()=>ju,servo_set_speed:()=>$u,servo_speed_360:()=>zu,syn6288_builtin_voice:()=>Or,syn6288_get_voice:()=>Er,syn6288_set_voice:()=>mr,syn6288_tts_play:()=>Rr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Rd,actuator_dc_motor_stop:()=>cd,actuator_get_led_bright:()=>Kr,actuator_get_led_state:()=>Jr,actuator_led_bright:()=>Wr,actuator_led_brightness:()=>Qr,actuator_mixbot_buzzer_on_off:()=>Ld,actuator_mixgo_nova_mic_get:()=>Pd,actuator_mixgo_nova_mic_set:()=>Fd,actuator_mixgo_nova_onboard_music_pitch:()=>xd,actuator_mixgo_nova_onboard_music_stop:()=>Vd,actuator_mixgo_nova_play_audio:()=>bd,actuator_mixgo_nova_play_online_audio:()=>yd,actuator_mixgo_nova_record_audio:()=>Xd,actuator_mixgo_nova_voice_get:()=>Yd,actuator_mixgo_nova_voice_set:()=>vd,actuator_mixgo_zero_led_color:()=>qr,actuator_onboard_neopixel_rgb:()=>ed,actuator_onboard_neopixel_rgb_all:()=>id,actuator_onboard_neopixel_rgb_show_all_chase:()=>sd,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>nd,actuator_onboard_neopixel_write:()=>od,actuator_rm_onboard_neopixel_rgb:()=>_d,actuator_rm_onboard_neopixel_rgb_all:()=>pd,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>ad,actuator_stepper_keep:()=>Ed,actuator_stepper_stop:()=>Od,analog_ble_keyboard_init:()=>$d,analog_ble_keyboard_input:()=>el,analog_ble_keyboard_mouse_init:()=>ul,analog_ble_keyboard_mouse_input:()=>Il,analog_ble_keyboard_mouse_send_battery:()=>ll,analog_ble_keyboard_mouse_str:()=>Tl,analog_ble_keyboard_send_battery:()=>nl,analog_ble_keyboard_str:()=>il,analog_ble_mouse_init:()=>sl,analog_ble_mouse_input:()=>pl,analog_ble_mouse_keyboard_input:()=>Ml,analog_ble_mouse_send_battery:()=>al,analog_keyboard_input:()=>Hd,analog_keyboard_str:()=>jd,analog_mouse_input:()=>qd,backstage_onboard_music_play_list:()=>hd,bitbot_motor:()=>fd,bitbot_move:()=>Nd,bitbot_stop:()=>Dd,ble_keyboard_connect:()=>tl,ble_keyboard_get_mac:()=>Zd,ble_keyboard_mouse_connect:()=>dl,ble_keyboard_mouse_get_mac:()=>rl,ble_mouse_connect:()=>_l,ble_mouse_get_mac:()=>ol,cc_number:()=>td,educore_ble_keyboard_input:()=>Al,educore_ble_sensor_connected:()=>Sl,educore_ble_sensor_init:()=>Cl,educore_buzzer:()=>hl,educore_buzzer_play_tone:()=>ml,educore_buzzer_play_tone_time:()=>El,educore_buzzer_stop:()=>Ol,educore_neopixel_clear:()=>gl,educore_neopixel_rgb:()=>cl,educore_rgb_light:()=>Rl,esp32_music_get_tempo:()=>rd,esp32_music_reset:()=>dd,esp32_music_set_tempo:()=>ud,esp32_onboard_music_pitch:()=>ld,esp32_onboard_music_pitch_with_time:()=>Id,esp32_onboard_music_play_list:()=>Md,esp32_onboard_music_stop:()=>Td,general_key:()=>Wd,general_key_tuple:()=>Kd,generalkey_container:()=>Jd,generalkey_create_with_item:()=>Qd,get_keyboard_light:()=>Ll,get_power_output:()=>Gd,ledswitch:()=>kr,mixbot_motor:()=>Ad,mixbot_motor_status:()=>gd,mixbot_move:()=>Cd,mixbot_stop:()=>Sd,mouse_key:()=>zd,number:()=>Hr,record_audio:()=>Dl,rm_actuator_get_led_bright:()=>jr,rm_actuator_get_led_state:()=>$r,rm_actuator_led_bright:()=>zr,rm_actuator_led_brightness:()=>Zr,rm_motor:()=>md,set_all_power_output:()=>Ud,set_microphone_amplification:()=>Nl,set_music_volume:()=>fl,set_part_power_output:()=>wd,set_power_output:()=>Bd,special_key:()=>kd});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>uI,ai_sensor_ailocal_class:()=>$l,ai_sensor_ailocal_class_result:()=>Zl,ai_sensor_ailocal_train:()=>jl,ai_sensor_asr_recognize:()=>sI,ai_sensor_audio_play:()=>eI,ai_sensor_audio_record:()=>tI,ai_sensor_barcode:()=>xl,ai_sensor_circle:()=>Hl,ai_sensor_classifier_faces:()=>aI,ai_sensor_color:()=>Jl,ai_sensor_color_chases:()=>zl,ai_sensor_color_chases_result:()=>ql,ai_sensor_config:()=>bl,ai_sensor_face:()=>pI,ai_sensor_find_20objects:()=>rI,ai_sensor_find_barcodes:()=>Vl,ai_sensor_find_circles:()=>kl,ai_sensor_find_colors:()=>Ql,ai_sensor_find_licenseplates:()=>_I,ai_sensor_find_lines:()=>wl,ai_sensor_find_qrcodes:()=>Xl,ai_sensor_find_rects:()=>Kl,ai_sensor_find_tags:()=>Gl,ai_sensor_licenseplate:()=>oI,ai_sensor_line:()=>Ul,ai_sensor_qrcode:()=>vl,ai_sensor_qrcode_lite:()=>Yl,ai_sensor_rect:()=>Wl,ai_sensor_rgb:()=>yl,ai_sensor_tag:()=>Bl,ai_sensor_use_uart_init:()=>Pl,ai_sensor_yolo_recognize:()=>iI,ai_sensor_yolo_recognize_result:()=>nI});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>II,MICROPYTHON_AI_Speech_unit:()=>lI,MICROPYTHON_AI_client:()=>dI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>DI,mpython_blynk_app_notify:()=>cI,mpython_blynk_email:()=>SI,mpython_blynk_get_timers:()=>AI,mpython_blynk_on_connected:()=>EI,mpython_blynk_on_disconnected:()=>mI,mpython_blynk_run:()=>RI,mpython_blynk_sensor_data_to_app:()=>NI,mpython_blynk_set_property:()=>CI,mpython_blynk_setup:()=>fI,mpython_blynk_stop_timers:()=>gI,mpython_blynk_sync_virtual:()=>hI,mpython_blynk_terminal_widget_vpin:()=>MI,mpython_blynktimer:()=>LI,mpython_blynktimer_run:()=>OI});var v={};t.r(v),t.d(v,{communicate_bluetooth_central_init:()=>dT,communicate_bluetooth_connect:()=>MT,communicate_bluetooth_disconnect:()=>hT,communicate_bluetooth_handle:()=>cT,communicate_bluetooth_is_connected:()=>ET,communicate_bluetooth_mac:()=>TT,communicate_bluetooth_peripheral_init:()=>lT,communicate_bluetooth_recv:()=>OT,communicate_bluetooth_recv_only:()=>RT,communicate_bluetooth_scan:()=>IT,communicate_bluetooth_send:()=>mT,communicate_espnow_init:()=>gT,communicate_espnow_init_new:()=>CT,communicate_i2c_available:()=>JI,communicate_i2c_init:()=>YI,communicate_i2c_master_read:()=>KI,communicate_i2c_onboard:()=>PI,communicate_i2c_read:()=>XI,communicate_i2c_scan:()=>yI,communicate_i2c_write:()=>bI,communicate_ir_recv_init:()=>eT,communicate_ir_send_init:()=>_T,communicate_ow_init:()=>qI,communicate_ow_read:()=>jI,communicate_ow_reset:()=>tT,communicate_ow_scan:()=>zI,communicate_ow_select:()=>ZI,communicate_ow_write:()=>$I,communicate_spi_buffer:()=>BI,communicate_spi_init:()=>xI,communicate_spi_onboard:()=>vI,communicate_spi_read:()=>GI,communicate_spi_read_output:()=>UI,communicate_spi_readinto:()=>wI,communicate_spi_readinto_output:()=>HI,communicate_spi_set:()=>VI,communicate_spi_write:()=>kI,communicate_spi_write_readinto:()=>WI,espnow_radio_channel:()=>fT,espnow_radio_channel_new:()=>PT,espnow_radio_on_off:()=>vT,espnow_radio_rec:()=>XT,espnow_radio_recv:()=>yT,espnow_radio_recv_certain_msg:()=>xT,espnow_radio_recv_certain_msg_new:()=>BT,espnow_radio_recv_msg:()=>bT,espnow_radio_recv_new:()=>VT,espnow_radio_send:()=>YT,espnow_radio_txpower:()=>FT,i2c_available:()=>pM,i2c_init:()=>JT,i2c_master_reader2:()=>_M,i2c_read:()=>QT,i2c_scan:()=>zT,i2c_slave_onreceive:()=>QI,i2c_write:()=>qT,internal_variable:()=>iT,ir_recv_timeout:()=>oT,ir_transmit_busy:()=>rT,ir_transmit_conventional_data:()=>pT,ir_transmit_raw_code:()=>uT,ir_transmit_study_code:()=>aT,ir_whether_recv:()=>sT,lora_init:()=>GT,lora_packet:()=>UT,lora_recv:()=>HT,lora_send:()=>wT,network_espnow_info:()=>AT,network_espnow_mac:()=>ST,network_espnow_recv:()=>LT,network_espnow_recv_handle:()=>DT,network_espnow_send:()=>NT,recv_fun:()=>nT,spi_buffer:()=>ZT,spi_init:()=>jT,spi_read:()=>tM,spi_read_output:()=>eM,spi_readinto:()=>iM,spi_readinto_output:()=>nM,spi_set:()=>$T,spi_write:()=>sM,spi_write_readinto:()=>oM,urequests_attribute:()=>WT,urequests_get:()=>kT,urequests_method:()=>KT});var Y={};t.r(Y),t.d(Y,{display_animate:()=>BM,display_blink_rate:()=>bM,display_circle:()=>GM,display_color_seclet:()=>$M,display_draw_4strings:()=>fM,display_fill:()=>VM,display_get_screen_image:()=>XM,display_help:()=>wM,display_image_size:()=>FM,display_lcd_use_i2c_init:()=>sh,display_line:()=>vM,display_line_arbitrarily:()=>YM,display_matrix_extern_bright_point:()=>cM,display_matrix_extern_bright_screen:()=>CM,display_matrix_extern_clear:()=>SM,display_matrix_extern_get_pixel:()=>RM,display_matrix_extern_get_screen_pixel:()=>gM,display_matrix_extern_image_builtins:()=>AM,display_matrix_extern_scroll_string:()=>MM,display_matrix_extern_scroll_string_delay:()=>hM,display_matrix_extern_shift:()=>OM,display_matrix_extern_show_frame_string:()=>mM,display_matrix_extern_show_frame_string_delay:()=>EM,display_matrix_extern_show_image:()=>IM,display_matrix_extern_show_image_or_string_delay:()=>TM,display_matrix_use_i2c_init:()=>lM,display_oled_drawPixel:()=>kM,display_oled_showBitmap:()=>HM,display_oled_use_i2c_init:()=>uh,display_onoff:()=>xM,display_rect:()=>PM,display_rgb_color:()=>yM,display_tm1650_power:()=>KM,display_tm1650_set_brightness:()=>qM,display_tm1650_show_dot:()=>QM,display_tm1650_show_num:()=>JM,display_tm_use_i2c_init:()=>WM,display_triangle:()=>UM,display_use_i2c_init:()=>DM,extern_oled_bright_point:()=>Rh,extern_oled_clear:()=>ch,extern_oled_get_pixel:()=>Oh,extern_oled_hvline:()=>Ch,extern_oled_line:()=>Sh,extern_oled_scroll_string:()=>Th,extern_oled_scroll_string_delay:()=>Mh,extern_oled_shape_rect:()=>gh,extern_oled_shift:()=>Eh,extern_oled_show_frame_string:()=>hh,extern_oled_show_frame_string_delay:()=>mh,extern_oled_show_image:()=>rh,extern_oled_show_image_or_string_delay:()=>Ih,extern_oled_show_image_xy:()=>dh,extern_oled_show_string:()=>lh,lcd_backlight:()=>ph,lcd_clear:()=>ah,lcd_print_string:()=>_h,lcd_show_image_or_string_delay:()=>oh,matrix_extern_image_arithmetic:()=>LM,matrix_extern_image_invert:()=>NM,tft_fill:()=>ih,tft_line_arbitrarily:()=>nh,tft_scroll_string_delay:()=>th,tft_show_frame_string_delay:()=>eh,tft_show_image_or_string_delay:()=>ZM,tft_show_image_xy:()=>jM,tft_use_spi_init:()=>zM});var X={};t.r(X),t.d(X,{bitbot_display_bitmap_create:()=>Em,bitbot_display_image_create:()=>mm,display_available:()=>Kh,display_bitmap_create:()=>bh,display_bright_point:()=>wh,display_bright_screen:()=>kh,display_clear:()=>Wh,display_get_pixel:()=>Uh,display_get_screen_pixel:()=>Hh,display_image_builtins:()=>yh,display_image_builtins_all:()=>xh,display_image_create:()=>Xh,display_scroll_string:()=>Dh,display_scroll_string_delay:()=>fh,display_scroll_way:()=>Fh,display_shift:()=>Gh,display_show_frame_string:()=>vh,display_show_frame_string_delay:()=>Yh,display_show_image:()=>Lh,display_show_image_or_string_delay:()=>Nh,draw_pointer:()=>bm,image_arithmetic:()=>Vh,image_invert:()=>Bh,mixbot_display_bitmap_create:()=>lm,mixbot_display_bright_screen:()=>Mm,mixbot_display_get_ambientbright:()=>Tm,mixbot_display_get_screen_pixel:()=>Im,mixbot_display_image_create:()=>dm,mixbot_display_rotate:()=>hm,mixgo_display_bitmap_create:()=>$h,mixgo_display_image_create_new:()=>jh,mixgome_display_bitmap_create:()=>Qh,mixgome_display_font:()=>Zh,mixgome_display_image_create:()=>Jh,mixgomini_display_bitmap_create:()=>zh,mixgomini_display_image_create:()=>qh,mpython_display_hvline:()=>am,mpython_display_line:()=>um,mpython_display_shape_rect:()=>pm,mpython_pbm_image:()=>rm,nova_draw_pointer:()=>ym,onboard_oled_bright_point:()=>_m,onboard_oled_scroll_string_delay:()=>sm,onboard_oled_show_frame_string_delay:()=>om,onboard_oled_show_image:()=>tm,onboard_oled_show_image_or_string_delay:()=>nm,onboard_oled_show_image_xy:()=>em,onboard_oled_show_string:()=>im,onboard_tft_bright_point:()=>Nm,onboard_tft_bright_screen:()=>Wm,onboard_tft_clear:()=>Km,onboard_tft_clock_clear:()=>Ym,onboard_tft_clock_draw:()=>vm,onboard_tft_clock_get_rtctime:()=>Fm,onboard_tft_clock_init:()=>fm,onboard_tft_clock_set_time:()=>Pm,onboard_tft_display_hvline:()=>Sm,onboard_tft_display_line:()=>Am,onboard_tft_display_shape_circle:()=>Xm,onboard_tft_display_shape_rect:()=>Cm,onboard_tft_fill:()=>Dm,onboard_tft_get_pixel:()=>Lm,onboard_tft_get_screen_pixel:()=>km,onboard_tft_scroll_string:()=>Um,onboard_tft_scroll_string_delay:()=>Ph,onboard_tft_shift:()=>Hm,onboard_tft_show_frame_string:()=>wm,onboard_tft_show_frame_string_delay:()=>gm,onboard_tft_show_image:()=>Gm,onboard_tft_show_image_or_string_delay:()=>cm,onboard_tft_show_image_xy:()=>Om,onboard_tft_show_image_xy_direct:()=>Rm,onboard_tft_show_qrcode:()=>Vm,onboard_tft_show_qrcode_details:()=>Bm,onboard_tft_show_texts:()=>xm});var b={};t.r(b),t.d(b,{factory_block:()=>rE,factory_block_return:()=>dE,factory_block_return_with_textarea:()=>IE,factory_block_with_textarea:()=>lE,factory_callMethod_noreturn:()=>aE,factory_callMethod_return:()=>uE,factory_create_with_container:()=>sE,factory_create_with_item:()=>oE,factory_declare:()=>pE,factory_from_import:()=>eE,factory_function_noreturn:()=>nE,factory_function_return:()=>_E,factory_import:()=>iE,folding_block:()=>TE});var y={};t.r(y),t.d(y,{controls_pin_attachInterrupt:()=>yE,inout_analog_atten:()=>SE,inout_analog_read:()=>CE,inout_analog_read_init:()=>FE,inout_analog_write:()=>RE,inout_analog_write_init:()=>fE,inout_analog_write_set:()=>cE,inout_analog_write_set_freq:()=>YE,inout_digital_init:()=>NE,inout_digital_read:()=>EE,inout_digital_write:()=>mE,inout_highlow:()=>hE,inout_pinMode:()=>vE,inout_pin_attachInterrupt:()=>LE,inout_pin_pressed:()=>AE,inout_pin_pressed_init:()=>PE,inout_pwm_analog_write:()=>OE,inout_pwm_analog_write_init:()=>DE,inout_pwm_analog_write_set_freq:()=>gE,pin_pressed:()=>bE,pin_pressed_init:()=>XE});var x={};t.r(x),t.d(x,{IOT_CONNECT_OLLAMA:()=>RO,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>pO,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>_O,IOT_EMQX_PING:()=>sO,IOT_FORMATTING:()=>iO,IOT_FORMAT_STRING:()=>nO,IOT_MIXIO_NTP:()=>oO,IOT_MIXIO_PUBLISH:()=>QE,IOT_MIXIO_PUBLISHEX:()=>qE,IOT_MIXIO_SUBSCRIBE:()=>zE,iot_checkonenet:()=>mO,iot_client_onboard:()=>uO,iot_connect_ollama:()=>OO,iot_connect_openai:()=>cO,iot_create_with_item:()=>KE,iot_http_client:()=>rO,iot_http_data:()=>dO,iot_mixio_check:()=>ZE,iot_mixio_connect:()=>JE,iot_mixio_connect_only:()=>$E,iot_mixio_disconnect:()=>jE,iot_mixio_format_msg:()=>eO,iot_mixio_format_topic:()=>tO,iot_mixly_key:()=>aO,iot_mqtt_client:()=>lO,iot_mqtt_data:()=>IO,iot_onenet_check:()=>UE,iot_onenet_connect:()=>BE,iot_onenet_disconnect:()=>GE,iot_onenet_publish:()=>HE,iot_onenet_publish_dict:()=>wE,iot_onenetconnect:()=>MO,iot_onenetdisconnect:()=>hO,iot_publish:()=>EO,iot_publish_container:()=>kE,iot_publish_item:()=>WE,iot_tiny_web_db_count:()=>fO,iot_tiny_web_db_delete:()=>PO,iot_tiny_web_db_get:()=>DO,iot_tiny_web_db_init:()=>AO,iot_tiny_web_db_init_with_mqtt:()=>LO,iot_tiny_web_db_search:()=>FO,iot_tiny_web_db_update:()=>NO,iot_wifi_connect:()=>VE,iot_wificonnect:()=>TO,ollama_empty_history:()=>SO,use_ollama_llm_to_chat:()=>gO,use_ollama_llm_to_chat_return:()=>CO});var V={};t.r(V),t.d(V,{educore_mqtt_connect:()=>dR,educore_mqtt_connect_success:()=>MR,educore_mqtt_subscribe_message:()=>lR,educore_mqtt_topic_publish:()=>TR,educore_mqtt_topic_subscribe:()=>IR,educore_wifi_connect:()=>rR,network_ap_connect:()=>wO,network_connect:()=>xO,network_get_connect:()=>BO,network_get_wifi:()=>UO,network_init:()=>YO,network_is_active:()=>bO,network_open:()=>XO,network_scan:()=>yO,network_server:()=>HO,network_socket_accept:()=>QO,network_socket_bind:()=>WO,network_socket_close:()=>tR,network_socket_connect:()=>KO,network_socket_init:()=>kO,network_socket_listen:()=>JO,network_socket_readline:()=>qO,network_socket_receive:()=>zO,network_socket_receive_from:()=>$O,network_socket_send:()=>jO,network_socket_send_to:()=>ZO,network_stop:()=>GO,network_wifi_connect:()=>VO,ntptime_address:()=>oR,ntptime_time:()=>sR,requests_attribute:()=>iR,requests_attribute2:()=>uR,requests_get:()=>eR,requests_get2:()=>pR,requests_method:()=>nR,requests_post:()=>aR});var B={};t.r(B),t.d(B,{CI130X_BROADCAST:()=>GR,CI130X_GET_THE_RECOGNIZED_CMD:()=>BR,CI130X_GET_WHETHER_IDENTIFY:()=>VR,CI130X_IDENTIFY_AND_SAVE:()=>xR,CI130X_SET_SYSTEM_CMD:()=>UR,HCSR04:()=>fc,PS2_Button:()=>Yc,PS2_Buttons:()=>bc,PS2_Buttons_new:()=>Bc,PS2_State:()=>Xc,PS2_init:()=>Fc,PS2_init_new:()=>xc,PS2_stk:()=>yc,PS2_stk_new:()=>Gc,PS2_vibration:()=>vc,PS2_vibration_new:()=>Vc,camera_sensor_init:()=>hg,camera_sensor_result:()=>mg,column_tube_foot:()=>gg,define_keyboards:()=>Cg,educore_body_sensor:()=>_g,educore_button_sensor_extern:()=>rg,educore_camera_sensor:()=>Mg,educore_infrared_sensor:()=>ug,educore_soilhum_sensor:()=>pg,educore_temp_sensor:()=>Tg,educore_temphum_sensor:()=>ag,educore_ultrasonic_sensor:()=>lg,esp32_s2_weather_init:()=>Ac,esp32_s2_weather_rain:()=>Nc,esp32_s2_weather_wd:()=>Lc,esp32_s2_weather_ws:()=>Dc,extern_rfid_read:()=>dc,extern_rfid_readcontent:()=>Ic,extern_rfid_readid:()=>lc,extern_rfid_status:()=>hc,extern_rfid_write:()=>Tc,extern_rfid_write_return:()=>Mc,get_keboards_value:()=>Sg,gnss_get_data:()=>kc,gnss_have_data:()=>Hc,init_init_rotary_encoder:()=>Ag,init_matrix_keyboard:()=>Rg,interaction_whether_to_interaction:()=>bR,interaction_whether_to_interaction_SANT:()=>yR,line_tube_foot:()=>cg,mixbot_sensor_extern_get_addr:()=>$c,mixbot_sensor_extern_set_addr:()=>Zc,pm25_get_data:()=>wc,radar_set_DETECTION_THRESHOLD:()=>YR,radar_set_DETECTION_THRESHOLD_SANT:()=>XR,robot_button_extern_get_value:()=>Kc,robot_color_extern_get_value:()=>jc,robot_infrared_extern_get_value:()=>Qc,robot_infrared_extern_grey_get_value:()=>qc,robot_potentiometer_extern_get_value:()=>zc,robot_sonar_extern_get_value:()=>tg,robot_sonar_extern_led:()=>eg,robot_touch_extern_get_value:()=>Jc,rotary_key:()=>Lg,sensor_APDS9960_extern:()=>HR,sensor_DS18X20:()=>FR,sensor_LTR308_extern:()=>kR,sensor_LTR390UV_extern:()=>JR,sensor_MAX30102_extern:()=>wR,sensor_QMC5883L_extern:()=>ec,sensor_VL530LX_extern:()=>QR,sensor_adxl345_get_acceleration:()=>gR,sensor_aht11_extern:()=>zR,sensor_bmp:()=>DR,sensor_compass_reset:()=>uc,sensor_dht11:()=>SR,sensor_hp203_extern:()=>jR,sensor_light_level:()=>CR,sensor_lm35:()=>PR,sensor_ltr381_extern:()=>WR,sensor_mixgo_extern_button_attachInterrupt:()=>RR,sensor_mixgo_extern_button_get_presses:()=>OR,sensor_mixgo_extern_button_is_pressed:()=>mR,sensor_mixgo_extern_button_was_pressed:()=>ER,sensor_mixgo_extern_light:()=>AR,sensor_mixgo_extern_pin_near:()=>NR,sensor_mixgo_extern_sound:()=>LR,sensor_mixgoce_hot_wheel_degrees:()=>Sc,sensor_mixgoce_hot_wheel_is_touched:()=>Cc,sensor_mpu9250_attachGestureInterrupt:()=>cR,sensor_mpu9250_calibrate_compass:()=>_c,sensor_mpu9250_field_strength:()=>ac,sensor_mpu9250_gesture:()=>ic,sensor_mpu9250_get_acceleration:()=>nc,sensor_mpu9250_get_gyro:()=>oc,sensor_mpu9250_get_magnetic:()=>sc,sensor_mpu9250_temperature:()=>pc,sensor_ms5611_extern:()=>ZR,sensor_ms5611_extern_altitude:()=>tc,sensor_read_humiture:()=>dg,sensor_sht:()=>fR,sensor_shtc3_extern:()=>qR,sensor_spl06_001_extern:()=>$R,sensor_ucs12071_extern:()=>KR,sensor_use_i2c_init:()=>vR,sensor_use_spi_init:()=>rc,sensor_use_uart_init:()=>Uc,sensor_weather_solo_init:()=>ig,sensor_weather_solo_rain:()=>og,sensor_weather_solo_wd:()=>ng,sensor_weather_solo_ws:()=>sg,sensor_weigh_init:()=>Eg,tvoc_get_data:()=>Wc,ultrasonic_sensor_read_distance:()=>Ig,weather_data:()=>mc,weather_have_data:()=>Ec,weather_set_label:()=>Rc,weather_set_label_container:()=>cc,weather_set_label_item:()=>gc,weather_uart_mixio:()=>Oc,weigh_sensor_get_weight:()=>Og});var G={};t.r(G),t.d(G,{HCSR04:()=>Hg,RTC_set_date:()=>wg,RTC_set_time:()=>Ug,bitbot_als_num:()=>$C,dht11:()=>oS,educore_button_sensor:()=>TS,educore_button_was_pressed:()=>MS,educore_gyroscope_sensor:()=>dS,educore_gyroscope_sensor_read:()=>lS,educore_gyroscope_sensor_shake:()=>IS,educore_light_sensor:()=>rS,educore_rfid_sensor:()=>hS,educore_rfid_sensor_scan:()=>mS,educore_rfid_sensor_scan_data:()=>ES,educore_voice_sensor:()=>aS,number1:()=>Wg,number2:()=>Kg,number3:()=>Jg,number4:()=>Qg,number5:()=>qg,number6:()=>zg,number7:()=>jg,onboard_RTC_get_time:()=>oC,onboard_RTC_get_time_str:()=>dC,onboard_RTC_get_timestamp:()=>_C,onboard_RTC_get_timetuple_to_str:()=>lC,onboard_RTC_set_datetime:()=>uC,onboard_RTC_settime_string:()=>aC,onboard_RTC_timestamp_totuple:()=>pC,rfid_readcontent:()=>OC,rfid_readid:()=>EC,rfid_status:()=>gC,rfid_write:()=>RC,rfid_write_return:()=>cC,sensor_LTR308:()=>IC,sensor_aht11:()=>MC,sensor_bitbot_ALS:()=>jC,sensor_button_get_presses:()=>eS,sensor_button_is_pressed:()=>ZC,sensor_button_was_pressed:()=>tS,sensor_distance_hrsc04:()=>Gg,sensor_eulerangles:()=>SC,sensor_field_strength:()=>_S,sensor_get_acceleration:()=>CC,sensor_get_temperature:()=>hC,sensor_get_the_coprocessor_version:()=>OS,sensor_hp203:()=>mC,sensor_light:()=>sS,sensor_mixbot_get_gyro:()=>zC,sensor_mixbot_patrol_calibrate:()=>JC,sensor_mixbot_patrol_value:()=>QC,sensor_mixbot_temperature:()=>qC,sensor_mixgo_LTR308:()=>nC,sensor_mixgo_button_attachInterrupt:()=>Pg,sensor_mixgo_button_get_presses:()=>Fg,sensor_mixgo_button_is_pressed:()=>Dg,sensor_mixgo_button_was_pressed:()=>fg,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>bC,sensor_mixgo_cc_mmc5603_get_angle:()=>XC,sensor_mixgo_cc_mmc5603_get_magnetic:()=>YC,sensor_mixgo_light:()=>kg,sensor_mixgo_nova_LTR308:()=>iC,sensor_mixgo_nova_pin_near:()=>eC,sensor_mixgo_pin_near:()=>tC,sensor_mixgo_pin_near_double:()=>Zg,sensor_mixgo_pin_near_single:()=>$g,sensor_mixgo_pin_pressed:()=>yg,sensor_mixgo_sant_color:()=>sC,sensor_mixgo_touch_slide:()=>Bg,sensor_mixgocar42_button_attachInterrupt:()=>bg,sensor_mixgocar42_button_get_presses:()=>Xg,sensor_mixgocar42_button_is_pressed:()=>vg,sensor_mixgocar42_button_was_pressed:()=>Yg,sensor_mixgocar_battery_left:()=>KC,sensor_mixgocar_pin_near:()=>kC,sensor_mixgocar_pin_near_line:()=>HC,sensor_mixgocar_pin_near_state_change:()=>WC,sensor_mixgoce_pin_pressed:()=>xg,sensor_mixgoce_temperature:()=>xC,sensor_mixgome_temperature:()=>yC,sensor_mpython_pin_pressed:()=>Vg,sensor_mpython_qmi8658_get_gyro:()=>VC,sensor_mpython_qmi8658_temperature:()=>BC,sensor_onboard_compass_reset:()=>vC,sensor_onboard_mpu9250_calibrate_compass:()=>fC,sensor_onboard_mpu9250_field_strength:()=>PC,sensor_onboard_mpu9250_gesture:()=>AC,sensor_onboard_mpu9250_get_acceleration:()=>LC,sensor_onboard_mpu9250_get_gyro:()=>DC,sensor_onboard_mpu9250_get_magnetic:()=>NC,sensor_onboard_mpu9250_temperature:()=>FC,sensor_pin_near:()=>nS,sensor_pin_pressed:()=>iS,sensor_read:()=>uS,sensor_rm_acc:()=>wC,sensor_rm_battery_left:()=>UC,sensor_rm_pin_near_double:()=>GC,sensor_rtc_init:()=>rC,sensor_sound:()=>TC,sensor_temperature:()=>pS,simulated_light_sensor:()=>RS});var U={};t.r(U),t.d(U,{serial_any:()=>FS,serial_begin:()=>bS,serial_print:()=>AS,serial_print_byte:()=>SS,serial_print_hex:()=>NS,serial_println:()=>LS,serial_read_from_ai:()=>kS,serial_readline:()=>PS,serial_readstr:()=>fS,serial_readstr_until:()=>vS,serial_receive_data_event:()=>DS,serial_send_to_ai:()=>HS,serial_softserial:()=>XS,serial_softserial_new:()=>YS,system_input:()=>yS,system_print:()=>xS,system_print_container:()=>US,system_print_end:()=>BS,system_print_inline:()=>VS,system_print_item:()=>wS,system_print_many:()=>GS});var w={};t.r(w),t.d(w,{Panic_with_status_code:()=>QS,Timer_init:()=>aA,base_delay:()=>dA,controls_delay:()=>JS,controls_delay_new:()=>KS,controls_millis:()=>zS,controls_uname:()=>$S,raw_block:()=>jS,reset:()=>qS,set_system_timer:()=>nA,system_bitbot_shutdown:()=>pA,system_machine_reset:()=>_A,system_ticks_diff:()=>eA,system_timer:()=>tA,system_timer_init:()=>iA,system_wdt_feed:()=>oA,system_wdt_init:()=>sA,time_ticks_diff:()=>rA,timer:()=>ZS,timer2:()=>uA});var H={};t.r(H),t.d(H,{Air_daily_content:()=>AA,Air_now_content:()=>EA,Geo_moon_content:()=>NA,Geo_sun_content:()=>LA,Life_suggestion_content:()=>RA,Location_search_content:()=>gA,Tide_daily_content:()=>cA,WEATHER_DAILY:()=>TA,WEATHER_HOUR:()=>MA,WEATHER_NOW:()=>IA,Weather_alarm_content:()=>OA,Weather_daily:()=>CA,Weather_daily_content:()=>SA,Weather_now:()=>hA,Weather_now_content:()=>mA});var k={};t.r(k),t.d(k,{PIN_init:()=>fL,actuator_extern_get_led_bright:()=>qA,actuator_extern_get_led_state:()=>zA,actuator_extern_led_bright:()=>QA,actuator_extern_led_brightness:()=>jA,actuator_ms32006_dcmotor:()=>bA,actuator_ms32006_init:()=>XA,actuator_ms32006_stepper:()=>yA,actuator_neopixel_init:()=>$A,actuator_neopixel_rgb:()=>eL,actuator_neopixel_rgb_all:()=>ZA,actuator_neopixel_rgb_show_all_chase:()=>iL,actuator_neopixel_rgb_show_all_rainbow:()=>nL,actuator_neopixel_write:()=>tL,actuator_use_uart_init:()=>sL,backstage_esp32_music_play_list:()=>WA,esp32_music_get_tempo_extern:()=>HA,esp32_music_pitch:()=>VA,esp32_music_pitch_init:()=>xA,esp32_music_pitch_with_time:()=>BA,esp32_music_play_list:()=>kA,esp32_music_reset_extern:()=>KA,esp32_music_set_tempo_extern:()=>wA,esp32_music_stop:()=>GA,esp32_set_music_volume:()=>UA,mixbot_actuator_extern_get_addr:()=>NL,mixbot_actuator_extern_set_addr:()=>DL,mixbot_addr_extern:()=>TL,parrot_PIN_init:()=>YL,parrot_move_speed:()=>XL,pin_led_bright:()=>FL,player_play_music:()=>uL,player_set_mode:()=>aL,player_set_play:()=>_L,player_set_volume:()=>pL,player_whether_stop:()=>oL,robot_led_extern:()=>EL,robot_led_extern_get_value:()=>OL,robot_motor_extern:()=>ML,robot_motor_extern_get_speed:()=>hL,robot_servo_extern_absolute_run:()=>CL,robot_servo_extern_get_status:()=>RL,robot_servo_extern_relative_continue:()=>LL,robot_servo_extern_relative_origin:()=>SL,robot_servo_extern_relative_run:()=>AL,robot_servo_extern_stop:()=>gL,robot_servo_extern_stop_mode:()=>cL,robot_traffic_light_extern:()=>mL,servo_PIN_init:()=>PL,servo_get_angle:()=>vA,servo_get_speed:()=>YA,servo_init:()=>DA,servo_move:()=>JA,servo_move_angle:()=>vL,servo_set_angle:()=>FA,servo_set_speed:()=>PA,servo_speed_360:()=>fA,syn6288_builtin_voice:()=>lL,syn6288_get_voice:()=>dL,syn6288_set_voice:()=>rL,syn6288_tts_play:()=>IL});var W={};t.r(W),t.d(W,{actuator_dc_motor:()=>uN,actuator_dc_motor_stop:()=>rN,actuator_get_led_bright:()=>KL,actuator_get_led_state:()=>JL,actuator_led_bright:()=>WL,actuator_led_brightness:()=>QL,actuator_mixbot_buzzer_on_off:()=>MN,actuator_mixgo_nova_mic_get:()=>RN,actuator_mixgo_nova_mic_set:()=>ON,actuator_mixgo_nova_onboard_music_pitch:()=>LN,actuator_mixgo_nova_onboard_music_stop:()=>NN,actuator_mixgo_nova_play_audio:()=>SN,actuator_mixgo_nova_play_online_audio:()=>AN,actuator_mixgo_nova_record_audio:()=>CN,actuator_mixgo_nova_voice_get:()=>gN,actuator_mixgo_nova_voice_set:()=>cN,actuator_mixgo_zero_led_color:()=>qL,actuator_onboard_neopixel_rgb:()=>iN,actuator_onboard_neopixel_rgb_all:()=>nN,actuator_onboard_neopixel_rgb_show_all_chase:()=>sN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>oN,actuator_onboard_neopixel_write:()=>eN,actuator_stepper_keep:()=>pN,actuator_stepper_stop:()=>aN,analog_ble_keyboard_init:()=>BN,analog_ble_keyboard_input:()=>wN,analog_ble_keyboard_mouse_init:()=>zN,analog_ble_keyboard_mouse_input:()=>tD,analog_ble_keyboard_mouse_send_battery:()=>ZN,analog_ble_keyboard_mouse_str:()=>eD,analog_ble_keyboard_send_battery:()=>kN,analog_ble_keyboard_str:()=>HN,analog_ble_mouse_init:()=>WN,analog_ble_mouse_input:()=>QN,analog_ble_mouse_keyboard_input:()=>iD,analog_ble_mouse_send_battery:()=>qN,analog_keyboard_input:()=>vN,analog_keyboard_str:()=>xN,analog_mouse_input:()=>bN,backstage_onboard_music_play_list:()=>UL,bitbot_motor:()=>EN,bitbot_move:()=>hN,bitbot_stop:()=>mN,ble_keyboard_connect:()=>UN,ble_keyboard_get_mac:()=>GN,ble_keyboard_mouse_connect:()=>$N,ble_keyboard_mouse_get_mac:()=>jN,ble_mouse_connect:()=>JN,ble_mouse_get_mac:()=>KN,cc_number:()=>zL,educore_ble_keyboard_input:()=>lD,educore_ble_sensor_connected:()=>dD,educore_ble_sensor_init:()=>rD,educore_buzzer:()=>nD,educore_buzzer_play_tone:()=>sD,educore_buzzer_play_tone_time:()=>oD,educore_buzzer_stop:()=>_D,educore_neopixel_clear:()=>uD,educore_neopixel_rgb:()=>aD,educore_rgb_light:()=>pD,esp32_music_get_tempo:()=>yL,esp32_music_reset:()=>wL,esp32_music_set_tempo:()=>bL,esp32_onboard_music_pitch:()=>xL,esp32_onboard_music_pitch_with_time:()=>VL,esp32_onboard_music_play_list:()=>GL,esp32_onboard_music_stop:()=>BL,general_key:()=>XN,general_key_tuple:()=>VN,get_keyboard_light:()=>ID,get_power_output:()=>fN,ledswitch:()=>kL,mixbot_motor:()=>TN,mixbot_motor_status:()=>dN,mixbot_move:()=>lN,mixbot_stop:()=>IN,mouse_key:()=>yN,number:()=>HL,record_audio:()=>MD,rm_actuator_get_led_bright:()=>$L,rm_actuator_get_led_state:()=>ZL,rm_actuator_led_bright:()=>jL,rm_actuator_led_brightness:()=>tN,rm_motor:()=>_N,set_all_power_output:()=>FN,set_microphone_amplification:()=>TD,set_music_volume:()=>hD,set_part_power_output:()=>PN,set_power_output:()=>DN,special_key:()=>YN});var K={};t.r(K),t.d(K,{ai_sensor_20object:()=>qD,ai_sensor_ailocal_class:()=>VD,ai_sensor_ailocal_class_result:()=>BD,ai_sensor_ailocal_train:()=>xD,ai_sensor_asr_recognize:()=>kD,ai_sensor_audio_play:()=>UD,ai_sensor_audio_record:()=>GD,ai_sensor_barcode:()=>CD,ai_sensor_circle:()=>fD,ai_sensor_classifier_faces:()=>QD,ai_sensor_color:()=>YD,ai_sensor_color_chases:()=>yD,ai_sensor_color_chases_result:()=>bD,ai_sensor_config:()=>OD,ai_sensor_face:()=>JD,ai_sensor_find_20objects:()=>zD,ai_sensor_find_barcodes:()=>SD,ai_sensor_find_circles:()=>FD,ai_sensor_find_colors:()=>XD,ai_sensor_find_licenseplates:()=>KD,ai_sensor_find_lines:()=>DD,ai_sensor_find_qrcodes:()=>gD,ai_sensor_find_rects:()=>vD,ai_sensor_find_tags:()=>LD,ai_sensor_licenseplate:()=>WD,ai_sensor_line:()=>ND,ai_sensor_qrcode:()=>cD,ai_sensor_qrcode_lite:()=>ED,ai_sensor_rect:()=>PD,ai_sensor_rgb:()=>RD,ai_sensor_tag:()=>AD,ai_sensor_use_uart_init:()=>mD,ai_sensor_yolo_recognize:()=>wD,ai_sensor_yolo_recognize_result:()=>HD});var J={};t.r(J),t.d(J,{MICROPYTHON_AI_Speech_asr:()=>ZD,MICROPYTHON_AI_Speech_unit:()=>$D,MICROPYTHON_AI_client:()=>jD});var Q={};t.r(Q),t.d(Q,{mpython_blynk_app_data:()=>lf,mpython_blynk_app_notify:()=>pf,mpython_blynk_email:()=>If,mpython_blynk_get_timers:()=>uf,mpython_blynk_on_connected:()=>sf,mpython_blynk_on_disconnected:()=>nf,mpython_blynk_run:()=>_f,mpython_blynk_sensor_data_to_app:()=>df,mpython_blynk_set_property:()=>Tf,mpython_blynk_setup:()=>Mf,mpython_blynk_stop_timers:()=>af,mpython_blynk_sync_virtual:()=>ef,mpython_blynk_terminal_widget_vpin:()=>tf,mpython_blynktimer:()=>rf,mpython_blynktimer_run:()=>of});var q={};t.r(q),t.d(q,{communicate_bluetooth_central_init:()=>zf,communicate_bluetooth_connect:()=>Zf,communicate_bluetooth_disconnect:()=>tF,communicate_bluetooth_handle:()=>_F,communicate_bluetooth_is_connected:()=>iF,communicate_bluetooth_mac:()=>eF,communicate_bluetooth_peripheral_init:()=>jf,communicate_bluetooth_recv:()=>oF,communicate_bluetooth_recv_only:()=>sF,communicate_bluetooth_scan:()=>$f,communicate_bluetooth_send:()=>nF,communicate_espnow_init:()=>pF,communicate_espnow_init_new:()=>aF,communicate_i2c_available:()=>Cf,communicate_i2c_init:()=>Ef,communicate_i2c_master_read:()=>gf,communicate_i2c_onboard:()=>hf,communicate_i2c_read:()=>Of,communicate_i2c_scan:()=>cf,communicate_i2c_write:()=>Rf,communicate_ir_recv_init:()=>Gf,communicate_ir_send_init:()=>Wf,communicate_ow_init:()=>Xf,communicate_ow_read:()=>xf,communicate_ow_reset:()=>yf,communicate_ow_scan:()=>bf,communicate_ow_select:()=>Bf,communicate_ow_write:()=>Vf,communicate_spi_buffer:()=>Nf,communicate_spi_init:()=>Af,communicate_spi_onboard:()=>mf,communicate_spi_read:()=>Df,communicate_spi_read_output:()=>ff,communicate_spi_readinto:()=>Ff,communicate_spi_readinto_output:()=>Pf,communicate_spi_set:()=>Lf,communicate_spi_write:()=>vf,communicate_spi_write_readinto:()=>Yf,espnow_radio_channel:()=>TF,espnow_radio_channel_new:()=>hF,espnow_radio_on_off:()=>mF,espnow_radio_rec:()=>OF,espnow_radio_recv:()=>cF,espnow_radio_recv_certain_msg:()=>gF,espnow_radio_recv_certain_msg_new:()=>SF,espnow_radio_recv_msg:()=>RF,espnow_radio_recv_new:()=>CF,espnow_radio_send:()=>EF,espnow_radio_txpower:()=>MF,i2c_slave_onreceive:()=>Sf,internal_variable:()=>Uf,ir_recv_timeout:()=>kf,ir_transmit_busy:()=>qf,ir_transmit_conventional_data:()=>Kf,ir_transmit_raw_code:()=>Qf,ir_transmit_study_code:()=>Jf,ir_whether_recv:()=>Hf,lora_init:()=>AF,lora_packet:()=>LF,lora_recv:()=>DF,lora_send:()=>NF,network_espnow_info:()=>rF,network_espnow_mac:()=>uF,network_espnow_recv:()=>dF,network_espnow_recv_handle:()=>IF,network_espnow_send:()=>lF,recv_fun:()=>wf,urequests_attribute:()=>FF,urequests_get:()=>fF,urequests_method:()=>PF});var z={};t.r(z),t.d(z,{display_animate:()=>iP,display_circle:()=>nP,display_color_seclet:()=>TP,display_draw_4strings:()=>qF,display_fill:()=>eP,display_lcd_use_i2c_init:()=>RP,display_line:()=>$F,display_line_arbitrarily:()=>zF,display_matrix_extern_bright_point:()=>wF,display_matrix_extern_bright_screen:()=>kF,display_matrix_extern_clear:()=>BF,display_matrix_extern_get_pixel:()=>UF,display_matrix_extern_get_screen_pixel:()=>HF,display_matrix_extern_image_builtins:()=>WF,display_matrix_extern_scroll_string:()=>xF,display_matrix_extern_scroll_string_delay:()=>VF,display_matrix_extern_shift:()=>GF,display_matrix_extern_show_frame_string:()=>bF,display_matrix_extern_show_frame_string_delay:()=>yF,display_matrix_extern_show_image:()=>YF,display_matrix_extern_show_image_or_string_delay:()=>XF,display_matrix_use_i2c_init:()=>vF,display_oled_drawPixel:()=>_P,display_oled_showBitmap:()=>oP,display_oled_use_i2c_init:()=>AP,display_onoff:()=>ZF,display_rect:()=>jF,display_tm1650_power:()=>aP,display_tm1650_set_brightness:()=>dP,display_tm1650_show_dot:()=>rP,display_tm1650_show_num:()=>uP,display_tm_use_i2c_init:()=>pP,display_triangle:()=>sP,display_use_i2c_init:()=>QF,extern_oled_bright_point:()=>xP,extern_oled_clear:()=>XP,extern_oled_get_pixel:()=>yP,extern_oled_hvline:()=>BP,extern_oled_line:()=>GP,extern_oled_scroll_string:()=>vP,extern_oled_scroll_string_delay:()=>YP,extern_oled_shape_rect:()=>VP,extern_oled_shift:()=>bP,extern_oled_show_frame_string:()=>FP,extern_oled_show_frame_string_delay:()=>PP,extern_oled_show_image:()=>LP,extern_oled_show_image_or_string_delay:()=>fP,extern_oled_show_image_xy:()=>NP,extern_oled_show_string:()=>DP,image_shift:()=>tP,lcd_backlight:()=>CP,lcd_clear:()=>SP,lcd_print_string:()=>gP,lcd_show_image_or_string_delay:()=>cP,matrix_extern_image_arithmetic:()=>KF,matrix_extern_image_invert:()=>JF,tft_fill:()=>EP,tft_line_arbitrarily:()=>OP,tft_scroll_string_delay:()=>mP,tft_show_frame_string_delay:()=>hP,tft_show_image_or_string_delay:()=>MP,tft_show_image_xy:()=>IP,tft_use_spi_init:()=>lP});var j={};t.r(j),t.d(j,{bitbot_display_bitmap_create:()=>Yv,bitbot_display_image_create:()=>vv,display_available:()=>tv,display_bitmap_create:()=>$P,display_bright_point:()=>ov,display_bright_screen:()=>pv,display_clear:()=>ZP,display_get_pixel:()=>sv,display_get_screen_pixel:()=>_v,display_image_builtins:()=>qP,display_image_builtins_all:()=>zP,display_image_create:()=>jP,display_scroll_string:()=>WP,display_scroll_string_delay:()=>KP,display_scroll_way:()=>JP,display_shift:()=>nv,display_show_frame_string:()=>HP,display_show_frame_string_delay:()=>kP,display_show_image:()=>UP,display_show_image_or_string_delay:()=>wP,draw_pointer:()=>zv,image_arithmetic:()=>ev,image_invert:()=>iv,mixbot_display_bitmap_create:()=>Nv,mixbot_display_bright_screen:()=>Fv,mixbot_display_get_ambientbright:()=>fv,mixbot_display_get_screen_pixel:()=>Dv,mixbot_display_image_create:()=>Lv,mixbot_display_rotate:()=>Pv,mixgo_display_bitmap_create:()=>Tv,mixgo_display_image_create_new:()=>Iv,mixgome_display_bitmap_create:()=>uv,mixgome_display_font:()=>lv,mixgome_display_image_create:()=>av,mixgomini_display_bitmap_create:()=>dv,mixgomini_display_image_create:()=>rv,mpython_display_hvline:()=>Sv,mpython_display_line:()=>Av,mpython_display_shape_rect:()=>Cv,mpython_pbm_image:()=>Mv,nova_draw_pointer:()=>jv,onboard_oled_bright_point:()=>gv,onboard_oled_scroll_string_delay:()=>cv,onboard_oled_show_frame_string_delay:()=>Rv,onboard_oled_show_image:()=>hv,onboard_oled_show_image_or_string_delay:()=>Ov,onboard_oled_show_image_xy:()=>mv,onboard_oled_show_string:()=>Ev,onboard_tft_bright_point:()=>wv,onboard_tft_bright_screen:()=>oY,onboard_tft_clear:()=>_Y,onboard_tft_clock_clear:()=>Qv,onboard_tft_clock_draw:()=>Jv,onboard_tft_clock_get_rtctime:()=>Wv,onboard_tft_clock_init:()=>kv,onboard_tft_clock_set_time:()=>Kv,onboard_tft_display_hvline:()=>Bv,onboard_tft_display_line:()=>Gv,onboard_tft_display_shape_circle:()=>qv,onboard_tft_display_shape_rect:()=>Vv,onboard_tft_fill:()=>Hv,onboard_tft_get_pixel:()=>Uv,onboard_tft_get_screen_pixel:()=>sY,onboard_tft_scroll_string_delay:()=>QP,onboard_tft_shift:()=>nY,onboard_tft_show_frame_string:()=>iY,onboard_tft_show_frame_string_delay:()=>xv,onboard_tft_show_image:()=>eY,onboard_tft_show_image_or_string_delay:()=>yv,onboard_tft_show_image_xy:()=>Xv,onboard_tft_show_image_xy_direct:()=>bv,onboard_tft_show_qrcode:()=>Zv,onboard_tft_show_qrcode_details:()=>tY,onboard_tft_show_texts:()=>$v});var $={};t.r($),t.d($,{factory_block:()=>TY,factory_block_return:()=>MY,factory_block_return_with_textarea:()=>mY,factory_block_with_textarea:()=>hY,factory_callMethod_noreturn:()=>lY,factory_callMethod_return:()=>IY,factory_declare:()=>dY,factory_from_import:()=>pY,factory_function_noreturn:()=>uY,factory_function_return:()=>rY,factory_import:()=>aY,folding_block:()=>EY});var Z={};t.r(Z),t.d(Z,{inout_analog_atten:()=>YY,inout_analog_read:()=>LY,inout_analog_read_init:()=>vY,inout_analog_write:()=>CY,inout_analog_write_init:()=>PY,inout_analog_write_set:()=>SY,inout_digital_init:()=>fY,inout_digital_read:()=>cY,inout_digital_write:()=>RY,inout_highlow:()=>OY,inout_pin_attachInterrupt:()=>DY,inout_pin_pressed:()=>NY,inout_pin_pressed_init:()=>XY,inout_pwm_analog_write:()=>gY,inout_pwm_analog_write_init:()=>FY,inout_pwm_analog_write_set_freq:()=>AY});var tt={};t.r(tt),t.d(tt,{IOT_CONNECT_OLLAMA:()=>uX,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>tX,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>$Y,IOT_EMQX_PING:()=>eX,IOT_FORMATTING:()=>zY,IOT_FORMAT_STRING:()=>jY,IOT_MIXIO_NTP:()=>iX,IOT_MIXIO_PUBLISH:()=>wY,IOT_MIXIO_PUBLISHEX:()=>HY,IOT_MIXIO_SUBSCRIBE:()=>kY,iot_client_onboard:()=>nX,iot_connect_ollama:()=>aX,iot_connect_openai:()=>rX,iot_http_client:()=>sX,iot_http_data:()=>oX,iot_mixio_check:()=>JY,iot_mixio_connect:()=>UY,iot_mixio_connect_only:()=>KY,iot_mixio_disconnect:()=>WY,iot_mixio_format_msg:()=>qY,iot_mixio_format_topic:()=>QY,iot_mixly_key:()=>ZY,iot_mqtt_client:()=>_X,iot_mqtt_data:()=>pX,iot_onenet_check:()=>BY,iot_onenet_connect:()=>yY,iot_onenet_disconnect:()=>xY,iot_onenet_publish:()=>GY,iot_onenet_publish_dict:()=>VY,iot_tiny_web_db_count:()=>EX,iot_tiny_web_db_delete:()=>RX,iot_tiny_web_db_get:()=>mX,iot_tiny_web_db_init:()=>TX,iot_tiny_web_db_init_with_mqtt:()=>MX,iot_tiny_web_db_search:()=>OX,iot_tiny_web_db_update:()=>hX,iot_wifi_connect:()=>bY,ollama_empty_history:()=>IX,use_ollama_llm_to_chat:()=>dX,use_ollama_llm_to_chat_return:()=>lX});var et={};t.r(et),t.d(et,{educore_mqtt_connect:()=>$X,educore_mqtt_connect_success:()=>ib,educore_mqtt_subscribe_message:()=>ZX,educore_mqtt_topic_publish:()=>eb,educore_mqtt_topic_subscribe:()=>tb,educore_wifi_connect:()=>jX,network_ap_connect:()=>fX,network_connect:()=>gX,network_get_connect:()=>SX,network_get_wifi:()=>DX,network_init:()=>cX,network_is_active:()=>NX,network_open:()=>LX,network_scan:()=>FX,network_server:()=>PX,network_socket_accept:()=>yX,network_socket_bind:()=>YX,network_socket_close:()=>wX,network_socket_connect:()=>XX,network_socket_init:()=>vX,network_socket_listen:()=>bX,network_socket_readline:()=>xX,network_socket_receive:()=>VX,network_socket_receive_from:()=>GX,network_socket_send:()=>BX,network_socket_send_to:()=>UX,network_stop:()=>AX,network_wifi_connect:()=>CX,ntptime_address:()=>JX,ntptime_time:()=>KX,requests_attribute:()=>kX,requests_attribute2:()=>qX,requests_get:()=>HX,requests_get2:()=>QX,requests_method:()=>WX,requests_post:()=>zX});var it={};t.r(it),t.d(it,{CI130X_BROADCAST:()=>Ab,CI130X_GET_THE_RECOGNIZED_CMD:()=>Sb,CI130X_GET_WHETHER_IDENTIFY:()=>Cb,CI130X_IDENTIFY_AND_SAVE:()=>gb,CI130X_SET_SYSTEM_CMD:()=>Lb,HCSR04:()=>sy,PS2_Button:()=>py,PS2_Buttons:()=>ay,PS2_Buttons_new:()=>hy,PS2_State:()=>uy,PS2_init:()=>oy,PS2_init_new:()=>Ty,PS2_stk:()=>ry,PS2_stk_new:()=>my,PS2_vibration:()=>_y,PS2_vibration_new:()=>My,RTC_get_time:()=>ly,RTC_set_date:()=>rb,RTC_set_datetime:()=>dy,RTC_set_time:()=>ub,camera_sensor_init:()=>Qy,camera_sensor_result:()=>qy,column_tube_foot:()=>Zy,define_keyboards:()=>tx,educore_body_sensor:()=>Vy,educore_button_sensor_extern:()=>wy,educore_camera_sensor:()=>Jy,educore_infrared_sensor:()=>Uy,educore_soilhum_sensor:()=>By,educore_temp_sensor:()=>Ky,educore_temphum_sensor:()=>Gy,educore_ultrasonic_sensor:()=>ky,esp32_s2_weather_init:()=>ty,esp32_s2_weather_rain:()=>iy,esp32_s2_weather_wd:()=>ey,esp32_s2_weather_ws:()=>ny,extern_rfid_read:()=>wb,extern_rfid_readcontent:()=>kb,extern_rfid_readid:()=>Hb,extern_rfid_status:()=>Jb,extern_rfid_write:()=>Wb,extern_rfid_write_return:()=>Kb,get_keboards_value:()=>ix,gnss_get_data:()=>Ry,gnss_have_data:()=>cy,init_init_rotary_encoder:()=>nx,init_matrix_keyboard:()=>ex,interaction_whether_to_interaction:()=>Rb,interaction_whether_to_interaction_SANT:()=>cb,line_tube_foot:()=>$y,mixbot_sensor_extern_get_addr:()=>Py,mixbot_sensor_extern_set_addr:()=>vy,pm25_get_data:()=>Oy,radar_set_DETECTION_THRESHOLD:()=>Eb,radar_set_DETECTION_THRESHOLD_SANT:()=>Ob,robot_button_extern_get_value:()=>Cy,robot_color_extern_get_value:()=>Dy,robot_infrared_extern_get_value:()=>Ay,robot_infrared_extern_grey_get_value:()=>Ly,robot_potentiometer_extern_get_value:()=>Ny,robot_sonar_extern_get_value:()=>fy,robot_sonar_extern_led:()=>Fy,robot_touch_extern_get_value:()=>Sy,rotary_key:()=>sx,sensor_APDS9960_extern:()=>Db,sensor_DS18X20:()=>xy,sensor_LTR308_extern:()=>fb,sensor_LTR390UV_extern:()=>yb,sensor_MAX30102_extern:()=>Nb,sensor_QMC5883L_extern:()=>xb,sensor_VL530LX_extern:()=>Gb,sensor_aht11_extern:()=>Bb,sensor_bmp:()=>Mb,sensor_dht11:()=>Iy,sensor_distance_hrsc04:()=>ab,sensor_hp203_extern:()=>Fb,sensor_ltr381_extern:()=>Xb,sensor_mixgo_extern_button_attachInterrupt:()=>_b,sensor_mixgo_extern_button_get_presses:()=>ob,sensor_mixgo_extern_button_is_pressed:()=>nb,sensor_mixgo_extern_button_was_pressed:()=>sb,sensor_mixgo_extern_light:()=>db,sensor_mixgo_extern_pin_near:()=>Ib,sensor_mixgo_extern_sound:()=>lb,sensor_mixgoce_hot_wheel_degrees:()=>Zb,sensor_mixgoce_hot_wheel_is_touched:()=>$b,sensor_mpu9250_attachGestureInterrupt:()=>pb,sensor_ms5611_extern:()=>vb,sensor_ms5611_extern_altitude:()=>Yb,sensor_read_humiture:()=>Hy,sensor_rtc_init:()=>Tb,sensor_sht:()=>hb,sensor_shtc3_extern:()=>Vb,sensor_spl06_001_extern:()=>Pb,sensor_ucs12071_extern:()=>bb,sensor_use_i2c_init:()=>mb,sensor_use_spi_init:()=>Ub,sensor_use_uart_init:()=>Ey,sensor_weather_solo_init:()=>Yy,sensor_weather_solo_rain:()=>yy,sensor_weather_solo_wd:()=>Xy,sensor_weather_solo_ws:()=>by,sensor_weigh_init:()=>zy,tvoc_get_data:()=>gy,ultrasonic_sensor_read_distance:()=>Wy,weather_data:()=>Qb,weather_have_data:()=>qb,weather_set_label:()=>jb,weather_uart_mixio:()=>zb,weigh_sensor_get_weight:()=>jy});var nt={};t.r(nt),t.d(nt,{HCSR04:()=>Ix,bitbot_als_num:()=>bV,dht11:()=>HV,educore_button_sensor:()=>zV,educore_button_was_pressed:()=>jV,educore_gyroscope_sensor:()=>JV,educore_gyroscope_sensor_read:()=>QV,educore_gyroscope_sensor_shake:()=>qV,educore_light_sensor:()=>KV,educore_rfid_sensor:()=>$V,educore_rfid_sensor_scan:()=>ZV,educore_rfid_sensor_scan_data:()=>tB,educore_voice_sensor:()=>kV,number1:()=>Tx,number2:()=>Mx,number3:()=>hx,number4:()=>mx,number5:()=>Ex,number6:()=>Ox,number7:()=>Rx,onboard_RTC_get_time:()=>dV,onboard_RTC_get_time_str:()=>TV,onboard_RTC_get_timestamp:()=>lV,onboard_RTC_get_timetuple_to_str:()=>MV,onboard_RTC_set_datetime:()=>uV,onboard_RTC_settime_string:()=>rV,onboard_RTC_timestamp_totuple:()=>IV,rfid_readcontent:()=>yx,rfid_readid:()=>bx,rfid_status:()=>Bx,rfid_write:()=>xx,rfid_write_return:()=>Vx,sensor_LTR308:()=>Fx,sensor_adxl345_get_acceleration:()=>Qx,sensor_aht11:()=>Yx,sensor_bitbot_ALS:()=>XV,sensor_button_get_presses:()=>VV,sensor_button_is_pressed:()=>yV,sensor_button_was_pressed:()=>xV,sensor_compass_reset:()=>tV,sensor_ds18x20:()=>Dx,sensor_eulerangles:()=>Ux,sensor_get_acceleration:()=>Gx,sensor_get_temperature:()=>Xx,sensor_get_the_coprocessor_version:()=>eB,sensor_hp203:()=>vx,sensor_light:()=>wV,sensor_lm35:()=>fx,sensor_mixbot_get_gyro:()=>YV,sensor_mixbot_patrol_calibrate:()=>FV,sensor_mixbot_patrol_value:()=>PV,sensor_mixbot_temperature:()=>vV,sensor_mixgo_LTR308:()=>Ax,sensor_mixgo_button_attachInterrupt:()=>ax,sensor_mixgo_button_get_presses:()=>px,sensor_mixgo_button_is_pressed:()=>ox,sensor_mixgo_button_was_pressed:()=>_x,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>EV,sensor_mixgo_cc_mmc5603_get_angle:()=>mV,sensor_mixgo_cc_mmc5603_get_magnetic:()=>hV,sensor_mixgo_light:()=>UV,sensor_mixgo_nova_LTR308:()=>Nx,sensor_mixgo_nova_pin_near:()=>Sx,sensor_mixgo_pin_near:()=>Cx,sensor_mixgo_pin_near_double:()=>gx,sensor_mixgo_pin_near_single:()=>cx,sensor_mixgo_pin_pressed:()=>Kx,sensor_mixgo_sant_color:()=>Lx,sensor_mixgo_touch_slide:()=>Wx,sensor_mixgocar42_button_attachInterrupt:()=>lx,sensor_mixgocar42_button_get_presses:()=>dx,sensor_mixgocar42_button_is_pressed:()=>ux,sensor_mixgocar42_button_was_pressed:()=>rx,sensor_mixgocar_battery_left:()=>fV,sensor_mixgocar_pin_near:()=>NV,sensor_mixgocar_pin_near_line:()=>LV,sensor_mixgocar_pin_near_state_change:()=>DV,sensor_mixgoce_pin_pressed:()=>kx,sensor_mixgoce_temperature:()=>RV,sensor_mixgome_temperature:()=>OV,sensor_mpu9250_calibrate_compass:()=>jx,sensor_mpu9250_field_strength:()=>Zx,sensor_mpu9250_gesture:()=>wx,sensor_mpu9250_get_acceleration:()=>Hx,sensor_mpu9250_get_gyro:()=>zx,sensor_mpu9250_get_magnetic:()=>qx,sensor_mpu9250_temperature:()=>$x,sensor_mpython_pin_pressed:()=>Jx,sensor_mpython_qmi8658_get_gyro:()=>cV,sensor_mpython_qmi8658_temperature:()=>gV,sensor_onboard_compass_reset:()=>aV,sensor_onboard_mpu9250_calibrate_compass:()=>oV,sensor_onboard_mpu9250_field_strength:()=>pV,sensor_onboard_mpu9250_gesture:()=>eV,sensor_onboard_mpu9250_get_acceleration:()=>iV,sensor_onboard_mpu9250_get_gyro:()=>sV,sensor_onboard_mpu9250_get_magnetic:()=>nV,sensor_onboard_mpu9250_temperature:()=>_V,sensor_pin_near:()=>GV,sensor_pin_pressed:()=>BV,sensor_read:()=>WV,sensor_rm_acc:()=>AV,sensor_rm_battery_left:()=>SV,sensor_rm_pin_near_double:()=>CV,sensor_sound:()=>Px,simulated_light_sensor:()=>iB});var st={};t.r(st),t.d(st,{serial_any:()=>pB,serial_print:()=>nB,serial_print_byte:()=>sB,serial_print_hex:()=>_B,serial_println:()=>oB,serial_read_from_ai:()=>EB,serial_readline:()=>uB,serial_readstr:()=>aB,serial_send_to_ai:()=>mB,serial_softserial:()=>rB,serial_softserial_new:()=>dB,system_input:()=>lB,system_print:()=>IB,system_print_end:()=>MB,system_print_inline:()=>TB,system_print_many:()=>hB});var ot={};t.r(ot),t.d(ot,{Panic_with_status_code:()=>FB,Timer_init:()=>KB,base_delay:()=>qB,controls_delay:()=>bB,controls_delay_new:()=>yB,controls_end_program:()=>vB,controls_millis:()=>PB,controls_uname:()=>XB,reset:()=>YB,set_system_timer:()=>VB,system_bitbot_shutdown:()=>WB,system_device_name:()=>DB,system_device_serial_number:()=>fB,system_event_bus_source:()=>LB,system_event_bus_value:()=>NB,system_machine_reset:()=>kB,system_on_event:()=>CB,system_raise_event:()=>gB,system_reset:()=>RB,system_run_in_background:()=>OB,system_ticks_diff:()=>BB,system_timer:()=>UB,system_timer_init:()=>GB,system_timestamp:()=>SB,system_value:()=>AB,system_wait:()=>cB,system_wdt_feed:()=>HB,system_wdt_init:()=>wB,time_ticks_diff:()=>QB,timer:()=>xB,timer2:()=>JB});var _t={};t.r(_t),t.d(_t,{Air_daily_content:()=>aG,Air_now_content:()=>eG,Geo_moon_content:()=>rG,Geo_sun_content:()=>uG,Life_suggestion_content:()=>nG,Location_search_content:()=>oG,Tide_daily_content:()=>sG,WEATHER_DAILY:()=>jB,WEATHER_HOUR:()=>$B,WEATHER_NOW:()=>zB,Weather_alarm_content:()=>iG,Weather_daily:()=>_G,Weather_daily_content:()=>pG,Weather_now:()=>ZB,Weather_now_content:()=>tG});var pt={};t.r(pt),t.d(pt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>IG});var at={};t.r(at),t.d(at,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>MG});var ut={};t.r(ut),t.d(ut,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>mG});var rt={};t.r(rt),t.d(rt,{analog_input:()=>FG,analog_output:()=>vG,espnow_channel:()=>NG,haskylens_model:()=>DG,i2c_A_pin:()=>YG,i2c_B_pin:()=>XG,pins_analog:()=>BG,pins_analog_pin:()=>GG,pins_axis:()=>iU,pins_brightness:()=>nU,pins_builtinimg:()=>qG,pins_builtinimg_extern:()=>zG,pins_button:()=>HG,pins_dac:()=>UG,pins_dac_pin:()=>wG,pins_digital:()=>gG,pins_digital_dot:()=>dU,pins_digital_pin:()=>CG,pins_exlcdh:()=>tU,pins_exlcdv:()=>eU,pins_imglist:()=>jG,pins_input_pin:()=>SG,pins_mpython_touch:()=>LG,pins_one_more:()=>rU,pins_output_pin:()=>AG,pins_playlist:()=>$G,pins_playlist_extern:()=>ZG,pins_pwm:()=>kG,pins_pwm_pin:()=>WG,pins_radio_datarate:()=>uU,pins_radio_power:()=>aU,pins_serial:()=>QG,pins_tone_notes:()=>pU,pins_touch:()=>JG,pins_touch_pin:()=>KG,pins_tts_bgmusic:()=>_U,pins_tts_builtin_music:()=>oU,pins_tts_voice:()=>sU,pwm_input:()=>fG,pwm_output:()=>PG,spi_A_pin:()=>bG,spi_B_pin:()=>yG,spi_C_pin:()=>xG,spi_D_pin:()=>VG});var dt={};t.r(dt),t.d(dt,{espnow_channel:()=>cU,haskylens_model:()=>gU,pins_analog:()=>EU,pins_analog_pin:()=>mU,pins_axis:()=>bU,pins_brightness:()=>VU,pins_builtinimg:()=>FU,pins_builtinimg_extern:()=>PU,pins_button:()=>IU,pins_dac:()=>AU,pins_dac_pin:()=>SU,pins_digital:()=>lU,pins_digital_dot:()=>KU,pins_digital_pin:()=>TU,pins_exlcdh:()=>yU,pins_exlcdv:()=>xU,pins_imglist:()=>vU,pins_input_pin:()=>MU,pins_interrupt:()=>DU,pins_mpython_touch:()=>CU,pins_one_more:()=>WU,pins_output_pin:()=>hU,pins_playlist:()=>YU,pins_playlist_extern:()=>XU,pins_pwm:()=>RU,pins_pwm_pin:()=>OU,pins_radio_datarate:()=>kU,pins_radio_power:()=>HU,pins_serial:()=>fU,pins_tone_notes:()=>wU,pins_touch:()=>NU,pins_touch_pin:()=>LU,pins_tts_bgmusic:()=>UU,pins_tts_builtin_music:()=>GU,pins_tts_voice:()=>BU});const lt=Blockly,It=Mixly,Tt={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},Mt=Tt; +/** + * @license + * Visual Blocks Editor + * + * Copyright 2012 Google Inc. + * https://developers.google.com/blockly/ + * + * 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. + */ +class ht{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(lt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(lt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(lt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(lt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},bt={init:function(){this.setColour(ft),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.PYTHON_RANGE).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},yt={init:function(){this.setColour(ft),this.appendValueInput("LIST").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(lt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return lt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},xt={init:function(){this.setColour(ft),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new lt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(lt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:lt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:lt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Vt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Bt={init:function(){this.setColour(ft);var t=new lt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:lt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:lt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Gt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new lt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return lt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ut={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new lt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return lt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};xt.OPERATORS=[[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Bt.OPERATORS=[[lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const wt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ht={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},kt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(lt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Wt={init:function(){this.setColour(ft),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Kt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Jt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Qt={init:function(){this.jsonInit({message0:lt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:ft,tooltip:lt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:lt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},qt={init:function(){this.setColour(ft),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_STAT),this.setOutput(!0)}},zt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},jt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},$t={init:function(){this.appendDummyInput().appendField(lt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+lt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(lt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new lt.FieldDropdown([[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ft),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Zt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},te={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ee={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},ie={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_GET_UNIQUE_IDEN)}},ne={init:function(){this.setColour(ft),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(lt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},se={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},oe=230;lt.FieldTextInput.math_number_validator=function(t){return String(t)},lt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const _e={init:function(){this.setColour(oe),this.appendDummyInput().appendField(new lt.FieldTextInput("0",lt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MATH_NUMBER_TOOLTIP)}},pe={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(lt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new lt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},ae={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(lt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new lt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},ue={init:function(){this.setColour(oe),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:lt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:lt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:lt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},re={init:function(){this.setColour(oe),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:lt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:lt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:lt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},de={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new lt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},le={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new lt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:lt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:lt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:lt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:lt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:lt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:lt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:lt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ie={init:function(){var t=[[lt.Msg.MATH_BIN,"bin"],[lt.Msg.MATH_OCT,"oct"],[lt.Msg.MATH_HEX,"hex"]];this.setColour(oe),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new lt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:lt.Msg.MATH_DEC_TOOLTIP_BIN,oct:lt.Msg.MATH_DEC_TOOLTIP_OCT,hex:lt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Te={init:function(){var t=[[lt.Msg.LANG_MATH_TO_ROUND,"round"],[lt.Msg.LANG_MATH_TO_CEIL,"ceil"],[lt.Msg.LANG_MATH_TO_FLOOR,"floor"],[lt.Msg.MATH_ABS,"fabs"],[lt.Msg.MATH_SQRT,"sqrt"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).appendField(new lt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:lt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:lt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:lt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:lt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:lt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:lt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Me={init:function(){var t=[[lt.Msg.MIXLY_MAX,"max"],[lt.Msg.MIXLY_MIN,"min"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(lt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:lt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:lt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},he={init:function(){var t=[[lt.Msg.MATH_TWO,"two"],[lt.Msg.MATH_EIGHT,"eight"],[lt.Msg.MATH_TEN,"ten"],[lt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(oe),this.appendDummyInput("").appendField(lt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new lt.FieldDropdown(t),"OP").appendField(lt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MATH_ZHW).appendField(new lt.FieldDropdown(t),"OP2").appendField(lt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:lt.Msg.MATH_Before_two,eight:lt.Msg.MATH_Before_eight,ten:lt.Msg.MATH_Before_ten,sixteen:lt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:lt.Msg.MATH_Behind_two,eight:lt.Msg.MATH_Behind_eight,ten:lt.Msg.MATH_Behind_ten,sixteen:lt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},me={init:function(){var t=[[lt.Msg.LANG_MATH_INT,"int"],[lt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(oe),this.setOutput(!0,Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new lt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:lt.Msg.LANG_MATH_INT,float:lt.Msg.LANG_MATH_FLOAT_RANDOM};return lt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Ee={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(lt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Oe={init:function(){this.setColour(oe),this.appendValueInput("NUM",Number).appendField(lt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(lt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(lt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Re={init:function(){this.setColour(oe),this.appendDummyInput().appendField(new lt.FieldTextInput("0",lt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(lt.Msg.MATH_NUMBER_TOOLTIP)}},ce={init:function(){this.setColour(oe),this.appendValueInput("NUM").setCheck(Number).appendField(lt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ge={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MATH_ROUND).appendField(lt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(lt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(lt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ce={init:function(){var t=[[lt.Msg.MIXLY_TO_INT,"int"],[lt.Msg.MIXLY_TO_FLOAT,"float"],[lt.Msg.MIXLY_TO_BITES,"b"],[lt.Msg.LANG_MATH_BYTE+lt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:lt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:lt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:lt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Se={init:function(){var t=[[lt.Msg.MIXLY_TO_INT,"int"],[lt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:lt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:lt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ae=Oe,Le={init:function(){this.setColour(oe),this.appendValueInput("VAR").appendField(lt.Msg.LANG_MATH_BYTE+lt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},Ne={init:function(){this.setColour(oe),this.itemCount_=1,this.setMutator(new lt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(lt.Msg.MIXLY_PRODUCT+lt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(lt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(lt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(lt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const Xe={init:function(){this.setColour(Fe),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new lt.FieldTextInput("",lt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(lt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new lt.FieldImage(e,7,12,'"')}},be={init:function(){this.setColour(Fe),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(lt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ye={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},xe={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(String).appendField(lt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ve={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Be={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ge={init:function(){this.WHERE_OPTIONS=[[lt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[lt.Msg.TEXT_GET_INDEX_RANDOM+1+lt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.LISTS_GET_INDEX_GET,"MODE"),lt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(lt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+lt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",lt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:lt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:lt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:lt.Msg.TEXT_GET_INDEX_RANDOM};return lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+lt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==lt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),lt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(lt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new lt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),lt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ue={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(lt.Msg.LISTS_GET_INDEX_GET+" "+lt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(lt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+lt.Msg.LISTS_GET_INDEX_FROM_START+"n"+lt.Msg.TEXT_CHARAT2)}},we={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(lt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(lt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},He={init:function(){this.WHERE_OPTIONS_1=[[lt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[lt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[lt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[lt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(lt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==lt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==lt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),lt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(lt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new lt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ke={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(lt.Msg.LISTS_GET_INDEX_GET+" "+lt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(lt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(lt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(lt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},We={init:function(){var t=[[lt.Msg.MIXLY_EQUALS,"==="],[lt.Msg.MIXLY_STARTSWITH,"startswith"],[lt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Fe),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new lt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ke={init:function(){this.setColour(Fe),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(lt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_COMPARETO_HELP)}},Je={init:function(){var t=[[lt.Msg.TEXT_UPPER,"upper"],[lt.Msg.TEXT_TITLE,"title"],[lt.Msg.TEXT_CAPITALIZE,"capitalize"],[lt.Msg.TEXT_SWAPCASE,"swapcase"],[lt.Msg.TEXT_LOWER,"lower"]];this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new lt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:lt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:lt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:lt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:lt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:lt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Qe={init:function(){var t=[[lt.Msg.TEXT_LJUST,"ljust"],[lt.Msg.TEXT_CENTER,"center"],[lt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Fe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(lt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(lt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},qe={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(lt.Msg.MIXLY_MID+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(lt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},ze={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},je={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(lt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(lt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},$e={init:function(){this.setColour(Fe),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(lt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(lt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Ze={init:function(){var t=[[lt.Msg.TEXT_TRIM_BOTH,"strip"],[lt.Msg.TEXT_TRIM_LEFT,"lstrip"],[lt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Fe),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(lt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(lt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:lt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:lt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:lt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ti={init:function(){this.setColour(Fe),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new lt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new lt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},zi={init:function(){this.setColour(Qi),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},ji={init:function(){this.setColour(Qi),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},$i={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_KEYS),this.setTooltip(lt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Zi={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(lt.Msg.DICTS_GET_TOOLTIP)}},tn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(lt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(lt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},en={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},nn={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_DELETE_TOOLTIP)}},sn={init:function(){this.setColour(Qi),this.appendValueInput("DICT2").setCheck("Dict").appendField(lt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(lt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MID),this.setTooltip(lt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},on={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_CLEAR),this.setTooltip(lt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_n={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_ITEMS),this.setTooltip(lt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},pn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_VALUES),this.setTooltip(lt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_LENGTH),this.setTooltip(lt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},un={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_DELDICT),this.setTooltip(lt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rn={init:function(){this.MODE=[[lt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[lt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(lt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=lt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=lt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==lt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new lt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},dn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.setTooltip(lt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},ln={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(lt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},In={init:function(){this.setColour(Qi),this.appendDummyInput("").appendField(new lt.FieldLabel(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new lt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Tn={init:function(){this.setColour(Qi),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Mn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TO_JSON),this.setTooltip(lt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},hn={init:function(){this.setColour(Qi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(lt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},mn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},En={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TO_JSON),this.setTooltip(lt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},On=210,Rn={init:function(){var t=lt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:lt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:lt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:lt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:lt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:lt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:lt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},cn={init:function(){var t=lt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=lt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new lt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},gn={init:function(){var t=[[lt.Msg.LOGIC_OPERATION_AND,"AND"],[lt.Msg.LOGIC_OPERATION_OR,"OR"],[lt.Msg.LOGIC_OPERATION_NOR,"NOR"],[lt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new lt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:lt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:lt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:lt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:lt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Cn={init:function(){this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(lt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(lt.Msg.LOGIC_NEGATE_TOOLTIP)}},Sn={init:function(){var t=[[lt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[lt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new lt.FieldDropdown(t),"BOOL"),this.setTooltip(lt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},An={init:function(){this.setColour(On),this.setOutput(!0),this.appendDummyInput().appendField(lt.Msg.LOGIC_NULL),this.setTooltip(lt.Msg.LOGIC_NULL_TOOLTIP)}},Ln={init:function(){this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").appendField(lt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(lt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},Nn={init:function(){var t=[[lt.Msg.TEXT_APPEND_TO,"in"],[lt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new lt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(lt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.IN)}},Dn={init:function(){var t=[[lt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[lt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},fn={init:function(){this.setColour(On),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Fn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(lt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Pn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[lt.Msg.MIXLY_ADD,"a"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_ADD,"ab"],[lt.Msg.MIXLY_R_W,"r+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_R_W,"rb+"],[lt.Msg.MIXLY_W_R,"w+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_W_R,"wb+"],[lt.Msg.MIXLY_A_R,"a+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},vn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG,_=lt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(lt.Msg.MIXPY_TEXT_ENCODE).appendField(new lt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG,_=lt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Xn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(lt.Msg.MICROBIT_PYTHON_TYPE)}},Vn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.HTML_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Un={init:function(){this.setColour(0),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const wn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Kn={init:function(){this.setColour(0),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Jn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+lt.Msg.MIXLY_ESP32_SET+{mkdir:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(lt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.HTML_FILE,"isfile"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},jn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(lt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$n={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(lt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Zn={init:function(){var t=lt.Procedures.findLegalName("",this),e=new lt.FieldTextInput(t,lt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new lt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&<.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(lt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(lt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(lt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(lt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=lt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),lt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{lt.Events.enable()}},mutationToDom:function(t){var e=lt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(lt.Msg.MIXLY_AIP_ATTR).setAlign(lt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},qs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_FORM_CONTENT).appendField(new lt.FieldDropdown([[lt.Msg.HTML_TEXT,"text"],[lt.Msg.HTML_EMAIL,"email"],[lt.Msg.HTML_NUMBER,"number"],[lt.Msg.HTML_PASSWORD,"password"],[lt.Msg.HTML_CHECKBOX,"checkbox"],[lt.Msg.HTML_RADIOBUTTON,"radiobutton"],[lt.Msg.HTML_BUTTON,"button"],[lt.Msg.HTML_COLOUR,"colour"],[lt.Msg.HTML_DATE,"date"],[lt.Msg.HTML_LOCALTIME,"local time"],[lt.Msg.HTML_FILE,"file"],[lt.Msg.HTML_HIDDEN,"hidden"],[lt.Msg.HTML_IMAGE,"image"],[lt.Msg.HTML_MONTH,"month"],[lt.Msg.HTML_RANGE,"range"],[lt.Msg.HTML_RESET,"reset"],[lt.Msg.HTML_SEARCH,"search"],[lt.Msg.HTML_SUBMIT,"submit"],[lt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[lt.Msg.HTML_TIME,"time"],[lt.Msg.HTML_URL,"url"],[lt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(lt.Msg.HTML_NAME).appendField(new lt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(lt.Msg.HTML_VALUE).appendField(new lt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(lt.Msg.MIXLY_AIP_ATTR).setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(new lt.FieldTextInput("property"),"KEY").appendField(":").appendField(new lt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},js={init:function(){this.setColour(ws),this.appendDummyInput().appendField(new lt.FieldTextInput("property"),"KEY").appendField(":").appendField(new lt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$s={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_TEXT).appendField(new lt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zs=160,to={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new lt.FieldTable(""),"TEXT")}},eo={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new lt.FieldMultilineInput(""),"TEXT")}},io={init:function(){this.setColour(Zs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new lt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},no={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},so={init:function(){this.setColour(Zs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new lt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},oo={init:function(){this.setColour(Zs),this.appendValueInput("VALUE").appendField(lt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},_o={init:function(){this.setColour(Zs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(lt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=lt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},lt.isNumber(n)&<.isNumber(s)&<.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const ia=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},na=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},sa=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},oa=function(t,e){return["None",e.ORDER_ATOMIC]},_a=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},pa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},aa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ua=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},da=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},la=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ia=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Ta=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ma=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},ha=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ma=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ea=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Oa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Ra=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},ca=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},ga=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Ca=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Sa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Aa=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},La=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Na=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Da=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},fa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Fa=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Pa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},va=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ya=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),lt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},hu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Eu=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Ou=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Ru=function(t,e){return'"},cu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},gu=function(){return this.getFieldValue("TEXT")+"\n"},Cu=function(t){return t.getFieldValue("TEXT")+"\n"},Su=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Au=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Lu=function(){return""},Nu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Du=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n")},vu.scrubNakedValue=function(t){return t+"\n"},vu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},vu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},vu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=lt.utils.string.wrap(o,vu.COMMENT_WRAP-3),n+=vu.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Yu="#74A55B",Xu={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(lt.Msg.MIXLY_RGB_PIN_COUNT)}},bu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},yu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},xu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Vu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Bu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(lt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(lt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Gu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Uu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_RESET)}},wu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(lt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},ku={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Wu={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ku={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ju={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},Qu={init:function(){this.setColour(Yu),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qu={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_MOVE)}},zu={init:function(){this.setColour(Yu),this.appendValueInput("VAR").appendField("360°"+lt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SETTING+lt.Msg.blockpy_turtle_rotate+lt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},ju={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("180°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_MOVE)}},$u={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("360°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Zu={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("180°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},tr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("360°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},er={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new lt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(lt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},ir={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[lt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[lt.Msg.MOTOR_N,"ms32006.MOT_N"],[lt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},nr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new lt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[lt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},sr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(lt.Msg.MIXLY_RGB_PIN_COUNT)}},or={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},_r={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},pr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_WRI)}},ar={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ur={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},rr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new lt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([["SYN6288"+lt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+lt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_WHETHER).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_STOPPED,"0"],[lt.Msg.MIXLY_PLAYING,"1"],[lt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},lr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_STAT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MP3_PLAY,"1"],[lt.Msg.MIXLY_MP3_PAUSE,"2"],[lt.Msg.MIXLY_STOP,"3"],[lt.Msg.MIXLY_MP3_PREV,"4"],[lt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ir={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(lt.Msg.MIXLY_MP3_VOL+lt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Tr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MODE+lt.Msg.MIXLY_STAT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[lt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[lt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[lt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[lt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[lt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[lt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},hr={},mr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Er={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Or={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(lt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Rr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(lt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(lt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},cr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},gr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Cr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LISTS_SET_INDEX_SET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ar={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_WHITE,"W"],[lt.Msg.COLOUR_RGB_RED,"R"],[lt.Msg.COLOUR_RGB_YELLOW,"Y"],[lt.Msg.COLOUR_RGB_GREEN,"G"],[lt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Lr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_WHITE,"W"],[lt.Msg.COLOUR_RGB_RED,"R"],[lt.Msg.COLOUR_RGB_YELLOW,"Y"],[lt.Msg.COLOUR_RGB_GREEN,"G"],[lt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[lt.Msg.MIXLY_SPEED,"[1]"],[lt.Msg.MATH_SINGLE_OP_ABSOLUTE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[lt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[lt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[lt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MATH_SINGLE_OP_ABSOLUTE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"0"],[lt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[lt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Pr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField("("+lt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Yr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField("("+lt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"0"],[lt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MOTOR,"ext_motor"],[lt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[lt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[lt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[lt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[lt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[lt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[lt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},br={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MOTOR,"ext_motor"],[lt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[lt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[lt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[lt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[lt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[lt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[lt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},xr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SERVO+lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Br={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MOTOR+lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Ur={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wr="#6C9858",Hr={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},kr={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_ON,"1"],[lt.Msg.MIXLY_ESP32_OFF,"0"],[lt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Wr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Kr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},Jr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Qr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_BUILDIN_LED+lt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},qr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(lt.Msg.MIXLY_LCD_SETCOLOR).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LIGHT_RED,"1"],[lt.Msg.MIXLY_LIGHT_GREEN,"2"],[lt.Msg.MIXLY_LIGHT_BLUE,"3"],[lt.Msg.MIXLY_LIGHT_YELLOW,"4"],[lt.Msg.MIXLY_LIGHT_CYAN,"5"],[lt.Msg.MIXLY_LIGHT_PURPLE,"6"],[lt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},zr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},jr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},$r={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Zr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_BUILDIN_LED+lt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},td={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},id={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},nd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},sd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},od={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_WRI)}},_d={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},pd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ad={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ud={init:function(){this.setColour(wr),this.appendValueInput("TICKS").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(lt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(lt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},rd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},dd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_RESET)}},ld={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Id={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Td={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Md={init:function(){this.setColour(wr),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},hd={init:function(){this.setColour(wr),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},md={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"],[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ed={init:function(){this.setColour(wr),this.appendDummyInput().appendField("MixGo Car").appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Od={init:function(){this.setColour(wr),this.appendDummyInput("").appendField("MixGo Car").appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([[lt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[lt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([[lt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[lt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_STOP).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Cd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[lt.Msg.MIXLY_SPEED,"SPEED"],[lt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Sd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ad={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.MIXLY_MOTOR).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"1"],[lt.Msg.TEXT_TRIM_RIGHT,"2"],[lt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[lt.Msg.MIXLY_SPEED,"SPEED"],[lt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ld={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[lt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(lt.Msg.MIXLY_MOTOR).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"0"],[lt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"],[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(wr),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Pd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},vd={init:function(){this.setColour(wr),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_MIXBOT_BUZZER+lt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Yd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MIXBOT_BUZZER+lt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Xd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_RECORD_AUDIO).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(lt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},bd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_PLAY_AUDIO).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Vd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.PIN_NUMBERING);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Gd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.PIN_NUMBERING);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT+lt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ud={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.MIXLY_ALL+lt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(lt.ALIGN_RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT+lt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},wd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(lt.ALIGN_RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT+lt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Hd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.ANALOG+lt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(lt.Msg.MIXLY_RELEASE).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.ANALOG+lt.Msg.MIXLY_KEYBOARD_INPUT)}},kd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SPECIAL_KEY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[lt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[lt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[lt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[lt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[lt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[lt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[lt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[lt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Wd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GENERAL_KEY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},Kd={init:function(){this.setColour(wr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new lt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(lt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},yh={init:function(){this.jsonInit({colour:Ah,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:lt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:lt.Msg.MIXLY_MICROBIT_Built_in_image})}},xh={init:function(){this.setColour(Ah),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new lt.FieldDropdown(It.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Vh={init:function(){this.setColour(Ah),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(lt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new lt.FieldDropdown(Vh.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":lt.Msg.MIXLY_MICROBIT_image_add,"-":lt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[lt.Msg.MICROBIT_DISPLAY_UNION,"add"],[lt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Bh={init:function(){this.setColour(Ah),this.appendValueInput("A").setCheck("esp32_image").appendField(lt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Gh={init:function(){this.setColour(Ah),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET2).appendField(new lt.FieldDropdown(Gh.OPERATORS),"OP"),this.appendValueInput("val").appendField(lt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=lt.Msg.DISPLAY_IMAGE_LET,n=lt.Msg.DISPLAY_IMAGE_LET2,s=lt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:lt.Msg.MIXLY_UP,shift_down:lt.Msg.MIXLY_DOWN,shift_left:lt.Msg.MIXLY_LEFT,shift_right:lt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[lt.Msg.MIXLY_UP,"shift_up"],[lt.Msg.MIXLY_DOWN,"shift_down"],[lt.Msg.MIXLY_LEFT,"shift_left"],[lt.Msg.MIXLY_RIGHT,"shift_right"]]},Uh={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},wh={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Hh={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},kh={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Wh={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Clear_display)}},Kh={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_SHOW+lt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Qh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(Qh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},qh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},zh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(zh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},jh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},$h={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap($h.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},Zh={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.OLED_SET_FONT).appendField(new lt.FieldDropdown(Zh.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+lt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+lt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+lt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},tm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},em={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},im={init:function(){this.setColour(Ah),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(lt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},nm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(lt.Msg.TEXT_CENTER).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},sm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},om={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_m={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},pm={init:function(){this.jsonInit({colour:Ah,args0:[{name:"state",options:[[lt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[lt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},am={init:function(){this.jsonInit({colour:Ah,args0:[{name:"state",options:[[lt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[lt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[lt.Msg.mpython_vertical,"0"],[lt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:lt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},um={init:function(){this.jsonInit({colour:Ah,args0:[{name:"state",options:[[lt.Msg.mpython_display_hline_1,"1"],[lt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.mpython_display_line_TOOLTIP,message0:lt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},rm={init:function(){this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new lt.FieldDropdown(rm.IMAGES),"path"),this.setColour(Ah),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},dm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},lm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(lm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},Im={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Tm={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},Mm={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},hm={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new lt.FieldDropdown(hm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[lt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[lt.Msg.CLOCKWISE+"90"+lt.Msg.blockpy_setheading_degree,"1"],[lt.Msg.CLOCKWISE+"180"+lt.Msg.blockpy_setheading_degree,"2"],[lt.Msg.CLOCKWISE+"270"+lt.Msg.blockpy_setheading_degree,"3"]]},mm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Em={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(Em.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Ah),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Om={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Rm={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(lt.Msg.MIXLY_AipImageClassify_Image+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(lt.Msg.TEXT_CENTER).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},gm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cm={init:function(){this.jsonInit({colour:Ah,args0:[{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:lt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Sm={init:function(){this.jsonInit({colour:Ah,args0:[{name:"dir_h_v",options:[[lt.Msg.mpython_vertical,"0"],[lt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:lt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Am={init:function(){this.jsonInit({colour:Ah,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.mpython_display_line_TOOLTIP,message0:lt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Lm={init:function(){this.setColour(Ah),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(lt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Nm={init:function(){this.setColour(Ah),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_LCD_SETCOLOR).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Dm={init:function(){this.setColour(Ah),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fm={init:function(){this.setColour(Ah),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(lt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fm={init:function(){this.setColour(Ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pm={init:function(){this.setColour(Ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(lt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(lt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(lt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vm={init:function(){this.setColour(Ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ym={init:function(){this.setColour(Ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xm={init:function(){this.jsonInit({colour:Ah,args0:[{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,message0:lt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},bm={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER).appendField(lt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(lt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.DRAW_POINTER_TOOLTIP)}},ym={init:function(){this.setColour(Ah),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER).appendField(lt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(lt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.DRAW_POINTER_TOOLTIP)}},xm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vm={init:function(){this.setColour(Ah),this.appendValueInput("direct").appendField(lt.Msg.OLED_BITMAP).appendField(lt.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP).appendField(lt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ERROR_RATE).appendField(new lt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(It.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gm={init:function(){this.setColour(Ah),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Um={init:function(){Dh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},wm={init:function(){vh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Hm={init:function(){Gh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},km={init:function(){Hh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Wm={init:function(){kh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Km={init:function(){Wh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Jm=180,Qm={init:function(){this.setColour(Jm),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(lt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET2).appendField(new lt.FieldDropdown(Qm.OPERATORS),"OP"),this.appendValueInput("val").appendField(lt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=lt.Msg.DISPLAY_IMAGE_LET,n=lt.Msg.DISPLAY_IMAGE_LET2,s=lt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"]]},qm={init:function(){this.setColour(Jm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(lt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new lt.FieldDropdown(qm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":lt.Msg.MIXLY_MICROBIT_image_add,"-":lt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[lt.Msg.MICROBIT_DISPLAY_UNION,"+"],[lt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},zm={init:function(){this.setColour(Jm),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new lt.FieldDropdown(zm.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_MICROBIT_IMAGE+{height:lt.Msg.MIXLY_HEIGHT,width:lt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[lt.Msg.MIXLY_HEIGHT,"height"],[lt.Msg.MIXLY_WIDTH,"width"]]},jm={init:function(){this.setColour(Jm),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RECT).appendField(new lt.FieldDropdown(jm.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_OLED_RECT)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},$m={init:function(){this.setColour(Jm),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new lt.FieldDropdown($m.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Zm={init:function(){this.setColour(Jm),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_DISPLAY_DRAW+lt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new lt.FieldDropdown(Zm.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_DISPLAY_DRAW+lt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},tE="#777777",eE={init:function(){this.setColour(tE),this.appendDummyInput("").appendField("from ").appendField(new lt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new lt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iE={init:function(){this.setColour(tE),this.appendDummyInput("").appendField("import ").appendField(new lt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nE={init:function(){this.setColour(tE),this.appendDummyInput("").appendField(new lt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},kE={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},WE={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},KE={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},JE={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(lt.Msg.MIXLY_WIFI_USERNAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.MIXLY_IOT_PASSWORD).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_PROJECT).setAlign(lt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},QE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},qE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.appendDummyInput().appendField(lt.Msg.MIXLY_Service_quality_display).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_AT_MOST_ONCE,"0"],[lt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},zE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},jE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$E={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ZE={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(lt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},eO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},iO={init:function(){this.setColour(xE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},nO={init:function(){this.setColour(xE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},sO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},oO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO").appendField(lt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(lt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},_O={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+lt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aO={init:function(){this.VISITOR_ID=It.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(xE),this.appendDummyInput("").appendField(new lt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},uO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MixIO").appendField(lt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},rO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("HTTP"+lt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(lt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(lt.Msg.MIXLY_REQUESTS_GET).appendField(lt.Msg.MIXLY_GET_CURRENT_TIME).appendField(lt.Msg.MIXLY_OPEN_DEBUG).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("HTTP"+lt.Msg.MIXLY_Client).appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[lt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[lt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},lO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MQTT"+lt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(lt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(lt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(lt.Msg.MQTT_Topic).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(lt.Msg.MIXLY_OPEN_DEBUG).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("MQTT"+lt.Msg.MIXLY_Client).appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[lt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[lt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},TO=VE,MO=BE,hO=GE,mO=UE,EO=HE,OO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(lt.Msg.MODEL_NAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(lt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},RO=OO,cO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(lt.Msg.MODEL_NAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(lt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},CO={init:function(){this.setColour(xE),this.appendDummyInput().appendField(lt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},SO={init:function(){this.setColour(xE),this.appendDummyInput().appendField("Ollama "+lt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},AO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${lt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},LO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${lt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(lt.inputs.Align.RIGHT).appendField(`MixIO ${lt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},NO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},fO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},FO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(lt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},PO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(lt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vO=225,YO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(lt.Msg.MIXLY_NETWORK_MODE).appendField(new lt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},XO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[lt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=lt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:lt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:lt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},bO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},yO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return lt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:lt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},xO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(lt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(lt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},VO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_CONNECT+lt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},BO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[lt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[lt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:lt.Msg.MIXLY_ESP32_NETWORK_IP,1:lt.Msg.MIXLY_ESP32_NETWORK_MASK,2:lt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},GO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},UO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[lt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},wO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(lt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(lt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},HO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},kO={init:function(){this.setColour(vO),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new lt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},WO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},KO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},JO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},QO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},qO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},zO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},jO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},$O={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},ZO={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},tR={init:function(){this.setColour(vO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},eR={init:function(){this.setColour(vO),this.appendValueInput("DOMAIN").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_REQUESTS_GET).appendField(new lt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},iR={init:function(){this.appendValueInput("VAL"),this.setColour(vO),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown(iR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:lt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:lt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:lt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[lt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},nR={init:function(){this.appendValueInput("VAR").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(vO),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown(nR.METHOD),"DIR"),this.appendDummyInput("").appendField(lt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:lt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:lt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},sR={init:function(){this.setColour(vO),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(lt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},oR={init:function(){this.setColour(vO),this.appendDummyInput("").appendField(new lt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},_R="#3288dd",pR={init:function(){this.setColour(_R),this.appendValueInput("URL").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(lt.Msg.blockpy_REQUESTS).appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},aR={init:function(){this.setColour(_R),this.appendValueInput("URL").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(lt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(lt.Msg.blockpy_REQUESTS+lt.Msg.OLED_STRING),this.appendDummyInput("").appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},uR={init:function(){this.appendValueInput("VAL"),this.setColour(_R),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown(uR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[lt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[lt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},rR={init:function(){this.setColour(_R),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(lt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(lt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},dR={init:function(){this.setColour(_R),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(lt.Msg.MIXLY_EMQX_PORT).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(lt.Msg.MIXLY_WIFI_USERNAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.MIXLY_IOT_PASSWORD).setAlign(lt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lR={init:function(){this.setColour(_R),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(lt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},IR={init:function(){this.setColour(_R),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR={init:function(){this.setColour(_R),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR={init:function(){this.setColour(_R),this.appendDummyInput().appendField("mqtt"+lt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},hR="#A58C5B",mR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(lt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SENOR_IS_PRESSED)}},ER={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(lt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SENOR_WAS_PRESSED)}},OR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_BUTTON+lt.Msg.MIXLY_GET_PRESSES)}},RR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[lt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[lt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},cR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_shake,"shake"],[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"],[lt.Msg.MIXLY_MICROBIT_face_up,"face up"],[lt.Msg.MIXLY_MICROBIT_face_down,"face down"],[lt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=lt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=lt.Msg.MSG.catSensor,s=lt.Msg.MIXLY_MICROBIT_JS_STATE,o=lt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:lt.Msg.MIXLY_MICROBIT_shake,up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT,"face up":lt.Msg.MIXLY_MICROBIT_face_up,"face down":lt.Msg.MIXLY_MICROBIT_face_down,freefall:lt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},gR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},CR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},SR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField(new lt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new lt.FieldDropdown(SR.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},AR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},LR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},NR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"left"],[lt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(lt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=lt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=lt.Msg.MIXLY_ESP32_NEAR;return i+{left:lt.Msg.TEXT_TRIM_LEFT,right:lt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},DR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[lt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":lt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":lt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},fR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[lt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},FR={init:function(){this.setColour(hR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},PR={init:function(){this.setColour(hR),this.appendDummyInput("").appendField("LM35"+lt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_LM35)}},vR={init:function(){this.setColour(hR),this.appendValueInput("I2CSUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[lt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[lt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[lt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[lt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[lt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[lt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[lt.Msg.HTML_COLOUR+"、"+lt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+lt.Msg.MIXLY_NEXT+"、"+lt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[lt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[lt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[lt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[lt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[lt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},YR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(lt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+lt.Msg.MIXLY_DELAY_TIME_RANGE)}},XR={init:function(){this.setColour(hR),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RADAR).appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(lt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+lt.Msg.MIXLY_DELAY_TIME_RANGE)}},bR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},yR={init:function(){this.setColour(hR),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RADAR).appendField(lt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},xR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},VR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[lt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[lt.Msg.MIXLY_THE_FIRST,"3"],[lt.Msg.MIXLY_THE_SECOND,"4"],[lt.Msg.MIXLY_THE_THIRD,"5"],[lt.Msg.MIXLY_THE_FOURTH,"6"],[lt.Msg.MIXLY_THE_FIFTH,"7"],[lt.Msg.MIXLY_THE_SIXTH,"8"],[lt.Msg.MIXLY_THE_SEVENTH,"9"],[lt.Msg.MIXLY_THE_EIGHTH,"10"],[lt.Msg.MIXLY_THE_NINTH,"11"],[lt.Msg.MIXLY_THE_TENTH,"12"],[lt.Msg.MIXLY_THE_ELEVENTH,"13"],[lt.Msg.MIXLY_THE_TWELFTH,"14"],[lt.Msg.MIXLY_THE_13TH,"15"],[lt.Msg.MIXLY_THE_14TH,"16"],[lt.Msg.MIXLY_THE_15TH,"17"],[lt.Msg.MIXLY_THE_16TH,"18"],[lt.Msg.MIXLY_THE_17TH,"19"],[lt.Msg.MIXLY_THE_18TH,"20"],[lt.Msg.MIXLY_THE_19TH,"21"],[lt.Msg.MIXLY_THE_20TH,"22"],[lt.Msg.MIXLY_Turn_on_the_lights,"23"],[lt.Msg.MIXLY_Turn_off_the_lights,"24"],[lt.Msg.MIXLY_Turn_up_the_brightness,"25"],[lt.Msg.MIXLY_Turn_down_the_brightness,"26"],[lt.Msg.MIXLY_Set_it_to_red,"27"],[lt.Msg.MIXLY_Set_it_to_orange,"28"],[lt.Msg.MIXLY_Set_it_to_yellow,"29"],[lt.Msg.MIXLY_Set_it_to_green,"30"],[lt.Msg.MIXLY_Set_it_to_cyan,"31"],[lt.Msg.MIXLY_Set_it_to_blue,"32"],[lt.Msg.MIXLY_Set_it_to_purple,"33"],[lt.Msg.MIXLY_Set_it_to_white,"34"],[lt.Msg.MIXLY_Turn_on_the_fan,"35"],[lt.Msg.MIXLY_Turn_off_the_fan,"36"],[lt.Msg.MIXLY_First_gear,"37"],[lt.Msg.MIXLY_Wind_speed_second,"38"],[lt.Msg.MIXLY_Third_gear,"39"],[lt.Msg.MIXLY_Previous,"40"],[lt.Msg.MIXLY_Next_page,"41"],[lt.Msg.MIXLY_Show_smiley_face,"42"],[lt.Msg.MIXLY_Show_crying_face,"43"],[lt.Msg.MIXLY_Show_love,"44"],[lt.Msg.MIXLY_Close_display,"45"],[lt.Msg.MIXLY_Start_execution,"46"],[lt.Msg.MIXLY_FORWARD,"47"],[lt.Msg.MIXLY_BACKWARD,"48"],[lt.Msg.MIXLY_TURNLEFT,"49"],[lt.Msg.MIXLY_TURNRIGHT,"50"],[lt.Msg.MIXLY_STOP,"51"],[lt.Msg.MIXLY_Accelerate,"52"],[lt.Msg.MIXLY_retard,"53"],[lt.Msg.ROTATION_FORWARD,"54"],[lt.Msg.ROTATION_BACKWARD,"55"],[lt.Msg.MIXLY_Query_temperature,"56"],[lt.Msg.MIXLY_Query_humidity,"57"],[lt.Msg.MIXLY_Query_brightness,"58"],[lt.Msg.MIXLY_Query_sound,"59"],[lt.Msg.MIXLY_Query_time,"60"],[lt.Msg.MIXLY_Query_distance,"61"],[lt.Msg.MIXLY_Query_pressure,"62"],[lt.Msg.MIXLY_Query_key,"63"],[lt.Msg.MIXLY_Query_touch,"64"],[lt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(lt.Msg.MIXLY_WHETHER+lt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},BR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[lt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[lt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},GR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MP3_PLAY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[lt.Msg.MIXLY_WIND_SPEED,"154"],[lt.Msg.MIXLY_HYETAL,"155"],[lt.Msg.MIXLY_TEMPERATURE,"156"],[lt.Msg.MIXLY_Humidity,"157"],[lt.Msg.MIXLY_Altitude,"158"],[lt.Msg.MIXLY_SOUND,"159"],[lt.Msg.MIXLY_BRIGHTNESS,"160"],[lt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[lt.Msg.MIXLY_SERVO,"162"],[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[lt.Msg.MIXLY_BUTTON2,"164"],[lt.Msg.MIXLY_ESP32_TOUCH,"165"],[lt.Msg.MIXLY_PAY,"166"],[lt.Msg.MIXLY_CARSH_CHANGE,"167"],[lt.Msg.MIXLY_COUNTDOWN,"168"],[lt.Msg.MIXLY_TIMING,"169"],[lt.Msg.MIXLY_AT_THE_MOMENT,"170"],[lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[lt.Msg.MIXLY_FORWARD,"172"],[lt.Msg.MIXLY_BACKWARD,"173"],[lt.Msg.MIXLY_TURNLEFT,"174"],[lt.Msg.MIXLY_TURNRIGHT,"175"],[lt.Msg.MIXLY_STOP,"176"],[lt.Msg.MIXLY_Accelerate,"177"],[lt.Msg.MIXLY_retard,"178"],[lt.Msg.ROTATION_FORWARD,"179"],[lt.Msg.ROTATION_BACKWARD,"180"],[lt.Msg.TUPLE_JOIN,"181"],[lt.Msg.MIXLY_SHOW,"182"],[lt.Msg.MIXLY_LAMPLIGHT,"183"],[lt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(lt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(lt.Msg.MIXLY_UNIT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[lt.Msg.MIXLY_YEAR,"117"],[lt.Msg.MIXLY_MONTH,"118"],[lt.Msg.MIXLY_DAY,"119"],[lt.Msg.MIXLY_HOUR,"120"],[lt.Msg.MIXLY_MINUTE,"121"],[lt.Msg.MIXLY_SECOND,"122"],[lt.Msg.MIXLY_WEEK2,"123"],[lt.Msg.MIXLY_RMB_UNIT,"124"],[lt.Msg.blockpy_setheading_degree,"125"],[lt.Msg.MIXLY_GEAR,"126"],[lt.Msg.MIXLY_LAYER,"127"],[lt.Msg.MIXLY_GRAM,"128"],[lt.Msg.MIXLY_METER,"129"],[lt.Msg.MIXLY_CENTIMETER,"130"],[lt.Msg.MIXLY_MILLIMETER,"131"],[lt.Msg.MIXLY_LUMEN,"132"],[lt.Msg.MIXLY_DECIBEL,"133"],[lt.Msg.MIXLY_hectopascal,"134"],[lt.Msg.MIXLY_PERCENT,"135"],[lt.Msg.MIXLY_CELSIUS,"136"],[lt.Msg.MIXLY_METER_PER_SEC,"137"],[lt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[lt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[lt.Msg.MIXLY_SUCCESS,"140"],[lt.Msg.MIXLY_FAILED,"141"],[lt.Msg.MIXLY_WRONG,"142"],[lt.Msg.MIXLY_GOOD,"143"],[lt.Msg.MIXLY_blockpy_set_add,"144"],[lt.Msg.MIXLY_DECREASE,"145"],[lt.Msg.COLOUR_RGB_RED,"146"],[lt.Msg.COLOUR_RGB_ORANGE,"147"],[lt.Msg.COLOUR_YELLOW,"148"],[lt.Msg.COLOUR_RGB_GREEN,"149"],[lt.Msg.COLOUR_CYAN,"150"],[lt.Msg.COLOUR_RGB_BLUE,"151"],[lt.Msg.COLOUR_RGB_PURPLE,"152"],[lt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},UR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXLY_SYSTEM+lt.Msg.MIXLY_CMD).appendField(new lt.FieldDropdown([[lt.Msg.MILXY_ENTER_WAKE_UP,"1"],[lt.Msg.MIXLY_INCREASE_VOLUME,"202"],[lt.Msg.MIXLY_REDUCE_VOLUME,"203"],[lt.Msg.MIXLY_MAX_VOLUME,"204"],[lt.Msg.MIXLY_MINIMUM,"205"],[lt.Msg.MIXLY_OPEN_RESPONSE,"206"],[lt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[lt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[lt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[lt.Msg.MIXLY_ESP32_MAX30102_IR+","+lt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},HR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[lt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[lt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},kR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},WR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.HTML_COLOUR+lt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET+lt.Msg.HTML_COLOUR,"[2]"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_IR_STRENGTH,"[1]"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},KR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.HTML_COLOUR+lt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET+"RGB"+lt.Msg.HTML_COLOUR,"0"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_RGB_RAW,"1"],[lt.Msg.MIXLY_GET_ENV_LIGHT+lt.Msg.MIXLY_BRIGHTNESS,"2"],[lt.Msg.GET_IR_STRENGTH+lt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},JR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[lt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},QR={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},qR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},zR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},jR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},$R={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ZR={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},tc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ec={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MIXGOPE_FIELD+lt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[lt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ic={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_shake,"shake"],[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"],[lt.Msg.MIXLY_MICROBIT_face_up,"face up"],[lt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=lt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=lt.Msg.MSG.catSensor,s=lt.Msg.MIXLY_MICROBIT_JS_STATE,o=lt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:lt.Msg.MIXLY_MICROBIT_shake,up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT,"face up":lt.Msg.MIXLY_MICROBIT_face_up,"face down":lt.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},nc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},sc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_GET+lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},_c={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},pc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_GETTEMPERATUE)}},ac={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return lt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},uc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},rc={init:function(){this.setColour(hR),this.appendValueInput("SPISUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},dc={init:function(){this.setColour(hR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[lt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},lc={init:function(){this.setColour(hR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ic={init:function(){this.setColour(hR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Tc={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(lt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Mc={init:function(){this.setColour(hR),this.appendDummyInput().appendField(lt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(lt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(lt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},hc={init:function(){this.setColour(hR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RFID_SCAN_OK,"0"],[lt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[lt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},mc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},Ec={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Oc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Rc={init:function(){this.setColour(hR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new lt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+", font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},YF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},XF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},bF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},yF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},xF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},VF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},BF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},GF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},UF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},wF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},HF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},kF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},WF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},KF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},JF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},QF=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},qF=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},zF=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},jF=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n"}},$F=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},ZF=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},tP=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},eP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},iP=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},nP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},sP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},oP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},_P=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},pP=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),o=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),_=this.getFieldValue("key");return"TM1650"==_?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+_+"(clk="+s+",dio="+o+")\n"):"TM1637"==_&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+_+"(clk="+s+",dio="+o+")\n"),i},aP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},uP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},rP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},dP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},lP=function(t,e){e.definitions_.import_st7789="import st7789";var i=It.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+_+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},IP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+o+", size="+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+o+", size="+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},TP=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},MP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},hP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},mP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},EP=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},OP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},RP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+o+")\n"},cP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},gP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},CP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},SP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},AP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=this.getFieldValue("driver"),_=It.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(_)>=0?"0x700000":["mixgo_sant"].indexOf(_)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+o+")\n"},LP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},NP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},DP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},fP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},FP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},PP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},vP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},YP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},XP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},bP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},yP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},xP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},VP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},BP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},GP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},UP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},wP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+o+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+o+")\n"},HP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},kP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.frame("+n+", delay="+s+")\n"}return o},WP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},KP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.scroll("+n+", speed="+s+", space="+o+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+o+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.scroll("+n+", speed="+s+", space="+o+")\n"}return _},JP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},QP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},qP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},zP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===It.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},jP=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},bv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},yv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},xv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},Vv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},Bv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Gv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Uv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},wv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),_=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+",sync="+_+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+_+")\n"}return p},Hv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var o="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o="onboard_tft.fill(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+",sync="+s+")\n"}return o},kv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+", "+s+", "+o+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Wv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Kv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},Jv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},Qv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},qv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},zv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},jv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},$v=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Zv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+e.valueToCode(this,"direct",e.ORDER_ATOMIC)+")\n"},tY=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},eY=UP,iY=_v,nY=nv,sY=_v,oY=pv,_Y=ZP,pY=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},aY=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},uY=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},RB=function(){return"control.reset()\n"},cB=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||It.Profile.default.serial)+")\n"},gB=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||It.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||It.Profile.default.serial)+")\n"},CB=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||It.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||It.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},SB=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},AB=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},LB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},NB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},DB=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},fB=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},FB=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},PB=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},vB=function(){return"while True:\n pass\n"},YB=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},XB=function(t,e){return e.definitions_.import_os="import os","os.uname()"},bB=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},yB=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},xB=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},VB=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},BB=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},GB=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},UB=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},wB=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},HB=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},kB=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},WB=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},KB=GB,JB=UB,QB=BB,qB=bB,zB=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},jB=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},$B=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ZB=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},tG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},eG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},iG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},nG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},sG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},oG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},_G=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},pG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},aG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},uG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},rG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},dG='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:lG}=It,IG=lG.render(dG,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:TG}=It,MG=TG.render(dG,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:hG}=It,mG=hG.render(dG,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),EG=new lt.Generator("Python");EG.INDENT=" ",EG.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),EG.ORDER_ATOMIC=0,EG.ORDER_COLLECTION=1,EG.ORDER_STRING_CONVERSION=1,EG.ORDER_UNARY_POSTFIX=1,EG.ORDER_UNARY_PREFIX=2,EG.ORDER_MEMBER=2.1,EG.ORDER_FUNCTION_CALL=2.2,EG.ORDER_EXPONENTIATION=3,EG.ORDER_UNARY_SIGN=4,EG.ORDER_BITWISE_NOT=4,EG.ORDER_MULTIPLICATIVE=5,EG.ORDER_ADDITIVE=6,EG.ORDER_BITWISE_SHIFT=7,EG.ORDER_BITWISE_AND=8,EG.ORDER_BITWISE_XOR=9,EG.ORDER_BITWISE_OR=10,EG.ORDER_RELATIONAL=11,EG.ORDER_EQUALITY=11,EG.ORDER_LOGICAL_NOT=12,EG.ORDER_LOGICAL_AND=13,EG.ORDER_LOGICAL_OR=14,EG.ORDER_ASSIGNMENT=14,EG.ORDER_CONDITIONAL=15,EG.ORDER_LAMBDA=16,EG.ORDER_NONE=99,EG.ORDER_OVERRIDES=[[EG.ORDER_FUNCTION_CALL,EG.ORDER_MEMBER],[EG.ORDER_FUNCTION_CALL,EG.ORDER_FUNCTION_CALL],[EG.ORDER_MEMBER,EG.ORDER_MEMBER],[EG.ORDER_MEMBER,EG.ORDER_FUNCTION_CALL]],EG.init=function(){EG.PASS=this.INDENT+"pass\n",EG.definitions_=Object.create(null),EG.functionNames_=Object.create(null),EG.setups_=Object.create(null),EG.loops_=Object.create(null),EG.codeEnd_=Object.create(null),EG.variableDB_?EG.variableDB_.reset():EG.variableDB_=new mt(EG.RESERVED_WORDS_)},EG.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in EG.functions_)_.push(EG.functions_[s]);_.length&&_.push("\n");var p=[];for(var s in EG.setups_)p.push(EG.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in EG.loops_)a.push(EG.loops_[s]);var u=[];for(var s in EG.codeEnd_)u.push(EG.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n"),r},EG.scrubNakedValue=function(t){return t+"\n"},EG.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},EG.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},EG.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=lt.utils.string.wrap(o,EG.COMMENT_WRAP-3),n+=EG.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const OG={};OG["飞乙"]={description:"MicroPython[ESP32C3 Bitbot]",digital_pin:It.Profile.generate(["0-11","18-21"]),input_pin:It.Profile.generate(["0-11","18-21"]),output_pin:It.Profile.generate(["0-11","18-21"]),pwm_input:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:It.Profile.generate(["0-5"],"adc","adc"),pwm_output:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:It.Profile.generate(["0-5"],"adc","adc"),espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),digital:It.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:It.Profile.generate(["0-11","18-21"]),pwm:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:It.Profile.generate(["0-5"]),analog:It.Profile.generate(["0-5"],"adc","adc"),button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]],extern_addr:It.Profile.generate(["0-1"]),als_num:It.Profile.generate(["0-3"])},OG["超霸大师"]={description:"MicroPython[ESP32 Mixbot]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["P","button_p"],["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]],extern_addr:It.Profile.generate(["0-3"])},OG["ESP32 Generic"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin11","pin11"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},OG["机器人大师"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["p","button_p"],["cw","button_cw"],["ccw","button_ccw"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]};const RG=OG,cG=230,gG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital),"PIN"),this.setOutput(!0)}},CG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},SG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},AG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},LG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},NG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},DG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},fG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},FG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},PG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},vG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},YG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},XG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},bG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},yG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},xG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},VG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},BG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog),"PIN"),this.setOutput(!0)}},GG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},UG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.dac),"PIN"),this.setOutput(!0)}},wG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},HG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},kG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm),"PIN"),this.setOutput(!0)}},WG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},KG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},JG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch),"PIN"),this.setOutput(!0)}},QG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},qG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},zG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},jG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.imglist),"PIN"),this.setOutput(!0)}},$G={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.playlist),"PIN"),this.setOutput(!0)}},ZG={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},tU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},eU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},iU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},nU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},sU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},oU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},_U={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},pU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},aU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},uU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},rU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.one_more),"PIN"),this.setOutput(!0)}},dU={init:function(){this.setColour(cG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},lU=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},IU=lU,TU=lU,MU=lU,hU=lU,mU=lU,EU=lU,OU=lU,RU=lU,cU=lU,gU=lU,CU=lU,SU=lU,AU=lU,LU=lU,NU=lU,DU=lU,fU=lU,FU=lU,PU=lU,vU=lU,YU=lU,XU=lU,bU=lU,yU=lU,xU=lU,VU=lU,BU=lU,GU=lU,UU=lU,wU=lU,HU=lU,kU=lU,WU=lU,KU=lU;Object.assign(lt.Variables,Mt),Object.assign(lt.Procedures,Pu),Object.assign(lt.Lang.ZhHans,pt),Object.assign(lt.Lang.ZhHant,at),Object.assign(lt.Lang.En,ut),lt.Python=vu,lt.generator=vu,It.Profile.default={},Object.assign(It.Profile,RG),Object.assign(It.Profile.default,RG["ESP32 Generic"]),Object.assign(lt.Blocks,e,i,n,s,o,_,p,a,u,r,d,l,I,y,w,U,v,x,H,f,G,B,V,F,D,N,X,Y,b,P,rt),Object.assign(lt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,Z,ot,st,q,tt,_t,K,nt,it,et,J,W,k,j,z,$,Q,dt)})(); \ No newline at end of file diff --git a/boards/default/micropython_robot/main.bundle.f2495e91.js b/boards/default/micropython_robot/main.bundle.f2495e91.js deleted file mode 100644 index dcb2f9d0..00000000 --- a/boards/default/micropython_robot/main.bundle.f2495e91.js +++ /dev/null @@ -1,21 +0,0 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Ct,controls_typeLists:()=>St,lists_zip:()=>At,lists_zip_container:()=>Lt,lists_zip_item:()=>Nt,unpack_iterable_object:()=>Dt,variables_change:()=>ct,variables_get:()=>Ot,variables_global:()=>gt,variables_set:()=>Rt});var i={};t.r(i),t.d(i,{base_setup:()=>Pt,controls_delay:()=>vt,controls_end_program:()=>Yt,controls_except:()=>Kt,controls_finally:()=>Jt,controls_flow_statements:()=>Bt,controls_for:()=>Gt,controls_forEach:()=>yt,controls_for_range:()=>Ut,controls_if:()=>Xt,controls_if_else:()=>kt,controls_if_elseif:()=>Ht,controls_if_if:()=>wt,controls_lambda:()=>qt,controls_main:()=>Ft,controls_pass:()=>zt,controls_range:()=>bt,controls_repeat_ext:()=>Qt,controls_thread:()=>jt,controls_try:()=>Wt,controls_try_finally:()=>Vt,controls_whileUntil:()=>xt,datetime_fromtimestamp:()=>ne,do_while:()=>$t,garbage_collection:()=>Zt,gene_unique_identifier:()=>se,get_mem_alloc:()=>te,get_mem_free:()=>ee,get_unique_identifier:()=>ie});var n={};t.r(n),t.d(n,{base_map:()=>Ae,generate_cartesian_product:()=>Ne,math_arithmetic:()=>ue,math_bit:()=>de,math_constant:()=>pe,math_constant_mp:()=>ae,math_constrain:()=>Ee,math_dec:()=>Ie,math_degree_to_radian:()=>fe,math_indexer_number:()=>Re,math_map:()=>Oe,math_max_min:()=>Me,math_number:()=>_e,math_number_base_conversion:()=>he,math_radian_to_degree:()=>De,math_random:()=>me,math_random_seed:()=>ce,math_round:()=>ge,math_selfcalcu:()=>re,math_to_int:()=>Te,math_trig:()=>le,text_to_number:()=>Ce,text_to_number_skulpt:()=>Se,turn_to_int:()=>Le});var s={};t.r(s),t.d(s,{ascii_to_char:()=>ye,char_to_ascii:()=>xe,number_to_text:()=>Ve,os_system:()=>ui,text:()=>Pe,text_bytes:()=>Ye,text_capital:()=>Je,text_center:()=>Qe,text_char:()=>Xe,text_char_at:()=>Ue,text_char_at2:()=>Ge,text_char_at3:()=>oi,text_compareTo:()=>si,text_compare_to:()=>Ke,text_create_with_container:()=>ei,text_create_with_item:()=>ii,text_encode:()=>pi,text_equals_starts_ends:()=>We,text_eval:()=>ai,text_find:()=>qe,text_format:()=>ti,text_format_noreturn:()=>_i,text_join:()=>be,text_join_seq:()=>ze,text_length:()=>Be,text_random_char:()=>we,text_replace:()=>je,text_split:()=>$e,text_strip:()=>Ze,text_substring:()=>ke,text_substring2:()=>He,text_substring3:()=>ni,text_textarea:()=>ve});var o={};t.r(o),t.d(o,{ENUMERATE:()=>Wi,content_in_lists:()=>Ji,enumerate:()=>Ki,list_many_input:()=>vi,list_tolist:()=>yi,list_tolist2:()=>ki,list_trig:()=>fi,lists_2d_get_col_row_data:()=>Ti,lists_2d_get_data_with_col_row:()=>Ii,lists_append_extend:()=>Ri,lists_change_to:()=>Pi,lists_change_to_general:()=>Xi,lists_clear:()=>Ai,lists_create_with:()=>Mi,lists_create_with2:()=>xi,lists_create_with_container:()=>mi,lists_create_with_item:()=>Ei,lists_create_with_noreturn:()=>Yi,lists_create_with_text:()=>hi,lists_create_with_text2:()=>Vi,lists_del_general:()=>bi,lists_find:()=>Di,lists_getIndex3:()=>Bi,lists_getSublist3:()=>Gi,lists_get_index:()=>di,lists_get_random_item:()=>ci,lists_get_random_sublist:()=>gi,lists_get_sublist:()=>li,lists_insert_value:()=>Ci,lists_insert_value2:()=>wi,lists_pop:()=>Ni,lists_remove_at:()=>Li,lists_remove_at2:()=>Hi,lists_reverse:()=>Si,lists_setIndex3:()=>Ui,lists_set_index:()=>Oi,lists_sort:()=>Fi});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>rn,dicts_add_or_change:()=>en,dicts_clear:()=>on,dicts_create_with:()=>qi,dicts_create_with_container:()=>zi,dicts_create_with_item:()=>ji,dicts_create_with_noreturn:()=>In,dicts_deldict:()=>un,dicts_delete:()=>nn,dicts_get:()=>Zi,dicts_get_default:()=>tn,dicts_items:()=>_n,dicts_keys:()=>$i,dicts_length:()=>an,dicts_pop:()=>dn,dicts_setdefault:()=>ln,dicts_to_json:()=>Mn,dicts_to_json2:()=>En,dicts_to_to:()=>mn,dicts_todict:()=>Tn,dicts_update:()=>sn,dicts_values:()=>pn,json_to_dicts:()=>hn});var p={};t.r(p),t.d(p,{logic_boolean:()=>Sn,logic_compare:()=>Rn,logic_compare_continous:()=>cn,logic_is:()=>Dn,logic_is_in:()=>Nn,logic_negate:()=>Cn,logic_null:()=>An,logic_operation:()=>gn,logic_tobool:()=>fn,logic_true_or_false:()=>Ln});var a={};t.r(a),t.d(a,{sdcard_mount:()=>$n,sdcard_use_spi_init:()=>jn,storage_can_write_ornot:()=>Vn,storage_change_dir:()=>qn,storage_close_file:()=>Gn,storage_delete_file:()=>wn,storage_file_seek:()=>Wn,storage_file_tell:()=>kn,storage_file_write:()=>Xn,storage_fileopen:()=>Pn,storage_fileopen_new:()=>vn,storage_fileopen_new_encoding:()=>Yn,storage_get_a_line:()=>xn,storage_get_contents:()=>yn,storage_get_contents_without_para:()=>bn,storage_get_current_dir:()=>Kn,storage_get_file_size:()=>Hn,storage_get_filename:()=>Bn,storage_is_file:()=>zn,storage_list_all_files:()=>Un,storage_make_dir:()=>Jn,storage_open_file_with_os:()=>Fn,storage_rename:()=>Qn});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>ns,procedures_callreturn:()=>ss,procedures_defnoreturn:()=>Zn,procedures_defreturn:()=>ts,procedures_ifreturn:()=>os,procedures_mutatorarg:()=>is,procedures_mutatorcontainer:()=>es,procedures_return:()=>_s});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Es,tuple_create_llm_params:()=>Ns,tuple_create_with:()=>as,tuple_create_with_container:()=>us,tuple_create_with_item:()=>rs,tuple_create_with_noreturn:()=>gs,tuple_create_with_text2:()=>ds,tuple_create_with_text_return:()=>ls,tuple_del:()=>Ms,tuple_find:()=>Os,tuple_getIndex:()=>Is,tuple_getSublist:()=>cs,tuple_get_random_item:()=>Ss,tuple_get_sublist:()=>Cs,tuple_input:()=>Ls,tuple_join:()=>hs,tuple_length:()=>Ts,tuple_max:()=>ms,tuple_totuple:()=>As,tuple_trig:()=>Rs});var d={};t.r(d),t.d(d,{set_add_discard:()=>xs,set_clear:()=>Xs,set_create_with:()=>fs,set_create_with_container:()=>Fs,set_create_with_item:()=>Ps,set_create_with_text_return:()=>Gs,set_length:()=>vs,set_operate:()=>bs,set_operate_update:()=>ys,set_pop:()=>Ys,set_sub:()=>Vs,set_toset:()=>Us,set_update:()=>Bs});var l={};t.r(l),t.d(l,{html_content:()=>Ks,html_content_more:()=>Js,html_document:()=>Hs,html_form:()=>qs,html_head_body:()=>Ws,html_style:()=>Qs,html_style_color:()=>js,html_style_content:()=>zs,html_text:()=>$s,html_title:()=>ks});var I={};t.r(I),t.d(I,{attribute_access:()=>Io,function_call:()=>uo,function_call_container:()=>ro,function_call_item:()=>lo,raw_block:()=>eo,raw_empty:()=>no,raw_expression:()=>io,raw_table:()=>to,text_comment:()=>so,text_print_multiple:()=>_o,text_print_multiple_container:()=>po,text_print_multiple_item:()=>ao,type_check:()=>oo});var T={};t.r(T),t.d(T,{controls_type:()=>Eo,controls_typeLists:()=>Oo,lists_zip:()=>Ro,unpack_iterable_object:()=>co,variables_change:()=>ho,variables_get:()=>To,variables_global:()=>mo,variables_set:()=>Mo});var M={};t.r(M),t.d(M,{Panic_with_status_code:()=>Po,base_setup:()=>Co,controls_delay:()=>Fo,controls_flow_statements:()=>fo,controls_for:()=>Lo,controls_forEach:()=>yo,controls_for_range:()=>No,controls_if:()=>So,controls_interrupts:()=>Xo,controls_lambda:()=>Vo,controls_main:()=>go,controls_millis:()=>vo,controls_nointerrupts:()=>bo,controls_pass:()=>Go,controls_range:()=>xo,controls_repeat:()=>Qo,controls_repeat_ext:()=>Ho,controls_thread:()=>Uo,controls_try_finally:()=>Ao,controls_whileUntil:()=>Do,datetime_fromtimestamp:()=>qo,do_while:()=>wo,garbage_collection:()=>ko,gene_unique_identifier:()=>zo,get_mem_alloc:()=>Wo,get_mem_free:()=>Ko,get_unique_identifier:()=>Jo,reset:()=>Yo,time_sleep:()=>Bo});var h={};t.r(h),t.d(h,{base_map:()=>m_,generate_cartesian_product:()=>O_,math_arithmetic:()=>e_,math_bit:()=>t_,math_constant:()=>$o,math_constant_mp:()=>Zo,math_constrain:()=>r_,math_dec:()=>o_,math_degree_to_radian:()=>c_,math_indexer_number:()=>I_,math_map:()=>u_,math_max_min:()=>p_,math_number:()=>jo,math_number_base_conversion:()=>d_,math_radian_to_degree:()=>R_,math_random:()=>a_,math_random_seed:()=>l_,math_round:()=>T_,math_selfcalcu:()=>i_,math_single:()=>n_,math_to_int:()=>__,math_trig:()=>s_,text_to_number:()=>M_,text_to_number_skulpt:()=>h_,turn_to_int:()=>E_});var m={};t.r(m),t.d(m,{ascii_to_char:()=>N_,char_to_ascii:()=>D_,number_to_text:()=>f_,os_system:()=>$_,text:()=>g_,text_bytes:()=>S_,text_capital:()=>V_,text_center:()=>B_,text_char:()=>A_,text_char_at:()=>v_,text_char_at2:()=>P_,text_char_at3:()=>q_,text_compareTo:()=>Q_,text_compare_to:()=>b_,text_encode:()=>z_,text_equals_starts_ends:()=>X_,text_eval:()=>j_,text_find:()=>G_,text_format:()=>W_,text_format_noreturn:()=>K_,text_join:()=>L_,text_join_seq:()=>U_,text_length:()=>F_,text_random_char:()=>Y_,text_replace:()=>w_,text_split:()=>H_,text_strip:()=>k_,text_substring:()=>x_,text_substring2:()=>y_,text_substring3:()=>J_,text_textarea:()=>C_});var E={};t.r(E),t.d(E,{content_in_lists:()=>vp,enumerate:()=>Pp,list_many_input:()=>Ep,list_tolist:()=>fp,list_tolist2:()=>Fp,list_trig:()=>Mp,lists_2d_get_col_row_data:()=>ep,lists_2d_get_data_with_col_row:()=>tp,lists_append_extend:()=>_p,lists_change_to:()=>mp,lists_change_to_general:()=>Rp,lists_clear:()=>dp,lists_create_with:()=>ip,lists_create_with2:()=>gp,lists_create_with_noreturn:()=>Op,lists_create_with_text:()=>np,lists_create_with_text2:()=>Cp,lists_del_general:()=>cp,lists_find:()=>lp,lists_getIndex3:()=>Sp,lists_getSublist3:()=>Ap,lists_get_index:()=>sp,lists_get_random_item:()=>pp,lists_get_random_sublist:()=>ap,lists_get_sublist:()=>Z_,lists_insert_value:()=>up,lists_insert_value2:()=>Np,lists_pop:()=>Tp,lists_remove_at:()=>Ip,lists_remove_at2:()=>Dp,lists_reverse:()=>rp,lists_setIndex3:()=>Lp,lists_set_index:()=>op,lists_sort:()=>hp});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>Wp,dicts_add_or_change:()=>xp,dicts_clear:()=>Gp,dicts_create_with:()=>Yp,dicts_create_with_noreturn:()=>Qp,dicts_deldict:()=>kp,dicts_delete:()=>Vp,dicts_get:()=>bp,dicts_get_default:()=>yp,dicts_items:()=>Up,dicts_keys:()=>Xp,dicts_length:()=>Hp,dicts_pop:()=>Kp,dicts_setdefault:()=>Jp,dicts_to_json:()=>zp,dicts_to_json2:()=>Zp,dicts_to_to:()=>$p,dicts_todict:()=>qp,dicts_update:()=>Bp,dicts_values:()=>wp,json_to_dicts:()=>jp});var R={};t.r(R),t.d(R,{logic_boolean:()=>sa,logic_compare:()=>ta,logic_compare_continous:()=>ea,logic_is:()=>aa,logic_is_in:()=>pa,logic_negate:()=>na,logic_null:()=>oa,logic_operation:()=>ia,logic_tobool:()=>ua,logic_true_or_false:()=>_a});var c={};t.r(c),t.d(c,{sdcard_mount:()=>va,sdcard_use_spi_init:()=>Pa,storage_can_write_ornot:()=>Ea,storage_change_dir:()=>La,storage_close_file:()=>Ra,storage_delete_file:()=>ga,storage_file_seek:()=>Aa,storage_file_tell:()=>Sa,storage_file_write:()=>Ta,storage_fileopen:()=>da,storage_fileopen_new:()=>la,storage_fileopen_new_encoding:()=>Ia,storage_get_a_line:()=>ma,storage_get_contents:()=>ha,storage_get_contents_without_para:()=>Ma,storage_get_current_dir:()=>Na,storage_get_file_size:()=>Ca,storage_get_filename:()=>Oa,storage_is_file:()=>Fa,storage_list_all_files:()=>ca,storage_make_dir:()=>Da,storage_open_file_with_os:()=>ra,storage_rename:()=>fa});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>ya,procedures_callreturn:()=>ba,procedures_defnoreturn:()=>Xa,procedures_defreturn:()=>Ya,procedures_ifreturn:()=>xa,procedures_return:()=>Va});var C={};t.r(C),t.d(C,{tuple_change_to:()=>Ja,tuple_create_llm_params:()=>iu,tuple_create_with:()=>Ba,tuple_create_with_noreturn:()=>ja,tuple_create_with_text2:()=>Ga,tuple_create_with_text_return:()=>Ua,tuple_del:()=>ka,tuple_find:()=>Qa,tuple_getIndex:()=>wa,tuple_getSublist:()=>za,tuple_get_random_item:()=>Za,tuple_get_sublist:()=>$a,tuple_input:()=>eu,tuple_join:()=>Wa,tuple_length:()=>Ha,tuple_max:()=>Ka,tuple_totuple:()=>tu,tuple_trig:()=>qa});var S={};t.r(S),t.d(S,{set_add_discard:()=>uu,set_clear:()=>_u,set_create_with:()=>nu,set_create_with_text_return:()=>lu,set_length:()=>su,set_operate:()=>pu,set_operate_update:()=>au,set_pop:()=>ou,set_sub:()=>ru,set_toset:()=>Iu,set_update:()=>du});var A={};t.r(A),t.d(A,{html_content:()=>mu,html_content_more:()=>Eu,html_document:()=>Tu,html_form:()=>Ru,html_head_body:()=>hu,html_style:()=>Ou,html_style_content:()=>cu,html_text:()=>gu,html_title:()=>Mu});var L={};t.r(L),t.d(L,{attribute_access:()=>fu,function_call:()=>Du,raw_block:()=>Cu,raw_empty:()=>Au,raw_expression:()=>Su,raw_table:()=>Lu,type_check:()=>Nu});var N={};t.r(N),t.d(N,{PIN_init:()=>yr,actuator_extern_get_led_bright:()=>Wu,actuator_extern_get_led_state:()=>Ku,actuator_extern_led_bright:()=>ku,actuator_extern_led_brightness:()=>Ju,actuator_ms32006_dcmotor:()=>ir,actuator_ms32006_init:()=>er,actuator_ms32006_stepper:()=>nr,actuator_neopixel_init:()=>sr,actuator_neopixel_rgb:()=>or,actuator_neopixel_rgb_all:()=>_r,actuator_neopixel_rgb_show_all_chase:()=>ur,actuator_neopixel_rgb_show_all_rainbow:()=>ar,actuator_neopixel_write:()=>pr,actuator_use_uart_init:()=>rr,backstage_esp32_music_play_list:()=>Vu,esp32_music_get_tempo_extern:()=>Gu,esp32_music_pitch:()=>bu,esp32_music_pitch_init:()=>Xu,esp32_music_pitch_with_time:()=>yu,esp32_music_play_list:()=>xu,esp32_music_reset_extern:()=>Uu,esp32_music_set_tempo_extern:()=>Bu,esp32_music_stop:()=>wu,esp32_set_music_volume:()=>Hu,mixbot_actuator_extern_get_addr:()=>Xr,mixbot_actuator_extern_set_addr:()=>br,mixbot_addr_extern:()=>cr,parrot_PIN_init:()=>Gr,parrot_move_speed:()=>Ur,pin_led_bright:()=>xr,player_insert_music:()=>hr,player_play_music:()=>Mr,player_set_mode:()=>Tr,player_set_play:()=>lr,player_set_volume:()=>Ir,player_whether_stop:()=>dr,robot_led_extern:()=>Ar,robot_led_extern_get_value:()=>Lr,robot_motor_extern:()=>gr,robot_motor_extern_get_speed:()=>Cr,robot_servo_extern_absolute_run:()=>Fr,robot_servo_extern_get_status:()=>Nr,robot_servo_extern_relative_continue:()=>Yr,robot_servo_extern_relative_origin:()=>Pr,robot_servo_extern_relative_run:()=>vr,robot_servo_extern_stop:()=>fr,robot_servo_extern_stop_mode:()=>Dr,robot_traffic_light_extern:()=>Sr,servo_PIN_init:()=>Vr,servo_get_angle:()=>Zu,servo_get_speed:()=>tr,servo_init:()=>Qu,servo_move:()=>qu,servo_move_angle:()=>Br,servo_set_angle:()=>ju,servo_set_speed:()=>$u,servo_speed_360:()=>zu,syn6288_builtin_voice:()=>Or,syn6288_get_voice:()=>Er,syn6288_set_voice:()=>mr,syn6288_tts_play:()=>Rr});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Rd,actuator_dc_motor_stop:()=>cd,actuator_get_led_bright:()=>Kr,actuator_get_led_state:()=>Jr,actuator_led_bright:()=>Wr,actuator_led_brightness:()=>Qr,actuator_mixbot_buzzer_on_off:()=>Ld,actuator_mixgo_nova_mic_get:()=>Pd,actuator_mixgo_nova_mic_set:()=>Fd,actuator_mixgo_nova_onboard_music_pitch:()=>xd,actuator_mixgo_nova_onboard_music_stop:()=>Vd,actuator_mixgo_nova_play_audio:()=>bd,actuator_mixgo_nova_play_online_audio:()=>yd,actuator_mixgo_nova_record_audio:()=>Xd,actuator_mixgo_nova_voice_get:()=>Yd,actuator_mixgo_nova_voice_set:()=>vd,actuator_mixgo_zero_led_color:()=>qr,actuator_onboard_neopixel_rgb:()=>ed,actuator_onboard_neopixel_rgb_all:()=>id,actuator_onboard_neopixel_rgb_show_all_chase:()=>sd,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>nd,actuator_onboard_neopixel_write:()=>od,actuator_rm_onboard_neopixel_rgb:()=>_d,actuator_rm_onboard_neopixel_rgb_all:()=>pd,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>ad,actuator_stepper_keep:()=>Ed,actuator_stepper_stop:()=>Od,analog_ble_keyboard_init:()=>jd,analog_ble_keyboard_input:()=>tl,analog_ble_keyboard_mouse_init:()=>al,analog_ble_keyboard_mouse_input:()=>ll,analog_ble_keyboard_mouse_send_battery:()=>dl,analog_ble_keyboard_mouse_str:()=>Il,analog_ble_keyboard_send_battery:()=>il,analog_ble_keyboard_str:()=>el,analog_ble_mouse_init:()=>nl,analog_ble_mouse_input:()=>_l,analog_ble_mouse_keyboard_input:()=>Tl,analog_ble_mouse_send_battery:()=>pl,analog_keyboard_input:()=>wd,analog_keyboard_str:()=>zd,analog_mouse_input:()=>Qd,backstage_onboard_music_play_list:()=>hd,bitbot_motor:()=>fd,bitbot_move:()=>Nd,bitbot_stop:()=>Dd,ble_keyboard_connect:()=>Zd,ble_keyboard_get_mac:()=>$d,ble_keyboard_mouse_connect:()=>rl,ble_keyboard_mouse_get_mac:()=>ul,ble_mouse_connect:()=>ol,ble_mouse_get_mac:()=>sl,cc_number:()=>td,educore_ble_keyboard_input:()=>Sl,educore_ble_sensor_connected:()=>Cl,educore_ble_sensor_init:()=>gl,educore_buzzer:()=>Ml,educore_buzzer_play_tone:()=>hl,educore_buzzer_play_tone_time:()=>ml,educore_buzzer_stop:()=>El,educore_neopixel_clear:()=>cl,educore_neopixel_rgb:()=>Rl,educore_rgb_light:()=>Ol,esp32_music_get_tempo:()=>rd,esp32_music_reset:()=>dd,esp32_music_set_tempo:()=>ud,esp32_onboard_music_pitch:()=>ld,esp32_onboard_music_pitch_with_time:()=>Id,esp32_onboard_music_play_list:()=>Md,esp32_onboard_music_stop:()=>Td,general_key:()=>kd,general_key_tuple:()=>Wd,generalkey_container:()=>Kd,generalkey_create_with_item:()=>Jd,get_keyboard_light:()=>Al,get_power_output:()=>Gd,ledswitch:()=>kr,mixbot_motor:()=>Ad,mixbot_motor_status:()=>gd,mixbot_move:()=>Cd,mixbot_stop:()=>Sd,mouse_key:()=>qd,number:()=>Hr,record_audio:()=>Nl,rm_actuator_get_led_bright:()=>jr,rm_actuator_get_led_state:()=>$r,rm_actuator_led_bright:()=>zr,rm_actuator_led_brightness:()=>Zr,rm_motor:()=>md,set_all_power_output:()=>Ud,set_microphone_amplification:()=>Ll,set_music_volume:()=>Dl,set_power_output:()=>Bd,special_key:()=>Hd});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>aI,ai_sensor_ailocal_class:()=>jl,ai_sensor_ailocal_class_result:()=>$l,ai_sensor_ailocal_train:()=>zl,ai_sensor_asr_recognize:()=>nI,ai_sensor_audio_play:()=>tI,ai_sensor_audio_record:()=>Zl,ai_sensor_barcode:()=>yl,ai_sensor_circle:()=>wl,ai_sensor_classifier_faces:()=>pI,ai_sensor_color:()=>Kl,ai_sensor_color_chases:()=>ql,ai_sensor_color_chases_result:()=>Ql,ai_sensor_config:()=>Xl,ai_sensor_face:()=>_I,ai_sensor_find_20objects:()=>uI,ai_sensor_find_barcodes:()=>xl,ai_sensor_find_circles:()=>Hl,ai_sensor_find_colors:()=>Jl,ai_sensor_find_licenseplates:()=>oI,ai_sensor_find_lines:()=>Ul,ai_sensor_find_qrcodes:()=>Yl,ai_sensor_find_rects:()=>Wl,ai_sensor_find_tags:()=>Bl,ai_sensor_licenseplate:()=>sI,ai_sensor_line:()=>Gl,ai_sensor_qrcode:()=>Pl,ai_sensor_qrcode_lite:()=>vl,ai_sensor_rect:()=>kl,ai_sensor_rgb:()=>bl,ai_sensor_tag:()=>Vl,ai_sensor_use_uart_init:()=>Fl,ai_sensor_yolo_recognize:()=>eI,ai_sensor_yolo_recognize_result:()=>iI});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>lI,MICROPYTHON_AI_Speech_unit:()=>dI,MICROPYTHON_AI_client:()=>rI});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>NI,mpython_blynk_app_notify:()=>RI,mpython_blynk_email:()=>CI,mpython_blynk_get_timers:()=>SI,mpython_blynk_on_connected:()=>mI,mpython_blynk_on_disconnected:()=>hI,mpython_blynk_run:()=>OI,mpython_blynk_sensor_data_to_app:()=>LI,mpython_blynk_set_property:()=>gI,mpython_blynk_setup:()=>DI,mpython_blynk_stop_timers:()=>cI,mpython_blynk_sync_virtual:()=>MI,mpython_blynk_terminal_widget_vpin:()=>TI,mpython_blynktimer:()=>AI,mpython_blynktimer_run:()=>EI});var v={};t.r(v),t.d(v,{communicate_bluetooth_central_init:()=>rT,communicate_bluetooth_connect:()=>TT,communicate_bluetooth_disconnect:()=>MT,communicate_bluetooth_handle:()=>RT,communicate_bluetooth_is_connected:()=>mT,communicate_bluetooth_mac:()=>IT,communicate_bluetooth_peripheral_init:()=>dT,communicate_bluetooth_recv:()=>ET,communicate_bluetooth_recv_only:()=>OT,communicate_bluetooth_scan:()=>lT,communicate_bluetooth_send:()=>hT,communicate_espnow_init:()=>cT,communicate_espnow_init_new:()=>gT,communicate_i2c_available:()=>KI,communicate_i2c_init:()=>vI,communicate_i2c_master_read:()=>WI,communicate_i2c_onboard:()=>FI,communicate_i2c_read:()=>YI,communicate_i2c_scan:()=>bI,communicate_i2c_write:()=>XI,communicate_ir_recv_init:()=>tT,communicate_ir_send_init:()=>oT,communicate_ow_init:()=>QI,communicate_ow_read:()=>zI,communicate_ow_reset:()=>ZI,communicate_ow_scan:()=>qI,communicate_ow_select:()=>$I,communicate_ow_write:()=>jI,communicate_spi_buffer:()=>VI,communicate_spi_init:()=>yI,communicate_spi_onboard:()=>PI,communicate_spi_read:()=>BI,communicate_spi_read_output:()=>GI,communicate_spi_readinto:()=>UI,communicate_spi_readinto_output:()=>wI,communicate_spi_set:()=>xI,communicate_spi_write:()=>HI,communicate_spi_write_readinto:()=>kI,espnow_radio_channel:()=>DT,espnow_radio_channel_new:()=>FT,espnow_radio_on_off:()=>PT,espnow_radio_rec:()=>YT,espnow_radio_recv:()=>bT,espnow_radio_recv_certain_msg:()=>yT,espnow_radio_recv_certain_msg_new:()=>VT,espnow_radio_recv_msg:()=>XT,espnow_radio_recv_new:()=>xT,espnow_radio_send:()=>vT,espnow_radio_txpower:()=>fT,i2c_available:()=>_M,i2c_init:()=>KT,i2c_master_reader2:()=>oM,i2c_read:()=>JT,i2c_scan:()=>qT,i2c_slave_onreceive:()=>JI,i2c_write:()=>QT,internal_variable:()=>eT,ir_recv_timeout:()=>sT,ir_transmit_busy:()=>uT,ir_transmit_conventional_data:()=>_T,ir_transmit_raw_code:()=>aT,ir_transmit_study_code:()=>pT,ir_whether_recv:()=>nT,lora_init:()=>BT,lora_packet:()=>GT,lora_recv:()=>wT,lora_send:()=>UT,network_espnow_info:()=>ST,network_espnow_mac:()=>CT,network_espnow_recv:()=>AT,network_espnow_recv_handle:()=>NT,network_espnow_send:()=>LT,recv_fun:()=>iT,spi_buffer:()=>$T,spi_init:()=>zT,spi_read:()=>ZT,spi_read_output:()=>tM,spi_readinto:()=>eM,spi_readinto_output:()=>iM,spi_set:()=>jT,spi_write:()=>nM,spi_write_readinto:()=>sM,urequests_attribute:()=>kT,urequests_get:()=>HT,urequests_method:()=>WT});var Y={};t.r(Y),t.d(Y,{display_animate:()=>VM,display_blink_rate:()=>XM,display_circle:()=>BM,display_color_seclet:()=>jM,display_draw_4strings:()=>DM,display_fill:()=>xM,display_get_screen_image:()=>YM,display_help:()=>UM,display_image_size:()=>fM,display_lcd_use_i2c_init:()=>nh,display_line:()=>PM,display_line_arbitrarily:()=>vM,display_matrix_extern_bright_point:()=>RM,display_matrix_extern_bright_screen:()=>gM,display_matrix_extern_clear:()=>CM,display_matrix_extern_get_pixel:()=>OM,display_matrix_extern_get_screen_pixel:()=>cM,display_matrix_extern_image_builtins:()=>SM,display_matrix_extern_scroll_string:()=>TM,display_matrix_extern_scroll_string_delay:()=>MM,display_matrix_extern_shift:()=>EM,display_matrix_extern_show_frame_string:()=>hM,display_matrix_extern_show_frame_string_delay:()=>mM,display_matrix_extern_show_image:()=>lM,display_matrix_extern_show_image_or_string_delay:()=>IM,display_matrix_use_i2c_init:()=>dM,display_oled_drawPixel:()=>HM,display_oled_showBitmap:()=>wM,display_oled_use_i2c_init:()=>ah,display_onoff:()=>yM,display_rect:()=>FM,display_rgb_color:()=>bM,display_tm1650_power:()=>WM,display_tm1650_set_brightness:()=>QM,display_tm1650_show_dot:()=>JM,display_tm1650_show_num:()=>KM,display_tm_use_i2c_init:()=>kM,display_triangle:()=>GM,display_use_i2c_init:()=>NM,extern_oled_bright_point:()=>Oh,extern_oled_clear:()=>Rh,extern_oled_get_pixel:()=>Eh,extern_oled_hvline:()=>gh,extern_oled_line:()=>Ch,extern_oled_scroll_string:()=>Ih,extern_oled_scroll_string_delay:()=>Th,extern_oled_shape_rect:()=>ch,extern_oled_shift:()=>mh,extern_oled_show_frame_string:()=>Mh,extern_oled_show_frame_string_delay:()=>hh,extern_oled_show_image:()=>uh,extern_oled_show_image_or_string_delay:()=>lh,extern_oled_show_image_xy:()=>rh,extern_oled_show_string:()=>dh,lcd_backlight:()=>_h,lcd_clear:()=>ph,lcd_print_string:()=>oh,lcd_show_image_or_string_delay:()=>sh,matrix_extern_image_arithmetic:()=>AM,matrix_extern_image_invert:()=>LM,tft_fill:()=>eh,tft_line_arbitrarily:()=>ih,tft_scroll_string_delay:()=>ZM,tft_show_frame_string_delay:()=>th,tft_show_image_or_string_delay:()=>$M,tft_show_image_xy:()=>zM,tft_use_spi_init:()=>qM});var X={};t.r(X),t.d(X,{bitbot_display_bitmap_create:()=>mm,bitbot_display_image_create:()=>hm,display_available:()=>Wh,display_bitmap_create:()=>Xh,display_bright_point:()=>Uh,display_bright_screen:()=>Hh,display_clear:()=>kh,display_get_pixel:()=>Gh,display_get_screen_pixel:()=>wh,display_image_builtins:()=>bh,display_image_builtins_all:()=>yh,display_image_create:()=>Yh,display_scroll_string:()=>Nh,display_scroll_string_delay:()=>Dh,display_scroll_way:()=>fh,display_shift:()=>Bh,display_show_frame_string:()=>Ph,display_show_frame_string_delay:()=>vh,display_show_image:()=>Ah,display_show_image_or_string_delay:()=>Lh,draw_pointer:()=>Xm,image_arithmetic:()=>xh,image_invert:()=>Vh,mixbot_display_bitmap_create:()=>dm,mixbot_display_bright_screen:()=>Tm,mixbot_display_get_ambientbright:()=>Im,mixbot_display_get_screen_pixel:()=>lm,mixbot_display_image_create:()=>rm,mixbot_display_rotate:()=>Mm,mixgo_display_bitmap_create:()=>jh,mixgo_display_image_create_new:()=>zh,mixgome_display_bitmap_create:()=>Jh,mixgome_display_font:()=>$h,mixgome_display_image_create:()=>Kh,mixgomini_display_bitmap_create:()=>qh,mixgomini_display_image_create:()=>Qh,mpython_display_hvline:()=>pm,mpython_display_line:()=>am,mpython_display_shape_rect:()=>_m,mpython_pbm_image:()=>um,nova_draw_pointer:()=>bm,onboard_oled_bright_point:()=>om,onboard_oled_scroll_string_delay:()=>nm,onboard_oled_show_frame_string_delay:()=>sm,onboard_oled_show_image:()=>Zh,onboard_oled_show_image_or_string_delay:()=>im,onboard_oled_show_image_xy:()=>tm,onboard_oled_show_string:()=>em,onboard_tft_bright_point:()=>Lm,onboard_tft_bright_screen:()=>km,onboard_tft_clear:()=>Wm,onboard_tft_clock_clear:()=>vm,onboard_tft_clock_draw:()=>Pm,onboard_tft_clock_get_rtctime:()=>fm,onboard_tft_clock_init:()=>Dm,onboard_tft_clock_set_time:()=>Fm,onboard_tft_display_hvline:()=>Cm,onboard_tft_display_line:()=>Sm,onboard_tft_display_shape_circle:()=>Ym,onboard_tft_display_shape_rect:()=>gm,onboard_tft_fill:()=>Nm,onboard_tft_get_pixel:()=>Am,onboard_tft_get_screen_pixel:()=>Hm,onboard_tft_scroll_string:()=>Gm,onboard_tft_scroll_string_delay:()=>Fh,onboard_tft_shift:()=>wm,onboard_tft_show_frame_string:()=>Um,onboard_tft_show_frame_string_delay:()=>cm,onboard_tft_show_image:()=>Bm,onboard_tft_show_image_or_string_delay:()=>Rm,onboard_tft_show_image_xy:()=>Em,onboard_tft_show_image_xy_direct:()=>Om,onboard_tft_show_qrcode:()=>xm,onboard_tft_show_qrcode_details:()=>Vm,onboard_tft_show_texts:()=>ym});var b={};t.r(b),t.d(b,{factory_block:()=>uE,factory_block_return:()=>rE,factory_block_return_with_textarea:()=>lE,factory_block_with_textarea:()=>dE,factory_callMethod_noreturn:()=>pE,factory_callMethod_return:()=>aE,factory_create_with_container:()=>nE,factory_create_with_item:()=>sE,factory_declare:()=>_E,factory_from_import:()=>tE,factory_function_noreturn:()=>iE,factory_function_return:()=>oE,factory_import:()=>eE,folding_block:()=>IE});var y={};t.r(y),t.d(y,{controls_pin_attachInterrupt:()=>bE,inout_analog_atten:()=>CE,inout_analog_read:()=>gE,inout_analog_read_init:()=>fE,inout_analog_write:()=>OE,inout_analog_write_init:()=>DE,inout_analog_write_set:()=>RE,inout_analog_write_set_freq:()=>vE,inout_digital_init:()=>LE,inout_digital_read:()=>mE,inout_digital_write:()=>hE,inout_highlow:()=>ME,inout_pinMode:()=>PE,inout_pin_attachInterrupt:()=>AE,inout_pin_pressed:()=>SE,inout_pin_pressed_init:()=>FE,inout_pwm_analog_write:()=>EE,inout_pwm_analog_write_init:()=>NE,inout_pwm_analog_write_set_freq:()=>cE,pin_pressed:()=>XE,pin_pressed_init:()=>YE});var x={};t.r(x),t.d(x,{IOT_CONNECT_OLLAMA:()=>OO,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>_O,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>oO,IOT_EMQX_PING:()=>nO,IOT_FORMATTING:()=>eO,IOT_FORMAT_STRING:()=>iO,IOT_MIXIO_NTP:()=>sO,IOT_MIXIO_PUBLISH:()=>JE,IOT_MIXIO_PUBLISHEX:()=>QE,IOT_MIXIO_SUBSCRIBE:()=>qE,iot_checkonenet:()=>hO,iot_client_onboard:()=>aO,iot_connect_ollama:()=>EO,iot_connect_openai:()=>RO,iot_create_with_item:()=>WE,iot_http_client:()=>uO,iot_http_data:()=>rO,iot_mixio_check:()=>$E,iot_mixio_connect:()=>KE,iot_mixio_connect_only:()=>jE,iot_mixio_disconnect:()=>zE,iot_mixio_format_msg:()=>tO,iot_mixio_format_topic:()=>ZE,iot_mixly_key:()=>pO,iot_mqtt_client:()=>dO,iot_mqtt_data:()=>lO,iot_onenet_check:()=>GE,iot_onenet_connect:()=>VE,iot_onenet_disconnect:()=>BE,iot_onenet_publish:()=>wE,iot_onenet_publish_dict:()=>UE,iot_onenetconnect:()=>TO,iot_onenetdisconnect:()=>MO,iot_publish:()=>mO,iot_publish_container:()=>HE,iot_publish_item:()=>kE,iot_tiny_web_db_count:()=>DO,iot_tiny_web_db_delete:()=>FO,iot_tiny_web_db_get:()=>NO,iot_tiny_web_db_init:()=>SO,iot_tiny_web_db_init_with_mqtt:()=>AO,iot_tiny_web_db_search:()=>fO,iot_tiny_web_db_update:()=>LO,iot_wifi_connect:()=>xE,iot_wificonnect:()=>IO,ollama_empty_history:()=>CO,use_ollama_llm_to_chat:()=>cO,use_ollama_llm_to_chat_return:()=>gO});var V={};t.r(V),t.d(V,{educore_mqtt_connect:()=>rR,educore_mqtt_connect_success:()=>TR,educore_mqtt_subscribe_message:()=>dR,educore_mqtt_topic_publish:()=>IR,educore_mqtt_topic_subscribe:()=>lR,educore_wifi_connect:()=>uR,network_ap_connect:()=>UO,network_connect:()=>yO,network_get_connect:()=>VO,network_get_wifi:()=>GO,network_init:()=>vO,network_is_active:()=>XO,network_open:()=>YO,network_scan:()=>bO,network_server:()=>wO,network_socket_accept:()=>JO,network_socket_bind:()=>kO,network_socket_close:()=>ZO,network_socket_connect:()=>WO,network_socket_init:()=>HO,network_socket_listen:()=>KO,network_socket_readline:()=>QO,network_socket_receive:()=>qO,network_socket_receive_from:()=>jO,network_socket_send:()=>zO,network_socket_send_to:()=>$O,network_stop:()=>BO,network_wifi_connect:()=>xO,ntptime_address:()=>sR,ntptime_time:()=>nR,requests_attribute:()=>eR,requests_attribute2:()=>aR,requests_get:()=>tR,requests_get2:()=>_R,requests_method:()=>iR,requests_post:()=>pR});var B={};t.r(B),t.d(B,{CI130X_BROADCAST:()=>BR,CI130X_GET_THE_RECOGNIZED_CMD:()=>VR,CI130X_GET_WHETHER_IDENTIFY:()=>xR,CI130X_IDENTIFY_AND_SAVE:()=>yR,CI130X_SET_SYSTEM_CMD:()=>GR,HCSR04:()=>Dc,PS2_Button:()=>vc,PS2_Buttons:()=>Xc,PS2_Buttons_new:()=>Vc,PS2_State:()=>Yc,PS2_init:()=>fc,PS2_init_new:()=>yc,PS2_stk:()=>bc,PS2_stk_new:()=>Bc,PS2_vibration:()=>Pc,PS2_vibration_new:()=>xc,camera_sensor_init:()=>Mg,camera_sensor_result:()=>hg,column_tube_foot:()=>cg,define_keyboards:()=>gg,educore_body_sensor:()=>og,educore_button_sensor_extern:()=>ug,educore_camera_sensor:()=>Tg,educore_infrared_sensor:()=>ag,educore_soilhum_sensor:()=>_g,educore_temp_sensor:()=>Ig,educore_temphum_sensor:()=>pg,educore_ultrasonic_sensor:()=>dg,esp32_s2_weather_init:()=>Sc,esp32_s2_weather_rain:()=>Lc,esp32_s2_weather_wd:()=>Ac,esp32_s2_weather_ws:()=>Nc,extern_rfid_read:()=>rc,extern_rfid_readcontent:()=>lc,extern_rfid_readid:()=>dc,extern_rfid_status:()=>Mc,extern_rfid_write:()=>Ic,extern_rfid_write_return:()=>Tc,get_keboards_value:()=>Cg,gnss_get_data:()=>Hc,gnss_have_data:()=>wc,init_init_rotary_encoder:()=>Sg,init_matrix_keyboard:()=>Og,interaction_whether_to_interaction:()=>XR,interaction_whether_to_interaction_SANT:()=>bR,line_tube_foot:()=>Rg,mixbot_sensor_extern_get_addr:()=>jc,mixbot_sensor_extern_set_addr:()=>$c,pm25_get_data:()=>Uc,radar_set_DETECTION_THRESHOLD:()=>vR,radar_set_DETECTION_THRESHOLD_SANT:()=>YR,robot_button_extern_get_value:()=>Wc,robot_color_extern_get_value:()=>zc,robot_infrared_extern_get_value:()=>Jc,robot_infrared_extern_grey_get_value:()=>Qc,robot_potentiometer_extern_get_value:()=>qc,robot_sonar_extern_get_value:()=>Zc,robot_sonar_extern_led:()=>tg,robot_touch_extern_get_value:()=>Kc,rotary_key:()=>Ag,sensor_APDS9960_extern:()=>wR,sensor_DS18X20:()=>fR,sensor_LTR308_extern:()=>HR,sensor_LTR390UV_extern:()=>KR,sensor_MAX30102_extern:()=>UR,sensor_QMC5883L_extern:()=>tc,sensor_VL530LX_extern:()=>JR,sensor_adxl345_get_acceleration:()=>cR,sensor_aht11_extern:()=>qR,sensor_bmp:()=>NR,sensor_compass_reset:()=>ac,sensor_dht11:()=>CR,sensor_hp203_extern:()=>zR,sensor_light_level:()=>gR,sensor_lm35:()=>FR,sensor_ltr381_extern:()=>kR,sensor_mixgo_extern_button_attachInterrupt:()=>OR,sensor_mixgo_extern_button_get_presses:()=>ER,sensor_mixgo_extern_button_is_pressed:()=>hR,sensor_mixgo_extern_button_was_pressed:()=>mR,sensor_mixgo_extern_light:()=>SR,sensor_mixgo_extern_pin_near:()=>LR,sensor_mixgo_extern_sound:()=>AR,sensor_mixgoce_hot_wheel_degrees:()=>Cc,sensor_mixgoce_hot_wheel_is_touched:()=>gc,sensor_mpu9250_attachGestureInterrupt:()=>RR,sensor_mpu9250_calibrate_compass:()=>oc,sensor_mpu9250_field_strength:()=>pc,sensor_mpu9250_gesture:()=>ec,sensor_mpu9250_get_acceleration:()=>ic,sensor_mpu9250_get_gyro:()=>sc,sensor_mpu9250_get_magnetic:()=>nc,sensor_mpu9250_temperature:()=>_c,sensor_ms5611_extern:()=>$R,sensor_ms5611_extern_altitude:()=>ZR,sensor_read_humiture:()=>rg,sensor_sht:()=>DR,sensor_shtc3_extern:()=>QR,sensor_spl06_001_extern:()=>jR,sensor_ucs12071_extern:()=>WR,sensor_use_i2c_init:()=>PR,sensor_use_spi_init:()=>uc,sensor_use_uart_init:()=>Gc,sensor_weather_solo_init:()=>eg,sensor_weather_solo_rain:()=>sg,sensor_weather_solo_wd:()=>ig,sensor_weather_solo_ws:()=>ng,sensor_weigh_init:()=>mg,tvoc_get_data:()=>kc,ultrasonic_sensor_read_distance:()=>lg,weather_data:()=>hc,weather_have_data:()=>mc,weather_set_label:()=>Oc,weather_set_label_container:()=>Rc,weather_set_label_item:()=>cc,weather_uart_mixio:()=>Ec,weigh_sensor_get_weight:()=>Eg});var G={};t.r(G),t.d(G,{HCSR04:()=>wg,RTC_set_date:()=>Ug,RTC_set_time:()=>Gg,bitbot_als_num:()=>jC,dht11:()=>sS,educore_button_sensor:()=>IS,educore_button_was_pressed:()=>TS,educore_gyroscope_sensor:()=>rS,educore_gyroscope_sensor_read:()=>dS,educore_gyroscope_sensor_shake:()=>lS,educore_light_sensor:()=>uS,educore_rfid_sensor:()=>MS,educore_rfid_sensor_scan:()=>hS,educore_rfid_sensor_scan_data:()=>mS,educore_voice_sensor:()=>pS,number1:()=>kg,number2:()=>Wg,number3:()=>Kg,number4:()=>Jg,number5:()=>Qg,number6:()=>qg,number7:()=>zg,onboard_RTC_get_time:()=>sC,onboard_RTC_get_time_str:()=>rC,onboard_RTC_get_timestamp:()=>oC,onboard_RTC_get_timetuple_to_str:()=>dC,onboard_RTC_set_datetime:()=>aC,onboard_RTC_settime_string:()=>pC,onboard_RTC_timestamp_totuple:()=>_C,rfid_readcontent:()=>EC,rfid_readid:()=>mC,rfid_status:()=>cC,rfid_write:()=>OC,rfid_write_return:()=>RC,sensor_LTR308:()=>lC,sensor_aht11:()=>TC,sensor_bitbot_ALS:()=>zC,sensor_button_get_presses:()=>tS,sensor_button_is_pressed:()=>$C,sensor_button_was_pressed:()=>ZC,sensor_distance_hrsc04:()=>Bg,sensor_eulerangles:()=>CC,sensor_field_strength:()=>oS,sensor_get_acceleration:()=>gC,sensor_get_temperature:()=>MC,sensor_get_the_coprocessor_version:()=>ES,sensor_hp203:()=>hC,sensor_light:()=>nS,sensor_mixbot_get_gyro:()=>qC,sensor_mixbot_patrol_calibrate:()=>KC,sensor_mixbot_patrol_value:()=>JC,sensor_mixbot_temperature:()=>QC,sensor_mixgo_LTR308:()=>iC,sensor_mixgo_button_attachInterrupt:()=>Fg,sensor_mixgo_button_get_presses:()=>fg,sensor_mixgo_button_is_pressed:()=>Ng,sensor_mixgo_button_was_pressed:()=>Dg,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>XC,sensor_mixgo_cc_mmc5603_get_angle:()=>YC,sensor_mixgo_cc_mmc5603_get_magnetic:()=>vC,sensor_mixgo_light:()=>Hg,sensor_mixgo_nova_LTR308:()=>eC,sensor_mixgo_nova_pin_near:()=>tC,sensor_mixgo_pin_near:()=>Zg,sensor_mixgo_pin_near_double:()=>$g,sensor_mixgo_pin_near_single:()=>jg,sensor_mixgo_pin_pressed:()=>bg,sensor_mixgo_sant_color:()=>nC,sensor_mixgo_touch_slide:()=>Vg,sensor_mixgocar42_button_attachInterrupt:()=>Xg,sensor_mixgocar42_button_get_presses:()=>Yg,sensor_mixgocar42_button_is_pressed:()=>Pg,sensor_mixgocar42_button_was_pressed:()=>vg,sensor_mixgocar_battery_left:()=>WC,sensor_mixgocar_pin_near:()=>HC,sensor_mixgocar_pin_near_line:()=>wC,sensor_mixgocar_pin_near_state_change:()=>kC,sensor_mixgoce_pin_pressed:()=>yg,sensor_mixgoce_temperature:()=>yC,sensor_mixgome_temperature:()=>bC,sensor_mpython_pin_pressed:()=>xg,sensor_mpython_qmi8658_get_gyro:()=>xC,sensor_mpython_qmi8658_temperature:()=>VC,sensor_onboard_compass_reset:()=>PC,sensor_onboard_mpu9250_calibrate_compass:()=>DC,sensor_onboard_mpu9250_field_strength:()=>FC,sensor_onboard_mpu9250_gesture:()=>SC,sensor_onboard_mpu9250_get_acceleration:()=>AC,sensor_onboard_mpu9250_get_gyro:()=>NC,sensor_onboard_mpu9250_get_magnetic:()=>LC,sensor_onboard_mpu9250_temperature:()=>fC,sensor_pin_near:()=>iS,sensor_pin_pressed:()=>eS,sensor_read:()=>aS,sensor_rm_acc:()=>UC,sensor_rm_battery_left:()=>GC,sensor_rm_pin_near_double:()=>BC,sensor_rtc_init:()=>uC,sensor_sound:()=>IC,sensor_temperature:()=>_S,simulated_light_sensor:()=>OS});var U={};t.r(U),t.d(U,{serial_any:()=>fS,serial_begin:()=>XS,serial_print:()=>SS,serial_print_byte:()=>CS,serial_print_hex:()=>LS,serial_println:()=>AS,serial_read_from_ai:()=>HS,serial_readline:()=>FS,serial_readstr:()=>DS,serial_readstr_until:()=>PS,serial_receive_data_event:()=>NS,serial_send_to_ai:()=>wS,serial_softserial:()=>YS,serial_softserial_new:()=>vS,system_input:()=>bS,system_print:()=>yS,system_print_container:()=>GS,system_print_end:()=>VS,system_print_inline:()=>xS,system_print_item:()=>US,system_print_many:()=>BS});var w={};t.r(w),t.d(w,{Panic_with_status_code:()=>JS,Timer_init:()=>pA,base_delay:()=>rA,controls_delay:()=>KS,controls_delay_new:()=>WS,controls_millis:()=>qS,controls_uname:()=>jS,raw_block:()=>zS,reset:()=>QS,set_system_timer:()=>iA,system_bitbot_shutdown:()=>_A,system_machine_reset:()=>oA,system_ticks_diff:()=>tA,system_timer:()=>ZS,system_timer_init:()=>eA,system_wdt_feed:()=>sA,system_wdt_init:()=>nA,time_ticks_diff:()=>uA,timer:()=>$S,timer2:()=>aA});var H={};t.r(H),t.d(H,{Air_daily_content:()=>SA,Air_now_content:()=>mA,Geo_moon_content:()=>LA,Geo_sun_content:()=>AA,Life_suggestion_content:()=>OA,Location_search_content:()=>cA,Tide_daily_content:()=>RA,WEATHER_DAILY:()=>IA,WEATHER_HOUR:()=>TA,WEATHER_NOW:()=>lA,Weather_alarm_content:()=>EA,Weather_daily:()=>gA,Weather_daily_content:()=>CA,Weather_now:()=>MA,Weather_now_content:()=>hA});var k={};t.r(k),t.d(k,{PIN_init:()=>DL,actuator_extern_get_led_bright:()=>QA,actuator_extern_get_led_state:()=>qA,actuator_extern_led_bright:()=>JA,actuator_extern_led_brightness:()=>zA,actuator_ms32006_dcmotor:()=>XA,actuator_ms32006_init:()=>YA,actuator_ms32006_stepper:()=>bA,actuator_neopixel_init:()=>jA,actuator_neopixel_rgb:()=>tL,actuator_neopixel_rgb_all:()=>$A,actuator_neopixel_rgb_show_all_chase:()=>eL,actuator_neopixel_rgb_show_all_rainbow:()=>iL,actuator_neopixel_write:()=>ZA,actuator_use_uart_init:()=>nL,backstage_esp32_music_play_list:()=>kA,esp32_music_get_tempo_extern:()=>wA,esp32_music_pitch:()=>xA,esp32_music_pitch_init:()=>yA,esp32_music_pitch_with_time:()=>VA,esp32_music_play_list:()=>HA,esp32_music_reset_extern:()=>WA,esp32_music_set_tempo_extern:()=>UA,esp32_music_stop:()=>BA,esp32_set_music_volume:()=>GA,mixbot_actuator_extern_get_addr:()=>LL,mixbot_actuator_extern_set_addr:()=>NL,mixbot_addr_extern:()=>IL,parrot_PIN_init:()=>vL,parrot_move_speed:()=>YL,pin_led_bright:()=>fL,player_play_music:()=>aL,player_set_mode:()=>pL,player_set_play:()=>oL,player_set_volume:()=>_L,player_whether_stop:()=>sL,robot_led_extern:()=>mL,robot_led_extern_get_value:()=>EL,robot_motor_extern:()=>TL,robot_motor_extern_get_speed:()=>ML,robot_servo_extern_absolute_run:()=>gL,robot_servo_extern_get_status:()=>OL,robot_servo_extern_relative_continue:()=>AL,robot_servo_extern_relative_origin:()=>CL,robot_servo_extern_relative_run:()=>SL,robot_servo_extern_stop:()=>cL,robot_servo_extern_stop_mode:()=>RL,robot_traffic_light_extern:()=>hL,servo_PIN_init:()=>FL,servo_get_angle:()=>PA,servo_get_speed:()=>vA,servo_init:()=>NA,servo_move:()=>KA,servo_move_angle:()=>PL,servo_set_angle:()=>fA,servo_set_speed:()=>FA,servo_speed_360:()=>DA,syn6288_builtin_voice:()=>dL,syn6288_get_voice:()=>rL,syn6288_set_voice:()=>uL,syn6288_tts_play:()=>lL});var W={};t.r(W),t.d(W,{actuator_dc_motor:()=>aN,actuator_dc_motor_stop:()=>uN,actuator_get_led_bright:()=>WL,actuator_get_led_state:()=>KL,actuator_led_bright:()=>kL,actuator_led_brightness:()=>JL,actuator_mixbot_buzzer_on_off:()=>TN,actuator_mixgo_nova_mic_get:()=>ON,actuator_mixgo_nova_mic_set:()=>EN,actuator_mixgo_nova_onboard_music_pitch:()=>AN,actuator_mixgo_nova_onboard_music_stop:()=>LN,actuator_mixgo_nova_play_audio:()=>CN,actuator_mixgo_nova_play_online_audio:()=>SN,actuator_mixgo_nova_record_audio:()=>gN,actuator_mixgo_nova_voice_get:()=>cN,actuator_mixgo_nova_voice_set:()=>RN,actuator_mixgo_zero_led_color:()=>QL,actuator_onboard_neopixel_rgb:()=>eN,actuator_onboard_neopixel_rgb_all:()=>iN,actuator_onboard_neopixel_rgb_show_all_chase:()=>nN,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>sN,actuator_onboard_neopixel_write:()=>tN,actuator_stepper_keep:()=>_N,actuator_stepper_stop:()=>pN,analog_ble_keyboard_init:()=>xN,analog_ble_keyboard_input:()=>GN,analog_ble_keyboard_mouse_init:()=>QN,analog_ble_keyboard_mouse_input:()=>$N,analog_ble_keyboard_mouse_send_battery:()=>jN,analog_ble_keyboard_mouse_str:()=>ZN,analog_ble_keyboard_send_battery:()=>wN,analog_ble_keyboard_str:()=>UN,analog_ble_mouse_init:()=>HN,analog_ble_mouse_input:()=>KN,analog_ble_mouse_keyboard_input:()=>tD,analog_ble_mouse_send_battery:()=>JN,analog_keyboard_input:()=>FN,analog_keyboard_str:()=>bN,analog_mouse_input:()=>YN,backstage_onboard_music_play_list:()=>GL,bitbot_motor:()=>mN,bitbot_move:()=>MN,bitbot_stop:()=>hN,ble_keyboard_connect:()=>BN,ble_keyboard_get_mac:()=>VN,ble_keyboard_mouse_connect:()=>zN,ble_keyboard_mouse_get_mac:()=>qN,ble_mouse_connect:()=>WN,ble_mouse_get_mac:()=>kN,cc_number:()=>qL,educore_ble_keyboard_input:()=>rD,educore_ble_sensor_connected:()=>uD,educore_ble_sensor_init:()=>aD,educore_buzzer:()=>eD,educore_buzzer_play_tone:()=>iD,educore_buzzer_play_tone_time:()=>nD,educore_buzzer_stop:()=>sD,educore_neopixel_clear:()=>pD,educore_neopixel_rgb:()=>_D,educore_rgb_light:()=>oD,esp32_music_get_tempo:()=>bL,esp32_music_reset:()=>UL,esp32_music_set_tempo:()=>XL,esp32_onboard_music_pitch:()=>yL,esp32_onboard_music_pitch_with_time:()=>xL,esp32_onboard_music_play_list:()=>BL,esp32_onboard_music_stop:()=>VL,general_key:()=>vN,general_key_tuple:()=>yN,get_keyboard_light:()=>dD,get_power_output:()=>DN,ledswitch:()=>HL,mixbot_motor:()=>IN,mixbot_motor_status:()=>rN,mixbot_move:()=>dN,mixbot_stop:()=>lN,mouse_key:()=>XN,number:()=>wL,record_audio:()=>ID,rm_actuator_get_led_bright:()=>jL,rm_actuator_get_led_state:()=>$L,rm_actuator_led_bright:()=>zL,rm_actuator_led_brightness:()=>ZL,rm_motor:()=>oN,set_all_power_output:()=>fN,set_microphone_amplification:()=>lD,set_music_volume:()=>TD,set_power_output:()=>NN,special_key:()=>PN});var K={};t.r(K),t.d(K,{ai_sensor_20object:()=>JD,ai_sensor_ailocal_class:()=>yD,ai_sensor_ailocal_class_result:()=>xD,ai_sensor_ailocal_train:()=>bD,ai_sensor_asr_recognize:()=>wD,ai_sensor_audio_play:()=>BD,ai_sensor_audio_record:()=>VD,ai_sensor_barcode:()=>cD,ai_sensor_circle:()=>ND,ai_sensor_classifier_faces:()=>KD,ai_sensor_color:()=>PD,ai_sensor_color_chases:()=>XD,ai_sensor_color_chases_result:()=>YD,ai_sensor_config:()=>mD,ai_sensor_face:()=>WD,ai_sensor_find_20objects:()=>QD,ai_sensor_find_barcodes:()=>gD,ai_sensor_find_circles:()=>DD,ai_sensor_find_colors:()=>vD,ai_sensor_find_licenseplates:()=>kD,ai_sensor_find_lines:()=>LD,ai_sensor_find_qrcodes:()=>RD,ai_sensor_find_rects:()=>FD,ai_sensor_find_tags:()=>SD,ai_sensor_licenseplate:()=>HD,ai_sensor_line:()=>AD,ai_sensor_qrcode:()=>OD,ai_sensor_qrcode_lite:()=>hD,ai_sensor_rect:()=>fD,ai_sensor_rgb:()=>ED,ai_sensor_tag:()=>CD,ai_sensor_use_uart_init:()=>MD,ai_sensor_yolo_recognize:()=>GD,ai_sensor_yolo_recognize_result:()=>UD});var J={};t.r(J),t.d(J,{MICROPYTHON_AI_Speech_asr:()=>jD,MICROPYTHON_AI_Speech_unit:()=>zD,MICROPYTHON_AI_client:()=>qD});var Q={};t.r(Q),t.d(Q,{mpython_blynk_app_data:()=>rf,mpython_blynk_app_notify:()=>of,mpython_blynk_email:()=>df,mpython_blynk_get_timers:()=>pf,mpython_blynk_on_connected:()=>ef,mpython_blynk_on_disconnected:()=>tf,mpython_blynk_run:()=>sf,mpython_blynk_sensor_data_to_app:()=>uf,mpython_blynk_set_property:()=>lf,mpython_blynk_setup:()=>If,mpython_blynk_stop_timers:()=>_f,mpython_blynk_sync_virtual:()=>ZD,mpython_blynk_terminal_widget_vpin:()=>$D,mpython_blynktimer:()=>af,mpython_blynktimer_run:()=>nf});var q={};t.r(q),t.d(q,{communicate_bluetooth_central_init:()=>Qf,communicate_bluetooth_connect:()=>jf,communicate_bluetooth_disconnect:()=>$f,communicate_bluetooth_handle:()=>sF,communicate_bluetooth_is_connected:()=>tF,communicate_bluetooth_mac:()=>Zf,communicate_bluetooth_peripheral_init:()=>qf,communicate_bluetooth_recv:()=>nF,communicate_bluetooth_recv_only:()=>iF,communicate_bluetooth_scan:()=>zf,communicate_bluetooth_send:()=>eF,communicate_espnow_init:()=>oF,communicate_espnow_init_new:()=>_F,communicate_i2c_available:()=>cf,communicate_i2c_init:()=>hf,communicate_i2c_master_read:()=>Rf,communicate_i2c_onboard:()=>Tf,communicate_i2c_read:()=>mf,communicate_i2c_scan:()=>Of,communicate_i2c_write:()=>Ef,communicate_ir_recv_init:()=>Vf,communicate_ir_send_init:()=>Hf,communicate_ow_init:()=>vf,communicate_ow_read:()=>bf,communicate_ow_reset:()=>Xf,communicate_ow_scan:()=>Yf,communicate_ow_select:()=>xf,communicate_ow_write:()=>yf,communicate_spi_buffer:()=>Af,communicate_spi_init:()=>Cf,communicate_spi_onboard:()=>Mf,communicate_spi_read:()=>Lf,communicate_spi_read_output:()=>Nf,communicate_spi_readinto:()=>Df,communicate_spi_readinto_output:()=>ff,communicate_spi_set:()=>Sf,communicate_spi_write:()=>Ff,communicate_spi_write_readinto:()=>Pf,espnow_radio_channel:()=>lF,espnow_radio_channel_new:()=>TF,espnow_radio_on_off:()=>MF,espnow_radio_rec:()=>mF,espnow_radio_recv:()=>OF,espnow_radio_recv_certain_msg:()=>RF,espnow_radio_recv_certain_msg_new:()=>gF,espnow_radio_recv_msg:()=>EF,espnow_radio_recv_new:()=>cF,espnow_radio_send:()=>hF,espnow_radio_txpower:()=>IF,i2c_slave_onreceive:()=>gf,internal_variable:()=>Bf,ir_recv_timeout:()=>wf,ir_transmit_busy:()=>Jf,ir_transmit_conventional_data:()=>kf,ir_transmit_raw_code:()=>Kf,ir_transmit_study_code:()=>Wf,ir_whether_recv:()=>Uf,lora_init:()=>CF,lora_packet:()=>SF,lora_recv:()=>LF,lora_send:()=>AF,network_espnow_info:()=>aF,network_espnow_mac:()=>pF,network_espnow_recv:()=>uF,network_espnow_recv_handle:()=>dF,network_espnow_send:()=>rF,recv_fun:()=>Gf,urequests_attribute:()=>DF,urequests_get:()=>NF,urequests_method:()=>fF});var z={};t.r(z),t.d(z,{display_animate:()=>tP,display_circle:()=>eP,display_color_seclet:()=>lP,display_draw_4strings:()=>JF,display_fill:()=>ZF,display_lcd_use_i2c_init:()=>EP,display_line:()=>zF,display_line_arbitrarily:()=>QF,display_matrix_extern_bright_point:()=>GF,display_matrix_extern_bright_screen:()=>wF,display_matrix_extern_clear:()=>xF,display_matrix_extern_get_pixel:()=>BF,display_matrix_extern_get_screen_pixel:()=>UF,display_matrix_extern_image_builtins:()=>HF,display_matrix_extern_scroll_string:()=>bF,display_matrix_extern_scroll_string_delay:()=>yF,display_matrix_extern_shift:()=>VF,display_matrix_extern_show_frame_string:()=>YF,display_matrix_extern_show_frame_string_delay:()=>XF,display_matrix_extern_show_image:()=>PF,display_matrix_extern_show_image_or_string_delay:()=>vF,display_matrix_use_i2c_init:()=>FF,display_oled_drawPixel:()=>sP,display_oled_showBitmap:()=>nP,display_oled_use_i2c_init:()=>CP,display_onoff:()=>jF,display_rect:()=>qF,display_tm1650_power:()=>_P,display_tm1650_set_brightness:()=>uP,display_tm1650_show_dot:()=>aP,display_tm1650_show_num:()=>pP,display_tm_use_i2c_init:()=>oP,display_triangle:()=>iP,display_use_i2c_init:()=>KF,extern_oled_bright_point:()=>bP,extern_oled_clear:()=>vP,extern_oled_get_pixel:()=>XP,extern_oled_hvline:()=>xP,extern_oled_line:()=>VP,extern_oled_scroll_string:()=>FP,extern_oled_scroll_string_delay:()=>PP,extern_oled_shape_rect:()=>yP,extern_oled_shift:()=>YP,extern_oled_show_frame_string:()=>DP,extern_oled_show_frame_string_delay:()=>fP,extern_oled_show_image:()=>SP,extern_oled_show_image_or_string_delay:()=>NP,extern_oled_show_image_xy:()=>AP,extern_oled_show_string:()=>LP,image_shift:()=>$F,lcd_backlight:()=>cP,lcd_clear:()=>gP,lcd_print_string:()=>RP,lcd_show_image_or_string_delay:()=>OP,matrix_extern_image_arithmetic:()=>kF,matrix_extern_image_invert:()=>WF,tft_fill:()=>hP,tft_line_arbitrarily:()=>mP,tft_scroll_string_delay:()=>MP,tft_show_frame_string_delay:()=>TP,tft_show_image_or_string_delay:()=>IP,tft_show_image_xy:()=>dP,tft_use_spi_init:()=>rP});var j={};t.r(j),t.d(j,{bitbot_display_bitmap_create:()=>Pv,bitbot_display_image_create:()=>Fv,display_available:()=>$P,display_bitmap_create:()=>zP,display_bright_point:()=>nv,display_bright_screen:()=>ov,display_clear:()=>jP,display_get_pixel:()=>iv,display_get_screen_pixel:()=>sv,display_image_builtins:()=>JP,display_image_builtins_all:()=>QP,display_image_create:()=>qP,display_scroll_string:()=>HP,display_scroll_string_delay:()=>kP,display_scroll_way:()=>WP,display_shift:()=>ev,display_show_frame_string:()=>UP,display_show_frame_string_delay:()=>wP,display_show_image:()=>BP,display_show_image_or_string_delay:()=>GP,draw_pointer:()=>Qv,image_arithmetic:()=>ZP,image_invert:()=>tv,mixbot_display_bitmap_create:()=>Av,mixbot_display_bright_screen:()=>Dv,mixbot_display_get_ambientbright:()=>Nv,mixbot_display_get_screen_pixel:()=>Lv,mixbot_display_image_create:()=>Sv,mixbot_display_rotate:()=>fv,mixgo_display_bitmap_create:()=>lv,mixgo_display_image_create_new:()=>dv,mixgome_display_bitmap_create:()=>pv,mixgome_display_font:()=>rv,mixgome_display_image_create:()=>_v,mixgomini_display_bitmap_create:()=>uv,mixgomini_display_image_create:()=>av,mpython_display_hvline:()=>gv,mpython_display_line:()=>Cv,mpython_display_shape_rect:()=>cv,mpython_pbm_image:()=>Iv,nova_draw_pointer:()=>qv,onboard_oled_bright_point:()=>Rv,onboard_oled_scroll_string_delay:()=>Ov,onboard_oled_show_frame_string_delay:()=>Ev,onboard_oled_show_image:()=>Tv,onboard_oled_show_image_or_string_delay:()=>mv,onboard_oled_show_image_xy:()=>Mv,onboard_oled_show_string:()=>hv,onboard_tft_bright_point:()=>Gv,onboard_tft_bright_screen:()=>nY,onboard_tft_clear:()=>sY,onboard_tft_clock_clear:()=>Kv,onboard_tft_clock_draw:()=>Wv,onboard_tft_clock_get_rtctime:()=>Hv,onboard_tft_clock_init:()=>wv,onboard_tft_clock_set_time:()=>kv,onboard_tft_display_hvline:()=>xv,onboard_tft_display_line:()=>Vv,onboard_tft_display_shape_circle:()=>Jv,onboard_tft_display_shape_rect:()=>yv,onboard_tft_fill:()=>Uv,onboard_tft_get_pixel:()=>Bv,onboard_tft_get_screen_pixel:()=>iY,onboard_tft_scroll_string_delay:()=>KP,onboard_tft_shift:()=>eY,onboard_tft_show_frame_string:()=>tY,onboard_tft_show_frame_string_delay:()=>bv,onboard_tft_show_image:()=>Zv,onboard_tft_show_image_or_string_delay:()=>Xv,onboard_tft_show_image_xy:()=>vv,onboard_tft_show_image_xy_direct:()=>Yv,onboard_tft_show_qrcode:()=>jv,onboard_tft_show_qrcode_details:()=>$v,onboard_tft_show_texts:()=>zv});var $={};t.r($),t.d($,{factory_block:()=>lY,factory_block_return:()=>IY,factory_block_return_with_textarea:()=>MY,factory_block_with_textarea:()=>TY,factory_callMethod_noreturn:()=>rY,factory_callMethod_return:()=>dY,factory_declare:()=>uY,factory_from_import:()=>oY,factory_function_noreturn:()=>pY,factory_function_return:()=>aY,factory_import:()=>_Y,folding_block:()=>hY});var Z={};t.r(Z),t.d(Z,{inout_analog_atten:()=>PY,inout_analog_read:()=>SY,inout_analog_read_init:()=>FY,inout_analog_write:()=>cY,inout_analog_write_init:()=>fY,inout_analog_write_set:()=>gY,inout_digital_init:()=>NY,inout_digital_read:()=>OY,inout_digital_write:()=>EY,inout_highlow:()=>mY,inout_pin_attachInterrupt:()=>LY,inout_pin_pressed:()=>AY,inout_pin_pressed_init:()=>vY,inout_pwm_analog_write:()=>RY,inout_pwm_analog_write_init:()=>DY,inout_pwm_analog_write_set_freq:()=>CY});var tt={};t.r(tt),t.d(tt,{IOT_CONNECT_OLLAMA:()=>pX,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>$Y,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>zY,IOT_EMQX_PING:()=>ZY,IOT_FORMATTING:()=>QY,IOT_FORMAT_STRING:()=>qY,IOT_MIXIO_NTP:()=>tX,IOT_MIXIO_PUBLISH:()=>GY,IOT_MIXIO_PUBLISHEX:()=>UY,IOT_MIXIO_SUBSCRIBE:()=>wY,iot_client_onboard:()=>eX,iot_connect_ollama:()=>_X,iot_connect_openai:()=>aX,iot_http_client:()=>iX,iot_http_data:()=>nX,iot_mixio_check:()=>WY,iot_mixio_connect:()=>BY,iot_mixio_connect_only:()=>kY,iot_mixio_disconnect:()=>HY,iot_mixio_format_msg:()=>JY,iot_mixio_format_topic:()=>KY,iot_mixly_key:()=>jY,iot_mqtt_client:()=>sX,iot_mqtt_data:()=>oX,iot_onenet_check:()=>xY,iot_onenet_connect:()=>XY,iot_onenet_disconnect:()=>bY,iot_onenet_publish:()=>VY,iot_onenet_publish_dict:()=>yY,iot_tiny_web_db_count:()=>hX,iot_tiny_web_db_delete:()=>EX,iot_tiny_web_db_get:()=>MX,iot_tiny_web_db_init:()=>lX,iot_tiny_web_db_init_with_mqtt:()=>IX,iot_tiny_web_db_search:()=>mX,iot_tiny_web_db_update:()=>TX,iot_wifi_connect:()=>YY,ollama_empty_history:()=>dX,use_ollama_llm_to_chat:()=>uX,use_ollama_llm_to_chat_return:()=>rX});var et={};t.r(et),t.d(et,{educore_mqtt_connect:()=>zX,educore_mqtt_connect_success:()=>tb,educore_mqtt_subscribe_message:()=>jX,educore_mqtt_topic_publish:()=>ZX,educore_mqtt_topic_subscribe:()=>$X,educore_wifi_connect:()=>qX,network_ap_connect:()=>NX,network_connect:()=>RX,network_get_connect:()=>gX,network_get_wifi:()=>LX,network_init:()=>OX,network_is_active:()=>AX,network_open:()=>SX,network_scan:()=>DX,network_server:()=>fX,network_socket_accept:()=>XX,network_socket_bind:()=>PX,network_socket_close:()=>GX,network_socket_connect:()=>vX,network_socket_init:()=>FX,network_socket_listen:()=>YX,network_socket_readline:()=>bX,network_socket_receive:()=>yX,network_socket_receive_from:()=>VX,network_socket_send:()=>xX,network_socket_send_to:()=>BX,network_stop:()=>CX,network_wifi_connect:()=>cX,ntptime_address:()=>WX,ntptime_time:()=>kX,requests_attribute:()=>wX,requests_attribute2:()=>JX,requests_get:()=>UX,requests_get2:()=>KX,requests_method:()=>HX,requests_post:()=>QX});var it={};t.r(it),t.d(it,{CI130X_BROADCAST:()=>Cb,CI130X_GET_THE_RECOGNIZED_CMD:()=>gb,CI130X_GET_WHETHER_IDENTIFY:()=>cb,CI130X_IDENTIFY_AND_SAVE:()=>Rb,CI130X_SET_SYSTEM_CMD:()=>Sb,HCSR04:()=>iy,PS2_Button:()=>oy,PS2_Buttons:()=>_y,PS2_Buttons_new:()=>Ty,PS2_State:()=>py,PS2_init:()=>ny,PS2_init_new:()=>ly,PS2_stk:()=>ay,PS2_stk_new:()=>My,PS2_vibration:()=>sy,PS2_vibration_new:()=>Iy,RTC_get_time:()=>ry,RTC_set_date:()=>ab,RTC_set_datetime:()=>uy,RTC_set_time:()=>pb,camera_sensor_init:()=>Ky,camera_sensor_result:()=>Jy,column_tube_foot:()=>jy,define_keyboards:()=>$y,educore_body_sensor:()=>yy,educore_button_sensor_extern:()=>Gy,educore_camera_sensor:()=>Wy,educore_infrared_sensor:()=>By,educore_soilhum_sensor:()=>xy,educore_temp_sensor:()=>ky,educore_temphum_sensor:()=>Vy,educore_ultrasonic_sensor:()=>wy,esp32_s2_weather_init:()=>$b,esp32_s2_weather_rain:()=>ty,esp32_s2_weather_wd:()=>Zb,esp32_s2_weather_ws:()=>ey,extern_rfid_read:()=>Gb,extern_rfid_readcontent:()=>wb,extern_rfid_readid:()=>Ub,extern_rfid_status:()=>Wb,extern_rfid_write:()=>Hb,extern_rfid_write_return:()=>kb,get_keboards_value:()=>tx,gnss_get_data:()=>Ey,gnss_have_data:()=>Oy,init_init_rotary_encoder:()=>ex,init_matrix_keyboard:()=>Zy,interaction_whether_to_interaction:()=>Eb,interaction_whether_to_interaction_SANT:()=>Ob,line_tube_foot:()=>zy,mixbot_sensor_extern_get_addr:()=>fy,mixbot_sensor_extern_set_addr:()=>Fy,pm25_get_data:()=>my,radar_set_DETECTION_THRESHOLD:()=>hb,radar_set_DETECTION_THRESHOLD_SANT:()=>mb,robot_button_extern_get_value:()=>cy,robot_color_extern_get_value:()=>Ly,robot_infrared_extern_get_value:()=>Cy,robot_infrared_extern_grey_get_value:()=>Sy,robot_potentiometer_extern_get_value:()=>Ay,robot_sonar_extern_get_value:()=>Ny,robot_sonar_extern_led:()=>Dy,robot_touch_extern_get_value:()=>gy,rotary_key:()=>ix,sensor_APDS9960_extern:()=>Lb,sensor_DS18X20:()=>by,sensor_LTR308_extern:()=>Nb,sensor_LTR390UV_extern:()=>Xb,sensor_MAX30102_extern:()=>Ab,sensor_QMC5883L_extern:()=>bb,sensor_VL530LX_extern:()=>Vb,sensor_aht11_extern:()=>xb,sensor_bmp:()=>Ib,sensor_dht11:()=>dy,sensor_distance_hrsc04:()=>_b,sensor_hp203_extern:()=>Db,sensor_ltr381_extern:()=>vb,sensor_mixgo_extern_button_attachInterrupt:()=>sb,sensor_mixgo_extern_button_get_presses:()=>nb,sensor_mixgo_extern_button_is_pressed:()=>eb,sensor_mixgo_extern_button_was_pressed:()=>ib,sensor_mixgo_extern_light:()=>ub,sensor_mixgo_extern_pin_near:()=>db,sensor_mixgo_extern_sound:()=>rb,sensor_mixgoce_hot_wheel_degrees:()=>jb,sensor_mixgoce_hot_wheel_is_touched:()=>zb,sensor_mpu9250_attachGestureInterrupt:()=>ob,sensor_ms5611_extern:()=>Fb,sensor_ms5611_extern_altitude:()=>Pb,sensor_read_humiture:()=>Uy,sensor_rtc_init:()=>lb,sensor_sht:()=>Tb,sensor_shtc3_extern:()=>yb,sensor_spl06_001_extern:()=>fb,sensor_ucs12071_extern:()=>Yb,sensor_use_i2c_init:()=>Mb,sensor_use_spi_init:()=>Bb,sensor_use_uart_init:()=>hy,sensor_weather_solo_init:()=>Py,sensor_weather_solo_rain:()=>Xy,sensor_weather_solo_wd:()=>vy,sensor_weather_solo_ws:()=>Yy,sensor_weigh_init:()=>Qy,tvoc_get_data:()=>Ry,ultrasonic_sensor_read_distance:()=>Hy,weather_data:()=>Kb,weather_have_data:()=>Jb,weather_set_label:()=>qb,weather_uart_mixio:()=>Qb,weigh_sensor_get_weight:()=>qy});var nt={};t.r(nt),t.d(nt,{HCSR04:()=>dx,bitbot_als_num:()=>YV,dht11:()=>UV,educore_button_sensor:()=>QV,educore_button_was_pressed:()=>qV,educore_gyroscope_sensor:()=>WV,educore_gyroscope_sensor_read:()=>KV,educore_gyroscope_sensor_shake:()=>JV,educore_light_sensor:()=>kV,educore_rfid_sensor:()=>zV,educore_rfid_sensor_scan:()=>jV,educore_rfid_sensor_scan_data:()=>$V,educore_voice_sensor:()=>wV,number1:()=>lx,number2:()=>Ix,number3:()=>Tx,number4:()=>Mx,number5:()=>hx,number6:()=>mx,number7:()=>Ex,onboard_RTC_get_time:()=>uV,onboard_RTC_get_time_str:()=>lV,onboard_RTC_get_timestamp:()=>rV,onboard_RTC_get_timetuple_to_str:()=>IV,onboard_RTC_set_datetime:()=>pV,onboard_RTC_settime_string:()=>aV,onboard_RTC_timestamp_totuple:()=>dV,rfid_readcontent:()=>Xx,rfid_readid:()=>Yx,rfid_status:()=>xx,rfid_write:()=>bx,rfid_write_return:()=>yx,sensor_LTR308:()=>Dx,sensor_adxl345_get_acceleration:()=>Kx,sensor_aht11:()=>Px,sensor_bitbot_ALS:()=>vV,sensor_button_get_presses:()=>yV,sensor_button_is_pressed:()=>XV,sensor_button_was_pressed:()=>bV,sensor_compass_reset:()=>$x,sensor_ds18x20:()=>Lx,sensor_eulerangles:()=>Bx,sensor_get_acceleration:()=>Vx,sensor_get_temperature:()=>vx,sensor_get_the_coprocessor_version:()=>ZV,sensor_hp203:()=>Fx,sensor_light:()=>GV,sensor_lm35:()=>Nx,sensor_mixbot_get_gyro:()=>PV,sensor_mixbot_patrol_calibrate:()=>DV,sensor_mixbot_patrol_value:()=>fV,sensor_mixbot_temperature:()=>FV,sensor_mixgo_LTR308:()=>Cx,sensor_mixgo_button_attachInterrupt:()=>_x,sensor_mixgo_button_get_presses:()=>ox,sensor_mixgo_button_is_pressed:()=>nx,sensor_mixgo_button_was_pressed:()=>sx,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>hV,sensor_mixgo_cc_mmc5603_get_angle:()=>MV,sensor_mixgo_cc_mmc5603_get_magnetic:()=>TV,sensor_mixgo_light:()=>BV,sensor_mixgo_nova_LTR308:()=>Ax,sensor_mixgo_nova_pin_near:()=>gx,sensor_mixgo_pin_near:()=>cx,sensor_mixgo_pin_near_double:()=>Rx,sensor_mixgo_pin_near_single:()=>Ox,sensor_mixgo_pin_pressed:()=>kx,sensor_mixgo_sant_color:()=>Sx,sensor_mixgo_touch_slide:()=>Hx,sensor_mixgocar42_button_attachInterrupt:()=>rx,sensor_mixgocar42_button_get_presses:()=>ux,sensor_mixgocar42_button_is_pressed:()=>px,sensor_mixgocar42_button_was_pressed:()=>ax,sensor_mixgocar_battery_left:()=>NV,sensor_mixgocar_pin_near:()=>AV,sensor_mixgocar_pin_near_line:()=>SV,sensor_mixgocar_pin_near_state_change:()=>LV,sensor_mixgoce_pin_pressed:()=>wx,sensor_mixgoce_temperature:()=>EV,sensor_mixgome_temperature:()=>mV,sensor_mpu9250_calibrate_compass:()=>qx,sensor_mpu9250_field_strength:()=>jx,sensor_mpu9250_gesture:()=>Gx,sensor_mpu9250_get_acceleration:()=>Ux,sensor_mpu9250_get_gyro:()=>Qx,sensor_mpu9250_get_magnetic:()=>Jx,sensor_mpu9250_temperature:()=>zx,sensor_mpython_pin_pressed:()=>Wx,sensor_mpython_qmi8658_get_gyro:()=>OV,sensor_mpython_qmi8658_temperature:()=>RV,sensor_onboard_compass_reset:()=>_V,sensor_onboard_mpu9250_calibrate_compass:()=>nV,sensor_onboard_mpu9250_field_strength:()=>oV,sensor_onboard_mpu9250_gesture:()=>Zx,sensor_onboard_mpu9250_get_acceleration:()=>tV,sensor_onboard_mpu9250_get_gyro:()=>iV,sensor_onboard_mpu9250_get_magnetic:()=>eV,sensor_onboard_mpu9250_temperature:()=>sV,sensor_pin_near:()=>VV,sensor_pin_pressed:()=>xV,sensor_read:()=>HV,sensor_rm_acc:()=>CV,sensor_rm_battery_left:()=>gV,sensor_rm_pin_near_double:()=>cV,sensor_sound:()=>fx,simulated_light_sensor:()=>tB});var st={};t.r(st),t.d(st,{serial_any:()=>oB,serial_print:()=>eB,serial_print_byte:()=>iB,serial_print_hex:()=>sB,serial_println:()=>nB,serial_read_from_ai:()=>hB,serial_readline:()=>pB,serial_readstr:()=>_B,serial_send_to_ai:()=>MB,serial_softserial:()=>aB,serial_softserial_new:()=>uB,system_input:()=>rB,system_print:()=>dB,system_print_end:()=>IB,system_print_inline:()=>lB,system_print_many:()=>TB});var ot={};t.r(ot),t.d(ot,{Panic_with_status_code:()=>DB,Timer_init:()=>kB,base_delay:()=>JB,controls_delay:()=>YB,controls_delay_new:()=>XB,controls_end_program:()=>FB,controls_millis:()=>fB,controls_uname:()=>vB,reset:()=>PB,set_system_timer:()=>yB,system_bitbot_shutdown:()=>HB,system_device_name:()=>LB,system_device_serial_number:()=>NB,system_event_bus_source:()=>SB,system_event_bus_value:()=>AB,system_machine_reset:()=>wB,system_on_event:()=>cB,system_raise_event:()=>RB,system_reset:()=>EB,system_run_in_background:()=>mB,system_ticks_diff:()=>xB,system_timer:()=>BB,system_timer_init:()=>VB,system_timestamp:()=>gB,system_value:()=>CB,system_wait:()=>OB,system_wdt_feed:()=>UB,system_wdt_init:()=>GB,time_ticks_diff:()=>KB,timer:()=>bB,timer2:()=>WB});var _t={};t.r(_t),t.d(_t,{Air_daily_content:()=>_G,Air_now_content:()=>ZB,Geo_moon_content:()=>aG,Geo_sun_content:()=>pG,Life_suggestion_content:()=>eG,Location_search_content:()=>nG,Tide_daily_content:()=>iG,WEATHER_DAILY:()=>qB,WEATHER_HOUR:()=>zB,WEATHER_NOW:()=>QB,Weather_alarm_content:()=>tG,Weather_daily:()=>sG,Weather_daily_content:()=>oG,Weather_now:()=>jB,Weather_now_content:()=>$B});var pt={};t.r(pt),t.d(pt,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>dG});var at={};t.r(at),t.d(at,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>IG});var ut={};t.r(ut),t.d(ut,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>MG});var rt={};t.r(rt),t.d(rt,{analog_input:()=>DG,analog_output:()=>FG,espnow_channel:()=>AG,haskylens_model:()=>LG,i2c_A_pin:()=>PG,i2c_B_pin:()=>vG,pins_analog:()=>xG,pins_analog_pin:()=>VG,pins_axis:()=>tU,pins_brightness:()=>eU,pins_builtinimg:()=>JG,pins_builtinimg_extern:()=>QG,pins_button:()=>UG,pins_dac:()=>BG,pins_dac_pin:()=>GG,pins_digital:()=>RG,pins_digital_dot:()=>uU,pins_digital_pin:()=>cG,pins_exlcdh:()=>$G,pins_exlcdv:()=>ZG,pins_imglist:()=>qG,pins_input_pin:()=>gG,pins_mpython_touch:()=>SG,pins_one_more:()=>aU,pins_output_pin:()=>CG,pins_playlist:()=>zG,pins_playlist_extern:()=>jG,pins_pwm:()=>wG,pins_pwm_pin:()=>HG,pins_radio_datarate:()=>pU,pins_radio_power:()=>_U,pins_serial:()=>KG,pins_tone_notes:()=>oU,pins_touch:()=>WG,pins_touch_pin:()=>kG,pins_tts_bgmusic:()=>sU,pins_tts_builtin_music:()=>nU,pins_tts_voice:()=>iU,pwm_input:()=>NG,pwm_output:()=>fG,spi_A_pin:()=>YG,spi_B_pin:()=>XG,spi_C_pin:()=>bG,spi_D_pin:()=>yG});var dt={};t.r(dt),t.d(dt,{espnow_channel:()=>OU,haskylens_model:()=>RU,pins_analog:()=>hU,pins_analog_pin:()=>MU,pins_axis:()=>YU,pins_brightness:()=>yU,pins_builtinimg:()=>DU,pins_builtinimg_extern:()=>fU,pins_button:()=>dU,pins_dac:()=>CU,pins_dac_pin:()=>gU,pins_digital:()=>rU,pins_digital_dot:()=>kU,pins_digital_pin:()=>lU,pins_exlcdh:()=>XU,pins_exlcdv:()=>bU,pins_imglist:()=>FU,pins_input_pin:()=>IU,pins_interrupt:()=>LU,pins_mpython_touch:()=>cU,pins_one_more:()=>HU,pins_output_pin:()=>TU,pins_playlist:()=>PU,pins_playlist_extern:()=>vU,pins_pwm:()=>EU,pins_pwm_pin:()=>mU,pins_radio_datarate:()=>wU,pins_radio_power:()=>UU,pins_serial:()=>NU,pins_tone_notes:()=>GU,pins_touch:()=>AU,pins_touch_pin:()=>SU,pins_tts_bgmusic:()=>BU,pins_tts_builtin_music:()=>VU,pins_tts_voice:()=>xU});const lt=Blockly,It=Mixly,Tt={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},Mt=Tt; -/** - * @license - * Visual Blocks Editor - * - * Copyright 2012 Google Inc. - * https://developers.google.com/blockly/ - * - * 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. - */ -class ht{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var i=t.split(","),n=0;n0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(lt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(lt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_if_else");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(lt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(lt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},bt={init:function(){this.setColour(ft),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.PYTHON_RANGE).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},yt={init:function(){this.setColour(ft),this.appendValueInput("LIST").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(lt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return lt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},xt={init:function(){this.setColour(ft),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new lt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(lt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:lt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:lt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Vt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=document.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(t){var e=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?i[s]=e.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?n[s]=e.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(t.getAttribute("elseif"),10),this.elseCount_=parseInt(t.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var i=e.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=t.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var o=t.newBlock("controls_finally");o.initSvg(),i.connect(o.previousConnection)}return e},compose:function(t){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var e=this.elseifCount_;e>0;e--)this.removeInput("IF"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var i=t.getInputTargetBlock("STACK"),n=[null],s=[null],o=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,o=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,o)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),i=1;e;){switch(e.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);e.valueConnection_=n&&n.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");e.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var t=[null],e=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),o=this.getInput("DO"+n);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(o.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(t,e,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck([Number,Boolean]).appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(lt.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,i){for(var n=1;n<=this.elseifCount_;n++)t[n]&&t[n].reconnect(this,"IF"+n),e[n]&&e[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Bt={init:function(){this.setColour(ft);var t=new lt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:lt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:lt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[t]}))},onchange:function(){if(this.workspace){var t=!1,e=this;do{if("controls_repeat"==e.type||"controls_for"==e.type||"controls_forEach"==e.type||"controls_repeat_ext"==e.type||"controls_whileUntil"==e.type||"do_while"==e.type){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Gt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new lt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return lt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ut={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new lt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return lt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};xt.OPERATORS=[[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Bt.OPERATORS=[[lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[lt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const wt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ht={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},kt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(lt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Wt={init:function(){this.setColour(ft),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Kt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Jt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(lt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Qt={init:function(){this.jsonInit({message0:lt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:ft,tooltip:lt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:lt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},qt={init:function(){this.setColour(ft),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_STAT),this.setOutput(!0)}},zt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},jt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},$t={init:function(){this.appendDummyInput().appendField(lt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+lt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(lt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new lt.FieldDropdown([[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[lt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ft),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Zt={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},te={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ee={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},ie={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_GET_UNIQUE_IDEN)}},ne={init:function(){this.setColour(ft),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(lt.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},se={init:function(){this.setColour(ft),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},oe=230;lt.FieldTextInput.math_number_validator=function(t){return String(t)},lt.FieldTextInput.math_number_validator_include_blank=function(t){if(""===t)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null};const _e={init:function(){this.setColour(oe),this.appendDummyInput().appendField(new lt.FieldTextInput("0",lt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MATH_NUMBER_TOOLTIP)}},pe={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(lt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new lt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},ae={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(lt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new lt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:lt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},ue={init:function(){this.setColour(oe),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:lt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:lt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:lt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},re={init:function(){this.setColour(oe),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{ADD:lt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:lt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:lt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:lt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:lt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},de={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new lt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},le={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new lt.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{SIN:lt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:lt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:lt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:lt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:lt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:lt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:lt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ie={init:function(){var t=[[lt.Msg.MATH_BIN,"bin"],[lt.Msg.MATH_OCT,"oct"],[lt.Msg.MATH_HEX,"hex"]];this.setColour(oe),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new lt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:lt.Msg.MATH_DEC_TOOLTIP_BIN,oct:lt.Msg.MATH_DEC_TOOLTIP_OCT,hex:lt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Te={init:function(){var t=[[lt.Msg.LANG_MATH_TO_ROUND,"round"],[lt.Msg.LANG_MATH_TO_CEIL,"ceil"],[lt.Msg.LANG_MATH_TO_FLOOR,"floor"],[lt.Msg.MATH_ABS,"fabs"],[lt.Msg.MATH_SQRT,"sqrt"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).appendField(new lt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:lt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:lt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:lt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:lt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:lt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:lt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Me={init:function(){var t=[[lt.Msg.MIXLY_MAX,"max"],[lt.Msg.MIXLY_MIN,"min"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(lt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:lt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:lt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},he={init:function(){var t=[[lt.Msg.MATH_TWO,"two"],[lt.Msg.MATH_EIGHT,"eight"],[lt.Msg.MATH_TEN,"ten"],[lt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(oe),this.appendDummyInput("").appendField(lt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new lt.FieldDropdown(t),"OP").appendField(lt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MATH_ZHW).appendField(new lt.FieldDropdown(t),"OP2").appendField(lt.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i={two:lt.Msg.MATH_Before_two,eight:lt.Msg.MATH_Before_eight,ten:lt.Msg.MATH_Before_ten,sixteen:lt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:lt.Msg.MATH_Behind_two,eight:lt.Msg.MATH_Behind_eight,ten:lt.Msg.MATH_Behind_ten,sixteen:lt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},me={init:function(){var t=[[lt.Msg.LANG_MATH_INT,"int"],[lt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(oe),this.setOutput(!0,Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new lt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(lt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:lt.Msg.LANG_MATH_INT,float:lt.Msg.LANG_MATH_FLOAT_RANDOM};return lt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Ee={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(lt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(lt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Oe={init:function(){this.setColour(oe),this.appendValueInput("NUM",Number).appendField(lt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(lt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(lt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Re={init:function(){this.setColour(oe),this.appendDummyInput().appendField(new lt.FieldTextInput("0",lt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(lt.Msg.MATH_NUMBER_TOOLTIP)}},ce={init:function(){this.setColour(oe),this.appendValueInput("NUM").setCheck(Number).appendField(lt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},ge={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MATH_ROUND).appendField(lt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(lt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(lt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ce={init:function(){var t=[[lt.Msg.MIXLY_TO_INT,"int"],[lt.Msg.MIXLY_TO_FLOAT,"float"],[lt.Msg.MIXLY_TO_BITES,"b"],[lt.Msg.LANG_MATH_BYTE+lt.Msg.MIXLY_TO_INT,"bti"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:lt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:lt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:lt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Se={init:function(){var t=[[lt.Msg.MIXLY_TO_INT,"int"],[lt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:lt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:lt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ae=Oe,Le={init:function(){this.setColour(oe),this.appendValueInput("VAR").appendField(lt.Msg.LANG_MATH_BYTE+lt.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},Ne={init:function(){this.setColour(oe),this.itemCount_=1,this.setMutator(new lt.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(lt.Msg.MIXLY_PRODUCT+lt.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(lt.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(lt.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(lt.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("lists_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n1&&"\\"===t.charAt(0)){var e=t.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(t).substring(0,2);if("x"===e&&"0"===t.charAt(2)&&"B"===t.charAt(3))return String(t).substring(0,4)}return String(t).substring(0,1)};const Xe={init:function(){this.setColour(Fe),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new lt.FieldTextInput("",lt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(lt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new lt.FieldImage(e,7,12,'"')}},be={init:function(){this.setColour(Fe),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(lt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ye={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},xe={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(String).appendField(lt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ve={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Be={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ge={init:function(){this.WHERE_OPTIONS=[[lt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[lt.Msg.TEXT_GET_INDEX_RANDOM+1+lt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.LISTS_GET_INDEX_GET,"MODE"),lt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(lt.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=t.getFieldValue("WHERE"),n="";switch(e+" "+i){case"GET FROM_START":case"GET FROM_END":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=lt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+lt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",lt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:lt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:lt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:lt.Msg.TEXT_GET_INDEX_RANDOM};return lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+lt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==lt.INPUT_VALUE;return t.setAttribute("at",e),t},domToMutation:function(t){var e="true"==t.getAttribute("statement");this.updateStatement_(e),t="false"!=t.getAttribute("at"),this.updateAt_(t)},updateStatement_:function(t){t!=!this.outputConnection&&(this.unplug(!0,!0),t?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck(Number),lt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(lt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new lt.FieldDropdown(this.WHERE_OPTIONS,(function(e){var i="FROM_START"==e||"FROM_END"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),lt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ue={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(lt.Msg.LISTS_GET_INDEX_GET+" "+lt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(lt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+lt.Msg.LISTS_GET_INDEX_FROM_START+"n"+lt.Msg.TEXT_CHARAT2)}},we={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(lt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(lt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},He={init:function(){this.WHERE_OPTIONS_1=[[lt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[lt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[lt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[lt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[lt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(lt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==lt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==lt.INPUT_VALUE;return t.setAttribute("at2",i),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),i="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,i)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),lt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(lt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new lt.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=e){var s=this.sourceBlock_;return s.updateAt_(t,n),s.setFieldValue(i,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(i,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},ke={init:function(){this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(lt.Msg.LISTS_GET_INDEX_GET+" "+lt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(lt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(lt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(lt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},We={init:function(){var t=[[lt.Msg.MIXLY_EQUALS,"==="],[lt.Msg.MIXLY_STARTSWITH,"startswith"],[lt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Fe),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new lt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ke={init:function(){this.setColour(Fe),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(lt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_COMPARETO_HELP)}},Je={init:function(){var t=[[lt.Msg.TEXT_UPPER,"upper"],[lt.Msg.TEXT_TITLE,"title"],[lt.Msg.TEXT_CAPITALIZE,"capitalize"],[lt.Msg.TEXT_SWAPCASE,"swapcase"],[lt.Msg.TEXT_LOWER,"lower"]];this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new lt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:lt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:lt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:lt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:lt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:lt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Qe={init:function(){var t=[[lt.Msg.TEXT_LJUST,"ljust"],[lt.Msg.TEXT_CENTER,"center"],[lt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Fe),this.appendValueInput("VAR").appendField(new lt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(lt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(lt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},qe={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(lt.Msg.MIXLY_MID+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(lt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},ze={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},je={init:function(){this.setColour(Fe),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(lt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(lt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},$e={init:function(){this.setColour(Fe),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(lt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(lt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Ze={init:function(){var t=[[lt.Msg.TEXT_TRIM_BOTH,"strip"],[lt.Msg.TEXT_TRIM_LEFT,"lstrip"],[lt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Fe),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(lt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new lt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(lt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:lt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:lt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:lt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ti={init:function(){this.setColour(Fe),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new lt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new lt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("text_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},zi={init:function(){this.setColour(Qi),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},ji={init:function(){this.setColour(Qi),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},$i={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_KEYS),this.setTooltip(lt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Zi={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(lt.Msg.DICTS_GET_TOOLTIP)}},tn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(lt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(lt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},en={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},nn={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(lt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_DELETE_TOOLTIP)}},sn={init:function(){this.setColour(Qi),this.appendValueInput("DICT2").setCheck("Dict").appendField(lt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(lt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MID),this.setTooltip(lt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},on={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_CLEAR),this.setTooltip(lt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_n={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_ITEMS),this.setTooltip(lt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},pn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_VALUES),this.setTooltip(lt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_LENGTH),this.setTooltip(lt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},un={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.DICT_DELDICT),this.setTooltip(lt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rn={init:function(){this.MODE=[[lt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[lt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(lt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(lt.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e="";switch(t.getFieldValue("WHERE")){case"INSERT":e=lt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=lt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==lt.INPUT_VALUE;return t.setAttribute("at2",e),t},domToMutation:function(t){var e="true"==t.getAttribute("at2");this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),t?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var e=new lt.FieldDropdown(this.MODE,(function(e){var i="INSERT"==e;if(i!=t){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},dn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(lt.Msg.DICTS_ADD_VALUE),this.setTooltip(lt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},ln={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(lt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(lt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},In={init:function(){this.setColour(Qi),this.appendDummyInput("").appendField(new lt.FieldLabel(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new lt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("dicts_create_with_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Tn={init:function(){this.setColour(Qi),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Mn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TO_JSON),this.setTooltip(lt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},hn={init:function(){this.setColour(Qi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(lt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},mn={init:function(){this.setColour(Qi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},En={init:function(){this.setColour(Qi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TO_JSON),this.setTooltip(lt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},On=210,Rn={init:function(){var t=lt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:lt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:lt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:lt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:lt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:lt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:lt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},cn={init:function(){var t=lt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=lt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new lt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},gn={init:function(){var t=[[lt.Msg.LOGIC_OPERATION_AND,"AND"],[lt.Msg.LOGIC_OPERATION_OR,"OR"],[lt.Msg.LOGIC_OPERATION_NOR,"NOR"],[lt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new lt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:lt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:lt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:lt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:lt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Cn={init:function(){this.setColour(On),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(lt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(lt.Msg.LOGIC_NEGATE_TOOLTIP)}},Sn={init:function(){var t=[[lt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[lt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(On),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new lt.FieldDropdown(t),"BOOL"),this.setTooltip(lt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},An={init:function(){this.setColour(On),this.setOutput(!0),this.appendDummyInput().appendField(lt.Msg.LOGIC_NULL),this.setTooltip(lt.Msg.LOGIC_NULL_TOOLTIP)}},Ln={init:function(){this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").appendField(lt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(lt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},Nn={init:function(){var t=[[lt.Msg.TEXT_APPEND_TO,"in"],[lt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new lt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(lt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.IN)}},Dn={init:function(){var t=[[lt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[lt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(On),this.appendValueInput("A"),this.appendValueInput("B").appendField(new lt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},fn={init:function(){this.setColour(On),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(lt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Fn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(lt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Pn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[lt.Msg.MIXLY_ADD,"a"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_ADD,"ab"],[lt.Msg.MIXLY_R_W,"r+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_R_W,"rb+"],[lt.Msg.MIXLY_W_R,"w+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_W_R,"wb+"],[lt.Msg.MIXLY_A_R,"a+"],[lt.Msg.MATH_BIN+lt.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},vn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG,_=lt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(lt.Msg.MIXPY_TEXT_ENCODE).appendField(new lt.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_USE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=lt.Msg.MIXLY_BELONG,_=lt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Xn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+lt.Msg.MIXLY_MICROBIT_TYPE_STRING+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(lt.Msg.MICROBIT_PYTHON_TYPE)}},Vn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.HTML_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Un={init:function(){this.setColour(0),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const wn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Kn={init:function(){this.setColour(0),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Jn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+lt.Msg.MIXLY_ESP32_SET+{mkdir:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(lt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.HTML_FILE,"isfile"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},jn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(lt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$n={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(lt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Zn={init:function(){var t=lt.Procedures.findLegalName("",this),e=new lt.FieldTextInput(t,lt.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new lt.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&<.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(lt.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(lt.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(lt.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(lt.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=lt.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),lt.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{lt.Events.enable()}},mutationToDom:function(t){var e=lt.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(lt.Msg.MIXLY_AIP_ATTR).setAlign(lt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},qs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_FORM_CONTENT).appendField(new lt.FieldDropdown([[lt.Msg.HTML_TEXT,"text"],[lt.Msg.HTML_EMAIL,"email"],[lt.Msg.HTML_NUMBER,"number"],[lt.Msg.HTML_PASSWORD,"password"],[lt.Msg.HTML_CHECKBOX,"checkbox"],[lt.Msg.HTML_RADIOBUTTON,"radiobutton"],[lt.Msg.HTML_BUTTON,"button"],[lt.Msg.HTML_COLOUR,"colour"],[lt.Msg.HTML_DATE,"date"],[lt.Msg.HTML_LOCALTIME,"local time"],[lt.Msg.HTML_FILE,"file"],[lt.Msg.HTML_HIDDEN,"hidden"],[lt.Msg.HTML_IMAGE,"image"],[lt.Msg.HTML_MONTH,"month"],[lt.Msg.HTML_RANGE,"range"],[lt.Msg.HTML_RESET,"reset"],[lt.Msg.HTML_SEARCH,"search"],[lt.Msg.HTML_SUBMIT,"submit"],[lt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[lt.Msg.HTML_TIME,"time"],[lt.Msg.HTML_URL,"url"],[lt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(lt.Msg.HTML_NAME).appendField(new lt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(lt.Msg.HTML_VALUE).appendField(new lt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(lt.Msg.MIXLY_AIP_ATTR).setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zs={init:function(){this.setColour(ws),this.appendDummyInput().appendField(new lt.FieldTextInput("property"),"KEY").appendField(":").appendField(new lt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},js={init:function(){this.setColour(ws),this.appendDummyInput().appendField(new lt.FieldTextInput("property"),"KEY").appendField(":").appendField(new lt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$s={init:function(){this.setColour(ws),this.appendDummyInput().appendField(lt.Msg.HTML_TEXT).appendField(new lt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zs=160,to={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new lt.FieldTable(""),"TEXT")}},eo={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new lt.FieldMultilineInput(""),"TEXT")}},io={init:function(){this.setColour(Zs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new lt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},no={init:function(){this.setColour(Zs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},so={init:function(){this.setColour(Zs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new lt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},oo={init:function(){this.setColour(Zs),this.appendValueInput("VALUE").appendField(lt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},_o={init:function(){this.setColour(Zs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(lt.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=lt.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,i){return"("+t+" <= "+e+") and "+a()+"("+t+", "+e+", "+i+") or "+u()+"("+t+", "+e+", "+i+")"},lt.isNumber(n)&<.isNumber(s)&<.isNumber(o))n=parseFloat(n),s=parseFloat(s),o=Math.abs(parseFloat(o)),0==n%1&&0==s%1&&0==o%1?(n<=s?(s++,t=0==n&&1==o?s:n+", "+s,1!=o&&(t+=", "+o)):t=n+", "+--s+", -"+o,t="range("+t+")"):(t=n",GTE:">="};const ia=function(t,e){var i=this.getFieldValue("OP"),n="&&"==i?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",n)||"False",o=e.valueToCode(this,"B",n)||"False";if("AND"==i)var _=s+" and "+o;else if("OR"==i)_=s+" or "+o;else if("NOR"==i)_="not("+s+"^"+o+")";else _=s+"^"+o;return[_,n]},na=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},sa=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},oa=function(t,e){return["None",e.ORDER_ATOMIC]},_a=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+i+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},pa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},aa=function(t,e){var i=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",n=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,e.ORDER_ATOMIC]},ua=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},ra=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},da=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},la=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ia=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Ta=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ma=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},ha=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ma=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ea=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Oa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Ra=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},ca=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},ga=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Ca=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Sa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Aa=function(t,e){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+n+")\n"},La=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Na=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Da=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},fa=function(t,e){return e.definitions_.import_os="import os","os.rename("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+","+e.valueToCode(this,"NEWFILE",e.ORDER_ATOMIC)+")\n"},Fa=function(t,e){e.definitions_.import_os="import os";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",e.ORDER_ATOMIC]},Pa=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = sdcard.SDCard("+e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PINSUB",e.ORDER_ATOMIC)+")\n"},va=function(t,e){return e.definitions_.import_os="import os",e.definitions_.import_sdcard="import sdcard","os.mount("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DIR",e.ORDER_ATOMIC)+")\n"},Ya=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),lt.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&e.statementToCode(this,"STACK"))??" pass\n";e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var o=[],_=0;_\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},hu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},mu=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Eu=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Ou=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Ru=function(t,e){return'"},cu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},gu=function(){return this.getFieldValue("TEXT")+"\n"},Cu=function(t){return t.getFieldValue("TEXT")+"\n"},Su=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Au=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Lu=function(){return""},Nu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Du=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n")},vu.scrubNakedValue=function(t){return t+"\n"},vu.quote_=function(t){var e="'";return-1!==t.indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},vu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},vu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=lt.utils.string.wrap(o,vu.COMMENT_WRAP-3),n+=vu.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Yu="#74A55B",Xu={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(lt.Msg.MIXLY_RGB_PIN_COUNT)}},bu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},yu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},xu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Vu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Bu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(lt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(lt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Gu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Uu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_RESET)}},wu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hu={init:function(){this.setColour(Yu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(lt.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},ku={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Wu={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ku={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},Ju={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},Qu={init:function(){this.setColour(Yu),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qu={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_MOVE)}},zu={init:function(){this.setColour(Yu),this.appendValueInput("VAR").appendField("360°"+lt.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SETTING+lt.Msg.blockpy_turtle_rotate+lt.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},ju={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("180°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_MOVE)}},$u={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("360°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Zu={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("180°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},tr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).appendField("360°"+lt.Msg.MIXLY_SERVO).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},er={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new lt.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(lt.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},ir={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[lt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[lt.Msg.MOTOR_N,"ms32006.MOT_N"],[lt.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},nr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new lt.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"ms32006.MOT_CW"],[lt.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},sr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(lt.Msg.MIXLY_RGB_PIN_COUNT)}},or={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},_r={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},pr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_WRI)}},ar={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ur={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},rr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new lt.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([["SYN6288"+lt.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+lt.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_WHETHER).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_STOPPED,"0"],[lt.Msg.MIXLY_PLAYING,"1"],[lt.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},lr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_STAT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MP3_PLAY,"1"],[lt.Msg.MIXLY_MP3_PAUSE,"2"],[lt.Msg.MIXLY_STOP,"3"],[lt.Msg.MIXLY_MP3_PREV,"4"],[lt.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ir={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(lt.Msg.MIXLY_MP3_VOL+lt.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},Tr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MODE+lt.Msg.MIXLY_STAT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MP3_LOOP_ALL,"0"],[lt.Msg.MIXLY_MP3_LOOP_ONE,"1"],[lt.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[lt.Msg.MIXLY_MP3_LOOP_RAM,"3"],[lt.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[lt.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[lt.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},hr={},mr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Er={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Or={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(lt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Rr={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(lt.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(lt.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(lt.Msg.MIXLY_PROGRAM_BLOCK).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},cr={init:function(){this.setColour(Yu),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},gr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Cr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_TRAFFIC_LIGHT).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.LISTS_SET_INDEX_SET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[lt.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ar={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_WHITE,"W"],[lt.Msg.COLOUR_RGB_RED,"R"],[lt.Msg.COLOUR_RGB_YELLOW,"Y"],[lt.Msg.COLOUR_RGB_GREEN,"G"],[lt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Lr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_WHITE,"W"],[lt.Msg.COLOUR_RGB_RED,"R"],[lt.Msg.COLOUR_RGB_YELLOW,"Y"],[lt.Msg.COLOUR_RGB_GREEN,"G"],[lt.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},Nr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[lt.Msg.MIXLY_SPEED,"[1]"],[lt.Msg.MATH_SINGLE_OP_ABSOLUTE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[lt.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[lt.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[lt.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[lt.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MATH_SINGLE_OP_ABSOLUTE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"0"],[lt.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[lt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Pr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField("("+lt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Yr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.ME_GO_MOTOR_EXTERN+lt.Msg.MIXLY_SERVO_MOTOR).appendField(lt.Msg.MIXLY_RELATIVE+lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+lt.Msg.MSG.run).appendField("("+lt.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(lt.Msg.PIN_NUMBERING).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LEFT,"0"],[lt.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MODE).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPEED+lt.Msg.MIXLY_MODE,"0"],[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER+lt.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"0"],[lt.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MOTOR,"ext_motor"],[lt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[lt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[lt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[lt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[lt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[lt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[lt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},br={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.ME_GO_MOTOR_EXTERN).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MOTOR,"ext_motor"],[lt.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[lt.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[lt.Msg.COLOUR_RGB_RED+"LED","R_LED"],[lt.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[lt.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[lt.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[lt.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},xr={init:function(){this.setColour(Yu),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SERVO+lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Br={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gr={init:function(){this.setColour(Yu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_MOTOR+lt.Msg.MIXLY_SETUP+lt.Msg.MIXLY_AT).appendField(lt.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Ur={init:function(){this.setColour(Yu),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+lt.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wr="#6C9858",Hr={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},kr={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_ON,"1"],[lt.Msg.MIXLY_ESP32_OFF,"0"],[lt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Wr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Kr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},Jr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Qr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_BUILDIN_LED+lt.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},qr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(lt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(lt.Msg.MIXLY_LCD_SETCOLOR).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_LIGHT_RED,"1"],[lt.Msg.MIXLY_LIGHT_GREEN,"2"],[lt.Msg.MIXLY_LIGHT_BLUE,"3"],[lt.Msg.MIXLY_LIGHT_YELLOW,"4"],[lt.Msg.MIXLY_LIGHT_CYAN,"5"],[lt.Msg.MIXLY_LIGHT_PURPLE,"6"],[lt.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},zr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},jr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(lt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},$r={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(lt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Zr={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_SETTING).appendField(lt.Msg.MIXLY_BUILDIN_LED).appendField(new lt.FieldDropdown([[lt.Msg.COLOUR_RGB_RED,"r"],[lt.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_BUILDIN_LED+lt.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},td={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(new lt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},id={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},nd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},sd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},od={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_WRI)}},_d={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(It.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(lt.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},pd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ad={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(lt.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.PYTHON_RANGE_STEP).appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ud={init:function(){this.setColour(wr),this.appendValueInput("TICKS").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(lt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(lt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},rd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},dd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_RESET)}},ld={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Id={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Td={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Md={init:function(){this.setColour(wr),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},hd={init:function(){this.setColour(wr),this.appendValueInput("LIST").appendField(lt.Msg.MIXLY_BACKSTAGE+lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},md={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"],[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ed={init:function(){this.setColour(wr),this.appendDummyInput().appendField("MixGo Car").appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Od={init:function(){this.setColour(wr),this.appendDummyInput("").appendField("MixGo Car").appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Rd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([[lt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[lt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MOTOR_DC).appendField(new lt.FieldDropdown([[lt.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[lt.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_STOP).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Cd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[lt.Msg.MIXLY_SPEED,"SPEED"],[lt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Sd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ad={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXBOT).appendField(lt.Msg.MIXLY_MOTOR).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"1"],[lt.Msg.TEXT_TRIM_RIGHT,"2"],[lt.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[lt.Msg.MIXLY_SPEED,"SPEED"],[lt.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Ld={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[lt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(new lt.FieldDropdown([[lt.Msg.blockpy_forward,"F"],[lt.Msg.blockpy_backward,"B"],[lt.Msg.blockpy_left,"L"],[lt.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(new lt.FieldDropdown([[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.BITBOT).appendField(lt.Msg.MIXLY_MOTOR).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"0"],[lt.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Direction).appendField(new lt.FieldDropdown([[lt.Msg.CLOCKWISE,"CW"],[lt.Msg.ANTI_CLOCKWISE,"CCW"],[lt.Msg.MOTOR_P,"P"],[lt.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(wr),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Pd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},vd={init:function(){this.setColour(wr),this.appendValueInput("bright").appendField(lt.Msg.MIXLY_SETTING+lt.Msg.MIXLY_MIXBOT_BUZZER+lt.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_SETONOFF)}},Yd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.MIXLY_MIXBOT_BUZZER+lt.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Xd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_RECORD_AUDIO).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(lt.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},bd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_PLAY_AUDIO).appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yd={init:function(){this.setColour(wr),this.appendValueInput("PATH").appendField(lt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(lt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Vd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===It.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendValueInput("duty").setCheck(Number).setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Gd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.PIN_NUMBERING);if("micropython:esp32c2:mixgo_mini"===It.Boards.getSelectedBoardKey())this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"]]),"index");else this.appendDummyInput().appendField(new lt.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index");this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT+lt.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ud={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.ME_GO_MOTOR_EXTERN).appendField(lt.Msg.MIXLY_ALL+lt.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(lt.ALIGN_RIGHT).appendField(lt.Msg.blynk_IOT_IR_POWER+lt.Msg.MIXLY_PINMODEOUT+lt.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},wd={init:function(){this.setColour(wr),this.appendDummyInput().appendField(lt.Msg.ANALOG+lt.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(lt.Msg.MIXLY_RELEASE).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.ANALOG+lt.Msg.MIXLY_KEYBOARD_INPUT)}},Hd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SPECIAL_KEY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[lt.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[lt.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[lt.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[lt.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[lt.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[lt.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[lt.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[lt.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},kd={init:function(){this.setColour(wr),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GENERAL_KEY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},Wd={init:function(){this.setColour(wr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new lt.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(lt.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("generalkey_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},bh={init:function(){this.jsonInit({colour:Sh,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:lt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:lt.Msg.MIXLY_MICROBIT_Built_in_image})}},yh={init:function(){this.setColour(Sh),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new lt.FieldDropdown(It.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},xh={init:function(){this.setColour(Sh),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(lt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new lt.FieldDropdown(xh.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":lt.Msg.MIXLY_MICROBIT_image_add,"-":lt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[lt.Msg.MICROBIT_DISPLAY_UNION,"add"],[lt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},Vh={init:function(){this.setColour(Sh),this.appendValueInput("A").setCheck("esp32_image").appendField(lt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Bh={init:function(){this.setColour(Sh),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET2).appendField(new lt.FieldDropdown(Bh.OPERATORS),"OP"),this.appendValueInput("val").appendField(lt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_UNIT);It.Boards.getSelectedBoardKey();"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=lt.Msg.DISPLAY_IMAGE_LET,n=lt.Msg.DISPLAY_IMAGE_LET2,s=lt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:lt.Msg.MIXLY_UP,shift_down:lt.Msg.MIXLY_DOWN,shift_left:lt.Msg.MIXLY_LEFT,shift_right:lt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[lt.Msg.MIXLY_UP,"shift_up"],[lt.Msg.MIXLY_DOWN,"shift_down"],[lt.Msg.MIXLY_LEFT,"shift_left"],[lt.Msg.MIXLY_RIGHT,"shift_right"]]},Gh={init:function(){this.setColour(Sh),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Uh={init:function(){this.setColour(Sh),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},wh={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Hh={init:function(){this.setColour(Sh),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},kh={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Clear_display);It.Boards.getSelectedBoardKey();"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Clear_display)}},Wh={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.MIXLY_SHOW+lt.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Jh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(Jh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},Qh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},qh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(qh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},zh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},jh={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(jh.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},$h={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.OLED_SET_FONT).appendField(new lt.FieldDropdown($h.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+lt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+lt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+lt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},Zh={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},tm={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},em={init:function(){this.setColour(Sh),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(lt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING)}},im={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(lt.Msg.TEXT_CENTER).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},nm={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},sm={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},om={init:function(){this.setColour(Sh),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},_m={init:function(){this.jsonInit({colour:Sh,args0:[{name:"state",options:[[lt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[lt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},pm={init:function(){this.jsonInit({colour:Sh,args0:[{name:"state",options:[[lt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[lt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[lt.Msg.mpython_vertical,"0"],[lt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:lt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},am={init:function(){this.jsonInit({colour:Sh,args0:[{name:"state",options:[[lt.Msg.mpython_display_hline_1,"1"],[lt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.mpython_display_line_TOOLTIP,message0:lt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},um={init:function(){this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new lt.FieldDropdown(um.IMAGES),"path"),this.setColour(Sh),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},rm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},dm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(dm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},lm={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Im={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},Tm={init:function(){this.setColour(Sh),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Mm={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new lt.FieldDropdown(Mm.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[lt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[lt.Msg.CLOCKWISE+"90"+lt.Msg.blockpy_setheading_degree,"1"],[lt.Msg.CLOCKWISE+"180"+lt.Msg.blockpy_setheading_degree,"2"],[lt.Msg.CLOCKWISE+"270"+lt.Msg.blockpy_setheading_degree,"3"]]},hm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new lt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},mm={init:function(){this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(lt.inputs.Align.CENTRE).appendField(new lt.FieldBitmap(mm.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Sh),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},Em={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR);It.Boards.getSelectedBoardKey();"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Om={init:function(){this.setColour(Sh),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(lt.Msg.MIXLY_AipImageClassify_Image+lt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Rm={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(lt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(lt.Msg.TEXT_CENTER).appendField(new lt.FieldDropdown([[lt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[lt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR);It.Boards.getSelectedBoardKey();"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},cm={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gm={init:function(){this.jsonInit({colour:Sh,args0:[{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:lt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Cm={init:function(){this.jsonInit({colour:Sh,args0:[{name:"dir_h_v",options:[[lt.Msg.mpython_vertical,"0"],[lt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:lt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Sm={init:function(){this.jsonInit({colour:Sh,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,tooltip:lt.Msg.mpython_display_line_TOOLTIP,message0:lt.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Am={init:function(){this.setColour(Sh),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(lt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Lm={init:function(){this.setColour(Sh),this.appendValueInput("x").setCheck(Number).appendField(lt.Msg.MIXLY_LCD_SETCOLOR).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR);It.Boards.getSelectedBoardKey();"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Nm={init:function(){this.setColour(Sh),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_SCREEN_FILL);It.Boards.getSelectedBoardKey();"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dm={init:function(){this.setColour(Sh),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(lt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fm={init:function(){this.setColour(Sh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fm={init:function(){this.setColour(Sh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(lt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(lt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(lt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pm={init:function(){this.setColour(Sh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vm={init:function(){this.setColour(Sh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(lt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ym={init:function(){this.jsonInit({colour:Sh,args0:[{name:"shape",options:[[lt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[lt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:lt.Msg.mpython_HELPURL,message0:lt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},Xm={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER).appendField(lt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(lt.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.DRAW_POINTER_TOOLTIP)}},bm={init:function(){this.setColour(Sh),this.appendDummyInput().appendField(lt.Msg.DRAW_POINTER).appendField(lt.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(lt.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.DRAW_POINTER_TOOLTIP)}},ym={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR);It.Boards.getSelectedBoardKey();"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xm={init:function(){this.setColour(Sh),this.appendValueInput("direct").appendField(lt.Msg.OLED_BITMAP).appendField(lt.Msg.MIXLY_QR_CODE),"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Vm={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP).appendField(lt.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ERROR_RATE).appendField(new lt.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(lt.Msg.HTML_COLOUR),"Python ESP32-S3"===It.JSFuncs.getPlatform()&&this.appendValueInput("boolean").appendField(lt.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bm={init:function(){this.setColour(Sh),this.appendValueInput("data").appendField(lt.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Gm={init:function(){Nh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Um={init:function(){Ph.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},wm={init:function(){Bh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Hm={init:function(){wh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},km={init:function(){Hh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Wm={init:function(){kh.init.call(this),this.appendDummyInput().appendField(`(${lt.Msg.MIXLY_DEPRECATED})`),this.setWarningText(lt.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},Km=180,Jm={init:function(){this.setColour(Km),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(lt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_LET2).appendField(new lt.FieldDropdown(Jm.OPERATORS),"OP"),this.appendValueInput("val").appendField(lt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i=lt.Msg.DISPLAY_IMAGE_LET,n=lt.Msg.DISPLAY_IMAGE_LET2,s=lt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT}[e]+s}))},OPERATORS:[[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"]]},Qm={init:function(){this.setColour(Km),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(lt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new lt.FieldDropdown(Qm.OPERATORS),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{"+":lt.Msg.MIXLY_MICROBIT_image_add,"-":lt.Msg.MIXLY_MICROBIT_image_reduce}[e]}))},OPERATORS:[[lt.Msg.MICROBIT_DISPLAY_UNION,"+"],[lt.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},qm={init:function(){this.setColour(Km),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new lt.FieldDropdown(qm.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_MICROBIT_IMAGE+{height:lt.Msg.MIXLY_HEIGHT,width:lt.Msg.MIXLY_WIDTH}[e]}))},OPERATORS:[[lt.Msg.MIXLY_HEIGHT,"height"],[lt.Msg.MIXLY_WIDTH,"width"]]},zm={init:function(){this.setColour(Km),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RECT).appendField(new lt.FieldDropdown(zm.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_OLED_RECT)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},jm={init:function(){this.setColour(Km),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new lt.FieldDropdown(jm.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},$m={init:function(){this.setColour(Km),this.appendValueInput("VAR").appendField(lt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_DISPLAY_DRAW+lt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new lt.FieldDropdown($m.STATUS),"OP"),this.jsonInit({message0:lt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(lt.Msg.MIXLY_DISPLAY_DRAW+lt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[lt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[lt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},Zm="#777777",tE={init:function(){this.setColour(Zm),this.appendDummyInput("").appendField("from ").appendField(new lt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new lt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eE={init:function(){this.setColour(Zm),this.appendDummyInput("").appendField("import ").appendField(new lt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iE={init:function(){this.setColour(Zm),this.appendDummyInput("").appendField(new lt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new lt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?t[e]:'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},HE={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},kE={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},WE={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},KE={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(lt.Msg.MIXLY_WIFI_USERNAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.MIXLY_IOT_PASSWORD).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_PROJECT).setAlign(lt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JE={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},QE={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.appendDummyInput().appendField(lt.Msg.MIXLY_Service_quality_display).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_AT_MOST_ONCE,"0"],[lt.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},qE={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},zE={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jE={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$E={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ZE={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(lt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},tO={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},eO={init:function(){this.setColour(yE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},iO={init:function(){this.setColour(yE),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},nO={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(lt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},sO={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO").appendField(lt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(lt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},oO={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+lt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_O={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(lt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pO={init:function(){this.VISITOR_ID=It.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(yE),this.appendDummyInput("").appendField(new lt.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},aO={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MixIO").appendField(lt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},uO={init:function(){this.setColour(yE),this.appendDummyInput().appendField("HTTP"+lt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(lt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(lt.Msg.MIXLY_REQUESTS_GET).appendField(lt.Msg.MIXLY_GET_CURRENT_TIME).appendField(lt.Msg.MIXLY_OPEN_DEBUG).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rO={init:function(){this.setColour(yE),this.appendDummyInput().appendField("HTTP"+lt.Msg.MIXLY_Client).appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[lt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[lt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},dO={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MQTT"+lt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(lt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(lt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(lt.Msg.MQTT_Topic).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(lt.Msg.MIXLY_OPEN_DEBUG).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[lt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lO={init:function(){this.setColour(yE),this.appendDummyInput().appendField("MQTT"+lt.Msg.MIXLY_Client).appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[lt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[lt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},IO=xE,TO=VE,MO=BE,hO=GE,mO=wE,EO={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(lt.Msg.MODEL_NAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(lt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},OO=EO,RO={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(lt.Msg.MIXLY_API_PRIVATE_KEY).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(lt.Msg.MODEL_NAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(lt.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cO={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gO={init:function(){this.setColour(yE),this.appendDummyInput().appendField(lt.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},CO={init:function(){this.setColour(yE),this.appendDummyInput().appendField("Ollama "+lt.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${lt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},AO={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${lt.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(lt.inputs.Align.RIGHT).appendField(`MixIO ${lt.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},LO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},NO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(lt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},DO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},fO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(lt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(lt.inputs.Align.RIGHT).appendField(lt.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(lt.inputs.Align.RIGHT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[lt.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},FO={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(lt.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},PO=225,vO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(lt.Msg.MIXLY_NETWORK_MODE).appendField(new lt.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},YO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[lt.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("op"),i=lt.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:lt.Msg.MIXLY_NETWORK_WIFI_OPEN,False:lt.Msg.MIXLY_NETWORK_WIFI_CLOSE}[e]+i}))}},XO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},bO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return lt.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:lt.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},yO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(lt.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(lt.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},xO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_NETWORK_WIFI_CONNECT+lt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},VO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[lt.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[lt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:lt.Msg.MIXLY_ESP32_NETWORK_IP,1:lt.Msg.MIXLY_ESP32_NETWORK_MASK,2:lt.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[e]}))}},BO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},GO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[lt.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},UO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(lt.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(lt.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},wO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(lt.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},HO={init:function(){this.setColour(PO),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new lt.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("mode");return lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[e]}))}},kO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},WO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},KO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},JO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},QO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},qO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},zO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},jO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},$O={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},ZO={init:function(){this.setColour(PO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},tR={init:function(){this.setColour(PO),this.appendValueInput("DOMAIN").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_REQUESTS_GET).appendField(new lt.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){lt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},eR={init:function(){this.appendValueInput("VAL"),this.setColour(PO),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown(eR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:lt.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:lt.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:lt.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))},ATTR:[[lt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},iR={init:function(){this.appendValueInput("VAR").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(PO),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown(iR.METHOD),"DIR"),this.appendDummyInput("").appendField(lt.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:lt.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:lt.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},nR={init:function(){this.setColour(PO),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(lt.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},sR={init:function(){this.setColour(PO),this.appendDummyInput("").appendField(new lt.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},oR="#3288dd",_R={init:function(){this.setColour(oR),this.appendValueInput("URL").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(lt.Msg.blockpy_REQUESTS).appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},pR={init:function(){this.setColour(oR),this.appendValueInput("URL").appendField(lt.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(lt.Msg.blockpy_CONDUCT).appendField(new lt.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(lt.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(lt.Msg.blockpy_REQUESTS+lt.Msg.OLED_STRING),this.appendDummyInput("").appendField(lt.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},aR={init:function(){this.appendValueInput("VAL"),this.setColour(oR),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown(aR.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[lt.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[lt.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[lt.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},uR={init:function(){this.setColour(oR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(lt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(lt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(lt.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},rR={init:function(){this.setColour(oR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_SERVER).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(lt.Msg.MIXLY_EMQX_PORT).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(lt.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(lt.Msg.MIXLY_WIFI_USERNAME).setAlign(lt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(lt.Msg.MIXLY_IOT_PASSWORD).setAlign(lt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dR={init:function(){this.setColour(oR),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(lt.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},lR={init:function(){this.setColour(oR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_SUBSCRIBE+lt.Msg.MIXLY_MICROBIT_MSG).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(lt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IR={init:function(){this.setColour(oR),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(lt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(lt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(lt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR={init:function(){this.setColour(oR),this.appendDummyInput().appendField("mqtt"+lt.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},MR="#A58C5B",hR={init:function(){this.setColour(MR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(lt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SENOR_IS_PRESSED)}},mR={init:function(){this.setColour(MR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(lt.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_SENOR_WAS_PRESSED)}},ER={init:function(){this.setColour(MR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(lt.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.PROCEDURES_DEFRETURN_RETURN+lt.Msg.MIXLY_BUTTON+lt.Msg.MIXLY_GET_PRESSES)}},OR={init:function(){this.setColour(MR),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_BUTTON).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MODE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[lt.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[lt.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},RR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_shake,"shake"],[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"],[lt.Msg.MIXLY_MICROBIT_face_up,"face up"],[lt.Msg.MIXLY_MICROBIT_face_down,"face down"],[lt.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(lt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=lt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=lt.Msg.MSG.catSensor,s=lt.Msg.MIXLY_MICROBIT_JS_STATE,o=lt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:lt.Msg.MIXLY_MICROBIT_shake,up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT,"face up":lt.Msg.MIXLY_MICROBIT_face_up,"face down":lt.Msg.MIXLY_MICROBIT_face_down,freefall:lt.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[e]+o}))}},cR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},gR={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},CR={init:function(){this.setColour(MR),this.appendValueInput("PIN",Number).appendField(new lt.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new lt.FieldDropdown(CR.METHOD),"WHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHAT");return{temperature:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:lt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[e]}))},METHOD:[[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]},SR={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},AR={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},LR={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new lt.FieldDropdown([[lt.Msg.TEXT_TRIM_LEFT,"left"],[lt.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(lt.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("direction"),i=lt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=lt.Msg.MIXLY_ESP32_NEAR;return i+{left:lt.Msg.TEXT_TRIM_LEFT,right:lt.Msg.TEXT_TRIM_RIGHT}[e]+n}))}},NR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[lt.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_BMP_temperature()":lt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":lt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},DR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[lt.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{"get_SHT_temperature()":lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},fR={init:function(){this.setColour(MR),this.appendValueInput("PIN",Number).appendField("DS18X20 "+lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},FR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField("LM35"+lt.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(lt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(lt.Msg.MIXLY_TOOLTIP_LM35)}},PR={init:function(){this.setColour(MR),this.appendValueInput("I2CSUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[lt.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[lt.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[lt.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[lt.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[lt.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[lt.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[lt.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[lt.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[lt.Msg.HTML_COLOUR+"、"+lt.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+lt.Msg.MIXLY_NEXT+"、"+lt.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[lt.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[lt.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[lt.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[lt.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[lt.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},vR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(lt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+lt.Msg.MIXLY_DELAY_TIME_RANGE)}},YR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RADAR).appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(lt.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+lt.Msg.MIXLY_DELAY_TIME_RANGE)}},XR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},bR={init:function(){this.setColour(MR),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RADAR).appendField(lt.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},yR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_HELLO_XIAOZHI,"1"],[lt.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[lt.Msg.MIXLY_THE_FIRST,"3"],[lt.Msg.MIXLY_THE_SECOND,"4"],[lt.Msg.MIXLY_THE_THIRD,"5"],[lt.Msg.MIXLY_THE_FOURTH,"6"],[lt.Msg.MIXLY_THE_FIFTH,"7"],[lt.Msg.MIXLY_THE_SIXTH,"8"],[lt.Msg.MIXLY_THE_SEVENTH,"9"],[lt.Msg.MIXLY_THE_EIGHTH,"10"],[lt.Msg.MIXLY_THE_NINTH,"11"],[lt.Msg.MIXLY_THE_TENTH,"12"],[lt.Msg.MIXLY_THE_ELEVENTH,"13"],[lt.Msg.MIXLY_THE_TWELFTH,"14"],[lt.Msg.MIXLY_THE_13TH,"15"],[lt.Msg.MIXLY_THE_14TH,"16"],[lt.Msg.MIXLY_THE_15TH,"17"],[lt.Msg.MIXLY_THE_16TH,"18"],[lt.Msg.MIXLY_THE_17TH,"19"],[lt.Msg.MIXLY_THE_18TH,"20"],[lt.Msg.MIXLY_THE_19TH,"21"],[lt.Msg.MIXLY_THE_20TH,"22"],[lt.Msg.MIXLY_Turn_on_the_lights,"23"],[lt.Msg.MIXLY_Turn_off_the_lights,"24"],[lt.Msg.MIXLY_Turn_up_the_brightness,"25"],[lt.Msg.MIXLY_Turn_down_the_brightness,"26"],[lt.Msg.MIXLY_Set_it_to_red,"27"],[lt.Msg.MIXLY_Set_it_to_orange,"28"],[lt.Msg.MIXLY_Set_it_to_yellow,"29"],[lt.Msg.MIXLY_Set_it_to_green,"30"],[lt.Msg.MIXLY_Set_it_to_cyan,"31"],[lt.Msg.MIXLY_Set_it_to_blue,"32"],[lt.Msg.MIXLY_Set_it_to_purple,"33"],[lt.Msg.MIXLY_Set_it_to_white,"34"],[lt.Msg.MIXLY_Turn_on_the_fan,"35"],[lt.Msg.MIXLY_Turn_off_the_fan,"36"],[lt.Msg.MIXLY_First_gear,"37"],[lt.Msg.MIXLY_Wind_speed_second,"38"],[lt.Msg.MIXLY_Third_gear,"39"],[lt.Msg.MIXLY_Previous,"40"],[lt.Msg.MIXLY_Next_page,"41"],[lt.Msg.MIXLY_Show_smiley_face,"42"],[lt.Msg.MIXLY_Show_crying_face,"43"],[lt.Msg.MIXLY_Show_love,"44"],[lt.Msg.MIXLY_Close_display,"45"],[lt.Msg.MIXLY_Start_execution,"46"],[lt.Msg.MIXLY_FORWARD,"47"],[lt.Msg.MIXLY_BACKWARD,"48"],[lt.Msg.MIXLY_TURNLEFT,"49"],[lt.Msg.MIXLY_TURNRIGHT,"50"],[lt.Msg.MIXLY_STOP,"51"],[lt.Msg.MIXLY_Accelerate,"52"],[lt.Msg.MIXLY_retard,"53"],[lt.Msg.ROTATION_FORWARD,"54"],[lt.Msg.ROTATION_BACKWARD,"55"],[lt.Msg.MIXLY_Query_temperature,"56"],[lt.Msg.MIXLY_Query_humidity,"57"],[lt.Msg.MIXLY_Query_brightness,"58"],[lt.Msg.MIXLY_Query_sound,"59"],[lt.Msg.MIXLY_Query_time,"60"],[lt.Msg.MIXLY_Query_distance,"61"],[lt.Msg.MIXLY_Query_pressure,"62"],[lt.Msg.MIXLY_Query_key,"63"],[lt.Msg.MIXLY_Query_touch,"64"],[lt.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(lt.Msg.MIXLY_WHETHER+lt.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},VR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[lt.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[lt.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},BR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MP3_PLAY).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[lt.Msg.MIXLY_WIND_SPEED,"154"],[lt.Msg.MIXLY_HYETAL,"155"],[lt.Msg.MIXLY_TEMPERATURE,"156"],[lt.Msg.MIXLY_Humidity,"157"],[lt.Msg.MIXLY_Altitude,"158"],[lt.Msg.MIXLY_SOUND,"159"],[lt.Msg.MIXLY_BRIGHTNESS,"160"],[lt.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[lt.Msg.MIXLY_SERVO,"162"],[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[lt.Msg.MIXLY_BUTTON2,"164"],[lt.Msg.MIXLY_ESP32_TOUCH,"165"],[lt.Msg.MIXLY_PAY,"166"],[lt.Msg.MIXLY_CARSH_CHANGE,"167"],[lt.Msg.MIXLY_COUNTDOWN,"168"],[lt.Msg.MIXLY_TIMING,"169"],[lt.Msg.MIXLY_AT_THE_MOMENT,"170"],[lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[lt.Msg.MIXLY_FORWARD,"172"],[lt.Msg.MIXLY_BACKWARD,"173"],[lt.Msg.MIXLY_TURNLEFT,"174"],[lt.Msg.MIXLY_TURNRIGHT,"175"],[lt.Msg.MIXLY_STOP,"176"],[lt.Msg.MIXLY_Accelerate,"177"],[lt.Msg.MIXLY_retard,"178"],[lt.Msg.ROTATION_FORWARD,"179"],[lt.Msg.ROTATION_BACKWARD,"180"],[lt.Msg.TUPLE_JOIN,"181"],[lt.Msg.MIXLY_SHOW,"182"],[lt.Msg.MIXLY_LAMPLIGHT,"183"],[lt.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(lt.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(lt.Msg.MIXLY_UNIT).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[lt.Msg.MIXLY_YEAR,"117"],[lt.Msg.MIXLY_MONTH,"118"],[lt.Msg.MIXLY_DAY,"119"],[lt.Msg.MIXLY_HOUR,"120"],[lt.Msg.MIXLY_MINUTE,"121"],[lt.Msg.MIXLY_SECOND,"122"],[lt.Msg.MIXLY_WEEK2,"123"],[lt.Msg.MIXLY_RMB_UNIT,"124"],[lt.Msg.blockpy_setheading_degree,"125"],[lt.Msg.MIXLY_GEAR,"126"],[lt.Msg.MIXLY_LAYER,"127"],[lt.Msg.MIXLY_GRAM,"128"],[lt.Msg.MIXLY_METER,"129"],[lt.Msg.MIXLY_CENTIMETER,"130"],[lt.Msg.MIXLY_MILLIMETER,"131"],[lt.Msg.MIXLY_LUMEN,"132"],[lt.Msg.MIXLY_DECIBEL,"133"],[lt.Msg.MIXLY_hectopascal,"134"],[lt.Msg.MIXLY_PERCENT,"135"],[lt.Msg.MIXLY_CELSIUS,"136"],[lt.Msg.MIXLY_METER_PER_SEC,"137"],[lt.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[lt.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[lt.Msg.MIXLY_SUCCESS,"140"],[lt.Msg.MIXLY_FAILED,"141"],[lt.Msg.MIXLY_WRONG,"142"],[lt.Msg.MIXLY_GOOD,"143"],[lt.Msg.MIXLY_blockpy_set_add,"144"],[lt.Msg.MIXLY_DECREASE,"145"],[lt.Msg.COLOUR_RGB_RED,"146"],[lt.Msg.COLOUR_RGB_ORANGE,"147"],[lt.Msg.COLOUR_YELLOW,"148"],[lt.Msg.COLOUR_RGB_GREEN,"149"],[lt.Msg.COLOUR_CYAN,"150"],[lt.Msg.COLOUR_RGB_BLUE,"151"],[lt.Msg.COLOUR_RGB_PURPLE,"152"],[lt.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},GR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.LISTS_SET_INDEX_SET+lt.Msg.MIXLY_SYSTEM+lt.Msg.MIXLY_CMD).appendField(new lt.FieldDropdown([[lt.Msg.MILXY_ENTER_WAKE_UP,"1"],[lt.Msg.MIXLY_INCREASE_VOLUME,"202"],[lt.Msg.MIXLY_REDUCE_VOLUME,"203"],[lt.Msg.MIXLY_MAX_VOLUME,"204"],[lt.Msg.MIXLY_MINIMUM,"205"],[lt.Msg.MIXLY_OPEN_RESPONSE,"206"],[lt.Msg.MIXLY_CLOSE_RESPONSE,"207"],[lt.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},UR={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[lt.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[lt.Msg.MIXLY_ESP32_MAX30102_IR+","+lt.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},wR={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[lt.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[lt.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},HR={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},kR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.HTML_COLOUR+lt.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET+lt.Msg.HTML_COLOUR,"[2]"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_IR_STRENGTH,"[1]"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},WR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.HTML_COLOUR+lt.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET+"RGB"+lt.Msg.HTML_COLOUR,"0"],[lt.Msg.MIXLY_GET+lt.Msg.MIXLY_RGB_RAW,"1"],[lt.Msg.MIXLY_GET_ENV_LIGHT+lt.Msg.MIXLY_BRIGHTNESS,"2"],[lt.Msg.GET_IR_STRENGTH+lt.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},KR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GET_ENV_LIGHT,"E"],[lt.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},JR={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},QR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},qR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[lt.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return{temperature:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:lt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},zR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},jR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},$R={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_GETPRESSURE,"pressure()"],[lt.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[lt.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ZR={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_Altitude+lt.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(lt.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(lt.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},tc={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MIXGOPE_FIELD+lt.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[lt.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},ec={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_shake,"shake"],[lt.Msg.MIXLY_UP,"up"],[lt.Msg.MIXLY_DOWN,"down"],[lt.Msg.MIXLY_LEFT,"left"],[lt.Msg.MIXLY_RIGHT,"right"],[lt.Msg.MIXLY_MICROBIT_face_up,"face up"],[lt.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("gesture"),i=lt.Msg.MIXLY_MICROBIT_JS_CURRENT,n=lt.Msg.MSG.catSensor,s=lt.Msg.MIXLY_MICROBIT_JS_STATE,o=lt.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:lt.Msg.MIXLY_MICROBIT_shake,up:lt.Msg.MIXLY_UP,down:lt.Msg.MIXLY_DOWN,left:lt.Msg.MIXLY_LEFT,right:lt.Msg.MIXLY_RIGHT,"face up":lt.Msg.MIXLY_MICROBIT_face_up,"face down":lt.Msg.MIXLY_MICROBIT_face_down}[e]+o}))}},ic={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},nc={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_GET+lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},sc={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+lt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new lt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=lt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=lt.Msg.MIXLY_MICROBIT_Direction,s=lt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":lt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oc={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},_c={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_GETTEMPERATUE)}},pc={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("compass");return lt.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:lt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:lt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[e]}))}},ac={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(lt.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(lt.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},uc={init:function(){this.setColour(MR),this.appendValueInput("SPISUB").appendField(lt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(lt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SETUP+lt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new lt.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},rc={init:function(){this.setColour(MR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[lt.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},dc={init:function(){this.setColour(MR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},lc={init:function(){this.setColour(MR),this.appendDummyInput().appendField("RFID"+lt.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Ic={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(lt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Tc={init:function(){this.setColour(MR),this.appendDummyInput().appendField(lt.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(lt.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(lt.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(lt.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Mc={init:function(){this.setColour(MR),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new lt.FieldDropdown([[lt.Msg.MIXLY_RFID_SCAN_OK,"0"],[lt.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[lt.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},hc={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_MICROBIT_JS_GET).appendField(new lt.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},mc={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(lt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ec={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Oc={init:function(){this.setColour(MR),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new lt.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var t=document.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(t){this.itemCount_=parseInt(t.getAttribute("items"),10),this.updateShape_()},decompose:function(t){var e=t.newBlock("weather_set_label_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n>6),i.push(128|63&o)):(2048<=o&&o<=55295||57344<=o&&o<=65535)&&(n+=3,i.push(224|15&o>>12),i.push(128|63&o>>6),i.push(128|63&o))}for(s=0;s>8,255&n].concat(i)}(t,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==_?(e.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+o+", font_address="+p+")\n"):"16x8 Matrix"==_&&(e.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+o+")\n"),i},PF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},vF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},YF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},XF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},bF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},yF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},xF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},VF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},BF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},GF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},UF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},wF=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},HF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},kF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_"+t.getFieldValue("OP")+"("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"B",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},WF=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},KF=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC);return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+e.valueToCode(this,"row",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"column",e.ORDER_ATOMIC)+", "+i+")\n"},JF=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_str("+(e.valueToCode(this,"Text_line1",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line2",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line3",e.ORDER_ASSIGNMENT)||"''")+", "+(e.valueToCode(this,"Text_line4",e.ORDER_ASSIGNMENT)||"''")+")\n"},QF=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_line("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+", 1)\n"},qF=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"width",e.ORDER_ATOMIC),_=e.valueToCode(this,"height",e.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+o+", "+_+", "+a+")\n"}},zF=function(t,e){e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"length",e.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+o+", 1)\n"},jF=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},$F=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP");return[e.valueToCode(t,"img",e.ORDER_ATOMIC)+".shift_"+i+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ZF=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_ssd1306="import ssd1306",e.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},tP=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},eP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x",e.ORDER_ATOMIC),s=e.valueToCode(this,"y",e.ORDER_ATOMIC),o=e.valueToCode(this,"r",e.ORDER_ATOMIC),_="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(_){case"True":return i+".show_fill_circle("+n+", "+s+", "+o+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+o+", "+p+")\n"}},iP=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306";var n=e.valueToCode(this,"x0",e.ORDER_ATOMIC),s=e.valueToCode(this,"y0",e.ORDER_ATOMIC),o=e.valueToCode(this,"x1",e.ORDER_ATOMIC),_=e.valueToCode(this,"y1",e.ORDER_ATOMIC),p=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+o+", "+_+", "+p+", "+a+", "+r+")\n"}},nP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_bitmap("+e.valueToCode(this,"START_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC)+","+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+","+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+")\n"},sP=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_ssd1306="import ssd1306",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".show_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},oP=function(t,e){var i,n=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),o=e.valueToCode(this,"DIO",e.ORDER_ATOMIC),_=this.getFieldValue("key");return"TM1650"==_?(e.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+_+"(clk="+s+",dio="+o+")\n"):"TM1637"==_&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+_+"(clk="+s+",dio="+o+")\n"),i},_P=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},pP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},aP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".showDP("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},uP=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},rP=function(t,e){e.definitions_.import_st7789="import st7789";var i=It.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),o=e.valueToCode(this,"SPISUB",e.ORDER_ATOMIC),_=e.valueToCode(this,"PINCS",e.ORDER_ATOMIC),p=e.valueToCode(this,"PINDC",e.ORDER_ATOMIC);return s+" = st7789.ST7789("+o+", "+e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+_+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},dP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+o+", size="+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+o+", size="+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},lP=function(t,e){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),e.ORDER_ATOMIC]},IP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color="+a+")\n";else{const t=a.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+u+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+")\n"}return r},TP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},MP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},hP=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},mP=function(t,e){e.definitions_.import_st7789="import st7789";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"x1",e.ORDER_ATOMIC),s=e.valueToCode(this,"y1",e.ORDER_ATOMIC),o=e.valueToCode(this,"x2",e.ORDER_ATOMIC),_=e.valueToCode(this,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+o+", "+_+", color="+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+o+", "+_+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},EP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=this.getFieldValue("key"),o=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return e.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+o+")\n"},OP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},RP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".print("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", column="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", line="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},cP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},gP=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},CP=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"I2CSUB",e.ORDER_ATOMIC),s=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC),o=this.getFieldValue("driver"),_=It.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(_)>=0?"0x700000":["mixgo_sant"].indexOf(_)>=0?"0xE00000":"0x3A0000",e.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+o+")\n"},SP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},AP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".image("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+")\n"},LP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},NP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", x="+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},DP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},fP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", delay="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},FP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},PP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", y="+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+", size="+e.valueToCode(this,"size",e.ORDER_ASSIGNMENT)+", speed="+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+", space="+e.valueToCode(this,"space",e.ORDER_ASSIGNMENT)+")\n"},vP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},YP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},XP=function(t,e){return e.definitions_.import_oled128x64="import oled128x64",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},bP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".pixel(int("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+"), int("+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+"), "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"+i+".show()\n"},yP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=t.getFieldValue("state");return i+"."+t.getFieldValue("shape")+"("+n+", "+s+", "+o+", "+_+", "+p+")\n"+i+".show()\n"},xP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=t.getFieldValue("state");return i+"."+("0"==t.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+o+", "+_+")\n"+i+".show()\n"},VP=function(t,e){e.definitions_.import_oled128x64="import oled128x64";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".line("+e.valueToCode(t,"x1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y1",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"x2",e.ORDER_ATOMIC)+", "+e.valueToCode(t,"y2",e.ORDER_ATOMIC)+", "+t.getFieldValue("state")+")\n"+i+".show()\n"},BP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},GP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),o=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+o+",sync="+(e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){e.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+o+")\n"},UP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},wP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.frame("+(n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.frame("+n+", delay="+s+")\n"}return o},HP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"}return n},kP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2],n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){e.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.scroll("+n+", speed="+s+", space="+o+")\n"}else if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+o+", color=0xffff)\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.scroll("+n+", speed="+s+", space="+o+")\n"}return _},WP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},KP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color="+a+")\n";else{const t=a.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+o+", speed="+_+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},JP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+t.getFieldValue("image"),e.ORDER_ATOMIC]},QP=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===It.JSFuncs.getPlatform()){const i=t.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");e.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+t.getFieldValue("image")}return[n,e.ORDER_ATOMIC]},qP=function(t,e){var i={"#000000":"0","#ff0000":"1"};function n(t){let e="";if(t.length%2==1&&(t="0"+t),t.length<8){let e=8-t.length;for(let i=1;i<=e;i++)t="0"+t}for(let i=1;i<=t.length;i++)i%2==0&&i!==t.length?e=e+t[i-1]+",0x":e+=t[i-1];return"0x"+e}let s=[];for(let e=0;e<12;e++){let o="",_=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),_+=Number(i[t.getFieldValue(e+"-"+n)])*Math.pow(2,31-p);o+=n(_.toString(16)),s.unshift(o)}let o=[];for(let t=0;t>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Yv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"y",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"direct",e.ORDER_ASSIGNMENT)+")\n"},Xv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"space",e.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",r=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==r.slice(0,2))var d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const t=r.match(/\d+/g);var l="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");d="onboard_tft.shows("+n+", x="+s+", y="+o+", size="+_+", space="+p+", center="+a+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return d},bv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"time",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==_.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color="+_+")\n";else{const t=_.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+o+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},yv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"w",e.ORDER_ATOMIC),_=e.valueToCode(t,"h",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=t.getFieldValue("shape"),u=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", "+p+",sync="+u+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return r},xv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"length",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("dir_h_v"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", "+_+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Vv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x1",e.ORDER_ATOMIC),s=e.valueToCode(t,"y1",e.ORDER_ATOMIC),o=e.valueToCode(t,"x2",e.ORDER_ATOMIC),_=e.valueToCode(t,"y2",e.ORDER_ATOMIC),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+o+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Bv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},Gv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),_=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+o+",sync="+_+")\n";else{const t=o.match(/\d+/g);var a="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+_+")\n"}return p},Uv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"VAR",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var o="onboard_tft.fill("+n+",sync="+s+")\n";else{const t=n.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o="onboard_tft.fill(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+",sync="+s+")\n"}return o},wv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=_+"=Clock("+n+", "+s+", "+o+", "+p+")\n";else{const t=p.match(/\d+/g);var u="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");a=_+"=Clock("+n+", "+s+", "+o+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Hv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_rtctime()\n"},kv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".set_time("+e.valueToCode(this,"h",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"m",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"s",e.ORDER_ASSIGNMENT)+")\n"},Wv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];return e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)+".draw_clock()\n"},Kv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2))var o=n+".clear("+s+")\n";else{const t=s.match(/\d+/g);var _="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");o=n+".clear(0x"+((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)+")\n"}return o},Jv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(t,"x",e.ORDER_ATOMIC),s=e.valueToCode(t,"y",e.ORDER_ATOMIC),o=e.valueToCode(t,"r",e.ORDER_ATOMIC),_=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),p=t.getFieldValue("shape"),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", "+_+", "+p+",sync="+a+")\n";else{const t=_.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+o+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},Qv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===It.JSFuncs.getPlatform()){e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}else{e.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT)+")\n"}return n},qv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"angle",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const t=s.match(/\d+/g);var o="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},zv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var r="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+o+", size="+_+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},jv=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"direct",e.ORDER_ATOMIC);e.valueToCode(this,"boolean",e.ORDER_ATOMIC);return"onboard_tft.qrcode("+n+")\n"},$v=function(t,e){var i=It.Boards.getSelectedBoardKey().split(":")[2];e.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=e.valueToCode(this,"data",e.ORDER_ASSIGNMENT),s=e.valueToCode(this,"x",e.ORDER_ASSIGNMENT),o=e.valueToCode(this,"y",e.ORDER_ASSIGNMENT),_=e.valueToCode(this,"size",e.ORDER_ASSIGNMENT),p=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),a=e.valueToCode(this,"boolean",e.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color="+p+",sync="+a+")\n";else{const t=p.match(/\d+/g);var d="0x"+((parseInt(t[0])<<16)+(parseInt(t[1])<<8)+parseInt(t[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+o+",size="+_+",correct="+u+",color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+a+")\n"}return r},Zv=BP,tY=sv,eY=ev,iY=sv,nY=ov,sY=jP,oY=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},_Y=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},pY=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},EB=function(){return"control.reset()\n"},OB=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||It.Profile.default.serial)+")\n"},RB=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||It.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||It.Profile.default.serial)+")\n"},cB=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||It.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||It.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},gB=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},CB=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},SB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},AB=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},LB=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},NB=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},DB=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},fB=function(t,e){switch(e.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",e.ORDER_ATOMIC];case"us":return["time.ticks_us()",e.ORDER_ATOMIC]}},FB=function(){return"while True:\n pass\n"},PB=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},vB=function(t,e){return e.definitions_.import_os="import os","os.uname()"},YB=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},XB=function(t,e){e.definitions_.import_time="import time";var i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},bB=function(t,e){return e.definitions_.import_mixgo="import mixgo",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period="+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=Timer."+(e.valueToCode(this,"mode",e.ORDER_NONE)||"None")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},yB=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+" = machine.Timer("+(e.valueToCode(this,"PIN",e.ORDER_NONE)||"None")+",period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},xB=function(t,e){return e.definitions_.import_time="import time",["time.ticks_diff("+(e.valueToCode(this,"END",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"START",e.ORDER_NONE)||"0")+")",e.ORDER_ATOMIC]},VB=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},BB=function(t,e){return e.definitions_.import_machine="import machine",(e.valueToCode(this,"VAR",e.ORDER_NONE)||"None")+".init(period = "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},GB=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},UB=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},wB=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},HB=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},kB=VB,WB=BB,KB=xB,JB=YB,QB=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},qB=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},zB=function(t,e){return e.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},jB=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+")\n"},$B=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},ZB=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},tG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},eG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},iG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},nG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,e.ORDER_ATOMIC]},sG=function(t,e){return e.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+e.valueToCode(this,"key",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"addr",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"day",e.ORDER_ATOMIC)+")\n"},oG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},_G=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},pG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},aG=function(t,e){e.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=e.valueToCode(this,"day",e.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,e.ORDER_ATOMIC]},uG='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n
\r\n
',{XML:rG}=It,dG=rG.render(uG,{title:"烧录速度",message:"要选择烧录速度,请更改“Burn Speed”,此值将用于向设备烧录代码。如果在用较高的烧录速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。"}),{XML:lG}=It,IG=lG.render(uG,{title:"燒錄速度",message:"要選擇燒錄速度,請更改“Burn Speed”,此值將用於向設備燒錄程式碼。如果在用較高的燒錄速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。"}),{XML:TG}=It,MG=TG.render(uG,{title:"Burn Speed",message:"To select the flashing speed, change the Burn Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations."}),hG=new lt.Generator("Python");hG.INDENT=" ",hG.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),hG.ORDER_ATOMIC=0,hG.ORDER_COLLECTION=1,hG.ORDER_STRING_CONVERSION=1,hG.ORDER_UNARY_POSTFIX=1,hG.ORDER_UNARY_PREFIX=2,hG.ORDER_MEMBER=2.1,hG.ORDER_FUNCTION_CALL=2.2,hG.ORDER_EXPONENTIATION=3,hG.ORDER_UNARY_SIGN=4,hG.ORDER_BITWISE_NOT=4,hG.ORDER_MULTIPLICATIVE=5,hG.ORDER_ADDITIVE=6,hG.ORDER_BITWISE_SHIFT=7,hG.ORDER_BITWISE_AND=8,hG.ORDER_BITWISE_XOR=9,hG.ORDER_BITWISE_OR=10,hG.ORDER_RELATIONAL=11,hG.ORDER_EQUALITY=11,hG.ORDER_LOGICAL_NOT=12,hG.ORDER_LOGICAL_AND=13,hG.ORDER_LOGICAL_OR=14,hG.ORDER_ASSIGNMENT=14,hG.ORDER_CONDITIONAL=15,hG.ORDER_LAMBDA=16,hG.ORDER_NONE=99,hG.ORDER_OVERRIDES=[[hG.ORDER_FUNCTION_CALL,hG.ORDER_MEMBER],[hG.ORDER_FUNCTION_CALL,hG.ORDER_FUNCTION_CALL],[hG.ORDER_MEMBER,hG.ORDER_MEMBER],[hG.ORDER_MEMBER,hG.ORDER_FUNCTION_CALL]],hG.init=function(){hG.PASS=this.INDENT+"pass\n",hG.definitions_=Object.create(null),hG.functionNames_=Object.create(null),hG.setups_=Object.create(null),hG.loops_=Object.create(null),hG.codeEnd_=Object.create(null),hG.variableDB_?hG.variableDB_.reset():hG.variableDB_=new mt(hG.RESERVED_WORDS_)},hG.finish=function(t){""!==t&&(t=(t=t.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var e=[],i=[],n=[];for(var s in this.definitions_){var o=this.definitions_[s];0===s.indexOf("import")?e.push(o):0===s.indexOf("var_declare")?i.push(o):n.push(o)}e.length&&e.push("\n"),i.length&&i.push("\n"),n.length&&n.push("\n");var _=[];for(var s in hG.functions_)_.push(hG.functions_[s]);_.length&&_.push("\n");var p=[];for(var s in hG.setups_)p.push(hG.setups_[s]);p.length&&p.push("\n");var a=[];for(var s in hG.loops_)a.push(hG.loops_[s]);var u=[];for(var s in hG.codeEnd_)u.push(hG.codeEnd_[s]);0!==u.length&&u.push("\n");let r="";return r=a.length>0?e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+"while True:\n"+a.join("")+u.join("\n"):e.join("\n")+i.join("\n")+n.join("\n")+_.join("\n")+p.join("")+t+u.join("\n"),r},hG.scrubNakedValue=function(t){return t+"\n"},hG.quote_=function(t){var e="'";return-1!==(t=t.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===t.indexOf('"')?e='"':t=t.replace(/'/g,"\\'")),e+t+e},hG.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},hG.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=lt.utils.string.wrap(o,hG.COMMENT_WRAP-3),n+=hG.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const mG={};mG["飞乙"]={description:"MicroPython[ESP32C3 Bitbot]",digital_pin:It.Profile.generate(["0-11","18-21"]),input_pin:It.Profile.generate(["0-11","18-21"]),output_pin:It.Profile.generate(["0-11","18-21"]),pwm_input:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_input:It.Profile.generate(["0-5"],"adc","adc"),pwm_output:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_output:It.Profile.generate(["0-5"],"adc","adc"),espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),digital:It.Profile.generate(["0-11","18-21"],"pin","pin"),pwm_pin:It.Profile.generate(["0-11","18-21"]),pwm:It.Profile.generate(["0-11","18-21"],"pwm","pwm"),analog_pin:It.Profile.generate(["0-5"]),analog:It.Profile.generate(["0-5"],"adc","adc"),button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]],extern_addr:It.Profile.generate(["0-1"]),als_num:It.Profile.generate(["0-3"])},mG["超霸大师"]={description:"MicroPython[ESP32 Mixbot]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["P","button_p"],["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["MUSIC_QUAVERS","onboard_matrix.MUSIC_QUAVERS"],["MUSIC_QUAVER","onboard_matrix.MUSIC_QUAVER"],["MUSIC_CROTCHET","onboard_matrix.MUSIC_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]],extern_addr:It.Profile.generate(["0-3"])},mG["ESP32 Generic"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin6","pin6"],["pin7","pin7"],["pin8","pin8"],["pin9","pin9"],["pin10","pin10"],["pin11","pin11"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["7","7"],["8","8"],["12","12"],["13","13"],["14","14"],["15","15"],["19","19"],["20","20"],["21","21"],["22","22"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]},mG["机器人大师"]={description:"MicroPython[ESP32 Generic]",digital_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],digital:[["pin0","pin0"],["pin2","pin2"],["pin4","pin4"],["pin5","pin5"],["pin12","pin12"],["pin13","pin13"],["pin14","pin14"],["pin15","pin15"],["pin16","pin16"],["pin17","pin17"],["pin18","pin18"],["pin19","pin19"],["pin20","pin20"],["pin21","pin21"],["pin22","pin22"],["pin23","pin23"],["pin25","pin25"],["pin26","pin26"],["pin27","pin27"],["pin32","pin32"],["pin33","pin33"],["pin34","pin34"],["pin35","pin35"],["pin36","pin36"],["pin37","pin37"],["pin38","pin38"],["pin39","pin39"]],input_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],output_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["18","18"],["19","19"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"],["33","33"]],pwm_pin:[["0","0"],["2","2"],["4","4"],["5","5"],["12","12"],["13","13"],["14","14"],["15","15"],["16","16"],["17","17"],["18","18"],["19","19"],["20","20"],["21","21"],["22","22"],["23","23"],["25","25"],["26","26"],["27","27"],["32","32"]],pwm:[["pwm0","pwm0"],["pwm2","pwm2"],["pwm4","pwm4"],["pwm5","pwm5"],["pwm12","pwm12"],["pwm13","pwm13"],["pwm14","pwm14"],["pwm15","pwm15"],["pwm16","pwm16"],["pwm17","pwm17"],["pwm18","pwm18"],["pwm19","pwm19"],["pwm20","pwm20"],["pwm21","pwm21"],["pwm22","pwm22"],["pwm23","pwm23"],["pwm25","pwm25"],["pwm26","pwm26"],["pwm27","pwm27"],["pwm32","pwm32"]],espnow_channel:It.Profile.generate(["1-13"]),haskylens_model:It.Profile.generate(["0-4"]),analog_pin:[["32","32"],["33","33"],["34","34"],["35","35"],["36","36"],["37","37"],["38","38"],["39","39"]],analog:[["adc32","adc32"],["adc33","adc33"],["adc34","adc34"],["adc35","adc35"],["adc36","adc36"],["adc37","adc37"],["adc38","adc38"],["adc39","adc39"]],dac_pin:[["25","25"],["26","26"]],dac:[["dac25","dac25"],["dac26","dac26"]],touch:[["tc0","tc0"],["tc2","tc2"],["tc4","tc4"],["tc12","tc12"],["tc13","tc13"],["tc14","tc14"],["tc15","tc15"],["tc27","tc27"],["tc32","tc32"],["tc33","tc33"]],touch_pin:[["0","0"],["2","2"],["4","4"],["12","12"],["13","13"],["14","14"],["15","15"],["27","27"],["32","32"],["33","33"]],button:[["p","button_p"],["cw","button_cw"],["ccw","button_ccw"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],exlcdh:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]],exlcdv:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],tts_voice:It.Profile.generate(["0-16"]),tts_builtin_music:It.Profile.generate(["0-47"]),tts_bgmusic:It.Profile.generate(["0-15"]),builtinimg:[["HEART","onboard_matrix.HEART"],["HEART_SMALL","onboard_matrix.HEART_SMALL"],["HAPPY","onboard_matrix.HAPPY"],["SAD","onboard_matrix.SAD"],["SMILE","onboard_matrix.SMILE"],["SILLY","onboard_matrix.SILLY"],["FABULOUS","onboard_matrix.FABULOUS"],["SURPRISED","onboard_matrix.SURPRISED"],["ASLEEP","onboard_matrix.ASLEEP"],["ANGRY","onboard_matrix.ANGRY"],["CONFUSED","onboard_matrix.CONFUSED"],["NO","onboard_matrix.NO"],["YES","onboard_matrix.YES"],["LEFT_ARROW","onboard_matrix.LEFT_ARROW"],["RIGHT_ARROW","onboard_matrix.RIGHT_ARROW"],["DRESS","onboard_matrix.DRESS"],["TRANSFORMERS","onboard_matrix.TRANSFORMERS"],["SCISSORS","onboard_matrix.SCISSORS"],["EXIT","onboard_matrix.EXIT"],["TREE","onboard_matrix.TREE"],["PACMAN","onboard_matrix.PACMAN"],["TARGET","onboard_matrix.TARGET"],["TSHIRT","onboard_matrix.TSHIRT"],["ROLLERSKATE","onboard_matrix.ROLLERSKATE"],["DUCK","onboard_matrix.DUCK"],["HOUSE","onboard_matrix.HOUSE"],["TORTOISE","onboard_matrix.TORTOISE"],["BUTTERFLY","onboard_matrix.BUTTERFLY"],["STICKFIGURE","onboard_matrix.STICKFIGURE"],["GHOST","onboard_matrix.GHOST"],["PITCHFORK","onboard_matrix.PITCHFORK"],["onboard_music_QUAVERS","onboard_matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","onboard_matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","onboard_matrix.onboard_music_CROTCHET"],["COW","onboard_matrix.COW"],["RABBIT","onboard_matrix.RABBIT"],["SQUARE_SMALL","onboard_matrix.SQUARE_SMALL"],["SQUARE","onboard_matrix.SQUARE"],["DIAMOND_SMALL","onboard_matrix.DIAMOND_SMALL"],["DIAMOND","onboard_matrix.DIAMOND"],["CHESSBOARD","onboard_matrix.CHESSBOARD"],["TRIANGLE_LEFT","onboard_matrix.TRIANGLE_LEFT"],["TRIANGLE","onboard_matrix.TRIANGLE"],["SNAKE","onboard_matrix.SNAKE"],["UMBRELLA","onboard_matrix.UMBRELLA"],["SKULL","onboard_matrix.SKULL"],["GIRAFFE","onboard_matrix.GIRAFFE"],["SWORD","onboard_matrix.SWORD"]],builtinimg_extern:[["HEART","matrix32x12.Matrix.HEART"],["HEART_SMALL","matrix32x12.Matrix.HEART_SMALL"],["HAPPY","matrix32x12.Matrix.HAPPY"],["SAD","matrix32x12.Matrix.SAD"],["SMILE","matrix32x12.Matrix.SMILE"],["SILLY","matrix32x12.Matrix.SILLY"],["FABULOUS","matrix32x12.Matrix.FABULOUS"],["SURPRISED","matrix32x12.Matrix.SURPRISED"],["ASLEEP","matrix32x12.Matrix.ASLEEP"],["ANGRY","matrix32x12.Matrix.ANGRY"],["CONFUSED","matrix32x12.Matrix.CONFUSED"],["NO","matrix32x12.Matrix.NO"],["YES","matrix32x12.Matrix.YES"],["LEFT_ARROW","matrix32x12.Matrix.LEFT_ARROW"],["RIGHT_ARROW","matrix32x12.Matrix.RIGHT_ARROW"],["DRESS","matrix32x12.Matrix.DRESS"],["TRANSFORMERS","matrix32x12.Matrix.TRANSFORMERS"],["SCISSORS","matrix32x12.Matrix.SCISSORS"],["EXIT","matrix32x12.Matrix.EXIT"],["TREE","matrix32x12.Matrix.TREE"],["PACMAN","matrix32x12.Matrix.PACMAN"],["TARGET","matrix32x12.Matrix.TARGET"],["TSHIRT","matrix32x12.Matrix.TSHIRT"],["ROLLERSKATE","matrix32x12.Matrix.ROLLERSKATE"],["DUCK","matrix32x12.Matrix.DUCK"],["HOUSE","matrix32x12.Matrix.HOUSE"],["TORTOISE","matrix32x12.Matrix.TORTOISE"],["BUTTERFLY","matrix32x12.Matrix.BUTTERFLY"],["STICKFIGURE","matrix32x12.Matrix.STICKFIGURE"],["GHOST","matrix32x12.Matrix.GHOST"],["PITCHFORK","matrix32x12.Matrix.PITCHFORK"],["onboard_music_QUAVERS","matrix32x12.Matrix.onboard_music_QUAVERS"],["onboard_music_QUAVER","matrix32x12.Matrix.onboard_music_QUAVER"],["onboard_music_CROTCHET","matrix32x12.Matrix.onboard_music_CROTCHET"],["COW","matrix32x12.Matrix.COW"],["RABBIT","matrix32x12.Matrix.RABBIT"],["SQUARE_SMALL","matrix32x12.Matrix.SQUARE_SMALL"],["SQUARE","matrix32x12.Matrix.SQUARE"],["DIAMOND_SMALL","matrix32x12.Matrix.DIAMOND_SMALL"],["DIAMOND","matrix32x12.Matrix.DIAMOND"],["CHESSBOARD","matrix32x12.Matrix.CHESSBOARD"],["TRIANGLE_LEFT","matrix32x12.Matrix.TRIANGLE_LEFT"],["TRIANGLE","matrix32x12.Matrix.TRIANGLE"],["SNAKE","matrix32x12.Matrix.SNAKE"],["UMBRELLA","matrix32x12.Matrix.UMBRELLA"],["SKULL","matrix32x12.Matrix.SKULL"],["GIRAFFE","matrix32x12.Matrix.GIRAFFE"],["SWORD","matrix32x12.Matrix.SWORD"]],imglist:[["ALL_CLOCKS","onboard_matrix.ALL_CLOCKS"],["ALL_ARROWS","onboard_matrix.ALL_ARROWS"]],playlist:[["DADADADUM","onboard_music.DADADADUM"],["ENTERTAINER","onboard_music.ENTERTAINER"],["PRELUDE","onboard_music.PRELUDE"],["ODE","onboard_music.ODE"],["NYAN","onboard_music.NYAN"],["RINGTONE","onboard_music.RINGTONE"],["FUNK","onboard_music.FUNK"],["BLUES","onboard_music.BLUES"],["BIRTHDAY","onboard_music.BIRTHDAY"],["WEDDING","onboard_music.WEDDING"],["FUNERAL","onboard_music.FUNERAL"],["PUNCHLINE","onboard_music.PUNCHLINE"],["PYTHON","onboard_music.PYTHON"],["BADDY","onboard_music.BADDY"],["CHASE","onboard_music.CHASE"],["BA_DING","onboard_music.BA_DING"],["WAWAWAWAA","onboard_music.WAWAWAWAA"],["JUMP_UP","onboard_music.JUMP_UP"],["JUMP_DOWN","onboard_music.JUMP_DOWN"],["POWER_UP","onboard_music.POWER_UP"],["POWER_DOWN","onboard_music.POWER_DOWN"]],playlist_extern:[["DADADADUM","DADADADUM"],["ENTERTAINER","ENTERTAINER"],["PRELUDE","PRELUDE"],["ODE","ODE"],["NYAN","NYAN"],["RINGTONE","RINGTONE"],["FUNK","FUNK"],["BLUES","BLUES"],["BIRTHDAY","BIRTHDAY"],["WEDDING","WEDDING"],["FUNERAL","FUNERAL"],["PUNCHLINE","PUNCHLINE"],["PYTHON","PYTHON"],["BADDY","BADDY"],["CHASE","CHASE"],["BA_DING","BA_DING"],["WAWAWAWAA","WAWAWAWAA"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]],tone_notes:[["NOTE_C3","131"],["NOTE_D3","147"],["NOTE_E3","165"],["NOTE_F3","175"],["NOTE_G3","196"],["NOTE_A3","220"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"],["NOTE_A5","880"],["NOTE_B5","988"]],serial_pin:[["pin0","0"],["pin1","1"],["pin2","2"],["pin8","8"],["pin12","12"],["pin13","13"],["pin14","14"],["pin15","15"],["pin16","16"]],radio_power:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]],radio_datarate:[["1Mbit","RATE_1MBIT"],["250Kbit","RATE_250KBIT"],["2Mbit","RATE_2MBIT"]],one_more:[["ONE_SHOT","ONE_SHOT"],["PERIODIC","PERIODIC"]],digital_dot:[["0","0"],["1","1"],["2","2"],["3","3"]]};const EG=mG,OG=230,RG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital),"PIN"),this.setOutput(!0)}},cG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},gG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},CG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},SG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},AG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},LG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},NG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},DG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},fG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},FG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},PG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},vG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},YG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},XG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},bG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},yG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},xG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog),"PIN"),this.setOutput(!0)}},VG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},BG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.dac),"PIN"),this.setOutput(!0)}},GG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},UG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},wG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm),"PIN"),this.setOutput(!0)}},HG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},kG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},WG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.touch),"PIN"),this.setOutput(!0)}},KG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},JG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},QG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},qG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.imglist),"PIN"),this.setOutput(!0)}},zG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.playlist),"PIN"),this.setOutput(!0)}},jG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},$G={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},ZG={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},tU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},eU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},iU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},nU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},sU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},oU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},_U={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},pU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},aU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.one_more),"PIN"),this.setOutput(!0)}},uU={init:function(){this.setColour(OG),this.appendDummyInput("").appendField(new lt.FieldDropdown(It.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},rU=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},dU=rU,lU=rU,IU=rU,TU=rU,MU=rU,hU=rU,mU=rU,EU=rU,OU=rU,RU=rU,cU=rU,gU=rU,CU=rU,SU=rU,AU=rU,LU=rU,NU=rU,DU=rU,fU=rU,FU=rU,PU=rU,vU=rU,YU=rU,XU=rU,bU=rU,yU=rU,xU=rU,VU=rU,BU=rU,GU=rU,UU=rU,wU=rU,HU=rU,kU=rU;Object.assign(lt.Variables,Mt),Object.assign(lt.Procedures,Pu),Object.assign(lt.Lang.ZhHans,pt),Object.assign(lt.Lang.ZhHant,at),Object.assign(lt.Lang.En,ut),lt.Python=vu,lt.generator=vu,It.Profile.default={},Object.assign(It.Profile,EG),Object.assign(It.Profile.default,EG["ESP32 Generic"]),Object.assign(lt.Blocks,e,i,n,s,o,_,p,a,u,r,d,l,I,y,w,U,v,x,H,f,G,B,V,F,D,N,X,Y,b,P,rt),Object.assign(lt.Python.forBlock,T,M,h,m,E,O,R,c,g,C,S,A,L,Z,ot,st,q,tt,_t,K,nt,it,et,J,W,k,j,z,$,Q,dt)})(); \ No newline at end of file diff --git a/boards/default/python_pyodide/index.xml b/boards/default/python_pyodide/index.xml index 3a0850ab..ee5aa6f8 100644 --- a/boards/default/python_pyodide/index.xml +++ b/boards/default/python_pyodide/index.xml @@ -1 +1 @@ -promptHelloHelloHello,HelloMixly2100,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!101802990x151100a10.998124.821100101010001100501100110002110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')dirmylist1,2,3,4,5mylist0mylist02mylist00mylist0101mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmylist0mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}mydictresults0locationnames11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xreadme.txtffilename.txtfffilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtfilename.txtpathff0reponsehttps://mixio.mixly.cnreponsehttps://mixio.mixly.cnreponsetina20tina90tina0tina2020tina50tinatinatinatinatinatinatina5tinatina225tina5#ff0000#FF0000tina#ff0000#FF0000tina#ff0000#FF0000tina#ff0000#FF0000#ff0000#FF0000tina#FF0000tina#FF0000tina#FF0000tina50tina50360tinascreenturtle.epstina10tinaMixly!tinaMixly!Arial8NUMInput a number:100100Input your nameWhat's your name?df1data.csvdfdfarrayNonearrayNonearrayarrayarraydfvalueFalsedfdf'a','b','c','d'x1.55.50.511array1array2myMatrixmyMatrixmyMatrixarraymatrix1matrix2array1array20,1,2,3xmyArraymyArraymyDimensionsmyArraymyArraymyFeatures0imagetemplatesmyArray0myArray0myArraymylistmylist0,1,2,3mydictmydict'a','b','c','d'mydict'ABCD''a','b','c','d'ser1ser10df1tagdf1tagdf11df1GTcolumndf1tag1df1tagmindf1columndf1tagser1ser11,2,3,45,6,7,81,2,3,45,6,7,820,20,20,20tag1,2,3,45,6,7,8tag1,2,3,45,6,7,80.5tag0.25,0.35,0.1,0.3'a','b','c','d'0.2,0,0,011,21,31,41,51,61,71,81,910,20,40,60,80,100211Titleaxis1,2,3,41,2,3,415581.pngimg1.jpgfacehaarcascade_frontalface_default.xmlfaceRectsimgface1.15faceRectsimgface1.15100100200200Mixlyimg2.jpgimg0img001001003imgMixly02004310020220221001001010.00.010021.0-10.0,10.0TRUEirisiris_xiris_y0.3modelTRUEmodel1.0TRUEFALSE300modelmodel100pca2pcaxmodel5modelmodel8300modelxmodelx_trainy_trainmodelx_testy_testmodelx_testmodelmodelmodel/test.pkl1,2,3,4,511modellayermodelmodelxsys10historymodelinputTensoroutputTensormodelmy-modelmy-model1.jpg100-1010100NOTE_A41000NOTE_A4NOTE_A4 \ No newline at end of file +promptHelloHelloHello,HelloMixly2100,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!101802990x151100a10.998124.821100101010001100501100110002110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyHello,mixly50*Hello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')dirmylist1,2,3,4,5mylist0mylist02mylist00mylist0101mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmylist0mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}mydictresults0locationnames11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xreadme.txtffilename.txtfffilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtfilename.txtpathff0reponsehttps://mixio.mixly.cnreponsehttps://mixio.mixly.cnreponsetina20tina90tina0tina2020tina50tinatinatinatinatinatinatina5tinatina225tina5#ff0000#FF0000tina#ff0000#FF0000tina#ff0000#FF0000tina#ff0000#FF0000#ff0000#FF0000tina#FF0000tina#FF0000tina#FF0000tina50tina50360tinascreenturtle.epstina10tinaMixly!tinaMixly!Arial8NUMInput a number:100100Input your nameWhat's your name?df1data.csvdfdfarrayNonearrayNonearrayarrayarraydfvalueFalsedfdf'a','b','c','d'x1.55.50.511array1array2myMatrixmyMatrixmyMatrixarraymatrix1matrix2array1array20,1,2,3xmyArraymyArraymyDimensionsmyArraymyArraymyFeatures0imagetemplatesmyArray0myArray0myArraymylistmylist0,1,2,3mydictmydict'a','b','c','d'mydict'ABCD''a','b','c','d'ser1ser10df1tagdf1tagdf11df1GTcolumndf1tag1df1tagmindf1columndf1tagser1ser11,2,3,45,6,7,81,2,3,45,6,7,820,20,20,20tag1,2,3,45,6,7,8tag1,2,3,45,6,7,80.5tag0.25,0.35,0.1,0.3'a','b','c','d'0.2,0,0,011,21,31,41,51,61,71,81,910,20,40,60,80,100211Titleaxis1,2,3,41,2,3,415581.pngimg1.jpgfacehaarcascade_frontalface_default.xmlfaceRectsimgface1.15faceRectsimgface1.15100100200200Mixlyimg2.jpgimg0img001001003imgMixly02004310020220221001001010.00.010021.0-10.0,10.0TRUEirisiris_xiris_y0.3modelTRUEmodel1.0TRUEFALSE300modelmodel100pca2pcaxmodel5modelmodel8300modelxmodelx_trainy_trainmodelx_testy_testmodelx_testmodelmodelmodel/test.pkl1,2,3,4,511modellayermodelmodelxsys10historymodelinputTensoroutputTensormodelmy-modelmy-model1.jpg100-1010100NOTE_A41000NOTE_A4NOTE_A4 \ No newline at end of file diff --git a/boards/default/python_pyodide/main.bundle.2509889c.js b/boards/default/python_pyodide/main.bundle.9eb2088b.js similarity index 84% rename from boards/default/python_pyodide/main.bundle.2509889c.js rename to boards/default/python_pyodide/main.bundle.9eb2088b.js index 88b8ab58..5a974126 100644 --- a/boards/default/python_pyodide/main.bundle.2509889c.js +++ b/boards/default/python_pyodide/main.bundle.9eb2088b.js @@ -10110,7 +10110,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ -function Qge(e,t,n,i){return new(n||(n=Promise))(function(r,s){function o(e){try{l(i.next(e))}catch(e){s(e)}}function a(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){e.done?r(e.value):function(e){return e instanceof n?e:new n(function(t){t(e)})}(e.value).then(o,a)}l((i=i.apply(e,t||[])).next())})}var Jge,e_e='.vega-embed {\n position: relative;\n display: inline-block;\n box-sizing: border-box; }\n .vega-embed.has-actions {\n padding-right: 38px; }\n .vega-embed details:not([open]) > :not(summary) {\n display: none !important; }\n .vega-embed summary {\n list-style: none;\n position: absolute;\n top: 0;\n right: 0;\n padding: 6px;\n z-index: 1000;\n background: white;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\n color: #1b1e23;\n border: 1px solid #aaa;\n border-radius: 999px;\n opacity: 0.2;\n transition: opacity 0.4s ease-in;\n outline: none;\n cursor: pointer;\n line-height: 0px; }\n .vega-embed summary::-webkit-details-marker {\n display: none; }\n .vega-embed summary:active {\n box-shadow: #aaa 0px 0px 0px 1px inset; }\n .vega-embed summary svg {\n width: 14px;\n height: 14px; }\n .vega-embed details[open] summary {\n opacity: 0.7; }\n .vega-embed:hover summary,\n .vega-embed:focus summary {\n opacity: 1 !important;\n transition: opacity 0.2s ease; }\n .vega-embed .vega-actions {\n position: absolute;\n z-index: 1001;\n top: 35px;\n right: -9px;\n display: flex;\n flex-direction: column;\n padding-bottom: 8px;\n padding-top: 8px;\n border-radius: 4px;\n box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);\n border: 1px solid #d9d9d9;\n background: white;\n animation-duration: 0.15s;\n animation-name: scale-in;\n animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);\n text-align: left; }\n .vega-embed .vega-actions a {\n padding: 8px 16px;\n font-family: sans-serif;\n font-size: 14px;\n font-weight: 600;\n white-space: nowrap;\n color: #434a56;\n text-decoration: none; }\n .vega-embed .vega-actions a:hover {\n background-color: #f7f7f9;\n color: black; }\n .vega-embed .vega-actions::before, .vega-embed .vega-actions::after {\n content: "";\n display: inline-block;\n position: absolute; }\n .vega-embed .vega-actions::before {\n left: auto;\n right: 14px;\n top: -16px;\n border: 8px solid #0000;\n border-bottom-color: #d9d9d9; }\n .vega-embed .vega-actions::after {\n left: auto;\n right: 15px;\n top: -14px;\n border: 7px solid #0000;\n border-bottom-color: #fff; }\n .vega-embed .chart-wrapper {\n width: 100%;\n height: 100%; }\n\n.vega-embed-wrapper {\n max-width: 100%;\n overflow: auto;\n padding-right: 14px; }\n\n@keyframes scale-in {\n from {\n opacity: 0;\n transform: scale(0.6); }\n to {\n opacity: 1;\n transform: scale(1); } }\n';function t_e(e,...t){for(const n of t)n_e(e,n);return e}function n_e(e,t){for(const n of Object.keys(t))Se(e,n,t[n],!0)}String.prototype.startsWith||(String.prototype.startsWith=function(e,t){return this.substr(!t||t<0?0:+t,e.length)===e});const i_e=v;let r_e=b;const s_e="undefined"!=typeof window?window:void 0;void 0===r_e&&(null===(Jge=null==s_e?void 0:s_e.vl)||void 0===Jge?void 0:Jge.compile)&&(r_e=s_e.vl);const o_e={export:{svg:!0,png:!0},source:!0,compiled:!0,editor:!0},a_e={CLICK_TO_VIEW_ACTIONS:"Click to view actions",COMPILED_ACTION:"View Compiled Vega",EDITOR_ACTION:"Open in Vega Editor",PNG_ACTION:"Save as PNG",SOURCE_ACTION:"View Source",SVG_ACTION:"Save as SVG"},l_e={vega:"Vega","vega-lite":"Vega-Lite"},u_e={vega:i_e.version,"vega-lite":r_e?r_e.version:"not available"},c_e={vega:e=>e,"vega-lite":(e,t)=>r_e.compile(e,{config:t}).spec},d_e='\n\n \n \n \n',h_e="chart-wrapper";function p_e(e,t,n,i){const r=`${t}
`,s=`
${n}`,o=window.open("");o.document.write(r+e+s),o.document.title=`${l_e[i]} JSON Source`}function f_e(e,t){var n;if(e.$schema){const i=zme(e.$schema);t&&t!==i.library&&console.warn(`The given visualization spec is written in ${l_e[i.library]}, but mode argument sets ${null!==(n=l_e[t])&&void 0!==n?n:t}.`);const r=i.library;return(0,ee.satisfies)(u_e[r],`^${i.version.slice(1)}`)||console.warn(`The input spec uses ${l_e[r]} ${i.version}, but the current version of ${l_e[r]} is v${u_e[r]}.`),r}return"mark"in e||"encoding"in e||"layer"in e||"hconcat"in e||"vconcat"in e||"facet"in e||"repeat"in e?"vega-lite":"marks"in e||"signals"in e||"scales"in e||"axes"in e?"vega":null!=t?t:"vega"}function m_e(e){return(t=e)&&"load"in t?e:i_e.loader(e);var t}function g_e(e){var t;return null!==(t=e.usermeta&&e.usermeta.embedOptions)&&void 0!==t?t:{}}function __e(e,t){var n;return Qge(this,void 0,void 0,function*(){const i=bt(e.config)?JSON.parse(yield t.load(e.config)):null!==(n=e.config)&&void 0!==n?n:{},r=bt(e.patch)?JSON.parse(yield t.load(e.patch)):e.patch;return Object.assign(Object.assign(Object.assign({},e),r?{patch:r}:{}),i?{config:i}:{})})}const y_e=function(e,t,n={}){var i,r,s;return Qge(this,void 0,void 0,function*(){let o,a;bt(t)?(a=m_e(n.loader),o=JSON.parse(yield a.load(t))):o=t;const l=g_e(o).loader;a&&!l||(a=m_e(null!==(i=n.loader)&&void 0!==i?i:l));const u=yield __e(g_e(o),a),c=yield __e(n,a),d=Object.assign(Object.assign({},t_e(c,u)),{config:Ae(null!==(r=c.config)&&void 0!==r?r:{},null!==(s=u.config)&&void 0!==s?s:{})});return yield function(e,t,n={},i){var r,s,o,a,l,u;return Qge(this,void 0,void 0,function*(){const c=n.theme?Ae(T[n.theme],null!==(r=n.config)&&void 0!==r?r:{}):n.config,d=mt(n.actions)?n.actions:t_e({},o_e,null!==(s=n.actions)&&void 0!==s?s:{}),h=Object.assign(Object.assign({},a_e),n.i18n),p=null!==(o=n.renderer)&&void 0!==o?o:"canvas",f=null!==(a=n.logLevel)&&void 0!==a?a:i_e.Warn,m=null!==(l=n.downloadFileName)&&void 0!==l?l:"visualization",g="string"==typeof e?document.querySelector(e):e;if(!g)throw new Error(`${e} does not exist`);if(!1!==n.defaultStyle){const e="vega-embed-style",{root:t,rootContainer:i}=function(e){var t;const n=e.getRootNode?e.getRootNode():document;return n instanceof ShadowRoot?{root:n,rootContainer:n}:{root:document,rootContainer:null!==(t=document.head)&&void 0!==t?t:document.body}}(g);if(!t.getElementById(e)){const t=document.createElement("style");t.id=e,t.innerText=void 0===n.defaultStyle||!0===n.defaultStyle?e_e.toString():n.defaultStyle,i.appendChild(t)}}const _=f_e(t,n.mode);let y=c_e[_](t,c);if("vega-lite"===_&&y.$schema){const e=zme(y.$schema);(0,ee.satisfies)(u_e.vega,`^${e.version.slice(1)}`)||console.warn(`The compiled spec uses Vega ${e.version}, but current version is v${u_e.vega}.`)}g.classList.add("vega-embed"),d&&g.classList.add("has-actions"),g.innerHTML="";let v=g;if(d){const e=document.createElement("div");e.classList.add(h_e),g.appendChild(e),v=e}const b=n.patch;b&&(y=b instanceof Function?b(y):$(y,b,!0,!1).newDocument),n.formatLocale&&i_e.formatLocale(n.formatLocale),n.timeFormatLocale&&i_e.timeFormatLocale(n.timeFormatLocale);const{ast:x}=n,E=i_e.parse(y,"vega-lite"===_?{}:c,{ast:x}),w=new(n.viewClass||i_e.View)(E,Object.assign({loader:i,logLevel:f,renderer:p},x?{expr:i_e.expressionInterpreter}:{}));if(!1!==n.tooltip){let e;e=function(e){return"function"==typeof e}(n.tooltip)?n.tooltip:new Zge(!0===n.tooltip?{}:n.tooltip).call,w.tooltip(e)}let I,{hover:A}=n;if(void 0===A&&(A="vega"===_),A){const{hoverSet:e,updateSet:t}="boolean"==typeof A?{}:A;w.hover(e,t)}if(n&&(null!=n.width&&w.width(n.width),null!=n.height&&w.height(n.height),null!=n.padding&&w.padding(n.padding)),yield w.initialize(v,n.bind).runAsync(),!1!==d){let e=g;if(!1!==n.defaultStyle){const t=document.createElement("details");t.title=h.CLICK_TO_VIEW_ACTIONS,g.append(t),e=t;const n=document.createElement("summary");n.innerHTML=d_e,t.append(n),I=e=>{t.contains(e.target)||t.removeAttribute("open")},document.addEventListener("click",I)}const i=document.createElement("div");if(e.append(i),i.classList.add("vega-actions"),!0===d||!1!==d.export)for(const e of["svg","png"])if(!0===d||!0===d.export||d.export[e]){const t=h[`${e.toUpperCase()}_ACTION`],r=document.createElement("a");r.text=t,r.href="#",r.target="_blank",r.download=`${m}.${e}`,r.addEventListener("mousedown",function(t){return Qge(this,void 0,void 0,function*(){t.preventDefault();const i=yield w.toImageURL(e,n.scaleFactor);this.href=i})}),i.append(r)}if(!0===d||!1!==d.source){const e=document.createElement("a");e.text=h.SOURCE_ACTION,e.href="#",e.addEventListener("click",function(e){var i,r;p_e(J()(t),null!==(i=n.sourceHeader)&&void 0!==i?i:"",null!==(r=n.sourceFooter)&&void 0!==r?r:"",_),e.preventDefault()}),i.append(e)}if("vega-lite"===_&&(!0===d||!1!==d.compiled)){const e=document.createElement("a");e.text=h.COMPILED_ACTION,e.href="#",e.addEventListener("click",function(e){var t,i;p_e(J()(y),null!==(t=n.sourceHeader)&&void 0!==t?t:"",null!==(i=n.sourceFooter)&&void 0!==i?i:"","vega"),e.preventDefault()}),i.append(e)}if(!0===d||!1!==d.editor){const e=null!==(u=n.editorUrl)&&void 0!==u?u:"https://vega.github.io/editor/",r=document.createElement("a");r.text=h.EDITOR_ACTION,r.href="#",r.addEventListener("click",function(n){!function(e,t,n){const i=e.open(t),{origin:r}=new URL(t);let s=40;e.addEventListener("message",function t(n){n.source===i&&(s=0,e.removeEventListener("message",t,!1))},!1),setTimeout(function e(){s<=0||(i.postMessage(n,r),setTimeout(e,250),s-=1)},250)}(window,e,{config:c,mode:_,renderer:p,spec:J()(t)}),n.preventDefault()}),i.append(r)}}function S(){I&&document.removeEventListener("click",I),w.finalize()}return{view:w,spec:t,vgSpec:y,finalize:S}})}(e,o,d,a)})}},66262:(e,t)=>{"use strict";t.A=(e,t)=>{const n=e.__vccOpts||e;for(const[e,i]of t)n[e]=i;return n}},26944:e=>{"use strict";e.exports=path},85817:()=>{},18590:()=>{},4530:()=>{},8108:()=>{},80551:()=>{},67425:()=>{},9496:()=>{},26786:()=>{},48884:()=>{},98001:()=>{},71613:()=>{},15312:()=>{},89032:()=>{},60574:()=>{},2672:()=>{},58215:()=>{},1417:()=>{},49391:()=>{},83220:()=>{},73985:()=>{},80032:()=>{},75650:()=>{},56644:()=>{},41234:()=>{},48487:e=>{"use strict";var t=/("(?:[^\\"]|\\.)*")|[:,]/g;e.exports=function(e,n){var i,r,s;return n=n||{},i=JSON.stringify([1],void 0,void 0===n.indent?2:n.indent).slice(2,-3),r=""===i?1/0:void 0===n.maxLength?80:n.maxLength,s=n.replacer,function e(n,o,a){var l,u,c,d,h,p,f,m,g,_,y,v;if(n&&"function"==typeof n.toJSON&&(n=n.toJSON()),void 0===(y=JSON.stringify(n,s)))return y;if(f=r-o.length-a,y.length<=f&&(g=y.replace(t,function(e,t){return t||e+" "})).length<=f)return g;if(null!=s&&(n=JSON.parse(y),s=void 0),"object"==typeof n&&null!==n){if(m=o+i,c=[],u=0,Array.isArray(n))for(_="[",l="]",f=n.length;u0)return[_,i+c.join(",\n"+m),l].join("\n"+o)}return y}(e,"",0)}},21045:e=>{"use strict";e.exports={rE:"3.0.8"}}},__webpack_module_cache__={},leafPrototypes,getProto,inProgress,dataWebpackPrefix;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.loaded=!0,n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.amdD=function(){throw new Error("define cannot be used indirect")},__webpack_require__.amdO={},__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var n=Object.create(null);__webpack_require__.r(n);var i={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var r=2&t&&e;"object"==typeof r&&!~leafPrototypes.indexOf(r);r=getProto(r))Object.getOwnPropertyNames(r).forEach(t=>i[t]=()=>e[t]);return i.default=()=>e,__webpack_require__.d(n,i),n},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,n)=>(__webpack_require__.f[n](e,t),t),[])),__webpack_require__.u=e=>e+".bundle."+{38:"56383ce7",97:"b0fed7fa",195:"9941f7ca",211:"45847679",317:"a52389ac",837:"3c99d169",950:"b01fc844",960:"d893bd17",974:"66119c82"}[e]+".js",__webpack_require__.miniCssF=e=>"styles/"+e+".45554be0.css",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),inProgress={},dataWebpackPrefix="@mixly/python-pyodide:",__webpack_require__.l=(e,t,n,i)=>{if(inProgress[e])inProgress[e].push(t);else{var r,s;if(void 0!==n)for(var o=document.getElementsByTagName("script"),a=0;a{r.onerror=r.onload=null,clearTimeout(c);var i=inProgress[e];if(delete inProgress[e],r.parentNode&&r.parentNode.removeChild(r),i&&i.forEach(e=>e(n)),t)return t(n)},c=setTimeout(u.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=u.bind(null,r.onerror),r.onload=u.bind(null,r.onload),s&&document.head.appendChild(r)}},__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var i=n.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=n[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{if("undefined"!=typeof document){var e=e=>new Promise((t,n)=>{var i=__webpack_require__.miniCssF(e),r=__webpack_require__.p+i;if(((e,t)=>{for(var n=document.getElementsByTagName("link"),i=0;i{var s=document.createElement("link");s.rel="stylesheet",s.type="text/css",__webpack_require__.nc&&(s.nonce=__webpack_require__.nc),s.onerror=s.onload=n=>{if(s.onerror=s.onload=null,"load"===n.type)i();else{var o=n&&n.type,a=n&&n.target&&n.target.href||t,l=new Error("Loading CSS chunk "+e+" failed.\n("+o+": "+a+")");l.name="ChunkLoadError",l.code="CSS_CHUNK_LOAD_FAILED",l.type=o,l.request=a,s.parentNode&&s.parentNode.removeChild(s),r(l)}},s.href=t,n?n.parentNode.insertBefore(s,n.nextSibling):document.head.appendChild(s)})(e,r,null,t,n)}),t={792:0};__webpack_require__.f.miniCss=(n,i)=>{t[n]?i.push(t[n]):0!==t[n]&&{317:1}[n]&&i.push(t[n]=e(n).then(()=>{t[n]=0},e=>{throw delete t[n],e}))}}})(),(()=>{var e={792:0};__webpack_require__.f.j=(t,n)=>{var i=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{var r=new Promise((n,r)=>i=e[t]=[n,r]);n.push(i[2]=r);var s=__webpack_require__.p+__webpack_require__.u(t),o=new Error;__webpack_require__.l(s,n=>{if(__webpack_require__.o(e,t)&&(0!==(i=e[t])&&(e[t]=void 0),i)){var r=n&&("load"===n.type?"missing":n.type),s=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed.\n("+r+": "+s+")",o.name="ChunkLoadError",o.type=r,o.request=s,i[1](o)}},"chunk-"+t,t)}};var t=(t,n)=>{var i,r,[s,o,a]=n,l=0;if(s.some(t=>0!==e[t])){for(i in o)__webpack_require__.o(o,i)&&(__webpack_require__.m[i]=o[i]);if(a)a(__webpack_require__)}for(t&&t(n);l{"use strict";var e={};__webpack_require__.r(e),__webpack_require__.d(e,{controls_type:()=>Qe,controls_typeLists:()=>Je,lists_zip:()=>et,lists_zip_container:()=>tt,lists_zip_item:()=>nt,unpack_iterable_object:()=>it,variables_change:()=>Ke,variables_get:()=>Xe,variables_global:()=>Ze,variables_set:()=>qe});var t={};__webpack_require__.r(t),__webpack_require__.d(t,{base_setup:()=>ot,controls_delay:()=>at,controls_end_program:()=>lt,controls_except:()=>Tt,controls_finally:()=>xt,controls_flow_statements:()=>ft,controls_for:()=>mt,controls_forEach:()=>dt,controls_for_range:()=>gt,controls_if:()=>ut,controls_if_else:()=>vt,controls_if_elseif:()=>yt,controls_if_if:()=>_t,controls_lambda:()=>wt,controls_main:()=>st,controls_pass:()=>It,controls_range:()=>ct,controls_repeat_ext:()=>Et,controls_thread:()=>At,controls_try:()=>bt,controls_try_finally:()=>pt,controls_whileUntil:()=>ht,datetime_fromtimestamp:()=>Rt,do_while:()=>St,garbage_collection:()=>Ct,gene_unique_identifier:()=>Nt,get_mem_alloc:()=>Ot,get_mem_free:()=>Mt,get_unique_identifier:()=>kt});var n={};__webpack_require__.r(n),__webpack_require__.d(n,{base_map:()=>en,generate_cartesian_product:()=>nn,math_arithmetic:()=>Bt,math_bit:()=>Ut,math_constant:()=>Lt,math_constant_mp:()=>Pt,math_constrain:()=>Wt,math_dec:()=>zt,math_degree_to_radian:()=>sn,math_indexer_number:()=>qt,math_map:()=>Xt,math_max_min:()=>Yt,math_number:()=>Ft,math_number_base_conversion:()=>Gt,math_radian_to_degree:()=>rn,math_random:()=>Ht,math_random_seed:()=>Kt,math_round:()=>Zt,math_selfcalcu:()=>$t,math_to_int:()=>jt,math_trig:()=>Vt,text_to_number:()=>Qt,text_to_number_skulpt:()=>Jt,turn_to_int:()=>tn});var i={};__webpack_require__.r(i),__webpack_require__.d(i,{ascii_to_char:()=>hn,char_to_ascii:()=>pn,number_to_text:()=>fn,os_system:()=>$n,text:()=>an,text_bytes:()=>un,text_capital:()=>En,text_center:()=>wn,text_char:()=>cn,text_char_at:()=>_n,text_char_at2:()=>gn,text_char_at3:()=>Fn,text_compareTo:()=>Dn,text_compare_to:()=>xn,text_create_with_container:()=>kn,text_create_with_item:()=>Rn,text_encode:()=>Pn,text_equals_starts_ends:()=>Tn,text_eval:()=>Bn,text_find:()=>In,text_format:()=>Mn,text_format_noreturn:()=>Ln,text_join:()=>dn,text_join_seq:()=>An,text_length:()=>mn,text_random_char:()=>yn,text_replace:()=>Sn,text_split:()=>Cn,text_strip:()=>On,text_substring:()=>bn,text_substring2:()=>vn,text_substring3:()=>Nn,text_textarea:()=>ln});var r={};__webpack_require__.r(r),__webpack_require__.d(r,{ENUMERATE:()=>Ti,content_in_lists:()=>Ei,enumerate:()=>xi,list_many_input:()=>li,list_tolist:()=>hi,list_tolist2:()=>bi,list_trig:()=>si,lists_2d_get_col_row_data:()=>Yn,lists_2d_get_data_with_col_row:()=>jn,lists_append_extend:()=>Kn,lists_change_to:()=>ai,lists_change_to_general:()=>ci,lists_clear:()=>ti,lists_create_with:()=>Gn,lists_create_with2:()=>pi,lists_create_with_container:()=>Wn,lists_create_with_item:()=>Xn,lists_create_with_noreturn:()=>ui,lists_create_with_text:()=>Hn,lists_create_with_text2:()=>fi,lists_del_general:()=>di,lists_find:()=>ri,lists_getIndex3:()=>mi,lists_getSublist3:()=>gi,lists_get_index:()=>Vn,lists_get_random_item:()=>Zn,lists_get_random_sublist:()=>Qn,lists_get_sublist:()=>zn,lists_insert_value:()=>Jn,lists_insert_value2:()=>yi,lists_pop:()=>ii,lists_remove_at:()=>ni,lists_remove_at2:()=>vi,lists_reverse:()=>ei,lists_setIndex3:()=>_i,lists_set_index:()=>qn,lists_sort:()=>oi});var s={};__webpack_require__.r(s),__webpack_require__.d(s,{dicts_add_change_del:()=>$i,dicts_add_or_change:()=>ki,dicts_clear:()=>Di,dicts_create_with:()=>Ii,dicts_create_with_container:()=>Ai,dicts_create_with_item:()=>Si,dicts_create_with_noreturn:()=>zi,dicts_deldict:()=>Bi,dicts_delete:()=>Ri,dicts_get:()=>Oi,dicts_get_default:()=>Mi,dicts_items:()=>Fi,dicts_keys:()=>Ci,dicts_length:()=>Pi,dicts_pop:()=>Ui,dicts_setdefault:()=>Vi,dicts_to_json:()=>Yi,dicts_to_json2:()=>Wi,dicts_to_to:()=>Hi,dicts_todict:()=>ji,dicts_update:()=>Ni,dicts_values:()=>Li,json_to_dicts:()=>Gi});var o={};__webpack_require__.r(o),__webpack_require__.d(o,{logic_boolean:()=>Ji,logic_compare:()=>qi,logic_compare_continous:()=>Ki,logic_is:()=>ir,logic_is_in:()=>nr,logic_negate:()=>Qi,logic_null:()=>er,logic_operation:()=>Zi,logic_tobool:()=>rr,logic_true_or_false:()=>tr});var a={};__webpack_require__.r(a),__webpack_require__.d(a,{sdcard_mount:()=>Sr,sdcard_use_spi_init:()=>Ar,storage_can_write_ornot:()=>pr,storage_change_dir:()=>wr,storage_close_file:()=>mr,storage_delete_file:()=>_r,storage_file_seek:()=>br,storage_file_tell:()=>vr,storage_file_write:()=>ur,storage_fileopen:()=>or,storage_fileopen_new:()=>ar,storage_fileopen_new_encoding:()=>lr,storage_get_a_line:()=>hr,storage_get_contents:()=>dr,storage_get_contents_without_para:()=>cr,storage_get_current_dir:()=>Tr,storage_get_file_size:()=>yr,storage_get_filename:()=>fr,storage_is_file:()=>Ir,storage_list_all_files:()=>gr,storage_make_dir:()=>xr,storage_open_file_with_os:()=>sr,storage_rename:()=>Er});var l={};__webpack_require__.r(l),__webpack_require__.d(l,{procedures_callnoreturn:()=>Rr,procedures_callreturn:()=>Nr,procedures_defnoreturn:()=>Cr,procedures_defreturn:()=>Or,procedures_ifreturn:()=>Dr,procedures_mutatorarg:()=>kr,procedures_mutatorcontainer:()=>Mr,procedures_return:()=>Fr});var u={};__webpack_require__.r(u),__webpack_require__.d(u,{tuple_change_to:()=>Wr,tuple_create_llm_params:()=>ns,tuple_create_with:()=>Pr,tuple_create_with_container:()=>Br,tuple_create_with_item:()=>$r,tuple_create_with_noreturn:()=>Zr,tuple_create_with_text2:()=>Ur,tuple_create_with_text_return:()=>Vr,tuple_del:()=>Yr,tuple_find:()=>Xr,tuple_getIndex:()=>zr,tuple_getSublist:()=>Kr,tuple_get_random_item:()=>Jr,tuple_get_sublist:()=>Qr,tuple_input:()=>ts,tuple_join:()=>Gr,tuple_length:()=>jr,tuple_max:()=>Hr,tuple_totuple:()=>es,tuple_trig:()=>qr});var c={};__webpack_require__.r(c),__webpack_require__.d(c,{set_add_discard:()=>hs,set_clear:()=>us,set_create_with:()=>rs,set_create_with_container:()=>ss,set_create_with_item:()=>os,set_create_with_text_return:()=>ms,set_length:()=>as,set_operate:()=>cs,set_operate_update:()=>ds,set_pop:()=>ls,set_sub:()=>ps,set_toset:()=>gs,set_update:()=>fs});var d={};__webpack_require__.r(d),__webpack_require__.d(d,{html_content:()=>Ts,html_content_more:()=>xs,html_document:()=>ys,html_form:()=>ws,html_head_body:()=>bs,html_style:()=>Es,html_style_color:()=>As,html_style_content:()=>Is,html_text:()=>Ss,html_title:()=>vs});var h={};__webpack_require__.r(h),__webpack_require__.d(h,{attribute_access:()=>Vs,function_call:()=>Bs,function_call_container:()=>$s,function_call_item:()=>Us,raw_block:()=>Ms,raw_empty:()=>Rs,raw_expression:()=>ks,raw_table:()=>Os,text_comment:()=>Ns,text_print_multiple:()=>Fs,text_print_multiple_container:()=>Ls,text_print_multiple_item:()=>Ps,type_check:()=>Ds});var p={};__webpack_require__.r(p),__webpack_require__.d(p,{controls_type:()=>Hs,controls_typeLists:()=>Ws,lists_zip:()=>Xs,unpack_iterable_object:()=>qs,variables_change:()=>Ys,variables_get:()=>zs,variables_global:()=>Gs,variables_set:()=>js});var f={};__webpack_require__.r(f),__webpack_require__.d(f,{Panic_with_status_code:()=>so,base_setup:()=>Zs,controls_delay:()=>ro,controls_flow_statements:()=>io,controls_for:()=>eo,controls_forEach:()=>co,controls_for_range:()=>to,controls_if:()=>Qs,controls_interrupts:()=>lo,controls_lambda:()=>po,controls_main:()=>Ks,controls_millis:()=>oo,controls_nointerrupts:()=>uo,controls_pass:()=>mo,controls_range:()=>ho,controls_repeat:()=>Eo,controls_repeat_ext:()=>yo,controls_thread:()=>go,controls_try_finally:()=>Js,controls_whileUntil:()=>no,datetime_fromtimestamp:()=>wo,do_while:()=>_o,garbage_collection:()=>vo,gene_unique_identifier:()=>Io,get_mem_alloc:()=>bo,get_mem_free:()=>To,get_unique_identifier:()=>xo,reset:()=>ao,time_sleep:()=>fo});var m={};__webpack_require__.r(m),__webpack_require__.d(m,{base_map:()=>Ho,generate_cartesian_product:()=>Xo,math_arithmetic:()=>Mo,math_bit:()=>Oo,math_constant:()=>So,math_constant_mp:()=>Co,math_constrain:()=>$o,math_dec:()=>Do,math_degree_to_radian:()=>Ko,math_indexer_number:()=>zo,math_map:()=>Bo,math_max_min:()=>Lo,math_number:()=>Ao,math_number_base_conversion:()=>Uo,math_radian_to_degree:()=>qo,math_random:()=>Po,math_random_seed:()=>Vo,math_round:()=>jo,math_selfcalcu:()=>ko,math_single:()=>Ro,math_to_int:()=>Fo,math_trig:()=>No,text_to_number:()=>Yo,text_to_number_skulpt:()=>Go,turn_to_int:()=>Wo});var g={};__webpack_require__.r(g),__webpack_require__.d(g,{ascii_to_char:()=>na,char_to_ascii:()=>ia,number_to_text:()=>ra,os_system:()=>Sa,text:()=>Zo,text_bytes:()=>Jo,text_capital:()=>pa,text_center:()=>fa,text_char:()=>ea,text_char_at:()=>aa,text_char_at2:()=>oa,text_char_at3:()=>wa,text_compareTo:()=>Ea,text_compare_to:()=>ca,text_encode:()=>Ia,text_equals_starts_ends:()=>ua,text_eval:()=>Aa,text_find:()=>ma,text_format:()=>ba,text_format_noreturn:()=>Ta,text_join:()=>ta,text_join_seq:()=>ga,text_length:()=>sa,text_random_char:()=>la,text_replace:()=>_a,text_split:()=>ya,text_strip:()=>va,text_substring:()=>ha,text_substring2:()=>da,text_substring3:()=>xa,text_textarea:()=>Qo});var _={};__webpack_require__.r(_),__webpack_require__.d(_,{content_in_lists:()=>al,enumerate:()=>ol,list_many_input:()=>Wa,list_tolist:()=>rl,list_tolist2:()=>sl,list_trig:()=>Ya,lists_2d_get_col_row_data:()=>Ma,lists_2d_get_data_with_col_row:()=>Oa,lists_append_extend:()=>Fa,lists_change_to:()=>Ha,lists_change_to_general:()=>qa,lists_clear:()=>Ua,lists_create_with:()=>ka,lists_create_with2:()=>Za,lists_create_with_noreturn:()=>Xa,lists_create_with_text:()=>Ra,lists_create_with_text2:()=>Qa,lists_del_general:()=>Ka,lists_find:()=>Va,lists_getIndex3:()=>Ja,lists_getSublist3:()=>el,lists_get_index:()=>Na,lists_get_random_item:()=>La,lists_get_random_sublist:()=>Pa,lists_get_sublist:()=>Ca,lists_insert_value:()=>Ba,lists_insert_value2:()=>nl,lists_pop:()=>ja,lists_remove_at:()=>za,lists_remove_at2:()=>il,lists_reverse:()=>$a,lists_setIndex3:()=>tl,lists_set_index:()=>Da,lists_sort:()=>Ga});var y={};__webpack_require__.r(y),__webpack_require__.d(y,{dicts_add_change_del:()=>bl,dicts_add_or_change:()=>hl,dicts_clear:()=>ml,dicts_create_with:()=>ll,dicts_create_with_noreturn:()=>El,dicts_deldict:()=>vl,dicts_delete:()=>pl,dicts_get:()=>cl,dicts_get_default:()=>dl,dicts_items:()=>gl,dicts_keys:()=>ul,dicts_length:()=>yl,dicts_pop:()=>Tl,dicts_setdefault:()=>xl,dicts_to_json:()=>Il,dicts_to_json2:()=>Cl,dicts_to_to:()=>Sl,dicts_todict:()=>wl,dicts_update:()=>fl,dicts_values:()=>_l,json_to_dicts:()=>Al});var v={};__webpack_require__.r(v),__webpack_require__.d(v,{logic_boolean:()=>Nl,logic_compare:()=>Ol,logic_compare_continous:()=>Ml,logic_is:()=>Pl,logic_is_in:()=>Ll,logic_negate:()=>Rl,logic_null:()=>Dl,logic_operation:()=>kl,logic_tobool:()=>Bl,logic_true_or_false:()=>Fl});var b={};__webpack_require__.r(b),__webpack_require__.d(b,{sdcard_mount:()=>au,sdcard_use_spi_init:()=>ou,storage_can_write_ornot:()=>Wl,storage_change_dir:()=>tu,storage_close_file:()=>ql,storage_delete_file:()=>Zl,storage_file_seek:()=>eu,storage_file_tell:()=>Jl,storage_file_write:()=>jl,storage_fileopen:()=>Ul,storage_fileopen_new:()=>Vl,storage_fileopen_new_encoding:()=>zl,storage_get_a_line:()=>Hl,storage_get_contents:()=>Gl,storage_get_contents_without_para:()=>Yl,storage_get_current_dir:()=>nu,storage_get_file_size:()=>Ql,storage_get_filename:()=>Xl,storage_is_file:()=>su,storage_list_all_files:()=>Kl,storage_make_dir:()=>iu,storage_open_file_with_os:()=>$l,storage_rename:()=>ru});var T={};__webpack_require__.r(T),__webpack_require__.d(T,{procedures_callnoreturn:()=>du,procedures_callreturn:()=>cu,procedures_defnoreturn:()=>uu,procedures_defreturn:()=>lu,procedures_ifreturn:()=>hu,procedures_return:()=>pu});var x={};__webpack_require__.r(x),__webpack_require__.d(x,{tuple_change_to:()=>xu,tuple_create_llm_params:()=>ku,tuple_create_with:()=>fu,tuple_create_with_noreturn:()=>Au,tuple_create_with_text2:()=>mu,tuple_create_with_text_return:()=>gu,tuple_del:()=>vu,tuple_find:()=>Eu,tuple_getIndex:()=>_u,tuple_getSublist:()=>Iu,tuple_get_random_item:()=>Cu,tuple_get_sublist:()=>Su,tuple_input:()=>Mu,tuple_join:()=>bu,tuple_length:()=>yu,tuple_max:()=>Tu,tuple_totuple:()=>Ou,tuple_trig:()=>wu});var E={};__webpack_require__.r(E),__webpack_require__.d(E,{set_add_discard:()=>Bu,set_clear:()=>Fu,set_create_with:()=>Ru,set_create_with_text_return:()=>Vu,set_length:()=>Nu,set_operate:()=>Lu,set_operate_update:()=>Pu,set_pop:()=>Du,set_sub:()=>$u,set_toset:()=>zu,set_update:()=>Uu});var w={};__webpack_require__.r(w),__webpack_require__.d(w,{html_content:()=>Hu,html_content_more:()=>Wu,html_document:()=>ju,html_form:()=>qu,html_head_body:()=>Gu,html_style:()=>Xu,html_style_content:()=>Ku,html_text:()=>Zu,html_title:()=>Yu});var I={};__webpack_require__.r(I),__webpack_require__.d(I,{attribute_access:()=>rc,function_call:()=>ic,raw_block:()=>Qu,raw_empty:()=>ec,raw_expression:()=>Ju,raw_table:()=>tc,type_check:()=>nc});var A={};__webpack_require__.r(A),__webpack_require__.d(A,{AI_ChooseAndGet:()=>uc,AI_Face_match:()=>mc,AI_ImageClassify:()=>pc,AI_ImageClassify_Func:()=>fc,AI_Nlp:()=>yc,AI_Nlp_Func:()=>bc,AI_Nlp_Func_sim:()=>Tc,AI_Nlp_Sim:()=>vc,AI_Nlp_Topic:()=>xc,AI_Nlp_newsSummary:()=>Ec,AI_Ocr:()=>gc,AI_Ocr_Func:()=>_c,AI_Speech_asr:()=>hc,AI_Speech_synthesis:()=>dc,AI_audio:()=>wc,AI_client:()=>cc,AI_photo:()=>Ic,AI_result:()=>Ac});var S={};__webpack_require__.r(S),__webpack_require__.d(S,{algorithm_add_path:()=>Nc,algorithm_add_school:()=>Oc,algorithm_all_books:()=>qc,algorithm_all_books_sequence:()=>Kc,algorithm_book_scale:()=>ld,algorithm_check_feet:()=>vd,algorithm_chick_calculate:()=>yd,algorithm_color_seclet:()=>Pd,algorithm_current_school:()=>$c,algorithm_del_path:()=>Dc,algorithm_delete_book:()=>rd,algorithm_delete_books:()=>sd,algorithm_delete_books2:()=>od,algorithm_divide_books:()=>nd,algorithm_find_path:()=>Mc,algorithm_first_book:()=>Zc,algorithm_fz_calc:()=>Ed,algorithm_fz_calc_first_min:()=>wd,algorithm_fz_compare:()=>Id,algorithm_fz_move:()=>Sd,algorithm_fz_set_min:()=>Ad,algorithm_get_book_num:()=>hd,algorithm_get_current_location:()=>Fd,algorithm_get_half_books:()=>id,algorithm_hxdb_add:()=>Rd,algorithm_hxdb_init_soldier:()=>Od,algorithm_hxdb_last_line:()=>kd,algorithm_hxdb_result:()=>Nd,algorithm_hxdb_stand_in_line:()=>Md,algorithm_init_fzsf:()=>xd,algorithm_init_hxdb:()=>Cd,algorithm_init_jttl:()=>md,algorithm_move_recent:()=>jc,algorithm_new_path:()=>kc,algorithm_next_book:()=>ed,algorithm_no_left:()=>Lc,algorithm_no_path:()=>Uc,algorithm_no_ring2:()=>Qc,algorithm_not_home:()=>Yc,algorithm_not_school:()=>Gc,algorithm_number_add:()=>cd,algorithm_number_zero:()=>ud,algorithm_prepare:()=>Cc,algorithm_prepare2:()=>Bc,algorithm_prepare_2_1:()=>Vc,algorithm_prepare_2_2:()=>zc,algorithm_print_book2:()=>ad,algorithm_print_divide:()=>fd,algorithm_print_jttl_answer:()=>bd,algorithm_print_number:()=>dd,algorithm_print_path:()=>Pc,algorithm_print_path2:()=>Hc,algorithm_print_sequence:()=>pd,algorithm_rabbit_add:()=>Td,algorithm_rabbit_number_in_range:()=>_d,algorithm_rabbit_zero:()=>gd,algorithm_return_path:()=>Fc,algorithm_set_path:()=>Rc,algorithm_two_left:()=>td,algorithm_void_path:()=>Ld,algorithm_yes_ring2:()=>Jc,hanoi_init:()=>Wc,hanoi_init_offline:()=>Dd,hanoi_move:()=>Xc});var C={};__webpack_require__.r(C),__webpack_require__.d(C,{requests_attribute:()=>zd,requests_get:()=>Ud,requests_get_old:()=>$d,requests_method:()=>jd,requests_post:()=>Vd});var O={};__webpack_require__.r(O),__webpack_require__.d(O,{cv_destroy_all:()=>qd,cv_face_classifier:()=>Qd,cv_face_detect:()=>Jd,cv_face_detect_all:()=>eh,cv_line_rect:()=>Kd,cv_read_image:()=>Gd,cv_show_image:()=>Hd,cv_text:()=>Zd,cv_waitkey:()=>Xd,cv_write_image:()=>Wd});var M={};__webpack_require__.r(M),__webpack_require__.d(M,{array_create:()=>_h,array_toarray:()=>kh,dataframe_aggregate_func:()=>Ap,dataframe_create:()=>rh,dataframe_create_from_index:()=>oh,dataframe_create_from_one_index:()=>sh,dataframe_fillna:()=>hp,dataframe_get:()=>Ch,dataframe_groupby:()=>Ip,dataframe_head_tail:()=>Ep,dataframe_info:()=>pp,dataframe_median:()=>dp,dataframe_select:()=>wp,dataframe_sort_values:()=>xp,matrix_multiplication:()=>up,matrix_transpose:()=>lp,numpy_argmin_template_match:()=>ep,numpy_astype:()=>Zh,numpy_c_:()=>op,numpy_dot:()=>_p,numpy_linalg_det:()=>ap,numpy_linalg_inv:()=>cp,numpy_max:()=>mp,numpy_mean:()=>tp,numpy_mean_digit:()=>Jh,numpy_min:()=>fp,numpy_ones:()=>sp,numpy_random_random:()=>bp,numpy_reshape:()=>Kh,numpy_shape:()=>qh,numpy_size:()=>gp,numpy_square:()=>yp,numpy_std:()=>np,numpy_sum:()=>vp,numpy_trig:()=>Ih,pandas_drop_columns:()=>rp,pandas_dropna:()=>ip,pandas_readcsv:()=>Sh,pl_axes:()=>ph,pl_bar:()=>Th,pl_hist:()=>Eh,pl_label:()=>gh,pl_legend:()=>fh,pl_pie:()=>xh,pl_plot:()=>dh,pl_plot_bar:()=>yh,pl_plot_easy:()=>ch,pl_plot_scatter:()=>vh,pl_plot_xy:()=>bh,pl_savefig:()=>Oh,pl_show:()=>hh,pl_subplot:()=>Ah,pl_text:()=>Mh,pl_ticks:()=>wh,pl_title:()=>mh,plot_axes:()=>Fh,plot_bar:()=>zh,plot_cla:()=>Sp,plot_hist:()=>Yh,plot_label:()=>Bh,plot_legend:()=>Lh,plot_pie:()=>jh,plot_plot:()=>Nh,plot_plot_bar:()=>$h,plot_plot_easy:()=>Rh,plot_plot_scatter:()=>Uh,plot_plot_xy:()=>Vh,plot_savefig:()=>Wh,plot_show:()=>Dh,plot_subplot:()=>Hh,plot_text:()=>Xh,plot_ticks:()=>Gh,plot_title:()=>Ph,py_sum:()=>Tp,pylab_imshow:()=>Qh,series_create:()=>nh,series_create_from_index:()=>ih,series_create_from_text:()=>ah,series_get_num:()=>uh,series_index_value:()=>lh});var k={};__webpack_require__.r(k),__webpack_require__.d(k,{ds_add_node_by_attr:()=>Lp,ds_add_node_by_name:()=>Fp,ds_create_linkedlist:()=>Op,ds_create_linkedlist_container:()=>Mp,ds_create_linkedlist_item:()=>kp,ds_create_node:()=>Rp,ds_del_node_by_attr:()=>Bp,ds_del_node_by_name:()=>Pp,ds_get_node_attr:()=>Np,ds_reverse_linkedlist:()=>$p,ds_set_node_attr:()=>Dp});var R={};__webpack_require__.r(R),__webpack_require__.d(R,{factory_block:()=>Kp,factory_block_return:()=>Zp,factory_block_return_with_textarea:()=>Jp,factory_block_with_textarea:()=>Qp,factory_callMethod_noreturn:()=>Xp,factory_callMethod_return:()=>qp,factory_create_with_container:()=>Yp,factory_create_with_item:()=>Gp,factory_declare:()=>Wp,factory_from_import:()=>Vp,factory_function_noreturn:()=>jp,factory_function_return:()=>Hp,factory_import:()=>zp});var N={};__webpack_require__.r(N),__webpack_require__.d(N,{hardware_arduino_analog_read:()=>af,hardware_arduino_analog_write:()=>of,hardware_arduino_digital_read:()=>sf,hardware_arduino_digital_write:()=>rf,hardware_arduino_start:()=>tf,inout_highlow:()=>nf});var D={};__webpack_require__.r(D),__webpack_require__.d(D,{inout_input:()=>lf,inout_print:()=>uf,inout_print_container:()=>mf,inout_print_end:()=>df,inout_print_inline:()=>cf,inout_print_item:()=>gf,inout_print_many:()=>ff,inout_type_input:()=>hf,pyinout_type_input:()=>pf});var F={};__webpack_require__.r(F),__webpack_require__.d(F,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Vf,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Uf,IOT_EMQX_PING:()=>Bf,IOT_FORMATTING:()=>Lf,IOT_FORMAT_STRING:()=>Pf,IOT_MIXIO_NTP:()=>$f,IOT_MIXIO_PUBLISH:()=>Sf,IOT_MIXIO_PUBLISHEX:()=>Cf,IOT_MIXIO_SUBSCRIBE:()=>Of,IOT_MIXIO_UNSUBSCRIBE:()=>Mf,iot_checkonenet:()=>Zf,iot_client_onboard:()=>Yf,iot_create_with_item:()=>If,iot_http_client:()=>Gf,iot_http_data:()=>Hf,iot_mixio_check:()=>Nf,iot_mixio_connect:()=>Af,iot_mixio_connect_only:()=>Rf,iot_mixio_disconnect:()=>kf,iot_mixio_format_msg:()=>Ff,iot_mixio_format_topic:()=>Df,iot_mixly_key:()=>jf,iot_mixly_key_py:()=>zf,iot_mqtt_client:()=>Wf,iot_mqtt_data:()=>Xf,iot_onenet_check:()=>bf,iot_onenet_connect:()=>yf,iot_onenet_disconnect:()=>vf,iot_onenet_publish:()=>xf,iot_onenet_publish_dict:()=>Tf,iot_onenetconnect:()=>qf,iot_onenetdisconnect:()=>Kf,iot_publish:()=>Qf,iot_publish_container:()=>Ef,iot_publish_item:()=>wf});var L={};__webpack_require__.r(L),__webpack_require__.d(L,{pins_analog_read:()=>im,pins_analog_write:()=>nm,pins_digital_read:()=>tm,pins_digital_write:()=>em});var P={};__webpack_require__.r(P),__webpack_require__.d(P,{serial_close:()=>am,serial_open:()=>rm,serial_read_b:()=>om,serial_write:()=>sm});var B={};__webpack_require__.r(B),__webpack_require__.d(B,{sklearn_DecisionTreeClassifier_Regressor:()=>ym,sklearn_GaussianNB:()=>Tm,sklearn_KMeans:()=>wm,sklearn_KMeans_fit:()=>Im,sklearn_KNeighborsClassifier_Regressor:()=>bm,sklearn_LinearRegression:()=>gm,sklearn_RandomForestClassifier_Regressor:()=>vm,sklearn_Ridge:()=>_m,sklearn_cluster_centers_labels_inertia:()=>Rm,sklearn_coef_intercept:()=>km,sklearn_data_target:()=>pm,sklearn_fit:()=>Am,sklearn_fit_no_target:()=>Sm,sklearn_load:()=>hm,sklearn_make_blobs:()=>dm,sklearn_make_classification:()=>um,sklearn_make_regression:()=>cm,sklearn_pca:()=>xm,sklearn_pca_fit_transform:()=>Em,sklearn_predict:()=>Cm,sklearn_save_load_model:()=>Nm,sklearn_score:()=>Om,sklearn_score_no_target:()=>Mm,sklearn_train_test_split:()=>fm,sklearn_train_test_split_no_target:()=>mm});var U={};__webpack_require__.r(U),__webpack_require__.d(U,{Panic_with_status_code:()=>Bm,base_delay:()=>Fm,controls_millis:()=>Lm,controls_mstimer2:()=>Um,controls_mstimer2_start:()=>Vm,controls_mstimer2_stop:()=>zm,reset:()=>$m,time_localtime:()=>Pm,time_sleep:()=>jm});var V={};__webpack_require__.r(V),__webpack_require__.d(V,{turtle_bgcolor:()=>dg,turtle_bgcolor_hex:()=>Tg,turtle_bgcolor_hex_new:()=>gg,turtle_circle:()=>lg,turtle_circle_advanced:()=>ug,turtle_clear:()=>ng,turtle_clone:()=>mg,turtle_color:()=>vg,turtle_color_hex:()=>bg,turtle_color_seclet:()=>kg,turtle_create:()=>Gm,turtle_done:()=>Hm,turtle_exitonclick:()=>Wm,turtle_fill:()=>rg,turtle_fillcolor:()=>fg,turtle_fillcolor_hex:()=>Eg,turtle_fillcolor_hex_new:()=>yg,turtle_getscreen:()=>Rg,turtle_goto:()=>Qm,turtle_listen:()=>Lg,turtle_move:()=>Xm,turtle_numinput:()=>Ag,turtle_onclick:()=>Dg,turtle_onkey:()=>Ng,turtle_ontimer:()=>Fg,turtle_pencolor:()=>pg,turtle_pencolor_hex:()=>xg,turtle_pencolor_hex_new:()=>_g,turtle_penup:()=>ig,turtle_pos_shape:()=>eg,turtle_rotate:()=>qm,turtle_screen_delay:()=>Zm,turtle_screen_savefig:()=>Pg,turtle_setheading:()=>Km,turtle_setxy:()=>Jm,turtle_shape:()=>wg,turtle_shapesize:()=>Ig,turtle_size:()=>og,turtle_size_speed:()=>sg,turtle_speed:()=>ag,turtle_stamp:()=>tg,turtle_textinput:()=>Sg,turtle_tracer:()=>hg,turtle_visible:()=>cg,turtle_write:()=>Cg,turtle_write_format:()=>Og,turtle_write_format_skulpt:()=>Mg});var z={};__webpack_require__.r(z),__webpack_require__.d(z,{AI_ChooseAndGet:()=>Bg,AI_Face_match:()=>jg,AI_ImageClassify:()=>zg,AI_ImageClassify_Func:()=>qg,AI_Nlp:()=>Gg,AI_Nlp_Func:()=>Zg,AI_Nlp_Func_sim:()=>Qg,AI_Nlp_Sim:()=>Hg,AI_Nlp_Topic:()=>Wg,AI_Nlp_newsSummary:()=>Xg,AI_Ocr:()=>Yg,AI_Ocr_Func:()=>Kg,AI_Speech_asr:()=>Vg,AI_Speech_synthesis:()=>Ug,AI_audio:()=>Jg,AI_client:()=>$g,AI_photo:()=>e_,AI_result:()=>t_});var j={};__webpack_require__.r(j),__webpack_require__.d(j,{algorithm_add_path:()=>a_,algorithm_add_school:()=>i_,algorithm_all_books:()=>w_,algorithm_all_books_sequence:()=>E_,algorithm_book_scale:()=>D_,algorithm_check_feet:()=>z_,algorithm_chick_calculate:()=>V_,algorithm_color_seclet:()=>sy,algorithm_current_school:()=>p_,algorithm_del_path:()=>l_,algorithm_delete_book:()=>R_,algorithm_divide_books:()=>M_,algorithm_find_path:()=>r_,algorithm_first_book:()=>I_,algorithm_fz_calc:()=>H_,algorithm_fz_compare:()=>W_,algorithm_fz_move:()=>q_,algorithm_fz_set_min:()=>X_,algorithm_get_current_location:()=>iy,algorithm_get_half_books:()=>k_,algorithm_hxdb_add:()=>ey,algorithm_hxdb_init_soldier:()=>Z_,algorithm_hxdb_last_line:()=>J_,algorithm_hxdb_result:()=>ty,algorithm_hxdb_stand_in_line:()=>Q_,algorithm_init_fzsf:()=>G_,algorithm_init_hxdb:()=>K_,algorithm_init_jttl:()=>B_,algorithm_move_recent:()=>__,algorithm_new_path:()=>s_,algorithm_next_book:()=>C_,algorithm_no_left:()=>c_,algorithm_no_path:()=>f_,algorithm_no_ring2:()=>A_,algorithm_not_home:()=>y_,algorithm_not_school:()=>v_,algorithm_number_add:()=>L_,algorithm_number_zero:()=>F_,algorithm_prepare:()=>n_,algorithm_prepare2:()=>h_,algorithm_prepare_2_1:()=>m_,algorithm_prepare_2_2:()=>g_,algorithm_print_book2:()=>N_,algorithm_print_jttl_answer:()=>j_,algorithm_print_number:()=>P_,algorithm_print_path:()=>d_,algorithm_print_path2:()=>b_,algorithm_rabbit_add:()=>Y_,algorithm_rabbit_number_in_range:()=>U_,algorithm_rabbit_zero:()=>$_,algorithm_return_path:()=>u_,algorithm_set_path:()=>o_,algorithm_two_left:()=>O_,algorithm_void_path:()=>ry,algorithm_yes_ring2:()=>S_,hanoi_init:()=>T_,hanoi_init_offline:()=>ny,hanoi_move:()=>x_});var Y={};__webpack_require__.r(Y),__webpack_require__.d(Y,{requests_attribute:()=>uy,requests_get:()=>ay,requests_get_old:()=>oy,requests_method:()=>cy,requests_post:()=>ly});var G={};__webpack_require__.r(G),__webpack_require__.d(G,{array_create:()=>Sy,array_toarray:()=>Vy,dataframe_aggregate_func:()=>Lv,dataframe_create:()=>fy,dataframe_create_from_index:()=>my,dataframe_create_from_one_index:()=>gy,dataframe_fillna:()=>xv,dataframe_get:()=>By,dataframe_groupby:()=>Fv,dataframe_head_tail:()=>Nv,dataframe_info:()=>Ev,dataframe_median:()=>Tv,dataframe_select:()=>Dv,dataframe_sort_values:()=>Rv,matrix_multiplication:()=>vv,matrix_transpose:()=>yv,numpy_argmin_template_match:()=>cv,numpy_astype:()=>av,numpy_c_:()=>gv,numpy_dot:()=>Sv,numpy_linalg_det:()=>_v,numpy_linalg_inv:()=>bv,numpy_max:()=>Iv,numpy_mean:()=>dv,numpy_mean_digit:()=>uv,numpy_min:()=>wv,numpy_ones:()=>mv,numpy_random_random:()=>Mv,numpy_reshape:()=>ov,numpy_shape:()=>sv,numpy_size:()=>Av,numpy_square:()=>Cv,numpy_std:()=>hv,numpy_sum:()=>Ov,numpy_trig:()=>Fy,pandas_drop_columns:()=>fv,pandas_dropna:()=>pv,pandas_readcsv:()=>Py,pl_axes:()=>Ty,pl_bar:()=>ky,pl_hist:()=>Ny,pl_label:()=>Ay,pl_legend:()=>wy,pl_pie:()=>Ry,pl_plot:()=>Ey,pl_plot_bar:()=>Cy,pl_plot_easy:()=>xy,pl_plot_scatter:()=>Oy,pl_plot_xy:()=>My,pl_savefig:()=>$y,pl_show:()=>by,pl_subplot:()=>Ly,pl_text:()=>Uy,pl_ticks:()=>Dy,pl_title:()=>Iy,plot_axes:()=>jy,plot_bar:()=>Qy,plot_cla:()=>Pv,plot_hist:()=>ev,plot_label:()=>Xy,plot_legend:()=>Hy,plot_pie:()=>Jy,plot_plot:()=>Gy,plot_plot_bar:()=>qy,plot_plot_easy:()=>Yy,plot_plot_scatter:()=>Ky,plot_plot_xy:()=>Zy,plot_savefig:()=>iv,plot_show:()=>zy,plot_subplot:()=>nv,plot_text:()=>rv,plot_ticks:()=>tv,plot_title:()=>Wy,py_sum:()=>kv,pylab_imshow:()=>lv,series_create:()=>hy,series_create_from_index:()=>py,series_create_from_text:()=>_y,series_get_num:()=>vy,series_index_value:()=>yy});var H={};__webpack_require__.r(H),__webpack_require__.d(H,{ds_add_node_by_attr:()=>jv,ds_add_node_by_name:()=>zv,ds_create_linkedlist:()=>Bv,ds_create_node:()=>$v,ds_del_node_by_attr:()=>Gv,ds_del_node_by_name:()=>Yv,ds_get_node_attr:()=>Uv,ds_reverse_linkedlist:()=>Hv,ds_set_node_attr:()=>Vv});var W={};__webpack_require__.r(W),__webpack_require__.d(W,{factory_block:()=>eb,factory_block_return:()=>tb,factory_block_return_with_textarea:()=>ib,factory_block_with_textarea:()=>nb,factory_callMethod_noreturn:()=>Qv,factory_callMethod_return:()=>Jv,factory_declare:()=>Zv,factory_from_import:()=>Wv,factory_function_noreturn:()=>qv,factory_function_return:()=>Kv,factory_import:()=>Xv});var X={};__webpack_require__.r(X),__webpack_require__.d(X,{hardware_arduino_analog_read:()=>lb,hardware_arduino_analog_write:()=>ub,hardware_arduino_digital_read:()=>ab,hardware_arduino_digital_write:()=>ob,hardware_arduino_start:()=>rb,inout_highlow:()=>sb});var q={};__webpack_require__.r(q),__webpack_require__.d(q,{inout_input:()=>cb,inout_print:()=>db,inout_print_end:()=>pb,inout_print_inline:()=>hb,inout_print_many:()=>gb,inout_type_input:()=>fb,pyinout_type_input:()=>mb});var K={};__webpack_require__.r(K),__webpack_require__.d(K,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Ob,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Rb,IOT_EMQX_PING:()=>Nb,IOT_FORMATTING:()=>Sb,IOT_FORMAT_STRING:()=>Cb,IOT_MIXIO_NTP:()=>Db,IOT_MIXIO_PUBLISH:()=>yb,IOT_MIXIO_PUBLISHEX:()=>vb,IOT_MIXIO_SUBSCRIBE:()=>bb,IOT_MIXIO_UNSUBSCRIBE:()=>Tb,iot_mixio_check:()=>wb,iot_mixio_connect:()=>_b,iot_mixio_connect_only:()=>Eb,iot_mixio_disconnect:()=>xb,iot_mixio_format_msg:()=>Ab,iot_mixio_format_topic:()=>Ib,iot_mixly_key:()=>Mb,iot_mixly_key_py:()=>kb});var Z={};__webpack_require__.r(Z),__webpack_require__.d(Z,{pins_analog_read:()=>$b,pins_analog_write:()=>Bb,pins_digital:()=>Fb,pins_digital_read:()=>Pb,pins_digital_write:()=>Lb});var Q={};__webpack_require__.r(Q),__webpack_require__.d(Q,{serial_close:()=>jb,serial_open:()=>Ub,serial_read_b:()=>zb,serial_write:()=>Vb});var J={};__webpack_require__.r(J),__webpack_require__.d(J,{sklearn_DecisionTreeClassifier_Regressor:()=>Jb,sklearn_GaussianNB:()=>nT,sklearn_KMeans:()=>sT,sklearn_KMeans_fit:()=>oT,sklearn_KNeighborsClassifier_Regressor:()=>tT,sklearn_LinearRegression:()=>Zb,sklearn_RandomForestClassifier_Regressor:()=>eT,sklearn_Ridge:()=>Qb,sklearn_cluster_centers_labels_inertia:()=>pT,sklearn_coef_intercept:()=>hT,sklearn_data_target:()=>Xb,sklearn_fit:()=>aT,sklearn_fit_no_target:()=>lT,sklearn_load:()=>Wb,sklearn_make_blobs:()=>Hb,sklearn_make_classification:()=>Yb,sklearn_make_regression:()=>Gb,sklearn_pca:()=>iT,sklearn_pca_fit_transform:()=>rT,sklearn_predict:()=>uT,sklearn_save_load_model:()=>fT,sklearn_score:()=>cT,sklearn_score_no_target:()=>dT,sklearn_train_test_split:()=>qb,sklearn_train_test_split_no_target:()=>Kb});var ee={};__webpack_require__.r(ee),__webpack_require__.d(ee,{controls_end_program:()=>gT,controls_millis:()=>mT,time_localtime:()=>_T});var te={};__webpack_require__.r(te),__webpack_require__.d(te,{turtle_bgcolor:()=>BT,turtle_bgcolor_hex:()=>jT,turtle_bgcolor_hex_new:()=>HT,turtle_circle:()=>DT,turtle_circle_advanced:()=>LT,turtle_clear:()=>CT,turtle_clone:()=>zT,turtle_color:()=>KT,turtle_color_hex:()=>qT,turtle_color_seclet:()=>rx,turtle_create:()=>yT,turtle_done:()=>vT,turtle_exitonclick:()=>bT,turtle_fill:()=>MT,turtle_fillcolor:()=>VT,turtle_fillcolor_hex:()=>GT,turtle_fillcolor_hex_new:()=>XT,turtle_getscreen:()=>sx,turtle_goto:()=>IT,turtle_listen:()=>ux,turtle_move:()=>TT,turtle_numinput:()=>ex,turtle_onclick:()=>ax,turtle_onkey:()=>ox,turtle_ontimer:()=>lx,turtle_pencolor:()=>UT,turtle_pencolor_hex:()=>YT,turtle_pencolor_hex_new:()=>WT,turtle_penup:()=>OT,turtle_pos_shape:()=>AT,turtle_rotate:()=>xT,turtle_screen_delay:()=>wT,turtle_screen_savefig:()=>cx,turtle_setheading:()=>ET,turtle_setxy:()=>FT,turtle_shape:()=>ZT,turtle_shapesize:()=>QT,turtle_size:()=>RT,turtle_size_speed:()=>kT,turtle_speed:()=>NT,turtle_stamp:()=>ST,turtle_textinput:()=>JT,turtle_tracer:()=>$T,turtle_visible:()=>PT,turtle_write:()=>tx,turtle_write_format:()=>nx,turtle_write_format_skulpt:()=>ix});var ne={};__webpack_require__.r(ne),__webpack_require__.d(ne,{sklearn_LinearRegression:()=>dx});var ie={};__webpack_require__.r(ie),__webpack_require__.d(ie,{sklearn_LinearRegression:()=>hx});var re={};__webpack_require__.r(re);var se={};__webpack_require__.r(se),__webpack_require__.d(se,{tensorflow_add:()=>_x,tensorflow_compile:()=>yx,tensorflow_fit:()=>vx,tensorflow_get_loss:()=>bx,tensorflow_get_tensor_data:()=>xx,tensorflow_init_tensor:()=>fx,tensorflow_layers_dense:()=>gx,tensorflow_predict:()=>Tx,tensorflow_prepare_picture:()=>Ix,tensorflow_save_or_export_model:()=>Ex,tensorflow_sequential:()=>mx,tensorflow_use_load_model:()=>wx});var oe={};__webpack_require__.r(oe),__webpack_require__.d(oe,{BaseTransition:()=>QA,BaseTransitionPropsValidators:()=>qA,Comment:()=>JO,DeprecationTypes:()=>fk,EffectScope:()=>YE,ErrorCodes:()=>XI,ErrorTypeStrings:()=>lk,Fragment:()=>ZO,KeepAlive:()=>NS,ReactiveEffect:()=>qE,Static:()=>eM,Suspense:()=>GO,Teleport:()=>zA,Text:()=>QO,TrackOpTypes:()=>DI,Transition:()=>Ak,TransitionGroup:()=>ER,TriggerOpTypes:()=>FI,VueElement:()=>fR,assertNumber:()=>WI,callWithAsyncErrorHandling:()=>ZI,callWithErrorHandling:()=>KI,camelize:()=>rE,capitalize:()=>aE,cloneVNode:()=>bM,compatUtils:()=>pk,computed:()=>tk,createApp:()=>eN,createBlock:()=>cM,createCommentVNode:()=>EM,createElementBlock:()=>uM,createElementVNode:()=>gM,createHydrationRenderer:()=>mO,createPropsRestProxy:()=>MC,createRenderer:()=>fO,createSSRApp:()=>tN,createSlots:()=>lC,createStaticVNode:()=>xM,createTextVNode:()=>TM,createVNode:()=>_M,customRef:()=>SI,defineAsyncComponent:()=>OS,defineComponent:()=>sS,defineCustomElement:()=>dR,defineEmits:()=>yC,defineExpose:()=>vC,defineModel:()=>xC,defineOptions:()=>bC,defineProps:()=>_C,defineSSRCustomElement:()=>hR,defineSlots:()=>TC,devtools:()=>uk,effect:()=>lw,effectScope:()=>GE,getCurrentInstance:()=>NM,getCurrentScope:()=>HE,getCurrentWatcher:()=>$I,getTransitionRawChildren:()=>rS,guardReactiveProps:()=>vM,h:()=>nk,handleError:()=>QI,hasInjectionContext:()=>KC,hydrate:()=>JR,hydrateOnIdle:()=>wS,hydrateOnInteraction:()=>SS,hydrateOnMediaQuery:()=>AS,hydrateOnVisible:()=>IS,initCustomFormatter:()=>ik,initDirectivesForSSR:()=>sN,inject:()=>qC,isMemoSame:()=>sk,isProxy:()=>dI,isReactive:()=>lI,isReadonly:()=>uI,isRef:()=>gI,isRuntimeOnly:()=>GM,isShallow:()=>cI,isVNode:()=>dM,markRaw:()=>pI,mergeDefaults:()=>CC,mergeModels:()=>OC,mergeProps:()=>SM,nextTick:()=>oA,normalizeClass:()=>xE,normalizeProps:()=>EE,normalizeStyle:()=>_E,onActivated:()=>FS,onBeforeMount:()=>jS,onBeforeUnmount:()=>WS,onBeforeUpdate:()=>GS,onDeactivated:()=>LS,onErrorCaptured:()=>QS,onMounted:()=>YS,onRenderTracked:()=>ZS,onRenderTriggered:()=>KS,onScopeDispose:()=>WE,onServerPrefetch:()=>qS,onUnmounted:()=>XS,onUpdated:()=>HS,onWatcherCleanup:()=>UI,openBlock:()=>iM,popScopeId:()=>CA,provide:()=>XC,proxyRefs:()=>II,pushScopeId:()=>SA,queuePostFlushCb:()=>uA,reactive:()=>iI,readonly:()=>sI,ref:()=>_I,registerRuntimeCompiler:()=>YM,render:()=>QR,renderList:()=>aC,renderSlot:()=>uC,resolveComponent:()=>tC,resolveDirective:()=>rC,resolveDynamicComponent:()=>iC,resolveFilter:()=>hk,resolveTransitionHooks:()=>eS,setBlockTracking:()=>aM,setDevtoolsHook:()=>ck,setTransitionHooks:()=>iS,shallowReactive:()=>rI,shallowReadonly:()=>oI,shallowRef:()=>yI,ssrContextKey:()=>EO,ssrUtils:()=>dk,stop:()=>uw,toDisplayString:()=>$E,toHandlerKey:()=>lE,toHandlers:()=>dC,toRaw:()=>hI,toRef:()=>kI,toRefs:()=>CI,toValue:()=>EI,transformVNodeArgs:()=>pM,triggerRef:()=>TI,unref:()=>xI,useAttrs:()=>IC,useCssModule:()=>_R,useCssVars:()=>Gk,useHost:()=>mR,useId:()=>oS,useModel:()=>RO,useSSRContext:()=>wO,useShadowRoot:()=>gR,useSlots:()=>wC,useTemplateRef:()=>lS,useTransitionState:()=>WA,vModelCheckbox:()=>RR,vModelDynamic:()=>$R,vModelRadio:()=>DR,vModelSelect:()=>FR,vModelText:()=>kR,vShow:()=>zk,version:()=>ok,warn:()=>ak,watch:()=>CO,watchEffect:()=>IO,watchPostEffect:()=>AO,watchSyncEffect:()=>SO,withAsyncContext:()=>kC,withCtx:()=>MA,withDefaults:()=>EC,withDirectives:()=>kA,withKeys:()=>HR,withMemo:()=>rk,withModifiers:()=>YR,withScopeId:()=>OA});var ae={};__webpack_require__.r(ae),__webpack_require__.d(ae,{COPYFILE_EXCL:()=>FP,COPYFILE_FICLONE:()=>LP,COPYFILE_FICLONE_FORCE:()=>PP,F_OK:()=>kP,O_APPEND:()=>GP,O_CREAT:()=>VP,O_DIRECT:()=>QP,O_DIRECTORY:()=>HP,O_DSYNC:()=>KP,O_EXCL:()=>zP,O_NOATIME:()=>WP,O_NOCTTY:()=>jP,O_NOFOLLOW:()=>XP,O_NONBLOCK:()=>JP,O_RDONLY:()=>BP,O_RDWR:()=>UP,O_SYMLINK:()=>ZP,O_SYNC:()=>qP,O_TRUNC:()=>YP,O_WRONLY:()=>$P,R_OK:()=>RP,S_IFBLK:()=>rB,S_IFCHR:()=>oB,S_IFDIR:()=>sB,S_IFIFO:()=>aB,S_IFLNK:()=>nB,S_IFMT:()=>eB,S_IFREG:()=>iB,S_IFSOCK:()=>tB,S_IRGRP:()=>gB,S_IROTH:()=>bB,S_IRUSR:()=>hB,S_IRWXG:()=>mB,S_IRWXO:()=>vB,S_IRWXU:()=>dB,S_ISGID:()=>uB,S_ISUID:()=>lB,S_ISVTX:()=>cB,S_IWGRP:()=>_B,S_IWOTH:()=>TB,S_IWUSR:()=>pB,S_IXGRP:()=>yB,S_IXOTH:()=>xB,S_IXUSR:()=>fB,UV_FS_O_FILEMAP:()=>EB,W_OK:()=>NP,X_OK:()=>DP,size_max:()=>wB});var le={};__webpack_require__.r(le),__webpack_require__.d(le,{FileHandle:()=>WU,access:()=>vV,appendFile:()=>rV,chmod:()=>pV,chown:()=>dV,constants:()=>ae,copyFile:()=>xV,cp:()=>wV,exists:()=>qU,lchmod:()=>fV,lchown:()=>hV,link:()=>lV,lstat:()=>ZU,lutimes:()=>gV,mkdir:()=>oV,mkdtemp:()=>TV,open:()=>tV,opendir:()=>EV,readFile:()=>nV,readdir:()=>aV,readlink:()=>cV,realpath:()=>_V,rename:()=>XU,rm:()=>bV,rmdir:()=>sV,stat:()=>KU,statfs:()=>IV,symlink:()=>uV,truncate:()=>QU,unlink:()=>JU,utimes:()=>mV,watch:()=>yV,writeFile:()=>iV});var ue={};__webpack_require__.r(ue),__webpack_require__.d(ue,{BigIntStatsFs:()=>kB,Dir:()=>VU,Dirent:()=>UU,ReadStream:()=>jU,Stats:()=>CB,StatsFs:()=>MB,WriteStream:()=>YU,_synced:()=>L$,access:()=>oz,accessSync:()=>kU,appendFile:()=>LV,appendFileSync:()=>aU,chmod:()=>tz,chmodSync:()=>AU,chown:()=>JV,chownSync:()=>wU,chroot:()=>V$,close:()=>BV,closeSync:()=>uU,constants:()=>ae,copyFile:()=>mz,copyFileSync:()=>DU,cp:()=>vz,cpSync:()=>BU,createReadStream:()=>dz,createWriteStream:()=>hz,exists:()=>CV,existsSync:()=>K$,fchmod:()=>GV,fchmodSync:()=>gU,fchown:()=>YV,fchownSync:()=>mU,fdatasync:()=>VV,fdatasyncSync:()=>hU,fstat:()=>PV,fstatSync:()=>lU,fsync:()=>UV,fsyncSync:()=>dU,ftruncate:()=>$V,ftruncateSync:()=>cU,futimes:()=>HV,futimesSync:()=>_U,lchmod:()=>nz,lchmodSync:()=>SU,lchown:()=>ez,lchownSync:()=>IU,link:()=>KV,linkSync:()=>TU,lopenSync:()=>iU,lstat:()=>MV,lstatSync:()=>Q$,lutimes:()=>rz,lutimesSync:()=>OU,mkdir:()=>XV,mkdirSync:()=>vU,mkdtemp:()=>fz,mkdtempSync:()=>NU,mount:()=>N$,mountObject:()=>$$,mounts:()=>R$,open:()=>NV,openAsBlob:()=>Tz,openSync:()=>nU,opendir:()=>yz,opendirSync:()=>PU,promises:()=>le,read:()=>jV,readFile:()=>DV,readFileSync:()=>sU,readSync:()=>fU,readdir:()=>qV,readdirSync:()=>bU,readlink:()=>QV,readlinkSync:()=>EU,readv:()=>gz,readvSync:()=>FU,realpath:()=>sz,realpathSync:()=>MU,rename:()=>SV,renameSync:()=>q$,rm:()=>pz,rmSync:()=>RU,rmdir:()=>WV,rmdirSync:()=>yU,stat:()=>OV,statSync:()=>Z$,statfs:()=>bz,statfsSync:()=>$U,symlink:()=>ZV,symlinkSync:()=>xU,truncate:()=>kV,truncateSync:()=>J$,umount:()=>D$,unlink:()=>RV,unlinkSync:()=>eU,unwatchFile:()=>uz,utimes:()=>iz,utimesSync:()=>CU,watch:()=>cz,watchFile:()=>lz,write:()=>zV,writeFile:()=>FV,writeFileSync:()=>oU,writeSync:()=>pU,writev:()=>_z,writevSync:()=>LU});var ce={};__webpack_require__.r(ce),__webpack_require__.d(ce,{maxNorm:()=>X9,minMaxNorm:()=>Z9,nonNeg:()=>K9,unitNorm:()=>q9});var de={};__webpack_require__.r(de),__webpack_require__.d(de,{constant:()=>e7,glorotNormal:()=>a7,glorotUniform:()=>o7,heNormal:()=>l7,heUniform:()=>u7,identity:()=>r7,leCunNormal:()=>c7,leCunUniform:()=>d7,ones:()=>J9,orthogonal:()=>h7,randomNormal:()=>n7,randomUniform:()=>t7,truncatedNormal:()=>i7,varianceScaling:()=>s7,zeros:()=>Q9});var he={};__webpack_require__.r(he),__webpack_require__.d(he,{Layer:()=>S9,RNN:()=>Fte,RNNCell:()=>Lte,activation:()=>mie,add:()=>wie,alphaDropout:()=>fre,average:()=>Iie,averagePooling1d:()=>Die,averagePooling2d:()=>Pie,averagePooling3d:()=>Uie,avgPool1d:()=>Fie,avgPool2d:()=>Bie,avgPool3d:()=>Vie,avgPooling1d:()=>Lie,avgPooling2d:()=>$ie,avgPooling3d:()=>zie,batchNormalization:()=>kie,bidirectional:()=>ore,categoryEncoding:()=>vre,centerCrop:()=>_re,concatenate:()=>Aie,conv1d:()=>oie,conv2d:()=>aie,conv2dTranspose:()=>lie,conv3d:()=>uie,conv3dTranspose:()=>cie,convLstm2d:()=>nre,convLstm2dCell:()=>ire,cropping2D:()=>hie,dense:()=>gie,depthwiseConv2d:()=>fie,dot:()=>Mie,dropout:()=>_ie,elu:()=>eie,embedding:()=>Eie,flatten:()=>vie,gaussianDropout:()=>pre,gaussianNoise:()=>hre,globalAveragePooling1d:()=>jie,globalAveragePooling2d:()=>Yie,globalMaxPool1d:()=>lre,globalMaxPool2d:()=>ure,globalMaxPooling1d:()=>Gie,globalMaxPooling2d:()=>Hie,gru:()=>Kie,gruCell:()=>Zie,input:()=>Ree,inputLayer:()=>Jne,layerNormalization:()=>Rie,leakyReLU:()=>nie,lstm:()=>Qie,lstmCell:()=>Jie,masking:()=>mre,maxPool1d:()=>cre,maxPool2d:()=>dre,maxPooling1d:()=>Wie,maxPooling2d:()=>Xie,maxPooling3d:()=>qie,maximum:()=>Sie,minimum:()=>Cie,multiply:()=>Oie,permute:()=>xie,prelu:()=>iie,randomWidth:()=>bre,reLU:()=>tie,repeatVector:()=>bie,rescaling:()=>gre,reshape:()=>Tie,resizing:()=>yre,rnn:()=>rre,separableConv2d:()=>die,simpleRNN:()=>ere,simpleRNNCell:()=>tre,softmax:()=>rie,spatialDropout1d:()=>yie,stackedRNNCells:()=>sre,thresholdedReLU:()=>sie,timeDistributed:()=>are,upSampling2d:()=>pie,zeroPadding2d:()=>Nie});var pe={};__webpack_require__.r(pe),__webpack_require__.d(pe,{MAPE:()=>kre,MSE:()=>Dre,binaryAccuracy:()=>Tre,binaryCrossentropy:()=>xre,categoricalAccuracy:()=>wre,categoricalCrossentropy:()=>Ire,cosineProximity:()=>Cre,mape:()=>Rre,meanAbsoluteError:()=>Ore,meanAbsolutePercentageError:()=>Mre,meanSquaredError:()=>Nre,mse:()=>Fre,precision:()=>Are,r2Score:()=>Lre,recall:()=>Sre,sparseCategoricalAccuracy:()=>Ere});var fe={};__webpack_require__.r(fe),__webpack_require__.d(fe,{modelFromJSON:()=>See});var me={};__webpack_require__.r(me),__webpack_require__.d(me,{l1:()=>Bre,l1l2:()=>Pre,l2:()=>$re});var ge={};__webpack_require__.r(ge),__webpack_require__.d(ge,{json:()=>sse});var _e={};__webpack_require__.r(_e),__webpack_require__.d(_e,{json:()=>ose});var ye={};__webpack_require__.r(ye),__webpack_require__.d(ye,{json:()=>ase});var ve={};__webpack_require__.r(ve),__webpack_require__.d(ve,{json:()=>lse});var be={};__webpack_require__.r(be),__webpack_require__.d(be,{json:()=>use});var Te={};__webpack_require__.r(Te),__webpack_require__.d(Te,{json:()=>cse});var xe={};__webpack_require__.r(xe),__webpack_require__.d(xe,{json:()=>dse});var Ee={};__webpack_require__.r(Ee),__webpack_require__.d(Ee,{json:()=>hse});var we={};__webpack_require__.r(we),__webpack_require__.d(we,{json:()=>pse});var Ie={};__webpack_require__.r(Ie),__webpack_require__.d(Ie,{json:()=>fse});var Ae={};__webpack_require__.r(Ae),__webpack_require__.d(Ae,{json:()=>mse});var Se={};__webpack_require__.r(Se),__webpack_require__.d(Se,{json:()=>gse});var Ce={};__webpack_require__.r(Ce),__webpack_require__.d(Ce,{json:()=>_se});var Oe={};__webpack_require__.r(Oe),__webpack_require__.d(Oe,{json:()=>yse});var Me={};__webpack_require__.r(Me),__webpack_require__.d(Me,{json:()=>vse});var ke={};__webpack_require__.r(ke),__webpack_require__.d(ke,{json:()=>bse});var Re={};__webpack_require__.r(Re),__webpack_require__.d(Re,{json:()=>Tse});var Ne={};__webpack_require__.r(Ne),__webpack_require__.d(Ne,{json:()=>xse});var De={};__webpack_require__.r(De),__webpack_require__.d(De,{json:()=>Ese});var Fe={};__webpack_require__.r(Fe),__webpack_require__.d(Fe,{OP_SCOPE_SUFFIX:()=>Use.BTT,abs:()=>Use.tnl,acos:()=>Use.HQu,acosh:()=>Use.FqL,add:()=>Use.WQq,addN:()=>Use.QiD,all:()=>Use.Q7R,any:()=>Use.bzn,argMax:()=>Use.FLi,argMin:()=>Use.XRg,asin:()=>Use.qRo,asinh:()=>Use.yHs,atan:()=>Use.rYl,atan2:()=>Use.FPz,atanh:()=>Use.rfv,avgPool:()=>Use.$jT,avgPool3d:()=>Use.sub,basicLSTMCell:()=>Use.lZX,batchNorm:()=>Use.$v7,batchNorm2d:()=>Use.BFc,batchNorm3d:()=>Use.kSi,batchNorm4d:()=>Use.T5N,batchToSpaceND:()=>Use.GTe,bincount:()=>Use.HbZ,bitwiseAnd:()=>Use.vjT,booleanMaskAsync:()=>Use.ftb,broadcastArgs:()=>Use.ROE,broadcastTo:()=>Use.hOW,buffer:()=>Use.ra8,cast:()=>Use.wgE,ceil:()=>Use.mkO,clipByValue:()=>Use.zQh,clone:()=>Use.o8B,complex:()=>Use.faB,concat:()=>Use.xWs,concat1d:()=>Use.I1m,concat2d:()=>Use.RPU,concat3d:()=>Use.O5O,concat4d:()=>Use.P1l,conv1d:()=>Use.kA9,conv2d:()=>Use.Xtf,conv2dTranspose:()=>Use.wX9,conv3d:()=>Use.IPL,conv3dTranspose:()=>Use.jIJ,cos:()=>Use.gnS,cosh:()=>Use.yIG,cosineWindow:()=>Use._jP,cumprod:()=>Use.Lp0,cumsum:()=>Use.rCv,denseBincount:()=>Use.aOp,depthToSpace:()=>Use.Rj8,depthwiseConv2d:()=>Use.Gl3,diag:()=>Use.smy,dilation2d:()=>Use.X7t,div:()=>Use.y4m,divNoNan:()=>Use.ek5,dot:()=>Use.Omf,dropout:()=>Use.EZY,einsum:()=>Use._3C,elu:()=>Use.Pqc,enclosingPowerOfTwo:()=>Use.FJY,ensureShape:()=>Use.QP2,equal:()=>Use.LCg,erf:()=>Use.Y12,euclideanNorm:()=>Use.p4S,exp:()=>Use.oNF,expandDims:()=>Use.UG6,expm1:()=>Use.IYd,eye:()=>Use.y5U,fft:()=>Use.hVP,fill:()=>Use.GSj,floor:()=>Use.RIf,floorDiv:()=>Use.wh_,fused:()=>Use.cZk,gather:()=>Use.kgh,gatherND:()=>Use.SY9,greater:()=>Use.rhj,greaterEqual:()=>Use.DQN,ifft:()=>Use.KGM,imag:()=>Use.ngS,image:()=>Use.Slp,inTopKAsync:()=>Use.U4u,irfft:()=>Use.ggX,isFinite:()=>Use.MIs,isInf:()=>Use.EN4,isNaN:()=>Use.yrW,leakyRelu:()=>Use.H8d,less:()=>Use.M7h,lessEqual:()=>Use.InN,linalg:()=>Use.mPL,linspace:()=>Use.mT8,localResponseNormalization:()=>Use.Kgs,log:()=>Use.Rm2,log1p:()=>Use.Kko,logSigmoid:()=>Use.nqI,logSoftmax:()=>Use.HPB,logSumExp:()=>Use.VZ,logicalAnd:()=>Use.n76,logicalNot:()=>Use.NSZ,logicalOr:()=>Use.ztW,logicalXor:()=>Use.rxB,losses:()=>Use.YYh,lowerBound:()=>Use.yzS,matMul:()=>Use.NoW,max:()=>Use.T9B,maxPool:()=>Use.jgi,maxPool3d:()=>Use.NYV,maxPoolWithArgmax:()=>Use.RO,maximum:()=>Use.PhQ,mean:()=>Use.i2o,meshgrid:()=>Use.OYQ,min:()=>Use.jkA,minimum:()=>Use.BpO,mirrorPad:()=>Use.FFZ,mod:()=>Use.ziu,moments:()=>Use.Clk,movingAverage:()=>Use.CRk,mul:()=>Use.lKK,multiRNNCell:()=>Use.YDF,multinomial:()=>Use.OjQ,neg:()=>Use.HZy,norm:()=>Use.xbf,notEqual:()=>Use.Ec,oneHot:()=>Use.Mw0,ones:()=>Use.SaS,onesLike:()=>Use.P61,op:()=>Use.op,outerProduct:()=>Use.X4o,pad:()=>Use.eVF,pad1d:()=>Use.BZs,pad2d:()=>Use.grY,pad3d:()=>Use.XHu,pad4d:()=>Use.WLX,pool:()=>Use.dzn,pow:()=>Use.n7C,prelu:()=>Use.NsG,print:()=>Use.yyV,prod:()=>Use._eU,raggedGather:()=>Use.whe,raggedRange:()=>Use.iyU,raggedTensorToTensor:()=>Use.Q0_,rand:()=>Use._9M,randomGamma:()=>Use.pR9,randomNormal:()=>Use.FE$,randomStandardNormal:()=>Use.m0H,randomUniform:()=>Use.YeY,randomUniformInt:()=>Use.HYA,range:()=>Use.y17,real:()=>Use.xav,reciprocal:()=>Use.VOZ,relu:()=>Use.VVh,relu6:()=>Use.j__,reshape:()=>Use.tQQ,reverse:()=>Use.BEg,reverse1d:()=>Use.QD2,reverse2d:()=>Use.LMr,reverse3d:()=>Use.I2l,reverse4d:()=>Use.JYU,rfft:()=>Use.z8$,round:()=>Use.LIG,rsqrt:()=>Use.Z$r,scalar:()=>Use.d_2,scatterND:()=>Use.NFr,searchSorted:()=>Use.sZg,selu:()=>Use.WfX,separableConv2d:()=>Use.wdz,setdiff1dAsync:()=>Use.F12,sigmoid:()=>Use.ry7,sign:()=>Use._SZ,signal:()=>Use.vPA,sin:()=>Use.F8e,sinh:()=>Use.L0l,slice:()=>Use.dik,slice1d:()=>Use.Q$M,slice2d:()=>Use.zAd,slice3d:()=>Use.wck,slice4d:()=>Use.R0O,softmax:()=>Use.Vs9,softplus:()=>Use.lw0,spaceToBatchND:()=>Use.eDJ,sparse:()=>Use.lMo,sparseToDense:()=>Use.Zhr,spectral:()=>Use.lOn,split:()=>Use.lDo,sqrt:()=>Use.RZD,square:()=>Use.EwI,squaredDifference:()=>Use.Pbu,squeeze:()=>Use.r2V,stack:()=>Use.t$z,step:()=>Use.PMw,stridedSlice:()=>Use.Ym9,string:()=>Use.YjP,sub:()=>Use.jbE,sum:()=>Use.czq,tan:()=>Use.Mlm,tanh:()=>Use.ymU,tensor:()=>Use.OEK,tensor1d:()=>Use.tGX,tensor2d:()=>Use.KtR,tensor3d:()=>Use.$_$,tensor4d:()=>Use.g9W,tensor5d:()=>Use.Lpo,tensor6d:()=>Use.yxw,tensorScatterUpdate:()=>Use.NNh,tile:()=>Use.Vsq,topk:()=>Use.rfw,transpose:()=>Use.mgz,truncatedNormal:()=>Use.efE,unique:()=>Use.AmM,unsortedSegmentSum:()=>Use.zAU,unstack:()=>Use.K$i,upperBound:()=>Use.rni,variable:()=>Use.bvq,where:()=>Use._M9,whereAsync:()=>Use.YJN,zeros:()=>Use.Ul9,zerosLike:()=>Use.POl});var Le={};__webpack_require__.r(Le),__webpack_require__.d(Le,{CSVDataset:()=>aae,Dataset:()=>qoe,FileDataSource:()=>bae,TextLineDataset:()=>eae,URLDataSource:()=>Tae,array:()=>Zoe,csv:()=>xae,func:()=>Eae,generator:()=>wae,microphone:()=>Aae,version_data:()=>Sae,webcam:()=>Iae,zip:()=>Qoe});var Pe={};__webpack_require__.r(Pe),__webpack_require__.d(Pe,{addImpl:()=>Hae,bincountImpl:()=>Kae,bincountReduceImpl:()=>Zae,bitwiseAndImpl:()=>Qae,castImpl:()=>Vae,ceilImpl:()=>rle,concatImpl:()=>ale,equalImpl:()=>lle,expImpl:()=>dle,expm1Impl:()=>fle,floorDivImpl:()=>ble,floorImpl:()=>_le,gatherNdImpl:()=>Ele,gatherV2Impl:()=>wle,greaterEqualImpl:()=>Cle,greaterImpl:()=>Ile,lessEqualImpl:()=>Dle,lessImpl:()=>kle,linSpaceImpl:()=>Ple,logImpl:()=>Ble,maxImpl:()=>Vle,maximumImpl:()=>zle,minimumImpl:()=>Gle,multiplyImpl:()=>Xle,negImpl:()=>Qle,notEqualImpl:()=>eue,prodImpl:()=>oue,raggedGatherImpl:()=>due,raggedRangeImpl:()=>pue,raggedTensorToTensorImpl:()=>yue,rangeImpl:()=>vue,rsqrtImpl:()=>bue,scatterImpl:()=>Eue,sigmoidImpl:()=>wue,simpleAbsImpl:()=>kae,sliceImpl:()=>Sue,sparseFillEmptyRowsImpl:()=>Mue,sparseReshapeImpl:()=>kue,sparseSegmentReductionImpl:()=>Rue,sqrtImpl:()=>Nue,squaredDifferenceImpl:()=>Lue,staticRegexReplaceImpl:()=>$ue,stridedSliceImpl:()=>zue,stringNGramsImpl:()=>Yue,stringSplitImpl:()=>Hue,stringToHashBucketFastImpl:()=>Wue,subImpl:()=>Xue,tileImpl:()=>Que,topKImpl:()=>tce,transposeImpl:()=>iue,uniqueImpl:()=>nce});var Be={};__webpack_require__.r(Be),__webpack_require__.d(Be,{assertNotComplex:()=>yme,bindCanvasToFramebuffer:()=>Hfe,bindColorTextureToFramebuffer:()=>Wfe,bindTextureToProgramUniformSampler:()=>Gfe,bindTextureUnit:()=>Vfe,bindVertexBufferToProgramAttribute:()=>Ufe,callAndCheck:()=>Tfe,canBeRepresented:()=>wfe,createFragmentShader:()=>Cfe,createFramebuffer:()=>$fe,createProgram:()=>kfe,createStaticIndexBuffer:()=>Ffe,createStaticVertexBuffer:()=>Dfe,createTexture:()=>Pfe,createVertexShader:()=>Sfe,getBatchDim:()=>Jfe,getExtensionOrThrow:()=>Afe,getFramebufferErrorMessage:()=>Kfe,getMaxTexturesInShader:()=>cme,getNumChannels:()=>Lfe,getProgramUniformLocation:()=>Yfe,getProgramUniformLocationOrThrow:()=>jfe,getRowsCols:()=>eme,getShapeAs3D:()=>tme,getTextureShapeFromLogicalShape:()=>nme,getWebGLDisjointQueryTimerVersion:()=>dme,getWebGLErrorMessage:()=>Ife,getWebGLMaxTextureSize:()=>ame,hasExtension:()=>hme,isCapableOfRenderingToFloatTexture:()=>fme,isDownloadFloatTextureEnabled:()=>mme,isReshapeFree:()=>rme,isWebGLFenceEnabled:()=>_me,isWebGLVersionEnabled:()=>pme,linkProgram:()=>Rfe,logShaderSourceAndInfoLog:()=>Mfe,resetMaxTextureSize:()=>lme,resetMaxTexturesInShader:()=>ume,unbindColorTextureFromFramebuffer:()=>Xfe,unbindTextureUnit:()=>zfe,validateFramebuffer:()=>qfe,validateProgram:()=>Nfe,validateTextureSize:()=>Bfe});var $e={};__webpack_require__.r($e),__webpack_require__.d($e,{bindVertexProgramAttributeStreams:()=>dge,createBufferFromOutputTexture:()=>fge,createFloat16MatrixTexture:()=>rge,createFloat16PackedMatrixTexture:()=>cge,createFloat32MatrixTexture:()=>nge,createIndexBuffer:()=>Jme,createPackedMatrixTexture:()=>lge,createUnsignedBytesMatrixTexture:()=>oge,createVertexBuffer:()=>Qme,createVertexShader:()=>Zme,downloadByteEncodedFloatMatrixFromOutputTexture:()=>gge,downloadFloat32MatrixFromBuffer:()=>mge,downloadMatrixFromPackedOutputTexture:()=>yge,downloadPackedMatrixFromBuffer:()=>_ge,getInternalFormatForFloat16MatrixTexture:()=>ige,getInternalFormatForFloat16PackedMatrixTexture:()=>uge,getInternalFormatForFloat32MatrixTexture:()=>tge,getInternalFormatForPackedMatrixTexture:()=>age,getInternalFormatForUnsignedBytesMatrixTexture:()=>sge,uploadDenseMatrixToTexture:()=>hge,uploadPixelDataToTexture:()=>pge});var Ue={};__webpack_require__.r(Ue),__webpack_require__.d(Ue,{Abs:()=>p3.Abs,Acos:()=>p3.Acos,Acosh:()=>p3.Acosh,AdadeltaOptimizer:()=>p3.AdadeltaOptimizer,AdagradOptimizer:()=>p3.AdagradOptimizer,AdamOptimizer:()=>p3.AdamOptimizer,AdamaxOptimizer:()=>p3.AdamaxOptimizer,Add:()=>p3.Add,AddN:()=>p3.AddN,All:()=>p3.All,Any:()=>p3.Any,ArgMax:()=>p3.ArgMax,ArgMin:()=>p3.ArgMin,Asin:()=>p3.Asin,Asinh:()=>p3.Asinh,Atan:()=>p3.Atan,Atan2:()=>p3.Atan2,Atanh:()=>p3.Atanh,AvgPool:()=>p3.AvgPool,AvgPool3D:()=>p3.AvgPool3D,AvgPool3DGrad:()=>p3.AvgPool3DGrad,AvgPoolGrad:()=>p3.AvgPoolGrad,BatchMatMul:()=>p3.BatchMatMul,BatchToSpaceND:()=>p3.BatchToSpaceND,Bincount:()=>p3.Bincount,BitwiseAnd:()=>p3.BitwiseAnd,BroadcastArgs:()=>p3.BroadcastArgs,BroadcastTo:()=>p3.BroadcastTo,Callback:()=>Ure,CallbackList:()=>_7,Cast:()=>p3.Cast,Ceil:()=>p3.Ceil,ClipByValue:()=>p3.ClipByValue,Complex:()=>p3.Complex,ComplexAbs:()=>p3.ComplexAbs,Concat:()=>p3.Concat,Conv2D:()=>p3.Conv2D,Conv2DBackpropFilter:()=>p3.Conv2DBackpropFilter,Conv2DBackpropInput:()=>p3.Conv2DBackpropInput,Conv3D:()=>p3.Conv3D,Conv3DBackpropFilterV2:()=>p3.Conv3DBackpropFilterV2,Conv3DBackpropInputV2:()=>p3.Conv3DBackpropInputV2,Cos:()=>p3.Cos,Cosh:()=>p3.Cosh,CropAndResize:()=>p3.CropAndResize,Cumprod:()=>p3.Cumprod,Cumsum:()=>p3.Cumsum,CustomCallback:()=>b7,DataStorage:()=>p3.DataStorage,DenseBincount:()=>p3.DenseBincount,DepthToSpace:()=>p3.DepthToSpace,DepthwiseConv2dNative:()=>p3.DepthwiseConv2dNative,DepthwiseConv2dNativeBackpropFilter:()=>p3.DepthwiseConv2dNativeBackpropFilter,DepthwiseConv2dNativeBackpropInput:()=>p3.DepthwiseConv2dNativeBackpropInput,Diag:()=>p3.Diag,Dilation2D:()=>p3.Dilation2D,Dilation2DBackpropFilter:()=>p3.Dilation2DBackpropFilter,Dilation2DBackpropInput:()=>p3.Dilation2DBackpropInput,Draw:()=>p3.Draw,ENV:()=>p3.ENV,EarlyStopping:()=>jre,Einsum:()=>p3.Einsum,Elu:()=>p3.Elu,EluGrad:()=>p3.EluGrad,Environment:()=>p3.Environment,Equal:()=>p3.Equal,Erf:()=>p3.Erf,Exp:()=>p3.Exp,ExpandDims:()=>p3.ExpandDims,Expm1:()=>p3.Expm1,FFT:()=>p3.FFT,Fill:()=>p3.Fill,FlipLeftRight:()=>p3.FlipLeftRight,Floor:()=>p3.Floor,FloorDiv:()=>p3.FloorDiv,FromPixels:()=>p3.FromPixels,FusedBatchNorm:()=>p3.FusedBatchNorm,FusedConv2D:()=>p3.FusedConv2D,FusedDepthwiseConv2D:()=>p3.FusedDepthwiseConv2D,GPGPUContext:()=>vge,GatherNd:()=>p3.GatherNd,GatherV2:()=>p3.GatherV2,GraphModel:()=>poe,Greater:()=>p3.Greater,GreaterEqual:()=>p3.GreaterEqual,History:()=>v7,IFFT:()=>p3.IFFT,Identity:()=>p3.Identity,Imag:()=>p3.Imag,InputSpec:()=>x9,IsFinite:()=>p3.IsFinite,IsInf:()=>p3.IsInf,IsNan:()=>p3.IsNan,KernelBackend:()=>p3.KernelBackend,LRN:()=>p3.LRN,LRNGrad:()=>p3.LRNGrad,LayerVariable:()=>v9,LayersModel:()=>Iee,LeakyRelu:()=>p3.LeakyRelu,Less:()=>p3.Less,LessEqual:()=>p3.LessEqual,LinSpace:()=>p3.LinSpace,Log:()=>p3.Log,Log1p:()=>p3.Log1p,LogSoftmax:()=>p3.LogSoftmax,LogicalAnd:()=>p3.LogicalAnd,LogicalNot:()=>p3.LogicalNot,LogicalOr:()=>p3.LogicalOr,LogicalXor:()=>p3.LogicalXor,LowerBound:()=>p3.LowerBound,MathBackendCPU:()=>Mae,MathBackendWebGL:()=>D_e,MatrixBandPart:()=>p3.MatrixBandPart,Max:()=>p3.Max,MaxPool:()=>p3.MaxPool,MaxPool3D:()=>p3.MaxPool3D,MaxPool3DGrad:()=>p3.MaxPool3DGrad,MaxPoolGrad:()=>p3.MaxPoolGrad,MaxPoolWithArgmax:()=>p3.MaxPoolWithArgmax,Maximum:()=>p3.Maximum,Mean:()=>p3.Mean,Min:()=>p3.Min,Minimum:()=>p3.Minimum,MirrorPad:()=>p3.MirrorPad,Mod:()=>p3.Mod,MomentumOptimizer:()=>p3.MomentumOptimizer,Multinomial:()=>p3.Multinomial,Multiply:()=>p3.Multiply,Neg:()=>p3.Neg,NonMaxSuppressionV3:()=>p3.NonMaxSuppressionV3,NonMaxSuppressionV4:()=>p3.NonMaxSuppressionV4,NonMaxSuppressionV5:()=>p3.NonMaxSuppressionV5,NotEqual:()=>p3.NotEqual,OP_SCOPE_SUFFIX:()=>p3.OP_SCOPE_SUFFIX,OneHot:()=>p3.OneHot,OnesLike:()=>p3.OnesLike,Optimizer:()=>p3.Optimizer,OptimizerConstructors:()=>p3.OptimizerConstructors,Pack:()=>p3.Pack,PadV2:()=>p3.PadV2,Pool:()=>p3.Pool,Pow:()=>p3.Pow,Prelu:()=>p3.Prelu,Prod:()=>p3.Prod,RMSPropOptimizer:()=>p3.RMSPropOptimizer,RNN:()=>Fte,RaggedGather:()=>p3.RaggedGather,RaggedRange:()=>p3.RaggedRange,RaggedTensorToTensor:()=>p3.RaggedTensorToTensor,Range:()=>p3.Range,Rank:()=>p3.Rank,Real:()=>p3.Real,RealDiv:()=>p3.RealDiv,Reciprocal:()=>p3.Reciprocal,Reduction:()=>p3.Reduction,Relu:()=>p3.Relu,Relu6:()=>p3.Relu6,Reshape:()=>p3.Reshape,ResizeBilinear:()=>p3.ResizeBilinear,ResizeBilinearGrad:()=>p3.ResizeBilinearGrad,ResizeNearestNeighbor:()=>p3.ResizeNearestNeighbor,ResizeNearestNeighborGrad:()=>p3.ResizeNearestNeighborGrad,Reverse:()=>p3.Reverse,RotateWithOffset:()=>p3.RotateWithOffset,Round:()=>p3.Round,Rsqrt:()=>p3.Rsqrt,SGDOptimizer:()=>p3.SGDOptimizer,ScatterNd:()=>p3.ScatterNd,SearchSorted:()=>p3.SearchSorted,Select:()=>p3.Select,Selu:()=>p3.Selu,Sequential:()=>Oee,Sigmoid:()=>p3.Sigmoid,Sign:()=>p3.Sign,Sin:()=>p3.Sin,Sinh:()=>p3.Sinh,Slice:()=>p3.Slice,Softmax:()=>p3.Softmax,Softplus:()=>p3.Softplus,SpaceToBatchND:()=>p3.SpaceToBatchND,SparseFillEmptyRows:()=>p3.SparseFillEmptyRows,SparseReshape:()=>p3.SparseReshape,SparseSegmentMean:()=>p3.SparseSegmentMean,SparseSegmentSum:()=>p3.SparseSegmentSum,SparseToDense:()=>p3.SparseToDense,SplitV:()=>p3.SplitV,Sqrt:()=>p3.Sqrt,Square:()=>p3.Square,SquaredDifference:()=>p3.SquaredDifference,StaticRegexReplace:()=>p3.StaticRegexReplace,Step:()=>p3.Step,StridedSlice:()=>p3.StridedSlice,StringNGrams:()=>p3.StringNGrams,StringSplit:()=>p3.StringSplit,StringToHashBucketFast:()=>p3.StringToHashBucketFast,Sub:()=>p3.Sub,Sum:()=>p3.Sum,SymbolicTensor:()=>E9,Tan:()=>p3.Tan,Tanh:()=>p3.Tanh,Tensor:()=>p3.Tensor,TensorBuffer:()=>p3.TensorBuffer,TensorScatterUpdate:()=>p3.TensorScatterUpdate,Tile:()=>p3.Tile,TopK:()=>p3.TopK,Transform:()=>p3.Transform,Transpose:()=>p3.Transpose,Unique:()=>p3.Unique,Unpack:()=>p3.Unpack,UnsortedSegmentSum:()=>p3.UnsortedSegmentSum,UpperBound:()=>p3.UpperBound,Variable:()=>p3.Variable,ZerosLike:()=>p3.ZerosLike,_FusedMatMul:()=>p3._FusedMatMul,abs:()=>p3.abs,acos:()=>p3.acos,acosh:()=>p3.acosh,add:()=>p3.add,addN:()=>p3.addN,all:()=>p3.all,any:()=>p3.any,argMax:()=>p3.argMax,argMin:()=>p3.argMin,asin:()=>p3.asin,asinh:()=>p3.asinh,atan:()=>p3.atan,atan2:()=>p3.atan2,atanh:()=>p3.atanh,avgPool:()=>p3.avgPool,avgPool3d:()=>p3.avgPool3d,backend:()=>p3.backend,backend_util:()=>p3.backend_util,basicLSTMCell:()=>p3.basicLSTMCell,batchNorm:()=>p3.batchNorm,batchNorm2d:()=>p3.batchNorm2d,batchNorm3d:()=>p3.batchNorm3d,batchNorm4d:()=>p3.batchNorm4d,batchToSpaceND:()=>p3.batchToSpaceND,bincount:()=>p3.bincount,bitwiseAnd:()=>p3.bitwiseAnd,booleanMaskAsync:()=>p3.booleanMaskAsync,broadcastArgs:()=>p3.broadcastArgs,broadcastTo:()=>p3.broadcastTo,broadcast_util:()=>p3.broadcast_util,browser:()=>p3.browser,buffer:()=>p3.buffer,callbacks:()=>Yre,cast:()=>p3.cast,ceil:()=>p3.ceil,clipByValue:()=>p3.clipByValue,clone:()=>p3.clone,complex:()=>p3.complex,concat:()=>p3.concat,concat1d:()=>p3.concat1d,concat2d:()=>p3.concat2d,concat3d:()=>p3.concat3d,concat4d:()=>p3.concat4d,constraints:()=>ce,conv1d:()=>p3.conv1d,conv2d:()=>p3.conv2d,conv2dTranspose:()=>p3.conv2dTranspose,conv3d:()=>p3.conv3d,conv3dTranspose:()=>p3.conv3dTranspose,copyRegisteredKernels:()=>p3.copyRegisteredKernels,cos:()=>p3.cos,cosh:()=>p3.cosh,cosineWindow:()=>p3.cosineWindow,cumprod:()=>p3.cumprod,cumsum:()=>p3.cumsum,customGrad:()=>p3.customGrad,data:()=>Le,denseBincount:()=>p3.denseBincount,deprecationWarn:()=>p3.deprecationWarn,depthToSpace:()=>p3.depthToSpace,depthwiseConv2d:()=>p3.depthwiseConv2d,deregisterOp:()=>Kre,device_util:()=>p3.device_util,diag:()=>p3.diag,dilation2d:()=>p3.dilation2d,disableDeprecationWarnings:()=>p3.disableDeprecationWarnings,dispose:()=>p3.dispose,disposeVariables:()=>p3.disposeVariables,div:()=>p3.div,divNoNan:()=>p3.divNoNan,dot:()=>p3.dot,dropout:()=>p3.dropout,einsum:()=>p3.einsum,elu:()=>p3.elu,enableDebugMode:()=>p3.enableDebugMode,enableProdMode:()=>p3.enableProdMode,enclosingPowerOfTwo:()=>p3.enclosingPowerOfTwo,engine:()=>p3.engine,ensureShape:()=>p3.ensureShape,env:()=>p3.env,equal:()=>p3.equal,erf:()=>p3.erf,euclideanNorm:()=>p3.euclideanNorm,exp:()=>p3.exp,expandDims:()=>p3.expandDims,expm1:()=>p3.expm1,eye:()=>p3.eye,fft:()=>p3.fft,fill:()=>p3.fill,findBackend:()=>p3.findBackend,findBackendFactory:()=>p3.findBackendFactory,floor:()=>p3.floor,floorDiv:()=>p3.floorDiv,forceHalfFloat:()=>L_e,fused:()=>p3.fused,gather:()=>p3.gather,gatherND:()=>p3.gatherND,gather_util:()=>p3.gather_util,getBackend:()=>p3.getBackend,getGradient:()=>p3.getGradient,getKernel:()=>p3.getKernel,getKernelsForBackend:()=>p3.getKernelsForBackend,gpgpu_util:()=>$e,grad:()=>p3.grad,grads:()=>p3.grads,greater:()=>p3.greater,greaterEqual:()=>p3.greaterEqual,ifft:()=>p3.ifft,imag:()=>p3.imag,image:()=>p3.image,inTopKAsync:()=>p3.inTopKAsync,initializers:()=>de,input:()=>Ree,io:()=>p3.io,irfft:()=>p3.irfft,isFinite:()=>p3.isFinite,isInf:()=>p3.isInf,isNaN:()=>p3.isNaN,keep:()=>p3.keep,kernel_impls:()=>p3.kernel_impls,layers:()=>he,leakyRelu:()=>p3.leakyRelu,less:()=>p3.less,lessEqual:()=>p3.lessEqual,linalg:()=>p3.linalg,linspace:()=>p3.linspace,loadGraphModel:()=>foe,loadGraphModelSync:()=>moe,loadLayersModel:()=>Cee,localResponseNormalization:()=>p3.localResponseNormalization,log:()=>p3.log,log1p:()=>p3.log1p,logSigmoid:()=>p3.logSigmoid,logSoftmax:()=>p3.logSoftmax,logSumExp:()=>p3.logSumExp,logicalAnd:()=>p3.logicalAnd,logicalNot:()=>p3.logicalNot,logicalOr:()=>p3.logicalOr,logicalXor:()=>p3.logicalXor,losses:()=>p3.losses,lowerBound:()=>p3.lowerBound,matMul:()=>p3.matMul,math:()=>p3.math,max:()=>p3.max,maxPool:()=>p3.maxPool,maxPool3d:()=>p3.maxPool3d,maxPoolWithArgmax:()=>p3.maxPoolWithArgmax,maximum:()=>p3.maximum,mean:()=>p3.mean,memory:()=>p3.memory,meshgrid:()=>p3.meshgrid,metrics:()=>pe,min:()=>p3.min,minimum:()=>p3.minimum,mirrorPad:()=>p3.mirrorPad,mod:()=>p3.mod,model:()=>Mee,models:()=>fe,moments:()=>p3.moments,movingAverage:()=>p3.movingAverage,mul:()=>p3.mul,multiRNNCell:()=>p3.multiRNNCell,multinomial:()=>p3.multinomial,neg:()=>p3.neg,nextFrame:()=>p3.nextFrame,norm:()=>p3.norm,notEqual:()=>p3.notEqual,oneHot:()=>p3.oneHot,ones:()=>p3.ones,onesLike:()=>p3.onesLike,op:()=>p3.op,outerProduct:()=>p3.outerProduct,pad:()=>p3.pad,pad1d:()=>p3.pad1d,pad2d:()=>p3.pad2d,pad3d:()=>p3.pad3d,pad4d:()=>p3.pad4d,pool:()=>p3.pool,pow:()=>p3.pow,prelu:()=>p3.prelu,print:()=>p3.print,prod:()=>p3.prod,profile:()=>p3.profile,raggedGather:()=>p3.raggedGather,raggedRange:()=>p3.raggedRange,raggedTensorToTensor:()=>p3.raggedTensorToTensor,rand:()=>p3.rand,randomGamma:()=>p3.randomGamma,randomNormal:()=>p3.randomNormal,randomStandardNormal:()=>p3.randomStandardNormal,randomUniform:()=>p3.randomUniform,randomUniformInt:()=>p3.randomUniformInt,range:()=>p3.range,ready:()=>p3.ready,real:()=>p3.real,reciprocal:()=>p3.reciprocal,registerBackend:()=>p3.registerBackend,registerCallbackConstructor:()=>Nee,registerGradient:()=>p3.registerGradient,registerKernel:()=>p3.registerKernel,registerOp:()=>Xre,regularizers:()=>me,relu:()=>p3.relu,relu6:()=>p3.relu6,removeBackend:()=>p3.removeBackend,reshape:()=>p3.reshape,reverse:()=>p3.reverse,reverse1d:()=>p3.reverse1d,reverse2d:()=>p3.reverse2d,reverse3d:()=>p3.reverse3d,reverse4d:()=>p3.reverse4d,rfft:()=>p3.rfft,round:()=>p3.round,rsqrt:()=>p3.rsqrt,scalar:()=>p3.scalar,scatterND:()=>p3.scatterND,scatter_util:()=>p3.scatter_util,searchSorted:()=>p3.searchSorted,selu:()=>p3.selu,separableConv2d:()=>p3.separableConv2d,sequential:()=>kee,serialization:()=>p3.serialization,setBackend:()=>p3.setBackend,setPlatform:()=>p3.setPlatform,setWebGLContext:()=>hfe,setdiff1dAsync:()=>p3.setdiff1dAsync,shared:()=>Pe,sigmoid:()=>p3.sigmoid,sign:()=>p3.sign,signal:()=>p3.signal,sin:()=>p3.sin,sinh:()=>p3.sinh,slice:()=>p3.slice,slice1d:()=>p3.slice1d,slice2d:()=>p3.slice2d,slice3d:()=>p3.slice3d,slice4d:()=>p3.slice4d,slice_util:()=>p3.slice_util,softmax:()=>p3.softmax,softplus:()=>p3.softplus,spaceToBatchND:()=>p3.spaceToBatchND,sparse:()=>p3.sparse,sparseToDense:()=>p3.sparseToDense,spectral:()=>p3.spectral,split:()=>p3.split,sqrt:()=>p3.sqrt,square:()=>p3.square,squaredDifference:()=>p3.squaredDifference,squeeze:()=>p3.squeeze,stack:()=>p3.stack,step:()=>p3.step,stridedSlice:()=>p3.stridedSlice,string:()=>p3.string,sub:()=>p3.sub,sum:()=>p3.sum,sumOutType:()=>p3.sumOutType,tan:()=>p3.tan,tanh:()=>p3.tanh,tensor:()=>p3.tensor,tensor1d:()=>p3.tensor1d,tensor2d:()=>p3.tensor2d,tensor3d:()=>p3.tensor3d,tensor4d:()=>p3.tensor4d,tensor5d:()=>p3.tensor5d,tensor6d:()=>p3.tensor6d,tensorScatterUpdate:()=>p3.tensorScatterUpdate,tensor_util:()=>p3.tensor_util,test_util:()=>p3.test_util,tidy:()=>p3.tidy,tile:()=>p3.tile,time:()=>p3.time,topk:()=>p3.topk,train:()=>p3.train,transpose:()=>p3.transpose,truncatedNormal:()=>p3.truncatedNormal,unique:()=>p3.unique,unregisterGradient:()=>p3.unregisterGradient,unregisterKernel:()=>p3.unregisterKernel,unsortedSegmentSum:()=>p3.unsortedSegmentSum,unstack:()=>p3.unstack,upcastType:()=>p3.upcastType,upperBound:()=>p3.upperBound,util:()=>p3.util,valueAndGrad:()=>p3.valueAndGrad,valueAndGrads:()=>p3.valueAndGrads,variable:()=>p3.variable,variableGrads:()=>p3.variableGrads,version:()=>Mwe,version_converter:()=>goe,version_core:()=>p3.version_core,version_cpu:()=>ice,version_layers:()=>see,version_webgl:()=>F_e,webgl:()=>P_e,webgl_util:()=>Be,where:()=>p3.where,whereAsync:()=>p3.whereAsync,zeros:()=>p3.zeros,zerosLike:()=>p3.zerosLike});const Ve=Blockly;Object.assign(Ve.Lang.ZhHans,{PYTHON_PYODIDE_IMAGE:"图像",PYTHON_PYODIDE_TOOL:"可教机器",PYTHON_PYODIDE_GAME:"生命游戏",PYTHON_PYODIDE_GAME_EPOCH:"代数",PYTHON_PYODIDE_GAME_START:"开始",PYTHON_PYODIDE_GAME_PAUSE:"暂停",PYTHON_PYODIDE_GAME_RANDOM:"随机初始化",PYTHON_PYODIDE_GAME_RESET:"重置",PYTHON_PYODIDE_LOADING:"Python3内核载入中...",PYTHON_PYODIDE_FILE_SYSTEM:"本地文件系统",PYTHON_PYODIDE_LOAD_FILE_SYSTEM:"载入本地文件夹"}),Object.assign(Ve.Lang.ZhHant,{PYTHON_PYODIDE_IMAGE:"影像",PYTHON_PYODIDE_TOOL:"可教機器",PYTHON_PYODIDE_GAME:"生命遊戲",PYTHON_PYODIDE_GAME_EPOCH:"代數",PYTHON_PYODIDE_GAME_START:"開始",PYTHON_PYODIDE_GAME_PAUSE:"暫停",PYTHON_PYODIDE_GAME_RANDOM:"隨機初始化",PYTHON_PYODIDE_GAME_RESET:"重置",PYTHON_PYODIDE_LOADING:"Python3核心載入...",PYTHON_PYODIDE_FILE_SYSTEM:"本機檔案系統",PYTHON_PYODIDE_LOAD_FILE_SYSTEM:"載入本機資料夾"}),Object.assign(Ve.Lang.En,{PYTHON_PYODIDE_IMAGE:"Image",PYTHON_PYODIDE_TOOL:"Teachable Machine",PYTHON_PYODIDE_GAME:"Game of Life",PYTHON_PYODIDE_GAME_EPOCH:"Iterations",PYTHON_PYODIDE_GAME_START:"Start",PYTHON_PYODIDE_GAME_PAUSE:"Pause",PYTHON_PYODIDE_GAME_RANDOM:"Random Initialization",PYTHON_PYODIDE_GAME_RESET:"Reset",PYTHON_PYODIDE_LOADING:"Python3 kernel loading...",PYTHON_PYODIDE_FILE_SYSTEM:"Local File System",PYTHON_PYODIDE_LOAD_FILE_SYSTEM:"Load Local Folder"}),Object.assign(Ve.Lang.ZhHans.MSG,{}),Object.assign(Ve.Lang.ZhHant.MSG,{}),Object.assign(Ve.Lang.En.MSG,{});const ze=Mixly,je={NAME_TYPE:"VARIABLE",allVariables:function(e){var t;if(e.getDescendants)t=e.getDescendants();else{if(!e.getAllBlocks)throw"Not Block or Workspace: "+e;t=e.getAllBlocks()}for(var n=Object.create(null),i=0;i1&&(o+=i)):n=o}else n="i";return n}},Ye=je; +function Qge(e,t,n,i){return new(n||(n=Promise))(function(r,s){function o(e){try{l(i.next(e))}catch(e){s(e)}}function a(e){try{l(i.throw(e))}catch(e){s(e)}}function l(e){e.done?r(e.value):function(e){return e instanceof n?e:new n(function(t){t(e)})}(e.value).then(o,a)}l((i=i.apply(e,t||[])).next())})}var Jge,e_e='.vega-embed {\n position: relative;\n display: inline-block;\n box-sizing: border-box; }\n .vega-embed.has-actions {\n padding-right: 38px; }\n .vega-embed details:not([open]) > :not(summary) {\n display: none !important; }\n .vega-embed summary {\n list-style: none;\n position: absolute;\n top: 0;\n right: 0;\n padding: 6px;\n z-index: 1000;\n background: white;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\n color: #1b1e23;\n border: 1px solid #aaa;\n border-radius: 999px;\n opacity: 0.2;\n transition: opacity 0.4s ease-in;\n outline: none;\n cursor: pointer;\n line-height: 0px; }\n .vega-embed summary::-webkit-details-marker {\n display: none; }\n .vega-embed summary:active {\n box-shadow: #aaa 0px 0px 0px 1px inset; }\n .vega-embed summary svg {\n width: 14px;\n height: 14px; }\n .vega-embed details[open] summary {\n opacity: 0.7; }\n .vega-embed:hover summary,\n .vega-embed:focus summary {\n opacity: 1 !important;\n transition: opacity 0.2s ease; }\n .vega-embed .vega-actions {\n position: absolute;\n z-index: 1001;\n top: 35px;\n right: -9px;\n display: flex;\n flex-direction: column;\n padding-bottom: 8px;\n padding-top: 8px;\n border-radius: 4px;\n box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);\n border: 1px solid #d9d9d9;\n background: white;\n animation-duration: 0.15s;\n animation-name: scale-in;\n animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);\n text-align: left; }\n .vega-embed .vega-actions a {\n padding: 8px 16px;\n font-family: sans-serif;\n font-size: 14px;\n font-weight: 600;\n white-space: nowrap;\n color: #434a56;\n text-decoration: none; }\n .vega-embed .vega-actions a:hover {\n background-color: #f7f7f9;\n color: black; }\n .vega-embed .vega-actions::before, .vega-embed .vega-actions::after {\n content: "";\n display: inline-block;\n position: absolute; }\n .vega-embed .vega-actions::before {\n left: auto;\n right: 14px;\n top: -16px;\n border: 8px solid #0000;\n border-bottom-color: #d9d9d9; }\n .vega-embed .vega-actions::after {\n left: auto;\n right: 15px;\n top: -14px;\n border: 7px solid #0000;\n border-bottom-color: #fff; }\n .vega-embed .chart-wrapper {\n width: 100%;\n height: 100%; }\n\n.vega-embed-wrapper {\n max-width: 100%;\n overflow: auto;\n padding-right: 14px; }\n\n@keyframes scale-in {\n from {\n opacity: 0;\n transform: scale(0.6); }\n to {\n opacity: 1;\n transform: scale(1); } }\n';function t_e(e,...t){for(const n of t)n_e(e,n);return e}function n_e(e,t){for(const n of Object.keys(t))Se(e,n,t[n],!0)}String.prototype.startsWith||(String.prototype.startsWith=function(e,t){return this.substr(!t||t<0?0:+t,e.length)===e});const i_e=v;let r_e=b;const s_e="undefined"!=typeof window?window:void 0;void 0===r_e&&(null===(Jge=null==s_e?void 0:s_e.vl)||void 0===Jge?void 0:Jge.compile)&&(r_e=s_e.vl);const o_e={export:{svg:!0,png:!0},source:!0,compiled:!0,editor:!0},a_e={CLICK_TO_VIEW_ACTIONS:"Click to view actions",COMPILED_ACTION:"View Compiled Vega",EDITOR_ACTION:"Open in Vega Editor",PNG_ACTION:"Save as PNG",SOURCE_ACTION:"View Source",SVG_ACTION:"Save as SVG"},l_e={vega:"Vega","vega-lite":"Vega-Lite"},u_e={vega:i_e.version,"vega-lite":r_e?r_e.version:"not available"},c_e={vega:e=>e,"vega-lite":(e,t)=>r_e.compile(e,{config:t}).spec},d_e='\n\n \n \n \n',h_e="chart-wrapper";function p_e(e,t,n,i){const r=`${t}
`,s=`
${n}`,o=window.open("");o.document.write(r+e+s),o.document.title=`${l_e[i]} JSON Source`}function f_e(e,t){var n;if(e.$schema){const i=zme(e.$schema);t&&t!==i.library&&console.warn(`The given visualization spec is written in ${l_e[i.library]}, but mode argument sets ${null!==(n=l_e[t])&&void 0!==n?n:t}.`);const r=i.library;return(0,ee.satisfies)(u_e[r],`^${i.version.slice(1)}`)||console.warn(`The input spec uses ${l_e[r]} ${i.version}, but the current version of ${l_e[r]} is v${u_e[r]}.`),r}return"mark"in e||"encoding"in e||"layer"in e||"hconcat"in e||"vconcat"in e||"facet"in e||"repeat"in e?"vega-lite":"marks"in e||"signals"in e||"scales"in e||"axes"in e?"vega":null!=t?t:"vega"}function m_e(e){return(t=e)&&"load"in t?e:i_e.loader(e);var t}function g_e(e){var t;return null!==(t=e.usermeta&&e.usermeta.embedOptions)&&void 0!==t?t:{}}function __e(e,t){var n;return Qge(this,void 0,void 0,function*(){const i=bt(e.config)?JSON.parse(yield t.load(e.config)):null!==(n=e.config)&&void 0!==n?n:{},r=bt(e.patch)?JSON.parse(yield t.load(e.patch)):e.patch;return Object.assign(Object.assign(Object.assign({},e),r?{patch:r}:{}),i?{config:i}:{})})}const y_e=function(e,t,n={}){var i,r,s;return Qge(this,void 0,void 0,function*(){let o,a;bt(t)?(a=m_e(n.loader),o=JSON.parse(yield a.load(t))):o=t;const l=g_e(o).loader;a&&!l||(a=m_e(null!==(i=n.loader)&&void 0!==i?i:l));const u=yield __e(g_e(o),a),c=yield __e(n,a),d=Object.assign(Object.assign({},t_e(c,u)),{config:Ae(null!==(r=c.config)&&void 0!==r?r:{},null!==(s=u.config)&&void 0!==s?s:{})});return yield function(e,t,n={},i){var r,s,o,a,l,u;return Qge(this,void 0,void 0,function*(){const c=n.theme?Ae(T[n.theme],null!==(r=n.config)&&void 0!==r?r:{}):n.config,d=mt(n.actions)?n.actions:t_e({},o_e,null!==(s=n.actions)&&void 0!==s?s:{}),h=Object.assign(Object.assign({},a_e),n.i18n),p=null!==(o=n.renderer)&&void 0!==o?o:"canvas",f=null!==(a=n.logLevel)&&void 0!==a?a:i_e.Warn,m=null!==(l=n.downloadFileName)&&void 0!==l?l:"visualization",g="string"==typeof e?document.querySelector(e):e;if(!g)throw new Error(`${e} does not exist`);if(!1!==n.defaultStyle){const e="vega-embed-style",{root:t,rootContainer:i}=function(e){var t;const n=e.getRootNode?e.getRootNode():document;return n instanceof ShadowRoot?{root:n,rootContainer:n}:{root:document,rootContainer:null!==(t=document.head)&&void 0!==t?t:document.body}}(g);if(!t.getElementById(e)){const t=document.createElement("style");t.id=e,t.innerText=void 0===n.defaultStyle||!0===n.defaultStyle?e_e.toString():n.defaultStyle,i.appendChild(t)}}const _=f_e(t,n.mode);let y=c_e[_](t,c);if("vega-lite"===_&&y.$schema){const e=zme(y.$schema);(0,ee.satisfies)(u_e.vega,`^${e.version.slice(1)}`)||console.warn(`The compiled spec uses Vega ${e.version}, but current version is v${u_e.vega}.`)}g.classList.add("vega-embed"),d&&g.classList.add("has-actions"),g.innerHTML="";let v=g;if(d){const e=document.createElement("div");e.classList.add(h_e),g.appendChild(e),v=e}const b=n.patch;b&&(y=b instanceof Function?b(y):$(y,b,!0,!1).newDocument),n.formatLocale&&i_e.formatLocale(n.formatLocale),n.timeFormatLocale&&i_e.timeFormatLocale(n.timeFormatLocale);const{ast:x}=n,E=i_e.parse(y,"vega-lite"===_?{}:c,{ast:x}),w=new(n.viewClass||i_e.View)(E,Object.assign({loader:i,logLevel:f,renderer:p},x?{expr:i_e.expressionInterpreter}:{}));if(!1!==n.tooltip){let e;e=function(e){return"function"==typeof e}(n.tooltip)?n.tooltip:new Zge(!0===n.tooltip?{}:n.tooltip).call,w.tooltip(e)}let I,{hover:A}=n;if(void 0===A&&(A="vega"===_),A){const{hoverSet:e,updateSet:t}="boolean"==typeof A?{}:A;w.hover(e,t)}if(n&&(null!=n.width&&w.width(n.width),null!=n.height&&w.height(n.height),null!=n.padding&&w.padding(n.padding)),yield w.initialize(v,n.bind).runAsync(),!1!==d){let e=g;if(!1!==n.defaultStyle){const t=document.createElement("details");t.title=h.CLICK_TO_VIEW_ACTIONS,g.append(t),e=t;const n=document.createElement("summary");n.innerHTML=d_e,t.append(n),I=e=>{t.contains(e.target)||t.removeAttribute("open")},document.addEventListener("click",I)}const i=document.createElement("div");if(e.append(i),i.classList.add("vega-actions"),!0===d||!1!==d.export)for(const e of["svg","png"])if(!0===d||!0===d.export||d.export[e]){const t=h[`${e.toUpperCase()}_ACTION`],r=document.createElement("a");r.text=t,r.href="#",r.target="_blank",r.download=`${m}.${e}`,r.addEventListener("mousedown",function(t){return Qge(this,void 0,void 0,function*(){t.preventDefault();const i=yield w.toImageURL(e,n.scaleFactor);this.href=i})}),i.append(r)}if(!0===d||!1!==d.source){const e=document.createElement("a");e.text=h.SOURCE_ACTION,e.href="#",e.addEventListener("click",function(e){var i,r;p_e(J()(t),null!==(i=n.sourceHeader)&&void 0!==i?i:"",null!==(r=n.sourceFooter)&&void 0!==r?r:"",_),e.preventDefault()}),i.append(e)}if("vega-lite"===_&&(!0===d||!1!==d.compiled)){const e=document.createElement("a");e.text=h.COMPILED_ACTION,e.href="#",e.addEventListener("click",function(e){var t,i;p_e(J()(y),null!==(t=n.sourceHeader)&&void 0!==t?t:"",null!==(i=n.sourceFooter)&&void 0!==i?i:"","vega"),e.preventDefault()}),i.append(e)}if(!0===d||!1!==d.editor){const e=null!==(u=n.editorUrl)&&void 0!==u?u:"https://vega.github.io/editor/",r=document.createElement("a");r.text=h.EDITOR_ACTION,r.href="#",r.addEventListener("click",function(n){!function(e,t,n){const i=e.open(t),{origin:r}=new URL(t);let s=40;e.addEventListener("message",function t(n){n.source===i&&(s=0,e.removeEventListener("message",t,!1))},!1),setTimeout(function e(){s<=0||(i.postMessage(n,r),setTimeout(e,250),s-=1)},250)}(window,e,{config:c,mode:_,renderer:p,spec:J()(t)}),n.preventDefault()}),i.append(r)}}function S(){I&&document.removeEventListener("click",I),w.finalize()}return{view:w,spec:t,vgSpec:y,finalize:S}})}(e,o,d,a)})}},66262:(e,t)=>{"use strict";t.A=(e,t)=>{const n=e.__vccOpts||e;for(const[e,i]of t)n[e]=i;return n}},26944:e=>{"use strict";e.exports=path},85817:()=>{},18590:()=>{},4530:()=>{},8108:()=>{},80551:()=>{},67425:()=>{},9496:()=>{},26786:()=>{},48884:()=>{},98001:()=>{},71613:()=>{},15312:()=>{},89032:()=>{},60574:()=>{},2672:()=>{},58215:()=>{},1417:()=>{},49391:()=>{},83220:()=>{},73985:()=>{},80032:()=>{},75650:()=>{},56644:()=>{},41234:()=>{},48487:e=>{"use strict";var t=/("(?:[^\\"]|\\.)*")|[:,]/g;e.exports=function(e,n){var i,r,s;return n=n||{},i=JSON.stringify([1],void 0,void 0===n.indent?2:n.indent).slice(2,-3),r=""===i?1/0:void 0===n.maxLength?80:n.maxLength,s=n.replacer,function e(n,o,a){var l,u,c,d,h,p,f,m,g,_,y,v;if(n&&"function"==typeof n.toJSON&&(n=n.toJSON()),void 0===(y=JSON.stringify(n,s)))return y;if(f=r-o.length-a,y.length<=f&&(g=y.replace(t,function(e,t){return t||e+" "})).length<=f)return g;if(null!=s&&(n=JSON.parse(y),s=void 0),"object"==typeof n&&null!==n){if(m=o+i,c=[],u=0,Array.isArray(n))for(_="[",l="]",f=n.length;u0)return[_,i+c.join(",\n"+m),l].join("\n"+o)}return y}(e,"",0)}},21045:e=>{"use strict";e.exports={rE:"3.0.8"}}},__webpack_module_cache__={},leafPrototypes,getProto,inProgress,dataWebpackPrefix;function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.loaded=!0,n.exports}__webpack_require__.m=__webpack_modules__,__webpack_require__.amdD=function(){throw new Error("define cannot be used indirect")},__webpack_require__.amdO={},__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},getProto=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,__webpack_require__.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var n=Object.create(null);__webpack_require__.r(n);var i={};leafPrototypes=leafPrototypes||[null,getProto({}),getProto([]),getProto(getProto)];for(var r=2&t&&e;"object"==typeof r&&!~leafPrototypes.indexOf(r);r=getProto(r))Object.getOwnPropertyNames(r).forEach(t=>i[t]=()=>e[t]);return i.default=()=>e,__webpack_require__.d(n,i),n},__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce((t,n)=>(__webpack_require__.f[n](e,t),t),[])),__webpack_require__.u=e=>e+".bundle."+{38:"56383ce7",97:"b0fed7fa",195:"9941f7ca",211:"45847679",317:"a52389ac",837:"3c99d169",950:"b01fc844",960:"d893bd17",974:"66119c82"}[e]+".js",__webpack_require__.miniCssF=e=>"styles/"+e+".45554be0.css",__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),inProgress={},dataWebpackPrefix="@mixly/python-pyodide:",__webpack_require__.l=(e,t,n,i)=>{if(inProgress[e])inProgress[e].push(t);else{var r,s;if(void 0!==n)for(var o=document.getElementsByTagName("script"),a=0;a{r.onerror=r.onload=null,clearTimeout(c);var i=inProgress[e];if(delete inProgress[e],r.parentNode&&r.parentNode.removeChild(r),i&&i.forEach(e=>e(n)),t)return t(n)},c=setTimeout(u.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=u.bind(null,r.onerror),r.onload=u.bind(null,r.onload),s&&document.head.appendChild(r)}},__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;__webpack_require__.g.importScripts&&(e=__webpack_require__.g.location+"");var t=__webpack_require__.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var i=n.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=n[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),__webpack_require__.p=e})(),(()=>{if("undefined"!=typeof document){var e=e=>new Promise((t,n)=>{var i=__webpack_require__.miniCssF(e),r=__webpack_require__.p+i;if(((e,t)=>{for(var n=document.getElementsByTagName("link"),i=0;i{var s=document.createElement("link");s.rel="stylesheet",s.type="text/css",__webpack_require__.nc&&(s.nonce=__webpack_require__.nc),s.onerror=s.onload=n=>{if(s.onerror=s.onload=null,"load"===n.type)i();else{var o=n&&n.type,a=n&&n.target&&n.target.href||t,l=new Error("Loading CSS chunk "+e+" failed.\n("+o+": "+a+")");l.name="ChunkLoadError",l.code="CSS_CHUNK_LOAD_FAILED",l.type=o,l.request=a,s.parentNode&&s.parentNode.removeChild(s),r(l)}},s.href=t,n?n.parentNode.insertBefore(s,n.nextSibling):document.head.appendChild(s)})(e,r,null,t,n)}),t={792:0};__webpack_require__.f.miniCss=(n,i)=>{t[n]?i.push(t[n]):0!==t[n]&&{317:1}[n]&&i.push(t[n]=e(n).then(()=>{t[n]=0},e=>{throw delete t[n],e}))}}})(),(()=>{var e={792:0};__webpack_require__.f.j=(t,n)=>{var i=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{var r=new Promise((n,r)=>i=e[t]=[n,r]);n.push(i[2]=r);var s=__webpack_require__.p+__webpack_require__.u(t),o=new Error;__webpack_require__.l(s,n=>{if(__webpack_require__.o(e,t)&&(0!==(i=e[t])&&(e[t]=void 0),i)){var r=n&&("load"===n.type?"missing":n.type),s=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed.\n("+r+": "+s+")",o.name="ChunkLoadError",o.type=r,o.request=s,i[1](o)}},"chunk-"+t,t)}};var t=(t,n)=>{var i,r,[s,o,a]=n,l=0;if(s.some(t=>0!==e[t])){for(i in o)__webpack_require__.o(o,i)&&(__webpack_require__.m[i]=o[i]);if(a)a(__webpack_require__)}for(t&&t(n);l{"use strict";var e={};__webpack_require__.r(e),__webpack_require__.d(e,{controls_type:()=>Qe,controls_typeLists:()=>Je,lists_zip:()=>et,lists_zip_container:()=>tt,lists_zip_item:()=>nt,unpack_iterable_object:()=>it,variables_change:()=>Ke,variables_get:()=>Xe,variables_global:()=>Ze,variables_set:()=>qe});var t={};__webpack_require__.r(t),__webpack_require__.d(t,{base_setup:()=>ot,controls_delay:()=>at,controls_end_program:()=>lt,controls_except:()=>Tt,controls_finally:()=>xt,controls_flow_statements:()=>ft,controls_for:()=>mt,controls_forEach:()=>dt,controls_for_range:()=>gt,controls_if:()=>ut,controls_if_else:()=>vt,controls_if_elseif:()=>yt,controls_if_if:()=>_t,controls_lambda:()=>wt,controls_main:()=>st,controls_pass:()=>It,controls_range:()=>ct,controls_repeat_ext:()=>Et,controls_thread:()=>At,controls_try:()=>bt,controls_try_finally:()=>pt,controls_whileUntil:()=>ht,datetime_fromtimestamp:()=>Rt,do_while:()=>St,garbage_collection:()=>Ct,gene_unique_identifier:()=>Nt,get_mem_alloc:()=>Ot,get_mem_free:()=>Mt,get_unique_identifier:()=>kt});var n={};__webpack_require__.r(n),__webpack_require__.d(n,{base_map:()=>en,generate_cartesian_product:()=>nn,math_arithmetic:()=>Bt,math_bit:()=>Ut,math_constant:()=>Lt,math_constant_mp:()=>Pt,math_constrain:()=>Wt,math_dec:()=>zt,math_degree_to_radian:()=>sn,math_indexer_number:()=>qt,math_map:()=>Xt,math_max_min:()=>Yt,math_number:()=>Ft,math_number_base_conversion:()=>Gt,math_radian_to_degree:()=>rn,math_random:()=>Ht,math_random_seed:()=>Kt,math_round:()=>Zt,math_selfcalcu:()=>$t,math_to_int:()=>jt,math_trig:()=>Vt,text_to_number:()=>Qt,text_to_number_skulpt:()=>Jt,turn_to_int:()=>tn});var i={};__webpack_require__.r(i),__webpack_require__.d(i,{ascii_to_char:()=>hn,char_to_ascii:()=>pn,number_to_text:()=>fn,os_system:()=>$n,text:()=>an,text_bytes:()=>un,text_capital:()=>En,text_center:()=>wn,text_char:()=>cn,text_char_at:()=>_n,text_char_at2:()=>gn,text_char_at3:()=>Fn,text_compareTo:()=>Dn,text_compare_to:()=>xn,text_create_with_container:()=>kn,text_create_with_item:()=>Rn,text_encode:()=>Pn,text_equals_starts_ends:()=>Tn,text_eval:()=>Bn,text_find:()=>In,text_format:()=>Mn,text_format_noreturn:()=>Ln,text_join:()=>dn,text_join_seq:()=>An,text_length:()=>mn,text_random_char:()=>yn,text_replace:()=>Sn,text_split:()=>Cn,text_strip:()=>On,text_substring:()=>bn,text_substring2:()=>vn,text_substring3:()=>Nn,text_textarea:()=>ln});var r={};__webpack_require__.r(r),__webpack_require__.d(r,{ENUMERATE:()=>Ti,content_in_lists:()=>Ei,enumerate:()=>xi,list_many_input:()=>li,list_tolist:()=>hi,list_tolist2:()=>bi,list_trig:()=>si,lists_2d_get_col_row_data:()=>Yn,lists_2d_get_data_with_col_row:()=>jn,lists_append_extend:()=>Kn,lists_change_to:()=>ai,lists_change_to_general:()=>ci,lists_clear:()=>ti,lists_create_with:()=>Gn,lists_create_with2:()=>pi,lists_create_with_container:()=>Wn,lists_create_with_item:()=>Xn,lists_create_with_noreturn:()=>ui,lists_create_with_text:()=>Hn,lists_create_with_text2:()=>fi,lists_del_general:()=>di,lists_find:()=>ri,lists_getIndex3:()=>mi,lists_getSublist3:()=>gi,lists_get_index:()=>Vn,lists_get_random_item:()=>Zn,lists_get_random_sublist:()=>Qn,lists_get_sublist:()=>zn,lists_insert_value:()=>Jn,lists_insert_value2:()=>yi,lists_pop:()=>ii,lists_remove_at:()=>ni,lists_remove_at2:()=>vi,lists_reverse:()=>ei,lists_setIndex3:()=>_i,lists_set_index:()=>qn,lists_sort:()=>oi});var s={};__webpack_require__.r(s),__webpack_require__.d(s,{dicts_add_change_del:()=>$i,dicts_add_or_change:()=>ki,dicts_clear:()=>Di,dicts_create_with:()=>Ii,dicts_create_with_container:()=>Ai,dicts_create_with_item:()=>Si,dicts_create_with_noreturn:()=>zi,dicts_deldict:()=>Bi,dicts_delete:()=>Ri,dicts_get:()=>Oi,dicts_get_default:()=>Mi,dicts_items:()=>Fi,dicts_keys:()=>Ci,dicts_length:()=>Pi,dicts_pop:()=>Ui,dicts_setdefault:()=>Vi,dicts_to_json:()=>Yi,dicts_to_json2:()=>Wi,dicts_to_to:()=>Hi,dicts_todict:()=>ji,dicts_update:()=>Ni,dicts_values:()=>Li,json_to_dicts:()=>Gi});var o={};__webpack_require__.r(o),__webpack_require__.d(o,{logic_boolean:()=>Ji,logic_compare:()=>qi,logic_compare_continous:()=>Ki,logic_is:()=>ir,logic_is_in:()=>nr,logic_negate:()=>Qi,logic_null:()=>er,logic_operation:()=>Zi,logic_tobool:()=>rr,logic_true_or_false:()=>tr});var a={};__webpack_require__.r(a),__webpack_require__.d(a,{sdcard_mount:()=>Sr,sdcard_use_spi_init:()=>Ar,storage_can_write_ornot:()=>pr,storage_change_dir:()=>wr,storage_close_file:()=>mr,storage_delete_file:()=>_r,storage_file_seek:()=>br,storage_file_tell:()=>vr,storage_file_write:()=>ur,storage_fileopen:()=>or,storage_fileopen_new:()=>ar,storage_fileopen_new_encoding:()=>lr,storage_get_a_line:()=>hr,storage_get_contents:()=>dr,storage_get_contents_without_para:()=>cr,storage_get_current_dir:()=>Tr,storage_get_file_size:()=>yr,storage_get_filename:()=>fr,storage_is_file:()=>Ir,storage_list_all_files:()=>gr,storage_make_dir:()=>xr,storage_open_file_with_os:()=>sr,storage_rename:()=>Er});var l={};__webpack_require__.r(l),__webpack_require__.d(l,{procedures_callnoreturn:()=>Rr,procedures_callreturn:()=>Nr,procedures_defnoreturn:()=>Cr,procedures_defreturn:()=>Or,procedures_ifreturn:()=>Dr,procedures_mutatorarg:()=>kr,procedures_mutatorcontainer:()=>Mr,procedures_return:()=>Fr});var u={};__webpack_require__.r(u),__webpack_require__.d(u,{tuple_change_to:()=>Wr,tuple_create_llm_params:()=>ns,tuple_create_with:()=>Pr,tuple_create_with_container:()=>Br,tuple_create_with_item:()=>$r,tuple_create_with_noreturn:()=>Zr,tuple_create_with_text2:()=>Ur,tuple_create_with_text_return:()=>Vr,tuple_del:()=>Yr,tuple_find:()=>Xr,tuple_getIndex:()=>zr,tuple_getSublist:()=>Kr,tuple_get_random_item:()=>Jr,tuple_get_sublist:()=>Qr,tuple_input:()=>ts,tuple_join:()=>Gr,tuple_length:()=>jr,tuple_max:()=>Hr,tuple_totuple:()=>es,tuple_trig:()=>qr});var c={};__webpack_require__.r(c),__webpack_require__.d(c,{set_add_discard:()=>hs,set_clear:()=>us,set_create_with:()=>rs,set_create_with_container:()=>ss,set_create_with_item:()=>os,set_create_with_text_return:()=>ms,set_length:()=>as,set_operate:()=>cs,set_operate_update:()=>ds,set_pop:()=>ls,set_sub:()=>ps,set_toset:()=>gs,set_update:()=>fs});var d={};__webpack_require__.r(d),__webpack_require__.d(d,{html_content:()=>Ts,html_content_more:()=>xs,html_document:()=>ys,html_form:()=>ws,html_head_body:()=>bs,html_style:()=>Es,html_style_color:()=>As,html_style_content:()=>Is,html_text:()=>Ss,html_title:()=>vs});var h={};__webpack_require__.r(h),__webpack_require__.d(h,{attribute_access:()=>Vs,function_call:()=>Bs,function_call_container:()=>$s,function_call_item:()=>Us,raw_block:()=>Ms,raw_empty:()=>Rs,raw_expression:()=>ks,raw_table:()=>Os,text_comment:()=>Ns,text_print_multiple:()=>Fs,text_print_multiple_container:()=>Ls,text_print_multiple_item:()=>Ps,type_check:()=>Ds});var p={};__webpack_require__.r(p),__webpack_require__.d(p,{controls_type:()=>Hs,controls_typeLists:()=>Ws,lists_zip:()=>Xs,unpack_iterable_object:()=>qs,variables_change:()=>Ys,variables_get:()=>zs,variables_global:()=>Gs,variables_set:()=>js});var f={};__webpack_require__.r(f),__webpack_require__.d(f,{Panic_with_status_code:()=>so,base_setup:()=>Zs,controls_delay:()=>ro,controls_flow_statements:()=>io,controls_for:()=>eo,controls_forEach:()=>co,controls_for_range:()=>to,controls_if:()=>Qs,controls_interrupts:()=>lo,controls_lambda:()=>po,controls_main:()=>Ks,controls_millis:()=>oo,controls_nointerrupts:()=>uo,controls_pass:()=>mo,controls_range:()=>ho,controls_repeat:()=>Eo,controls_repeat_ext:()=>yo,controls_thread:()=>go,controls_try_finally:()=>Js,controls_whileUntil:()=>no,datetime_fromtimestamp:()=>wo,do_while:()=>_o,garbage_collection:()=>vo,gene_unique_identifier:()=>Io,get_mem_alloc:()=>bo,get_mem_free:()=>To,get_unique_identifier:()=>xo,reset:()=>ao,time_sleep:()=>fo});var m={};__webpack_require__.r(m),__webpack_require__.d(m,{base_map:()=>Ho,generate_cartesian_product:()=>Xo,math_arithmetic:()=>Mo,math_bit:()=>Oo,math_constant:()=>So,math_constant_mp:()=>Co,math_constrain:()=>$o,math_dec:()=>Do,math_degree_to_radian:()=>Ko,math_indexer_number:()=>zo,math_map:()=>Bo,math_max_min:()=>Lo,math_number:()=>Ao,math_number_base_conversion:()=>Uo,math_radian_to_degree:()=>qo,math_random:()=>Po,math_random_seed:()=>Vo,math_round:()=>jo,math_selfcalcu:()=>ko,math_single:()=>Ro,math_to_int:()=>Fo,math_trig:()=>No,text_to_number:()=>Yo,text_to_number_skulpt:()=>Go,turn_to_int:()=>Wo});var g={};__webpack_require__.r(g),__webpack_require__.d(g,{ascii_to_char:()=>na,char_to_ascii:()=>ia,number_to_text:()=>ra,os_system:()=>Sa,text:()=>Zo,text_bytes:()=>Jo,text_capital:()=>pa,text_center:()=>fa,text_char:()=>ea,text_char_at:()=>aa,text_char_at2:()=>oa,text_char_at3:()=>wa,text_compareTo:()=>Ea,text_compare_to:()=>ca,text_encode:()=>Ia,text_equals_starts_ends:()=>ua,text_eval:()=>Aa,text_find:()=>ma,text_format:()=>ba,text_format_noreturn:()=>Ta,text_join:()=>ta,text_join_seq:()=>ga,text_length:()=>sa,text_random_char:()=>la,text_replace:()=>_a,text_split:()=>ya,text_strip:()=>va,text_substring:()=>ha,text_substring2:()=>da,text_substring3:()=>xa,text_textarea:()=>Qo});var _={};__webpack_require__.r(_),__webpack_require__.d(_,{content_in_lists:()=>al,enumerate:()=>ol,list_many_input:()=>Wa,list_tolist:()=>rl,list_tolist2:()=>sl,list_trig:()=>Ya,lists_2d_get_col_row_data:()=>Ma,lists_2d_get_data_with_col_row:()=>Oa,lists_append_extend:()=>Fa,lists_change_to:()=>Ha,lists_change_to_general:()=>qa,lists_clear:()=>Ua,lists_create_with:()=>ka,lists_create_with2:()=>Za,lists_create_with_noreturn:()=>Xa,lists_create_with_text:()=>Ra,lists_create_with_text2:()=>Qa,lists_del_general:()=>Ka,lists_find:()=>Va,lists_getIndex3:()=>Ja,lists_getSublist3:()=>el,lists_get_index:()=>Na,lists_get_random_item:()=>La,lists_get_random_sublist:()=>Pa,lists_get_sublist:()=>Ca,lists_insert_value:()=>Ba,lists_insert_value2:()=>nl,lists_pop:()=>ja,lists_remove_at:()=>za,lists_remove_at2:()=>il,lists_reverse:()=>$a,lists_setIndex3:()=>tl,lists_set_index:()=>Da,lists_sort:()=>Ga});var y={};__webpack_require__.r(y),__webpack_require__.d(y,{dicts_add_change_del:()=>bl,dicts_add_or_change:()=>hl,dicts_clear:()=>ml,dicts_create_with:()=>ll,dicts_create_with_noreturn:()=>El,dicts_deldict:()=>vl,dicts_delete:()=>pl,dicts_get:()=>cl,dicts_get_default:()=>dl,dicts_items:()=>gl,dicts_keys:()=>ul,dicts_length:()=>yl,dicts_pop:()=>Tl,dicts_setdefault:()=>xl,dicts_to_json:()=>Il,dicts_to_json2:()=>Cl,dicts_to_to:()=>Sl,dicts_todict:()=>wl,dicts_update:()=>fl,dicts_values:()=>_l,json_to_dicts:()=>Al});var v={};__webpack_require__.r(v),__webpack_require__.d(v,{logic_boolean:()=>Nl,logic_compare:()=>Ol,logic_compare_continous:()=>Ml,logic_is:()=>Pl,logic_is_in:()=>Ll,logic_negate:()=>Rl,logic_null:()=>Dl,logic_operation:()=>kl,logic_tobool:()=>Bl,logic_true_or_false:()=>Fl});var b={};__webpack_require__.r(b),__webpack_require__.d(b,{sdcard_mount:()=>au,sdcard_use_spi_init:()=>ou,storage_can_write_ornot:()=>Wl,storage_change_dir:()=>tu,storage_close_file:()=>ql,storage_delete_file:()=>Zl,storage_file_seek:()=>eu,storage_file_tell:()=>Jl,storage_file_write:()=>jl,storage_fileopen:()=>Ul,storage_fileopen_new:()=>Vl,storage_fileopen_new_encoding:()=>zl,storage_get_a_line:()=>Hl,storage_get_contents:()=>Gl,storage_get_contents_without_para:()=>Yl,storage_get_current_dir:()=>nu,storage_get_file_size:()=>Ql,storage_get_filename:()=>Xl,storage_is_file:()=>su,storage_list_all_files:()=>Kl,storage_make_dir:()=>iu,storage_open_file_with_os:()=>$l,storage_rename:()=>ru});var T={};__webpack_require__.r(T),__webpack_require__.d(T,{procedures_callnoreturn:()=>du,procedures_callreturn:()=>cu,procedures_defnoreturn:()=>uu,procedures_defreturn:()=>lu,procedures_ifreturn:()=>hu,procedures_return:()=>pu});var x={};__webpack_require__.r(x),__webpack_require__.d(x,{tuple_change_to:()=>xu,tuple_create_llm_params:()=>ku,tuple_create_with:()=>fu,tuple_create_with_noreturn:()=>Au,tuple_create_with_text2:()=>mu,tuple_create_with_text_return:()=>gu,tuple_del:()=>vu,tuple_find:()=>Eu,tuple_getIndex:()=>_u,tuple_getSublist:()=>Iu,tuple_get_random_item:()=>Cu,tuple_get_sublist:()=>Su,tuple_input:()=>Mu,tuple_join:()=>bu,tuple_length:()=>yu,tuple_max:()=>Tu,tuple_totuple:()=>Ou,tuple_trig:()=>wu});var E={};__webpack_require__.r(E),__webpack_require__.d(E,{set_add_discard:()=>Bu,set_clear:()=>Fu,set_create_with:()=>Ru,set_create_with_text_return:()=>Vu,set_length:()=>Nu,set_operate:()=>Lu,set_operate_update:()=>Pu,set_pop:()=>Du,set_sub:()=>$u,set_toset:()=>zu,set_update:()=>Uu});var w={};__webpack_require__.r(w),__webpack_require__.d(w,{html_content:()=>Hu,html_content_more:()=>Wu,html_document:()=>ju,html_form:()=>qu,html_head_body:()=>Gu,html_style:()=>Xu,html_style_content:()=>Ku,html_text:()=>Zu,html_title:()=>Yu});var I={};__webpack_require__.r(I),__webpack_require__.d(I,{attribute_access:()=>rc,function_call:()=>ic,raw_block:()=>Qu,raw_empty:()=>ec,raw_expression:()=>Ju,raw_table:()=>tc,type_check:()=>nc});var A={};__webpack_require__.r(A),__webpack_require__.d(A,{AI_ChooseAndGet:()=>uc,AI_Face_match:()=>mc,AI_ImageClassify:()=>pc,AI_ImageClassify_Func:()=>fc,AI_Nlp:()=>yc,AI_Nlp_Func:()=>bc,AI_Nlp_Func_sim:()=>Tc,AI_Nlp_Sim:()=>vc,AI_Nlp_Topic:()=>xc,AI_Nlp_newsSummary:()=>Ec,AI_Ocr:()=>gc,AI_Ocr_Func:()=>_c,AI_Speech_asr:()=>hc,AI_Speech_synthesis:()=>dc,AI_audio:()=>wc,AI_client:()=>cc,AI_photo:()=>Ic,AI_result:()=>Ac});var S={};__webpack_require__.r(S),__webpack_require__.d(S,{algorithm_add_path:()=>Nc,algorithm_add_school:()=>Oc,algorithm_all_books:()=>qc,algorithm_all_books_sequence:()=>Kc,algorithm_book_scale:()=>ld,algorithm_check_feet:()=>vd,algorithm_chick_calculate:()=>yd,algorithm_color_seclet:()=>Pd,algorithm_current_school:()=>$c,algorithm_del_path:()=>Dc,algorithm_delete_book:()=>rd,algorithm_delete_books:()=>sd,algorithm_delete_books2:()=>od,algorithm_divide_books:()=>nd,algorithm_find_path:()=>Mc,algorithm_first_book:()=>Zc,algorithm_fz_calc:()=>Ed,algorithm_fz_calc_first_min:()=>wd,algorithm_fz_compare:()=>Id,algorithm_fz_move:()=>Sd,algorithm_fz_set_min:()=>Ad,algorithm_get_book_num:()=>hd,algorithm_get_current_location:()=>Fd,algorithm_get_half_books:()=>id,algorithm_hxdb_add:()=>Rd,algorithm_hxdb_init_soldier:()=>Od,algorithm_hxdb_last_line:()=>kd,algorithm_hxdb_result:()=>Nd,algorithm_hxdb_stand_in_line:()=>Md,algorithm_init_fzsf:()=>xd,algorithm_init_hxdb:()=>Cd,algorithm_init_jttl:()=>md,algorithm_move_recent:()=>jc,algorithm_new_path:()=>kc,algorithm_next_book:()=>ed,algorithm_no_left:()=>Lc,algorithm_no_path:()=>Uc,algorithm_no_ring2:()=>Qc,algorithm_not_home:()=>Yc,algorithm_not_school:()=>Gc,algorithm_number_add:()=>cd,algorithm_number_zero:()=>ud,algorithm_prepare:()=>Cc,algorithm_prepare2:()=>Bc,algorithm_prepare_2_1:()=>Vc,algorithm_prepare_2_2:()=>zc,algorithm_print_book2:()=>ad,algorithm_print_divide:()=>fd,algorithm_print_jttl_answer:()=>bd,algorithm_print_number:()=>dd,algorithm_print_path:()=>Pc,algorithm_print_path2:()=>Hc,algorithm_print_sequence:()=>pd,algorithm_rabbit_add:()=>Td,algorithm_rabbit_number_in_range:()=>_d,algorithm_rabbit_zero:()=>gd,algorithm_return_path:()=>Fc,algorithm_set_path:()=>Rc,algorithm_two_left:()=>td,algorithm_void_path:()=>Ld,algorithm_yes_ring2:()=>Jc,hanoi_init:()=>Wc,hanoi_init_offline:()=>Dd,hanoi_move:()=>Xc});var C={};__webpack_require__.r(C),__webpack_require__.d(C,{requests_attribute:()=>zd,requests_get:()=>Ud,requests_get_old:()=>$d,requests_method:()=>jd,requests_post:()=>Vd});var O={};__webpack_require__.r(O),__webpack_require__.d(O,{cv_destroy_all:()=>qd,cv_face_classifier:()=>Qd,cv_face_detect:()=>Jd,cv_face_detect_all:()=>eh,cv_line_rect:()=>Kd,cv_read_image:()=>Gd,cv_show_image:()=>Hd,cv_text:()=>Zd,cv_waitkey:()=>Xd,cv_write_image:()=>Wd});var M={};__webpack_require__.r(M),__webpack_require__.d(M,{array_create:()=>_h,array_toarray:()=>kh,dataframe_aggregate_func:()=>Ap,dataframe_create:()=>rh,dataframe_create_from_index:()=>oh,dataframe_create_from_one_index:()=>sh,dataframe_fillna:()=>hp,dataframe_get:()=>Ch,dataframe_groupby:()=>Ip,dataframe_head_tail:()=>Ep,dataframe_info:()=>pp,dataframe_median:()=>dp,dataframe_select:()=>wp,dataframe_sort_values:()=>xp,matrix_multiplication:()=>up,matrix_transpose:()=>lp,numpy_argmin_template_match:()=>ep,numpy_astype:()=>Zh,numpy_c_:()=>op,numpy_dot:()=>_p,numpy_linalg_det:()=>ap,numpy_linalg_inv:()=>cp,numpy_max:()=>mp,numpy_mean:()=>tp,numpy_mean_digit:()=>Jh,numpy_min:()=>fp,numpy_ones:()=>sp,numpy_random_random:()=>bp,numpy_reshape:()=>Kh,numpy_shape:()=>qh,numpy_size:()=>gp,numpy_square:()=>yp,numpy_std:()=>np,numpy_sum:()=>vp,numpy_trig:()=>Ih,pandas_drop_columns:()=>rp,pandas_dropna:()=>ip,pandas_readcsv:()=>Sh,pl_axes:()=>ph,pl_bar:()=>Th,pl_hist:()=>Eh,pl_label:()=>gh,pl_legend:()=>fh,pl_pie:()=>xh,pl_plot:()=>dh,pl_plot_bar:()=>yh,pl_plot_easy:()=>ch,pl_plot_scatter:()=>vh,pl_plot_xy:()=>bh,pl_savefig:()=>Oh,pl_show:()=>hh,pl_subplot:()=>Ah,pl_text:()=>Mh,pl_ticks:()=>wh,pl_title:()=>mh,plot_axes:()=>Fh,plot_bar:()=>zh,plot_cla:()=>Sp,plot_hist:()=>Yh,plot_label:()=>Bh,plot_legend:()=>Lh,plot_pie:()=>jh,plot_plot:()=>Nh,plot_plot_bar:()=>$h,plot_plot_easy:()=>Rh,plot_plot_scatter:()=>Uh,plot_plot_xy:()=>Vh,plot_savefig:()=>Wh,plot_show:()=>Dh,plot_subplot:()=>Hh,plot_text:()=>Xh,plot_ticks:()=>Gh,plot_title:()=>Ph,py_sum:()=>Tp,pylab_imshow:()=>Qh,series_create:()=>nh,series_create_from_index:()=>ih,series_create_from_text:()=>ah,series_get_num:()=>uh,series_index_value:()=>lh});var k={};__webpack_require__.r(k),__webpack_require__.d(k,{ds_add_node_by_attr:()=>Lp,ds_add_node_by_name:()=>Fp,ds_create_linkedlist:()=>Op,ds_create_linkedlist_container:()=>Mp,ds_create_linkedlist_item:()=>kp,ds_create_node:()=>Rp,ds_del_node_by_attr:()=>Bp,ds_del_node_by_name:()=>Pp,ds_get_node_attr:()=>Np,ds_reverse_linkedlist:()=>$p,ds_set_node_attr:()=>Dp});var R={};__webpack_require__.r(R),__webpack_require__.d(R,{factory_block:()=>Kp,factory_block_return:()=>Zp,factory_block_return_with_textarea:()=>Jp,factory_block_with_textarea:()=>Qp,factory_callMethod_noreturn:()=>Xp,factory_callMethod_return:()=>qp,factory_create_with_container:()=>Yp,factory_create_with_item:()=>Gp,factory_declare:()=>Wp,factory_from_import:()=>Vp,factory_function_noreturn:()=>jp,factory_function_return:()=>Hp,factory_import:()=>zp});var N={};__webpack_require__.r(N),__webpack_require__.d(N,{hardware_arduino_analog_read:()=>af,hardware_arduino_analog_write:()=>of,hardware_arduino_digital_read:()=>sf,hardware_arduino_digital_write:()=>rf,hardware_arduino_start:()=>tf,inout_highlow:()=>nf});var D={};__webpack_require__.r(D),__webpack_require__.d(D,{inout_input:()=>lf,inout_print:()=>uf,inout_print_container:()=>mf,inout_print_end:()=>df,inout_print_inline:()=>cf,inout_print_item:()=>gf,inout_print_many:()=>ff,inout_type_input:()=>hf,pyinout_type_input:()=>pf});var F={};__webpack_require__.r(F),__webpack_require__.d(F,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Vf,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Uf,IOT_EMQX_PING:()=>Bf,IOT_FORMATTING:()=>Lf,IOT_FORMAT_STRING:()=>Pf,IOT_MIXIO_NTP:()=>$f,IOT_MIXIO_PUBLISH:()=>Sf,IOT_MIXIO_PUBLISHEX:()=>Cf,IOT_MIXIO_SUBSCRIBE:()=>Of,IOT_MIXIO_UNSUBSCRIBE:()=>Mf,iot_checkonenet:()=>Zf,iot_client_onboard:()=>Yf,iot_create_with_item:()=>If,iot_http_client:()=>Gf,iot_http_data:()=>Hf,iot_mixio_check:()=>Nf,iot_mixio_connect:()=>Af,iot_mixio_connect_only:()=>Rf,iot_mixio_disconnect:()=>kf,iot_mixio_format_msg:()=>Ff,iot_mixio_format_topic:()=>Df,iot_mixly_key:()=>jf,iot_mixly_key_py:()=>zf,iot_mqtt_client:()=>Wf,iot_mqtt_data:()=>Xf,iot_onenet_check:()=>bf,iot_onenet_connect:()=>yf,iot_onenet_disconnect:()=>vf,iot_onenet_publish:()=>xf,iot_onenet_publish_dict:()=>Tf,iot_onenetconnect:()=>qf,iot_onenetdisconnect:()=>Kf,iot_publish:()=>Qf,iot_publish_container:()=>Ef,iot_publish_item:()=>wf});var L={};__webpack_require__.r(L),__webpack_require__.d(L,{pins_analog_read:()=>im,pins_analog_write:()=>nm,pins_digital_read:()=>tm,pins_digital_write:()=>em});var P={};__webpack_require__.r(P),__webpack_require__.d(P,{serial_close:()=>am,serial_open:()=>rm,serial_read_b:()=>om,serial_write:()=>sm});var B={};__webpack_require__.r(B),__webpack_require__.d(B,{sklearn_DecisionTreeClassifier_Regressor:()=>ym,sklearn_GaussianNB:()=>Tm,sklearn_KMeans:()=>wm,sklearn_KMeans_fit:()=>Im,sklearn_KNeighborsClassifier_Regressor:()=>bm,sklearn_LinearRegression:()=>gm,sklearn_RandomForestClassifier_Regressor:()=>vm,sklearn_Ridge:()=>_m,sklearn_cluster_centers_labels_inertia:()=>Rm,sklearn_coef_intercept:()=>km,sklearn_data_target:()=>pm,sklearn_fit:()=>Am,sklearn_fit_no_target:()=>Sm,sklearn_load:()=>hm,sklearn_make_blobs:()=>dm,sklearn_make_classification:()=>um,sklearn_make_regression:()=>cm,sklearn_pca:()=>xm,sklearn_pca_fit_transform:()=>Em,sklearn_predict:()=>Cm,sklearn_save_load_model:()=>Nm,sklearn_score:()=>Om,sklearn_score_no_target:()=>Mm,sklearn_train_test_split:()=>fm,sklearn_train_test_split_no_target:()=>mm});var U={};__webpack_require__.r(U),__webpack_require__.d(U,{Panic_with_status_code:()=>Bm,base_delay:()=>Fm,controls_millis:()=>Lm,controls_mstimer2:()=>Um,controls_mstimer2_start:()=>Vm,controls_mstimer2_stop:()=>zm,reset:()=>$m,time_localtime:()=>Pm,time_sleep:()=>jm});var V={};__webpack_require__.r(V),__webpack_require__.d(V,{turtle_bgcolor:()=>dg,turtle_bgcolor_hex:()=>Eg,turtle_bgcolor_hex_new:()=>yg,turtle_circle:()=>lg,turtle_circle_advanced:()=>ug,turtle_clear:()=>ng,turtle_clone:()=>_g,turtle_color:()=>Tg,turtle_color_hex:()=>xg,turtle_color_seclet:()=>Ng,turtle_create:()=>Gm,turtle_done:()=>Hm,turtle_exitonclick:()=>Wm,turtle_fill:()=>rg,turtle_fillcolor:()=>gg,turtle_fillcolor_hex:()=>Ig,turtle_fillcolor_hex_new:()=>bg,turtle_getscreen:()=>Dg,turtle_goto:()=>Qm,turtle_listen:()=>$g,turtle_move:()=>Xm,turtle_numinput:()=>Cg,turtle_onclick:()=>Pg,turtle_onkey:()=>Lg,turtle_ontimer:()=>Bg,turtle_pencolor:()=>mg,turtle_pencolor_hex:()=>wg,turtle_pencolor_hex_new:()=>vg,turtle_penup:()=>ig,turtle_pos_shape:()=>eg,turtle_rotate:()=>qm,turtle_screen_delay:()=>Zm,turtle_screen_savefig:()=>Ug,turtle_setheading:()=>Km,turtle_setup:()=>pg,turtle_setxy:()=>Jm,turtle_shape:()=>Ag,turtle_shapesize:()=>Sg,turtle_size:()=>og,turtle_size_speed:()=>sg,turtle_speed:()=>ag,turtle_stamp:()=>tg,turtle_textinput:()=>Og,turtle_title:()=>hg,turtle_tracer:()=>fg,turtle_update:()=>Fg,turtle_visible:()=>cg,turtle_write:()=>Mg,turtle_write_format:()=>kg,turtle_write_format_skulpt:()=>Rg});var z={};__webpack_require__.r(z),__webpack_require__.d(z,{AI_ChooseAndGet:()=>Vg,AI_Face_match:()=>Hg,AI_ImageClassify:()=>Gg,AI_ImageClassify_Func:()=>Qg,AI_Nlp:()=>Xg,AI_Nlp_Func:()=>e_,AI_Nlp_Func_sim:()=>t_,AI_Nlp_Sim:()=>qg,AI_Nlp_Topic:()=>Kg,AI_Nlp_newsSummary:()=>Zg,AI_Ocr:()=>Wg,AI_Ocr_Func:()=>Jg,AI_Speech_asr:()=>Yg,AI_Speech_synthesis:()=>jg,AI_audio:()=>n_,AI_client:()=>zg,AI_photo:()=>i_,AI_result:()=>r_});var j={};__webpack_require__.r(j),__webpack_require__.d(j,{algorithm_add_path:()=>c_,algorithm_add_school:()=>o_,algorithm_all_books:()=>S_,algorithm_all_books_sequence:()=>A_,algorithm_book_scale:()=>P_,algorithm_check_feet:()=>G_,algorithm_chick_calculate:()=>Y_,algorithm_color_seclet:()=>ly,algorithm_current_school:()=>g_,algorithm_del_path:()=>d_,algorithm_delete_book:()=>F_,algorithm_divide_books:()=>N_,algorithm_find_path:()=>a_,algorithm_first_book:()=>C_,algorithm_fz_calc:()=>q_,algorithm_fz_compare:()=>K_,algorithm_fz_move:()=>Q_,algorithm_fz_set_min:()=>Z_,algorithm_get_current_location:()=>oy,algorithm_get_half_books:()=>D_,algorithm_hxdb_add:()=>iy,algorithm_hxdb_init_soldier:()=>ey,algorithm_hxdb_last_line:()=>ny,algorithm_hxdb_result:()=>ry,algorithm_hxdb_stand_in_line:()=>ty,algorithm_init_fzsf:()=>X_,algorithm_init_hxdb:()=>J_,algorithm_init_jttl:()=>V_,algorithm_move_recent:()=>b_,algorithm_new_path:()=>l_,algorithm_next_book:()=>k_,algorithm_no_left:()=>p_,algorithm_no_path:()=>__,algorithm_no_ring2:()=>O_,algorithm_not_home:()=>T_,algorithm_not_school:()=>x_,algorithm_number_add:()=>$_,algorithm_number_zero:()=>B_,algorithm_prepare:()=>s_,algorithm_prepare2:()=>m_,algorithm_prepare_2_1:()=>y_,algorithm_prepare_2_2:()=>v_,algorithm_print_book2:()=>L_,algorithm_print_jttl_answer:()=>H_,algorithm_print_number:()=>U_,algorithm_print_path:()=>f_,algorithm_print_path2:()=>E_,algorithm_rabbit_add:()=>W_,algorithm_rabbit_number_in_range:()=>j_,algorithm_rabbit_zero:()=>z_,algorithm_return_path:()=>h_,algorithm_set_path:()=>u_,algorithm_two_left:()=>R_,algorithm_void_path:()=>ay,algorithm_yes_ring2:()=>M_,hanoi_init:()=>w_,hanoi_init_offline:()=>sy,hanoi_move:()=>I_});var Y={};__webpack_require__.r(Y),__webpack_require__.d(Y,{requests_attribute:()=>hy,requests_get:()=>cy,requests_get_old:()=>uy,requests_method:()=>py,requests_post:()=>dy});var G={};__webpack_require__.r(G),__webpack_require__.d(G,{array_create:()=>My,array_toarray:()=>Yy,dataframe_aggregate_func:()=>$v,dataframe_create:()=>_y,dataframe_create_from_index:()=>yy,dataframe_create_from_one_index:()=>vy,dataframe_fillna:()=>Iv,dataframe_get:()=>Vy,dataframe_groupby:()=>Bv,dataframe_head_tail:()=>Lv,dataframe_info:()=>Av,dataframe_median:()=>wv,dataframe_select:()=>Pv,dataframe_sort_values:()=>Fv,matrix_multiplication:()=>xv,matrix_transpose:()=>Tv,numpy_argmin_template_match:()=>pv,numpy_astype:()=>cv,numpy_c_:()=>vv,numpy_dot:()=>Mv,numpy_linalg_det:()=>bv,numpy_linalg_inv:()=>Ev,numpy_max:()=>Cv,numpy_mean:()=>fv,numpy_mean_digit:()=>hv,numpy_min:()=>Sv,numpy_ones:()=>yv,numpy_random_random:()=>Nv,numpy_reshape:()=>uv,numpy_shape:()=>lv,numpy_size:()=>Ov,numpy_square:()=>kv,numpy_std:()=>mv,numpy_sum:()=>Rv,numpy_trig:()=>By,pandas_drop_columns:()=>_v,pandas_dropna:()=>gv,pandas_readcsv:()=>Uy,pl_axes:()=>wy,pl_bar:()=>Dy,pl_hist:()=>Ly,pl_label:()=>Oy,pl_legend:()=>Sy,pl_pie:()=>Fy,pl_plot:()=>Ay,pl_plot_bar:()=>ky,pl_plot_easy:()=>Iy,pl_plot_scatter:()=>Ry,pl_plot_xy:()=>Ny,pl_savefig:()=>zy,pl_show:()=>Ey,pl_subplot:()=>$y,pl_text:()=>jy,pl_ticks:()=>Py,pl_title:()=>Cy,plot_axes:()=>Hy,plot_bar:()=>tv,plot_cla:()=>Uv,plot_hist:()=>iv,plot_label:()=>Zy,plot_legend:()=>qy,plot_pie:()=>nv,plot_plot:()=>Xy,plot_plot_bar:()=>Qy,plot_plot_easy:()=>Wy,plot_plot_scatter:()=>Jy,plot_plot_xy:()=>ev,plot_savefig:()=>ov,plot_show:()=>Gy,plot_subplot:()=>sv,plot_text:()=>av,plot_ticks:()=>rv,plot_title:()=>Ky,py_sum:()=>Dv,pylab_imshow:()=>dv,series_create:()=>my,series_create_from_index:()=>gy,series_create_from_text:()=>by,series_get_num:()=>xy,series_index_value:()=>Ty});var H={};__webpack_require__.r(H),__webpack_require__.d(H,{ds_add_node_by_attr:()=>Hv,ds_add_node_by_name:()=>Gv,ds_create_linkedlist:()=>Vv,ds_create_node:()=>zv,ds_del_node_by_attr:()=>Xv,ds_del_node_by_name:()=>Wv,ds_get_node_attr:()=>jv,ds_reverse_linkedlist:()=>qv,ds_set_node_attr:()=>Yv});var W={};__webpack_require__.r(W),__webpack_require__.d(W,{factory_block:()=>ib,factory_block_return:()=>rb,factory_block_return_with_textarea:()=>ob,factory_block_with_textarea:()=>sb,factory_callMethod_noreturn:()=>tb,factory_callMethod_return:()=>nb,factory_declare:()=>eb,factory_from_import:()=>Kv,factory_function_noreturn:()=>Qv,factory_function_return:()=>Jv,factory_import:()=>Zv});var X={};__webpack_require__.r(X),__webpack_require__.d(X,{hardware_arduino_analog_read:()=>db,hardware_arduino_analog_write:()=>hb,hardware_arduino_digital_read:()=>cb,hardware_arduino_digital_write:()=>ub,hardware_arduino_start:()=>ab,inout_highlow:()=>lb});var q={};__webpack_require__.r(q),__webpack_require__.d(q,{inout_input:()=>pb,inout_print:()=>fb,inout_print_end:()=>gb,inout_print_inline:()=>mb,inout_print_many:()=>vb,inout_type_input:()=>_b,pyinout_type_input:()=>yb});var K={};__webpack_require__.r(K),__webpack_require__.d(K,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Rb,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Fb,IOT_EMQX_PING:()=>Lb,IOT_FORMATTING:()=>Mb,IOT_FORMAT_STRING:()=>kb,IOT_MIXIO_NTP:()=>Pb,IOT_MIXIO_PUBLISH:()=>Tb,IOT_MIXIO_PUBLISHEX:()=>xb,IOT_MIXIO_SUBSCRIBE:()=>Eb,IOT_MIXIO_UNSUBSCRIBE:()=>wb,iot_mixio_check:()=>Sb,iot_mixio_connect:()=>bb,iot_mixio_connect_only:()=>Ab,iot_mixio_disconnect:()=>Ib,iot_mixio_format_msg:()=>Ob,iot_mixio_format_topic:()=>Cb,iot_mixly_key:()=>Nb,iot_mixly_key_py:()=>Db});var Z={};__webpack_require__.r(Z),__webpack_require__.d(Z,{pins_analog_read:()=>zb,pins_analog_write:()=>Vb,pins_digital:()=>Bb,pins_digital_read:()=>Ub,pins_digital_write:()=>$b});var Q={};__webpack_require__.r(Q),__webpack_require__.d(Q,{serial_close:()=>Hb,serial_open:()=>jb,serial_read_b:()=>Gb,serial_write:()=>Yb});var J={};__webpack_require__.r(J),__webpack_require__.d(J,{sklearn_DecisionTreeClassifier_Regressor:()=>nT,sklearn_GaussianNB:()=>sT,sklearn_KMeans:()=>lT,sklearn_KMeans_fit:()=>uT,sklearn_KNeighborsClassifier_Regressor:()=>rT,sklearn_LinearRegression:()=>eT,sklearn_RandomForestClassifier_Regressor:()=>iT,sklearn_Ridge:()=>tT,sklearn_cluster_centers_labels_inertia:()=>gT,sklearn_coef_intercept:()=>mT,sklearn_data_target:()=>Zb,sklearn_fit:()=>cT,sklearn_fit_no_target:()=>dT,sklearn_load:()=>Kb,sklearn_make_blobs:()=>qb,sklearn_make_classification:()=>Wb,sklearn_make_regression:()=>Xb,sklearn_pca:()=>oT,sklearn_pca_fit_transform:()=>aT,sklearn_predict:()=>hT,sklearn_save_load_model:()=>_T,sklearn_score:()=>pT,sklearn_score_no_target:()=>fT,sklearn_train_test_split:()=>Qb,sklearn_train_test_split_no_target:()=>Jb});var ee={};__webpack_require__.r(ee),__webpack_require__.d(ee,{controls_end_program:()=>vT,controls_millis:()=>yT,time_localtime:()=>bT});var te={};__webpack_require__.r(te),__webpack_require__.d(te,{turtle_bgcolor:()=>VT,turtle_bgcolor_hex:()=>XT,turtle_bgcolor_hex_new:()=>ZT,turtle_circle:()=>PT,turtle_circle_advanced:()=>$T,turtle_clear:()=>kT,turtle_clone:()=>WT,turtle_color:()=>tx,turtle_color_hex:()=>ex,turtle_color_seclet:()=>ux,turtle_create:()=>TT,turtle_done:()=>xT,turtle_exitonclick:()=>ET,turtle_fill:()=>NT,turtle_fillcolor:()=>HT,turtle_fillcolor_hex:()=>KT,turtle_fillcolor_hex_new:()=>JT,turtle_getscreen:()=>cx,turtle_goto:()=>CT,turtle_listen:()=>mx,turtle_move:()=>wT,turtle_numinput:()=>sx,turtle_onclick:()=>px,turtle_onkey:()=>hx,turtle_ontimer:()=>fx,turtle_pencolor:()=>GT,turtle_pencolor_hex:()=>qT,turtle_pencolor_hex_new:()=>QT,turtle_penup:()=>RT,turtle_pos_shape:()=>OT,turtle_rotate:()=>IT,turtle_screen_delay:()=>ST,turtle_screen_savefig:()=>gx,turtle_setheading:()=>AT,turtle_setup:()=>jT,turtle_setxy:()=>BT,turtle_shape:()=>nx,turtle_shapesize:()=>ix,turtle_size:()=>FT,turtle_size_speed:()=>DT,turtle_speed:()=>LT,turtle_stamp:()=>MT,turtle_textinput:()=>rx,turtle_title:()=>zT,turtle_tracer:()=>YT,turtle_update:()=>dx,turtle_visible:()=>UT,turtle_write:()=>ox,turtle_write_format:()=>ax,turtle_write_format_skulpt:()=>lx});var ne={};__webpack_require__.r(ne),__webpack_require__.d(ne,{sklearn_LinearRegression:()=>_x});var ie={};__webpack_require__.r(ie),__webpack_require__.d(ie,{sklearn_LinearRegression:()=>yx});var re={};__webpack_require__.r(re);var se={};__webpack_require__.r(se),__webpack_require__.d(se,{tensorflow_add:()=>Ex,tensorflow_compile:()=>wx,tensorflow_fit:()=>Ix,tensorflow_get_loss:()=>Ax,tensorflow_get_tensor_data:()=>Cx,tensorflow_init_tensor:()=>bx,tensorflow_layers_dense:()=>xx,tensorflow_predict:()=>Sx,tensorflow_prepare_picture:()=>kx,tensorflow_save_or_export_model:()=>Ox,tensorflow_sequential:()=>Tx,tensorflow_use_load_model:()=>Mx});var oe={};__webpack_require__.r(oe),__webpack_require__.d(oe,{BaseTransition:()=>rS,BaseTransitionPropsValidators:()=>tS,Comment:()=>sM,DeprecationTypes:()=>bk,EffectScope:()=>KE,ErrorCodes:()=>eA,ErrorTypeStrings:()=>fk,Fragment:()=>iM,KeepAlive:()=>$S,ReactiveEffect:()=>tw,Static:()=>oM,Suspense:()=>ZO,Teleport:()=>XA,Text:()=>rM,TrackOpTypes:()=>UI,Transition:()=>Rk,TransitionGroup:()=>OR,TriggerOpTypes:()=>VI,VueElement:()=>bR,assertNumber:()=>JI,callWithAsyncErrorHandling:()=>iA,callWithErrorHandling:()=>nA,camelize:()=>cE,capitalize:()=>pE,cloneVNode:()=>AM,compatUtils:()=>vk,computed:()=>ak,createApp:()=>oN,createBlock:()=>gM,createCommentVNode:()=>OM,createElementBlock:()=>mM,createElementVNode:()=>xM,createHydrationRenderer:()=>TO,createPropsRestProxy:()=>LC,createRenderer:()=>bO,createSSRApp:()=>aN,createSlots:()=>fC,createStaticVNode:()=>CM,createTextVNode:()=>SM,createVNode:()=>EM,customRef:()=>NI,defineAsyncComponent:()=>FS,defineComponent:()=>dS,defineCustomElement:()=>_R,defineEmits:()=>wC,defineExpose:()=>IC,defineModel:()=>CC,defineOptions:()=>AC,defineProps:()=>EC,defineSSRCustomElement:()=>yR,defineSlots:()=>SC,devtools:()=>mk,effect:()=>fw,effectScope:()=>ZE,getCurrentInstance:()=>$M,getCurrentScope:()=>QE,getCurrentWatcher:()=>GI,getTransitionRawChildren:()=>cS,guardReactiveProps:()=>IM,h:()=>lk,handleError:()=>rA,hasInjectionContext:()=>nO,hydrate:()=>sN,hydrateOnIdle:()=>MS,hydrateOnInteraction:()=>NS,hydrateOnMediaQuery:()=>RS,hydrateOnVisible:()=>kS,initCustomFormatter:()=>uk,initDirectivesForSSR:()=>dN,inject:()=>tO,isMemoSame:()=>dk,isProxy:()=>_I,isReactive:()=>fI,isReadonly:()=>mI,isRef:()=>xI,isRuntimeOnly:()=>ZM,isShallow:()=>gI,isVNode:()=>_M,markRaw:()=>vI,mergeDefaults:()=>DC,mergeModels:()=>FC,mergeProps:()=>NM,nextTick:()=>hA,normalizeClass:()=>CE,normalizeProps:()=>OE,normalizeStyle:()=>EE,onActivated:()=>VS,onBeforeMount:()=>qS,onBeforeUnmount:()=>JS,onBeforeUpdate:()=>ZS,onDeactivated:()=>zS,onErrorCaptured:()=>rC,onMounted:()=>KS,onRenderTracked:()=>iC,onRenderTriggered:()=>nC,onScopeDispose:()=>JE,onServerPrefetch:()=>tC,onUnmounted:()=>eC,onUpdated:()=>QS,onWatcherCleanup:()=>HI,openBlock:()=>uM,popScopeId:()=>DA,provide:()=>eO,proxyRefs:()=>kI,pushScopeId:()=>NA,queuePostFlushCb:()=>mA,reactive:()=>uI,readonly:()=>dI,ref:()=>EI,registerRuntimeCompiler:()=>KM,render:()=>rN,renderList:()=>pC,renderSlot:()=>mC,resolveComponent:()=>aC,resolveDirective:()=>cC,resolveDynamicComponent:()=>uC,resolveFilter:()=>yk,resolveTransitionHooks:()=>oS,setBlockTracking:()=>pM,setDevtoolsHook:()=>gk,setTransitionHooks:()=>uS,shallowReactive:()=>cI,shallowReadonly:()=>hI,shallowRef:()=>wI,ssrContextKey:()=>OO,ssrUtils:()=>_k,stop:()=>mw,toDisplayString:()=>GE,toHandlerKey:()=>fE,toHandlers:()=>_C,toRaw:()=>yI,toRef:()=>PI,toRefs:()=>DI,toValue:()=>OI,transformVNodeArgs:()=>vM,triggerRef:()=>SI,unref:()=>CI,useAttrs:()=>kC,useCssModule:()=>ER,useCssVars:()=>Zk,useHost:()=>TR,useId:()=>hS,useModel:()=>BO,useSSRContext:()=>MO,useShadowRoot:()=>xR,useSlots:()=>MC,useTemplateRef:()=>fS,useTransitionState:()=>JA,vModelCheckbox:()=>BR,vModelDynamic:()=>GR,vModelRadio:()=>UR,vModelSelect:()=>VR,vModelText:()=>PR,vShow:()=>Xk,version:()=>hk,warn:()=>pk,watch:()=>DO,watchEffect:()=>kO,watchPostEffect:()=>RO,watchSyncEffect:()=>NO,withAsyncContext:()=>PC,withCtx:()=>LA,withDefaults:()=>OC,withDirectives:()=>PA,withKeys:()=>QR,withMemo:()=>ck,withModifiers:()=>KR,withScopeId:()=>FA});var ae={};__webpack_require__.r(ae),__webpack_require__.d(ae,{COPYFILE_EXCL:()=>VP,COPYFILE_FICLONE:()=>zP,COPYFILE_FICLONE_FORCE:()=>jP,F_OK:()=>PP,O_APPEND:()=>ZP,O_CREAT:()=>WP,O_DIRECT:()=>rB,O_DIRECTORY:()=>QP,O_DSYNC:()=>nB,O_EXCL:()=>XP,O_NOATIME:()=>JP,O_NOCTTY:()=>qP,O_NOFOLLOW:()=>eB,O_NONBLOCK:()=>sB,O_RDONLY:()=>YP,O_RDWR:()=>HP,O_SYMLINK:()=>iB,O_SYNC:()=>tB,O_TRUNC:()=>KP,O_WRONLY:()=>GP,R_OK:()=>BP,S_IFBLK:()=>cB,S_IFCHR:()=>hB,S_IFDIR:()=>dB,S_IFIFO:()=>pB,S_IFLNK:()=>lB,S_IFMT:()=>oB,S_IFREG:()=>uB,S_IFSOCK:()=>aB,S_IRGRP:()=>xB,S_IROTH:()=>AB,S_IRUSR:()=>yB,S_IRWXG:()=>TB,S_IRWXO:()=>IB,S_IRWXU:()=>_B,S_ISGID:()=>mB,S_ISUID:()=>fB,S_ISVTX:()=>gB,S_IWGRP:()=>EB,S_IWOTH:()=>SB,S_IWUSR:()=>vB,S_IXGRP:()=>wB,S_IXOTH:()=>CB,S_IXUSR:()=>bB,UV_FS_O_FILEMAP:()=>OB,W_OK:()=>$P,X_OK:()=>UP,size_max:()=>MB});var le={};__webpack_require__.r(le),__webpack_require__.d(le,{FileHandle:()=>JU,access:()=>IV,appendFile:()=>cV,chmod:()=>vV,chown:()=>_V,constants:()=>ae,copyFile:()=>CV,cp:()=>MV,exists:()=>tV,lchmod:()=>bV,lchown:()=>yV,link:()=>fV,lstat:()=>iV,lutimes:()=>xV,mkdir:()=>hV,mkdtemp:()=>SV,open:()=>aV,opendir:()=>OV,readFile:()=>lV,readdir:()=>pV,readlink:()=>gV,realpath:()=>EV,rename:()=>eV,rm:()=>AV,rmdir:()=>dV,stat:()=>nV,statfs:()=>kV,symlink:()=>mV,truncate:()=>rV,unlink:()=>sV,utimes:()=>TV,watch:()=>wV,writeFile:()=>uV});var ue={};__webpack_require__.r(ue),__webpack_require__.d(ue,{BigIntStatsFs:()=>PB,Dir:()=>WU,Dirent:()=>HU,ReadStream:()=>qU,Stats:()=>DB,StatsFs:()=>LB,WriteStream:()=>KU,_synced:()=>z$,access:()=>hz,accessSync:()=>PU,appendFile:()=>zV,appendFileSync:()=>pU,chmod:()=>az,chmodSync:()=>RU,chown:()=>sz,chownSync:()=>MU,chroot:()=>W$,close:()=>YV,closeSync:()=>mU,constants:()=>ae,copyFile:()=>Tz,copyFileSync:()=>UU,cp:()=>Iz,cpSync:()=>YU,createReadStream:()=>_z,createWriteStream:()=>yz,exists:()=>DV,existsSync:()=>nU,fchmod:()=>ZV,fchmodSync:()=>xU,fchown:()=>KV,fchownSync:()=>TU,fdatasync:()=>WV,fdatasyncSync:()=>yU,fstat:()=>jV,fstatSync:()=>fU,fsync:()=>HV,fsyncSync:()=>_U,ftruncate:()=>GV,ftruncateSync:()=>gU,futimes:()=>QV,futimesSync:()=>EU,lchmod:()=>lz,lchmodSync:()=>NU,lchown:()=>oz,lchownSync:()=>kU,link:()=>nz,linkSync:()=>SU,lopenSync:()=>uU,lstat:()=>LV,lstatSync:()=>rU,lutimes:()=>cz,lutimesSync:()=>FU,mkdir:()=>ez,mkdirSync:()=>IU,mkdtemp:()=>bz,mkdtempSync:()=>$U,mount:()=>$$,mountObject:()=>G$,mounts:()=>B$,open:()=>$V,openAsBlob:()=>Sz,openSync:()=>lU,opendir:()=>wz,opendirSync:()=>jU,promises:()=>le,read:()=>qV,readFile:()=>UV,readFileSync:()=>dU,readSync:()=>bU,readdir:()=>tz,readdirSync:()=>AU,readlink:()=>rz,readlinkSync:()=>OU,readv:()=>xz,readvSync:()=>VU,realpath:()=>dz,realpathSync:()=>LU,rename:()=>NV,renameSync:()=>tU,rm:()=>vz,rmSync:()=>BU,rmdir:()=>JV,rmdirSync:()=>wU,stat:()=>FV,statSync:()=>iU,statfs:()=>Az,statfsSync:()=>GU,symlink:()=>iz,symlinkSync:()=>CU,truncate:()=>PV,truncateSync:()=>sU,umount:()=>U$,unlink:()=>BV,unlinkSync:()=>oU,unwatchFile:()=>mz,utimes:()=>uz,utimesSync:()=>DU,watch:()=>gz,watchFile:()=>fz,write:()=>XV,writeFile:()=>VV,writeFileSync:()=>hU,writeSync:()=>vU,writev:()=>Ez,writevSync:()=>zU});var ce={};__webpack_require__.r(ce),__webpack_require__.d(ce,{maxNorm:()=>e7,minMaxNorm:()=>i7,nonNeg:()=>n7,unitNorm:()=>t7});var de={};__webpack_require__.r(de),__webpack_require__.d(de,{constant:()=>o7,glorotNormal:()=>p7,glorotUniform:()=>h7,heNormal:()=>f7,heUniform:()=>m7,identity:()=>c7,leCunNormal:()=>g7,leCunUniform:()=>_7,ones:()=>s7,orthogonal:()=>y7,randomNormal:()=>l7,randomUniform:()=>a7,truncatedNormal:()=>u7,varianceScaling:()=>d7,zeros:()=>r7});var he={};__webpack_require__.r(he),__webpack_require__.d(he,{Layer:()=>N9,RNN:()=>Vte,RNNCell:()=>zte,activation:()=>Tie,add:()=>Mie,alphaDropout:()=>bre,average:()=>kie,averagePooling1d:()=>Uie,averagePooling2d:()=>jie,averagePooling3d:()=>Hie,avgPool1d:()=>Vie,avgPool2d:()=>Yie,avgPool3d:()=>Wie,avgPooling1d:()=>zie,avgPooling2d:()=>Gie,avgPooling3d:()=>Xie,batchNormalization:()=>Pie,bidirectional:()=>hre,categoryEncoding:()=>Ire,centerCrop:()=>Ere,concatenate:()=>Rie,conv1d:()=>hie,conv2d:()=>pie,conv2dTranspose:()=>fie,conv3d:()=>mie,conv3dTranspose:()=>gie,convLstm2d:()=>lre,convLstm2dCell:()=>ure,cropping2D:()=>yie,dense:()=>xie,depthwiseConv2d:()=>bie,dot:()=>Lie,dropout:()=>Eie,elu:()=>oie,embedding:()=>Oie,flatten:()=>Iie,gaussianDropout:()=>vre,gaussianNoise:()=>yre,globalAveragePooling1d:()=>qie,globalAveragePooling2d:()=>Kie,globalMaxPool1d:()=>fre,globalMaxPool2d:()=>mre,globalMaxPooling1d:()=>Zie,globalMaxPooling2d:()=>Qie,gru:()=>nre,gruCell:()=>ire,input:()=>Bee,inputLayer:()=>sie,layerNormalization:()=>Bie,leakyReLU:()=>lie,lstm:()=>rre,lstmCell:()=>sre,masking:()=>Tre,maxPool1d:()=>gre,maxPool2d:()=>_re,maxPooling1d:()=>Jie,maxPooling2d:()=>ere,maxPooling3d:()=>tre,maximum:()=>Nie,minimum:()=>Die,multiply:()=>Fie,permute:()=>Cie,prelu:()=>uie,randomWidth:()=>Are,reLU:()=>aie,repeatVector:()=>Aie,rescaling:()=>xre,reshape:()=>Sie,resizing:()=>wre,rnn:()=>cre,separableConv2d:()=>_ie,simpleRNN:()=>ore,simpleRNNCell:()=>are,softmax:()=>cie,spatialDropout1d:()=>wie,stackedRNNCells:()=>dre,thresholdedReLU:()=>die,timeDistributed:()=>pre,upSampling2d:()=>vie,zeroPadding2d:()=>$ie});var pe={};__webpack_require__.r(pe),__webpack_require__.d(pe,{MAPE:()=>Pre,MSE:()=>Ure,binaryAccuracy:()=>Sre,binaryCrossentropy:()=>Cre,categoricalAccuracy:()=>Mre,categoricalCrossentropy:()=>kre,cosineProximity:()=>Dre,mape:()=>Bre,meanAbsoluteError:()=>Fre,meanAbsolutePercentageError:()=>Lre,meanSquaredError:()=>$re,mse:()=>Vre,precision:()=>Rre,r2Score:()=>zre,recall:()=>Nre,sparseCategoricalAccuracy:()=>Ore});var fe={};__webpack_require__.r(fe),__webpack_require__.d(fe,{modelFromJSON:()=>Nee});var me={};__webpack_require__.r(me),__webpack_require__.d(me,{l1:()=>Yre,l1l2:()=>jre,l2:()=>Gre});var ge={};__webpack_require__.r(ge),__webpack_require__.d(ge,{json:()=>dse});var _e={};__webpack_require__.r(_e),__webpack_require__.d(_e,{json:()=>hse});var ye={};__webpack_require__.r(ye),__webpack_require__.d(ye,{json:()=>pse});var ve={};__webpack_require__.r(ve),__webpack_require__.d(ve,{json:()=>fse});var be={};__webpack_require__.r(be),__webpack_require__.d(be,{json:()=>mse});var Te={};__webpack_require__.r(Te),__webpack_require__.d(Te,{json:()=>gse});var xe={};__webpack_require__.r(xe),__webpack_require__.d(xe,{json:()=>_se});var Ee={};__webpack_require__.r(Ee),__webpack_require__.d(Ee,{json:()=>yse});var we={};__webpack_require__.r(we),__webpack_require__.d(we,{json:()=>vse});var Ie={};__webpack_require__.r(Ie),__webpack_require__.d(Ie,{json:()=>bse});var Ae={};__webpack_require__.r(Ae),__webpack_require__.d(Ae,{json:()=>Tse});var Se={};__webpack_require__.r(Se),__webpack_require__.d(Se,{json:()=>xse});var Ce={};__webpack_require__.r(Ce),__webpack_require__.d(Ce,{json:()=>Ese});var Oe={};__webpack_require__.r(Oe),__webpack_require__.d(Oe,{json:()=>wse});var Me={};__webpack_require__.r(Me),__webpack_require__.d(Me,{json:()=>Ise});var ke={};__webpack_require__.r(ke),__webpack_require__.d(ke,{json:()=>Ase});var Re={};__webpack_require__.r(Re),__webpack_require__.d(Re,{json:()=>Sse});var Ne={};__webpack_require__.r(Ne),__webpack_require__.d(Ne,{json:()=>Cse});var De={};__webpack_require__.r(De),__webpack_require__.d(De,{json:()=>Ose});var Fe={};__webpack_require__.r(Fe),__webpack_require__.d(Fe,{OP_SCOPE_SUFFIX:()=>Hse.BTT,abs:()=>Hse.tnl,acos:()=>Hse.HQu,acosh:()=>Hse.FqL,add:()=>Hse.WQq,addN:()=>Hse.QiD,all:()=>Hse.Q7R,any:()=>Hse.bzn,argMax:()=>Hse.FLi,argMin:()=>Hse.XRg,asin:()=>Hse.qRo,asinh:()=>Hse.yHs,atan:()=>Hse.rYl,atan2:()=>Hse.FPz,atanh:()=>Hse.rfv,avgPool:()=>Hse.$jT,avgPool3d:()=>Hse.sub,basicLSTMCell:()=>Hse.lZX,batchNorm:()=>Hse.$v7,batchNorm2d:()=>Hse.BFc,batchNorm3d:()=>Hse.kSi,batchNorm4d:()=>Hse.T5N,batchToSpaceND:()=>Hse.GTe,bincount:()=>Hse.HbZ,bitwiseAnd:()=>Hse.vjT,booleanMaskAsync:()=>Hse.ftb,broadcastArgs:()=>Hse.ROE,broadcastTo:()=>Hse.hOW,buffer:()=>Hse.ra8,cast:()=>Hse.wgE,ceil:()=>Hse.mkO,clipByValue:()=>Hse.zQh,clone:()=>Hse.o8B,complex:()=>Hse.faB,concat:()=>Hse.xWs,concat1d:()=>Hse.I1m,concat2d:()=>Hse.RPU,concat3d:()=>Hse.O5O,concat4d:()=>Hse.P1l,conv1d:()=>Hse.kA9,conv2d:()=>Hse.Xtf,conv2dTranspose:()=>Hse.wX9,conv3d:()=>Hse.IPL,conv3dTranspose:()=>Hse.jIJ,cos:()=>Hse.gnS,cosh:()=>Hse.yIG,cosineWindow:()=>Hse._jP,cumprod:()=>Hse.Lp0,cumsum:()=>Hse.rCv,denseBincount:()=>Hse.aOp,depthToSpace:()=>Hse.Rj8,depthwiseConv2d:()=>Hse.Gl3,diag:()=>Hse.smy,dilation2d:()=>Hse.X7t,div:()=>Hse.y4m,divNoNan:()=>Hse.ek5,dot:()=>Hse.Omf,dropout:()=>Hse.EZY,einsum:()=>Hse._3C,elu:()=>Hse.Pqc,enclosingPowerOfTwo:()=>Hse.FJY,ensureShape:()=>Hse.QP2,equal:()=>Hse.LCg,erf:()=>Hse.Y12,euclideanNorm:()=>Hse.p4S,exp:()=>Hse.oNF,expandDims:()=>Hse.UG6,expm1:()=>Hse.IYd,eye:()=>Hse.y5U,fft:()=>Hse.hVP,fill:()=>Hse.GSj,floor:()=>Hse.RIf,floorDiv:()=>Hse.wh_,fused:()=>Hse.cZk,gather:()=>Hse.kgh,gatherND:()=>Hse.SY9,greater:()=>Hse.rhj,greaterEqual:()=>Hse.DQN,ifft:()=>Hse.KGM,imag:()=>Hse.ngS,image:()=>Hse.Slp,inTopKAsync:()=>Hse.U4u,irfft:()=>Hse.ggX,isFinite:()=>Hse.MIs,isInf:()=>Hse.EN4,isNaN:()=>Hse.yrW,leakyRelu:()=>Hse.H8d,less:()=>Hse.M7h,lessEqual:()=>Hse.InN,linalg:()=>Hse.mPL,linspace:()=>Hse.mT8,localResponseNormalization:()=>Hse.Kgs,log:()=>Hse.Rm2,log1p:()=>Hse.Kko,logSigmoid:()=>Hse.nqI,logSoftmax:()=>Hse.HPB,logSumExp:()=>Hse.VZ,logicalAnd:()=>Hse.n76,logicalNot:()=>Hse.NSZ,logicalOr:()=>Hse.ztW,logicalXor:()=>Hse.rxB,losses:()=>Hse.YYh,lowerBound:()=>Hse.yzS,matMul:()=>Hse.NoW,max:()=>Hse.T9B,maxPool:()=>Hse.jgi,maxPool3d:()=>Hse.NYV,maxPoolWithArgmax:()=>Hse.RO,maximum:()=>Hse.PhQ,mean:()=>Hse.i2o,meshgrid:()=>Hse.OYQ,min:()=>Hse.jkA,minimum:()=>Hse.BpO,mirrorPad:()=>Hse.FFZ,mod:()=>Hse.ziu,moments:()=>Hse.Clk,movingAverage:()=>Hse.CRk,mul:()=>Hse.lKK,multiRNNCell:()=>Hse.YDF,multinomial:()=>Hse.OjQ,neg:()=>Hse.HZy,norm:()=>Hse.xbf,notEqual:()=>Hse.Ec,oneHot:()=>Hse.Mw0,ones:()=>Hse.SaS,onesLike:()=>Hse.P61,op:()=>Hse.op,outerProduct:()=>Hse.X4o,pad:()=>Hse.eVF,pad1d:()=>Hse.BZs,pad2d:()=>Hse.grY,pad3d:()=>Hse.XHu,pad4d:()=>Hse.WLX,pool:()=>Hse.dzn,pow:()=>Hse.n7C,prelu:()=>Hse.NsG,print:()=>Hse.yyV,prod:()=>Hse._eU,raggedGather:()=>Hse.whe,raggedRange:()=>Hse.iyU,raggedTensorToTensor:()=>Hse.Q0_,rand:()=>Hse._9M,randomGamma:()=>Hse.pR9,randomNormal:()=>Hse.FE$,randomStandardNormal:()=>Hse.m0H,randomUniform:()=>Hse.YeY,randomUniformInt:()=>Hse.HYA,range:()=>Hse.y17,real:()=>Hse.xav,reciprocal:()=>Hse.VOZ,relu:()=>Hse.VVh,relu6:()=>Hse.j__,reshape:()=>Hse.tQQ,reverse:()=>Hse.BEg,reverse1d:()=>Hse.QD2,reverse2d:()=>Hse.LMr,reverse3d:()=>Hse.I2l,reverse4d:()=>Hse.JYU,rfft:()=>Hse.z8$,round:()=>Hse.LIG,rsqrt:()=>Hse.Z$r,scalar:()=>Hse.d_2,scatterND:()=>Hse.NFr,searchSorted:()=>Hse.sZg,selu:()=>Hse.WfX,separableConv2d:()=>Hse.wdz,setdiff1dAsync:()=>Hse.F12,sigmoid:()=>Hse.ry7,sign:()=>Hse._SZ,signal:()=>Hse.vPA,sin:()=>Hse.F8e,sinh:()=>Hse.L0l,slice:()=>Hse.dik,slice1d:()=>Hse.Q$M,slice2d:()=>Hse.zAd,slice3d:()=>Hse.wck,slice4d:()=>Hse.R0O,softmax:()=>Hse.Vs9,softplus:()=>Hse.lw0,spaceToBatchND:()=>Hse.eDJ,sparse:()=>Hse.lMo,sparseToDense:()=>Hse.Zhr,spectral:()=>Hse.lOn,split:()=>Hse.lDo,sqrt:()=>Hse.RZD,square:()=>Hse.EwI,squaredDifference:()=>Hse.Pbu,squeeze:()=>Hse.r2V,stack:()=>Hse.t$z,step:()=>Hse.PMw,stridedSlice:()=>Hse.Ym9,string:()=>Hse.YjP,sub:()=>Hse.jbE,sum:()=>Hse.czq,tan:()=>Hse.Mlm,tanh:()=>Hse.ymU,tensor:()=>Hse.OEK,tensor1d:()=>Hse.tGX,tensor2d:()=>Hse.KtR,tensor3d:()=>Hse.$_$,tensor4d:()=>Hse.g9W,tensor5d:()=>Hse.Lpo,tensor6d:()=>Hse.yxw,tensorScatterUpdate:()=>Hse.NNh,tile:()=>Hse.Vsq,topk:()=>Hse.rfw,transpose:()=>Hse.mgz,truncatedNormal:()=>Hse.efE,unique:()=>Hse.AmM,unsortedSegmentSum:()=>Hse.zAU,unstack:()=>Hse.K$i,upperBound:()=>Hse.rni,variable:()=>Hse.bvq,where:()=>Hse._M9,whereAsync:()=>Hse.YJN,zeros:()=>Hse.Ul9,zerosLike:()=>Hse.POl});var Le={};__webpack_require__.r(Le),__webpack_require__.d(Le,{CSVDataset:()=>pae,Dataset:()=>tae,FileDataSource:()=>Aae,TextLineDataset:()=>oae,URLDataSource:()=>Sae,array:()=>iae,csv:()=>Cae,func:()=>Oae,generator:()=>Mae,microphone:()=>Rae,version_data:()=>Nae,webcam:()=>kae,zip:()=>rae});var Pe={};__webpack_require__.r(Pe),__webpack_require__.d(Pe,{addImpl:()=>Qae,bincountImpl:()=>nle,bincountReduceImpl:()=>ile,bitwiseAndImpl:()=>rle,castImpl:()=>Wae,ceilImpl:()=>cle,concatImpl:()=>ple,equalImpl:()=>fle,expImpl:()=>_le,expm1Impl:()=>ble,floorDivImpl:()=>Ale,floorImpl:()=>Ele,gatherNdImpl:()=>Ole,gatherV2Impl:()=>Mle,greaterEqualImpl:()=>Dle,greaterImpl:()=>kle,lessEqualImpl:()=>Ule,lessImpl:()=>Ple,linSpaceImpl:()=>jle,logImpl:()=>Yle,maxImpl:()=>Wle,maximumImpl:()=>Xle,minimumImpl:()=>Zle,multiplyImpl:()=>eue,negImpl:()=>rue,notEqualImpl:()=>oue,prodImpl:()=>hue,raggedGatherImpl:()=>_ue,raggedRangeImpl:()=>vue,raggedTensorToTensorImpl:()=>wue,rangeImpl:()=>Iue,rsqrtImpl:()=>Aue,scatterImpl:()=>Oue,sigmoidImpl:()=>Mue,simpleAbsImpl:()=>Pae,sliceImpl:()=>Nue,sparseFillEmptyRowsImpl:()=>Lue,sparseReshapeImpl:()=>Pue,sparseSegmentReductionImpl:()=>Bue,sqrtImpl:()=>$ue,squaredDifferenceImpl:()=>zue,staticRegexReplaceImpl:()=>Gue,stridedSliceImpl:()=>Xue,stringNGramsImpl:()=>Kue,stringSplitImpl:()=>Que,stringToHashBucketFastImpl:()=>Jue,subImpl:()=>ece,tileImpl:()=>rce,topKImpl:()=>ace,transposeImpl:()=>uue,uniqueImpl:()=>lce});var Be={};__webpack_require__.r(Be),__webpack_require__.d(Be,{assertNotComplex:()=>wme,bindCanvasToFramebuffer:()=>Qfe,bindColorTextureToFramebuffer:()=>Jfe,bindTextureToProgramUniformSampler:()=>Zfe,bindTextureUnit:()=>Wfe,bindVertexBufferToProgramAttribute:()=>Hfe,callAndCheck:()=>Sfe,canBeRepresented:()=>Mfe,createFragmentShader:()=>Dfe,createFramebuffer:()=>Gfe,createProgram:()=>Pfe,createStaticIndexBuffer:()=>Vfe,createStaticVertexBuffer:()=>Ufe,createTexture:()=>jfe,createVertexShader:()=>Nfe,getBatchDim:()=>sme,getExtensionOrThrow:()=>Rfe,getFramebufferErrorMessage:()=>nme,getMaxTexturesInShader:()=>gme,getNumChannels:()=>zfe,getProgramUniformLocation:()=>Kfe,getProgramUniformLocationOrThrow:()=>qfe,getRowsCols:()=>ome,getShapeAs3D:()=>ame,getTextureShapeFromLogicalShape:()=>lme,getWebGLDisjointQueryTimerVersion:()=>_me,getWebGLErrorMessage:()=>kfe,getWebGLMaxTextureSize:()=>pme,hasExtension:()=>yme,isCapableOfRenderingToFloatTexture:()=>bme,isDownloadFloatTextureEnabled:()=>Tme,isReshapeFree:()=>cme,isWebGLFenceEnabled:()=>Eme,isWebGLVersionEnabled:()=>vme,linkProgram:()=>Bfe,logShaderSourceAndInfoLog:()=>Lfe,resetMaxTextureSize:()=>fme,resetMaxTexturesInShader:()=>mme,unbindColorTextureFromFramebuffer:()=>eme,unbindTextureUnit:()=>Xfe,validateFramebuffer:()=>tme,validateProgram:()=>$fe,validateTextureSize:()=>Yfe});var $e={};__webpack_require__.r($e),__webpack_require__.d($e,{bindVertexProgramAttributeStreams:()=>_ge,createBufferFromOutputTexture:()=>bge,createFloat16MatrixTexture:()=>cge,createFloat16PackedMatrixTexture:()=>gge,createFloat32MatrixTexture:()=>lge,createIndexBuffer:()=>sge,createPackedMatrixTexture:()=>fge,createUnsignedBytesMatrixTexture:()=>hge,createVertexBuffer:()=>rge,createVertexShader:()=>ige,downloadByteEncodedFloatMatrixFromOutputTexture:()=>xge,downloadFloat32MatrixFromBuffer:()=>Tge,downloadMatrixFromPackedOutputTexture:()=>wge,downloadPackedMatrixFromBuffer:()=>Ege,getInternalFormatForFloat16MatrixTexture:()=>uge,getInternalFormatForFloat16PackedMatrixTexture:()=>mge,getInternalFormatForFloat32MatrixTexture:()=>age,getInternalFormatForPackedMatrixTexture:()=>pge,getInternalFormatForUnsignedBytesMatrixTexture:()=>dge,uploadDenseMatrixToTexture:()=>yge,uploadPixelDataToTexture:()=>vge});var Ue={};__webpack_require__.r(Ue),__webpack_require__.d(Ue,{Abs:()=>v3.Abs,Acos:()=>v3.Acos,Acosh:()=>v3.Acosh,AdadeltaOptimizer:()=>v3.AdadeltaOptimizer,AdagradOptimizer:()=>v3.AdagradOptimizer,AdamOptimizer:()=>v3.AdamOptimizer,AdamaxOptimizer:()=>v3.AdamaxOptimizer,Add:()=>v3.Add,AddN:()=>v3.AddN,All:()=>v3.All,Any:()=>v3.Any,ArgMax:()=>v3.ArgMax,ArgMin:()=>v3.ArgMin,Asin:()=>v3.Asin,Asinh:()=>v3.Asinh,Atan:()=>v3.Atan,Atan2:()=>v3.Atan2,Atanh:()=>v3.Atanh,AvgPool:()=>v3.AvgPool,AvgPool3D:()=>v3.AvgPool3D,AvgPool3DGrad:()=>v3.AvgPool3DGrad,AvgPoolGrad:()=>v3.AvgPoolGrad,BatchMatMul:()=>v3.BatchMatMul,BatchToSpaceND:()=>v3.BatchToSpaceND,Bincount:()=>v3.Bincount,BitwiseAnd:()=>v3.BitwiseAnd,BroadcastArgs:()=>v3.BroadcastArgs,BroadcastTo:()=>v3.BroadcastTo,Callback:()=>Hre,CallbackList:()=>E7,Cast:()=>v3.Cast,Ceil:()=>v3.Ceil,ClipByValue:()=>v3.ClipByValue,Complex:()=>v3.Complex,ComplexAbs:()=>v3.ComplexAbs,Concat:()=>v3.Concat,Conv2D:()=>v3.Conv2D,Conv2DBackpropFilter:()=>v3.Conv2DBackpropFilter,Conv2DBackpropInput:()=>v3.Conv2DBackpropInput,Conv3D:()=>v3.Conv3D,Conv3DBackpropFilterV2:()=>v3.Conv3DBackpropFilterV2,Conv3DBackpropInputV2:()=>v3.Conv3DBackpropInputV2,Cos:()=>v3.Cos,Cosh:()=>v3.Cosh,CropAndResize:()=>v3.CropAndResize,Cumprod:()=>v3.Cumprod,Cumsum:()=>v3.Cumsum,CustomCallback:()=>A7,DataStorage:()=>v3.DataStorage,DenseBincount:()=>v3.DenseBincount,DepthToSpace:()=>v3.DepthToSpace,DepthwiseConv2dNative:()=>v3.DepthwiseConv2dNative,DepthwiseConv2dNativeBackpropFilter:()=>v3.DepthwiseConv2dNativeBackpropFilter,DepthwiseConv2dNativeBackpropInput:()=>v3.DepthwiseConv2dNativeBackpropInput,Diag:()=>v3.Diag,Dilation2D:()=>v3.Dilation2D,Dilation2DBackpropFilter:()=>v3.Dilation2DBackpropFilter,Dilation2DBackpropInput:()=>v3.Dilation2DBackpropInput,Draw:()=>v3.Draw,ENV:()=>v3.ENV,EarlyStopping:()=>qre,Einsum:()=>v3.Einsum,Elu:()=>v3.Elu,EluGrad:()=>v3.EluGrad,Environment:()=>v3.Environment,Equal:()=>v3.Equal,Erf:()=>v3.Erf,Exp:()=>v3.Exp,ExpandDims:()=>v3.ExpandDims,Expm1:()=>v3.Expm1,FFT:()=>v3.FFT,Fill:()=>v3.Fill,FlipLeftRight:()=>v3.FlipLeftRight,Floor:()=>v3.Floor,FloorDiv:()=>v3.FloorDiv,FromPixels:()=>v3.FromPixels,FusedBatchNorm:()=>v3.FusedBatchNorm,FusedConv2D:()=>v3.FusedConv2D,FusedDepthwiseConv2D:()=>v3.FusedDepthwiseConv2D,GPGPUContext:()=>Ige,GatherNd:()=>v3.GatherNd,GatherV2:()=>v3.GatherV2,GraphModel:()=>voe,Greater:()=>v3.Greater,GreaterEqual:()=>v3.GreaterEqual,History:()=>I7,IFFT:()=>v3.IFFT,Identity:()=>v3.Identity,Imag:()=>v3.Imag,InputSpec:()=>C9,IsFinite:()=>v3.IsFinite,IsInf:()=>v3.IsInf,IsNan:()=>v3.IsNan,KernelBackend:()=>v3.KernelBackend,LRN:()=>v3.LRN,LRNGrad:()=>v3.LRNGrad,LayerVariable:()=>I9,LayersModel:()=>kee,LeakyRelu:()=>v3.LeakyRelu,Less:()=>v3.Less,LessEqual:()=>v3.LessEqual,LinSpace:()=>v3.LinSpace,Log:()=>v3.Log,Log1p:()=>v3.Log1p,LogSoftmax:()=>v3.LogSoftmax,LogicalAnd:()=>v3.LogicalAnd,LogicalNot:()=>v3.LogicalNot,LogicalOr:()=>v3.LogicalOr,LogicalXor:()=>v3.LogicalXor,LowerBound:()=>v3.LowerBound,MathBackendCPU:()=>Lae,MathBackendWebGL:()=>U_e,MatrixBandPart:()=>v3.MatrixBandPart,Max:()=>v3.Max,MaxPool:()=>v3.MaxPool,MaxPool3D:()=>v3.MaxPool3D,MaxPool3DGrad:()=>v3.MaxPool3DGrad,MaxPoolGrad:()=>v3.MaxPoolGrad,MaxPoolWithArgmax:()=>v3.MaxPoolWithArgmax,Maximum:()=>v3.Maximum,Mean:()=>v3.Mean,Min:()=>v3.Min,Minimum:()=>v3.Minimum,MirrorPad:()=>v3.MirrorPad,Mod:()=>v3.Mod,MomentumOptimizer:()=>v3.MomentumOptimizer,Multinomial:()=>v3.Multinomial,Multiply:()=>v3.Multiply,Neg:()=>v3.Neg,NonMaxSuppressionV3:()=>v3.NonMaxSuppressionV3,NonMaxSuppressionV4:()=>v3.NonMaxSuppressionV4,NonMaxSuppressionV5:()=>v3.NonMaxSuppressionV5,NotEqual:()=>v3.NotEqual,OP_SCOPE_SUFFIX:()=>v3.OP_SCOPE_SUFFIX,OneHot:()=>v3.OneHot,OnesLike:()=>v3.OnesLike,Optimizer:()=>v3.Optimizer,OptimizerConstructors:()=>v3.OptimizerConstructors,Pack:()=>v3.Pack,PadV2:()=>v3.PadV2,Pool:()=>v3.Pool,Pow:()=>v3.Pow,Prelu:()=>v3.Prelu,Prod:()=>v3.Prod,RMSPropOptimizer:()=>v3.RMSPropOptimizer,RNN:()=>Vte,RaggedGather:()=>v3.RaggedGather,RaggedRange:()=>v3.RaggedRange,RaggedTensorToTensor:()=>v3.RaggedTensorToTensor,Range:()=>v3.Range,Rank:()=>v3.Rank,Real:()=>v3.Real,RealDiv:()=>v3.RealDiv,Reciprocal:()=>v3.Reciprocal,Reduction:()=>v3.Reduction,Relu:()=>v3.Relu,Relu6:()=>v3.Relu6,Reshape:()=>v3.Reshape,ResizeBilinear:()=>v3.ResizeBilinear,ResizeBilinearGrad:()=>v3.ResizeBilinearGrad,ResizeNearestNeighbor:()=>v3.ResizeNearestNeighbor,ResizeNearestNeighborGrad:()=>v3.ResizeNearestNeighborGrad,Reverse:()=>v3.Reverse,RotateWithOffset:()=>v3.RotateWithOffset,Round:()=>v3.Round,Rsqrt:()=>v3.Rsqrt,SGDOptimizer:()=>v3.SGDOptimizer,ScatterNd:()=>v3.ScatterNd,SearchSorted:()=>v3.SearchSorted,Select:()=>v3.Select,Selu:()=>v3.Selu,Sequential:()=>Fee,Sigmoid:()=>v3.Sigmoid,Sign:()=>v3.Sign,Sin:()=>v3.Sin,Sinh:()=>v3.Sinh,Slice:()=>v3.Slice,Softmax:()=>v3.Softmax,Softplus:()=>v3.Softplus,SpaceToBatchND:()=>v3.SpaceToBatchND,SparseFillEmptyRows:()=>v3.SparseFillEmptyRows,SparseReshape:()=>v3.SparseReshape,SparseSegmentMean:()=>v3.SparseSegmentMean,SparseSegmentSum:()=>v3.SparseSegmentSum,SparseToDense:()=>v3.SparseToDense,SplitV:()=>v3.SplitV,Sqrt:()=>v3.Sqrt,Square:()=>v3.Square,SquaredDifference:()=>v3.SquaredDifference,StaticRegexReplace:()=>v3.StaticRegexReplace,Step:()=>v3.Step,StridedSlice:()=>v3.StridedSlice,StringNGrams:()=>v3.StringNGrams,StringSplit:()=>v3.StringSplit,StringToHashBucketFast:()=>v3.StringToHashBucketFast,Sub:()=>v3.Sub,Sum:()=>v3.Sum,SymbolicTensor:()=>O9,Tan:()=>v3.Tan,Tanh:()=>v3.Tanh,Tensor:()=>v3.Tensor,TensorBuffer:()=>v3.TensorBuffer,TensorScatterUpdate:()=>v3.TensorScatterUpdate,Tile:()=>v3.Tile,TopK:()=>v3.TopK,Transform:()=>v3.Transform,Transpose:()=>v3.Transpose,Unique:()=>v3.Unique,Unpack:()=>v3.Unpack,UnsortedSegmentSum:()=>v3.UnsortedSegmentSum,UpperBound:()=>v3.UpperBound,Variable:()=>v3.Variable,ZerosLike:()=>v3.ZerosLike,_FusedMatMul:()=>v3._FusedMatMul,abs:()=>v3.abs,acos:()=>v3.acos,acosh:()=>v3.acosh,add:()=>v3.add,addN:()=>v3.addN,all:()=>v3.all,any:()=>v3.any,argMax:()=>v3.argMax,argMin:()=>v3.argMin,asin:()=>v3.asin,asinh:()=>v3.asinh,atan:()=>v3.atan,atan2:()=>v3.atan2,atanh:()=>v3.atanh,avgPool:()=>v3.avgPool,avgPool3d:()=>v3.avgPool3d,backend:()=>v3.backend,backend_util:()=>v3.backend_util,basicLSTMCell:()=>v3.basicLSTMCell,batchNorm:()=>v3.batchNorm,batchNorm2d:()=>v3.batchNorm2d,batchNorm3d:()=>v3.batchNorm3d,batchNorm4d:()=>v3.batchNorm4d,batchToSpaceND:()=>v3.batchToSpaceND,bincount:()=>v3.bincount,bitwiseAnd:()=>v3.bitwiseAnd,booleanMaskAsync:()=>v3.booleanMaskAsync,broadcastArgs:()=>v3.broadcastArgs,broadcastTo:()=>v3.broadcastTo,broadcast_util:()=>v3.broadcast_util,browser:()=>v3.browser,buffer:()=>v3.buffer,callbacks:()=>Kre,cast:()=>v3.cast,ceil:()=>v3.ceil,clipByValue:()=>v3.clipByValue,clone:()=>v3.clone,complex:()=>v3.complex,concat:()=>v3.concat,concat1d:()=>v3.concat1d,concat2d:()=>v3.concat2d,concat3d:()=>v3.concat3d,concat4d:()=>v3.concat4d,constraints:()=>ce,conv1d:()=>v3.conv1d,conv2d:()=>v3.conv2d,conv2dTranspose:()=>v3.conv2dTranspose,conv3d:()=>v3.conv3d,conv3dTranspose:()=>v3.conv3dTranspose,copyRegisteredKernels:()=>v3.copyRegisteredKernels,cos:()=>v3.cos,cosh:()=>v3.cosh,cosineWindow:()=>v3.cosineWindow,cumprod:()=>v3.cumprod,cumsum:()=>v3.cumsum,customGrad:()=>v3.customGrad,data:()=>Le,denseBincount:()=>v3.denseBincount,deprecationWarn:()=>v3.deprecationWarn,depthToSpace:()=>v3.depthToSpace,depthwiseConv2d:()=>v3.depthwiseConv2d,deregisterOp:()=>nse,device_util:()=>v3.device_util,diag:()=>v3.diag,dilation2d:()=>v3.dilation2d,disableDeprecationWarnings:()=>v3.disableDeprecationWarnings,dispose:()=>v3.dispose,disposeVariables:()=>v3.disposeVariables,div:()=>v3.div,divNoNan:()=>v3.divNoNan,dot:()=>v3.dot,dropout:()=>v3.dropout,einsum:()=>v3.einsum,elu:()=>v3.elu,enableDebugMode:()=>v3.enableDebugMode,enableProdMode:()=>v3.enableProdMode,enclosingPowerOfTwo:()=>v3.enclosingPowerOfTwo,engine:()=>v3.engine,ensureShape:()=>v3.ensureShape,env:()=>v3.env,equal:()=>v3.equal,erf:()=>v3.erf,euclideanNorm:()=>v3.euclideanNorm,exp:()=>v3.exp,expandDims:()=>v3.expandDims,expm1:()=>v3.expm1,eye:()=>v3.eye,fft:()=>v3.fft,fill:()=>v3.fill,findBackend:()=>v3.findBackend,findBackendFactory:()=>v3.findBackendFactory,floor:()=>v3.floor,floorDiv:()=>v3.floorDiv,forceHalfFloat:()=>z_e,fused:()=>v3.fused,gather:()=>v3.gather,gatherND:()=>v3.gatherND,gather_util:()=>v3.gather_util,getBackend:()=>v3.getBackend,getGradient:()=>v3.getGradient,getKernel:()=>v3.getKernel,getKernelsForBackend:()=>v3.getKernelsForBackend,gpgpu_util:()=>$e,grad:()=>v3.grad,grads:()=>v3.grads,greater:()=>v3.greater,greaterEqual:()=>v3.greaterEqual,ifft:()=>v3.ifft,imag:()=>v3.imag,image:()=>v3.image,inTopKAsync:()=>v3.inTopKAsync,initializers:()=>de,input:()=>Bee,io:()=>v3.io,irfft:()=>v3.irfft,isFinite:()=>v3.isFinite,isInf:()=>v3.isInf,isNaN:()=>v3.isNaN,keep:()=>v3.keep,kernel_impls:()=>v3.kernel_impls,layers:()=>he,leakyRelu:()=>v3.leakyRelu,less:()=>v3.less,lessEqual:()=>v3.lessEqual,linalg:()=>v3.linalg,linspace:()=>v3.linspace,loadGraphModel:()=>boe,loadGraphModelSync:()=>Toe,loadLayersModel:()=>Dee,localResponseNormalization:()=>v3.localResponseNormalization,log:()=>v3.log,log1p:()=>v3.log1p,logSigmoid:()=>v3.logSigmoid,logSoftmax:()=>v3.logSoftmax,logSumExp:()=>v3.logSumExp,logicalAnd:()=>v3.logicalAnd,logicalNot:()=>v3.logicalNot,logicalOr:()=>v3.logicalOr,logicalXor:()=>v3.logicalXor,losses:()=>v3.losses,lowerBound:()=>v3.lowerBound,matMul:()=>v3.matMul,math:()=>v3.math,max:()=>v3.max,maxPool:()=>v3.maxPool,maxPool3d:()=>v3.maxPool3d,maxPoolWithArgmax:()=>v3.maxPoolWithArgmax,maximum:()=>v3.maximum,mean:()=>v3.mean,memory:()=>v3.memory,meshgrid:()=>v3.meshgrid,metrics:()=>pe,min:()=>v3.min,minimum:()=>v3.minimum,mirrorPad:()=>v3.mirrorPad,mod:()=>v3.mod,model:()=>Lee,models:()=>fe,moments:()=>v3.moments,movingAverage:()=>v3.movingAverage,mul:()=>v3.mul,multiRNNCell:()=>v3.multiRNNCell,multinomial:()=>v3.multinomial,neg:()=>v3.neg,nextFrame:()=>v3.nextFrame,norm:()=>v3.norm,notEqual:()=>v3.notEqual,oneHot:()=>v3.oneHot,ones:()=>v3.ones,onesLike:()=>v3.onesLike,op:()=>v3.op,outerProduct:()=>v3.outerProduct,pad:()=>v3.pad,pad1d:()=>v3.pad1d,pad2d:()=>v3.pad2d,pad3d:()=>v3.pad3d,pad4d:()=>v3.pad4d,pool:()=>v3.pool,pow:()=>v3.pow,prelu:()=>v3.prelu,print:()=>v3.print,prod:()=>v3.prod,profile:()=>v3.profile,raggedGather:()=>v3.raggedGather,raggedRange:()=>v3.raggedRange,raggedTensorToTensor:()=>v3.raggedTensorToTensor,rand:()=>v3.rand,randomGamma:()=>v3.randomGamma,randomNormal:()=>v3.randomNormal,randomStandardNormal:()=>v3.randomStandardNormal,randomUniform:()=>v3.randomUniform,randomUniformInt:()=>v3.randomUniformInt,range:()=>v3.range,ready:()=>v3.ready,real:()=>v3.real,reciprocal:()=>v3.reciprocal,registerBackend:()=>v3.registerBackend,registerCallbackConstructor:()=>$ee,registerGradient:()=>v3.registerGradient,registerKernel:()=>v3.registerKernel,registerOp:()=>ese,regularizers:()=>me,relu:()=>v3.relu,relu6:()=>v3.relu6,removeBackend:()=>v3.removeBackend,reshape:()=>v3.reshape,reverse:()=>v3.reverse,reverse1d:()=>v3.reverse1d,reverse2d:()=>v3.reverse2d,reverse3d:()=>v3.reverse3d,reverse4d:()=>v3.reverse4d,rfft:()=>v3.rfft,round:()=>v3.round,rsqrt:()=>v3.rsqrt,scalar:()=>v3.scalar,scatterND:()=>v3.scatterND,scatter_util:()=>v3.scatter_util,searchSorted:()=>v3.searchSorted,selu:()=>v3.selu,separableConv2d:()=>v3.separableConv2d,sequential:()=>Pee,serialization:()=>v3.serialization,setBackend:()=>v3.setBackend,setPlatform:()=>v3.setPlatform,setWebGLContext:()=>yfe,setdiff1dAsync:()=>v3.setdiff1dAsync,shared:()=>Pe,sigmoid:()=>v3.sigmoid,sign:()=>v3.sign,signal:()=>v3.signal,sin:()=>v3.sin,sinh:()=>v3.sinh,slice:()=>v3.slice,slice1d:()=>v3.slice1d,slice2d:()=>v3.slice2d,slice3d:()=>v3.slice3d,slice4d:()=>v3.slice4d,slice_util:()=>v3.slice_util,softmax:()=>v3.softmax,softplus:()=>v3.softplus,spaceToBatchND:()=>v3.spaceToBatchND,sparse:()=>v3.sparse,sparseToDense:()=>v3.sparseToDense,spectral:()=>v3.spectral,split:()=>v3.split,sqrt:()=>v3.sqrt,square:()=>v3.square,squaredDifference:()=>v3.squaredDifference,squeeze:()=>v3.squeeze,stack:()=>v3.stack,step:()=>v3.step,stridedSlice:()=>v3.stridedSlice,string:()=>v3.string,sub:()=>v3.sub,sum:()=>v3.sum,sumOutType:()=>v3.sumOutType,tan:()=>v3.tan,tanh:()=>v3.tanh,tensor:()=>v3.tensor,tensor1d:()=>v3.tensor1d,tensor2d:()=>v3.tensor2d,tensor3d:()=>v3.tensor3d,tensor4d:()=>v3.tensor4d,tensor5d:()=>v3.tensor5d,tensor6d:()=>v3.tensor6d,tensorScatterUpdate:()=>v3.tensorScatterUpdate,tensor_util:()=>v3.tensor_util,test_util:()=>v3.test_util,tidy:()=>v3.tidy,tile:()=>v3.tile,time:()=>v3.time,topk:()=>v3.topk,train:()=>v3.train,transpose:()=>v3.transpose,truncatedNormal:()=>v3.truncatedNormal,unique:()=>v3.unique,unregisterGradient:()=>v3.unregisterGradient,unregisterKernel:()=>v3.unregisterKernel,unsortedSegmentSum:()=>v3.unsortedSegmentSum,unstack:()=>v3.unstack,upcastType:()=>v3.upcastType,upperBound:()=>v3.upperBound,util:()=>v3.util,valueAndGrad:()=>v3.valueAndGrad,valueAndGrads:()=>v3.valueAndGrads,variable:()=>v3.variable,variableGrads:()=>v3.variableGrads,version:()=>Lwe,version_converter:()=>xoe,version_core:()=>v3.version_core,version_cpu:()=>uce,version_layers:()=>dee,version_webgl:()=>V_e,webgl:()=>j_e,webgl_util:()=>Be,where:()=>v3.where,whereAsync:()=>v3.whereAsync,zeros:()=>v3.zeros,zerosLike:()=>v3.zerosLike});const Ve=Blockly;Object.assign(Ve.Lang.ZhHans,{PYTHON_PYODIDE_IMAGE:"图像",PYTHON_PYODIDE_TOOL:"可教机器",PYTHON_PYODIDE_GAME:"生命游戏",PYTHON_PYODIDE_GAME_EPOCH:"代数",PYTHON_PYODIDE_GAME_START:"开始",PYTHON_PYODIDE_GAME_PAUSE:"暂停",PYTHON_PYODIDE_GAME_RANDOM:"随机初始化",PYTHON_PYODIDE_GAME_RESET:"重置",PYTHON_PYODIDE_LOADING:"Python3内核载入中...",PYTHON_PYODIDE_FILE_SYSTEM:"本地文件系统",PYTHON_PYODIDE_LOAD_FILE_SYSTEM:"载入本地文件夹"}),Object.assign(Ve.Lang.ZhHant,{PYTHON_PYODIDE_IMAGE:"影像",PYTHON_PYODIDE_TOOL:"可教機器",PYTHON_PYODIDE_GAME:"生命遊戲",PYTHON_PYODIDE_GAME_EPOCH:"代數",PYTHON_PYODIDE_GAME_START:"開始",PYTHON_PYODIDE_GAME_PAUSE:"暫停",PYTHON_PYODIDE_GAME_RANDOM:"隨機初始化",PYTHON_PYODIDE_GAME_RESET:"重置",PYTHON_PYODIDE_LOADING:"Python3核心載入...",PYTHON_PYODIDE_FILE_SYSTEM:"本機檔案系統",PYTHON_PYODIDE_LOAD_FILE_SYSTEM:"載入本機資料夾"}),Object.assign(Ve.Lang.En,{PYTHON_PYODIDE_IMAGE:"Image",PYTHON_PYODIDE_TOOL:"Teachable Machine",PYTHON_PYODIDE_GAME:"Game of Life",PYTHON_PYODIDE_GAME_EPOCH:"Iterations",PYTHON_PYODIDE_GAME_START:"Start",PYTHON_PYODIDE_GAME_PAUSE:"Pause",PYTHON_PYODIDE_GAME_RANDOM:"Random Initialization",PYTHON_PYODIDE_GAME_RESET:"Reset",PYTHON_PYODIDE_LOADING:"Python3 kernel loading...",PYTHON_PYODIDE_FILE_SYSTEM:"Local File System",PYTHON_PYODIDE_LOAD_FILE_SYSTEM:"Load Local Folder"}),Object.assign(Ve.Lang.ZhHans.MSG,{}),Object.assign(Ve.Lang.ZhHant.MSG,{}),Object.assign(Ve.Lang.En.MSG,{});const ze=Mixly,je={NAME_TYPE:"VARIABLE",allVariables:function(e){var t;if(e.getDescendants)t=e.getDescendants();else{if(!e.getAllBlocks)throw"Not Block or Workspace: "+e;t=e.getAllBlocks()}for(var n=Object.create(null),i=0;i1&&(o+=i)):n=o}else n="i";return n}},Ye=je; /** * @license * Visual Blocks Editor @@ -10130,34 +10130,34 @@ function Qge(e,t,n,i){return new(n||(n=Promise))(function(r,s){function o(e){try * See the License for the specific language governing permissions and * limitations under the License. */ -class Ge{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var n=e.split(","),i=0;i0;r--)t.getInputTargetBlock("IF"+r)&&t.getInputTargetBlock("IF"+r).previousConnection?n[r]=t.getInputTargetBlock("IF"+r).previousConnection:n[r]=null,this.removeInput("IF"+r),t.getInputTargetBlock("DO"+r)&&t.getInputTargetBlock("DO"+r).previousConnection?i[r]=t.getInputTargetBlock("DO"+r).previousConnection:i[r]=null,this.removeInput("DO"+r);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(r=1;r<=this.elseifCount_;r++)this.appendValueInput("IF"+r).setCheck([Boolean,Number]).appendField(Ve.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+r).appendField(Ve.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ve.Msg.CONTROLS_IF_MSG_ELSE);for(r=n.length-2;r>0;r--)n[r]&&n[r].reconnect(this,"IF"+r);for(r=i.length-2;r>0;r--)i[r]&&i[r].reconnect(this,"DO"+r)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var n=t.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var r=e.newBlock("controls_if_elseif");r.initSvg(),n.connect(r.previousConnection),n=r.nextConnection}if(this.elseCount_){var s=e.newBlock("controls_if_else");s.initSvg(),n.connect(s.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var n=e.getInputTargetBlock("STACK"),i=[null],r=[null],s=null;n;){switch(n.type){case"controls_if_elseif":this.elseifCount_++,i.push(n.valueConnection_),r.push(n.statementConnection_);break;case"controls_if_else":this.elseCount_++,s=n.statementConnection_;break;default:throw Error("Unknown block type: "+n.type)}n=n.nextConnection&&n.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,r,s)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),n=1;t;){switch(t.type){case"controls_if_elseif":var i=this.getInput("IF"+n),r=this.getInput("DO"+n);t.valueConnection_=i&&i.connection.targetConnection,t.statementConnection_=r&&r.connection.targetConnection,n++;break;case"controls_if_else":r=this.getInput("ELSE");t.statementConnection_=r&&r.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],n=null;this.getInput("ELSE")&&(n=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var r=this.getInput("IF"+i),s=this.getInput("DO"+i);console.log(r.connection.targetConnection),e.push(r.connection.targetConnection),t.push(s.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(e,t,n)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Ve.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(Ve.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ve.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,n){for(var i=1;i<=this.elseifCount_;i++)e[i]&&e[i].reconnect(this,"IF"+i),t[i]&&t[i].reconnect(this,"DO"+i);n&&n.reconnect(this,"ELSE")}},ct={init:function(){this.setColour(rt),this.appendValueInput("FROM").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.PYTHON_RANGE).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},dt={init:function(){this.setColour(rt),this.appendValueInput("LIST").setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Ve.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(function(){return Ve.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ht={init:function(){this.setColour(rt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Ve.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Ve.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Ve.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Ve.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE");return{WHILE:Ve.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Ve.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]})}},pt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Ve.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ve.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Ve.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,n=[],i=[];this.elseCount_&&this.removeInput("ELSE");for(var r=this.elseifCount_;r>0;r--)t.getInputTargetBlock("IF"+r)&&t.getInputTargetBlock("IF"+r).previousConnection?n[r]=t.getInputTargetBlock("IF"+r).previousConnection:n[r]=null,this.removeInput("IF"+r),t.getInputTargetBlock("DO"+r)&&t.getInputTargetBlock("DO"+r).previousConnection?i[r]=t.getInputTargetBlock("DO"+r).previousConnection:i[r]=null,this.removeInput("DO"+r);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(r=1;r<=this.elseifCount_;r++)this.appendValueInput("IF"+r).setCheck([Boolean,Number]).appendField(Ve.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+r).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ve.Msg.MIXLY_PYTHON_FINALLY);for(r=n.length-2;r>0;r--)n[r]&&n[r].reconnect(this,"IF"+r);for(r=i.length-2;r>0;r--)i[r]&&i[r].reconnect(this,"DO"+r)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var n=t.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var r=e.newBlock("controls_except");r.initSvg(),n.connect(r.previousConnection),n=r.nextConnection}if(this.elseCount_){var s=e.newBlock("controls_finally");s.initSvg(),n.connect(s.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var n=e.getInputTargetBlock("STACK"),i=[null],r=[null],s=null;n;){switch(n.type){case"controls_except":this.elseifCount_++,i.push(n.valueConnection_),r.push(n.statementConnection_);break;case"controls_finally":this.elseCount_++,s=n.statementConnection_;break;default:throw Error("Unknown block type: "+n.type)}n=n.nextConnection&&n.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,r,s)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),n=1;t;){switch(t.type){case"controls_except":var i=this.getInput("IF"+n),r=this.getInput("DO"+n);t.valueConnection_=i&&i.connection.targetConnection,t.statementConnection_=r&&r.connection.targetConnection,n++;break;case"controls_finally":r=this.getInput("ELSE");t.statementConnection_=r&&r.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],n=null;this.getInput("ELSE")&&(n=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var r=this.getInput("IF"+i),s=this.getInput("DO"+i);console.log(r.connection.targetConnection),e.push(r.connection.targetConnection),t.push(s.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(e,t,n)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Ve.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ve.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,n){for(var i=1;i<=this.elseifCount_;i++)e[i]&&e[i].reconnect(this,"IF"+i),t[i]&&t[i].reconnect(this,"DO"+i);n&&n.reconnect(this,"ELSE")}},ft={init:function(){this.setColour(rt);var e=new Ve.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(Ve.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip(function(){var e=t.getFieldValue("FLOW");return{BREAK:Ve.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Ve.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]})},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(Ve.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},mt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Ve.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip(function(){return Ve.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},gt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Ve.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip(function(){return Ve.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};ht.OPERATORS=[[Ve.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Ve.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],ft.OPERATORS=[[Ve.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Ve.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const _t={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Ve.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},yt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},vt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Ve.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},bt={init:function(){this.setColour(rt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Tt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Ve.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},xt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Ve.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Et={init:function(){this.jsonInit({message0:Ve.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:rt,tooltip:Ve.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Ve.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},wt={init:function(){this.setColour(rt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_STAT),this.setOutput(!0)}},It={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},At={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},St={init:function(){this.appendDummyInput().appendField(Ve.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Ve.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Ve.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Ve.FieldDropdown([[Ve.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Ve.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(rt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Ct={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ot={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Mt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},kt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET+Ve.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.PROCEDURES_DEFRETURN_RETURN+Ve.Msg.MIXLY_GET_UNIQUE_IDEN)}},Rt={init:function(){this.setColour(rt),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Ve.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Nt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Dt=230;Ve.FieldTextInput.math_number_validator=function(e){return String(e)},Ve.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const Ft={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(new Ve.FieldTextInput("0",Ve.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MATH_NUMBER_TOOLTIP)}},Lt={init:function(){this.setColour(Dt);this.appendDummyInput("").appendField(Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Ve.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip(function(){var t=e.getFieldValue("CONSTANT");return{pi:Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]})}},Pt={init:function(){this.setColour(Dt);this.appendDummyInput("").appendField(Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Ve.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip(function(){var t=e.getFieldValue("CONSTANT");return{pi:Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]})}},Bt={init:function(){this.setColour(Dt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("OP");return{ADD:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Ve.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]})}},$t={init:function(){this.setColour(Dt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("OP");return{ADD:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Ve.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]})}},Ut={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Ve.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Vt={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Ve.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip(function(){var t=e.getFieldValue("OP");return{SIN:Ve.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Ve.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Ve.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Ve.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Ve.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Ve.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Ve.Msg.MATH_SINGLE_TOOLTIP_LN}[t]})}},zt={init:function(){var e=[[Ve.Msg.MATH_BIN,"bin"],[Ve.Msg.MATH_OCT,"oct"],[Ve.Msg.MATH_HEX,"hex"]];this.setColour(Dt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Ve.FieldDropdown(e),"OP");var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{bin:Ve.Msg.MATH_DEC_TOOLTIP_BIN,oct:Ve.Msg.MATH_DEC_TOOLTIP_OCT,hex:Ve.Msg.MATH_DEC_TOOLTIP_HEX}[e]})}},jt={init:function(){var e=[[Ve.Msg.LANG_MATH_TO_ROUND,"round"],[Ve.Msg.LANG_MATH_TO_CEIL,"ceil"],[Ve.Msg.LANG_MATH_TO_FLOOR,"floor"],[Ve.Msg.MATH_ABS,"fabs"],[Ve.Msg.MATH_SQRT,"sqrt"]];this.setColour(Dt),this.appendValueInput("A").setCheck(Number).appendField(new Ve.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{sqrt:Ve.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Ve.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Ve.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Ve.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Ve.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Ve.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]})}},Yt={init:function(){var e=[[Ve.Msg.MIXLY_MAX,"max"],[Ve.Msg.MIXLY_MIN,"min"]];this.setColour(Dt),this.appendValueInput("A").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(new Ve.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Ve.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{max:Ve.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Ve.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]})}},Gt={init:function(){var e=[[Ve.Msg.MATH_TWO,"two"],[Ve.Msg.MATH_EIGHT,"eight"],[Ve.Msg.MATH_TEN,"ten"],[Ve.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Dt),this.appendDummyInput("").appendField(Ve.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Ve.FieldDropdown(e),"OP").appendField(Ve.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Ve.Msg.MATH_ZHW).appendField(new Ve.FieldDropdown(e),"OP2").appendField(Ve.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP"),n={two:Ve.Msg.MATH_Before_two,eight:Ve.Msg.MATH_Before_eight,ten:Ve.Msg.MATH_Before_ten,sixteen:Ve.Msg.MATH_Before_sixteen},i=t.getFieldValue("OP2"),r={two:Ve.Msg.MATH_Behind_two,eight:Ve.Msg.MATH_Behind_eight,ten:Ve.Msg.MATH_Behind_ten,sixteen:Ve.Msg.MATH_Behind_sixteen};return n[e]+r[i]})}},Ht={init:function(){var e=[[Ve.Msg.LANG_MATH_INT,"int"],[Ve.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Dt),this.setOutput(!0,Number),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Ve.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("TYPE"),n={int:Ve.Msg.LANG_MATH_INT,float:Ve.Msg.LANG_MATH_FLOAT_RANDOM};return Ve.Msg.MATH_RANDOM_INT_TOOLTIP+n[e]})}},Wt={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Ve.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Ve.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Ve.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MATH_CONSTRAIN_TOOLTIP)}},Xt={init:function(){this.setColour(Dt),this.appendValueInput("NUM",Number).appendField(Ve.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Ve.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Ve.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_MATH_MAP)}},qt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(new Ve.FieldTextInput("0",Ve.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Ve.Msg.MATH_NUMBER_TOOLTIP)}},Kt={init:function(){this.setColour(Dt),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Zt={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Ve.Msg.MATH_ROUND).appendField(Ve.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Ve.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MATH_ROUND_NEW_TOOLTIP)}},Qt={init:function(){var e=[[Ve.Msg.MIXLY_TO_INT,"int"],[Ve.Msg.MIXLY_TO_FLOAT,"float"],[Ve.Msg.MIXLY_TO_BITES,"b"],[Ve.Msg.LANG_MATH_BYTE+Ve.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Dt),this.appendValueInput("VAR").appendField(new Ve.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip(function(){var e=t.getFieldValue("TOWHAT");return{int:Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Ve.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]})}},Jt={init:function(){var e=[[Ve.Msg.MIXLY_TO_INT,"int"],[Ve.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Dt),this.appendValueInput("VAR").appendField(new Ve.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip(function(){var e=t.getFieldValue("TOWHAT");return{int:Ve.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Ve.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]})}},en=Xt,tn={init:function(){this.setColour(Dt),this.appendValueInput("VAR").appendField(Ve.Msg.LANG_MATH_BYTE+Ve.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},nn={init:function(){this.setColour(Dt),this.itemCount_=1,this.setMutator(new Ve.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Ve.Msg.MIXLY_PRODUCT+Ve.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Ve.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Ve.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Ve.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;i1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const cn={init:function(){this.setColour(on),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Ve.FieldTextInput("",Ve.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new Ve.FieldImage(t,7,12,'"')}},dn={init:function(){this.setColour(on),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Ve.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},hn={init:function(){this.setColour(on),this.appendValueInput("VAR").setCheck(Number).appendField(Ve.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},pn={init:function(){this.setColour(on),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},fn={init:function(){this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},mn={init:function(){this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},gn={init:function(){this.WHERE_OPTIONS=[[Ve.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Ve.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Ve.Msg.TEXT_GET_INDEX_RANDOM+1+Ve.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Ve.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Ve.Msg.LISTS_GET_INDEX_GET,"MODE"),Ve.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Ve.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=e.getFieldValue("WHERE"),i="";switch(t+" "+n){case"GET FROM_START":case"GET FROM_END":i=Ve.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":i=Ve.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":i=Ve.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":i=Ve.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=n&&"FROM_END"!=n||(i+=" "+Ve.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Ve.Msg.ONE_BASED_INDEXING?"#1":"#0")),i});var t=this;this.setTooltip(function(){var e=t.getFieldValue("WHERE"),n={FROM_START:Ve.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Ve.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Ve.Msg.TEXT_GET_INDEX_RANDOM};return Ve.Msg.PROCEDURES_DEFRETURN_RETURN+Ve.Msg.MIXLY_MICROBIT_TYPE_STRING+n[e]+"n"+Ve.Msg.TEXT_CHARAT2})},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==Ve.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),Ve.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Ve.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new Ve.FieldDropdown(this.WHERE_OPTIONS,function(t){var n="FROM_START"==t||"FROM_END"==t;if(n!=e){var i=this.sourceBlock_;return i.updateAt_(n),i.setFieldValue(t,"WHERE"),null}});this.getInput("AT").appendField(t,"WHERE"),Ve.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},_n={init:function(){this.setHelpUrl(Ve.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Ve.Msg.LISTS_GET_INDEX_GET+" "+Ve.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Ve.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Ve.Msg.PROCEDURES_DEFRETURN_RETURN+Ve.Msg.MIXLY_MICROBIT_TYPE_STRING+Ve.Msg.LISTS_GET_INDEX_FROM_START+"n"+Ve.Msg.TEXT_CHARAT2)}},yn={init:function(){this.setHelpUrl(Ve.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Ve.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Ve.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},vn={init:function(){this.WHERE_OPTIONS_1=[[Ve.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Ve.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Ve.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Ve.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Ve.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Ve.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Ve.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Ve.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==Ve.INPUT_VALUE;e.setAttribute("at1",t);var n=this.getInput("AT2").type==Ve.INPUT_VALUE;return e.setAttribute("at2",n),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),n="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,n)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),Ve.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(Ve.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var n=new Ve.FieldDropdown(this["WHERE_OPTIONS_"+e],function(n){var i="FROM_START"==n||"FROM_END"==n;if(i!=t){var r=this.sourceBlock_;return r.updateAt_(e,i),r.setFieldValue(n,"WHERE"+e),null}});this.getInput("AT"+e).appendField(n,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},bn={init:function(){this.setHelpUrl(Ve.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Ve.Msg.LISTS_GET_INDEX_GET+" "+Ve.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Ve.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Ve.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Ve.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Tn={init:function(){var e=[[Ve.Msg.MIXLY_EQUALS,"==="],[Ve.Msg.MIXLY_STARTSWITH,"startswith"],[Ve.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(on),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Ve.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},xn={init:function(){this.setColour(on),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Ve.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_COMPARETO_HELP)}},En={init:function(){var e=[[Ve.Msg.TEXT_UPPER,"upper"],[Ve.Msg.TEXT_TITLE,"title"],[Ve.Msg.TEXT_CAPITALIZE,"capitalize"],[Ve.Msg.TEXT_SWAPCASE,"swapcase"],[Ve.Msg.TEXT_LOWER,"lower"]];this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Ve.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip(function(){var e=t.getFieldValue("CAPITAL");return{upper:Ve.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Ve.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Ve.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Ve.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Ve.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]})}},wn={init:function(){var e=[[Ve.Msg.TEXT_LJUST,"ljust"],[Ve.Msg.TEXT_CENTER,"center"],[Ve.Msg.TEXT_RJUST,"rjust"]];this.setColour(on),this.appendValueInput("VAR").appendField(new Ve.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Ve.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Ve.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},In={init:function(){this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Ve.Msg.MIXLY_MID+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Ve.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},An={init:function(){this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Ve.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Sn={init:function(){this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Ve.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Ve.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Cn={init:function(){this.setColour(on),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Ve.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Ve.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},On={init:function(){var e=[[Ve.Msg.TEXT_TRIM_BOTH,"strip"],[Ve.Msg.TEXT_TRIM_LEFT,"lstrip"],[Ve.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(on),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Ve.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(Ve.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("TOWHAT");return{strip:Ve.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Ve.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Ve.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]})}},Mn={init:function(){this.setColour(on),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Ve.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Ve.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;it?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ai={init:function(){this.setColour(wi),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Si={init:function(){this.setColour(wi),this.appendDummyInput().appendField(Ve.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Ci={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_KEYS),this.setTooltip(Ve.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Oi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Ve.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Ve.Msg.DICTS_GET_TOOLTIP)}},Mi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Ve.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Ve.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Ve.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},ki={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Ve.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Ri={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Ve.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_DELETE_TOOLTIP)}},Ni={init:function(){this.setColour(wi),this.appendValueInput("DICT2").setCheck("Dict").appendField(Ve.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Ve.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MID),this.setTooltip(Ve.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Di={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_CLEAR),this.setTooltip(Ve.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_ITEMS),this.setTooltip(Ve.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Li={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_VALUES),this.setTooltip(Ve.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Pi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_LENGTH),this.setTooltip(Ve.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Bi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_DELDICT),this.setTooltip(Ve.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$i={init:function(){this.MODE=[[Ve.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Ve.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Ve.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Ve.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip(function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=Ve.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=Ve.Msg.DICTS_DELETE_TOOLTIP}return t})},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==Ve.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new Ve.FieldDropdown(this.MODE,function(t){var n="INSERT"==t;if(n!=e){var i=this.sourceBlock_;return i.updateAt_(n),i.setFieldValue(t,"WHERE"),null}});this.getInput("AT2").appendField(t,"WHERE")}},Ui={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Ve.Msg.DICTS_ADD_VALUE),this.setTooltip(Ve.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Vi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Ve.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_SETDEFAULT_TOOLTIP)}},zi={init:function(){this.setColour(wi),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Ve.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;it?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ji={init:function(){this.setColour(wi),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Yi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TO_JSON),this.setTooltip(Ve.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Gi={init:function(){this.setColour(wi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Ve.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Hi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Wi={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TO_JSON),this.setTooltip(Ve.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Xi=210,qi={init:function(){var e=Ve.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{EQ:Ve.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Ve.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Ve.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Ve.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Ve.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Ve.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]}),this.prevBlocks_=[null,null]}},Ki={init:function(){var e=Ve.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=Ve.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new Ve.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Zi={init:function(){var e=[[Ve.Msg.LOGIC_OPERATION_AND,"AND"],[Ve.Msg.LOGIC_OPERATION_OR,"OR"],[Ve.Msg.LOGIC_OPERATION_NOR,"NOR"],[Ve.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Ve.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{AND:Ve.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Ve.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Ve.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Ve.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]})}},Qi={init:function(){this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Ve.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Ve.Msg.LOGIC_NEGATE_TOOLTIP)}},Ji={init:function(){var e=[[Ve.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Ve.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Ve.FieldDropdown(e),"BOOL"),this.setTooltip(Ve.Msg.LOGIC_BOOLEAN_TOOLTIP)}},er={init:function(){this.setColour(Xi),this.setOutput(!0),this.appendDummyInput().appendField(Ve.Msg.LOGIC_NULL),this.setTooltip(Ve.Msg.LOGIC_NULL_TOOLTIP)}},tr={init:function(){this.setColour(Xi),this.appendValueInput("A"),this.appendValueInput("B").appendField(Ve.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Ve.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},nr={init:function(){var e=[[Ve.Msg.TEXT_APPEND_TO,"in"],[Ve.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Xi),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Ve.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(Ve.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ve.Msg.IN)}},ir={init:function(){var e=[[Ve.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Ve.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Xi),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},rr={init:function(){this.setColour(Xi),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},sr={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Ve.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},or={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Ve.Msg.MIXLY_ADD,"a"],[Ve.Msg.MATH_BIN+Ve.Msg.MIXLY_ADD,"ab"],[Ve.Msg.MIXLY_R_W,"r+"],[Ve.Msg.MATH_BIN+Ve.Msg.MIXLY_R_W,"rb+"],[Ve.Msg.MIXLY_W_R,"w+"],[Ve.Msg.MATH_BIN+Ve.Msg.MIXLY_W_R,"wb+"],[Ve.Msg.MIXLY_A_R,"a+"],[Ve.Msg.MATH_BIN+Ve.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_USE,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,r=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,s=Ve.Msg.MIXLY_BELONG;return n+{r:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+s+i+r})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ar={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_USE,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,r=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,s=Ve.Msg.MIXLY_BELONG,o=Ve.Msg.PY_STORAGE_FILE_OBJECT;return n+{r:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+s+i+r+o})}},lr={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Ve.Msg.MIXPY_TEXT_ENCODE).appendField(new Ve.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_USE,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,r=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,s=Ve.Msg.MIXLY_BELONG,o=Ve.Msg.PY_STORAGE_FILE_OBJECT;return n+{r:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+s+i+r+o})}},ur={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Ve.Msg.MIXLY_MICROBIT_TYPE_STRING+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},cr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},dr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return n+{read:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+i})}},hr={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MICROBIT_PYTHON_TYPE)}},pr={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ve.Msg.HTML_FILE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},fr={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},mr={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},gr={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const _r={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},yr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},vr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},br={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,r=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return n+" "+{start:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+r+"x"+i})}},Tr={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},xr={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Ve.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE");return Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Ve.Msg.MIXLY_ESP32_SET+{mkdir:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]})}},Er={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Ve.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},wr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Ir={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.HTML_FILE,"isfile"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE");return Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]})}},Ar={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Ve.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_SETUP+Ve.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Ve.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Sr={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Ve.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Cr={init:function(){var e=Ve.Procedures.findLegalName("",this),t=new Ve.FieldTextInput(e,Ve.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new Ve.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Ve.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Ve.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Ve.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Ve.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(Ve.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=Ve.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Ve.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{Ve.Events.enable()}},mutationToDom:function(e){var t=Ve.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var n=0;n"),this.appendValueInput("style").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Es={init:function(){this.setColour(_s),this.appendDummyInput().appendField(Ve.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},ws={init:function(){this.setColour(_s),this.appendDummyInput().appendField(Ve.Msg.HTML_FORM_CONTENT).appendField(new Ve.FieldDropdown([[Ve.Msg.HTML_TEXT,"text"],[Ve.Msg.HTML_EMAIL,"email"],[Ve.Msg.HTML_NUMBER,"number"],[Ve.Msg.HTML_PASSWORD,"password"],[Ve.Msg.HTML_CHECKBOX,"checkbox"],[Ve.Msg.HTML_RADIOBUTTON,"radiobutton"],[Ve.Msg.HTML_BUTTON,"button"],[Ve.Msg.HTML_COLOUR,"colour"],[Ve.Msg.HTML_DATE,"date"],[Ve.Msg.HTML_LOCALTIME,"local time"],[Ve.Msg.HTML_FILE,"file"],[Ve.Msg.HTML_HIDDEN,"hidden"],[Ve.Msg.HTML_IMAGE,"image"],[Ve.Msg.HTML_MONTH,"month"],[Ve.Msg.HTML_RANGE,"range"],[Ve.Msg.HTML_RESET,"reset"],[Ve.Msg.HTML_SEARCH,"search"],[Ve.Msg.HTML_SUBMIT,"submit"],[Ve.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Ve.Msg.HTML_TIME,"time"],[Ve.Msg.HTML_URL,"url"],[Ve.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Ve.Msg.HTML_NAME).appendField(new Ve.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Ve.Msg.HTML_VALUE).appendField(new Ve.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Is={init:function(){this.setColour(_s),this.appendDummyInput().appendField(new Ve.FieldTextInput("property"),"KEY").appendField(":").appendField(new Ve.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},As={init:function(){this.setColour(_s),this.appendDummyInput().appendField(new Ve.FieldTextInput("property"),"KEY").appendField(":").appendField(new Ve.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ss={init:function(){this.setColour(_s),this.appendDummyInput().appendField(Ve.Msg.HTML_TEXT).appendField(new Ve.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cs=160,Os={init:function(){this.setColour(Cs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Ve.FieldTable(""),"TEXT")}},Ms={init:function(){this.setColour(Cs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Ve.FieldMultilineInput(""),"TEXT")}},ks={init:function(){this.setColour(Cs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Ve.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Rs={init:function(){this.setColour(Cs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Ns={init:function(){this.setColour(Cs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Ve.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Ds={init:function(){this.setColour(Cs),this.appendValueInput("VALUE").appendField(Ve.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Fs={init:function(){this.setColour(Cs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ve.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Ve.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=Ve.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;i= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,n){return"("+e+" <= "+t+") and "+l()+"("+e+", "+t+", "+n+") or "+u()+"("+e+", "+t+", "+n+")"},Ve.isNumber(i)&&Ve.isNumber(r)&&Ve.isNumber(s))i=parseFloat(i),r=parseFloat(r),s=Math.abs(parseFloat(s)),0==i%1&&0==r%1&&0==s%1?(i<=r?(r++,e=0==i&&1==s?r:i+", "+r,1!=s&&(e+=", "+s)):e=i+", "+--r+", -"+s,e="range("+e+")"):(e=i",GTE:">="};const kl=function(e,t){var n=this.getFieldValue("OP"),i="&&"==n?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,r=t.valueToCode(this,"A",i)||"False",s=t.valueToCode(this,"B",i)||"False";if("AND"==n)var o=r+" and "+s;else if("OR"==n)o=r+" or "+s;else if("NOR"==n)o="not("+r+"^"+s+")";else o=r+"^"+s;return[o,i]},Rl=function(e,t){var n=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",n)||"False"),n]},Nl=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Dl=function(e,t){return["None",t.ORDER_ATOMIC]},Fl=function(e,t){var n=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+n+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},Ll=function(e,t){var n=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",i=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[n+" "+this.getFieldValue("BOOL")+" "+i,t.ORDER_ATOMIC]},Pl=function(e,t){var n=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",i=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[n+" "+this.getFieldValue("BOOL")+" "+i,t.ORDER_ATOMIC]},Bl=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},$l=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},Ul=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Vl=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},zl=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},jl=function(e,t){var n=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+n+")\n"},Yl=function(e,t){var n=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+n+"()",t.ORDER_ATOMIC]},Gl=function(e,t){var n=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+n+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Hl=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Wl=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},Xl=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},ql=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Kl=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Zl=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},Ql=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Jl=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},eu=function(e,t){var n=this.getFieldValue("MODE"),i=0;return i="start"==n?0:"current"==n?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+i+")\n"},tu=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},nu=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},iu=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},ru=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},su=function(e,t){t.definitions_.import_os="import os";var n=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+n+")",t.ORDER_ATOMIC]},ou=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},au=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},lu=function(e,t){var n=t.variableDB_.getName(this.getFieldValue("NAME"),Ve.Procedures.NAME_TYPE),i=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(i=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+i);var r=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";r&&(r=" return "+r+"\n");for(var s=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Yu=function(e,t){var n=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"\n"+n+"\n"},Gu=function(e,t){var n=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");if("head"==i)var r="<"+i+'>\n\t\n'+n+"\n";else r="<"+i+">\n"+n+"\n";return r},Hu=function(e,t){var n=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"<"+i+">\n"+n+"\n"},Wu=function(e,t){var n=t.statementToCode(this,"DO"),i=t.valueToCode(this,"style"),r=this.getFieldValue("LEVEL");return"<"+r+" "+i+" >\n"+n+"\n"},Xu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},qu=function(e,t){return'"},Ku=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Zu=function(){return this.getFieldValue("TEXT")+"\n"},Qu=function(e){return e.getFieldValue("TEXT")+"\n"},Ju=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},ec=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},tc=function(){return""},nc=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},ic=function(e,t){for(var n=e.getFieldValue("NAME"),i=e.hasReturn_,r=new Array(e.itemCount_),s=0;s0?t.join("\n")+n.join("\n")+i.join("\n")+o.join("\n")+a.join("")+e+"while True:\n"+l.join("")+u.join("\n"):t.join("\n")+n.join("\n")+i.join("\n")+o.join("\n")+a.join("")+e+u.join("\n")},ac.scrubNakedValue=function(e){return e+"\n"},ac.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},ac.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},ac.scrub_=function(e,t,n){var i="";if(!e.outputConnection||!e.outputConnection.targetConnection){(s=e.getCommentText())&&(s=Ve.utils.string.wrap(s,ac.COMMENT_WRAP-3),i+=ac.prefixLines(s+"\n","# "));for(var r=0;r0?"int("+a+" + "+r+")":r<0?"int("+a+" - "+-r+")":"int("+a+")",i&&(a="-"+a)),a};const lc=205,uc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_CHOOSE_AND_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_CHOOSE_AND_GET_ONE_FILE_NAME,"getOneFile"],[Ve.Msg.MIXLY_CHOOSE_AND_GET_MANY_FILE_NAMES,"getManyFiles"],[Ve.Msg.MIXLY_CHOOSE_AND_GET_DIR,"getDirectory"]]),"TYPE"),this.setInputsInline(!0),this.setOutput(!0)}},cc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_SETUP).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipImageClassify,"AipImageClassify"],[Ve.Msg.MIXLY_AipSpeech,"AipSpeech"],[Ve.Msg.MIXLY_AipImageCensor,"AipImageCensor"],[Ve.Msg.MIXLY_AipFace,"AipFace"],[Ve.Msg.MIXLY_AipOcr,"AipOcr"],[Ve.Msg.MIXLY_AipNlp,"AipNlp"]]),"CTYPE"),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(Ve.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipSpeech_synthesis).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(Ve.Msg.OLED_STRING).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipSpeech_synthesis_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},hc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipSpeech_asr).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_AipSpeech_File).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipSpeech_ASR_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},pc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipImageClassify).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(Ve.Msg.MIXLY_AIP_FUNC).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ADDR").appendField(Ve.Msg.MIXLY_AipImageClassify_Image).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipImageClassify_advancedGeneral_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},fc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipImageClassify_advancedGeneral,"advancedGeneral"],[Ve.Msg.MIXLY_AipImageClassify_dishDetect,"dishDetect"],[Ve.Msg.MIXLY_AipImageClassify_carDetect,"carDetect"],[Ve.Msg.MIXLY_AipImageClassify_animalDetect,"animalDetect"],[Ve.Msg.MIXLY_AipImageClassify_plantDetect,"plantDetect"],[Ve.Msg.MIXLY_AipImageClassify_logoSearch,"logoSearch"]]),"TYPE"),this.setOutput(!0)}},mc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipFace_match).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_AipImageClassify_Image+"1"+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Ve.Msg.MIXLY_AipImageClassify_Image+"2"+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipFace_match_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},gc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipOcr).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(Ve.Msg.MIXLY_AIP_FUNC).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ADDR").appendField(Ve.Msg.MIXLY_AipImageClassify_Image).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipOcr_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},_c={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipOcr_basicGeneral,"basicGeneral"],[Ve.Msg.MIXLY_AipOcr_webImage,"webImage"],[Ve.Msg.MIXLY_AipOcr_idcard,"idcard"],[Ve.Msg.MIXLY_AipOcr_bankcard,"bankcard"],[Ve.Msg.MIXLY_AipOcr_drivingLicense,"drivingLicense"],[Ve.Msg.MIXLY_AipOcr_vehicleLicense,"vehicleLicense"],[Ve.Msg.MIXLY_AipOcr_licensePlate,"licensePlate"],[Ve.Msg.MIXLY_AipOcr_businessLicense,"businessLicense"],[Ve.Msg.MIXLY_AipOcr_receipt,"receipt"],[Ve.Msg.MIXLY_AipOcr_trainTicket,"trainTicket"],[Ve.Msg.MIXLY_AipOcr_taxiReceipt,"taxiReceipt"],[Ve.Msg.MIXLY_AipOcr_form,"tableRecognition"],[Ve.Msg.MIXLY_AipOcr_vatInvoice,"vatInvoice"],[Ve.Msg.MIXLY_AipOcr_passport,"passport"],[Ve.Msg.MIXLY_AipOcr_handwriting,"handwriting"]]),"TYPE"),this.setOutput(!0)}},yc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipNlp).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(Ve.Msg.MIXLY_AIP_FUNC).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(Ve.Msg.OLED_STRING).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipNlp_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},vc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipNlp_Sim).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(Ve.Msg.MIXLY_AIP_FUNC).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR1").appendField(Ve.Msg.OLED_STRING+"1").setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR2").appendField(Ve.Msg.OLED_STRING+"2").setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipNlp_Sim_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},bc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipNlp_lexer,"lexer"],[Ve.Msg.MIXLY_AipNlp_depParser,"depParser"],[Ve.Msg.MIXLY_AipNlp_wordEmbedding,"wordEmbedding"],[Ve.Msg.MIXLY_AipNlp_dnnlm,"dnnlm"],[Ve.Msg.MIXLY_AipNlp_commentTag,"commentTag"],[Ve.Msg.MIXLY_AipNlp_sentimentClassify,"sentimentClassify"],[Ve.Msg.MIXLY_AipNlp_keyword,"keyword"],[Ve.Msg.MIXLY_AipNlp_topic,"topic"],[Ve.Msg.MIXLY_AipNlp_ecnet,"ecnet"],[Ve.Msg.MIXLY_AipNlp_emotion,"emotion"]]),"TYPE"),this.setOutput(!0)}},Tc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipNlp_wordSimEmbedding,"wordSimEmbedding"],[Ve.Msg.MIXLY_AipNlp_simnet,"simnet"]]),"TYPE"),this.setOutput(!0)}},xc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipNlp_topic).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR1").appendField(Ve.Msg.MIXLY_AipNlp_Topic_Title).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR2").appendField(Ve.Msg.MIXLY_AipNlp_Topic_Content).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipNlp_Topic_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},Ec={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipNlp_summary).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(Ve.Msg.MIXLY_AipNlp_Topic_Content).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("LEN").appendField(Ve.Msg.MIXLY_LIST_LEN).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipNlp_Summary_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},wc={init:function(){this.setColour(lc),this.appendValueInput("VAR").appendField(Ve.Msg.MIXPY_AI_AUDIO),this.appendValueInput("TIME").appendField(Ve.Msg.MIXPY_AI_AUDIO_TIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXPY_AI_AUDIO_TOOLTIP)}},Ic={init:function(){this.setColour(lc),this.appendValueInput("VAR").appendField(Ve.Msg.MIXPY_AI_PHOTO),this.appendValueInput("BUT").appendField(Ve.Msg.MIXPY_AI_PHOTO_BUTTON),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXPY_AI_PHOTO_TOOLTIP)}},Ac={init:function(){this.setColour(lc),this.appendValueInput("AI").appendField(Ve.Msg.MIXPY_AI_RESULT).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipImageClassify,"Image"],[Ve.Msg.MIXLY_AipSpeech_asr,"Speech"],[Ve.Msg.MIXLY_AipFace_match,"Face"],[Ve.Msg.MIXLY_AipOcr,"Ocr"],[Ve.Msg.MIXLY_AipNlp_simnet,"OcrSimilarity"],[Ve.Msg.MIXLY_AipNlp_sentimentClassify,"Emotion"]]),"CTYPE"),this.setOutput(!0),this.setTooltip(Ve.Msg.LOGIC_NEGATE_TOOLTIP)}},Sc="#526FC3",Cc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Oc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_ADD_SCHOOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Mc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_FIND_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},kc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NEW_PATH),this.setOutput(!0)}},Rc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_SET_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Nc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_ADD_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Dc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DEL_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Fc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_RETURN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Lc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NO_LEFT),this.setOutput(!0)}},Pc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Bc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$c={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_CURRENT_SCHOOL),this.setOutput(!0)}},Uc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NO_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Vc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE_2_1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},zc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE_2_2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},jc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_MOVE_RECENT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Yc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NOT_HOME),this.setOutput(!0)}},Gc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NOT_SCHOOL),this.setOutput(!0)}},Hc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_PATH2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Wc={init:function(){this.appendDummyInput().appendField("准备").appendField(new Ve.FieldNumber(3,0,100,1),"NUM").appendField("层汉诺塔"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Xc={init:function(){this.appendDummyInput().appendField("移动圆盘从"),this.appendValueInput("FROM_NUM").setCheck(null).appendField("柱"),this.appendDummyInput().appendField("到"),this.appendValueInput("TO_NUM").setCheck(null).appendField("柱"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},qc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_ALL_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Kc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_ALL_BOOKS2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Zc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_FIRST_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Qc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NO_RING),this.setOutput(!0)}},Jc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_YES_RING),this.setOutput(!0)}},ed={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NEXT_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},td={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_TWO_LEFT),this.setOutput(!0)}},nd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DIVIDE_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},id={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_GET_HALF_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},rd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},sd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},od={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOKS2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ad={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ld={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("设置待查书总数 N=").appendField(new Ve.FieldDropdown([["5","5"],["10","10"],["20","20"],["50","50"]]),"NUM"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},ud={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NUMBER_ZERO),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NUMBER_ADD),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},hd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField("n"+Ve.Msg.MIXLY_VALUE2).appendField(new Ve.FieldTextInput("50"),"NUM"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},pd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_SEQUENCE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},fd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_DIVIDE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},md={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("初始化鸡兔同笼问题:"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("有若干只鸡、兔在同一个笼子里。"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("从上面数鸡兔有10个头,"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("从下面数鸡兔有32只脚。"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("问笼中有多少只鸡和多少只兔?"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},gd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("假设兔子的数量为0只"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},_d={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("兔子的数量在范围之内"),this.setOutput(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},yd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("根据(头数-兔子数)计算出鸡的数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},vd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("计算得到脚的数量正确"),this.setOutput(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},bd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("输出鸡、兔的数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Td={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("假设兔子数量要更多一只"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},xd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("加载路线图"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Ed={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("计算").appendField(new Ve.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("长度"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},wd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("设置S1为Smin"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Id={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField(new Ve.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("的长度比").appendField(new Ve.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME2").appendField("短"),this.setOutput(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Ad={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("设置").appendField(new Ve.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("为Smin"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Sd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("按照Smin移动"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Cd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("初始化韩信点兵问题:"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("有未知数量的若干士兵。"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("若3人一排列队,多1人;"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("若5人一排列队,多2人;"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("若7人一排列队,多2人;"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("问士兵的数量最少是多少人?"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Od={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("初始化士兵为").appendField(new Ve.FieldTextInput("7"),"NUM").appendField("个"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Md={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("使士兵").appendField(new Ve.FieldDropdown([["3","3"],["5","5"],["7","7"]]),"NUM").appendField("人一排列队"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},kd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("剩余").appendField(new Ve.FieldTextInput("1"),"NUM").appendField("个士兵"),this.setOutput(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Rd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("增加1个士兵"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Nd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("输出士兵数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Dd={init:function(){this.appendDummyInput().appendField("准备").appendField(new Ve.FieldNumber(3,0,100,1),"NUM").appendField("层汉诺塔"),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setInputsInline(!0),this.setTooltip(""),this.setHelpUrl("")}},Fd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_GET_CURRENT_LOCATION),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ld={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_VOID_PATH),this.setOutput(!0)}},Pd={init:function(){this.setColour(Sc),this.appendDummyInput("").setAlign(Ve.inputs.Align.RIGHT).appendField(new Ve.FieldColour("ff0000"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},Bd="#3288dd",$d={init:function(){this.setColour(Bd),this.appendValueInput("DOMAIN").appendField(Ve.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ve.Msg.blockpy_REQUESTS_GET).appendField(new Ve.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ud={init:function(){this.setColour(Bd),this.appendValueInput("URL").appendField(Ve.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ve.Msg.blockpy_CONDUCT).appendField(new Ve.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Ve.Msg.blockpy_REQUESTS).appendField(Ve.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Vd={init:function(){this.setColour(Bd),this.appendValueInput("URL").appendField(Ve.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ve.Msg.blockpy_CONDUCT).appendField(new Ve.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Ve.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Ve.Msg.blockpy_REQUESTS+Ve.Msg.OLED_STRING),this.appendDummyInput("").appendField(Ve.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},zd={init:function(){this.appendValueInput("VAL");var e=[[Ve.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Ve.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Ve.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Ve.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Ve.Msg.MIXPY_TEXT_ENCODE,"encoding"]];this.setColour(Bd),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Ve.FieldDropdown(e),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)}},jd={init:function(){this.appendValueInput("VAR").appendField(Ve.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(Bd),this.appendDummyInput("").appendField(Ve.Msg.blockpy_CONDUCT).appendField(new Ve.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("DIR");return{forward:Ve.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Ve.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]})}},Yd="f0a559",Gd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_CV_IMREAD),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},Hd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.OLED_BITMAP),this.appendValueInput("data").setCheck(String).appendField(Ve.Msg.MIXLY_AipNlp_Topic_Title),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_CV_IMWRITE),this.appendValueInput("data").setCheck(String).appendField(Ve.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Xd={init:function(){this.setColour(Yd),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MILLIS+Ve.Msg.MIXLY_CV_OR_PRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_CV_WAITKEY_TOOLTIP)}},qd={init:function(){this.setColour(Yd),this.appendDummyInput().appendField(Ve.Msg.MIXLY_CV_DESTROY_ALL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_IMAGE);var e=[[Ve.Msg.MIXLY_CV_RECT,"rectangle"],[Ve.Msg.MIXLY_CV_LINE,"line"]];this.appendValueInput("x1").setCheck(Number).appendField(Ve.Msg.MIXLY_DISPLAY_DRAW).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.MIXLY_CV_DRAWLINE_BEGIN+"(x1"),this.appendValueInput("y1").setCheck(Number).appendField(",y1"),this.appendValueInput("x2").setCheck(Number).appendField(") "+Ve.Msg.MIXLY_CV_DRAWLINE_END+"(x2"),this.appendValueInput("y2").setCheck(Number).appendField(",y2"),this.appendDummyInput().appendField(") "+Ve.Msg.MIXLY_CV_DRAWLINE_COLOR).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.appendValueInput("thick").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_DRAWLINE_THICKNESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_CV_DRAWLINE_RECT_TOOLTIP)}},Zd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_IMAGE);this.appendValueInput("data").setCheck(String).appendField(Ve.Msg.MIXLY_CV_DRAWTEXT),this.appendValueInput("x1").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_DRAWLINE_BEGIN+"(x1"),this.appendValueInput("y1").setCheck(Number).appendField(",y1"),this.appendDummyInput().appendField(") "+Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new Ve.FieldDropdown([["SIMPLEX","SIMPLEX"],["PLAIN","PLAIN"],["DUPLEX","DUPLEX"],["COMPLEX","COMPLEX"],["COMPLEX_SMALL","COMPLEX_SMALL"],["TRIPLEX","TRIPLEX"],["SCRIPT_SIMPLEX","SCRIPT_SIMPLEX"],["SCRIPT_COMPLEX","SCRIPT_COMPLEX"]]),"font"),this.appendValueInput("size").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput().appendField(") "+Ve.Msg.MIXLY_CV_DRAWLINE_COLOR).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.appendValueInput("thick").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_DRAWLINE_THICKNESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_CV_DRAWLINE_RECT_TOOLTIP)}},Qd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_CV_FACE_CLASSIFIER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},Jd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("FACE").appendField(Ve.Msg.MIXLY_CV_FACE_DETECT),this.appendValueInput("SCALE").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_SCALE),this.appendValueInput("NEIGHBOR").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_NEIGHBOR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},eh={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("FACE").appendField(Ve.Msg.MIXLY_CV_FACE_DETECT),this.appendValueInput("SCALE").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_SCALE),this.appendValueInput("NEIGHBOR").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_NEIGHBOR),this.appendValueInput("x1").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_RANGE).appendField(Ve.Msg.blockpy_TUPLE_MIN),this.appendValueInput("y1").setCheck(Number).appendField("×"),this.appendValueInput("x2").setCheck(Number).appendField(Ve.Msg.blockpy_TUPLE_MAX),this.appendValueInput("y2").setCheck(Number).appendField("×"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},th=170,nh={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.blockpy_series_create).appendField(new Ve.FieldTextInput("ser1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.blockpy_series_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ih={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.blockpy_series_create).appendField(new Ve.FieldTextInput("ser1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.appendValueInput("INDEX").setCheck([String,"List"]).appendField(Ve.Msg.blockpy_series_set_index),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.blockpy_series_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},rh={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.blockpy_dataframe_create).appendField(new Ve.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.blockpy_dataframe_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},sh={init:function(){this.setColour(th);var e=[[Ve.Msg.DATAFRAME_RAW,"index"],[Ve.Msg.DATAFRAME_COLUMN,"columns"]];this.appendDummyInput("").appendField(Ve.Msg.blockpy_dataframe_create).appendField(new Ve.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"COLUMN_RAW"),this.appendValueInput("INDEX").setCheck([String,"List"]).appendField(Ve.Msg.blockpy_series_set_index),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.blockpy_dataframe_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},oh={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.blockpy_dataframe_create).appendField(new Ve.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.appendValueInput("INDEX_COLUMN").setCheck([String,"List"]).appendField(Ve.Msg.blockpy_dataframe_set_index_column),this.appendValueInput("INDEX_RAW").setCheck([String,"List"]).appendField(Ve.Msg.blockpy_dataframe_set_index_raw),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.blockpy_dataframe_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ah={init:function(){this.setColour(th),this.appendDummyInput("").appendField(new Ve.FieldTextInput("ser1"),"VAR").appendField(" = [").appendField(new Ve.FieldTextInput("1,2,3"),"TEXT").appendField("]"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_SERIES_CREATE_FROM_TEXT)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},lh={init:function(){this.setColour(th);var e=[[Ve.Msg.SERIES_INDEX,"index"],[Ve.Msg.HTML_VALUE,"value"]];this.appendValueInput("SERIES").setCheck("Series"),this.appendDummyInput("").appendField(Ve.Msg.SERIES_INDEX_VALUE).appendField(new Ve.FieldDropdown(e),"INDEX_VALUE"),this.setOutput(!0,"List");var t=this;this.setTooltip(function(){var e=t.getFieldValue("INDEX_VALUE");return{index:Ve.Msg.SERIES_INDEX_TOOLTIP,value:Ve.Msg.HTML_VALUE_TOOLTIP}[e]})}},uh={init:function(){this.setColour(th),this.setOutput(!0),this.appendValueInput("SER").setCheck("Series"),this.appendValueInput("AT").setCheck(Number).appendField(Ve.Msg.LANG_LISTS_GET_INDEX1),this.appendDummyInput("").appendField(Ve.Msg.LANG_LISTS_GET_INDEX2),this.setInputsInline(!0),this.setTooltip(Ve.Msg.TUPLE_GET_INDEX_TOOLTIP)}},ch={init:function(){this.setColour(th),this.appendValueInput("SER").setCheck("Series").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dh={init:function(){this.setColour(th);var e=[[Ve.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Ve.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],n=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Ve.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(t),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ph={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gh={init:function(){this.setColour(th);var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_SET_LABEL).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("LABEL").appendField(Ve.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_h={init:function(){this.setColour(th),this.appendValueInput("FROM").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_SPLITBYDOU).appendField(Ve.Msg.MIXPY_DATA_ARRAY_CREATE_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXPY_DATA_ARRAY_CREATE_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},yh={init:function(){this.setColour(th);var e=[[Ve.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[Ve.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(Ve.Msg.MIXLY_DISPLAY_DRAW).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{plot:Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:Ve.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[e]})}},vh={init:function(){this.setColour(th);var e=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],t=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_SCATTER).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(Ve.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(t),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},bh={init:function(){this.setColour(th);var e=[[Ve.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Ve.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],n=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PLOT_XY).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Ve.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Th={init:function(){this.setColour(th);var e=[[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Ve.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_BAR).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(Ve.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new Ve.FieldDropdown(e),"ALIGN"),this.appendDummyInput().appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},xh={init:function(){this.setColour(th);var e=[[Ve.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[Ve.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],t=[[Ve.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PIE).appendField(Ve.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(Ve.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new Ve.FieldDropdown(t),"autopct"),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new Ve.FieldDropdown(e),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Eh={init:function(){this.setColour(th),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_HIST).appendField(Ve.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(Ve.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wh={init:function(){this.setColour(th);var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Ve.Msg.MIXLY_SETTING).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_TICKS).appendField(Ve.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Ih={init:function(){var e=[["sin","sin"],["cos","cos"],["tan","tan"],["arcsin","arcsin"],["arccos","arccos"],["arctan","arctan"],[Ve.Msg.LANG_MATH_TO_ROUND,"round"],[Ve.Msg.LANG_MATH_TO_CEIL,"ceil"],[Ve.Msg.LANG_MATH_TO_FLOOR,"floor"]];this.setColour(th),this.setOutput(!0),this.setInputsInline(!0),this.appendDummyInput().appendField(Ve.Msg.mixpy_NUMPY_TRIG),this.appendValueInput("NUM").setCheck(Number).appendField(new Ve.FieldDropdown(e),"OP"),this.setTooltip(Ve.Msg.mixpy_NUMPY_TRIG_TOOLTIP)}},Ah={init:function(){this.setColour(th),this.appendValueInput("VET").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT).appendField(Ve.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Sh={init:function(){this.setColour(th),this.appendValueInput("FILENAME").appendField(Ve.Msg.MIXPY_PANDAS_READ_CSV),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.mixpy_PANDAS_READCSV_HEADER_Y,"0"],[Ve.Msg.mixpy_PANDAS_READCSV_HEADER_N,"None"]]),"MODE"),this.appendDummyInput().appendField(Ve.Msg.mixpy_PANDAS_READCSV_TITLE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.mixpy_PANDAS_READCSV_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ch={init:function(){this.setColour(th),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ve.Msg.mixpy_DATAFRAME_GET),this.appendDummyInput("").appendField(Ve.Msg.mixpy_DATAFRAME_GET_INDEX).appendField(new Ve.FieldDropdown([[Ve.Msg.DATAFRAME_COLUMN,"column"],[Ve.Msg.DATAFRAME_RAW,"raw"]]),"MODE"),this.setOutput(!0),this.setTooltip(Ve.Msg.mixpy_DATAFRAME_GET_TOOLTIP)}},Oh={init:function(){this.setColour(th),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Mh={init:function(){this.setColour(th);var e=[[Ve.Msg.TEXT_TRIM_LEFT,"right"],[Ve.Msg.mixpy_PL_TEXT_CENTER,"center"],[Ve.Msg.TEXT_TRIM_RIGHT,"left"]],t=[[Ve.Msg.mixpy_PL_TEXT_TOP,"bottom"],[Ve.Msg.mixpy_PL_TEXT_CENTER,"center"],[Ve.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(Ve.Msg.MIXLY_SETTING).appendField(Ve.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(Ve.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_TEXT_HOR).appendField(new Ve.FieldDropdown(e),"HALIGN"),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_TEXT_VER).appendField(new Ve.FieldDropdown(t),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PL_TEXT_TOOLTIP)}},kh={init:function(){this.setColour(th),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TOARRAY),this.setOutput(!0,"List"),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOARRAY)}},Rh={init:function(){this.setColour(th),this.appendValueInput("SER").setCheck("Series").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nh={init:function(){this.setColour(th);var e=[[Ve.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Ve.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],n=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Ve.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(t),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Lh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ph={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bh={init:function(){this.setColour(th);var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_SET_LABEL).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("LABEL").appendField(Ve.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$h={init:function(){this.setColour(th);var e=[[Ve.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[Ve.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(Ve.Msg.MIXLY_DISPLAY_DRAW).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{plot:Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:Ve.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[e]})}},Uh={init:function(){this.setColour(th);var e=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],t=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_SCATTER).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(Ve.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(t),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Vh={init:function(){this.setColour(th);var e=[[Ve.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Ve.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],n=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PLOT_XY).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Ve.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},zh={init:function(){this.setColour(th);var e=[[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Ve.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_BAR).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(Ve.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new Ve.FieldDropdown(e),"ALIGN"),this.appendDummyInput().appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},jh={init:function(){this.setColour(th);var e=[[Ve.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[Ve.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],t=[[Ve.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PIE).appendField(Ve.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(Ve.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new Ve.FieldDropdown(t),"autopct"),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new Ve.FieldDropdown(e),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Yh={init:function(){this.setColour(th),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_HIST).appendField(Ve.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(Ve.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gh={init:function(){this.setColour(th);var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Ve.Msg.MIXLY_SETTING).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_TICKS).appendField(Ve.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Hh={init:function(){this.setColour(th),this.appendValueInput("VET").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT).appendField(Ve.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Wh={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Xh={init:function(){this.setColour(th);var e=[[Ve.Msg.TEXT_TRIM_LEFT,"right"],[Ve.Msg.mixpy_PL_TEXT_CENTER,"center"],[Ve.Msg.TEXT_TRIM_RIGHT,"left"]],t=[[Ve.Msg.mixpy_PL_TEXT_TOP,"bottom"],[Ve.Msg.mixpy_PL_TEXT_CENTER,"center"],[Ve.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(Ve.Msg.MIXLY_SETTING).appendField(Ve.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(Ve.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_TEXT_HOR).appendField(new Ve.FieldDropdown(e),"HALIGN"),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_TEXT_VER).appendField(new Ve.FieldDropdown(t),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PL_TEXT_TOOLTIP)}},qh={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取维度"),this.setOutput(!0),this.setTooltip("Returns the shape of the array.")}},Kh={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("变形"),this.appendValueInput("DIMENSIONS").appendField("后维度为"),this.setOutput(!0),this.setTooltip("Reshapes the array to the specified dimensions.")}},Zh={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("把"),this.appendDummyInput().appendField("转换为").appendField(new Ve.FieldDropdown([["uint8","numpy.uint8"],["int32","numpy.int32"],["float32","numpy.float32"],["float64","numpy.float64"]]),"TYPE"),this.setOutput(!0),this.setTooltip("Converts array to specified type.")}},Qh={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("创建二维图"),this.appendDummyInput().appendField("颜色").appendField(new Ve.FieldDropdown([["gray","gray"],["viridis","viridis"],["plasma","plasma"],["inferno","inferno"],["magma","magma"],["cividis","cividis"],["hot","hot"],["cool","cool"],["spring","spring"],["summer","summer"],["autumn","autumn"],["winter","winter"],["jet","jet"]]),"COLORMAP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("Displays an image with the specified colormap.")}},Jh={init:function(){this.setColour(th),this.appendValueInput("X").appendField("从数据集"),this.appendValueInput("Y").appendField("获取平均图像,标签"),this.appendValueInput("DIGIT").appendField("为"),this.setOutput(!0),this.setTooltip("Computes the mean of X where y equals the specified digit.")}},ep={init:function(){this.setColour(th),this.appendValueInput("IMAGE").appendField("获取模板匹配结果,图片:"),this.appendValueInput("TEMPLATES").appendField("模板:"),this.setOutput(!0),this.setTooltip("Finds the index of the template that minimizes the sum of absolute differences with the image.")}},tp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取平均值"),this.appendDummyInput().appendField("沿着axis").appendField(new Ve.FieldDropdown([["None","NONE"],["0","0"],["1","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Computes the mean of the array along the specified axis.")}},np={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取标准差"),this.appendDummyInput().appendField("沿着axis").appendField(new Ve.FieldDropdown([["None","NONE"],["0","0"],["1","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Computes the standard deviation of the array along the specified axis.")}},ip={init:function(){this.setColour(th),this.appendValueInput("DF").appendField("丢弃缺省值"),this.setOutput(!0),this.setTooltip("Drops rows with NaN values from the dataframe.")}},rp={init:function(){this.setColour(th),this.appendValueInput("DATAFRAME").appendField("从数据集"),this.appendValueInput("COLUMNS").appendField("中删除列").setCheck(String),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("从数据框中删除指定的列。用逗号分隔多个列名。")}},sp={init:function(){this.setColour(th),this.appendValueInput("NUM").appendField("生成单位行向量"),this.setOutput(!0),this.setTooltip("Creates an array of ones with the specified length.")}},op={init:function(){this.setColour(th),this.appendValueInput("ARRAY1").appendField("列拼接:数组1"),this.appendValueInput("ARRAY2").appendField("数组2"),this.setOutput(!0),this.setTooltip("Concatenates two arrays along the second axis using numpy.c_.")}},ap={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取行列式"),this.setOutput(!0),this.setTooltip("Computes the determinant of an array using numpy.linalg.det.")}},lp={init:function(){this.setColour(th),this.appendValueInput("MATRIX").appendField("获取转置"),this.setOutput(!0),this.setTooltip("Computes the transpose of the given matrix.")}},up={init:function(){this.setColour(th),this.appendValueInput("MATRIX1"),this.appendValueInput("MATRIX2").appendField("@"),this.setOutput(!0),this.setTooltip("Multiplies two matrices.")}},cp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取逆矩阵"),this.setOutput(!0),this.setTooltip("Computes the inverse of the given matrix using numpy.linalg.inv.")}},dp={init:function(){this.setColour(th),this.appendValueInput("DATAFRAME").appendField("获取中位数"),this.setOutput(!0),this.setTooltip("Computes the median of the given dataframe.")}},hp={init:function(){this.setColour(th),this.appendValueInput("DATAFRAME").appendField("填充缺失值"),this.appendValueInput("VALUE").appendField("填充值"),this.appendDummyInput().appendField("是否修改原数据").appendField(new Ve.FieldDropdown([["True","True"],["False","False"]]),"INPLACE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("Fills NaN values in the dataframe with the specified value.")}},pp={init:function(){this.setColour(th),this.appendValueInput("DATAFRAME").appendField("获取DataFrame信息"),this.setOutput(!0),this.setTooltip("Displays information about the DataFrame.")}},fp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取最小值"),this.appendDummyInput().appendField("沿着axis").appendField(new Ve.FieldDropdown([["None","None"],["行","0"],["列","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Returns the minimum value along the specified axis.")}},mp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取最大值"),this.appendDummyInput().appendField("沿着axis").appendField(new Ve.FieldDropdown([["None","None"],["行","0"],["列","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Returns the maximum value along the specified axis.")}},gp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取数组大小"),this.setOutput(!0),this.setTooltip("Returns the size of the array.")}},_p={init:function(){this.setColour(th),this.appendValueInput("ARRAY1").appendField("点乘数组1"),this.appendValueInput("ARRAY2").appendField("点乘数组2"),this.setOutput(!0),this.setTooltip("Returns the dot product of two arrays.")}},yp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取平方数组"),this.setOutput(!0),this.setTooltip("Returns the element-wise square of the array.")}},vp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取数组元素和"),this.setOutput(!0),this.setTooltip("Returns the sum of the array.")}},bp={init:function(){this.setColour(th),this.appendValueInput("SIZE").appendField("生成随机数组"),this.setOutput(!0),this.setTooltip("Returns a random array of the specified size.")}},Tp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("Python求和"),this.setOutput(!0),this.setTooltip("Returns the sum of the iterable.")}},xp={init:function(){this.setColour(th),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("值排序"),this.appendValueInput("KEY").setAlign(Ve.inputs.Align.RIGHT).appendField("标签"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("排序方式").appendField(new Ve.FieldDropdown([["升序","True"],["降序","False"]]),"AS_CENDING"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},Ep={init:function(){this.setColour(th),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("获取").appendField(new Ve.FieldDropdown([["前几行","head"],["最后几行","tail"]]),"TYPE"),this.appendValueInput("LINES").setAlign(Ve.inputs.Align.RIGHT).appendField("行数"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},wp={init:function(){this.setColour(th),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("筛选数据"),this.appendValueInput("KEY").setAlign(Ve.inputs.Align.RIGHT).appendField("满足条件"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},Ip={init:function(){this.setColour(th),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.appendValueInput("KEY").setAlign(Ve.inputs.Align.RIGHT).appendField("通过标签"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("分组"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},Ap={init:function(){this.setColour(th),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField(new Ve.FieldDropdown([["求最小值","min"],["求最大值","max"],["求和","sum"],["求平均值","mean"],["求中位数","median"],["求标准差","std"]]),"TYPE"),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},Sp={init:function(){this.setColour(th),this.appendDummyInput().appendField("清除已有图像"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cp=80,Op={init:function(){this.setColour(Cp),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.DS_CREATE_LINKEDLIST_NEW)),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.DS_CREATE_LINKEDLIST_HEAD)).appendField(new Ve.FieldTextInput("head"),"VAR"),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.DS_CREATE_LINKEDLIST_TYPE)).appendField(new Ve.FieldTextInput("tag"),"TYPE"),this.appendDummyInput().appendField(Ve.Msg.DS_CREATE_LINKEDLIST_ATTRIBUTE),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ve.icons.MutatorIcon(["ds_create_linkedlist_item"],this)),this.setTooltip(Ve.Msg.DS_CREATE_LINKEDLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("ds_create_linkedlist_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;it?e[t]:"name"),"KEY"+t).appendField("=")},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Mp={init:function(){this.setColour(Cp),this.appendDummyInput().appendField(Ve.Msg.DS_CREATE_LINKEDLIST_CONTAINER_TITLE),this.appendStatementInput("STACK"),this.setTooltip(Ve.Msg.DS_CREATE_LINKEDLIST_CONTAINER_TOOLTIP),this.contextMenu=!1}},kp={init:function(){this.setColour(Cp),this.appendDummyInput().appendField(Ve.Msg.DS_CREATE_LINKEDLIST_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DS_CREATE_LINKEDLIST_ITEM_TOOLTIP),this.contextMenu=!1}},Rp={init:function(){this.setColour(Cp),this.appendDummyInput("").appendField(Ve.Msg.DS_CREATE_NODE_USE).appendField(new Ve.FieldTextInput("tag"),"TYPE"),this.appendDummyInput("").appendField(Ve.Msg.DS_CREATE_NODE_NEW),this.appendValueInput("NODE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_CREATE_NODE_TOOLTIP)}},Np={init:function(){this.setColour(Cp),this.appendDummyInput("").appendField(Ve.Msg.DS_GET_NODE_ATTR_NODE),this.appendValueInput("NODE"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_AIP_ATTR).appendField(new Ve.FieldTextInput("name"),"TYPE"),this.appendDummyInput("").appendField(Ve.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_GET_NODE_ATTR_TOOLTIP)}},Dp={init:function(){this.setColour(Cp),this.appendDummyInput("").appendField(Ve.Msg.DS_SET_NODE_ATTR_NODE),this.appendValueInput("NODE"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_AIP_ATTR).appendField(new Ve.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(Ve.Msg.DS_SET_NODE_ATTR_SET),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_SET_NODE_ATTR_TOOLTIP)}},Fp={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE);var e=[[Ve.Msg.DS_ADD_NODE_BEFORE,"before"],[Ve.Msg.DS_ADD_NODE_AFTER,"after"]];this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_LINKEDLIST),this.appendValueInput("NODE2").appendField(Ve.Msg.DS_SET_NODE_ATTR_NODE),this.appendValueInput("NODE3").appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.DS_ADD_NODE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_ADD_NODE_TOOLTIP)}},Lp={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE);var e=[[Ve.Msg.DS_ADD_NODE_BEFORE,"before"],[Ve.Msg.DS_ADD_NODE_AFTER,"after"]];this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_LINKEDLIST),this.appendDummyInput("").appendField(Ve.Msg.DS_CREATE_LINKEDLIST_ITEM_TITLE).appendField(new Ve.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_AS),this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_ATTR),this.appendValueInput("NODE3").appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.DS_ADD_NODE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_ADD_NODE_TOOLTIP)}},Pp={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_LINKEDLIST),this.appendValueInput("NODE2").appendField(Ve.Msg.DS_DEL_NODE_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_DEL_NODE_TOOLTIP)}},Bp={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_LINKEDLIST),this.appendDummyInput("").appendField(Ve.Msg.DS_DEL_NODE_ATTR).appendField(new Ve.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_AS),this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_ATTR),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_DEL_NODE_TOOLTIP)}},$p={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(Ve.Msg.DS_REVERSE_LINKEDLIST),this.appendValueInput("NODE2").appendField(Ve.Msg.DS_REVERSE_LINKEDLIST_NEW_HEAD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_DEL_NODE_TOOLTIP)}},Up="#777777",Vp={init:function(){this.setColour(Up),this.appendDummyInput("").appendField("from ").appendField(new Ve.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Ve.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zp={init:function(){this.setColour(Up),this.appendDummyInput("").appendField("import ").appendField(new Ve.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jp={init:function(){this.setColour(Up),this.appendDummyInput("").appendField(new Ve.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ve.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ef={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},wf={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},If={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Af={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Ve.Msg.MIXLY_EMQX_SERVER).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Ve.Msg.MIXLY_WIFI_USERNAME).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Ve.Msg.MIXLY_IOT_PASSWORD).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Ve.Msg.MIXLY_EMQX_PROJECT).setAlign(Ve.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Sf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Ve.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Cf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Ve.Msg.HTML_BODY),this.appendDummyInput().appendField(Ve.Msg.MIXLY_Service_quality_display).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AT_MOST_ONCE,"0"],[Ve.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Of={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ve.Msg.MIXLY_EMQX_SUBSCRIBE+Ve.Msg.MIXLY_MICROBIT_MSG).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Ve.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},Mf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ve.Msg.MSG.stop+Ve.Msg.MIXLY_EMQX_SUBSCRIBE).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},kf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Df={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Ve.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Ff={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},Lf={init:function(){this.setColour(_f),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Pf={init:function(){this.setColour(_f),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},Bf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},$f={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO").appendField(Ve.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Ve.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Uf={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Ve.Msg.MIXLY_EMQX_SERVER).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Ve.Msg.CONTROLS_FOR_INPUT_WITH+Ve.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Ve.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vf={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Ve.Msg.MIXLY_EMQX_SERVER).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Ve.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Ve.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zf={init:function(){this.VISITOR_ID=ze.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(_f),this.appendDummyInput("").appendField(this.newQuote_(!0)).appendField(new Ve.FieldTextInput(this.visitorId),"VISITOR_ID").appendField(this.newQuote_(!1)),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")},newQuote_:function(e){if(e==this.RTL)var t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new Ve.FieldImage(t,12,12,'"')}},jf={init:function(){this.VISITOR_ID=ze.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(_f),this.appendDummyInput("").appendField(new Ve.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},Yf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO").appendField(Ve.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Gf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("HTTP"+Ve.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Ve.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Ve.Msg.MIXLY_REQUESTS_GET).appendField(Ve.Msg.MIXLY_GET_CURRENT_TIME).appendField(Ve.Msg.MIXLY_OPEN_DEBUG).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("HTTP"+Ve.Msg.MIXLY_Client).appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Ve.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Ve.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Wf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MQTT"+Ve.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Ve.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Ve.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Ve.MQTT_Topic).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Ve.Msg.MIXLY_OPEN_DEBUG).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MQTT"+Ve.Msg.MIXLY_Client).appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Ve.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Ve.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},qf=yf,Kf=vf,Zf=bf,Qf=xf,Jf=230,em={init:function(){this.setColour(Jf),this.appendDummyInput("").appendField(new Ve.FieldDropdown(ze.Profile.default.digital_write),"PIN"),this.setOutput(!0)}},tm={init:function(){this.setColour(Jf),this.appendDummyInput("").appendField(new Ve.FieldDropdown(ze.Profile.default.digital_read),"PIN"),this.setOutput(!0)}},nm={init:function(){this.setColour(Jf),this.appendDummyInput("").appendField(new Ve.FieldDropdown(ze.Profile.default.analog_write),"PIN"),this.setOutput(!0)}},im={init:function(){this.setColour(Jf),this.appendDummyInput("").appendField(new Ve.FieldDropdown(ze.Profile.default.analog_read),"PIN"),this.setOutput(!0)}},rm={init:function(){this.setColour(40),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.MIXPY_SERIAL_OPEN)).appendField(new Ve.FieldTextInput("ser"),"SER"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SERIAL_BEGIN).appendField(new Ve.FieldDropdown([["115200","115200"],["256000","256000"],["128000","128000"],["57600","57600"],["56000","56000"],["43000","43000"],["38400","38400"],["28800","28800"],["19200","19200"],["9600","9600"],["4800","4800"],["2400","2400"],["1200","1200"],["600","600"],["300","300"],["110","110"]]),"BPS"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXPY_SERIAL_OPEN_TIMEOUT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ve.Msg.MIXPY_SERIAL_OPEN_TOOLTIP)}},sm={init:function(){this.setColour(40),this.appendValueInput("SER"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXPY_SERIAL_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ve.Msg.MIXPY_SERIAL_WRITE_TOOLTIP)}},om={init:function(){this.setColour(40),this.appendValueInput("SER"),this.appendValueInput("VAR").setCheck(Number).appendField(Ve.Msg.MIXPY_SERIAL_READ),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXPY_SERIAL_READ_TOOLTIP)}},am={init:function(){this.setColour(40),this.appendValueInput("SER"),this.appendDummyInput().appendField(Ve.Msg.MIXPY_SERIAL_CLOSE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ve.Msg.MIXPY_SERIAL_CLOSE_TOOLTIP)}},lm=80,um={init:function(){this.appendDummyInput().appendField(Ve.Msg.SKLEARN_CLASSIFICATION_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_FEATURES),this.appendValueInput("n_informative").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_EFFECTIVE_FEATURES),this.appendValueInput("n_redundant").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_REDUNDANT_FEATURES),this.appendValueInput("n_repeated").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_REPEATED_FEATURES),this.appendValueInput("n_classes").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_CLASSES),this.appendValueInput("n_clusters_per_class").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_CLUSTERS_PER_CLASSES),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},cm={init:function(){this.appendDummyInput().appendField(Ve.Msg.SKLEARN_REGRESSION_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_FEATURES),this.appendValueInput("n_informative").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_EFFECTIVE_FEATURES),this.appendValueInput("n_targets").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_LABELS),this.appendValueInput("bias").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.DEVIATION),this.appendValueInput("noise").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NOISE),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},dm={init:function(){this.appendDummyInput().appendField(Ve.Msg.SKLEARN_CLUSTERING_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_FEATURES),this.appendValueInput("centers").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_CLUSTERS),this.appendValueInput("cluster_std").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.STANDARD_DEVIATION_OF_CLUSTER),this.appendValueInput("center_box").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.CLUSTER_BOUNDING_BOX),this.appendValueInput("shuffle").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SHUFFLE_SAMPLES),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},hm={init:function(){var e=[[Ve.Msg.SKLEARN_LOAD_IRIS,"load_iris"],[Ve.Msg.SKLEARN_LOAD_BOSTON,"load_boston"],[Ve.Msg.SKLEARN_LOAD_DIABETES,"load_diabetes"],[Ve.Msg.SKLEARN_LOAD_BREAST_CANCER,"load_breast_cancer"],[Ve.Msg.SKLEARN_LOAD_LINNERUD,"load_linnerud"],[Ve.Msg.SKLEARN_LOAD_DIGITS,"load_digits"]];this.appendDummyInput().appendField("sklearn "+Ve.Msg.LOAD).appendField(new Ve.FieldDropdown(e),"type").appendField(new Ve.FieldTextInput("iris"),"name"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")},getVars:function(){return[this.getFieldValue("name")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("name"))&&this.setTitleValue(t,"name")}},pm={init:function(){this.appendValueInput("name").setCheck(null).appendField("sklearn "+Ve.Msg.DATA_SET),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.EIGENVALUES,"data"],[Ve.Msg.LABEL_VALUE,"target"],[Ve.Msg.FEATURE,"feature_names"],[Ve.Msg.mixpy_PYLAB_TICKS_TAG,"target_names"]]),"type"),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},fm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.DATA_SEGMENTATION),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LABEL_VALUE),this.appendValueInput("test_size").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.TEST_SET_PROPORTION),this.appendValueInput("rondom_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},mm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.DATA_SEGMENTATION),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.appendValueInput("test_size").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.TEST_SET_PROPORTION),this.appendValueInput("rondom_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},gm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_LINEARREGRESSION_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("fit_intercept").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_CALCULATE_MODEL_INTERRUPT),this.appendValueInput("normalize").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_REGRESSION_NORMIALIZATION),this.appendValueInput("n_jobs").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_THREADS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},_m={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_RIDGE_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("alpha").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_REGULA_INTENSITY),this.appendValueInput("fit_intercept").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_CALCULATE_MODEL_INTERRUPT),this.appendValueInput("normalize").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_REGRESSION_NORMIALIZATION),this.appendValueInput("max_iter").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_MAX_ITER),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},ym={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_DECISIONTREE_INIT).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"DecisionTreeClassifier"],[Ve.Msg.SKLEARN_REGRESSION_ALGORITHM,"DecisionTreeRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("max_depth").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_MAXIMUM_TREE_DEPTH),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},vm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_RANDOMFOREST_INIT).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"RandomForestClassifier"],[Ve.Msg.SKLEARN_REGRESSION_ALGORITHM,"RandomForestRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("n_estimators").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_TREES),this.appendValueInput("max_depth").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_MAXIMUM_TREE_DEPTH),this.appendValueInput("n_jobs").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_THREADS),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},bm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_KNN_INIT).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"KNeighborsClassifier"],[Ve.Msg.SKLEARN_REGRESSION_ALGORITHM,"KNeighborsRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("K").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField("K"),this.appendValueInput("n_jobs").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_THREADS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Tm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_GAUSSINNB_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},xm={init:function(){this.appendDummyInput().appendField("sklearn 初始化 PCA 算法"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("n_components").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_PCA_N_COMPONENTS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Em={init:function(){this.appendDummyInput().appendField("sklearn PCA 降维"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},wm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_KMEANS_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("n_clusters").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_CLUSTERS_JUST),this.appendValueInput("max_iter").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_MAX_ITER),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Im={init:function(){this.appendDummyInput().appendField("sklearn K-均值聚类"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Am={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.TRAINING_MODEL),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LABEL_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Sm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.TRAINING_MODEL),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Cm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.MODEL_PRODICTION),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Om={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.CALCULATE_THE_SCORE),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LABEL_VALUE),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Mm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.CALCULATE_THE_SCORE),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},km={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_GENERALIZED_LINEAR_REGRESSION),this.appendValueInput("model_name").setAlign(Ve.inputs.Align.RIGHT).setCheck(null).appendField(Ve.Msg.MODEL_NAME),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_COEF,"coef_"],[Ve.Msg.SKLEARN_INTERCEPT,"intercept_"]]),"type"),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Rm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_CLUSTERING),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_CLUSTER_CENTER,"cluster_centers_"],[Ve.Msg.SKLEARN_LABELS_AFTER_CLUSTERING,"labels_"],[Ve.Msg.SKLEARN_CLUSTERING_SUM_OF_SQUARED_DISTANCES,"inertia_"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Nm={init:function(){this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField("sklearn").appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_SAVE_MODEL,"dump"],[Ve.Msg.SKLEARN_LOAD_MODEL,"load"]]),"type").appendField(" "+Ve.Msg.MODEL_NAME),this.appendValueInput("address").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Dm=120,Fm={init:function(){this.setColour(Dm),this.appendValueInput("DELAY_TIME",Number).appendField(Ve.Msg.MIXLY_DELAY+"("+Ve.Msg.MIXLY_MILLIS+")").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},Lm={init:function(){this.setColour(Dm),this.appendDummyInput().appendField(Ve.Msg.blockpy_time_time),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_CONTROL_MILLIS)}},Pm={init:function(){this.setColour(Dm),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_ALL,"all"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_YEAR,"0"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_MONTH,"1"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_DATE,"2"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_HOUR,"3"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_MINUTE,"4"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_SECOND,"5"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_INWEEK,"6"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_INYEAR,"7"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_DST,"8"]]),"op"),this.setOutput(!0),this.setInputsInline(!0)}},Bm={init:function(){this.setColour(Dm),this.appendValueInput("STATUS_CODE",Number).appendField(Ve.Msg.MIXLY_MICROBIT_Panic_with_status_code).setCheck(Number),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},$m={init:function(){this.setColour(Dm),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_Reset_micro),this.setPreviousStatement(!0)}},Um={init:function(){this.setColour(Dm),this.appendValueInput("TIME").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField("MsTimer2").appendField(Ve.Msg.MIXLY_MSTIMER2_EVERY),this.appendDummyInput().appendField("ms"),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_MSTIMER2_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vm={init:function(){this.setColour(Dm),this.appendDummyInput().appendField("MsTimer2").appendField(Ve.Msg.MIXLY_MSTIMER2_START),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zm={init:function(){this.setColour(Dm),this.appendDummyInput().appendField("MsTimer2").appendField(Ve.Msg.MIXLY_STOP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jm={init:function(){this.setColour(Dm),this.appendValueInput("DELAY_TIME",Number).appendField(Ve.Msg.MIXLY_DELAY).setCheck(Number),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},Ym=180,Gm={init:function(){this.setColour(Ym),this.appendDummyInput("").appendField(Ve.Msg.blockpy_turtle_create).appendField(new Ve.FieldTextInput("tina"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.blockpy_turtle_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Hm={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_TURTLE_DONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wm={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_TURTLE_EXITONCLICK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xm={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_forward,"forward"],[Ve.Msg.blockpy_backward,"backward"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MICROBIT_JS_MOVE_BY).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.MIXLY_MICROBIT_JS_MOVE_BY_num),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{forward:Ve.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Ve.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]})}},qm={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_left,"left"],[Ve.Msg.blockpy_right,"right"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.blockpy_turtle_rotate).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{left:Ve.Msg.MIXLY_TOOLTIP_TURTEL_LEFT,right:Ve.Msg.MIXLY_TOOLTIP_TURTEL_RIGHT}[e]})}},Km={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_setheading),this.appendDummyInput().appendField(Ve.Msg.blockpy_setheading_degree),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zm={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_SCREEN_DELAY),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MILLIS),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TURTEL_SCREEN_DELAY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qm={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_goto),this.appendValueInput("val").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_goto_y),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_goto_position),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jm={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_SETXY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TURTLE_SETXY_TOOLTIP)}},eg={init:function(){this.setColour(Ym);var e=[[Ve.Msg.TURTLE_POS,"pos"],[Ve.Msg.TURTLE_SHAPE,"shape"],[Ve.Msg.TURTLE_HEADING,"heading"],[Ve.Msg.MIXLY_MIXPY_TURTLE_WIDTH,"width"],[Ve.Msg.MIXLY_TURTEL_GET_SHAPESIZE,"shapesize"],[Ve.Msg.MIXLY_SPEED,"speed"]];this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(Ve.Msg.TURTLE_POS_SHAPE).appendField(new Ve.FieldDropdown(e),"DIR");var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{pos:Ve.Msg.MIXLY_TOOLTIP_TURTEL_POS,shape:Ve.Msg.MIXLY_TOOLTIP_TURTEL_SHAPE,heading:Ve.Msg.MIXLY_TOOLTIP_TURTEL_HEADING,width:Ve.Msg.MIXLY_TOOLTIP_TURTEL_WIDTH,speed:Ve.Msg.MIXLY_TOOLTIP_TURTEL_GET_SPEED,shapesize:Ve.Msg.MIXLY_TURTEL_GET_SHAPESIZE_TOOLTIP}[e]}),this.setOutput(!0),this.setInputsInline(!0)}},tg={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput().appendField(Ve.Msg.TURTLE_STAMP),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ng={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[Ve.Msg.blockpy_turtle_reset,"reset"],[Ve.Msg.blockpy_turtle_home,"home"]];this.setColour(Ym),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{clear:Ve.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Ve.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Ve.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]})}},ig={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_penup,"penup"],[Ve.Msg.blockpy_turtle_pendown,"pendown"]];this.setColour(Ym),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{penup:Ve.Msg.MIXLY_TOOLTIP_TURTEL_PENUP,pendown:Ve.Msg.MIXLY_TOOLTIP_TURTEL_PENDOWN}[e]})}},rg={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_beginfill,"begin"],[Ve.Msg.blockpy_turtle_endfill,"end"]];this.setColour(Ym),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{begin:Ve.Msg.MIXLY_TOOLTIP_TURTEL_BEGINFILL,end:Ve.Msg.MIXLY_TOOLTIP_TURTEL_ENDFILL}[e]})}},sg={init:function(){this.appendDummyInput("").appendField(new Ve.FieldTextInput("tina"),"TUR");var e=[[Ve.Msg.blockpy_turtle_size,"pensize"],[Ve.Msg.MIXLY_SPEED,"speed"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.blockpy_turtle_set).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.blockpy_turtle_set_num),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{pensize:Ve.Msg.MIXLY_TOOLTIP_TURTEL_SIZE,speed:Ve.Msg.MIXLY_TOOLTIP_TURTEL_SPEED}[e]})}},og={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_set_size),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TURTEL_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ag={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_set_speed),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TURTEL_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lg={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_circle,"circle"],[Ve.Msg.blockpy_turtle_dot,"dot"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.blockpy_turtle_draw).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.blockpy_turtle_radius),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{circle:Ve.Msg.MIXLY_TOOLTIP_TURTEL_CIRCLE,dot:Ve.Msg.MIXLY_TOOLTIP_TURTEL_DOT}[e]})}},ug={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(Ve.Msg.blockpy_turtle_radius),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_angle),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TURTEL_CIRCLE)}},cg={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_hide,"hideturtle"],[Ve.Msg.blockpy_turtle_show,"showturtle"]];this.setColour(Ym),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{hideturtle:Ve.Msg.MIXLY_TOOLTIP_TURTEL_HIDE,showturtle:Ve.Msg.MIXLY_TOOLTIP_TURTEL_SHOW}[e]})}},dg={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_bgcolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hg={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.MIXLY_TURTLE_TRACER),this.appendValueInput("STEP").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_TURTLE_TRACER_STEP),this.appendValueInput("DELAY").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_TURTLE_TRACER_DELAY_MS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_pencolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_fillcolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mg={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(Ve.Msg.TURTLE_CLONE),this.setTooltip(Ve.Msg.TURTLE_CLONE_TOOLTIP),this.setOutput(!0)}},gg={init:function(){this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_bgcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_g={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_pencolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_fillcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_pencolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_fillcolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR1").setCheck(String).appendField(Ve.Msg.blockpy_turtle_pencolor),this.appendValueInput("VAR2").setCheck(String).appendField(Ve.Msg.blockpy_turtle_fillcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tg={init:function(){this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_bgcolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_pencolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Eg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_fillcolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wg={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_shape_arrow,"arrow"],[Ve.Msg.blockpy_turtle_shape_turtle,"turtle"],[Ve.Msg.blockpy_turtle_shape_circle,"circle"],[Ve.Msg.blockpy_turtle_shape_square,"square"],[Ve.Msg.blockpy_turtle_shape_triangle,"triangle"],[Ve.Msg.blockpy_turtle_shape_classic,"classic"]];this.setColour(Ym),this.appendDummyInput("").appendField(Ve.Msg.blockpy_turtle_shape).appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.TURTLE_SHAPE_TOOLTIP)}},Ig={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTEL_SHAPESIZE),this.appendValueInput("WID").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTEL_SHAPESIZE_WID),this.appendValueInput("LEN").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTEL_SHAPESIZE_LEN),this.appendValueInput("OUTLINE").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTEL_SHAPESIZE_OUTLINE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_SHAPESIZE)}},Ag={init:function(){this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_NUMINPUT),this.setColour(Ym),this.appendValueInput("TITLE").setCheck(String).appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_TITLE),this.appendValueInput("PROMPT").setCheck(String).appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_PROMPT),this.appendValueInput("DEFAULT").setCheck(Number).appendField(Ve.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("MIN").setCheck(Number).appendField(Ve.Msg.MATH_ONLIST_OPERATOR_MIN),this.appendValueInput("MAX").setCheck(Number).appendField(Ve.Msg.MATH_ONLIST_OPERATOR_MAX),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.TURTLE_NUMINPUT_TOOLTIP)}},Sg={init:function(){this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT),this.setColour(Ym),this.appendValueInput("TITLE").setCheck(String).appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_TITLE),this.appendValueInput("PROMPT").setCheck(String).appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_PROMPT),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.TURTLE_TEXTINPUT_TOOLTIP)}},Cg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_write),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.TURTLE_WRITE_TOOLTIP)}},Og={init:function(){var e=[[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"],[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"]],t=[[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_LEFT,"left"],[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_RIGHT,"right"]],n=[[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_NORMAL,"normal"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD,"bold"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_ITALIC,"italic"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD_ITALIC,'bold","italic']];this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_write),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_MOVE).appendField(new Ve.FieldDropdown(e),"MOVE"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN).appendField(new Ve.FieldDropdown(t),"ALIGN"),this.appendValueInput("FONTNAME").setCheck(String).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NAME),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE).appendField(new Ve.FieldDropdown(n),"FONTTYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.TURTLE_WRITE_TOOLTIP)}},Mg={init:function(){var e=[[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"],[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"]],t=[[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_LEFT,"left"],[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_RIGHT,"right"]],n=[[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_NORMAL,"normal"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD,"bold"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_ITALIC,"italic"]];this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_write),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_MOVE).appendField(new Ve.FieldDropdown(e),"MOVE"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN).appendField(new Ve.FieldDropdown(t),"ALIGN"),this.appendValueInput("FONTNAME").setCheck(String).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NAME),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE).appendField(new Ve.FieldDropdown(n),"FONTTYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.TURTLE_WRITE_TOOLTIP)}},kg={init:function(){this.setColour(Ym),this.appendDummyInput("").setAlign(Ve.inputs.Align.RIGHT).appendField(new Ve.FieldColour("ff0000"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},Rg={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTEL_GETSCREEN).appendField(new Ve.FieldTextInput("screen"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_GETSCREEN_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ng={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TURTEL_EVENT_ONKEY),this.appendValueInput("callback").appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_EVENT_ONKEY_TOOLTIP)}},Dg={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTEL_EVENT_ONCLICK),this.appendValueInput("callback").appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_EVENT_ONCLICK_TOOLTIP)}},Fg={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TURTEL_EVENT_ONTIMER),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_mSecond),this.appendValueInput("callback").appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_EVENT_ONTIMER_TOOLTIP)}},Lg={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_TURTEL_SCREEN_LISTEN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pg={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.mixpy_TURTLE_SAVEFIG_TOOLTIP)}},Bg=function(e,t){var n=this.getFieldValue("TYPE");return t.definitions_.import_FileDialog="import FileDialog",["FileDialog."+n+"()",t.ORDER_ATOMIC]},$g=function(e,t){var n=this.getFieldValue("CTYPE");return t.definitions_.import_aip="import aip",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = aip."+n+"("+t.valueToCode(this,"API_KEY",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"SECRET_KEY",t.ORDER_ATOMIC)+")\n"},Ug=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".synthesis("+t.valueToCode(this,"STR",t.ORDER_ATOMIC)+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Vg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".asr("+(t.valueToCode(this,"FILE",t.ORDER_ATOMIC)||'""')+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},zg=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+i+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},jg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".match("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR2",t.ORDER_ATOMIC)+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Yg=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+i+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Gg=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"STR",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+i+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Hg=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"STR1",t.ORDER_ATOMIC),r=t.valueToCode(this,"STR2",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+i+","+r+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Wg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".topic("+t.valueToCode(this,"STR1",t.ORDER_ATOMIC)+","+t.valueToCode(this,"STR2",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".newsSummary("+t.valueToCode(this,"STR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"LEN",t.ORDER_ATOMIC)+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},qg=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},Kg=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},Zg=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},Qg=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},Jg=function(e,t){return t.definitions_.import_audio="import audio","audio.audio_record("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+","+(t.valueToCode(this,"TIME",t.ORDER_ATOMIC)||"0")+")\n"},e_=function(e,t){return t.definitions_.import_audio="import cam","cam.photo_capture("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+","+(t.valueToCode(this,"BUT",t.ORDER_ATOMIC)||'""')+")\n"},t_=function(e,t){var n=t.valueToCode(this,"AI",t.ORDER_ASSIGNMENT)||"0",i=this.getFieldValue("CTYPE");if("Image"==i)var r=n+'["result"][0]["keyword"]';if("Speech"==i)r=n+'["result"][0]';if("Face"==i||"OcrSimilarity"==i)r=n+'["score"]';if("Ocr"==i)r=n+'["words_result"]';return[r,t.ORDER_ATOMIC]},n_=function(e,t){t.definitions_.import_sprite="import sprite";return"g = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,1,0,0,0,0,0,0], [0,0,0,1,0,0,1,0,0,0], [0,1,1,0,1,1,0,0,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,0,1,0,0,1,1,0,0], [0,0,1,0,0,1,0,1,0,0], [0,0,0,0,1,1,1,0,0,0]]\nmark = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0]]\nvis = [0,1,0,0,0,0,0,0,0]\nposition = [[0, 0], [200, 200], [250, 60], [320, 200], [280, 380], [470, 250], [670, 90], [650, 340]]\nsprite.clearAllSprites()\nsprite.createBackground('ditu')\nmask = sprite.Sprite('white', 96, 354)\nmask.hide()\nhouse = [\n sprite.Sprite('mark', 150, 380),\n sprite.Sprite('xtxn', 96, 170),\n sprite.Sprite('xnvijx', 270, 45),\n sprite.Sprite('xnxbjx', 310, 182),\n sprite.Sprite('xnsijx', 300, 370),\n sprite.Sprite('xnkejx', 495, 220),\n sprite.Sprite('bwbwjx', 716, 85),\n sprite.Sprite('lelejx', 686, 314)\n]\nfor i in house:\n i.filterBrighter()\n i.hide()\n"},i_=function(){return"path = [1]\nmask.show()\ncar = sprite.Sprite('xnie', position[1][0], position[1][1])\nhouse[1].show()\ncar.nowPos = 1\ndef drive(n):\n if g[car.nowPos][n]==1:\n car.slideTo(position[n][0], position[n][1], 1)\n car.nowPos = n\n else:\n print('移动失败!程序有误!')\n exit()\n"},r_=function(e,t){t.definitions_.import_random="import random";return"f = path[(len(path) - 1)]\nflag = 0\nfor _my_variable in [6,5,4,3,2,1,0]:\n if vis[_my_variable+1] == 0 and g[f][_my_variable+1] == 1:\n if mark[f][_my_variable+1] == 0:\n flag = 1\n break\n"},s_=function(e,t){return["flag == 1",t.ORDER_ATOMIC]},o_=function(){return"mark[f][_my_variable+1] = 1\nvis[_my_variable+1] = 1\n"},a_=function(){return"path.append(_my_variable+1)\ndrive(path[len(path) - 1])\nhouse[_my_variable+1].show()\n"},l_=function(e,t){t.definitions_.import_time="import time";return"del path[len(path) - 1]\nhouse[0].show()\ntime.sleep(0.5)\nhouse[0].hide()\n"},u_=function(){var e="for i in range(7):\n mark[f][i+1] = 0\n vis[f] = 0\n";return e="house[f].hide()\ndrive(path[len(path) - 1])\n"+e},c_=function(e,t){return["len(path) == 7",t.ORDER_ATOMIC]},d_=function(){return'name = ["","学校","小智家","小欣家","小思家","小科家","贝贝家","乐乐家"]\nres = ""\nfor i in path:\n res = res + name[i] + "-"\nprint(res[:-1])\n'},h_=function(e,t){t.definitions_.import_sprite="import sprite";return"g = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,1,0,0,0,0,0,0], [0,0,0,1,0,0,1,0,0,0], [0,1,1,0,1,0,0,0,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,1,0,0,0,0,1,0,0], [0,0,0,0,1,1,1,0,0,0]]\nmark = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0]]\nvis = [0,1,0,0,0,0,0,0,0]\nposition = [[0, 0], [200, 200], [250, 60], [320, 200], [280, 380], [470, 250], [670, 90], [650, 340]]\nsprite.clearAllSprites()\nsprite.createBackground('ditu')\nmask = sprite.Sprite('white', 96, 354)\nmask.hide()\nhouse = [\n sprite.Sprite('mark', 150, 380),\n sprite.Sprite('xtxn', 96, 170),\n sprite.Sprite('xnvijx', 270, 45),\n sprite.Sprite('xnxbjx', 310, 182),\n sprite.Sprite('xnsijx', 300, 370),\n sprite.Sprite('xnkejx', 495, 220),\n sprite.Sprite('bwbwjx', 716, 85),\n sprite.Sprite('lelejx', 686, 314)\n]\nbarricade = sprite.Sprite('barricade', 610, 170)\nbarricade.enlargeTo(100)\nfor i in house:\n i.filterBrighter()\n i.hide()\n"},p_=function(e,t){return["f == 1",t.ORDER_ATOMIC]},f_=function(){return"print('没有符合条件的路线')\n"},m_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return'g = [[10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000],[10000,10000,500,300,10000,10000,10000,10000,10000,10000,10000],[10000,500,10000,10000,100,10000,10000,10000,10000,10000,10000],[10000,300,10000,10000,400,300,10000,10000,10000,10000,10000],[10000,10000,100,400,10000,10000,200,10000,10000,10000,10000],[10000,10000,10000,300,10000,10000,100,200,10000,10000,10000],[10000,10000,10000,10000,200,100,10000,10000,100,10000,10000],[10000,10000,10000,10000,10000,200,10000,10000,100,10000,10000],[10000,10000,10000,10000,10000,10000,100,100,10000,10000,10000]]\nnow=1\nlast=1\npath=[]\npath.append(1)\nname = ["","小思家","银行","邮局","餐厅","书店","医院","超市","小科家"]\nposition = [[0, 0], [60, 320], [510, 390], [240, 200], [750, 330], [410, 90], [540, 190], [550, 30], [720, 120]]\nsprite.clearAllSprites()\nsprite.createBackground(\'map_si_ke\')\nstu = sprite.Sprite(\'girl\', 60, 320)\nstu.enlargeTo(100)\ntime.sleep(1)\n\n'},g_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return'g =[[10000,10000,10000,10000,10000,10000,10000],[10000,10000,300,500,10000,10000,10000],[10000,300,10000,10000,300,700,10000],[10000,500,10000,10000,10000,100,10000],[10000,10000,300,10000,10000,10000,200],[10000,10000,700,100,10000,10000,100],[10000,10000,10000,10000,200,100,10000]]\nnow=1\nlast=1\npath=[]\npath.append(1)\nname = ["","小智家","邮局","银行","书店","餐厅","学校"]\nposition = [[0, 0], [70, 340], [70, 90], [550, 310], [420, 70], [730, 250], [650, 130]]\nsprite.clearAllSprites()\nsprite.createBackground(\'map_zhi_xue\')\nstu = sprite.Sprite(\'boy\', 70, 340)\nstu.enlargeTo(100)\ntime.sleep(1)\n\n'},__=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return'tmp=10000\nfor i in range(0, len(g), 1):\n if g[now][i]6:\n print("路线错乱!程序有误!")\n exit()\n'},y_=function(e,t){return["name[now] != '小科家'",t.ORDER_ATOMIC]},v_=function(e,t){return["name[now] != '学校'",t.ORDER_ATOMIC]},b_=function(){return'res = ""\nfor i in path:\n res = res + name[i] + "→"\nprint(res[:-1])\n'},T_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("NUM");if(n>=7)var i="print('层数过高!不得高于6层!')\nexit()\n";else i="sprite.clearAllSprites()\n_Hanoicolor = ['blue', 'red', 'yellow', 'green', 'purple', 'black']\n_Hanoi = [[], [], []]\nA = 0\nB = 1\nC = 2\n_n = "+n+"\n_HanoiColumn = [\n sprite.Sprite('HanoiColumn', 200, 320),\n sprite.Sprite('HanoiColumn', 400, 320),\n sprite.Sprite('HanoiColumn', 600, 320)\n]\n_HanoiColumnNumber = [\n sprite.Text('A', 190, 120),\n sprite.Text('B', 390, 120),\n sprite.Text('C', 590, 120)\n]\n_HanoiBlock = []\nfor i in range(0, _n, 1):\n _HanoiBlock.append(sprite.Sprite(_Hanoicolor[i], 200, 400-(_n-i-1)*27))\n _HanoiBlock[i].setScale(25, 30*i+30)\n _Hanoi[0].insert(0, _HanoiBlock[i])\n_steptext = sprite.Text('步数:0', 30, 30)\n_steps = {'steps' : 0}\ntime.sleep(1)\n";return i},x_=function(e,t){var n=t.valueToCode(this,"FROM_NUM",t.ORDER_ATOMIC)||"0",i=t.valueToCode(this,"TO_NUM",t.ORDER_ATOMIC)||"0";return`if len(_Hanoi[${n}])>0 :\n _HanoiBlockMoved = _Hanoi[${n}].pop()\n if len(_Hanoi[${i}]) > 0 :\n _HanoiBlockSuppressed = _Hanoi[${i}].pop()\n if _HanoiBlock.index(_HanoiBlockMoved) > _HanoiBlock.index(_HanoiBlockSuppressed):\n print('非法移动!程序有误!')\n exit()\n else:\n _Hanoi[${i}].append(_HanoiBlockSuppressed)\n _HanoiBlockMoved.slideTo(${n}*200+200, 180, 0.2)\n _HanoiBlockMoved.slideTo(${i}*200+200, 180, 0.5)\n _HanoiBlockMoved.slideTo(${i}*200+200, 400-len(_Hanoi[${i}])*27, 0.2)\n _Hanoi[${i}].append(_HanoiBlockMoved)\n _steps['steps'] += 1\n _steptext.changeText('步数:'+str(_steps['steps']))\nelse :\n print('非法移动!程序有误!')\n exit()\n`},E_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"if 'mode' not in globals() or mode == 0:\n sprite.clearAllSprites()\n ring=[0,0,0,0,0,0,0,0,0,0]\n mode=1\n n=5\n ring[5]=1\n name=['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\n Books = []\n for i in range(1, 11, 1):\n Books.append(sprite.Sprite('books/book'+str(i), (130*i-650) if i>5 else 130*i, 320 if i>5 else 120))\nelse:\n mode=2\n n=len(ring)-1\nring[n]=1\ntime.sleep(1)\n"},w_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"if 'mode' not in globals() or mode == 0:\n sprite.clearAllSprites()\n ring=[0,0,0,0,0,0,0,0,0,0]\n mode=2\n n=5\n name=['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\n Books = []\n for i in range(1, 11, 1):\n Books.append(sprite.Sprite('books/book'+str(i), (130*i-650) if i>5 else 130*i, 320 if i>5 else 120))\nelse:\n mode=1\n n=len(ring)-1\nring[n]=n\nlist=ring\ntemp=Books\ntime.sleep(1)\n"},I_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"res=0\nflag=ring[res]\nBooks[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n"},A_=function(e,t){return["(('mode' not in globals())or(mode==1 and flag==0)or(mode==2 and not any(value > 0 for value in qian))or(mode==0))",t.ORDER_ATOMIC]},S_=function(e,t){return["(('mode' in globals())and((mode==1 and flag!=0)or(mode==2 and any(value > 0 for value in qian))))",t.ORDER_ATOMIC]},C_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n="res+=1\nflag=ring[res]\n";return n="Books[res].filterGray()\ntime.sleep(0.3)\n"+(n+="Books[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n")},O_=function(e,t){return["len(list)>=2",t.ORDER_ATOMIC]},M_=function(){return"mid = int(len(list)/2)\nqian = list[0:mid]\nhou = list[mid:]\nqiantemp = temp[0:mid]\nhoutemp = temp[mid:]\n"},k_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"quchu = qian\nlist = hou\nquchutemp = qiantemp\ntemp = houtemp\nfor i in qiantemp:\n i.filterBrighter()\ntime.sleep(0.5)\nfor i in qiantemp:\n i.filterGray()\ntime.sleep(0.5)\n"},R_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"list = quchu\ntemp = quchutemp\nfor i in qiantemp:\n i.filterBrighter()\ntime.sleep(0.5)\nfor i in qiantemp:\n i.filterOrigin()\nfor i in houtemp:\n\ti.filterBrighter()\ntime.sleep(0.5)\nfor i in houtemp:\n i.filterGray()\ntime.sleep(0.5)\n"},N_=function(){return"if 'list' in globals():\n res = list[0]\nBooks[res].filterBrighter()\nprint('未消磁的书籍是第'+str(res+1)+'本《'+name[res%10]+'》。')\nif res!=n:\n print('答案错误!请检查程序!')\nmode=0\n"},D_=function(e,t){var n=this.getFieldValue("NUM");return t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite",`sprite.clearAllSprites()\nring = []\nname = ['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\nBooks = []\nfor i in range(${n}):\n ring.append(0)\nfor i in range(1, ${n}+1, 1):\n Books.append(sprite.Sprite('books/book'+str(i%10 if i%10!=0 else 10), ${{5:"130*i, 120",10:"(130*i-650) if i>5 else 130*i, 320 if i>5 else 120",20:"(65*i-650)+30 if i>10 else 65*i+30, 320 if i>10 else 120",50:"(26*i-650)+50 if i>25 else 26*i+50, 320 if i>25 else 120"}[n]}))\ntime.sleep(1)\nmode=3\n`},F_=function(e,t){t.definitions_.import_sprite="import sprite";return"cnt=0\ncntText = sprite.Text('计数器:0', 30, 200)\n"},L_=function(e,t){t.definitions_.import_sprite="import sprite";return"cnt+=1\ncntText.changeText('计数器:'+str(cnt))\n"},P_=function(e,t){t.definitions_.import_sprite="import sprite";return"print('计数器大小:'+str(cnt))\n"},B_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\n_head = 10\n_foot = 32\n_footText = sprite.Text('脚的数量:', 20, 10)\n_sprite = []\n"},$_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_rabbit = 0\ntime.sleep(1)\n"},U_=function(e,t){return["_rabbit < _head",t.ORDER_ATOMIC]},V_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_chick = _head - _rabbit\nfor i in range(0, _chick, 1):\n _sprite.append(sprite.Sprite('jttl/chick', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\n\ntime.sleep(0.5)\n_footText.changeText('脚的数量:'+str(_rabbit*4 + _chick*2))\ntime.sleep(1)\n"},z_=function(e,t){return["_rabbit*4 + _chick*2 == _foot",t.ORDER_ATOMIC]},j_=function(e,t){t.definitions_.import_sprite="import sprite";return"print('鸡的数量:'+str(_chick)+'只;\\n兔的数量:'+str(_rabbit)+'只。')\n"},Y_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_rabbit += 1\nsprite.clearAllSprites()\n_sprite = []\n_footText = sprite.Text('脚的数量:', 20, 10)\nfor i in range(0, _rabbit, 1):\n _sprite.append(sprite.Sprite('jttl/rabbit', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\ntime.sleep(0.5)\n"},G_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\nsprite.createBackground('/fzsf/map_ck_xxjsjs')\n_S1 = sprite.Sprite('/fzsf/S1',400,225,'S1')\n_S2 = sprite.Sprite('/fzsf/S2',400,225,'S2')\n_S3 = sprite.Sprite('/fzsf/S3',400,225,'S3')\n_S4 = sprite.Sprite('/fzsf/S4',400,225,'S4')\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_text_1 = sprite.Text('S1:',0,0,'text')\n_text_2 = sprite.Text('S2:',0,30,'text2')\n_text_3 = sprite.Text('S3:',0,60,'text3')\n_text_4 = sprite.Text('S4:',0,90,'text4')\n_position = [[60, 270], [240, 50], [260, 380], [440, 190], [730, 60], [700, 400]]\n_Llen = [0, 170, 230, 100, 150, 10, 30, 50]\n_Slen = [0, 0, 0, 0, 0]\n_tag = [0, [0, 1, 3], [0, 2, 3], [3, 4, 5], [3, 5]]\nbear = sprite.Sprite('mixbear',60,270,'bear')\nbear.enlargeTo(80)\n_pos = 0\ntime.sleep(1)\n"},H_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("PATHNAME");const i=[0,[1,3],[2,4],[5,7],[6]];var r="";return r+=`_S${n}.show()\ntime.sleep(1)\n`,r+=4!=n?`_Slen[${n}] = _Llen[${i[n][0]}] + _Llen[${i[n][1]}]\n_text_${n}.changeText('S${n}:'+str(_Slen[${n}])+'m')\ntime.sleep(1)\n_S${n}.hide()\ntime.sleep(1)\n`:"_Slen[4] = _Llen[6]\n_text_4.changeText('S4:'+str(_Slen[4])+'m')\ntime.sleep(1)\n_S4.hide()\ntime.sleep(1)\n"},W_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n="";return[n+=`_Slen[${this.getFieldValue("PATHNAME")}] < _Slen[${this.getFieldValue("PATHNAME2")}]`,t.ORDER_ATOMIC]},X_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("PATHNAME"),i="";return i+=`\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_Smin = ${n}\n_S${n}.show()\ntime.sleep(0.5)\n_S${n}.hide()\ntime.sleep(0.5)\n_S${n}.show()\ntime.sleep(1)\n`},q_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"if(_pos == _tag[_Smin][0]):\n for i in range(1, len(_tag[_Smin]), 1):\n bear.slideTo(_position[_tag[_Smin][i]][0], _position[_tag[_Smin][i]][1], 1)\n _pos = _tag[_Smin][len(_tag[_Smin])-1]\nelse:\n print('移动错误!程序有误!')\n exit()\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\nif(_pos == 5):\n print('成功抵达信息科技教室!')\n"},K_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\nsprite.createBackground('/hxdb/hxdbbg')\n_soldier = []\n_num = sprite.Text('目前士兵数量:0',0,0,'num')\n_last = sprite.Text('剩余:0',500,0,'last')\n_line = 3\n"},Z_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n="";return n+=`for i in range(0, ${this.getFieldValue("NUM")}, 1):\n _soldier.append(sprite.Sprite('/hxdb/soldier', 30 + (len(_soldier)%_line)*50 + (len(_soldier)//(4*_line))*(_line+1)*50 +(len(_soldier)%3-2), 80+(len(_soldier)//_line)*100-(len(_soldier)//(4*_line))*4*100+(len(_soldier)%2)))\n_num.changeText('目前士兵数量:'+str(len(_soldier)))\n`},Q_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("NUM");return`for i in range(0, len(_soldier), 1):\n _soldier[i].slideTo(30 + (i%${n})*50 + (i//(4*${n}))*(${n}+1)*50 +(i%3-2), 80+(i//${n})*100-(i//(4*${n}))*4*100+(i%2), 0.05)\n_line = ${n}\n_last.changeText('剩余:'+str(len(_soldier)%_line))\ntime.sleep(2)\n`},J_=function(e,t){return t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite",[`len(_soldier)%_line == ${this.getFieldValue("NUM")}`,t.ORDER_ATOMIC]},ey=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_num.changeText('目前士兵数量:'+str(len(_soldier)+1))\n_last.changeText('剩余:')\ntime.sleep(0.5)\n_soldier.append(sprite.Sprite('/hxdb/soldier', 30 + (len(_soldier)%_line)*50 + (len(_soldier)//(4*_line))*(_line+1)*50 +(len(_soldier)%3-2), 80+(len(_soldier)//_line)*100-(len(_soldier)//(4*_line))*4*100+(len(_soldier)%2)))\ntime.sleep(1)\n"},ty=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"print('符合要求的士兵数量为:'+str(len(_soldier)))\n"},ny=function(e,t){t.definitions_.import_turtle="import turtle",t.definitions_.import_time="import time",t.definitions_.import_math="import math";var n=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),i=this.getFieldValue("NUM");return t.setups_.init_Hanoi="\ndef init_Hanoi():\n pen = turtle.Turtle()\n pen.hideturtle()\n pen.speed(0)\n for i in range(0, 3, 1):\n pen.penup()\n pen.setheading(0)\n pen.goto(150 * i - 200,-100)\n pen.pendown()\n pen.pensize(5)\n pen.forward(100)\n pen.goto(150 * i - 150,-100)\n pen.setheading(90)\n pen.forward(200)",t.setups_.begin="\ndef begin(): \n s = turtle.Turtle()\n s.hideturtle()\n s.penup()\n s.speed(0)\n s.goto(0,-150)\n s.write('3')\n time.sleep(1)\n s.clear()\n s.write('2')\n time.sleep(1)\n s.clear()\n s.write('1')\n time.sleep(1)\n s.clear()\n s.write('Start!')\n time.sleep(1)\n s.clear()\n",t.setups_.move="\ndef move(x, y):\n try:\n t = tower[x].pop(-1)\n a = tower_num[x].pop(-1)\n if tower_num[y]!=[]:\n b = tower_num[y][-1]\n if a 1"}]`,t.ORDER_ATOMIC]},Fv=function(e,t){return[`${t.valueToCode(e,"DICT",t.ORDER_ATOMIC)||"df"}.groupby(by=${t.valueToCode(e,"KEY",t.ORDER_ATOMIC)||"'tag'"})`,t.ORDER_ATOMIC]},Lv=function(e,t){return[`${t.valueToCode(e,"DICT",t.ORDER_ATOMIC)||"df"}.${e.getFieldValue("TYPE")}()`,t.ORDER_ATOMIC]},Pv=function(e,t){t.definitions_.import_matplotlib_pyplot="import matplotlib.pyplot as plt";return"plt.cla()\n"},Bv=function(e,t){var n=t.variableDB_.getName(this.getFieldValue("VAR"),Ve.Variables.NAME_TYPE),i=t.variableDB_.getName(this.getFieldValue("TYPE"),Ve.Variables.NAME_TYPE),r="class "+i+":\n";r+=" def __init__(self):\n";for(var s=new Array(this.itemCount_),o=0;o0;r--)t.getInputTargetBlock("IF"+r)&&t.getInputTargetBlock("IF"+r).previousConnection?n[r]=t.getInputTargetBlock("IF"+r).previousConnection:n[r]=null,this.removeInput("IF"+r),t.getInputTargetBlock("DO"+r)&&t.getInputTargetBlock("DO"+r).previousConnection?i[r]=t.getInputTargetBlock("DO"+r).previousConnection:i[r]=null,this.removeInput("DO"+r);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(r=1;r<=this.elseifCount_;r++)this.appendValueInput("IF"+r).setCheck([Boolean,Number]).appendField(Ve.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+r).appendField(Ve.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ve.Msg.CONTROLS_IF_MSG_ELSE);for(r=n.length-2;r>0;r--)n[r]&&n[r].reconnect(this,"IF"+r);for(r=i.length-2;r>0;r--)i[r]&&i[r].reconnect(this,"DO"+r)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var n=t.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var r=e.newBlock("controls_if_elseif");r.initSvg(),n.connect(r.previousConnection),n=r.nextConnection}if(this.elseCount_){var s=e.newBlock("controls_if_else");s.initSvg(),n.connect(s.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var n=e.getInputTargetBlock("STACK"),i=[null],r=[null],s=null;n;){switch(n.type){case"controls_if_elseif":this.elseifCount_++,i.push(n.valueConnection_),r.push(n.statementConnection_);break;case"controls_if_else":this.elseCount_++,s=n.statementConnection_;break;default:throw Error("Unknown block type: "+n.type)}n=n.nextConnection&&n.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,r,s)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),n=1;t;){switch(t.type){case"controls_if_elseif":var i=this.getInput("IF"+n),r=this.getInput("DO"+n);t.valueConnection_=i&&i.connection.targetConnection,t.statementConnection_=r&&r.connection.targetConnection,n++;break;case"controls_if_else":r=this.getInput("ELSE");t.statementConnection_=r&&r.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],n=null;this.getInput("ELSE")&&(n=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var r=this.getInput("IF"+i),s=this.getInput("DO"+i);console.log(r.connection.targetConnection),e.push(r.connection.targetConnection),t.push(s.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(e,t,n)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Ve.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(Ve.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ve.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,n){for(var i=1;i<=this.elseifCount_;i++)e[i]&&e[i].reconnect(this,"IF"+i),t[i]&&t[i].reconnect(this,"DO"+i);n&&n.reconnect(this,"ELSE")}},ct={init:function(){this.setColour(rt),this.appendValueInput("FROM").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.PYTHON_RANGE).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},dt={init:function(){this.setColour(rt),this.appendValueInput("LIST").setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Ve.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(function(){return Ve.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ht={init:function(){this.setColour(rt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Ve.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Ve.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Ve.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Ve.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE");return{WHILE:Ve.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Ve.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]})}},pt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Ve.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ve.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Ve.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,n=[],i=[];this.elseCount_&&this.removeInput("ELSE");for(var r=this.elseifCount_;r>0;r--)t.getInputTargetBlock("IF"+r)&&t.getInputTargetBlock("IF"+r).previousConnection?n[r]=t.getInputTargetBlock("IF"+r).previousConnection:n[r]=null,this.removeInput("IF"+r),t.getInputTargetBlock("DO"+r)&&t.getInputTargetBlock("DO"+r).previousConnection?i[r]=t.getInputTargetBlock("DO"+r).previousConnection:i[r]=null,this.removeInput("DO"+r);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(r=1;r<=this.elseifCount_;r++)this.appendValueInput("IF"+r).setCheck([Boolean,Number]).appendField(Ve.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+r).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ve.Msg.MIXLY_PYTHON_FINALLY);for(r=n.length-2;r>0;r--)n[r]&&n[r].reconnect(this,"IF"+r);for(r=i.length-2;r>0;r--)i[r]&&i[r].reconnect(this,"DO"+r)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var n=t.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var r=e.newBlock("controls_except");r.initSvg(),n.connect(r.previousConnection),n=r.nextConnection}if(this.elseCount_){var s=e.newBlock("controls_finally");s.initSvg(),n.connect(s.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var n=e.getInputTargetBlock("STACK"),i=[null],r=[null],s=null;n;){switch(n.type){case"controls_except":this.elseifCount_++,i.push(n.valueConnection_),r.push(n.statementConnection_);break;case"controls_finally":this.elseCount_++,s=n.statementConnection_;break;default:throw Error("Unknown block type: "+n.type)}n=n.nextConnection&&n.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,r,s)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),n=1;t;){switch(t.type){case"controls_except":var i=this.getInput("IF"+n),r=this.getInput("DO"+n);t.valueConnection_=i&&i.connection.targetConnection,t.statementConnection_=r&&r.connection.targetConnection,n++;break;case"controls_finally":r=this.getInput("ELSE");t.statementConnection_=r&&r.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],n=null;this.getInput("ELSE")&&(n=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var r=this.getInput("IF"+i),s=this.getInput("DO"+i);console.log(r.connection.targetConnection),e.push(r.connection.targetConnection),t.push(s.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(e,t,n)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Ve.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ve.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,n){for(var i=1;i<=this.elseifCount_;i++)e[i]&&e[i].reconnect(this,"IF"+i),t[i]&&t[i].reconnect(this,"DO"+i);n&&n.reconnect(this,"ELSE")}},ft={init:function(){this.setColour(rt);var e=new Ve.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(Ve.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip(function(){var e=t.getFieldValue("FLOW");return{BREAK:Ve.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Ve.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]})},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(Ve.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},mt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Ve.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip(function(){return Ve.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},gt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Ve.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip(function(){return Ve.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};ht.OPERATORS=[[Ve.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Ve.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],ft.OPERATORS=[[Ve.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Ve.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const _t={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Ve.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},yt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},vt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Ve.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},bt={init:function(){this.setColour(rt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Tt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Ve.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},xt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Ve.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Et={init:function(){this.jsonInit({message0:Ve.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:rt,tooltip:Ve.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Ve.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},wt={init:function(){this.setColour(rt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_STAT),this.setOutput(!0)}},It={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},At={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},St={init:function(){this.appendDummyInput().appendField(Ve.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Ve.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Ve.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Ve.FieldDropdown([[Ve.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Ve.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(rt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Ct={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ot={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Mt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},kt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET+Ve.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.PROCEDURES_DEFRETURN_RETURN+Ve.Msg.MIXLY_GET_UNIQUE_IDEN)}},Rt={init:function(){this.setColour(rt),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Ve.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},Nt={init:function(){this.setColour(rt),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},Dt=230;Ve.FieldTextInput.math_number_validator=function(e){return String(e)},Ve.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const Ft={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(new Ve.FieldTextInput("0",Ve.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MATH_NUMBER_TOOLTIP)}},Lt={init:function(){this.setColour(Dt);this.appendDummyInput("").appendField(Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Ve.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip(function(){var t=e.getFieldValue("CONSTANT");return{pi:Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]})}},Pt={init:function(){this.setColour(Dt);this.appendDummyInput("").appendField(Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Ve.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip(function(){var t=e.getFieldValue("CONSTANT");return{pi:Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Ve.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]})}},Bt={init:function(){this.setColour(Dt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("OP");return{ADD:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Ve.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]})}},$t={init:function(){this.setColour(Dt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("OP");return{ADD:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Ve.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Ve.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]})}},Ut={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Ve.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Vt={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Ve.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip(function(){var t=e.getFieldValue("OP");return{SIN:Ve.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Ve.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Ve.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Ve.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Ve.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Ve.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Ve.Msg.MATH_SINGLE_TOOLTIP_LN}[t]})}},zt={init:function(){var e=[[Ve.Msg.MATH_BIN,"bin"],[Ve.Msg.MATH_OCT,"oct"],[Ve.Msg.MATH_HEX,"hex"]];this.setColour(Dt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Ve.FieldDropdown(e),"OP");var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{bin:Ve.Msg.MATH_DEC_TOOLTIP_BIN,oct:Ve.Msg.MATH_DEC_TOOLTIP_OCT,hex:Ve.Msg.MATH_DEC_TOOLTIP_HEX}[e]})}},jt={init:function(){var e=[[Ve.Msg.LANG_MATH_TO_ROUND,"round"],[Ve.Msg.LANG_MATH_TO_CEIL,"ceil"],[Ve.Msg.LANG_MATH_TO_FLOOR,"floor"],[Ve.Msg.MATH_ABS,"fabs"],[Ve.Msg.MATH_SQRT,"sqrt"]];this.setColour(Dt),this.appendValueInput("A").setCheck(Number).appendField(new Ve.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{sqrt:Ve.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Ve.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Ve.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Ve.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Ve.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Ve.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]})}},Yt={init:function(){var e=[[Ve.Msg.MIXLY_MAX,"max"],[Ve.Msg.MIXLY_MIN,"min"]];this.setColour(Dt),this.appendValueInput("A").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(new Ve.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Ve.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{max:Ve.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Ve.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]})}},Gt={init:function(){var e=[[Ve.Msg.MATH_TWO,"two"],[Ve.Msg.MATH_EIGHT,"eight"],[Ve.Msg.MATH_TEN,"ten"],[Ve.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Dt),this.appendDummyInput("").appendField(Ve.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Ve.FieldDropdown(e),"OP").appendField(Ve.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Ve.Msg.MATH_ZHW).appendField(new Ve.FieldDropdown(e),"OP2").appendField(Ve.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP"),n={two:Ve.Msg.MATH_Before_two,eight:Ve.Msg.MATH_Before_eight,ten:Ve.Msg.MATH_Before_ten,sixteen:Ve.Msg.MATH_Before_sixteen},i=t.getFieldValue("OP2"),r={two:Ve.Msg.MATH_Behind_two,eight:Ve.Msg.MATH_Behind_eight,ten:Ve.Msg.MATH_Behind_ten,sixteen:Ve.Msg.MATH_Behind_sixteen};return n[e]+r[i]})}},Ht={init:function(){var e=[[Ve.Msg.LANG_MATH_INT,"int"],[Ve.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Dt),this.setOutput(!0,Number),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Ve.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Ve.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("TYPE"),n={int:Ve.Msg.LANG_MATH_INT,float:Ve.Msg.LANG_MATH_FLOAT_RANDOM};return Ve.Msg.MATH_RANDOM_INT_TOOLTIP+n[e]})}},Wt={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Ve.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Ve.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Ve.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MATH_CONSTRAIN_TOOLTIP)}},Xt={init:function(){this.setColour(Dt),this.appendValueInput("NUM",Number).appendField(Ve.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Ve.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Ve.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_MATH_MAP)}},qt={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(new Ve.FieldTextInput("0",Ve.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Ve.Msg.MATH_NUMBER_TOOLTIP)}},Kt={init:function(){this.setColour(Dt),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Zt={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Ve.Msg.MATH_ROUND).appendField(Ve.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Ve.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MATH_ROUND_NEW_TOOLTIP)}},Qt={init:function(){var e=[[Ve.Msg.MIXLY_TO_INT,"int"],[Ve.Msg.MIXLY_TO_FLOAT,"float"],[Ve.Msg.MIXLY_TO_BITES,"b"],[Ve.Msg.LANG_MATH_BYTE+Ve.Msg.MIXLY_TO_INT,"bti"]];this.setColour(Dt),this.appendValueInput("VAR").appendField(new Ve.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip(function(){var e=t.getFieldValue("TOWHAT");return{int:Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Ve.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]})}},Jt={init:function(){var e=[[Ve.Msg.MIXLY_TO_INT,"int"],[Ve.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Dt),this.appendValueInput("VAR").appendField(new Ve.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip(function(){var e=t.getFieldValue("TOWHAT");return{int:Ve.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Ve.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]})}},en=Xt,tn={init:function(){this.setColour(Dt),this.appendValueInput("VAR").appendField(Ve.Msg.LANG_MATH_BYTE+Ve.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},nn={init:function(){this.setColour(Dt),this.itemCount_=1,this.setMutator(new Ve.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Ve.Msg.MIXLY_PRODUCT+Ve.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Ve.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Ve.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Ve.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;i1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const cn={init:function(){this.setColour(on),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Ve.FieldTextInput("",Ve.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new Ve.FieldImage(t,7,12,'"')}},dn={init:function(){this.setColour(on),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Ve.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},hn={init:function(){this.setColour(on),this.appendValueInput("VAR").setCheck(Number).appendField(Ve.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},pn={init:function(){this.setColour(on),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},fn={init:function(){this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},mn={init:function(){this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},gn={init:function(){this.WHERE_OPTIONS=[[Ve.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Ve.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Ve.Msg.TEXT_GET_INDEX_RANDOM+1+Ve.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Ve.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Ve.Msg.LISTS_GET_INDEX_GET,"MODE"),Ve.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Ve.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=e.getFieldValue("WHERE"),i="";switch(t+" "+n){case"GET FROM_START":case"GET FROM_END":i=Ve.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":i=Ve.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":i=Ve.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":i=Ve.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=n&&"FROM_END"!=n||(i+=" "+Ve.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Ve.Msg.ONE_BASED_INDEXING?"#1":"#0")),i});var t=this;this.setTooltip(function(){var e=t.getFieldValue("WHERE"),n={FROM_START:Ve.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Ve.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Ve.Msg.TEXT_GET_INDEX_RANDOM};return Ve.Msg.PROCEDURES_DEFRETURN_RETURN+Ve.Msg.MIXLY_MICROBIT_TYPE_STRING+n[e]+"n"+Ve.Msg.TEXT_CHARAT2})},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==Ve.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),Ve.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Ve.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new Ve.FieldDropdown(this.WHERE_OPTIONS,function(t){var n="FROM_START"==t||"FROM_END"==t;if(n!=e){var i=this.sourceBlock_;return i.updateAt_(n),i.setFieldValue(t,"WHERE"),null}});this.getInput("AT").appendField(t,"WHERE"),Ve.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},_n={init:function(){this.setHelpUrl(Ve.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Ve.Msg.LISTS_GET_INDEX_GET+" "+Ve.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Ve.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Ve.Msg.PROCEDURES_DEFRETURN_RETURN+Ve.Msg.MIXLY_MICROBIT_TYPE_STRING+Ve.Msg.LISTS_GET_INDEX_FROM_START+"n"+Ve.Msg.TEXT_CHARAT2)}},yn={init:function(){this.setHelpUrl(Ve.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Ve.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Ve.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},vn={init:function(){this.WHERE_OPTIONS_1=[[Ve.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Ve.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Ve.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Ve.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Ve.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Ve.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Ve.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Ve.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==Ve.INPUT_VALUE;e.setAttribute("at1",t);var n=this.getInput("AT2").type==Ve.INPUT_VALUE;return e.setAttribute("at2",n),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),n="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,n)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),Ve.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(Ve.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var n=new Ve.FieldDropdown(this["WHERE_OPTIONS_"+e],function(n){var i="FROM_START"==n||"FROM_END"==n;if(i!=t){var r=this.sourceBlock_;return r.updateAt_(e,i),r.setFieldValue(n,"WHERE"+e),null}});this.getInput("AT"+e).appendField(n,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},bn={init:function(){this.setHelpUrl(Ve.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Ve.Msg.LISTS_GET_INDEX_GET+" "+Ve.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Ve.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Ve.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Ve.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Tn={init:function(){var e=[[Ve.Msg.MIXLY_EQUALS,"==="],[Ve.Msg.MIXLY_STARTSWITH,"startswith"],[Ve.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(on),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Ve.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},xn={init:function(){this.setColour(on),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Ve.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_COMPARETO_HELP)}},En={init:function(){var e=[[Ve.Msg.TEXT_UPPER,"upper"],[Ve.Msg.TEXT_TITLE,"title"],[Ve.Msg.TEXT_CAPITALIZE,"capitalize"],[Ve.Msg.TEXT_SWAPCASE,"swapcase"],[Ve.Msg.TEXT_LOWER,"lower"]];this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Ve.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip(function(){var e=t.getFieldValue("CAPITAL");return{upper:Ve.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Ve.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Ve.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Ve.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Ve.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]})}},wn={init:function(){var e=[[Ve.Msg.TEXT_LJUST,"ljust"],[Ve.Msg.TEXT_CENTER,"center"],[Ve.Msg.TEXT_RJUST,"rjust"]];this.setColour(on),this.appendValueInput("VAR").appendField(new Ve.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Ve.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Ve.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},In={init:function(){this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Ve.Msg.MIXLY_MID+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Ve.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},An={init:function(){this.setColour(on),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Ve.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Sn={init:function(){this.setColour(on),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Ve.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Ve.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Cn={init:function(){this.setColour(on),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Ve.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Ve.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},On={init:function(){var e=[[Ve.Msg.TEXT_TRIM_BOTH,"strip"],[Ve.Msg.TEXT_TRIM_LEFT,"lstrip"],[Ve.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(on),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Ve.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(Ve.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("TOWHAT");return{strip:Ve.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Ve.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Ve.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]})}},Mn={init:function(){this.setColour(on),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Ve.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Ve.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;it?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ai={init:function(){this.setColour(wi),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Si={init:function(){this.setColour(wi),this.appendDummyInput().appendField(Ve.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Ci={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_KEYS),this.setTooltip(Ve.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Oi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Ve.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Ve.Msg.DICTS_GET_TOOLTIP)}},Mi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Ve.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Ve.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Ve.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},ki={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Ve.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Ri={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Ve.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_DELETE_TOOLTIP)}},Ni={init:function(){this.setColour(wi),this.appendValueInput("DICT2").setCheck("Dict").appendField(Ve.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Ve.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MID),this.setTooltip(Ve.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Di={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_CLEAR),this.setTooltip(Ve.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_ITEMS),this.setTooltip(Ve.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Li={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_VALUES),this.setTooltip(Ve.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Pi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_LENGTH),this.setTooltip(Ve.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Bi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.DICT_DELDICT),this.setTooltip(Ve.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$i={init:function(){this.MODE=[[Ve.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Ve.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Ve.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Ve.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip(function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=Ve.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=Ve.Msg.DICTS_DELETE_TOOLTIP}return t})},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==Ve.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new Ve.FieldDropdown(this.MODE,function(t){var n="INSERT"==t;if(n!=e){var i=this.sourceBlock_;return i.updateAt_(n),i.setFieldValue(t,"WHERE"),null}});this.getInput("AT2").appendField(t,"WHERE")}},Ui={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Ve.Msg.DICTS_ADD_VALUE),this.setTooltip(Ve.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Vi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ve.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Ve.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_SETDEFAULT_TOOLTIP)}},zi={init:function(){this.setColour(wi),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Ve.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;it?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ji={init:function(){this.setColour(wi),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Yi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TO_JSON),this.setTooltip(Ve.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Gi={init:function(){this.setColour(wi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Ve.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Hi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Wi={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TO_JSON),this.setTooltip(Ve.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Xi=210,qi={init:function(){var e=Ve.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{EQ:Ve.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Ve.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Ve.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Ve.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Ve.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Ve.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]}),this.prevBlocks_=[null,null]}},Ki={init:function(){var e=Ve.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=Ve.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new Ve.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Zi={init:function(){var e=[[Ve.Msg.LOGIC_OPERATION_AND,"AND"],[Ve.Msg.LOGIC_OPERATION_OR,"OR"],[Ve.Msg.LOGIC_OPERATION_NOR,"NOR"],[Ve.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Ve.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("OP");return{AND:Ve.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Ve.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Ve.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Ve.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]})}},Qi={init:function(){this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Ve.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Ve.Msg.LOGIC_NEGATE_TOOLTIP)}},Ji={init:function(){var e=[[Ve.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Ve.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Ve.FieldDropdown(e),"BOOL"),this.setTooltip(Ve.Msg.LOGIC_BOOLEAN_TOOLTIP)}},er={init:function(){this.setColour(Xi),this.setOutput(!0),this.appendDummyInput().appendField(Ve.Msg.LOGIC_NULL),this.setTooltip(Ve.Msg.LOGIC_NULL_TOOLTIP)}},tr={init:function(){this.setColour(Xi),this.appendValueInput("A"),this.appendValueInput("B").appendField(Ve.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Ve.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},nr={init:function(){var e=[[Ve.Msg.TEXT_APPEND_TO,"in"],[Ve.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Xi),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Ve.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(Ve.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ve.Msg.IN)}},ir={init:function(){var e=[[Ve.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Ve.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Xi),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ve.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},rr={init:function(){this.setColour(Xi),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},sr={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Ve.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},or={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Ve.Msg.MIXLY_ADD,"a"],[Ve.Msg.MATH_BIN+Ve.Msg.MIXLY_ADD,"ab"],[Ve.Msg.MIXLY_R_W,"r+"],[Ve.Msg.MATH_BIN+Ve.Msg.MIXLY_R_W,"rb+"],[Ve.Msg.MIXLY_W_R,"w+"],[Ve.Msg.MATH_BIN+Ve.Msg.MIXLY_W_R,"wb+"],[Ve.Msg.MIXLY_A_R,"a+"],[Ve.Msg.MATH_BIN+Ve.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_USE,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,r=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,s=Ve.Msg.MIXLY_BELONG;return n+{r:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+s+i+r})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ar={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_USE,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,r=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,s=Ve.Msg.MIXLY_BELONG,o=Ve.Msg.PY_STORAGE_FILE_OBJECT;return n+{r:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+s+i+r+o})}},lr={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Ve.Msg.MIXPY_TEXT_ENCODE).appendField(new Ve.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_USE,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,r=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,s=Ve.Msg.MIXLY_BELONG,o=Ve.Msg.PY_STORAGE_FILE_OBJECT;return n+{r:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+s+i+r+o})}},ur={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Ve.Msg.MIXLY_MICROBIT_TYPE_STRING+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},cr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},dr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return n+{read:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+i})}},hr={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MICROBIT_PYTHON_TYPE)}},pr={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ve.Msg.HTML_FILE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},fr={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},mr={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},gr={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const _r={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},yr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},vr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},br={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE"),n=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,i=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,r=Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return n+" "+{start:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+r+"x"+i})}},Tr={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},xr={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Ve.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE");return Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Ve.Msg.MIXLY_ESP32_SET+{mkdir:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]})}},Er={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Ve.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},wr={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Ir={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.HTML_FILE,"isfile"],[Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip(function(){var t=e.getFieldValue("MODE");return Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]})}},Ar={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Ve.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_SETUP+Ve.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Ve.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Sr={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Ve.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Cr={init:function(){var e=Ve.Procedures.findLegalName("",this),t=new Ve.FieldTextInput(e,Ve.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new Ve.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Ve.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Ve.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Ve.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Ve.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(Ve.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=Ve.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Ve.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{Ve.Events.enable()}},mutationToDom:function(e){var t=Ve.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var n=0;n"),this.appendValueInput("style").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Es={init:function(){this.setColour(_s),this.appendDummyInput().appendField(Ve.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},ws={init:function(){this.setColour(_s),this.appendDummyInput().appendField(Ve.Msg.HTML_FORM_CONTENT).appendField(new Ve.FieldDropdown([[Ve.Msg.HTML_TEXT,"text"],[Ve.Msg.HTML_EMAIL,"email"],[Ve.Msg.HTML_NUMBER,"number"],[Ve.Msg.HTML_PASSWORD,"password"],[Ve.Msg.HTML_CHECKBOX,"checkbox"],[Ve.Msg.HTML_RADIOBUTTON,"radiobutton"],[Ve.Msg.HTML_BUTTON,"button"],[Ve.Msg.HTML_COLOUR,"colour"],[Ve.Msg.HTML_DATE,"date"],[Ve.Msg.HTML_LOCALTIME,"local time"],[Ve.Msg.HTML_FILE,"file"],[Ve.Msg.HTML_HIDDEN,"hidden"],[Ve.Msg.HTML_IMAGE,"image"],[Ve.Msg.HTML_MONTH,"month"],[Ve.Msg.HTML_RANGE,"range"],[Ve.Msg.HTML_RESET,"reset"],[Ve.Msg.HTML_SEARCH,"search"],[Ve.Msg.HTML_SUBMIT,"submit"],[Ve.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Ve.Msg.HTML_TIME,"time"],[Ve.Msg.HTML_URL,"url"],[Ve.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Ve.Msg.HTML_NAME).appendField(new Ve.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Ve.Msg.HTML_VALUE).appendField(new Ve.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Is={init:function(){this.setColour(_s),this.appendDummyInput().appendField(new Ve.FieldTextInput("property"),"KEY").appendField(":").appendField(new Ve.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},As={init:function(){this.setColour(_s),this.appendDummyInput().appendField(new Ve.FieldTextInput("property"),"KEY").appendField(":").appendField(new Ve.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ss={init:function(){this.setColour(_s),this.appendDummyInput().appendField(Ve.Msg.HTML_TEXT).appendField(new Ve.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cs=160,Os={init:function(){this.setColour(Cs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Ve.FieldTable(""),"TEXT")}},Ms={init:function(){this.setColour(Cs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Ve.FieldMultilineInput(""),"TEXT")}},ks={init:function(){this.setColour(Cs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Ve.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Rs={init:function(){this.setColour(Cs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Ns={init:function(){this.setColour(Cs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Ve.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Ds={init:function(){this.setColour(Cs),this.appendValueInput("VALUE").appendField(Ve.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Fs={init:function(){this.setColour(Cs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ve.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Ve.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=Ve.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;i= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,n){return"("+e+" <= "+t+") and "+l()+"("+e+", "+t+", "+n+") or "+u()+"("+e+", "+t+", "+n+")"},Ve.isNumber(i)&&Ve.isNumber(r)&&Ve.isNumber(s))i=parseFloat(i),r=parseFloat(r),s=Math.abs(parseFloat(s)),0==i%1&&0==r%1&&0==s%1?(i<=r?(r++,e=0==i&&1==s?r:i+", "+r,1!=s&&(e+=", "+s)):e=i+", "+--r+", -"+s,e="range("+e+")"):(e=i",GTE:">="};const kl=function(e,t){var n=this.getFieldValue("OP"),i="&&"==n?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,r=t.valueToCode(this,"A",i)||"False",s=t.valueToCode(this,"B",i)||"False";if("AND"==n)var o=r+" and "+s;else if("OR"==n)o=r+" or "+s;else if("NOR"==n)o="not("+r+"^"+s+")";else o=r+"^"+s;return[o,i]},Rl=function(e,t){var n=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",n)||"False"),n]},Nl=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Dl=function(e,t){return["None",t.ORDER_ATOMIC]},Fl=function(e,t){var n=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+n+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},Ll=function(e,t){var n=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",i=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[n+" "+this.getFieldValue("BOOL")+" "+i,t.ORDER_ATOMIC]},Pl=function(e,t){var n=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",i=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[n+" "+this.getFieldValue("BOOL")+" "+i,t.ORDER_ATOMIC]},Bl=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},$l=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},Ul=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Vl=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},zl=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},jl=function(e,t){var n=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+n+")\n"},Yl=function(e,t){var n=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+n+"()",t.ORDER_ATOMIC]},Gl=function(e,t){var n=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+n+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Hl=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Wl=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},Xl=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},ql=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Kl=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Zl=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},Ql=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Jl=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},eu=function(e,t){var n=this.getFieldValue("MODE"),i=0;return i="start"==n?0:"current"==n?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+i+")\n"},tu=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},nu=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},iu=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},ru=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},su=function(e,t){t.definitions_.import_os="import os";var n=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+n+")",t.ORDER_ATOMIC]},ou=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},au=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},lu=function(e,t){var n=t.variableDB_.getName(this.getFieldValue("NAME"),Ve.Procedures.NAME_TYPE),i=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(i=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+i);var r=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";r&&(r=" return "+r+"\n");for(var s=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Yu=function(e,t){var n=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"\n"+n+"\n"},Gu=function(e,t){var n=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");if("head"==i)var r="<"+i+'>\n\t\n'+n+"\n";else r="<"+i+">\n"+n+"\n";return r},Hu=function(e,t){var n=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"<"+i+">\n"+n+"\n"},Wu=function(e,t){var n=t.statementToCode(this,"DO"),i=t.valueToCode(this,"style"),r=this.getFieldValue("LEVEL");return"<"+r+" "+i+" >\n"+n+"\n"},Xu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},qu=function(e,t){return'"},Ku=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Zu=function(){return this.getFieldValue("TEXT")+"\n"},Qu=function(e){return e.getFieldValue("TEXT")+"\n"},Ju=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},ec=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},tc=function(){return""},nc=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},ic=function(e,t){for(var n=e.getFieldValue("NAME"),i=e.hasReturn_,r=new Array(e.itemCount_),s=0;s0?t.join("\n")+n.join("\n")+i.join("\n")+o.join("\n")+a.join("")+e+"while True:\n"+l.join("")+u.join("\n"):t.join("\n")+n.join("\n")+i.join("\n")+o.join("\n")+a.join("")+e+u.join("\n")},ac.scrubNakedValue=function(e){return e+"\n"},ac.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},ac.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},ac.scrub_=function(e,t,n){var i="";if(!e.outputConnection||!e.outputConnection.targetConnection){(s=e.getCommentText())&&(s=Ve.utils.string.wrap(s,ac.COMMENT_WRAP-3),i+=ac.prefixLines(s+"\n","# "));for(var r=0;r0?"int("+a+" + "+r+")":r<0?"int("+a+" - "+-r+")":"int("+a+")",i&&(a="-"+a)),a};const lc=205,uc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_CHOOSE_AND_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_CHOOSE_AND_GET_ONE_FILE_NAME,"getOneFile"],[Ve.Msg.MIXLY_CHOOSE_AND_GET_MANY_FILE_NAMES,"getManyFiles"],[Ve.Msg.MIXLY_CHOOSE_AND_GET_DIR,"getDirectory"]]),"TYPE"),this.setInputsInline(!0),this.setOutput(!0)}},cc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_SETUP).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipImageClassify,"AipImageClassify"],[Ve.Msg.MIXLY_AipSpeech,"AipSpeech"],[Ve.Msg.MIXLY_AipImageCensor,"AipImageCensor"],[Ve.Msg.MIXLY_AipFace,"AipFace"],[Ve.Msg.MIXLY_AipOcr,"AipOcr"],[Ve.Msg.MIXLY_AipNlp,"AipNlp"]]),"CTYPE"),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(Ve.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipSpeech_synthesis).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(Ve.Msg.OLED_STRING).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipSpeech_synthesis_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},hc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipSpeech_asr).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_AipSpeech_File).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipSpeech_ASR_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},pc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipImageClassify).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(Ve.Msg.MIXLY_AIP_FUNC).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ADDR").appendField(Ve.Msg.MIXLY_AipImageClassify_Image).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipImageClassify_advancedGeneral_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},fc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipImageClassify_advancedGeneral,"advancedGeneral"],[Ve.Msg.MIXLY_AipImageClassify_dishDetect,"dishDetect"],[Ve.Msg.MIXLY_AipImageClassify_carDetect,"carDetect"],[Ve.Msg.MIXLY_AipImageClassify_animalDetect,"animalDetect"],[Ve.Msg.MIXLY_AipImageClassify_plantDetect,"plantDetect"],[Ve.Msg.MIXLY_AipImageClassify_logoSearch,"logoSearch"]]),"TYPE"),this.setOutput(!0)}},mc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipFace_match).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_AipImageClassify_Image+"1"+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Ve.Msg.MIXLY_AipImageClassify_Image+"2"+Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipFace_match_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},gc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipOcr).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(Ve.Msg.MIXLY_AIP_FUNC).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ADDR").appendField(Ve.Msg.MIXLY_AipImageClassify_Image).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipOcr_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},_c={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipOcr_basicGeneral,"basicGeneral"],[Ve.Msg.MIXLY_AipOcr_webImage,"webImage"],[Ve.Msg.MIXLY_AipOcr_idcard,"idcard"],[Ve.Msg.MIXLY_AipOcr_bankcard,"bankcard"],[Ve.Msg.MIXLY_AipOcr_drivingLicense,"drivingLicense"],[Ve.Msg.MIXLY_AipOcr_vehicleLicense,"vehicleLicense"],[Ve.Msg.MIXLY_AipOcr_licensePlate,"licensePlate"],[Ve.Msg.MIXLY_AipOcr_businessLicense,"businessLicense"],[Ve.Msg.MIXLY_AipOcr_receipt,"receipt"],[Ve.Msg.MIXLY_AipOcr_trainTicket,"trainTicket"],[Ve.Msg.MIXLY_AipOcr_taxiReceipt,"taxiReceipt"],[Ve.Msg.MIXLY_AipOcr_form,"tableRecognition"],[Ve.Msg.MIXLY_AipOcr_vatInvoice,"vatInvoice"],[Ve.Msg.MIXLY_AipOcr_passport,"passport"],[Ve.Msg.MIXLY_AipOcr_handwriting,"handwriting"]]),"TYPE"),this.setOutput(!0)}},yc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipNlp).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(Ve.Msg.MIXLY_AIP_FUNC).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(Ve.Msg.OLED_STRING).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipNlp_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},vc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipNlp_Sim).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(Ve.Msg.MIXLY_AIP_FUNC).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR1").appendField(Ve.Msg.OLED_STRING+"1").setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR2").appendField(Ve.Msg.OLED_STRING+"2").setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipNlp_Sim_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},bc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipNlp_lexer,"lexer"],[Ve.Msg.MIXLY_AipNlp_depParser,"depParser"],[Ve.Msg.MIXLY_AipNlp_wordEmbedding,"wordEmbedding"],[Ve.Msg.MIXLY_AipNlp_dnnlm,"dnnlm"],[Ve.Msg.MIXLY_AipNlp_commentTag,"commentTag"],[Ve.Msg.MIXLY_AipNlp_sentimentClassify,"sentimentClassify"],[Ve.Msg.MIXLY_AipNlp_keyword,"keyword"],[Ve.Msg.MIXLY_AipNlp_topic,"topic"],[Ve.Msg.MIXLY_AipNlp_ecnet,"ecnet"],[Ve.Msg.MIXLY_AipNlp_emotion,"emotion"]]),"TYPE"),this.setOutput(!0)}},Tc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipNlp_wordSimEmbedding,"wordSimEmbedding"],[Ve.Msg.MIXLY_AipNlp_simnet,"simnet"]]),"TYPE"),this.setOutput(!0)}},xc={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipNlp_topic).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR1").appendField(Ve.Msg.MIXLY_AipNlp_Topic_Title).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR2").appendField(Ve.Msg.MIXLY_AipNlp_Topic_Content).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipNlp_Topic_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},Ec={init:function(){this.setColour(lc),this.appendValueInput("SUB").appendField(Ve.Msg.MIXLY_AipNlp_summary).appendField(Ve.Msg.MIXLY_Client).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(Ve.Msg.MIXLY_AipNlp_Topic_Content).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("LEN").appendField(Ve.Msg.MIXLY_LIST_LEN).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(Ve.Msg.MIXLY_AIP_ATTR).setAlign(Ve.inputs.Align.RIGHT),this.setTooltip(Ve.Msg.MIXLY_AipNlp_Summary_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},wc={init:function(){this.setColour(lc),this.appendValueInput("VAR").appendField(Ve.Msg.MIXPY_AI_AUDIO),this.appendValueInput("TIME").appendField(Ve.Msg.MIXPY_AI_AUDIO_TIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXPY_AI_AUDIO_TOOLTIP)}},Ic={init:function(){this.setColour(lc),this.appendValueInput("VAR").appendField(Ve.Msg.MIXPY_AI_PHOTO),this.appendValueInput("BUT").appendField(Ve.Msg.MIXPY_AI_PHOTO_BUTTON),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXPY_AI_PHOTO_TOOLTIP)}},Ac={init:function(){this.setColour(lc),this.appendValueInput("AI").appendField(Ve.Msg.MIXPY_AI_RESULT).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AipImageClassify,"Image"],[Ve.Msg.MIXLY_AipSpeech_asr,"Speech"],[Ve.Msg.MIXLY_AipFace_match,"Face"],[Ve.Msg.MIXLY_AipOcr,"Ocr"],[Ve.Msg.MIXLY_AipNlp_simnet,"OcrSimilarity"],[Ve.Msg.MIXLY_AipNlp_sentimentClassify,"Emotion"]]),"CTYPE"),this.setOutput(!0),this.setTooltip(Ve.Msg.LOGIC_NEGATE_TOOLTIP)}},Sc="#526FC3",Cc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Oc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_ADD_SCHOOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Mc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_FIND_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},kc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NEW_PATH),this.setOutput(!0)}},Rc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_SET_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Nc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_ADD_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Dc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DEL_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Fc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_RETURN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Lc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NO_LEFT),this.setOutput(!0)}},Pc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Bc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$c={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_CURRENT_SCHOOL),this.setOutput(!0)}},Uc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NO_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Vc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE_2_1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},zc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE_2_2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},jc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_MOVE_RECENT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Yc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NOT_HOME),this.setOutput(!0)}},Gc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NOT_SCHOOL),this.setOutput(!0)}},Hc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_PATH2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Wc={init:function(){this.appendDummyInput().appendField("准备").appendField(new Ve.FieldNumber(3,0,100,1),"NUM").appendField("层汉诺塔"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Xc={init:function(){this.appendDummyInput().appendField("移动圆盘从"),this.appendValueInput("FROM_NUM").setCheck(null).appendField("柱"),this.appendDummyInput().appendField("到"),this.appendValueInput("TO_NUM").setCheck(null).appendField("柱"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},qc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_ALL_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Kc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_ALL_BOOKS2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Zc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_FIRST_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Qc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NO_RING),this.setOutput(!0)}},Jc={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_YES_RING),this.setOutput(!0)}},ed={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NEXT_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},td={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_TWO_LEFT),this.setOutput(!0)}},nd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DIVIDE_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},id={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_GET_HALF_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},rd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},sd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},od={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOKS2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ad={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ld={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("设置待查书总数 N=").appendField(new Ve.FieldDropdown([["5","5"],["10","10"],["20","20"],["50","50"]]),"NUM"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},ud={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NUMBER_ZERO),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_NUMBER_ADD),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},hd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField("n"+Ve.Msg.MIXLY_VALUE2).appendField(new Ve.FieldTextInput("50"),"NUM"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},pd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_SEQUENCE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},fd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_DIVIDE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},md={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("初始化鸡兔同笼问题:"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("有若干只鸡、兔在同一个笼子里。"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("从上面数鸡兔有10个头,"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("从下面数鸡兔有32只脚。"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("问笼中有多少只鸡和多少只兔?"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},gd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("假设兔子的数量为0只"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},_d={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("兔子的数量在范围之内"),this.setOutput(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},yd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("根据(头数-兔子数)计算出鸡的数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},vd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("计算得到脚的数量正确"),this.setOutput(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},bd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("输出鸡、兔的数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Td={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("假设兔子数量要更多一只"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},xd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("加载路线图"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Ed={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("计算").appendField(new Ve.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("长度"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},wd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("设置S1为Smin"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Id={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField(new Ve.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("的长度比").appendField(new Ve.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME2").appendField("短"),this.setOutput(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Ad={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("设置").appendField(new Ve.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("为Smin"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Sd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("按照Smin移动"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Cd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("初始化韩信点兵问题:"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("有未知数量的若干士兵。"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("若3人一排列队,多1人;"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("若5人一排列队,多2人;"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("若7人一排列队,多2人;"),this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("问士兵的数量最少是多少人?"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Od={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("初始化士兵为").appendField(new Ve.FieldTextInput("7"),"NUM").appendField("个"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Md={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("使士兵").appendField(new Ve.FieldDropdown([["3","3"],["5","5"],["7","7"]]),"NUM").appendField("人一排列队"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},kd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("剩余").appendField(new Ve.FieldTextInput("1"),"NUM").appendField("个士兵"),this.setOutput(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Rd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("增加1个士兵"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Nd={init:function(){this.appendDummyInput().setAlign(Ve.inputs.Align.LEFT).appendField("输出士兵数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setTooltip(""),this.setHelpUrl("")}},Dd={init:function(){this.appendDummyInput().appendField("准备").appendField(new Ve.FieldNumber(3,0,100,1),"NUM").appendField("层汉诺塔"),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sc),this.setInputsInline(!0),this.setTooltip(""),this.setHelpUrl("")}},Fd={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_GET_CURRENT_LOCATION),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ld={init:function(){this.setColour(Sc),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MIXPY_ALGORITHM_VOID_PATH),this.setOutput(!0)}},Pd={init:function(){this.setColour(Sc),this.appendDummyInput("").setAlign(Ve.inputs.Align.RIGHT).appendField(new Ve.FieldColour("ff0000"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},Bd="#3288dd",$d={init:function(){this.setColour(Bd),this.appendValueInput("DOMAIN").appendField(Ve.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ve.Msg.blockpy_REQUESTS_GET).appendField(new Ve.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ud={init:function(){this.setColour(Bd),this.appendValueInput("URL").appendField(Ve.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ve.Msg.blockpy_CONDUCT).appendField(new Ve.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Ve.Msg.blockpy_REQUESTS).appendField(Ve.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Vd={init:function(){this.setColour(Bd),this.appendValueInput("URL").appendField(Ve.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Ve.Msg.blockpy_CONDUCT).appendField(new Ve.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Ve.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Ve.Msg.blockpy_REQUESTS+Ve.Msg.OLED_STRING),this.appendDummyInput("").appendField(Ve.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},zd={init:function(){this.appendValueInput("VAL");var e=[[Ve.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Ve.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Ve.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Ve.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Ve.Msg.MIXPY_TEXT_ENCODE,"encoding"]];this.setColour(Bd),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Ve.FieldDropdown(e),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)}},jd={init:function(){this.appendValueInput("VAR").appendField(Ve.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(Bd),this.appendDummyInput("").appendField(Ve.Msg.blockpy_CONDUCT).appendField(new Ve.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip(function(){var t=e.getFieldValue("DIR");return{forward:Ve.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Ve.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]})}},Yd="f0a559",Gd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_CV_IMREAD),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},Hd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.OLED_BITMAP),this.appendValueInput("data").setCheck(String).appendField(Ve.Msg.MIXLY_AipNlp_Topic_Title),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_CV_IMWRITE),this.appendValueInput("data").setCheck(String).appendField(Ve.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Xd={init:function(){this.setColour(Yd),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MILLIS+Ve.Msg.MIXLY_CV_OR_PRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_CV_WAITKEY_TOOLTIP)}},qd={init:function(){this.setColour(Yd),this.appendDummyInput().appendField(Ve.Msg.MIXLY_CV_DESTROY_ALL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_IMAGE);var e=[[Ve.Msg.MIXLY_CV_RECT,"rectangle"],[Ve.Msg.MIXLY_CV_LINE,"line"]];this.appendValueInput("x1").setCheck(Number).appendField(Ve.Msg.MIXLY_DISPLAY_DRAW).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.MIXLY_CV_DRAWLINE_BEGIN+"(x1"),this.appendValueInput("y1").setCheck(Number).appendField(",y1"),this.appendValueInput("x2").setCheck(Number).appendField(") "+Ve.Msg.MIXLY_CV_DRAWLINE_END+"(x2"),this.appendValueInput("y2").setCheck(Number).appendField(",y2"),this.appendDummyInput().appendField(") "+Ve.Msg.MIXLY_CV_DRAWLINE_COLOR).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.appendValueInput("thick").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_DRAWLINE_THICKNESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_CV_DRAWLINE_RECT_TOOLTIP)}},Zd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_IMAGE);this.appendValueInput("data").setCheck(String).appendField(Ve.Msg.MIXLY_CV_DRAWTEXT),this.appendValueInput("x1").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_DRAWLINE_BEGIN+"(x1"),this.appendValueInput("y1").setCheck(Number).appendField(",y1"),this.appendDummyInput().appendField(") "+Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new Ve.FieldDropdown([["SIMPLEX","SIMPLEX"],["PLAIN","PLAIN"],["DUPLEX","DUPLEX"],["COMPLEX","COMPLEX"],["COMPLEX_SMALL","COMPLEX_SMALL"],["TRIPLEX","TRIPLEX"],["SCRIPT_SIMPLEX","SCRIPT_SIMPLEX"],["SCRIPT_COMPLEX","SCRIPT_COMPLEX"]]),"font"),this.appendValueInput("size").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput().appendField(") "+Ve.Msg.MIXLY_CV_DRAWLINE_COLOR).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.appendValueInput("thick").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_DRAWLINE_THICKNESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_CV_DRAWLINE_RECT_TOOLTIP)}},Qd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.MIXLY_CV_FACE_CLASSIFIER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},Jd={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("FACE").appendField(Ve.Msg.MIXLY_CV_FACE_DETECT),this.appendValueInput("SCALE").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_SCALE),this.appendValueInput("NEIGHBOR").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_NEIGHBOR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},eh={init:function(){this.setColour(Yd),this.appendValueInput("FILE").appendField(Ve.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("FACE").appendField(Ve.Msg.MIXLY_CV_FACE_DETECT),this.appendValueInput("SCALE").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_SCALE),this.appendValueInput("NEIGHBOR").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_NEIGHBOR),this.appendValueInput("x1").setCheck(Number).appendField(Ve.Msg.MIXLY_CV_FACE_DETECT_RANGE).appendField(Ve.Msg.blockpy_TUPLE_MIN),this.appendValueInput("y1").setCheck(Number).appendField("×"),this.appendValueInput("x2").setCheck(Number).appendField(Ve.Msg.blockpy_TUPLE_MAX),this.appendValueInput("y2").setCheck(Number).appendField("×"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},th=170,nh={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.blockpy_series_create).appendField(new Ve.FieldTextInput("ser1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.blockpy_series_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ih={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.blockpy_series_create).appendField(new Ve.FieldTextInput("ser1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.appendValueInput("INDEX").setCheck([String,"List"]).appendField(Ve.Msg.blockpy_series_set_index),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.blockpy_series_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},rh={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.blockpy_dataframe_create).appendField(new Ve.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.blockpy_dataframe_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},sh={init:function(){this.setColour(th);var e=[[Ve.Msg.DATAFRAME_RAW,"index"],[Ve.Msg.DATAFRAME_COLUMN,"columns"]];this.appendDummyInput("").appendField(Ve.Msg.blockpy_dataframe_create).appendField(new Ve.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"COLUMN_RAW"),this.appendValueInput("INDEX").setCheck([String,"List"]).appendField(Ve.Msg.blockpy_series_set_index),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.blockpy_dataframe_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},oh={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.blockpy_dataframe_create).appendField(new Ve.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(Ve.Msg.blockpy_series_via),this.appendValueInput("INDEX_COLUMN").setCheck([String,"List"]).appendField(Ve.Msg.blockpy_dataframe_set_index_column),this.appendValueInput("INDEX_RAW").setCheck([String,"List"]).appendField(Ve.Msg.blockpy_dataframe_set_index_raw),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.blockpy_dataframe_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ah={init:function(){this.setColour(th),this.appendDummyInput("").appendField(new Ve.FieldTextInput("ser1"),"VAR").appendField(" = [").appendField(new Ve.FieldTextInput("1,2,3"),"TEXT").appendField("]"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_SERIES_CREATE_FROM_TEXT)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},lh={init:function(){this.setColour(th);var e=[[Ve.Msg.SERIES_INDEX,"index"],[Ve.Msg.HTML_VALUE,"value"]];this.appendValueInput("SERIES").setCheck("Series"),this.appendDummyInput("").appendField(Ve.Msg.SERIES_INDEX_VALUE).appendField(new Ve.FieldDropdown(e),"INDEX_VALUE"),this.setOutput(!0,"List");var t=this;this.setTooltip(function(){var e=t.getFieldValue("INDEX_VALUE");return{index:Ve.Msg.SERIES_INDEX_TOOLTIP,value:Ve.Msg.HTML_VALUE_TOOLTIP}[e]})}},uh={init:function(){this.setColour(th),this.setOutput(!0),this.appendValueInput("SER").setCheck("Series"),this.appendValueInput("AT").setCheck(Number).appendField(Ve.Msg.LANG_LISTS_GET_INDEX1),this.appendDummyInput("").appendField(Ve.Msg.LANG_LISTS_GET_INDEX2),this.setInputsInline(!0),this.setTooltip(Ve.Msg.TUPLE_GET_INDEX_TOOLTIP)}},ch={init:function(){this.setColour(th),this.appendValueInput("SER").setCheck("Series").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dh={init:function(){this.setColour(th);var e=[[Ve.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Ve.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],n=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Ve.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(t),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ph={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gh={init:function(){this.setColour(th);var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_SET_LABEL).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("LABEL").appendField(Ve.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_h={init:function(){this.setColour(th),this.appendValueInput("FROM").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_SPLITBYDOU).appendField(Ve.Msg.MIXPY_DATA_ARRAY_CREATE_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXPY_DATA_ARRAY_CREATE_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},yh={init:function(){this.setColour(th);var e=[[Ve.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[Ve.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(Ve.Msg.MIXLY_DISPLAY_DRAW).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{plot:Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:Ve.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[e]})}},vh={init:function(){this.setColour(th);var e=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],t=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_SCATTER).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(Ve.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(t),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},bh={init:function(){this.setColour(th);var e=[[Ve.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Ve.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],n=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PLOT_XY).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Ve.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Th={init:function(){this.setColour(th);var e=[[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Ve.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_BAR).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(Ve.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new Ve.FieldDropdown(e),"ALIGN"),this.appendDummyInput().appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},xh={init:function(){this.setColour(th);var e=[[Ve.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[Ve.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],t=[[Ve.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PIE).appendField(Ve.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(Ve.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new Ve.FieldDropdown(t),"autopct"),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new Ve.FieldDropdown(e),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Eh={init:function(){this.setColour(th),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_HIST).appendField(Ve.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(Ve.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wh={init:function(){this.setColour(th);var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Ve.Msg.MIXLY_SETTING).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_TICKS).appendField(Ve.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Ih={init:function(){var e=[["sin","sin"],["cos","cos"],["tan","tan"],["arcsin","arcsin"],["arccos","arccos"],["arctan","arctan"],[Ve.Msg.LANG_MATH_TO_ROUND,"round"],[Ve.Msg.LANG_MATH_TO_CEIL,"ceil"],[Ve.Msg.LANG_MATH_TO_FLOOR,"floor"]];this.setColour(th),this.setOutput(!0),this.setInputsInline(!0),this.appendDummyInput().appendField(Ve.Msg.mixpy_NUMPY_TRIG),this.appendValueInput("NUM").setCheck(Number).appendField(new Ve.FieldDropdown(e),"OP"),this.setTooltip(Ve.Msg.mixpy_NUMPY_TRIG_TOOLTIP)}},Ah={init:function(){this.setColour(th),this.appendValueInput("VET").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT).appendField(Ve.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Sh={init:function(){this.setColour(th),this.appendValueInput("FILENAME").appendField(Ve.Msg.MIXPY_PANDAS_READ_CSV),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.mixpy_PANDAS_READCSV_HEADER_Y,"0"],[Ve.Msg.mixpy_PANDAS_READCSV_HEADER_N,"None"]]),"MODE"),this.appendDummyInput().appendField(Ve.Msg.mixpy_PANDAS_READCSV_TITLE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.mixpy_PANDAS_READCSV_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ch={init:function(){this.setColour(th),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Ve.Msg.mixpy_DATAFRAME_GET),this.appendDummyInput("").appendField(Ve.Msg.mixpy_DATAFRAME_GET_INDEX).appendField(new Ve.FieldDropdown([[Ve.Msg.DATAFRAME_COLUMN,"column"],[Ve.Msg.DATAFRAME_RAW,"raw"]]),"MODE"),this.setOutput(!0),this.setTooltip(Ve.Msg.mixpy_DATAFRAME_GET_TOOLTIP)}},Oh={init:function(){this.setColour(th),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Mh={init:function(){this.setColour(th);var e=[[Ve.Msg.TEXT_TRIM_LEFT,"right"],[Ve.Msg.mixpy_PL_TEXT_CENTER,"center"],[Ve.Msg.TEXT_TRIM_RIGHT,"left"]],t=[[Ve.Msg.mixpy_PL_TEXT_TOP,"bottom"],[Ve.Msg.mixpy_PL_TEXT_CENTER,"center"],[Ve.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(Ve.Msg.MIXLY_SETTING).appendField(Ve.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(Ve.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_TEXT_HOR).appendField(new Ve.FieldDropdown(e),"HALIGN"),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_TEXT_VER).appendField(new Ve.FieldDropdown(t),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PL_TEXT_TOOLTIP)}},kh={init:function(){this.setColour(th),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TOARRAY),this.setOutput(!0,"List"),this.setTooltip(Ve.Msg.MIXLY_PYTHON_TOOLTIP_TOARRAY)}},Rh={init:function(){this.setColour(th),this.appendValueInput("SER").setCheck("Series").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nh={init:function(){this.setColour(th);var e=[[Ve.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Ve.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],n=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(Ve.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Ve.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(t),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Lh={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ph={init:function(){this.setColour(th),this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bh={init:function(){this.setColour(th);var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Ve.Msg.blockpy_PYLAB_SET_LABEL).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("LABEL").appendField(Ve.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$h={init:function(){this.setColour(th);var e=[[Ve.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[Ve.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(Ve.Msg.MIXLY_DISPLAY_DRAW).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{plot:Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:Ve.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[e]})}},Uh={init:function(){this.setColour(th);var e=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],t=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_SCATTER).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(Ve.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(t),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Vh={init:function(){this.setColour(th);var e=[[Ve.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Ve.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Ve.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[Ve.Msg.COLOUR_RGB_BLUE,"b"],[Ve.Msg.COLOUR_RGB_GREEN,"g"],[Ve.Msg.COLOUR_RGB_RED,"r"],[Ve.Msg.COLOUR_CYAN,"c"],[Ve.Msg.COLOUR_MAGENTA,"m"],[Ve.Msg.COLOUR_YELLOW,"y"],[Ve.Msg.COLOUR_BLACK,"k"],[Ve.Msg.COLOUR_WHITE,"w"]],n=[[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Ve.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PLOT_XY).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Ve.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Ve.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Ve.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},zh={init:function(){this.setColour(th);var e=[[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Ve.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_BAR).appendField(Ve.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(Ve.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new Ve.FieldDropdown(e),"ALIGN"),this.appendDummyInput().appendField(Ve.Msg.HTML_COLOUR).appendField(new Ve.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},jh={init:function(){this.setColour(th);var e=[[Ve.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[Ve.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],t=[[Ve.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_PIE).appendField(Ve.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(Ve.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new Ve.FieldDropdown(t),"autopct"),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new Ve.FieldDropdown(e),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Yh={init:function(){this.setColour(th),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_HIST).appendField(Ve.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(Ve.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gh={init:function(){this.setColour(th);var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Ve.Msg.MIXLY_SETTING).appendField(new Ve.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(Ve.Msg.mixpy_PYLAB_TICKS).appendField(Ve.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(Ve.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Hh={init:function(){this.setColour(th),this.appendValueInput("VET").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT).appendField(Ve.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Wh={init:function(){this.setColour(th),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Xh={init:function(){this.setColour(th);var e=[[Ve.Msg.TEXT_TRIM_LEFT,"right"],[Ve.Msg.mixpy_PL_TEXT_CENTER,"center"],[Ve.Msg.TEXT_TRIM_RIGHT,"left"]],t=[[Ve.Msg.mixpy_PL_TEXT_TOP,"bottom"],[Ve.Msg.mixpy_PL_TEXT_CENTER,"center"],[Ve.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(Ve.Msg.MIXLY_SETTING).appendField(Ve.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(Ve.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(Ve.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_TEXT_HOR).appendField(new Ve.FieldDropdown(e),"HALIGN"),this.appendDummyInput("").appendField(Ve.Msg.mixpy_PL_TEXT_VER).appendField(new Ve.FieldDropdown(t),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.mixpy_PL_TEXT_TOOLTIP)}},qh={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取维度"),this.setOutput(!0),this.setTooltip("Returns the shape of the array.")}},Kh={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("变形"),this.appendValueInput("DIMENSIONS").appendField("后维度为"),this.setOutput(!0),this.setTooltip("Reshapes the array to the specified dimensions.")}},Zh={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("把"),this.appendDummyInput().appendField("转换为").appendField(new Ve.FieldDropdown([["uint8","numpy.uint8"],["int32","numpy.int32"],["float32","numpy.float32"],["float64","numpy.float64"]]),"TYPE"),this.setOutput(!0),this.setTooltip("Converts array to specified type.")}},Qh={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("创建二维图"),this.appendDummyInput().appendField("颜色").appendField(new Ve.FieldDropdown([["gray","gray"],["viridis","viridis"],["plasma","plasma"],["inferno","inferno"],["magma","magma"],["cividis","cividis"],["hot","hot"],["cool","cool"],["spring","spring"],["summer","summer"],["autumn","autumn"],["winter","winter"],["jet","jet"]]),"COLORMAP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("Displays an image with the specified colormap.")}},Jh={init:function(){this.setColour(th),this.appendValueInput("X").appendField("从数据集"),this.appendValueInput("Y").appendField("获取平均图像,标签"),this.appendValueInput("DIGIT").appendField("为"),this.setOutput(!0),this.setTooltip("Computes the mean of X where y equals the specified digit.")}},ep={init:function(){this.setColour(th),this.appendValueInput("IMAGE").appendField("获取模板匹配结果,图片:"),this.appendValueInput("TEMPLATES").appendField("模板:"),this.setOutput(!0),this.setTooltip("Finds the index of the template that minimizes the sum of absolute differences with the image.")}},tp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取平均值"),this.appendDummyInput().appendField("沿着axis").appendField(new Ve.FieldDropdown([["None","NONE"],["0","0"],["1","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Computes the mean of the array along the specified axis.")}},np={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取标准差"),this.appendDummyInput().appendField("沿着axis").appendField(new Ve.FieldDropdown([["None","NONE"],["0","0"],["1","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Computes the standard deviation of the array along the specified axis.")}},ip={init:function(){this.setColour(th),this.appendValueInput("DF").appendField("丢弃缺省值"),this.setOutput(!0),this.setTooltip("Drops rows with NaN values from the dataframe.")}},rp={init:function(){this.setColour(th),this.appendValueInput("DATAFRAME").appendField("从数据集"),this.appendValueInput("COLUMNS").appendField("中删除列").setCheck(String),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("从数据框中删除指定的列。用逗号分隔多个列名。")}},sp={init:function(){this.setColour(th),this.appendValueInput("NUM").appendField("生成单位行向量"),this.setOutput(!0),this.setTooltip("Creates an array of ones with the specified length.")}},op={init:function(){this.setColour(th),this.appendValueInput("ARRAY1").appendField("列拼接:数组1"),this.appendValueInput("ARRAY2").appendField("数组2"),this.setOutput(!0),this.setTooltip("Concatenates two arrays along the second axis using numpy.c_.")}},ap={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取行列式"),this.setOutput(!0),this.setTooltip("Computes the determinant of an array using numpy.linalg.det.")}},lp={init:function(){this.setColour(th),this.appendValueInput("MATRIX").appendField("获取转置"),this.setOutput(!0),this.setTooltip("Computes the transpose of the given matrix.")}},up={init:function(){this.setColour(th),this.appendValueInput("MATRIX1"),this.appendValueInput("MATRIX2").appendField("@"),this.setOutput(!0),this.setTooltip("Multiplies two matrices.")}},cp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取逆矩阵"),this.setOutput(!0),this.setTooltip("Computes the inverse of the given matrix using numpy.linalg.inv.")}},dp={init:function(){this.setColour(th),this.appendValueInput("DATAFRAME").appendField("获取中位数"),this.setOutput(!0),this.setTooltip("Computes the median of the given dataframe.")}},hp={init:function(){this.setColour(th),this.appendValueInput("DATAFRAME").appendField("填充缺失值"),this.appendValueInput("VALUE").appendField("填充值"),this.appendDummyInput().appendField("是否修改原数据").appendField(new Ve.FieldDropdown([["True","True"],["False","False"]]),"INPLACE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("Fills NaN values in the dataframe with the specified value.")}},pp={init:function(){this.setColour(th),this.appendValueInput("DATAFRAME").appendField("获取DataFrame信息"),this.setOutput(!0),this.setTooltip("Displays information about the DataFrame.")}},fp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取最小值"),this.appendDummyInput().appendField("沿着axis").appendField(new Ve.FieldDropdown([["None","None"],["行","0"],["列","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Returns the minimum value along the specified axis.")}},mp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取最大值"),this.appendDummyInput().appendField("沿着axis").appendField(new Ve.FieldDropdown([["None","None"],["行","0"],["列","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Returns the maximum value along the specified axis.")}},gp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取数组大小"),this.setOutput(!0),this.setTooltip("Returns the size of the array.")}},_p={init:function(){this.setColour(th),this.appendValueInput("ARRAY1").appendField("点乘数组1"),this.appendValueInput("ARRAY2").appendField("点乘数组2"),this.setOutput(!0),this.setTooltip("Returns the dot product of two arrays.")}},yp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取平方数组"),this.setOutput(!0),this.setTooltip("Returns the element-wise square of the array.")}},vp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("获取数组元素和"),this.setOutput(!0),this.setTooltip("Returns the sum of the array.")}},bp={init:function(){this.setColour(th),this.appendValueInput("SIZE").appendField("生成随机数组"),this.setOutput(!0),this.setTooltip("Returns a random array of the specified size.")}},Tp={init:function(){this.setColour(th),this.appendValueInput("ARRAY").appendField("Python求和"),this.setOutput(!0),this.setTooltip("Returns the sum of the iterable.")}},xp={init:function(){this.setColour(th),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("值排序"),this.appendValueInput("KEY").setAlign(Ve.inputs.Align.RIGHT).appendField("标签"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("排序方式").appendField(new Ve.FieldDropdown([["升序","True"],["降序","False"]]),"AS_CENDING"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},Ep={init:function(){this.setColour(th),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("获取").appendField(new Ve.FieldDropdown([["前几行","head"],["最后几行","tail"]]),"TYPE"),this.appendValueInput("LINES").setAlign(Ve.inputs.Align.RIGHT).appendField("行数"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},wp={init:function(){this.setColour(th),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("筛选数据"),this.appendValueInput("KEY").setAlign(Ve.inputs.Align.RIGHT).appendField("满足条件"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},Ip={init:function(){this.setColour(th),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.appendValueInput("KEY").setAlign(Ve.inputs.Align.RIGHT).appendField("通过标签"),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField("分组"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},Ap={init:function(){this.setColour(th),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField(new Ve.FieldDropdown([["求最小值","min"],["求最大值","max"],["求和","sum"],["求平均值","mean"],["求中位数","median"],["求标准差","std"]]),"TYPE"),this.appendValueInput("DICT").setAlign(Ve.inputs.Align.RIGHT).setCheck("Dict"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("")}},Sp={init:function(){this.setColour(th),this.appendDummyInput().appendField("清除已有图像"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cp=80,Op={init:function(){this.setColour(Cp),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.DS_CREATE_LINKEDLIST_NEW)),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.DS_CREATE_LINKEDLIST_HEAD)).appendField(new Ve.FieldTextInput("head"),"VAR"),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.DS_CREATE_LINKEDLIST_TYPE)).appendField(new Ve.FieldTextInput("tag"),"TYPE"),this.appendDummyInput().appendField(Ve.Msg.DS_CREATE_LINKEDLIST_ATTRIBUTE),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ve.icons.MutatorIcon(["ds_create_linkedlist_item"],this)),this.setTooltip(Ve.Msg.DS_CREATE_LINKEDLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("ds_create_linkedlist_container");t.initSvg();for(var n=t.getInput("STACK").connection,i=0;it?e[t]:"name"),"KEY"+t).appendField("=")},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Mp={init:function(){this.setColour(Cp),this.appendDummyInput().appendField(Ve.Msg.DS_CREATE_LINKEDLIST_CONTAINER_TITLE),this.appendStatementInput("STACK"),this.setTooltip(Ve.Msg.DS_CREATE_LINKEDLIST_CONTAINER_TOOLTIP),this.contextMenu=!1}},kp={init:function(){this.setColour(Cp),this.appendDummyInput().appendField(Ve.Msg.DS_CREATE_LINKEDLIST_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DS_CREATE_LINKEDLIST_ITEM_TOOLTIP),this.contextMenu=!1}},Rp={init:function(){this.setColour(Cp),this.appendDummyInput("").appendField(Ve.Msg.DS_CREATE_NODE_USE).appendField(new Ve.FieldTextInput("tag"),"TYPE"),this.appendDummyInput("").appendField(Ve.Msg.DS_CREATE_NODE_NEW),this.appendValueInput("NODE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_CREATE_NODE_TOOLTIP)}},Np={init:function(){this.setColour(Cp),this.appendDummyInput("").appendField(Ve.Msg.DS_GET_NODE_ATTR_NODE),this.appendValueInput("NODE"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_AIP_ATTR).appendField(new Ve.FieldTextInput("name"),"TYPE"),this.appendDummyInput("").appendField(Ve.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_GET_NODE_ATTR_TOOLTIP)}},Dp={init:function(){this.setColour(Cp),this.appendDummyInput("").appendField(Ve.Msg.DS_SET_NODE_ATTR_NODE),this.appendValueInput("NODE"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_AIP_ATTR).appendField(new Ve.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(Ve.Msg.DS_SET_NODE_ATTR_SET),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_SET_NODE_ATTR_TOOLTIP)}},Fp={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE);var e=[[Ve.Msg.DS_ADD_NODE_BEFORE,"before"],[Ve.Msg.DS_ADD_NODE_AFTER,"after"]];this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_LINKEDLIST),this.appendValueInput("NODE2").appendField(Ve.Msg.DS_SET_NODE_ATTR_NODE),this.appendValueInput("NODE3").appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.DS_ADD_NODE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_ADD_NODE_TOOLTIP)}},Lp={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE);var e=[[Ve.Msg.DS_ADD_NODE_BEFORE,"before"],[Ve.Msg.DS_ADD_NODE_AFTER,"after"]];this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_LINKEDLIST),this.appendDummyInput("").appendField(Ve.Msg.DS_CREATE_LINKEDLIST_ITEM_TITLE).appendField(new Ve.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_AS),this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_ATTR),this.appendValueInput("NODE3").appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.DS_ADD_NODE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_ADD_NODE_TOOLTIP)}},Pp={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_LINKEDLIST),this.appendValueInput("NODE2").appendField(Ve.Msg.DS_DEL_NODE_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_DEL_NODE_TOOLTIP)}},Bp={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_LINKEDLIST),this.appendDummyInput("").appendField(Ve.Msg.DS_DEL_NODE_ATTR).appendField(new Ve.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_AS),this.appendDummyInput("").appendField(Ve.Msg.DS_ADD_NODE_ATTR),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_DEL_NODE_TOOLTIP)}},$p={init:function(){this.setColour(Cp),this.appendValueInput("NODE").appendField(Ve.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(Ve.Msg.DS_REVERSE_LINKEDLIST),this.appendValueInput("NODE2").appendField(Ve.Msg.DS_REVERSE_LINKEDLIST_NEW_HEAD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.DS_DEL_NODE_TOOLTIP)}},Up="#777777",Vp={init:function(){this.setColour(Up),this.appendDummyInput("").appendField("from ").appendField(new Ve.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Ve.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zp={init:function(){this.setColour(Up),this.appendDummyInput("").appendField("import ").appendField(new Ve.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jp={init:function(){this.setColour(Up),this.appendDummyInput("").appendField(new Ve.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ve.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Ef={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},wf={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},If={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Af={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Ve.Msg.MIXLY_EMQX_SERVER).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Ve.Msg.MIXLY_WIFI_USERNAME).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Ve.Msg.MIXLY_IOT_PASSWORD).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Ve.Msg.MIXLY_EMQX_PROJECT).setAlign(Ve.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Sf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Ve.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Cf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Ve.Msg.HTML_BODY),this.appendDummyInput().appendField(Ve.Msg.MIXLY_Service_quality_display).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_AT_MOST_ONCE,"0"],[Ve.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},Of={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ve.Msg.MIXLY_EMQX_SUBSCRIBE+Ve.Msg.MIXLY_MICROBIT_MSG).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Ve.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},Mf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Ve.Msg.MSG.stop+Ve.Msg.MIXLY_EMQX_SUBSCRIBE).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},kf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Df={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Ve.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Ff={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Ve.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},Lf={init:function(){this.setColour(_f),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Pf={init:function(){this.setColour(_f),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},Bf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ve.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},$f={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO").appendField(Ve.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Ve.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Uf={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Ve.Msg.MIXLY_EMQX_SERVER).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Ve.Msg.CONTROLS_FOR_INPUT_WITH+Ve.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Ve.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vf={init:function(){this.setColour(_f),this.appendDummyInput().appendField(Ve.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Ve.Msg.MIXLY_EMQX_SERVER).setAlign(Ve.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Ve.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Ve.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zf={init:function(){this.VISITOR_ID=ze.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(_f),this.appendDummyInput("").appendField(this.newQuote_(!0)).appendField(new Ve.FieldTextInput(this.visitorId),"VISITOR_ID").appendField(this.newQuote_(!1)),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")},newQuote_:function(e){if(e==this.RTL)var t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else t="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new Ve.FieldImage(t,12,12,'"')}},jf={init:function(){this.VISITOR_ID=ze.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(_f),this.appendDummyInput("").appendField(new Ve.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},Yf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MixIO").appendField(Ve.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Gf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("HTTP"+Ve.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Ve.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Ve.Msg.MIXLY_REQUESTS_GET).appendField(Ve.Msg.MIXLY_GET_CURRENT_TIME).appendField(Ve.Msg.MIXLY_OPEN_DEBUG).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("HTTP"+Ve.Msg.MIXLY_Client).appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Ve.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Ve.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Wf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MQTT"+Ve.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Ve.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Ve.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Ve.MQTT_Topic).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Ve.Msg.MIXLY_OPEN_DEBUG).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xf={init:function(){this.setColour(_f),this.appendDummyInput().appendField("MQTT"+Ve.Msg.MIXLY_Client).appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Ve.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Ve.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},qf=yf,Kf=vf,Zf=bf,Qf=xf,Jf=230,em={init:function(){this.setColour(Jf),this.appendDummyInput("").appendField(new Ve.FieldDropdown(ze.Profile.default.digital_write),"PIN"),this.setOutput(!0)}},tm={init:function(){this.setColour(Jf),this.appendDummyInput("").appendField(new Ve.FieldDropdown(ze.Profile.default.digital_read),"PIN"),this.setOutput(!0)}},nm={init:function(){this.setColour(Jf),this.appendDummyInput("").appendField(new Ve.FieldDropdown(ze.Profile.default.analog_write),"PIN"),this.setOutput(!0)}},im={init:function(){this.setColour(Jf),this.appendDummyInput("").appendField(new Ve.FieldDropdown(ze.Profile.default.analog_read),"PIN"),this.setOutput(!0)}},rm={init:function(){this.setColour(40),this.appendDummyInput("").appendField(new Ve.FieldLabel(Ve.Msg.MIXPY_SERIAL_OPEN)).appendField(new Ve.FieldTextInput("ser"),"SER"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SERIAL_BEGIN).appendField(new Ve.FieldDropdown([["115200","115200"],["256000","256000"],["128000","128000"],["57600","57600"],["56000","56000"],["43000","43000"],["38400","38400"],["28800","28800"],["19200","19200"],["9600","9600"],["4800","4800"],["2400","2400"],["1200","1200"],["600","600"],["300","300"],["110","110"]]),"BPS"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXPY_SERIAL_OPEN_TIMEOUT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ve.Msg.MIXPY_SERIAL_OPEN_TOOLTIP)}},sm={init:function(){this.setColour(40),this.appendValueInput("SER"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXPY_SERIAL_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ve.Msg.MIXPY_SERIAL_WRITE_TOOLTIP)}},om={init:function(){this.setColour(40),this.appendValueInput("SER"),this.appendValueInput("VAR").setCheck(Number).appendField(Ve.Msg.MIXPY_SERIAL_READ),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.MIXPY_SERIAL_READ_TOOLTIP)}},am={init:function(){this.setColour(40),this.appendValueInput("SER"),this.appendDummyInput().appendField(Ve.Msg.MIXPY_SERIAL_CLOSE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ve.Msg.MIXPY_SERIAL_CLOSE_TOOLTIP)}},lm=80,um={init:function(){this.appendDummyInput().appendField(Ve.Msg.SKLEARN_CLASSIFICATION_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_FEATURES),this.appendValueInput("n_informative").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_EFFECTIVE_FEATURES),this.appendValueInput("n_redundant").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_REDUNDANT_FEATURES),this.appendValueInput("n_repeated").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_REPEATED_FEATURES),this.appendValueInput("n_classes").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_CLASSES),this.appendValueInput("n_clusters_per_class").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_CLUSTERS_PER_CLASSES),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},cm={init:function(){this.appendDummyInput().appendField(Ve.Msg.SKLEARN_REGRESSION_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_FEATURES),this.appendValueInput("n_informative").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_EFFECTIVE_FEATURES),this.appendValueInput("n_targets").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_LABELS),this.appendValueInput("bias").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.DEVIATION),this.appendValueInput("noise").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NOISE),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},dm={init:function(){this.appendDummyInput().appendField(Ve.Msg.SKLEARN_CLUSTERING_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_FEATURES),this.appendValueInput("centers").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_CLUSTERS),this.appendValueInput("cluster_std").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.STANDARD_DEVIATION_OF_CLUSTER),this.appendValueInput("center_box").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.CLUSTER_BOUNDING_BOX),this.appendValueInput("shuffle").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SHUFFLE_SAMPLES),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},hm={init:function(){var e=[[Ve.Msg.SKLEARN_LOAD_IRIS,"load_iris"],[Ve.Msg.SKLEARN_LOAD_BOSTON,"load_boston"],[Ve.Msg.SKLEARN_LOAD_DIABETES,"load_diabetes"],[Ve.Msg.SKLEARN_LOAD_BREAST_CANCER,"load_breast_cancer"],[Ve.Msg.SKLEARN_LOAD_LINNERUD,"load_linnerud"],[Ve.Msg.SKLEARN_LOAD_DIGITS,"load_digits"]];this.appendDummyInput().appendField("sklearn "+Ve.Msg.LOAD).appendField(new Ve.FieldDropdown(e),"type").appendField(new Ve.FieldTextInput("iris"),"name"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")},getVars:function(){return[this.getFieldValue("name")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("name"))&&this.setTitleValue(t,"name")}},pm={init:function(){this.appendValueInput("name").setCheck(null).appendField("sklearn "+Ve.Msg.DATA_SET),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.EIGENVALUES,"data"],[Ve.Msg.LABEL_VALUE,"target"],[Ve.Msg.FEATURE,"feature_names"],[Ve.Msg.mixpy_PYLAB_TICKS_TAG,"target_names"]]),"type"),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},fm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.DATA_SEGMENTATION),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LABEL_VALUE),this.appendValueInput("test_size").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.TEST_SET_PROPORTION),this.appendValueInput("rondom_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},mm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.DATA_SEGMENTATION),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.appendValueInput("test_size").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.TEST_SET_PROPORTION),this.appendValueInput("rondom_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},gm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_LINEARREGRESSION_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("fit_intercept").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_CALCULATE_MODEL_INTERRUPT),this.appendValueInput("normalize").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_REGRESSION_NORMIALIZATION),this.appendValueInput("n_jobs").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_THREADS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},_m={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_RIDGE_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("alpha").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_REGULA_INTENSITY),this.appendValueInput("fit_intercept").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_CALCULATE_MODEL_INTERRUPT),this.appendValueInput("normalize").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_REGRESSION_NORMIALIZATION),this.appendValueInput("max_iter").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_MAX_ITER),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},ym={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_DECISIONTREE_INIT).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"DecisionTreeClassifier"],[Ve.Msg.SKLEARN_REGRESSION_ALGORITHM,"DecisionTreeRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("max_depth").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_MAXIMUM_TREE_DEPTH),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},vm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_RANDOMFOREST_INIT).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"RandomForestClassifier"],[Ve.Msg.SKLEARN_REGRESSION_ALGORITHM,"RandomForestRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("n_estimators").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_TREES),this.appendValueInput("max_depth").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_MAXIMUM_TREE_DEPTH),this.appendValueInput("n_jobs").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_THREADS),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},bm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_KNN_INIT).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"KNeighborsClassifier"],[Ve.Msg.SKLEARN_REGRESSION_ALGORITHM,"KNeighborsRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("K").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField("K"),this.appendValueInput("n_jobs").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_THREADS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Tm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_GAUSSINNB_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},xm={init:function(){this.appendDummyInput().appendField("sklearn 初始化 PCA 算法"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("n_components").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_PCA_N_COMPONENTS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Em={init:function(){this.appendDummyInput().appendField("sklearn PCA 降维"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},wm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_KMEANS_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("n_clusters").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.NUMBER_OF_CLUSTERS_JUST),this.appendValueInput("max_iter").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.SKLEARN_MAX_ITER),this.appendValueInput("random_state").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Im={init:function(){this.appendDummyInput().appendField("sklearn K-均值聚类"),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Am={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.TRAINING_MODEL),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LABEL_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Sm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.TRAINING_MODEL),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Cm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.MODEL_PRODICTION),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Om={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.CALCULATE_THE_SCORE),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.LABEL_VALUE),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Mm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.CALCULATE_THE_SCORE),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.EIGENVALUES),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},km={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_GENERALIZED_LINEAR_REGRESSION),this.appendValueInput("model_name").setAlign(Ve.inputs.Align.RIGHT).setCheck(null).appendField(Ve.Msg.MODEL_NAME),this.appendDummyInput().setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_COEF,"coef_"],[Ve.Msg.SKLEARN_INTERCEPT,"intercept_"]]),"type"),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Rm={init:function(){this.appendDummyInput().appendField("sklearn "+Ve.Msg.SKLEARN_CLUSTERING),this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MODEL_NAME),this.appendDummyInput().appendField(Ve.Msg.MIXLY_GET).appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_CLUSTER_CENTER,"cluster_centers_"],[Ve.Msg.SKLEARN_LABELS_AFTER_CLUSTERING,"labels_"],[Ve.Msg.SKLEARN_CLUSTERING_SUM_OF_SQUARED_DISTANCES,"inertia_"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Nm={init:function(){this.appendValueInput("model_name").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField("sklearn").appendField(new Ve.FieldDropdown([[Ve.Msg.SKLEARN_SAVE_MODEL,"dump"],[Ve.Msg.SKLEARN_LOAD_MODEL,"load"]]),"type").appendField(" "+Ve.Msg.MODEL_NAME),this.appendValueInput("address").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(lm),this.setTooltip(""),this.setHelpUrl("")}},Dm=120,Fm={init:function(){this.setColour(Dm),this.appendValueInput("DELAY_TIME",Number).appendField(Ve.Msg.MIXLY_DELAY+"("+Ve.Msg.MIXLY_MILLIS+")").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},Lm={init:function(){this.setColour(Dm),this.appendDummyInput().appendField(Ve.Msg.blockpy_time_time),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_CONTROL_MILLIS)}},Pm={init:function(){this.setColour(Dm),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME),this.appendDummyInput().appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_ALL,"all"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_YEAR,"0"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_MONTH,"1"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_DATE,"2"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_HOUR,"3"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_MINUTE,"4"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_SECOND,"5"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_INWEEK,"6"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_INYEAR,"7"],[Ve.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_DST,"8"]]),"op"),this.setOutput(!0),this.setInputsInline(!0)}},Bm={init:function(){this.setColour(Dm),this.appendValueInput("STATUS_CODE",Number).appendField(Ve.Msg.MIXLY_MICROBIT_Panic_with_status_code).setCheck(Number),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},$m={init:function(){this.setColour(Dm),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MICROBIT_Reset_micro),this.setPreviousStatement(!0)}},Um={init:function(){this.setColour(Dm),this.appendValueInput("TIME").setCheck(Number).setAlign(Ve.inputs.Align.RIGHT).appendField("MsTimer2").appendField(Ve.Msg.MIXLY_MSTIMER2_EVERY),this.appendDummyInput().appendField("ms"),this.appendStatementInput("DO").appendField(Ve.Msg.MIXLY_MSTIMER2_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vm={init:function(){this.setColour(Dm),this.appendDummyInput().appendField("MsTimer2").appendField(Ve.Msg.MIXLY_MSTIMER2_START),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zm={init:function(){this.setColour(Dm),this.appendDummyInput().appendField("MsTimer2").appendField(Ve.Msg.MIXLY_STOP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jm={init:function(){this.setColour(Dm),this.appendValueInput("DELAY_TIME",Number).appendField(Ve.Msg.MIXLY_DELAY).setCheck(Number),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},Ym=180,Gm={init:function(){this.setColour(Ym),this.appendDummyInput("").appendField(Ve.Msg.blockpy_turtle_create).appendField(new Ve.FieldTextInput("tina"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.blockpy_turtle_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Hm={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_TURTLE_DONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wm={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.MIXLY_PYTHON_TURTLE_EXITONCLICK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xm={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_forward,"forward"],[Ve.Msg.blockpy_backward,"backward"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MICROBIT_JS_MOVE_BY).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.MIXLY_MICROBIT_JS_MOVE_BY_num),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{forward:Ve.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Ve.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]})}},qm={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_left,"left"],[Ve.Msg.blockpy_right,"right"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.blockpy_turtle_rotate).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{left:Ve.Msg.MIXLY_TOOLTIP_TURTEL_LEFT,right:Ve.Msg.MIXLY_TOOLTIP_TURTEL_RIGHT}[e]})}},Km={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_setheading),this.appendDummyInput().appendField(Ve.Msg.blockpy_setheading_degree),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zm={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_SCREEN_DELAY),this.appendDummyInput().appendField(Ve.Msg.MIXLY_MILLIS),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TURTEL_SCREEN_DELAY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qm={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_goto),this.appendValueInput("val").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_goto_y),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_goto_position),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jm={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.PYLAB_LABEL_X,"x"],[Ve.Msg.PYLAB_LABEL_Y,"y"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_SETXY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_MIXPY_TURTLE_SETXY_TOOLTIP)}},eg={init:function(){this.setColour(Ym);var e=[[Ve.Msg.TURTLE_POS,"pos"],[Ve.Msg.TURTLE_SHAPE,"shape"],[Ve.Msg.TURTLE_HEADING,"heading"],[Ve.Msg.MIXLY_MIXPY_TURTLE_WIDTH,"width"],[Ve.Msg.MIXLY_TURTEL_GET_SHAPESIZE,"shapesize"],[Ve.Msg.MIXLY_SPEED,"speed"]];this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(Ve.Msg.TURTLE_POS_SHAPE).appendField(new Ve.FieldDropdown(e),"DIR");var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{pos:Ve.Msg.MIXLY_TOOLTIP_TURTEL_POS,shape:Ve.Msg.MIXLY_TOOLTIP_TURTEL_SHAPE,heading:Ve.Msg.MIXLY_TOOLTIP_TURTEL_HEADING,width:Ve.Msg.MIXLY_TOOLTIP_TURTEL_WIDTH,speed:Ve.Msg.MIXLY_TOOLTIP_TURTEL_GET_SPEED,shapesize:Ve.Msg.MIXLY_TURTEL_GET_SHAPESIZE_TOOLTIP}[e]}),this.setOutput(!0),this.setInputsInline(!0)}},tg={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput().appendField(Ve.Msg.TURTLE_STAMP),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ng={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[Ve.Msg.blockpy_turtle_reset,"reset"],[Ve.Msg.blockpy_turtle_home,"home"]];this.setColour(Ym),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{clear:Ve.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Ve.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Ve.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]})}},ig={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_penup,"penup"],[Ve.Msg.blockpy_turtle_pendown,"pendown"]];this.setColour(Ym),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{penup:Ve.Msg.MIXLY_TOOLTIP_TURTEL_PENUP,pendown:Ve.Msg.MIXLY_TOOLTIP_TURTEL_PENDOWN}[e]})}},rg={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_beginfill,"begin"],[Ve.Msg.blockpy_turtle_endfill,"end"]];this.setColour(Ym),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{begin:Ve.Msg.MIXLY_TOOLTIP_TURTEL_BEGINFILL,end:Ve.Msg.MIXLY_TOOLTIP_TURTEL_ENDFILL}[e]})}},sg={init:function(){this.appendDummyInput("").appendField(new Ve.FieldTextInput("tina"),"TUR");var e=[[Ve.Msg.blockpy_turtle_size,"pensize"],[Ve.Msg.MIXLY_SPEED,"speed"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.blockpy_turtle_set).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.blockpy_turtle_set_num),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{pensize:Ve.Msg.MIXLY_TOOLTIP_TURTEL_SIZE,speed:Ve.Msg.MIXLY_TOOLTIP_TURTEL_SPEED}[e]})}},og={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_set_size),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TURTEL_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ag={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_set_speed),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TURTEL_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lg={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_circle,"circle"],[Ve.Msg.blockpy_turtle_dot,"dot"]];this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.blockpy_turtle_draw).appendField(new Ve.FieldDropdown(e),"DIR").appendField(Ve.Msg.blockpy_turtle_radius),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{circle:Ve.Msg.MIXLY_TOOLTIP_TURTEL_CIRCLE,dot:Ve.Msg.MIXLY_TOOLTIP_TURTEL_DOT}[e]})}},ug={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(Ve.Msg.blockpy_turtle_radius),this.appendValueInput("data").setCheck(Number).appendField(Ve.Msg.blockpy_turtle_angle),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_TURTEL_CIRCLE)}},cg={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_hide,"hideturtle"],[Ve.Msg.blockpy_turtle_show,"showturtle"]];this.setColour(Ym),this.appendDummyInput("").appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip(function(){var e=t.getFieldValue("DIR");return{hideturtle:Ve.Msg.MIXLY_TOOLTIP_TURTEL_HIDE,showturtle:Ve.Msg.MIXLY_TOOLTIP_TURTEL_SHOW}[e]})}},dg={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_bgcolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hg={init:function(){this.setColour(Ym),this.appendValueInput("TITLE").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_TURTLE_TITLE_SET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pg={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.MIXLY_TURTLE_SETUP_SET),this.appendValueInput("WIDTH").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_WIDTH),this.appendValueInput("HEIGHT").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_HEIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fg={init:function(){this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.MIXLY_TURTLE_TRACER),this.appendValueInput("STEP").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_TURTLE_TRACER_STEP),this.appendValueInput("DELAY").setCheck(null).setAlign(Ve.inputs.Align.RIGHT).appendField(Ve.Msg.MIXLY_TURTLE_TRACER_DELAY_MS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_pencolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_fillcolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_g={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(Ve.Msg.TURTLE_CLONE),this.setTooltip(Ve.Msg.TURTLE_CLONE_TOOLTIP),this.setOutput(!0)}},yg={init:function(){this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_bgcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_pencolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_fillcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_pencolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME"),this.appendDummyInput().appendField(Ve.Msg.blockpy_turtle_fillcolor).appendField(new Ve.FieldColour("#ff0000"),"FIELDNAME2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR1").setCheck(String).appendField(Ve.Msg.blockpy_turtle_pencolor),this.appendValueInput("VAR2").setCheck(String).appendField(Ve.Msg.blockpy_turtle_fillcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Eg={init:function(){this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_bgcolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_pencolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ig={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_fillcolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ag={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[Ve.Msg.blockpy_turtle_shape_arrow,"arrow"],[Ve.Msg.blockpy_turtle_shape_turtle,"turtle"],[Ve.Msg.blockpy_turtle_shape_circle,"circle"],[Ve.Msg.blockpy_turtle_shape_square,"square"],[Ve.Msg.blockpy_turtle_shape_triangle,"triangle"],[Ve.Msg.blockpy_turtle_shape_classic,"classic"]];this.setColour(Ym),this.appendDummyInput("").appendField(Ve.Msg.blockpy_turtle_shape).appendField(new Ve.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.TURTLE_SHAPE_TOOLTIP)}},Sg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTEL_SHAPESIZE),this.appendValueInput("WID").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTEL_SHAPESIZE_WID),this.appendValueInput("LEN").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTEL_SHAPESIZE_LEN),this.appendValueInput("OUTLINE").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTEL_SHAPESIZE_OUTLINE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TOOLTIP_SHAPESIZE)}},Cg={init:function(){this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_NUMINPUT),this.setColour(Ym),this.appendValueInput("TITLE").setCheck(String).appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_TITLE),this.appendValueInput("PROMPT").setCheck(String).appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_PROMPT),this.appendValueInput("DEFAULT").setCheck(Number).appendField(Ve.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("MIN").setCheck(Number).appendField(Ve.Msg.MATH_ONLIST_OPERATOR_MIN),this.appendValueInput("MAX").setCheck(Number).appendField(Ve.Msg.MATH_ONLIST_OPERATOR_MAX),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ve.Msg.TURTLE_NUMINPUT_TOOLTIP)}},Og={init:function(){this.appendDummyInput("").appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT),this.setColour(Ym),this.appendValueInput("TITLE").setCheck(String).appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_TITLE),this.appendValueInput("PROMPT").setCheck(String).appendField(Ve.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_PROMPT),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ve.Msg.TURTLE_TEXTINPUT_TOOLTIP)}},Mg={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_write),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.TURTLE_WRITE_TOOLTIP)}},kg={init:function(){var e=[[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"],[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"]],t=[[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_LEFT,"left"],[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_RIGHT,"right"]],n=[[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_NORMAL,"normal"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD,"bold"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_ITALIC,"italic"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD_ITALIC,'bold","italic']];this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_write),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_MOVE).appendField(new Ve.FieldDropdown(e),"MOVE"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN).appendField(new Ve.FieldDropdown(t),"ALIGN"),this.appendValueInput("FONTNAME").setCheck(String).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NAME),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE).appendField(new Ve.FieldDropdown(n),"FONTTYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.TURTLE_WRITE_TOOLTIP)}},Rg={init:function(){var e=[[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"],[Ve.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"]],t=[[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_LEFT,"left"],[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN_RIGHT,"right"]],n=[[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_NORMAL,"normal"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD,"bold"],[Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_ITALIC,"italic"]];this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(Ym),this.appendValueInput("VAR").setCheck(String).appendField(Ve.Msg.blockpy_turtle_write),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_MOVE).appendField(new Ve.FieldDropdown(e),"MOVE"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_ALIGN).appendField(new Ve.FieldDropdown(t),"ALIGN"),this.appendValueInput("FONTNAME").setCheck(String).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NAME),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE).appendField(new Ve.FieldDropdown(n),"FONTTYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.TURTLE_WRITE_TOOLTIP)}},Ng={init:function(){this.setColour(Ym),this.appendDummyInput("").setAlign(Ve.inputs.Align.RIGHT).appendField(new Ve.FieldColour("ff0000"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},Dg={init:function(){this.setColour(Ym),this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTEL_GETSCREEN).appendField(new Ve.FieldTextInput("screen"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_GETSCREEN_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Ve.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Fg={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_TURTLE_UPDATE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_EVENT_ONKEY_TOOLTIP)}},Lg={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TURTEL_EVENT_ONKEY),this.appendValueInput("callback").appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_EVENT_ONKEY_TOOLTIP)}},Pg={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_TURTEL_EVENT_ONCLICK),this.appendValueInput("callback").appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_EVENT_ONCLICK_TOOLTIP)}},Bg={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendValueInput("VAR").appendField(Ve.Msg.MIXLY_TURTEL_EVENT_ONTIMER),this.appendDummyInput("").appendField(Ve.Msg.MIXLY_mSecond),this.appendValueInput("callback").appendField(Ve.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ve.Msg.MIXLY_TURTEL_EVENT_ONTIMER_TOOLTIP)}},$g={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_TURTEL_SCREEN_LISTEN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ug={init:function(){this.setColour(Ym),this.appendValueInput("TUR"),this.appendValueInput("FILE").setCheck(String).appendField(Ve.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Ve.Msg.mixpy_TURTLE_SAVEFIG_TOOLTIP)}},Vg=function(e,t){var n=this.getFieldValue("TYPE");return t.definitions_.import_FileDialog="import FileDialog",["FileDialog."+n+"()",t.ORDER_ATOMIC]},zg=function(e,t){var n=this.getFieldValue("CTYPE");return t.definitions_.import_aip="import aip",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = aip."+n+"("+t.valueToCode(this,"API_KEY",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"SECRET_KEY",t.ORDER_ATOMIC)+")\n"},jg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".synthesis("+t.valueToCode(this,"STR",t.ORDER_ATOMIC)+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Yg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".asr("+(t.valueToCode(this,"FILE",t.ORDER_ATOMIC)||'""')+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Gg=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+i+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Hg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".match("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR2",t.ORDER_ATOMIC)+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Wg=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+i+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Xg=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"STR",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+i+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},qg=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),i=t.valueToCode(this,"STR1",t.ORDER_ATOMIC),r=t.valueToCode(this,"STR2",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+i+","+r+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Kg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".topic("+t.valueToCode(this,"STR1",t.ORDER_ATOMIC)+","+t.valueToCode(this,"STR2",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Zg=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".newsSummary("+t.valueToCode(this,"STR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"LEN",t.ORDER_ATOMIC)+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},Qg=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},Jg=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},e_=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},t_=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},n_=function(e,t){return t.definitions_.import_audio="import audio","audio.audio_record("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+","+(t.valueToCode(this,"TIME",t.ORDER_ATOMIC)||"0")+")\n"},i_=function(e,t){return t.definitions_.import_audio="import cam","cam.photo_capture("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+","+(t.valueToCode(this,"BUT",t.ORDER_ATOMIC)||'""')+")\n"},r_=function(e,t){var n=t.valueToCode(this,"AI",t.ORDER_ASSIGNMENT)||"0",i=this.getFieldValue("CTYPE");if("Image"==i)var r=n+'["result"][0]["keyword"]';if("Speech"==i)r=n+'["result"][0]';if("Face"==i||"OcrSimilarity"==i)r=n+'["score"]';if("Ocr"==i)r=n+'["words_result"]';return[r,t.ORDER_ATOMIC]},s_=function(e,t){t.definitions_.import_sprite="import sprite";return"g = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,1,0,0,0,0,0,0], [0,0,0,1,0,0,1,0,0,0], [0,1,1,0,1,1,0,0,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,0,1,0,0,1,1,0,0], [0,0,1,0,0,1,0,1,0,0], [0,0,0,0,1,1,1,0,0,0]]\nmark = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0]]\nvis = [0,1,0,0,0,0,0,0,0]\nposition = [[0, 0], [200, 200], [250, 60], [320, 200], [280, 380], [470, 250], [670, 90], [650, 340]]\nsprite.clearAllSprites()\nsprite.createBackground('ditu')\nmask = sprite.Sprite('white', 96, 354)\nmask.hide()\nhouse = [\n sprite.Sprite('mark', 150, 380),\n sprite.Sprite('xtxn', 96, 170),\n sprite.Sprite('xnvijx', 270, 45),\n sprite.Sprite('xnxbjx', 310, 182),\n sprite.Sprite('xnsijx', 300, 370),\n sprite.Sprite('xnkejx', 495, 220),\n sprite.Sprite('bwbwjx', 716, 85),\n sprite.Sprite('lelejx', 686, 314)\n]\nfor i in house:\n i.filterBrighter()\n i.hide()\n"},o_=function(){return"path = [1]\nmask.show()\ncar = sprite.Sprite('xnie', position[1][0], position[1][1])\nhouse[1].show()\ncar.nowPos = 1\ndef drive(n):\n if g[car.nowPos][n]==1:\n car.slideTo(position[n][0], position[n][1], 1)\n car.nowPos = n\n else:\n print('移动失败!程序有误!')\n exit()\n"},a_=function(e,t){t.definitions_.import_random="import random";return"f = path[(len(path) - 1)]\nflag = 0\nfor _my_variable in [6,5,4,3,2,1,0]:\n if vis[_my_variable+1] == 0 and g[f][_my_variable+1] == 1:\n if mark[f][_my_variable+1] == 0:\n flag = 1\n break\n"},l_=function(e,t){return["flag == 1",t.ORDER_ATOMIC]},u_=function(){return"mark[f][_my_variable+1] = 1\nvis[_my_variable+1] = 1\n"},c_=function(){return"path.append(_my_variable+1)\ndrive(path[len(path) - 1])\nhouse[_my_variable+1].show()\n"},d_=function(e,t){t.definitions_.import_time="import time";return"del path[len(path) - 1]\nhouse[0].show()\ntime.sleep(0.5)\nhouse[0].hide()\n"},h_=function(){var e="for i in range(7):\n mark[f][i+1] = 0\n vis[f] = 0\n";return e="house[f].hide()\ndrive(path[len(path) - 1])\n"+e},p_=function(e,t){return["len(path) == 7",t.ORDER_ATOMIC]},f_=function(){return'name = ["","学校","小智家","小欣家","小思家","小科家","贝贝家","乐乐家"]\nres = ""\nfor i in path:\n res = res + name[i] + "-"\nprint(res[:-1])\n'},m_=function(e,t){t.definitions_.import_sprite="import sprite";return"g = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,1,0,0,0,0,0,0], [0,0,0,1,0,0,1,0,0,0], [0,1,1,0,1,0,0,0,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,1,0,0,0,0,1,0,0], [0,0,0,0,1,1,1,0,0,0]]\nmark = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0]]\nvis = [0,1,0,0,0,0,0,0,0]\nposition = [[0, 0], [200, 200], [250, 60], [320, 200], [280, 380], [470, 250], [670, 90], [650, 340]]\nsprite.clearAllSprites()\nsprite.createBackground('ditu')\nmask = sprite.Sprite('white', 96, 354)\nmask.hide()\nhouse = [\n sprite.Sprite('mark', 150, 380),\n sprite.Sprite('xtxn', 96, 170),\n sprite.Sprite('xnvijx', 270, 45),\n sprite.Sprite('xnxbjx', 310, 182),\n sprite.Sprite('xnsijx', 300, 370),\n sprite.Sprite('xnkejx', 495, 220),\n sprite.Sprite('bwbwjx', 716, 85),\n sprite.Sprite('lelejx', 686, 314)\n]\nbarricade = sprite.Sprite('barricade', 610, 170)\nbarricade.enlargeTo(100)\nfor i in house:\n i.filterBrighter()\n i.hide()\n"},g_=function(e,t){return["f == 1",t.ORDER_ATOMIC]},__=function(){return"print('没有符合条件的路线')\n"},y_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return'g = [[10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000],[10000,10000,500,300,10000,10000,10000,10000,10000,10000,10000],[10000,500,10000,10000,100,10000,10000,10000,10000,10000,10000],[10000,300,10000,10000,400,300,10000,10000,10000,10000,10000],[10000,10000,100,400,10000,10000,200,10000,10000,10000,10000],[10000,10000,10000,300,10000,10000,100,200,10000,10000,10000],[10000,10000,10000,10000,200,100,10000,10000,100,10000,10000],[10000,10000,10000,10000,10000,200,10000,10000,100,10000,10000],[10000,10000,10000,10000,10000,10000,100,100,10000,10000,10000]]\nnow=1\nlast=1\npath=[]\npath.append(1)\nname = ["","小思家","银行","邮局","餐厅","书店","医院","超市","小科家"]\nposition = [[0, 0], [60, 320], [510, 390], [240, 200], [750, 330], [410, 90], [540, 190], [550, 30], [720, 120]]\nsprite.clearAllSprites()\nsprite.createBackground(\'map_si_ke\')\nstu = sprite.Sprite(\'girl\', 60, 320)\nstu.enlargeTo(100)\ntime.sleep(1)\n\n'},v_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return'g =[[10000,10000,10000,10000,10000,10000,10000],[10000,10000,300,500,10000,10000,10000],[10000,300,10000,10000,300,700,10000],[10000,500,10000,10000,10000,100,10000],[10000,10000,300,10000,10000,10000,200],[10000,10000,700,100,10000,10000,100],[10000,10000,10000,10000,200,100,10000]]\nnow=1\nlast=1\npath=[]\npath.append(1)\nname = ["","小智家","邮局","银行","书店","餐厅","学校"]\nposition = [[0, 0], [70, 340], [70, 90], [550, 310], [420, 70], [730, 250], [650, 130]]\nsprite.clearAllSprites()\nsprite.createBackground(\'map_zhi_xue\')\nstu = sprite.Sprite(\'boy\', 70, 340)\nstu.enlargeTo(100)\ntime.sleep(1)\n\n'},b_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return'tmp=10000\nfor i in range(0, len(g), 1):\n if g[now][i]6:\n print("路线错乱!程序有误!")\n exit()\n'},T_=function(e,t){return["name[now] != '小科家'",t.ORDER_ATOMIC]},x_=function(e,t){return["name[now] != '学校'",t.ORDER_ATOMIC]},E_=function(){return'res = ""\nfor i in path:\n res = res + name[i] + "→"\nprint(res[:-1])\n'},w_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("NUM");if(n>=7)var i="print('层数过高!不得高于6层!')\nexit()\n";else i="sprite.clearAllSprites()\n_Hanoicolor = ['blue', 'red', 'yellow', 'green', 'purple', 'black']\n_Hanoi = [[], [], []]\nA = 0\nB = 1\nC = 2\n_n = "+n+"\n_HanoiColumn = [\n sprite.Sprite('HanoiColumn', 200, 320),\n sprite.Sprite('HanoiColumn', 400, 320),\n sprite.Sprite('HanoiColumn', 600, 320)\n]\n_HanoiColumnNumber = [\n sprite.Text('A', 190, 120),\n sprite.Text('B', 390, 120),\n sprite.Text('C', 590, 120)\n]\n_HanoiBlock = []\nfor i in range(0, _n, 1):\n _HanoiBlock.append(sprite.Sprite(_Hanoicolor[i], 200, 400-(_n-i-1)*27))\n _HanoiBlock[i].setScale(25, 30*i+30)\n _Hanoi[0].insert(0, _HanoiBlock[i])\n_steptext = sprite.Text('步数:0', 30, 30)\n_steps = {'steps' : 0}\ntime.sleep(1)\n";return i},I_=function(e,t){var n=t.valueToCode(this,"FROM_NUM",t.ORDER_ATOMIC)||"0",i=t.valueToCode(this,"TO_NUM",t.ORDER_ATOMIC)||"0";return`if len(_Hanoi[${n}])>0 :\n _HanoiBlockMoved = _Hanoi[${n}].pop()\n if len(_Hanoi[${i}]) > 0 :\n _HanoiBlockSuppressed = _Hanoi[${i}].pop()\n if _HanoiBlock.index(_HanoiBlockMoved) > _HanoiBlock.index(_HanoiBlockSuppressed):\n print('非法移动!程序有误!')\n exit()\n else:\n _Hanoi[${i}].append(_HanoiBlockSuppressed)\n _HanoiBlockMoved.slideTo(${n}*200+200, 180, 0.2)\n _HanoiBlockMoved.slideTo(${i}*200+200, 180, 0.5)\n _HanoiBlockMoved.slideTo(${i}*200+200, 400-len(_Hanoi[${i}])*27, 0.2)\n _Hanoi[${i}].append(_HanoiBlockMoved)\n _steps['steps'] += 1\n _steptext.changeText('步数:'+str(_steps['steps']))\nelse :\n print('非法移动!程序有误!')\n exit()\n`},A_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"if 'mode' not in globals() or mode == 0:\n sprite.clearAllSprites()\n ring=[0,0,0,0,0,0,0,0,0,0]\n mode=1\n n=5\n ring[5]=1\n name=['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\n Books = []\n for i in range(1, 11, 1):\n Books.append(sprite.Sprite('books/book'+str(i), (130*i-650) if i>5 else 130*i, 320 if i>5 else 120))\nelse:\n mode=2\n n=len(ring)-1\nring[n]=1\ntime.sleep(1)\n"},S_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"if 'mode' not in globals() or mode == 0:\n sprite.clearAllSprites()\n ring=[0,0,0,0,0,0,0,0,0,0]\n mode=2\n n=5\n name=['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\n Books = []\n for i in range(1, 11, 1):\n Books.append(sprite.Sprite('books/book'+str(i), (130*i-650) if i>5 else 130*i, 320 if i>5 else 120))\nelse:\n mode=1\n n=len(ring)-1\nring[n]=n\nlist=ring\ntemp=Books\ntime.sleep(1)\n"},C_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"res=0\nflag=ring[res]\nBooks[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n"},O_=function(e,t){return["(('mode' not in globals())or(mode==1 and flag==0)or(mode==2 and not any(value > 0 for value in qian))or(mode==0))",t.ORDER_ATOMIC]},M_=function(e,t){return["(('mode' in globals())and((mode==1 and flag!=0)or(mode==2 and any(value > 0 for value in qian))))",t.ORDER_ATOMIC]},k_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n="res+=1\nflag=ring[res]\n";return n="Books[res].filterGray()\ntime.sleep(0.3)\n"+(n+="Books[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n")},R_=function(e,t){return["len(list)>=2",t.ORDER_ATOMIC]},N_=function(){return"mid = int(len(list)/2)\nqian = list[0:mid]\nhou = list[mid:]\nqiantemp = temp[0:mid]\nhoutemp = temp[mid:]\n"},D_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"quchu = qian\nlist = hou\nquchutemp = qiantemp\ntemp = houtemp\nfor i in qiantemp:\n i.filterBrighter()\ntime.sleep(0.5)\nfor i in qiantemp:\n i.filterGray()\ntime.sleep(0.5)\n"},F_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"list = quchu\ntemp = quchutemp\nfor i in qiantemp:\n i.filterBrighter()\ntime.sleep(0.5)\nfor i in qiantemp:\n i.filterOrigin()\nfor i in houtemp:\n\ti.filterBrighter()\ntime.sleep(0.5)\nfor i in houtemp:\n i.filterGray()\ntime.sleep(0.5)\n"},L_=function(){return"if 'list' in globals():\n res = list[0]\nBooks[res].filterBrighter()\nprint('未消磁的书籍是第'+str(res+1)+'本《'+name[res%10]+'》。')\nif res!=n:\n print('答案错误!请检查程序!')\nmode=0\n"},P_=function(e,t){var n=this.getFieldValue("NUM");return t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite",`sprite.clearAllSprites()\nring = []\nname = ['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\nBooks = []\nfor i in range(${n}):\n ring.append(0)\nfor i in range(1, ${n}+1, 1):\n Books.append(sprite.Sprite('books/book'+str(i%10 if i%10!=0 else 10), ${{5:"130*i, 120",10:"(130*i-650) if i>5 else 130*i, 320 if i>5 else 120",20:"(65*i-650)+30 if i>10 else 65*i+30, 320 if i>10 else 120",50:"(26*i-650)+50 if i>25 else 26*i+50, 320 if i>25 else 120"}[n]}))\ntime.sleep(1)\nmode=3\n`},B_=function(e,t){t.definitions_.import_sprite="import sprite";return"cnt=0\ncntText = sprite.Text('计数器:0', 30, 200)\n"},$_=function(e,t){t.definitions_.import_sprite="import sprite";return"cnt+=1\ncntText.changeText('计数器:'+str(cnt))\n"},U_=function(e,t){t.definitions_.import_sprite="import sprite";return"print('计数器大小:'+str(cnt))\n"},V_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\n_head = 10\n_foot = 32\n_footText = sprite.Text('脚的数量:', 20, 10)\n_sprite = []\n"},z_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_rabbit = 0\ntime.sleep(1)\n"},j_=function(e,t){return["_rabbit < _head",t.ORDER_ATOMIC]},Y_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_chick = _head - _rabbit\nfor i in range(0, _chick, 1):\n _sprite.append(sprite.Sprite('jttl/chick', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\n\ntime.sleep(0.5)\n_footText.changeText('脚的数量:'+str(_rabbit*4 + _chick*2))\ntime.sleep(1)\n"},G_=function(e,t){return["_rabbit*4 + _chick*2 == _foot",t.ORDER_ATOMIC]},H_=function(e,t){t.definitions_.import_sprite="import sprite";return"print('鸡的数量:'+str(_chick)+'只;\\n兔的数量:'+str(_rabbit)+'只。')\n"},W_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_rabbit += 1\nsprite.clearAllSprites()\n_sprite = []\n_footText = sprite.Text('脚的数量:', 20, 10)\nfor i in range(0, _rabbit, 1):\n _sprite.append(sprite.Sprite('jttl/rabbit', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\ntime.sleep(0.5)\n"},X_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\nsprite.createBackground('/fzsf/map_ck_xxjsjs')\n_S1 = sprite.Sprite('/fzsf/S1',400,225,'S1')\n_S2 = sprite.Sprite('/fzsf/S2',400,225,'S2')\n_S3 = sprite.Sprite('/fzsf/S3',400,225,'S3')\n_S4 = sprite.Sprite('/fzsf/S4',400,225,'S4')\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_text_1 = sprite.Text('S1:',0,0,'text')\n_text_2 = sprite.Text('S2:',0,30,'text2')\n_text_3 = sprite.Text('S3:',0,60,'text3')\n_text_4 = sprite.Text('S4:',0,90,'text4')\n_position = [[60, 270], [240, 50], [260, 380], [440, 190], [730, 60], [700, 400]]\n_Llen = [0, 170, 230, 100, 150, 10, 30, 50]\n_Slen = [0, 0, 0, 0, 0]\n_tag = [0, [0, 1, 3], [0, 2, 3], [3, 4, 5], [3, 5]]\nbear = sprite.Sprite('mixbear',60,270,'bear')\nbear.enlargeTo(80)\n_pos = 0\ntime.sleep(1)\n"},q_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("PATHNAME");const i=[0,[1,3],[2,4],[5,7],[6]];var r="";return r+=`_S${n}.show()\ntime.sleep(1)\n`,r+=4!=n?`_Slen[${n}] = _Llen[${i[n][0]}] + _Llen[${i[n][1]}]\n_text_${n}.changeText('S${n}:'+str(_Slen[${n}])+'m')\ntime.sleep(1)\n_S${n}.hide()\ntime.sleep(1)\n`:"_Slen[4] = _Llen[6]\n_text_4.changeText('S4:'+str(_Slen[4])+'m')\ntime.sleep(1)\n_S4.hide()\ntime.sleep(1)\n"},K_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n="";return[n+=`_Slen[${this.getFieldValue("PATHNAME")}] < _Slen[${this.getFieldValue("PATHNAME2")}]`,t.ORDER_ATOMIC]},Z_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("PATHNAME"),i="";return i+=`\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_Smin = ${n}\n_S${n}.show()\ntime.sleep(0.5)\n_S${n}.hide()\ntime.sleep(0.5)\n_S${n}.show()\ntime.sleep(1)\n`},Q_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"if(_pos == _tag[_Smin][0]):\n for i in range(1, len(_tag[_Smin]), 1):\n bear.slideTo(_position[_tag[_Smin][i]][0], _position[_tag[_Smin][i]][1], 1)\n _pos = _tag[_Smin][len(_tag[_Smin])-1]\nelse:\n print('移动错误!程序有误!')\n exit()\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\nif(_pos == 5):\n print('成功抵达信息科技教室!')\n"},J_=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\nsprite.createBackground('/hxdb/hxdbbg')\n_soldier = []\n_num = sprite.Text('目前士兵数量:0',0,0,'num')\n_last = sprite.Text('剩余:0',500,0,'last')\n_line = 3\n"},ey=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n="";return n+=`for i in range(0, ${this.getFieldValue("NUM")}, 1):\n _soldier.append(sprite.Sprite('/hxdb/soldier', 30 + (len(_soldier)%_line)*50 + (len(_soldier)//(4*_line))*(_line+1)*50 +(len(_soldier)%3-2), 80+(len(_soldier)//_line)*100-(len(_soldier)//(4*_line))*4*100+(len(_soldier)%2)))\n_num.changeText('目前士兵数量:'+str(len(_soldier)))\n`},ty=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("NUM");return`for i in range(0, len(_soldier), 1):\n _soldier[i].slideTo(30 + (i%${n})*50 + (i//(4*${n}))*(${n}+1)*50 +(i%3-2), 80+(i//${n})*100-(i//(4*${n}))*4*100+(i%2), 0.05)\n_line = ${n}\n_last.changeText('剩余:'+str(len(_soldier)%_line))\ntime.sleep(2)\n`},ny=function(e,t){return t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite",[`len(_soldier)%_line == ${this.getFieldValue("NUM")}`,t.ORDER_ATOMIC]},iy=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_num.changeText('目前士兵数量:'+str(len(_soldier)+1))\n_last.changeText('剩余:')\ntime.sleep(0.5)\n_soldier.append(sprite.Sprite('/hxdb/soldier', 30 + (len(_soldier)%_line)*50 + (len(_soldier)//(4*_line))*(_line+1)*50 +(len(_soldier)%3-2), 80+(len(_soldier)//_line)*100-(len(_soldier)//(4*_line))*4*100+(len(_soldier)%2)))\ntime.sleep(1)\n"},ry=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"print('符合要求的士兵数量为:'+str(len(_soldier)))\n"},sy=function(e,t){t.definitions_.import_turtle="import turtle",t.definitions_.import_time="import time",t.definitions_.import_math="import math";var n=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),i=this.getFieldValue("NUM");return t.setups_.init_Hanoi="\ndef init_Hanoi():\n pen = turtle.Turtle()\n pen.hideturtle()\n pen.speed(0)\n for i in range(0, 3, 1):\n pen.penup()\n pen.setheading(0)\n pen.goto(150 * i - 200,-100)\n pen.pendown()\n pen.pensize(5)\n pen.forward(100)\n pen.goto(150 * i - 150,-100)\n pen.setheading(90)\n pen.forward(200)",t.setups_.begin="\ndef begin(): \n s = turtle.Turtle()\n s.hideturtle()\n s.penup()\n s.speed(0)\n s.goto(0,-150)\n s.write('3')\n time.sleep(1)\n s.clear()\n s.write('2')\n time.sleep(1)\n s.clear()\n s.write('1')\n time.sleep(1)\n s.clear()\n s.write('Start!')\n time.sleep(1)\n s.clear()\n",t.setups_.move="\ndef move(x, y):\n try:\n t = tower[x].pop(-1)\n a = tower_num[x].pop(-1)\n if tower_num[y]!=[]:\n b = tower_num[y][-1]\n if a 1"}]`,t.ORDER_ATOMIC]},Bv=function(e,t){return[`${t.valueToCode(e,"DICT",t.ORDER_ATOMIC)||"df"}.groupby(by=${t.valueToCode(e,"KEY",t.ORDER_ATOMIC)||"'tag'"})`,t.ORDER_ATOMIC]},$v=function(e,t){return[`${t.valueToCode(e,"DICT",t.ORDER_ATOMIC)||"df"}.${e.getFieldValue("TYPE")}()`,t.ORDER_ATOMIC]},Uv=function(e,t){t.definitions_.import_matplotlib_pyplot="import matplotlib.pyplot as plt";return"plt.cla()\n"},Vv=function(e,t){var n=t.variableDB_.getName(this.getFieldValue("VAR"),Ve.Variables.NAME_TYPE),i=t.variableDB_.getName(this.getFieldValue("TYPE"),Ve.Variables.NAME_TYPE),r="class "+i+":\n";r+=" def __init__(self):\n";for(var s=new Array(this.itemCount_),o=0;oe in t}const Mx={},kx=[],Rx=()=>{},Nx=()=>!1,Dx=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Fx=e=>e.startsWith("onUpdate:"),Lx=Object.assign,Px=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Bx=Object.prototype.hasOwnProperty,$x=(e,t)=>Bx.call(e,t),Ux=Array.isArray,Vx=e=>"[object Map]"===Kx(e),zx=e=>"[object Set]"===Kx(e),jx=e=>"[object Date]"===Kx(e),Yx=e=>"function"==typeof e,Gx=e=>"string"==typeof e,Hx=e=>"symbol"==typeof e,Wx=e=>null!==e&&"object"==typeof e,Xx=e=>(Wx(e)||Yx(e))&&Yx(e.then)&&Yx(e.catch),qx=Object.prototype.toString,Kx=e=>qx.call(e),Zx=e=>Kx(e).slice(8,-1),Qx=e=>"[object Object]"===Kx(e),Jx=e=>Gx(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,eE=Ox(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),tE=Ox("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),nE=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},iE=/-(\w)/g,rE=nE(e=>e.replace(iE,(e,t)=>t?t.toUpperCase():"")),sE=/\B([A-Z])/g,oE=nE(e=>e.replace(sE,"-$1").toLowerCase()),aE=nE(e=>e.charAt(0).toUpperCase()+e.slice(1)),lE=nE(e=>e?`on${aE(e)}`:""),uE=(e,t)=>!Object.is(e,t),cE=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:i,value:n})},hE=e=>{const t=parseFloat(e);return isNaN(t)?e:t},pE=e=>{const t=Gx(e)?Number(e):NaN;return isNaN(t)?e:t};let fE;const mE=()=>fE||(fE="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==__webpack_require__.g?__webpack_require__.g:{});const gE=Ox("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol");function _E(e){if(Ux(e)){const t={};for(let n=0;n{if(e){const n=e.split(vE);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function xE(e){let t="";if(Gx(e))t=e;else if(Ux(e))for(let n=0;n?@[\\\]^`{|}~]/g;function FE(e,t){return e.replace(DE,e=>t?'"'===e?'\\\\\\"':`\\\\${e}`:`\\${e}`)}function LE(e,t){if(e===t)return!0;let n=jx(e),i=jx(t);if(n||i)return!(!n||!i)&&e.getTime()===t.getTime();if(n=Hx(e),i=Hx(t),n||i)return e===t;if(n=Ux(e),i=Ux(t),n||i)return!(!n||!i)&&function(e,t){if(e.length!==t.length)return!1;let n=!0;for(let i=0;n&&iLE(e,t))}const BE=e=>!(!e||!0!==e.__v_isRef),$E=e=>Gx(e)?e:null==e?"":Ux(e)||Wx(e)&&(e.toString===qx||!Yx(e.toString))?BE(e)?$E(e.value):JSON.stringify(e,UE,2):String(e),UE=(e,t)=>BE(t)?UE(e,t.value):Vx(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],i)=>(e[VE(t,i)+" =>"]=n,e),{})}:zx(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>VE(e))}:Hx(t)?VE(t):!Wx(t)||Ux(t)||Qx(t)?t:String(t),VE=(e,t="")=>{var n;return Hx(e)?`Symbol(${null!=(n=e.description)?n:t})`:e};let zE,jE;class YE{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=zE,!e&&zE&&(this.index=(zE.scopes||(zE.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e0)return;if(ZE){let e=ZE;for(ZE=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;KE;){let t=KE;for(KE=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,1&t.flags)try{t.trigger()}catch(t){e||(e=t)}t=n}}if(e)throw e}function nw(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function iw(e){let t,n=e.depsTail,i=n;for(;i;){const e=i.prevDep;-1===i.version?(i===n&&(n=e),ow(i),aw(i)):t=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=e}e.deps=t,e.depsTail=n}function rw(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(sw(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function sw(e){if(4&e.flags&&!(16&e.flags))return;if(e.flags&=-17,e.globalVersion===mw)return;e.globalVersion=mw;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!rw(e))return void(e.flags&=-3);const n=jE,i=cw;jE=e,cw=!0;try{nw(e);const n=e.fn(e._value);(0===t.version||uE(n,e._value))&&(e._value=n,t.version++)}catch(e){throw t.version++,e}finally{jE=n,cw=i,iw(e),e.flags&=-3}}function ow(e,t=!1){const{dep:n,prevSub:i,nextSub:r}=e;if(i&&(i.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=i,e.nextSub=void 0),n.subs===e&&(n.subs=i,!i&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)ow(e,!0)}t||--n.sc||!n.map||n.map.delete(n.key)}function aw(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}function lw(e,t){e.effect instanceof qE&&(e=e.effect.fn);const n=new qE(e);t&&Lx(n,t);try{n.run()}catch(e){throw n.stop(),e}const i=n.run.bind(n);return i.effect=n,i}function uw(e){e.effect.stop()}let cw=!0;const dw=[];function hw(){dw.push(cw),cw=!1}function pw(){const e=dw.pop();cw=void 0===e||e}function fw(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const e=jE;jE=void 0;try{t()}finally{jE=e}}}let mw=0;class gw{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class _w{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(e){if(!jE||!cw||jE===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==jE)t=this.activeLink=new gw(jE,this),jE.deps?(t.prevDep=jE.depsTail,jE.depsTail.nextDep=t,jE.depsTail=t):jE.deps=jE.depsTail=t,yw(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){const e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=jE.depsTail,t.nextDep=void 0,jE.depsTail.nextDep=t,jE.depsTail=t,jE.deps===t&&(jE.deps=e)}return t}trigger(e){this.version++,mw++,this.notify(e)}notify(e){ew();try{0;for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{tw()}}}function yw(e){if(e.dep.sc++,4&e.sub.flags){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)yw(e)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const vw=new WeakMap,bw=Symbol(""),Tw=Symbol(""),xw=Symbol("");function Ew(e,t,n){if(cw&&jE){let t=vw.get(e);t||vw.set(e,t=new Map);let i=t.get(n);i||(t.set(n,i=new _w),i.map=t,i.key=n),i.track()}}function ww(e,t,n,i,r,s){const o=vw.get(e);if(!o)return void mw++;const a=e=>{e&&e.trigger()};if(ew(),"clear"===t)o.forEach(a);else{const r=Ux(e),s=r&&Jx(n);if(r&&"length"===n){const e=Number(i);o.forEach((t,n)=>{("length"===n||n===xw||!Hx(n)&&n>=e)&&a(t)})}else switch((void 0!==n||o.has(void 0))&&a(o.get(n)),s&&a(o.get(xw)),t){case"add":r?s&&a(o.get("length")):(a(o.get(bw)),Vx(e)&&a(o.get(Tw)));break;case"delete":r||(a(o.get(bw)),Vx(e)&&a(o.get(Tw)));break;case"set":Vx(e)&&a(o.get(bw))}}tw()}function Iw(e){const t=hI(e);return t===e?t:(Ew(t,0,xw),cI(e)?t:t.map(fI))}function Aw(e){return Ew(e=hI(e),0,xw),e}const Sw={__proto__:null,[Symbol.iterator](){return Cw(this,Symbol.iterator,fI)},concat(...e){return Iw(this).concat(...e.map(e=>Ux(e)?Iw(e):e))},entries(){return Cw(this,"entries",e=>(e[1]=fI(e[1]),e))},every(e,t){return Mw(this,"every",e,t,void 0,arguments)},filter(e,t){return Mw(this,"filter",e,t,e=>e.map(fI),arguments)},find(e,t){return Mw(this,"find",e,t,fI,arguments)},findIndex(e,t){return Mw(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Mw(this,"findLast",e,t,fI,arguments)},findLastIndex(e,t){return Mw(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Mw(this,"forEach",e,t,void 0,arguments)},includes(...e){return Rw(this,"includes",e)},indexOf(...e){return Rw(this,"indexOf",e)},join(e){return Iw(this).join(e)},lastIndexOf(...e){return Rw(this,"lastIndexOf",e)},map(e,t){return Mw(this,"map",e,t,void 0,arguments)},pop(){return Nw(this,"pop")},push(...e){return Nw(this,"push",e)},reduce(e,...t){return kw(this,"reduce",e,t)},reduceRight(e,...t){return kw(this,"reduceRight",e,t)},shift(){return Nw(this,"shift")},some(e,t){return Mw(this,"some",e,t,void 0,arguments)},splice(...e){return Nw(this,"splice",e)},toReversed(){return Iw(this).toReversed()},toSorted(e){return Iw(this).toSorted(e)},toSpliced(...e){return Iw(this).toSpliced(...e)},unshift(...e){return Nw(this,"unshift",e)},values(){return Cw(this,"values",fI)}};function Cw(e,t,n){const i=Aw(e),r=i[t]();return i===e||cI(e)||(r._next=r.next,r.next=()=>{const e=r._next();return e.value&&(e.value=n(e.value)),e}),r}const Ow=Array.prototype;function Mw(e,t,n,i,r,s){const o=Aw(e),a=o!==e&&!cI(e),l=o[t];if(l!==Ow[t]){const t=l.apply(e,s);return a?fI(t):t}let u=n;o!==e&&(a?u=function(t,i){return n.call(this,fI(t),i,e)}:n.length>2&&(u=function(t,i){return n.call(this,t,i,e)}));const c=l.call(o,u,i);return a&&r?r(c):c}function kw(e,t,n,i){const r=Aw(e);let s=n;return r!==e&&(cI(e)?n.length>3&&(s=function(t,i,r){return n.call(this,t,i,r,e)}):s=function(t,i,r){return n.call(this,t,fI(i),r,e)}),r[t](s,...i)}function Rw(e,t,n){const i=hI(e);Ew(i,0,xw);const r=i[t](...n);return-1!==r&&!1!==r||!dI(n[0])?r:(n[0]=hI(n[0]),i[t](...n))}function Nw(e,t,n=[]){hw(),ew();const i=hI(e)[t].apply(e,n);return tw(),pw(),i}const Dw=Ox("__proto__,__v_isRef,__isVue"),Fw=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(Hx));function Lw(e){Hx(e)||(e=String(e));const t=hI(this);return Ew(t,0,e),t.hasOwnProperty(e)}class Pw{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if("__v_skip"===t)return e.__v_skip;const i=this._isReadonly,r=this._isShallow;if("__v_isReactive"===t)return!i;if("__v_isReadonly"===t)return i;if("__v_isShallow"===t)return r;if("__v_raw"===t)return n===(i?r?nI:tI:r?eI:Jw).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=Ux(e);if(!i){let e;if(s&&(e=Sw[t]))return e;if("hasOwnProperty"===t)return Lw}const o=Reflect.get(e,t,gI(e)?e:n);return(Hx(t)?Fw.has(t):Dw(t))?o:(i||Ew(e,0,t),r?o:gI(o)?s&&Jx(t)?o:o.value:Wx(o)?i?sI(o):iI(o):o)}}class Bw extends Pw{constructor(e=!1){super(!1,e)}set(e,t,n,i){let r=e[t];if(!this._isShallow){const t=uI(r);if(cI(n)||uI(n)||(r=hI(r),n=hI(n)),!Ux(e)&&gI(r)&&!gI(n))return!t&&(r.value=n,!0)}const s=Ux(e)&&Jx(t)?Number(t)e,Gw=e=>Reflect.getPrototypeOf(e);function Hw(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function Ww(e,t){const n={get(n){const i=this.__v_raw,r=hI(i),s=hI(n);e||(uE(n,s)&&Ew(r,0,n),Ew(r,0,s));const{has:o}=Gw(r),a=t?Yw:e?mI:fI;return o.call(r,n)?a(i.get(n)):o.call(r,s)?a(i.get(s)):void(i!==r&&i.get(n))},get size(){const t=this.__v_raw;return!e&&Ew(hI(t),0,bw),Reflect.get(t,"size",t)},has(t){const n=this.__v_raw,i=hI(n),r=hI(t);return e||(uE(t,r)&&Ew(i,0,t),Ew(i,0,r)),t===r?n.has(t):n.has(t)||n.has(r)},forEach(n,i){const r=this,s=r.__v_raw,o=hI(s),a=t?Yw:e?mI:fI;return!e&&Ew(o,0,bw),s.forEach((e,t)=>n.call(i,a(e),a(t),r))}};Lx(n,e?{add:Hw("add"),set:Hw("set"),delete:Hw("delete"),clear:Hw("clear")}:{add(e){t||cI(e)||uI(e)||(e=hI(e));const n=hI(this);return Gw(n).has.call(n,e)||(n.add(e),ww(n,"add",e,e)),this},set(e,n){t||cI(n)||uI(n)||(n=hI(n));const i=hI(this),{has:r,get:s}=Gw(i);let o=r.call(i,e);o||(e=hI(e),o=r.call(i,e));const a=s.call(i,e);return i.set(e,n),o?uE(n,a)&&ww(i,"set",e,n):ww(i,"add",e,n),this},delete(e){const t=hI(this),{has:n,get:i}=Gw(t);let r=n.call(t,e);r||(e=hI(e),r=n.call(t,e));i&&i.call(t,e);const s=t.delete(e);return r&&ww(t,"delete",e,void 0),s},clear(){const e=hI(this),t=0!==e.size,n=e.clear();return t&&ww(e,"clear",void 0,void 0),n}});return["keys","values","entries",Symbol.iterator].forEach(i=>{n[i]=function(e,t,n){return function(...i){const r=this.__v_raw,s=hI(r),o=Vx(s),a="entries"===e||e===Symbol.iterator&&o,l="keys"===e&&o,u=r[e](...i),c=n?Yw:t?mI:fI;return!t&&Ew(s,0,l?Tw:bw),{next(){const{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:a?[c(e[0]),c(e[1])]:c(e),done:t}},[Symbol.iterator](){return this}}}}(i,e,t)}),n}function Xw(e,t){const n=Ww(e,t);return(t,i,r)=>"__v_isReactive"===i?!e:"__v_isReadonly"===i?e:"__v_raw"===i?t:Reflect.get($x(n,i)&&i in t?n:t,i,r)}const qw={get:Xw(!1,!1)},Kw={get:Xw(!1,!0)},Zw={get:Xw(!0,!1)},Qw={get:Xw(!0,!0)};const Jw=new WeakMap,eI=new WeakMap,tI=new WeakMap,nI=new WeakMap;function iI(e){return uI(e)?e:aI(e,!1,Uw,qw,Jw)}function rI(e){return aI(e,!1,zw,Kw,eI)}function sI(e){return aI(e,!0,Vw,Zw,tI)}function oI(e){return aI(e,!0,jw,Qw,nI)}function aI(e,t,n,i,r){if(!Wx(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=r.get(e);if(s)return s;const o=(a=e).__v_skip||!Object.isExtensible(a)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(Zx(a));var a;if(0===o)return e;const l=new Proxy(e,2===o?i:n);return r.set(e,l),l}function lI(e){return uI(e)?lI(e.__v_raw):!(!e||!e.__v_isReactive)}function uI(e){return!(!e||!e.__v_isReadonly)}function cI(e){return!(!e||!e.__v_isShallow)}function dI(e){return!!e&&!!e.__v_raw}function hI(e){const t=e&&e.__v_raw;return t?hI(t):e}function pI(e){return!$x(e,"__v_skip")&&Object.isExtensible(e)&&dE(e,"__v_skip",!0),e}const fI=e=>Wx(e)?iI(e):e,mI=e=>Wx(e)?sI(e):e;function gI(e){return!!e&&!0===e.__v_isRef}function _I(e){return vI(e,!1)}function yI(e){return vI(e,!0)}function vI(e,t){return gI(e)?e:new bI(e,t)}class bI{constructor(e,t){this.dep=new _w,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:hI(e),this._value=t?e:fI(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,n=this.__v_isShallow||cI(e)||uI(e);e=n?e:hI(e),uE(e,t)&&(this._rawValue=e,this._value=n?e:fI(e),this.dep.trigger())}}function TI(e){e.dep&&e.dep.trigger()}function xI(e){return gI(e)?e.value:e}function EI(e){return Yx(e)?e():xI(e)}const wI={get:(e,t,n)=>"__v_raw"===t?e:xI(Reflect.get(e,t,n)),set:(e,t,n,i)=>{const r=e[t];return gI(r)&&!gI(n)?(r.value=n,!0):Reflect.set(e,t,n,i)}};function II(e){return lI(e)?e:new Proxy(e,wI)}class AI{constructor(e){this.__v_isRef=!0,this._value=void 0;const t=this.dep=new _w,{get:n,set:i}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=i}get value(){return this._value=this._get()}set value(e){this._set(e)}}function SI(e){return new AI(e)}function CI(e){const t=Ux(e)?new Array(e.length):{};for(const n in e)t[n]=RI(e,n);return t}class OI{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){const e=this._object[this._key];return this._value=void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return function(e,t){const n=vw.get(e);return n&&n.get(t)}(hI(this._object),this._key)}}class MI{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function kI(e,t,n){return gI(e)?e:Yx(e)?new MI(e):Wx(e)&&arguments.length>1?RI(e,t,n):_I(e)}function RI(e,t,n){const i=e[t];return gI(i)?i:new OI(e,t,n)}class NI{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new _w(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=mw-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(8&this.flags||jE===this))return JE(this,!0),!0}get value(){const e=this.dep.track();return sw(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}const DI={GET:"get",HAS:"has",ITERATE:"iterate"},FI={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"},LI={},PI=new WeakMap;let BI;function $I(){return BI}function UI(e,t=!1,n=BI){if(n){let t=PI.get(n);t||PI.set(n,t=[]),t.push(e)}else 0}function VI(e,t=1/0,n){if(t<=0||!Wx(e)||e.__v_skip)return e;if((n=n||new Set).has(e))return e;if(n.add(e),t--,gI(e))VI(e.value,t,n);else if(Ux(e))for(let i=0;i{VI(e,t,n)});else if(Qx(e)){for(const i in e)VI(e[i],t,n);for(const i of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,i)&&VI(e[i],t,n)}return e} +function Fx(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return e=>e in t}const Lx={},Px=[],Bx=()=>{},$x=()=>!1,Ux=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Vx=e=>e.startsWith("onUpdate:"),zx=Object.assign,jx=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Yx=Object.prototype.hasOwnProperty,Gx=(e,t)=>Yx.call(e,t),Hx=Array.isArray,Wx=e=>"[object Map]"===nE(e),Xx=e=>"[object Set]"===nE(e),qx=e=>"[object Date]"===nE(e),Kx=e=>"function"==typeof e,Zx=e=>"string"==typeof e,Qx=e=>"symbol"==typeof e,Jx=e=>null!==e&&"object"==typeof e,eE=e=>(Jx(e)||Kx(e))&&Kx(e.then)&&Kx(e.catch),tE=Object.prototype.toString,nE=e=>tE.call(e),iE=e=>nE(e).slice(8,-1),rE=e=>"[object Object]"===nE(e),sE=e=>Zx(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,oE=Fx(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),aE=Fx("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),lE=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},uE=/-(\w)/g,cE=lE(e=>e.replace(uE,(e,t)=>t?t.toUpperCase():"")),dE=/\B([A-Z])/g,hE=lE(e=>e.replace(dE,"-$1").toLowerCase()),pE=lE(e=>e.charAt(0).toUpperCase()+e.slice(1)),fE=lE(e=>e?`on${pE(e)}`:""),mE=(e,t)=>!Object.is(e,t),gE=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:i,value:n})},yE=e=>{const t=parseFloat(e);return isNaN(t)?e:t},vE=e=>{const t=Zx(e)?Number(e):NaN;return isNaN(t)?e:t};let bE;const TE=()=>bE||(bE="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==__webpack_require__.g?__webpack_require__.g:{});const xE=Fx("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol");function EE(e){if(Hx(e)){const t={};for(let n=0;n{if(e){const n=e.split(IE);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function CE(e){let t="";if(Zx(e))t=e;else if(Hx(e))for(let n=0;n?@[\\\]^`{|}~]/g;function VE(e,t){return e.replace(UE,e=>t?'"'===e?'\\\\\\"':`\\\\${e}`:`\\${e}`)}function zE(e,t){if(e===t)return!0;let n=qx(e),i=qx(t);if(n||i)return!(!n||!i)&&e.getTime()===t.getTime();if(n=Qx(e),i=Qx(t),n||i)return e===t;if(n=Hx(e),i=Hx(t),n||i)return!(!n||!i)&&function(e,t){if(e.length!==t.length)return!1;let n=!0;for(let i=0;n&&izE(e,t))}const YE=e=>!(!e||!0!==e.__v_isRef),GE=e=>Zx(e)?e:null==e?"":Hx(e)||Jx(e)&&(e.toString===tE||!Kx(e.toString))?YE(e)?GE(e.value):JSON.stringify(e,HE,2):String(e),HE=(e,t)=>YE(t)?HE(e,t.value):Wx(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],i)=>(e[WE(t,i)+" =>"]=n,e),{})}:Xx(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>WE(e))}:Qx(t)?WE(t):!Jx(t)||Hx(t)||rE(t)?t:String(t),WE=(e,t="")=>{var n;return Qx(e)?`Symbol(${null!=(n=e.description)?n:t})`:e};let XE,qE;class KE{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=XE,!e&&XE&&(this.index=(XE.scopes||(XE.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e0)return;if(iw){let e=iw;for(iw=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;nw;){let t=nw;for(nw=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,1&t.flags)try{t.trigger()}catch(t){e||(e=t)}t=n}}if(e)throw e}function lw(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function uw(e){let t,n=e.depsTail,i=n;for(;i;){const e=i.prevDep;-1===i.version?(i===n&&(n=e),hw(i),pw(i)):t=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=e}e.deps=t,e.depsTail=n}function cw(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(dw(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function dw(e){if(4&e.flags&&!(16&e.flags))return;if(e.flags&=-17,e.globalVersion===Tw)return;e.globalVersion=Tw;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!cw(e))return void(e.flags&=-3);const n=qE,i=gw;qE=e,gw=!0;try{lw(e);const n=e.fn(e._value);(0===t.version||mE(n,e._value))&&(e._value=n,t.version++)}catch(e){throw t.version++,e}finally{qE=n,gw=i,uw(e),e.flags&=-3}}function hw(e,t=!1){const{dep:n,prevSub:i,nextSub:r}=e;if(i&&(i.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=i,e.nextSub=void 0),n.subs===e&&(n.subs=i,!i&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)hw(e,!0)}t||--n.sc||!n.map||n.map.delete(n.key)}function pw(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}function fw(e,t){e.effect instanceof tw&&(e=e.effect.fn);const n=new tw(e);t&&zx(n,t);try{n.run()}catch(e){throw n.stop(),e}const i=n.run.bind(n);return i.effect=n,i}function mw(e){e.effect.stop()}let gw=!0;const _w=[];function yw(){_w.push(gw),gw=!1}function vw(){const e=_w.pop();gw=void 0===e||e}function bw(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const e=qE;qE=void 0;try{t()}finally{qE=e}}}let Tw=0;class xw{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ew{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(e){if(!qE||!gw||qE===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==qE)t=this.activeLink=new xw(qE,this),qE.deps?(t.prevDep=qE.depsTail,qE.depsTail.nextDep=t,qE.depsTail=t):qE.deps=qE.depsTail=t,ww(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){const e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=qE.depsTail,t.nextDep=void 0,qE.depsTail.nextDep=t,qE.depsTail=t,qE.deps===t&&(qE.deps=e)}return t}trigger(e){this.version++,Tw++,this.notify(e)}notify(e){ow();try{0;for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{aw()}}}function ww(e){if(e.dep.sc++,4&e.sub.flags){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)ww(e)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Iw=new WeakMap,Aw=Symbol(""),Sw=Symbol(""),Cw=Symbol("");function Ow(e,t,n){if(gw&&qE){let t=Iw.get(e);t||Iw.set(e,t=new Map);let i=t.get(n);i||(t.set(n,i=new Ew),i.map=t,i.key=n),i.track()}}function Mw(e,t,n,i,r,s){const o=Iw.get(e);if(!o)return void Tw++;const a=e=>{e&&e.trigger()};if(ow(),"clear"===t)o.forEach(a);else{const r=Hx(e),s=r&&sE(n);if(r&&"length"===n){const e=Number(i);o.forEach((t,n)=>{("length"===n||n===Cw||!Qx(n)&&n>=e)&&a(t)})}else switch((void 0!==n||o.has(void 0))&&a(o.get(n)),s&&a(o.get(Cw)),t){case"add":r?s&&a(o.get("length")):(a(o.get(Aw)),Wx(e)&&a(o.get(Sw)));break;case"delete":r||(a(o.get(Aw)),Wx(e)&&a(o.get(Sw)));break;case"set":Wx(e)&&a(o.get(Aw))}}aw()}function kw(e){const t=yI(e);return t===e?t:(Ow(t,0,Cw),gI(e)?t:t.map(bI))}function Rw(e){return Ow(e=yI(e),0,Cw),e}const Nw={__proto__:null,[Symbol.iterator](){return Dw(this,Symbol.iterator,bI)},concat(...e){return kw(this).concat(...e.map(e=>Hx(e)?kw(e):e))},entries(){return Dw(this,"entries",e=>(e[1]=bI(e[1]),e))},every(e,t){return Lw(this,"every",e,t,void 0,arguments)},filter(e,t){return Lw(this,"filter",e,t,e=>e.map(bI),arguments)},find(e,t){return Lw(this,"find",e,t,bI,arguments)},findIndex(e,t){return Lw(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Lw(this,"findLast",e,t,bI,arguments)},findLastIndex(e,t){return Lw(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Lw(this,"forEach",e,t,void 0,arguments)},includes(...e){return Bw(this,"includes",e)},indexOf(...e){return Bw(this,"indexOf",e)},join(e){return kw(this).join(e)},lastIndexOf(...e){return Bw(this,"lastIndexOf",e)},map(e,t){return Lw(this,"map",e,t,void 0,arguments)},pop(){return $w(this,"pop")},push(...e){return $w(this,"push",e)},reduce(e,...t){return Pw(this,"reduce",e,t)},reduceRight(e,...t){return Pw(this,"reduceRight",e,t)},shift(){return $w(this,"shift")},some(e,t){return Lw(this,"some",e,t,void 0,arguments)},splice(...e){return $w(this,"splice",e)},toReversed(){return kw(this).toReversed()},toSorted(e){return kw(this).toSorted(e)},toSpliced(...e){return kw(this).toSpliced(...e)},unshift(...e){return $w(this,"unshift",e)},values(){return Dw(this,"values",bI)}};function Dw(e,t,n){const i=Rw(e),r=i[t]();return i===e||gI(e)||(r._next=r.next,r.next=()=>{const e=r._next();return e.value&&(e.value=n(e.value)),e}),r}const Fw=Array.prototype;function Lw(e,t,n,i,r,s){const o=Rw(e),a=o!==e&&!gI(e),l=o[t];if(l!==Fw[t]){const t=l.apply(e,s);return a?bI(t):t}let u=n;o!==e&&(a?u=function(t,i){return n.call(this,bI(t),i,e)}:n.length>2&&(u=function(t,i){return n.call(this,t,i,e)}));const c=l.call(o,u,i);return a&&r?r(c):c}function Pw(e,t,n,i){const r=Rw(e);let s=n;return r!==e&&(gI(e)?n.length>3&&(s=function(t,i,r){return n.call(this,t,i,r,e)}):s=function(t,i,r){return n.call(this,t,bI(i),r,e)}),r[t](s,...i)}function Bw(e,t,n){const i=yI(e);Ow(i,0,Cw);const r=i[t](...n);return-1!==r&&!1!==r||!_I(n[0])?r:(n[0]=yI(n[0]),i[t](...n))}function $w(e,t,n=[]){yw(),ow();const i=yI(e)[t].apply(e,n);return aw(),vw(),i}const Uw=Fx("__proto__,__v_isRef,__isVue"),Vw=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(Qx));function zw(e){Qx(e)||(e=String(e));const t=yI(this);return Ow(t,0,e),t.hasOwnProperty(e)}class jw{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if("__v_skip"===t)return e.__v_skip;const i=this._isReadonly,r=this._isShallow;if("__v_isReactive"===t)return!i;if("__v_isReadonly"===t)return i;if("__v_isShallow"===t)return r;if("__v_raw"===t)return n===(i?r?lI:aI:r?oI:sI).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=Hx(e);if(!i){let e;if(s&&(e=Nw[t]))return e;if("hasOwnProperty"===t)return zw}const o=Reflect.get(e,t,xI(e)?e:n);return(Qx(t)?Vw.has(t):Uw(t))?o:(i||Ow(e,0,t),r?o:xI(o)?s&&sE(t)?o:o.value:Jx(o)?i?dI(o):uI(o):o)}}class Yw extends jw{constructor(e=!1){super(!1,e)}set(e,t,n,i){let r=e[t];if(!this._isShallow){const t=mI(r);if(gI(n)||mI(n)||(r=yI(r),n=yI(n)),!Hx(e)&&xI(r)&&!xI(n))return!t&&(r.value=n,!0)}const s=Hx(e)&&sE(t)?Number(t)e,Zw=e=>Reflect.getPrototypeOf(e);function Qw(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function Jw(e,t){const n={get(n){const i=this.__v_raw,r=yI(i),s=yI(n);e||(mE(n,s)&&Ow(r,0,n),Ow(r,0,s));const{has:o}=Zw(r),a=t?Kw:e?TI:bI;return o.call(r,n)?a(i.get(n)):o.call(r,s)?a(i.get(s)):void(i!==r&&i.get(n))},get size(){const t=this.__v_raw;return!e&&Ow(yI(t),0,Aw),Reflect.get(t,"size",t)},has(t){const n=this.__v_raw,i=yI(n),r=yI(t);return e||(mE(t,r)&&Ow(i,0,t),Ow(i,0,r)),t===r?n.has(t):n.has(t)||n.has(r)},forEach(n,i){const r=this,s=r.__v_raw,o=yI(s),a=t?Kw:e?TI:bI;return!e&&Ow(o,0,Aw),s.forEach((e,t)=>n.call(i,a(e),a(t),r))}};zx(n,e?{add:Qw("add"),set:Qw("set"),delete:Qw("delete"),clear:Qw("clear")}:{add(e){t||gI(e)||mI(e)||(e=yI(e));const n=yI(this);return Zw(n).has.call(n,e)||(n.add(e),Mw(n,"add",e,e)),this},set(e,n){t||gI(n)||mI(n)||(n=yI(n));const i=yI(this),{has:r,get:s}=Zw(i);let o=r.call(i,e);o||(e=yI(e),o=r.call(i,e));const a=s.call(i,e);return i.set(e,n),o?mE(n,a)&&Mw(i,"set",e,n):Mw(i,"add",e,n),this},delete(e){const t=yI(this),{has:n,get:i}=Zw(t);let r=n.call(t,e);r||(e=yI(e),r=n.call(t,e));i&&i.call(t,e);const s=t.delete(e);return r&&Mw(t,"delete",e,void 0),s},clear(){const e=yI(this),t=0!==e.size,n=e.clear();return t&&Mw(e,"clear",void 0,void 0),n}});return["keys","values","entries",Symbol.iterator].forEach(i=>{n[i]=function(e,t,n){return function(...i){const r=this.__v_raw,s=yI(r),o=Wx(s),a="entries"===e||e===Symbol.iterator&&o,l="keys"===e&&o,u=r[e](...i),c=n?Kw:t?TI:bI;return!t&&Ow(s,0,l?Sw:Aw),{next(){const{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:a?[c(e[0]),c(e[1])]:c(e),done:t}},[Symbol.iterator](){return this}}}}(i,e,t)}),n}function eI(e,t){const n=Jw(e,t);return(t,i,r)=>"__v_isReactive"===i?!e:"__v_isReadonly"===i?e:"__v_raw"===i?t:Reflect.get(Gx(n,i)&&i in t?n:t,i,r)}const tI={get:eI(!1,!1)},nI={get:eI(!1,!0)},iI={get:eI(!0,!1)},rI={get:eI(!0,!0)};const sI=new WeakMap,oI=new WeakMap,aI=new WeakMap,lI=new WeakMap;function uI(e){return mI(e)?e:pI(e,!1,Hw,tI,sI)}function cI(e){return pI(e,!1,Xw,nI,oI)}function dI(e){return pI(e,!0,Ww,iI,aI)}function hI(e){return pI(e,!0,qw,rI,lI)}function pI(e,t,n,i,r){if(!Jx(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=r.get(e);if(s)return s;const o=(a=e).__v_skip||!Object.isExtensible(a)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(iE(a));var a;if(0===o)return e;const l=new Proxy(e,2===o?i:n);return r.set(e,l),l}function fI(e){return mI(e)?fI(e.__v_raw):!(!e||!e.__v_isReactive)}function mI(e){return!(!e||!e.__v_isReadonly)}function gI(e){return!(!e||!e.__v_isShallow)}function _I(e){return!!e&&!!e.__v_raw}function yI(e){const t=e&&e.__v_raw;return t?yI(t):e}function vI(e){return!Gx(e,"__v_skip")&&Object.isExtensible(e)&&_E(e,"__v_skip",!0),e}const bI=e=>Jx(e)?uI(e):e,TI=e=>Jx(e)?dI(e):e;function xI(e){return!!e&&!0===e.__v_isRef}function EI(e){return II(e,!1)}function wI(e){return II(e,!0)}function II(e,t){return xI(e)?e:new AI(e,t)}class AI{constructor(e,t){this.dep=new Ew,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:yI(e),this._value=t?e:bI(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,n=this.__v_isShallow||gI(e)||mI(e);e=n?e:yI(e),mE(e,t)&&(this._rawValue=e,this._value=n?e:bI(e),this.dep.trigger())}}function SI(e){e.dep&&e.dep.trigger()}function CI(e){return xI(e)?e.value:e}function OI(e){return Kx(e)?e():CI(e)}const MI={get:(e,t,n)=>"__v_raw"===t?e:CI(Reflect.get(e,t,n)),set:(e,t,n,i)=>{const r=e[t];return xI(r)&&!xI(n)?(r.value=n,!0):Reflect.set(e,t,n,i)}};function kI(e){return fI(e)?e:new Proxy(e,MI)}class RI{constructor(e){this.__v_isRef=!0,this._value=void 0;const t=this.dep=new Ew,{get:n,set:i}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=i}get value(){return this._value=this._get()}set value(e){this._set(e)}}function NI(e){return new RI(e)}function DI(e){const t=Hx(e)?new Array(e.length):{};for(const n in e)t[n]=BI(e,n);return t}class FI{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){const e=this._object[this._key];return this._value=void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return function(e,t){const n=Iw.get(e);return n&&n.get(t)}(yI(this._object),this._key)}}class LI{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function PI(e,t,n){return xI(e)?e:Kx(e)?new LI(e):Jx(e)&&arguments.length>1?BI(e,t,n):EI(e)}function BI(e,t,n){const i=e[t];return xI(i)?i:new FI(e,t,n)}class $I{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Ew(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Tw-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(8&this.flags||qE===this))return sw(this,!0),!0}get value(){const e=this.dep.track();return dw(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}const UI={GET:"get",HAS:"has",ITERATE:"iterate"},VI={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"},zI={},jI=new WeakMap;let YI;function GI(){return YI}function HI(e,t=!1,n=YI){if(n){let t=jI.get(n);t||jI.set(n,t=[]),t.push(e)}else 0}function WI(e,t=1/0,n){if(t<=0||!Jx(e)||e.__v_skip)return e;if((n=n||new Set).has(e))return e;if(n.add(e),t--,xI(e))WI(e.value,t,n);else if(Hx(e))for(let i=0;i{WI(e,t,n)});else if(rE(e)){for(const i in e)WI(e[i],t,n);for(const i of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,i)&&WI(e[i],t,n)}return e} /** * @vue/runtime-core v3.5.13 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ -const zI=[];let jI=!1;function YI(e,...t){if(jI)return;jI=!0,hw();const n=zI.length?zI[zI.length-1].component:null,i=n&&n.appContext.config.warnHandler,r=function(){let e=zI[zI.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const i=e.component&&e.component.parent;e=i&&i.vnode}return t}();if(i)KI(i,n,11,[e+t.map(e=>{var t,n;return null!=(n=null==(t=e.toString)?void 0:t.call(e))?n:JSON.stringify(e)}).join(""),n&&n.proxy,r.map(({vnode:e})=>`at <${JM(n,e.type)}>`).join("\n"),r]);else{const n=[`[Vue warn]: ${e}`,...t];r.length&&n.push("\n",...function(e){const t=[];return e.forEach((e,n)=>{t.push(...0===n?[]:["\n"],...function({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",i=!!e.component&&null==e.component.parent,r=` at <${JM(e.component,e.type,i)}`,s=">"+n;return e.props?[r,...GI(e.props),s]:[r+s]}(e))}),t}(r)),console.warn(...n)}pw(),jI=!1}function GI(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(n=>{t.push(...HI(n,e[n]))}),n.length>3&&t.push(" ..."),t}function HI(e,t,n){return Gx(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):"number"==typeof t||"boolean"==typeof t||null==t?n?t:[`${e}=${t}`]:gI(t)?(t=HI(e,hI(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):Yx(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=hI(t),n?t:[`${e}=`,t])}function WI(e,t){}const XI={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER",COMPONENT_UPDATE:15,15:"COMPONENT_UPDATE",APP_UNMOUNT_CLEANUP:16,16:"APP_UNMOUNT_CLEANUP"},qI={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush",15:"component update",16:"app unmount cleanup function"};function KI(e,t,n,i){try{return i?e(...i):e()}catch(e){QI(e,t,n)}}function ZI(e,t,n,i){if(Yx(e)){const r=KI(e,t,n,i);return r&&Xx(r)&&r.catch(e=>{QI(e,t,n)}),r}if(Ux(e)){const r=[];for(let s=0;s=hA(n)?JI.push(e):JI.splice(function(e){let t=eA+1,n=JI.length;for(;t>>1,r=JI[i],s=hA(r);shA(e)-hA(t));if(tA.length=0,nA)return void nA.push(...e);for(nA=e,iA=0;iAnull==e.id?2&e.flags?-1:1/0:e.id;function pA(e){try{for(eA=0;eAfA.emit(e,...t)),mA=[];else if("undefined"!=typeof window&&window.HTMLElement&&!(null==(i=null==(n=window.navigator)?void 0:n.userAgent)?void 0:i.includes("jsdom"))){(t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(e=>{yA(e,t)}),setTimeout(()=>{fA||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,gA=!0,mA=[])},3e3)}else gA=!0,mA=[]}const vA=EA("component:added"),bA=EA("component:updated"),TA=EA("component:removed"),xA=e=>{fA&&"function"==typeof fA.cleanupBuffer&&!fA.cleanupBuffer(e)&&TA(e)}; +const XI=[];let qI=!1;function KI(e,...t){if(qI)return;qI=!0,yw();const n=XI.length?XI[XI.length-1].component:null,i=n&&n.appContext.config.warnHandler,r=function(){let e=XI[XI.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const i=e.component&&e.component.parent;e=i&&i.vnode}return t}();if(i)nA(i,n,11,[e+t.map(e=>{var t,n;return null!=(n=null==(t=e.toString)?void 0:t.call(e))?n:JSON.stringify(e)}).join(""),n&&n.proxy,r.map(({vnode:e})=>`at <${sk(n,e.type)}>`).join("\n"),r]);else{const n=[`[Vue warn]: ${e}`,...t];r.length&&n.push("\n",...function(e){const t=[];return e.forEach((e,n)=>{t.push(...0===n?[]:["\n"],...function({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",i=!!e.component&&null==e.component.parent,r=` at <${sk(e.component,e.type,i)}`,s=">"+n;return e.props?[r,...ZI(e.props),s]:[r+s]}(e))}),t}(r)),console.warn(...n)}vw(),qI=!1}function ZI(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(n=>{t.push(...QI(n,e[n]))}),n.length>3&&t.push(" ..."),t}function QI(e,t,n){return Zx(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):"number"==typeof t||"boolean"==typeof t||null==t?n?t:[`${e}=${t}`]:xI(t)?(t=QI(e,yI(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):Kx(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=yI(t),n?t:[`${e}=`,t])}function JI(e,t){}const eA={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER",COMPONENT_UPDATE:15,15:"COMPONENT_UPDATE",APP_UNMOUNT_CLEANUP:16,16:"APP_UNMOUNT_CLEANUP"},tA={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush",15:"component update",16:"app unmount cleanup function"};function nA(e,t,n,i){try{return i?e(...i):e()}catch(e){rA(e,t,n)}}function iA(e,t,n,i){if(Kx(e)){const r=nA(e,t,n,i);return r&&eE(r)&&r.catch(e=>{rA(e,t,n)}),r}if(Hx(e)){const r=[];for(let s=0;s=yA(n)?sA.push(e):sA.splice(function(e){let t=oA+1,n=sA.length;for(;t>>1,r=sA[i],s=yA(r);syA(e)-yA(t));if(aA.length=0,lA)return void lA.push(...e);for(lA=e,uA=0;uAnull==e.id?2&e.flags?-1:1/0:e.id;function vA(e){try{for(oA=0;oAbA.emit(e,...t)),TA=[];else if("undefined"!=typeof window&&window.HTMLElement&&!(null==(i=null==(n=window.navigator)?void 0:n.userAgent)?void 0:i.includes("jsdom"))){(t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(e=>{wA(e,t)}),setTimeout(()=>{bA||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,xA=!0,TA=[])},3e3)}else xA=!0,TA=[]}const IA=OA("component:added"),AA=OA("component:updated"),SA=OA("component:removed"),CA=e=>{bA&&"function"==typeof bA.cleanupBuffer&&!bA.cleanupBuffer(e)&&SA(e)}; /*! #__NO_SIDE_EFFECTS__ */ -function EA(e){return t=>{_A(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}let wA=null,IA=null;function AA(e){const t=wA;return wA=e,IA=e&&e.type.__scopeId||null,t}function SA(e){IA=e}function CA(){IA=null}const OA=e=>MA;function MA(e,t=wA,n){if(!t)return e;if(e._n)return e;const i=(...n)=>{i._d&&aM(-1);const r=AA(t);let s;try{s=e(...n)}finally{AA(r),i._d&&aM(1)}return __VUE_PROD_DEVTOOLS__&&bA(t),s};return i._n=!0,i._c=!0,i._d=!0,i}function kA(e,t){if(null===wA)return e;const n=qM(wA),i=e.dirs||(e.dirs=[]);for(let e=0;ee.__isTeleport,FA=e=>e&&(e.disabled||""===e.disabled),LA=e=>e&&(e.defer||""===e.defer),PA=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,BA=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,$A=(e,t)=>{const n=e&&e.to;if(Gx(n)){if(t){return t(n)}return null}return n},UA={name:"Teleport",__isTeleport:!0,process(e,t,n,i,r,s,o,a,l,u){const{mc:c,pc:d,pbc:h,o:{insert:p,querySelector:f,createText:m,createComment:g}}=u,_=FA(t.props);let{shapeFlag:y,children:v,dynamicChildren:b}=t;if(null==e){const e=t.el=m(""),u=t.anchor=m("");p(e,n,i),p(u,n,i);const d=(e,t)=>{16&y&&(r&&r.isCE&&(r.ce._teleportTarget=e),c(v,e,t,r,s,o,a,l))},h=()=>{const e=t.target=$A(t.props,f),n=YA(e,t,m,p);e&&("svg"!==o&&PA(e)?o="svg":"mathml"!==o&&BA(e)&&(o="mathml"),_||(d(e,n),jA(t,!1)))};_&&(d(n,u),jA(t,!0)),LA(t.props)?pO(()=>{h(),t.el.__isMounted=!0},s):h()}else{if(LA(t.props)&&!e.el.__isMounted)return void pO(()=>{UA.process(e,t,n,i,r,s,o,a,l,u),delete e.el.__isMounted},s);t.el=e.el,t.targetStart=e.targetStart;const c=t.anchor=e.anchor,p=t.target=e.target,m=t.targetAnchor=e.targetAnchor,g=FA(e.props),y=g?n:p,v=g?c:m;if("svg"===o||PA(p)?o="svg":("mathml"===o||BA(p))&&(o="mathml"),b?(h(e.dynamicChildren,b,y,r,s,o,a),bO(e,t,!0)):l||d(e,t,y,v,r,s,o,a,!1),_)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):VA(t,n,c,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=$A(t.props,f);e&&VA(t,e,null,u,0)}else g&&VA(t,p,m,u,1);jA(t,_)}},remove(e,t,n,{um:i,o:{remove:r}},s){const{shapeFlag:o,children:a,anchor:l,targetStart:u,targetAnchor:c,target:d,props:h}=e;if(d&&(r(u),r(c)),s&&r(l),16&o){const e=s||!FA(h);for(let r=0;r{e.isMounted=!0}),WS(()=>{e.isUnmounting=!0}),e}const XA=[Function,Array],qA={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:XA,onEnter:XA,onAfterEnter:XA,onEnterCancelled:XA,onBeforeLeave:XA,onLeave:XA,onAfterLeave:XA,onLeaveCancelled:XA,onBeforeAppear:XA,onAppear:XA,onAfterAppear:XA,onAppearCancelled:XA},KA=e=>{const t=e.subTree;return t.component?KA(t.component):t};function ZA(e){let t=e[0];if(e.length>1){let n=!1;for(const i of e)if(i.type!==JO){0,t=i,n=!0;break}}return t}const QA={name:"BaseTransition",props:qA,setup(e,{slots:t}){const n=NM(),i=WA();return()=>{const r=t.default&&rS(t.default(),!0);if(!r||!r.length)return;const s=ZA(r),o=hI(e),{mode:a}=o;if(i.isLeaving)return tS(s);const l=nS(s);if(!l)return tS(s);let u=eS(l,o,i,n,e=>u=e);l.type!==JO&&iS(l,u);let c=n.subTree&&nS(n.subTree);if(c&&c.type!==JO&&!hM(l,c)&&KA(n).type!==JO){let e=eS(c,o,i,n);if(iS(c,e),"out-in"===a&&l.type!==JO)return i.isLeaving=!0,e.afterLeave=()=>{i.isLeaving=!1,8&n.job.flags||n.update(),delete e.afterLeave,c=void 0},tS(s);"in-out"===a&&l.type!==JO?e.delayLeave=(e,t,n)=>{JA(i,c)[String(c.key)]=c,e[GA]=()=>{t(),e[GA]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{n(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return s}}};function JA(e,t){const{leavingVNodes:n}=e;let i=n.get(t.type);return i||(i=Object.create(null),n.set(t.type,i)),i}function eS(e,t,n,i,r){const{appear:s,mode:o,persisted:a=!1,onBeforeEnter:l,onEnter:u,onAfterEnter:c,onEnterCancelled:d,onBeforeLeave:h,onLeave:p,onAfterLeave:f,onLeaveCancelled:m,onBeforeAppear:g,onAppear:_,onAfterAppear:y,onAppearCancelled:v}=t,b=String(e.key),T=JA(n,e),x=(e,t)=>{e&&ZI(e,i,9,t)},E=(e,t)=>{const n=t[1];x(e,t),Ux(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},w={mode:o,persisted:a,beforeEnter(t){let i=l;if(!n.isMounted){if(!s)return;i=g||l}t[GA]&&t[GA](!0);const r=T[b];r&&hM(e,r)&&r.el[GA]&&r.el[GA](),x(i,[t])},enter(e){let t=u,i=c,r=d;if(!n.isMounted){if(!s)return;t=_||u,i=y||c,r=v||d}let o=!1;const a=e[HA]=t=>{o||(o=!0,x(t?r:i,[e]),w.delayedLeave&&w.delayedLeave(),e[HA]=void 0)};t?E(t,[e,a]):a()},leave(t,i){const r=String(e.key);if(t[HA]&&t[HA](!0),n.isUnmounting)return i();x(h,[t]);let s=!1;const o=t[GA]=n=>{s||(s=!0,i(),x(n?m:f,[t]),t[GA]=void 0,T[r]===e&&delete T[r])};T[r]=e,p?E(p,[t,o]):o()},clone(e){const s=eS(e,t,n,i,r);return r&&r(s),s}};return w}function tS(e){if(kS(e))return(e=bM(e)).children=null,e}function nS(e){if(!kS(e))return DA(e.type)&&e.children?ZA(e.children):e;const{shapeFlag:t,children:n}=e;if(n){if(16&t)return n[0];if(32&t&&Yx(n.default))return n.default()}}function iS(e,t){6&e.shapeFlag&&e.component?(e.transition=t,iS(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function rS(e,t=!1,n){let i=[],r=0;for(let s=0;s1)for(let e=0;eLx({name:e.name},t,{setup:e}))():e}function oS(){const e=NM();return e?(e.appContext.config.idPrefix||"v")+"-"+e.ids[0]+e.ids[1]++:""}function aS(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function lS(e){const t=NM(),n=yI(null);if(t){const i=t.refs===Mx?t.refs={}:t.refs;Object.defineProperty(i,e,{enumerable:!0,get:()=>n.value,set:e=>n.value=e})}else 0;return n}function uS(e,t,n,i,r=!1){if(Ux(e))return void e.forEach((e,s)=>uS(e,t&&(Ux(t)?t[s]:t),n,i,r));if(CS(i)&&!r)return void(512&i.shapeFlag&&i.type.__asyncResolved&&i.component.subTree.component&&uS(e,t,n,i.component.subTree));const s=4&i.shapeFlag?qM(i.component):i.el,o=r?null:s,{i:a,r:l}=e;const u=t&&t.r,c=a.refs===Mx?a.refs={}:a.refs,d=a.setupState,h=hI(d),p=d===Mx?()=>!1:e=>$x(h,e);if(null!=u&&u!==l&&(Gx(u)?(c[u]=null,p(u)&&(d[u]=null)):gI(u)&&(u.value=null)),Yx(l))KI(l,a,12,[o,c]);else{const t=Gx(l),i=gI(l);if(t||i){const a=()=>{if(e.f){const n=t?p(l)?d[l]:c[l]:l.value;r?Ux(n)&&Px(n,s):Ux(n)?n.includes(s)||n.push(s):t?(c[l]=[s],p(l)&&(d[l]=c[l])):(l.value=[s],e.k&&(c[e.k]=l.value))}else t?(c[l]=o,p(l)&&(d[l]=o)):i&&(l.value=o,e.k&&(c[e.k]=o))};o?(a.id=-1,pO(a,n)):a()}else 0}}let cS=!1;const dS=()=>{cS||(console.error("Hydration completed but contains mismatches."),cS=!0)},hS=e=>{if(1===e.nodeType)return(e=>e.namespaceURI.includes("svg")&&"foreignObject"!==e.tagName)(e)?"svg":(e=>e.namespaceURI.includes("MathML"))(e)?"mathml":void 0},pS=e=>8===e.nodeType;function fS(e){const{mt:t,p:n,o:{patchProp:i,createText:r,nextSibling:s,parentNode:o,remove:a,insert:l,createComment:u}}=e,c=(n,i,a,u,y,v=!1)=>{v=v||!!i.dynamicChildren;const b=pS(n)&&"["===n.data,T=()=>f(n,i,a,u,y,b),{type:x,ref:E,shapeFlag:w,patchFlag:I}=i;let A=n.nodeType;i.el=n,__VUE_PROD_DEVTOOLS__&&(dE(n,"__vnode",i,!0),dE(n,"__vueParentComponent",a,!0)),-2===I&&(v=!1,i.dynamicChildren=null);let S=null;switch(x){case QO:3!==A?""===i.children?(l(i.el=r(""),o(n),n),S=n):S=T():(n.data!==i.children&&(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&YI("Hydration text mismatch in",n.parentNode,`\n - rendered on server: ${JSON.stringify(n.data)}\n - expected on client: ${JSON.stringify(i.children)}`),dS(),n.data=i.children),S=s(n));break;case JO:_(n)?(S=s(n),g(i.el=n.content.firstChild,n,a)):S=8!==A||b?T():s(n);break;case eM:if(b&&(A=(n=s(n)).nodeType),1===A||3===A){S=n;const e=!i.children.length;for(let t=0;t{o=o||!!t.dynamicChildren;const{type:l,props:u,patchFlag:c,shapeFlag:d,dirs:p,transition:f}=t,m="input"===l||"option"===l;if(m||-1!==c){p&&RA(t,null,n,"created");let l,y=!1;if(_(e)){y=vO(null,f)&&n&&n.vnode.props&&n.vnode.props.appear;const i=e.content.firstChild;y&&f.beforeEnter(i),g(i,e,n),t.el=e=i}if(16&d&&(!u||!u.innerHTML&&!u.textContent)){let i=h(e.firstChild,t,e,n,r,s,o),l=!1;for(;i;){TS(e,1)||(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&!l&&(YI("Hydration children mismatch on",e,"\nServer rendered element contains more child nodes than client vdom."),l=!0),dS());const t=i;i=i.nextSibling,a(t)}}else if(8&d){let n=t.children;"\n"!==n[0]||"PRE"!==e.tagName&&"TEXTAREA"!==e.tagName||(n=n.slice(1)),e.textContent!==n&&(TS(e,0)||(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&YI("Hydration text content mismatch on",e,`\n - rendered on server: ${e.textContent}\n - expected on client: ${t.children}`),dS()),e.textContent=t.children)}if(u)if(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__||m||!o||48&c){const r=e.tagName.includes("-");for(const s in u)!__VUE_PROD_HYDRATION_MISMATCH_DETAILS__||p&&p.some(e=>e.dir.created)||!mS(e,s,u[s],t,n)||dS(),(m&&(s.endsWith("value")||"indeterminate"===s)||Dx(s)&&!eE(s)||"."===s[0]||r)&&i(e,s,null,u[s],void 0,n)}else if(u.onClick)i(e,"onClick",null,u.onClick,void 0,n);else if(4&c&&lI(u.style))for(const e in u.style)u.style[e];(l=u&&u.onVnodeBeforeMount)&&CM(l,n,t),p&&RA(t,null,n,"beforeMount"),((l=u&&u.onVnodeMounted)||p||y)&&qO(()=>{l&&CM(l,n,t),y&&f.enter(e),p&&RA(t,null,n,"mounted")},r)}return e.nextSibling},h=(e,t,i,o,a,u,d)=>{d=d||!!t.dynamicChildren;const h=t.children,p=h.length;let f=!1;for(let t=0;t{const{slotScopeIds:c}=t;c&&(r=r?r.concat(c):c);const d=o(e),p=h(s(e),t,d,n,i,r,a);return p&&pS(p)&&"]"===p.data?s(t.anchor=p):(dS(),l(t.anchor=u("]"),d,p),p)},f=(e,t,i,r,l,u)=>{if(TS(e.parentElement,1)||(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&YI("Hydration node mismatch:\n- rendered on server:",e,3===e.nodeType?"(text)":pS(e)&&"["===e.data?"(start of fragment)":"","\n- expected on client:",t.type),dS()),t.el=null,u){const t=m(e);for(;;){const n=s(e);if(!n||n===t)break;a(n)}}const c=s(e),d=o(e);return a(e),n(null,t,d,c,i,r,hS(d),l),i&&(i.vnode.el=t.el,zO(i,t.el)),c},m=(e,t="[",n="]")=>{let i=0;for(;e;)if((e=s(e))&&pS(e)&&(e.data===t&&i++,e.data===n)){if(0===i)return s(e);i--}return e},g=(e,t,n)=>{const i=t.parentNode;i&&i.replaceChild(e,t);let r=n;for(;r;)r.vnode.el===t&&(r.vnode.el=r.subTree.el=e),r=r.parent},_=e=>1===e.nodeType&&"TEMPLATE"===e.tagName;return[(e,t)=>{if(!t.hasChildNodes())return __VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&YI("Attempting to hydrate existing markup but container is empty. Performing full mount instead."),n(null,e,t),dA(),void(t._vnode=e);c(t.firstChild,e,null,null,null),dA(),t._vnode=e},c]}function mS(e,t,n,i,r){let s,o,a,l;if("class"===t)a=e.getAttribute("class"),l=xE(n),function(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}(gS(a||""),gS(l))||(s=2,o="class");else if("style"===t){a=e.getAttribute("style")||"",l=Gx(n)?n:function(e){if(!e)return"";if(Gx(e))return e;let t="";for(const n in e){const i=e[n];(Gx(i)||"number"==typeof i)&&(t+=`${n.startsWith("--")?n:oE(n)}:${i};`)}return t}(_E(n));const t=_S(a),u=_S(l);if(i.dirs)for(const{dir:e,value:t}of i.dirs)"show"!==e.name||t||u.set("display","none");r&&yS(r,i,u),function(e,t){if(e.size!==t.size)return!1;for(const[n,i]of e)if(i!==t.get(n))return!1;return!0}(t,u)||(s=3,o="style")}else(e instanceof SVGElement&&NE(t)||e instanceof HTMLElement&&(ME(t)||RE(t)))&&(ME(t)?(a=e.hasAttribute(t),l=kE(n)):null==n?(a=e.hasAttribute(t),l=!1):(a=e.hasAttribute(t)?e.getAttribute(t):"value"===t&&"TEXTAREA"===e.tagName&&e.value,l=!!function(e){if(null==e)return!1;const t=typeof e;return"string"===t||"number"===t||"boolean"===t}(n)&&String(n)),a!==l&&(s=4,o=t));if(null!=s&&!TS(e,s)){const t=e=>!1===e?"(not rendered)":`${o}="${e}"`;return YI(`Hydration ${bS[s]} mismatch on`,e,`\n - rendered on server: ${t(a)}\n - expected on client: ${t(l)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`),!0}return!1}function gS(e){return new Set(e.trim().split(/\s+/))}function _S(e){const t=new Map;for(const n of e.split(";")){let[e,i]=n.split(":");e=e.trim(),i=i&&i.trim(),e&&i&&t.set(e,i)}return t}function yS(e,t,n){const i=e.subTree;if(e.getCssVars&&(t===i||i&&i.type===ZO&&i.children.includes(t))){const t=e.getCssVars();for(const e in t)n.set(`--${FE(e,!1)}`,String(t[e]))}t===i&&e.parent&&yS(e.parent,e.vnode,n)}const vS="data-allow-mismatch",bS={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function TS(e,t){if(0===t||1===t)for(;e&&!e.hasAttribute(vS);)e=e.parentElement;const n=e&&e.getAttribute(vS);if(null==n)return!1;if(""===n)return!0;{const e=n.split(",");return!(0!==t||!e.includes("children"))||n.split(",").includes(bS[t])}}const xS=mE().requestIdleCallback||(e=>setTimeout(e,1)),ES=mE().cancelIdleCallback||(e=>clearTimeout(e)),wS=(e=1e4)=>t=>{const n=xS(t,{timeout:e});return()=>ES(n)};const IS=e=>(t,n)=>{const i=new IntersectionObserver(e=>{for(const n of e)if(n.isIntersecting){i.disconnect(),t();break}},e);return n(e=>{if(e instanceof Element)return function(e){const{top:t,left:n,bottom:i,right:r}=e.getBoundingClientRect(),{innerHeight:s,innerWidth:o}=window;return(t>0&&t0&&i0&&n0&&ri.disconnect()},AS=e=>t=>{if(e){const n=matchMedia(e);if(!n.matches)return n.addEventListener("change",t,{once:!0}),()=>n.removeEventListener("change",t);t()}},SS=(e=[])=>(t,n)=>{Gx(e)&&(e=[e]);let i=!1;const r=e=>{i||(i=!0,s(),t(),e.target.dispatchEvent(new e.constructor(e.type,e)))},s=()=>{n(t=>{for(const n of e)t.removeEventListener(n,r)})};return n(t=>{for(const n of e)t.addEventListener(n,r,{once:!0})}),s};const CS=e=>!!e.type.__asyncLoader; -/*! #__NO_SIDE_EFFECTS__ */function OS(e){Yx(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:i,delay:r=200,hydrate:s,timeout:o,suspensible:a=!0,onError:l}=e;let u,c=null,d=0;const h=()=>{let e;return c||(e=c=t().catch(e=>{if(e=e instanceof Error?e:new Error(String(e)),l)return new Promise((t,n)=>{l(e,()=>t((d++,c=null,h())),()=>n(e),d+1)});throw e}).then(t=>e!==c&&c?c:(t&&(t.__esModule||"Module"===t[Symbol.toStringTag])&&(t=t.default),u=t,t)))};return sS({name:"AsyncComponentWrapper",__asyncLoader:h,__asyncHydrate(e,t,n){const i=s?()=>{const i=s(n,t=>function(e,t){if(pS(e)&&"["===e.data){let n=1,i=e.nextSibling;for(;i;){if(1===i.nodeType){if(!1===t(i))break}else if(pS(i))if("]"===i.data){if(0===--n)break}else"["===i.data&&n++;i=i.nextSibling}}else t(e)}(e,t));i&&(t.bum||(t.bum=[])).push(i)}:n;u?i():h().then(()=>!t.isUnmounted&&i())},get __asyncResolved(){return u},setup(){const e=RM;if(aS(e),u)return()=>MS(u,e);const t=t=>{c=null,QI(t,e,13,!i)};if(a&&e.suspense||VM)return h().then(t=>()=>MS(t,e)).catch(e=>(t(e),()=>i?_M(i,{error:e}):null));const s=_I(!1),l=_I(),d=_I(!!r);return r&&setTimeout(()=>{d.value=!1},r),null!=o&&setTimeout(()=>{if(!s.value&&!l.value){const e=new Error(`Async component timed out after ${o}ms.`);t(e),l.value=e}},o),h().then(()=>{s.value=!0,e.parent&&kS(e.parent.vnode)&&e.parent.update()}).catch(e=>{t(e),l.value=e}),()=>s.value&&u?MS(u,e):l.value&&i?_M(i,{error:l.value}):n&&!d.value?_M(n):void 0}})}function MS(e,t){const{ref:n,props:i,children:r,ce:s}=t.vnode,o=_M(e,i,r);return o.ref=n,o.ce=s,delete t.vnode.ce,o}const kS=e=>e.type.__isKeepAlive,RS={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=NM(),i=n.ctx;if(!i.renderer)return()=>{const e=t.default&&t.default();return e&&1===e.length?e[0]:e};const r=new Map,s=new Set;let o=null;__VUE_PROD_DEVTOOLS__&&(n.__v_cache=r);const a=n.suspense,{renderer:{p:l,m:u,um:c,o:{createElement:d}}}=i,h=d("div");function p(e){$S(e),c(e,n,a,!0)}function f(e){r.forEach((t,n)=>{const i=QM(t.type);i&&!e(i)&&m(n)})}function m(e){const t=r.get(e);!t||o&&hM(t,o)?o&&$S(o):p(t),r.delete(e),s.delete(e)}i.activate=(e,t,n,i,r)=>{const s=e.component;u(e,t,n,0,a),l(s.vnode,e,t,n,s,a,i,e.slotScopeIds,r),pO(()=>{s.isDeactivated=!1,s.a&&cE(s.a);const t=e.props&&e.props.onVnodeMounted;t&&CM(t,s.parent,e)},a),__VUE_PROD_DEVTOOLS__&&vA(s)},i.deactivate=e=>{const t=e.component;xO(t.m),xO(t.a),u(e,h,null,1,a),pO(()=>{t.da&&cE(t.da);const n=e.props&&e.props.onVnodeUnmounted;n&&CM(n,t.parent,e),t.isDeactivated=!0},a),__VUE_PROD_DEVTOOLS__&&vA(t)},CO(()=>[e.include,e.exclude],([e,t])=>{e&&f(t=>DS(e,t)),t&&f(e=>!DS(t,e))},{flush:"post",deep:!0});let g=null;const _=()=>{null!=g&&(jO(n.subTree.type)?pO(()=>{r.set(g,US(n.subTree))},n.subTree.suspense):r.set(g,US(n.subTree)))};return YS(_),HS(_),WS(()=>{r.forEach(e=>{const{subTree:t,suspense:i}=n,r=US(t);if(e.type===r.type&&e.key===r.key){$S(r);const e=r.component.da;return void(e&&pO(e,i))}p(e)})}),()=>{if(g=null,!t.default)return o=null;const n=t.default(),i=n[0];if(n.length>1)return o=null,n;if(!(dM(i)&&(4&i.shapeFlag||128&i.shapeFlag)))return o=null,i;let a=US(i);if(a.type===JO)return o=null,a;const l=a.type,u=QM(CS(a)?a.type.__asyncResolved||{}:l),{include:c,exclude:d,max:h}=e;if(c&&(!u||!DS(c,u))||d&&u&&DS(d,u))return a.shapeFlag&=-257,o=a,i;const p=null==a.key?l:a.key,f=r.get(p);return a.el&&(a=bM(a),128&i.shapeFlag&&(i.ssContent=a)),g=p,f?(a.el=f.el,a.component=f.component,a.transition&&iS(a,a.transition),a.shapeFlag|=512,s.delete(p),s.add(p)):(s.add(p),h&&s.size>parseInt(h,10)&&m(s.values().next().value)),a.shapeFlag|=256,o=a,jO(i.type)?i:a}}},NS=RS;function DS(e,t){return Ux(e)?e.some(e=>DS(e,t)):Gx(e)?e.split(",").includes(t):"[object RegExp]"===Kx(e)&&(e.lastIndex=0,e.test(t))}function FS(e,t){PS(e,"a",t)}function LS(e,t){PS(e,"da",t)}function PS(e,t,n=RM){const i=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(VS(t,i,n),n){let e=n.parent;for(;e&&e.parent;)kS(e.parent.vnode)&&BS(i,t,n,e),e=e.parent}}function BS(e,t,n,i){const r=VS(t,e,i,!0);XS(()=>{Px(i[t],r)},n)}function $S(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function US(e){return 128&e.shapeFlag?e.ssContent:e}function VS(e,t,n=RM,i=!1){if(n){const r=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{hw();const r=LM(n),s=ZI(t,n,e,i);return r(),pw(),s});return i?r.unshift(s):r.push(s),s}}const zS=e=>(t,n=RM)=>{VM&&"sp"!==e||VS(e,(...e)=>t(...e),n)},jS=zS("bm"),YS=zS("m"),GS=zS("bu"),HS=zS("u"),WS=zS("bum"),XS=zS("um"),qS=zS("sp"),KS=zS("rtg"),ZS=zS("rtc");function QS(e,t=RM){VS("ec",e,t)}const JS="components",eC="directives";function tC(e,t){return sC(JS,e,!0,t)||e}const nC=Symbol.for("v-ndc");function iC(e){return Gx(e)?sC(JS,e,!1)||e:e||nC}function rC(e){return sC(eC,e)}function sC(e,t,n=!0,i=!1){const r=wA||RM;if(r){const n=r.type;if(e===JS){const e=QM(n,!1);if(e&&(e===t||e===rE(t)||e===aE(rE(t))))return n}const s=oC(r[e]||n[e],t)||oC(r.appContext[e],t);return!s&&i?n:s}}function oC(e,t){return e&&(e[t]||e[rE(t)]||e[aE(rE(t))])}function aC(e,t,n,i){let r;const s=n&&n[i],o=Ux(e);if(o||Gx(e)){let n=!1;o&&lI(e)&&(n=!cI(e),e=Aw(e)),r=new Array(e.length);for(let i=0,o=e.length;it(e,n,void 0,s&&s[n]));else{const n=Object.keys(e);r=new Array(n.length);for(let i=0,o=n.length;i{const t=i.fn(...e);return t&&(t.key=i.key),t}:i.fn)}return e}function uC(e,t,n={},i,r){if(wA.ce||wA.parent&&CS(wA.parent)&&wA.parent.ce)return"default"!==t&&(n.name=t),iM(),cM(ZO,null,[_M("slot",n,i&&i())],64);let s=e[t];s&&s._c&&(s._d=!1),iM();const o=s&&cC(s(n)),a=n.key||o&&o.key,l=cM(ZO,{key:(a&&!Hx(a)?a:`_${t}`)+(!o&&i?"_fb":"")},o||(i?i():[]),o&&1===e._?64:-2);return!r&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),s&&s._c&&(s._d=!0),l}function cC(e){return e.some(e=>!dM(e)||e.type!==JO&&!(e.type===ZO&&!cC(e.children)))?e:null}function dC(e,t){const n={};for(const i in e)n[t&&/[A-Z]/.test(i)?`on:${i}`:lE(i)]=e[i];return n}const hC=e=>e?BM(e)?qM(e):hC(e.parent):null,pC=Lx(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>hC(e.parent),$root:e=>hC(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>__VUE_OPTIONS_API__?LC(e):e.type,$forceUpdate:e=>e.f||(e.f=()=>{aA(e.update)}),$nextTick:e=>e.n||(e.n=oA.bind(e.proxy)),$watch:e=>__VUE_OPTIONS_API__?MO.bind(e):Rx}),fC=(e,t)=>e!==Mx&&!e.__isScriptSetup&&$x(e,t),mC={get({_:e},t){if("__v_skip"===t)return!0;const{ctx:n,setupState:i,data:r,props:s,accessCache:o,type:a,appContext:l}=e;let u;if("$"!==t[0]){const a=o[t];if(void 0!==a)switch(a){case 1:return i[t];case 2:return r[t];case 4:return n[t];case 3:return s[t]}else{if(fC(i,t))return o[t]=1,i[t];if(r!==Mx&&$x(r,t))return o[t]=2,r[t];if((u=e.propsOptions[0])&&$x(u,t))return o[t]=3,s[t];if(n!==Mx&&$x(n,t))return o[t]=4,n[t];__VUE_OPTIONS_API__&&!RC||(o[t]=0)}}const c=pC[t];let d,h;return c?("$attrs"===t&&Ew(e.attrs,0,""),c(e)):(d=a.__cssModules)&&(d=d[t])?d:n!==Mx&&$x(n,t)?(o[t]=4,n[t]):(h=l.config.globalProperties,$x(h,t)?h[t]:void 0)},set({_:e},t,n){const{data:i,setupState:r,ctx:s}=e;return fC(r,t)?(r[t]=n,!0):i!==Mx&&$x(i,t)?(i[t]=n,!0):!$x(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(s[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:i,appContext:r,propsOptions:s}},o){let a;return!!n[o]||e!==Mx&&$x(e,o)||fC(t,o)||(a=s[0])&&$x(a,o)||$x(i,o)||$x(pC,o)||$x(r.config.globalProperties,o)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:$x(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};const gC=Lx({},mC,{get(e,t){if(t!==Symbol.unscopables)return mC.get(e,t,e)},has:(e,t)=>"_"!==t[0]&&!gE(t)});function _C(){return null}function yC(){return null}function vC(e){0}function bC(e){0}function TC(){return null}function xC(){0}function EC(e,t){return null}function wC(){return AC().slots}function IC(){return AC().attrs}function AC(){const e=NM();return e.setupContext||(e.setupContext=XM(e))}function SC(e){return Ux(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function CC(e,t){const n=SC(e);for(const e in t){if(e.startsWith("__skip"))continue;let i=n[e];i?Ux(i)||Yx(i)?i=n[e]={type:i,default:t[e]}:i.default=t[e]:null===i&&(i=n[e]={default:t[e]}),i&&t[`__skip_${e}`]&&(i.skipFactory=!0)}return n}function OC(e,t){return e&&t?Ux(e)&&Ux(t)?e.concat(t):Lx({},SC(e),SC(t)):e||t}function MC(e,t){const n={};for(const i in e)t.includes(i)||Object.defineProperty(n,i,{enumerable:!0,get:()=>e[i]});return n}function kC(e){const t=NM();let n=e();return PM(),Xx(n)&&(n=n.catch(e=>{throw LM(t),e})),[n,()=>LM(t)]}let RC=!0;function NC(e){const t=LC(e),n=e.proxy,i=e.ctx;RC=!1,t.beforeCreate&&DC(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:o,watch:a,provide:l,inject:u,created:c,beforeMount:d,mounted:h,beforeUpdate:p,updated:f,activated:m,deactivated:g,beforeDestroy:_,beforeUnmount:y,destroyed:v,unmounted:b,render:T,renderTracked:x,renderTriggered:E,errorCaptured:w,serverPrefetch:I,expose:A,inheritAttrs:S,components:C,directives:O,filters:M}=t;if(u&&function(e,t){Ux(e)&&(e=UC(e));for(const n in e){const i=e[n];let r;r=Wx(i)?"default"in i?qC(i.from||n,i.default,!0):qC(i.from||n):qC(i),gI(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:e=>r.value=e}):t[n]=r}}(u,i,null),o)for(const e in o){const t=o[e];Yx(t)&&(i[e]=t.bind(n))}if(r){0;const t=r.call(n,n);0,Wx(t)&&(e.data=iI(t))}if(RC=!0,s)for(const e in s){const t=s[e],r=Yx(t)?t.bind(n,n):Yx(t.get)?t.get.bind(n,n):Rx;0;const o=!Yx(t)&&Yx(t.set)?t.set.bind(n):Rx,a=tk({get:r,set:o});Object.defineProperty(i,e,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(a)for(const e in a)FC(a[e],i,n,e);if(l){const e=Yx(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{XC(t,e[t])})}function k(e,t){Ux(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(c&&DC(c,e,"c"),k(jS,d),k(YS,h),k(GS,p),k(HS,f),k(FS,m),k(LS,g),k(QS,w),k(ZS,x),k(KS,E),k(WS,y),k(XS,b),k(qS,I),Ux(A))if(A.length){const t=e.exposed||(e.exposed={});A.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})})}else e.exposed||(e.exposed={});T&&e.render===Rx&&(e.render=T),null!=S&&(e.inheritAttrs=S),C&&(e.components=C),O&&(e.directives=O),I&&aS(e)}function DC(e,t,n){ZI(Ux(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function FC(e,t,n,i){let r=i.includes(".")?kO(n,i):()=>n[i];if(Gx(e)){const n=t[e];Yx(n)&&CO(r,n)}else if(Yx(e))CO(r,e.bind(n));else if(Wx(e))if(Ux(e))e.forEach(e=>FC(e,t,n,i));else{const i=Yx(e.handler)?e.handler.bind(n):t[e.handler];Yx(i)&&CO(r,i,e)}else 0}function LC(e){const t=e.type,{mixins:n,extends:i}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:o}}=e.appContext,a=s.get(t);let l;return a?l=a:r.length||n||i?(l={},r.length&&r.forEach(e=>PC(l,e,o,!0)),PC(l,t,o)):l=t,Wx(t)&&s.set(t,l),l}function PC(e,t,n,i=!1){const{mixins:r,extends:s}=t;s&&PC(e,s,n,!0),r&&r.forEach(t=>PC(e,t,n,!0));for(const r in t)if(i&&"expose"===r);else{const i=BC[r]||n&&n[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const BC={data:$C,props:jC,emits:jC,methods:zC,computed:zC,beforeCreate:VC,created:VC,beforeMount:VC,mounted:VC,beforeUpdate:VC,updated:VC,beforeDestroy:VC,beforeUnmount:VC,destroyed:VC,unmounted:VC,activated:VC,deactivated:VC,errorCaptured:VC,serverPrefetch:VC,components:zC,directives:zC,watch:function(e,t){if(!e)return t;if(!t)return e;const n=Lx(Object.create(null),e);for(const i in t)n[i]=VC(e[i],t[i]);return n},provide:$C,inject:function(e,t){return zC(UC(e),UC(t))}};function $C(e,t){return t?e?function(){return Lx(Yx(e)?e.call(this,this):e,Yx(t)?t.call(this,this):t)}:t:e}function UC(e){if(Ux(e)){const t={};for(let n=0;n(s.has(e)||(e&&Yx(e.install)?(s.add(e),e.install(l,...t)):Yx(e)&&(s.add(e),e(l,...t))),l),mixin:e=>(__VUE_OPTIONS_API__&&(r.mixins.includes(e)||r.mixins.push(e)),l),component:(e,t)=>t?(r.components[e]=t,l):r.components[e],directive:(e,t)=>t?(r.directives[e]=t,l):r.directives[e],mount(s,o,u){if(!a){0;const c=l._ceVNode||_M(n,i);return c.appContext=r,!0===u?u="svg":!1===u&&(u=void 0),o&&t?t(c,s):e(c,s,u),a=!0,l._container=s,s.__vue_app__=l,__VUE_PROD_DEVTOOLS__&&(l._instance=c.component,function(e,t){_A("app:init",e,t,{Fragment:ZO,Text:QO,Comment:JO,Static:eM})}(l,ok)),qM(c.component)}},onUnmount(e){o.push(e)},unmount(){a&&(ZI(o,l._instance,16),e(null,l._container),__VUE_PROD_DEVTOOLS__&&(l._instance=null,function(e){_A("app:unmount",e)}(l)),delete l._container.__vue_app__)},provide:(e,t)=>(r.provides[e]=t,l),runWithContext(e){const t=WC;WC=l;try{return e()}finally{WC=t}}};return l}}let WC=null;function XC(e,t){if(RM){let n=RM.provides;const i=RM.parent&&RM.parent.provides;i===n&&(n=RM.provides=Object.create(i)),n[e]=t}else 0}function qC(e,t,n=!1){const i=RM||wA;if(i||WC){const r=WC?WC._context.provides:i?null==i.parent?i.vnode.appContext&&i.vnode.appContext.provides:i.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&Yx(t)?t.call(i&&i.proxy):t}else 0}function KC(){return!!(RM||wA||WC)}const ZC={},QC=()=>Object.create(ZC),JC=e=>Object.getPrototypeOf(e)===ZC;function eO(e,t,n,i){const[r,s]=e.propsOptions;let o,a=!1;if(t)for(let l in t){if(eE(l))continue;const u=t[l];let c;r&&$x(r,c=rE(l))?s&&s.includes(c)?(o||(o={}))[c]=u:n[c]=u:LO(e.emitsOptions,l)||l in i&&u===i[l]||(i[l]=u,a=!0)}if(s){const t=hI(n),i=o||Mx;for(let o=0;o{l=!0;const[n,i]=iO(e,t,!0);Lx(o,n),i&&a.push(...i)};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}if(!s&&!l)return Wx(e)&&i.set(e,kx),kx;if(Ux(s))for(let e=0;e"_"===e[0]||"$stable"===e,oO=e=>Ux(e)?e.map(wM):[wM(e)],aO=(e,t,n)=>{if(t._n)return t;const i=MA((...e)=>oO(t(...e)),n);return i._c=!1,i},lO=(e,t,n)=>{const i=e._ctx;for(const n in e){if(sO(n))continue;const r=e[n];if(Yx(r))t[n]=aO(0,r,i);else if(null!=r){0;const e=oO(r);t[n]=()=>e}}},uO=(e,t)=>{const n=oO(t);e.slots.default=()=>n},cO=(e,t,n)=>{for(const i in t)(n||"_"!==i)&&(e[i]=t[i])},dO=(e,t,n)=>{const i=e.slots=QC();if(32&e.vnode.shapeFlag){const e=t._;e?(cO(i,t,n),n&&dE(i,"_",e,!0)):lO(t,i)}else t&&uO(e,t)},hO=(e,t,n)=>{const{vnode:i,slots:r}=e;let s=!0,o=Mx;if(32&i.shapeFlag){const e=t._;e?n&&1===e?s=!1:cO(r,t,n):(s=!t.$stable,lO(t,r)),o=t}else t&&(uO(e,t),o={default:1});if(s)for(const e in r)sO(e)||null!=o[e]||delete r[e]};const pO=qO;function fO(e){return gO(e)}function mO(e){return gO(e,fS)}function gO(e,t){"boolean"!=typeof __VUE_OPTIONS_API__&&(mE().__VUE_OPTIONS_API__=!0),"boolean"!=typeof __VUE_PROD_DEVTOOLS__&&(mE().__VUE_PROD_DEVTOOLS__=!1),"boolean"!=typeof __VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&(mE().__VUE_PROD_HYDRATION_MISMATCH_DETAILS__=!1);const n=mE();n.__VUE__=!0,__VUE_PROD_DEVTOOLS__&&yA(n.__VUE_DEVTOOLS_GLOBAL_HOOK__,n);const{insert:i,remove:r,patchProp:s,createElement:o,createText:a,createComment:l,setText:u,setElementText:c,parentNode:d,nextSibling:h,setScopeId:p=Rx,insertStaticContent:f}=e,m=(e,t,n,i=null,r=null,s=null,o=void 0,a=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!hM(e,t)&&(i=z(e),P(e,r,s,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:u,ref:c,shapeFlag:d}=t;switch(u){case QO:g(e,t,n,i);break;case JO:_(e,t,n,i);break;case eM:null==e&&y(t,n,i,o);break;case ZO:S(e,t,n,i,r,s,o,a,l);break;default:1&d?b(e,t,n,i,r,s,o,a,l):6&d?C(e,t,n,i,r,s,o,a,l):(64&d||128&d)&&u.process(e,t,n,i,r,s,o,a,l,G)}null!=c&&r&&uS(c,e&&e.ref,s,t||e,!t)},g=(e,t,n,r)=>{if(null==e)i(t.el=a(t.children),n,r);else{const n=t.el=e.el;t.children!==e.children&&u(n,t.children)}},_=(e,t,n,r)=>{null==e?i(t.el=l(t.children||""),n,r):t.el=e.el},y=(e,t,n,i)=>{[e.el,e.anchor]=f(e.children,t,n,i,e.el,e.anchor)},v=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),r(e),e=n;r(t)},b=(e,t,n,i,r,s,o,a,l)=>{"svg"===t.type?o="svg":"math"===t.type&&(o="mathml"),null==e?T(t,n,i,r,s,o,a,l):w(e,t,r,s,o,a,l)},T=(e,t,n,r,a,l,u,d)=>{let h,p;const{props:f,shapeFlag:m,transition:g,dirs:_}=e;if(h=e.el=o(e.type,l,f&&f.is,f),8&m?c(h,e.children):16&m&&E(e.children,h,null,r,a,_O(e,l),u,d),_&&RA(e,null,r,"created"),x(h,e,e.scopeId,u,r),f){for(const e in f)"value"===e||eE(e)||s(h,e,null,f[e],l,r);"value"in f&&s(h,"value",null,f.value,l),(p=f.onVnodeBeforeMount)&&CM(p,r,e)}__VUE_PROD_DEVTOOLS__&&(dE(h,"__vnode",e,!0),dE(h,"__vueParentComponent",r,!0)),_&&RA(e,null,r,"beforeMount");const y=vO(a,g);y&&g.beforeEnter(h),i(h,t,n),((p=f&&f.onVnodeMounted)||y||_)&&pO(()=>{p&&CM(p,r,e),y&&g.enter(h),_&&RA(e,null,r,"mounted")},a)},x=(e,t,n,i,r)=>{if(n&&p(e,n),i)for(let t=0;t{for(let u=l;u{const l=t.el=e.el;__VUE_PROD_DEVTOOLS__&&(l.__vnode=t);let{patchFlag:u,dynamicChildren:d,dirs:h}=t;u|=16&e.patchFlag;const p=e.props||Mx,f=t.props||Mx;let m;if(n&&yO(n,!1),(m=f.onVnodeBeforeUpdate)&&CM(m,n,t,e),h&&RA(t,e,n,"beforeUpdate"),n&&yO(n,!0),(p.innerHTML&&null==f.innerHTML||p.textContent&&null==f.textContent)&&c(l,""),d?I(e.dynamicChildren,d,l,n,i,_O(t,r),o):a||N(e,t,l,null,n,i,_O(t,r),o,!1),u>0){if(16&u)A(l,p,f,n,r);else if(2&u&&p.class!==f.class&&s(l,"class",null,f.class,r),4&u&&s(l,"style",p.style,f.style,r),8&u){const e=t.dynamicProps;for(let t=0;t{m&&CM(m,n,t,e),h&&RA(t,e,n,"updated")},i)},I=(e,t,n,i,r,s,o)=>{for(let a=0;a{if(t!==n){if(t!==Mx)for(const o in t)eE(o)||o in n||s(e,o,t[o],null,r,i);for(const o in n){if(eE(o))continue;const a=n[o],l=t[o];a!==l&&"value"!==o&&s(e,o,l,a,r,i)}"value"in n&&s(e,"value",t.value,n.value,r)}},S=(e,t,n,r,s,o,l,u,c)=>{const d=t.el=e?e.el:a(""),h=t.anchor=e?e.anchor:a("");let{patchFlag:p,dynamicChildren:f,slotScopeIds:m}=t;m&&(u=u?u.concat(m):m),null==e?(i(d,n,r),i(h,n,r),E(t.children||[],n,h,s,o,l,u,c)):p>0&&64&p&&f&&e.dynamicChildren?(I(e.dynamicChildren,f,n,s,o,l,u),(null!=t.key||s&&t===s.subTree)&&bO(e,t,!0)):N(e,t,n,h,s,o,l,u,c)},C=(e,t,n,i,r,s,o,a,l)=>{t.slotScopeIds=a,null==e?512&t.shapeFlag?r.ctx.activate(t,n,i,o,l):O(t,n,i,r,s,o,l):M(e,t,l)},O=(e,t,n,i,r,s,o)=>{const a=e.component=kM(e,i,r);if(kS(e)&&(a.ctx.renderer=G),zM(a,!1,o),a.asyncDep){if(r&&r.registerDep(a,k,o),!e.el){const e=a.subTree=_M(JO);_(null,e,t,n)}}else k(a,e,t,n,r,s,o)},M=(e,t,n)=>{const i=t.component=e.component;if(function(e,t,n){const{props:i,children:r,component:s}=e,{props:o,children:a,patchFlag:l}=t,u=s.emitsOptions;0;if(t.dirs||t.transition)return!0;if(!(n&&l>=0))return!(!r&&!a||a&&a.$stable)||i!==o&&(i?!o||VO(i,o,u):!!o);if(1024&l)return!0;if(16&l)return i?VO(i,o,u):!!o;if(8&l){const e=t.dynamicProps;for(let t=0;t{const a=()=>{if(e.isMounted){let{next:t,bu:n,u:i,parent:l,vnode:u}=e;{const n=TO(e);if(n)return t&&(t.el=u.el,R(e,t,o)),void n.asyncDep.then(()=>{e.isUnmounted||a()})}let c,h=t;0,yO(e,!1),t?(t.el=u.el,R(e,t,o)):t=u,n&&cE(n),(c=t.props&&t.props.onVnodeBeforeUpdate)&&CM(c,l,t,u),yO(e,!0);const p=PO(e);0;const f=e.subTree;e.subTree=p,m(f,p,d(f.el),z(f),e,r,s),t.el=p.el,null===h&&zO(e,p.el),i&&pO(i,r),(c=t.props&&t.props.onVnodeUpdated)&&pO(()=>CM(c,l,t,u),r),__VUE_PROD_DEVTOOLS__&&bA(e)}else{let o;const{el:a,props:l}=t,{bm:u,m:c,parent:d,root:h,type:p}=e,f=CS(t);if(yO(e,!1),u&&cE(u),!f&&(o=l&&l.onVnodeBeforeMount)&&CM(o,d,t),yO(e,!0),a&&W){const t=()=>{e.subTree=PO(e),W(a,e.subTree,e,r,null)};f&&p.__asyncHydrate?p.__asyncHydrate(a,e,t):t()}else{h.ce&&h.ce._injectChildStyle(p);const o=e.subTree=PO(e);0,m(null,o,n,i,e,r,s),t.el=o.el}if(c&&pO(c,r),!f&&(o=l&&l.onVnodeMounted)){const e=t;pO(()=>CM(o,d,e),r)}(256&t.shapeFlag||d&&CS(d.vnode)&&256&d.vnode.shapeFlag)&&e.a&&pO(e.a,r),e.isMounted=!0,__VUE_PROD_DEVTOOLS__&&vA(e),t=n=i=null}};e.scope.on();const l=e.effect=new qE(a);e.scope.off();const u=e.update=l.run.bind(l),c=e.job=l.runIfDirty.bind(l);c.i=e,c.id=e.uid,l.scheduler=()=>aA(c),yO(e,!0),u()},R=(e,t,n)=>{t.component=e;const i=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,i){const{props:r,attrs:s,vnode:{patchFlag:o}}=e,a=hI(r),[l]=e.propsOptions;let u=!1;if(!(i||o>0)||16&o){let i;eO(e,t,r,s)&&(u=!0);for(const s in a)t&&($x(t,s)||(i=oE(s))!==s&&$x(t,i))||(l?!n||void 0===n[s]&&void 0===n[i]||(r[s]=tO(l,a,s,void 0,e,!0)):delete r[s]);if(s!==a)for(const e in s)t&&$x(t,e)||(delete s[e],u=!0)}else if(8&o){const n=e.vnode.dynamicProps;for(let i=0;i{const u=e&&e.children,d=e?e.shapeFlag:0,h=t.children,{patchFlag:p,shapeFlag:f}=t;if(p>0){if(128&p)return void F(u,h,n,i,r,s,o,a,l);if(256&p)return void D(u,h,n,i,r,s,o,a,l)}8&f?(16&d&&V(u,r,s),h!==u&&c(n,h)):16&d?16&f?F(u,h,n,i,r,s,o,a,l):V(u,r,s,!0):(8&d&&c(n,""),16&f&&E(h,n,i,r,s,o,a,l))},D=(e,t,n,i,r,s,o,a,l)=>{t=t||kx;const u=(e=e||kx).length,c=t.length,d=Math.min(u,c);let h;for(h=0;hc?V(e,r,s,!0,!1,d):E(t,n,i,r,s,o,a,l,d)},F=(e,t,n,i,r,s,o,a,l)=>{let u=0;const c=t.length;let d=e.length-1,h=c-1;for(;u<=d&&u<=h;){const i=e[u],c=t[u]=l?IM(t[u]):wM(t[u]);if(!hM(i,c))break;m(i,c,n,null,r,s,o,a,l),u++}for(;u<=d&&u<=h;){const i=e[d],u=t[h]=l?IM(t[h]):wM(t[h]);if(!hM(i,u))break;m(i,u,n,null,r,s,o,a,l),d--,h--}if(u>d){if(u<=h){const e=h+1,d=eh)for(;u<=d;)P(e[u],r,s,!0),u++;else{const p=u,f=u,g=new Map;for(u=f;u<=h;u++){const e=t[u]=l?IM(t[u]):wM(t[u]);null!=e.key&&g.set(e.key,u)}let _,y=0;const v=h-f+1;let b=!1,T=0;const x=new Array(v);for(u=0;u=v){P(i,r,s,!0);continue}let c;if(null!=i.key)c=g.get(i.key);else for(_=f;_<=h;_++)if(0===x[_-f]&&hM(i,t[_])){c=_;break}void 0===c?P(i,r,s,!0):(x[c-f]=u+1,c>=T?T=c:b=!0,m(i,t[c],n,null,r,s,o,a,l),y++)}const E=b?function(e){const t=e.slice(),n=[0];let i,r,s,o,a;const l=e.length;for(i=0;i>1,e[n[a]]0&&(t[i]=n[s-1]),n[s]=i)}}s=n.length,o=n[s-1];for(;s-- >0;)n[s]=o,o=t[o];return n}(x):kx;for(_=E.length-1,u=v-1;u>=0;u--){const e=f+u,d=t[e],h=e+1{const{el:o,type:a,transition:l,children:u,shapeFlag:c}=e;if(6&c)return void L(e.component.subTree,t,n,r);if(128&c)return void e.suspense.move(t,n,r);if(64&c)return void a.move(e,t,n,G);if(a===ZO){i(o,t,n);for(let e=0;e{let s;for(;e&&e!==t;)s=h(e),i(e,n,r),e=s;i(t,n,r)})(e,t,n);if(2!==r&&1&c&&l)if(0===r)l.beforeEnter(o),i(o,t,n),pO(()=>l.enter(o),s);else{const{leave:e,delayLeave:r,afterLeave:s}=l,a=()=>i(o,t,n),u=()=>{e(o,()=>{a(),s&&s()})};r?r(o,a,u):u()}else i(o,t,n)},P=(e,t,n,i=!1,r=!1)=>{const{type:s,props:o,ref:a,children:l,dynamicChildren:u,shapeFlag:c,patchFlag:d,dirs:h,cacheIndex:p}=e;if(-2===d&&(r=!1),null!=a&&uS(a,null,n,e,!0),null!=p&&(t.renderCache[p]=void 0),256&c)return void t.ctx.deactivate(e);const f=1&c&&h,m=!CS(e);let g;if(m&&(g=o&&o.onVnodeBeforeUnmount)&&CM(g,t,e),6&c)U(e.component,n,i);else{if(128&c)return void e.suspense.unmount(n,i);f&&RA(e,null,t,"beforeUnmount"),64&c?e.type.remove(e,t,n,G,i):u&&!u.hasOnce&&(s!==ZO||d>0&&64&d)?V(u,t,n,!1,!0):(s===ZO&&384&d||!r&&16&c)&&V(l,t,n),i&&B(e)}(m&&(g=o&&o.onVnodeUnmounted)||f)&&pO(()=>{g&&CM(g,t,e),f&&RA(e,null,t,"unmounted")},n)},B=e=>{const{type:t,el:n,anchor:i,transition:s}=e;if(t===ZO)return void $(n,i);if(t===eM)return void v(e);const o=()=>{r(n),s&&!s.persisted&&s.afterLeave&&s.afterLeave()};if(1&e.shapeFlag&&s&&!s.persisted){const{leave:t,delayLeave:i}=s,r=()=>t(n,o);i?i(e.el,o,r):r()}else o()},$=(e,t)=>{let n;for(;e!==t;)n=h(e),r(e),e=n;r(t)},U=(e,t,n)=>{const{bum:i,scope:r,job:s,subTree:o,um:a,m:l,a:u}=e;xO(l),xO(u),i&&cE(i),r.stop(),s&&(s.flags|=8,P(o,e,t,n)),a&&pO(a,t),pO(()=>{e.isUnmounted=!0},t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve()),__VUE_PROD_DEVTOOLS__&&xA(e)},V=(e,t,n,i=!1,r=!1,s=0)=>{for(let o=s;o{if(6&e.shapeFlag)return z(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();const t=h(e.anchor||e.el),n=t&&t[NA];return n?h(n):t};let j=!1;const Y=(e,t,n)=>{null==e?t._vnode&&P(t._vnode,null,null,!0):m(t._vnode||null,e,t,null,null,null,n),t._vnode=e,j||(j=!0,cA(),dA(),j=!1)},G={p:m,um:P,m:L,r:B,mt:O,mc:E,pc:N,pbc:I,n:z,o:e};let H,W;return t&&([H,W]=t(G)),{render:Y,hydrate:H,createApp:HC(Y,H)}}function _O({type:e,props:t},n){return"svg"===n&&"foreignObject"===e||"mathml"===n&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function yO({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function vO(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function bO(e,t,n=!1){const i=e.children,r=t.children;if(Ux(i)&&Ux(r))for(let e=0;e{{const e=qC(EO);return e}};function IO(e,t){return OO(e,null,t)}function AO(e,t){return OO(e,null,{flush:"post"})}function SO(e,t){return OO(e,null,{flush:"sync"})}function CO(e,t,n){return OO(e,t,n)}function OO(e,t,n=Mx){const{immediate:i,deep:r,flush:s,once:o}=n;const a=Lx({},n);const l=t&&i||!t&&"post"!==s;let u;if(VM)if("sync"===s){const e=wO();u=e.__watcherHandles||(e.__watcherHandles=[])}else if(!l){const e=()=>{};return e.stop=Rx,e.resume=Rx,e.pause=Rx,e}const c=RM;a.call=(e,t,n)=>ZI(e,c,t,n);let d=!1;"post"===s?a.scheduler=e=>{pO(e,c&&c.suspense)}:"sync"!==s&&(d=!0,a.scheduler=(e,t)=>{t?e():aA(e)}),a.augmentJob=e=>{t&&(e.flags|=4),d&&(e.flags|=2,c&&(e.id=c.uid,e.i=c))};const h=function(e,t,n=Mx){const{immediate:i,deep:r,once:s,scheduler:o,augmentJob:a,call:l}=n,u=e=>r?e:cI(e)||!1===r||0===r?VI(e,1):VI(e);let c,d,h,p,f=!1,m=!1;if(gI(e)?(d=()=>e.value,f=cI(e)):lI(e)?(d=()=>u(e),f=!0):Ux(e)?(m=!0,f=e.some(e=>lI(e)||cI(e)),d=()=>e.map(e=>gI(e)?e.value:lI(e)?u(e):Yx(e)?l?l(e,2):e():void 0)):d=Yx(e)?t?l?()=>l(e,2):e:()=>{if(h){hw();try{h()}finally{pw()}}const t=BI;BI=c;try{return l?l(e,3,[p]):e(p)}finally{BI=t}}:Rx,t&&r){const e=d,t=!0===r?1/0:r;d=()=>VI(e(),t)}const g=HE(),_=()=>{c.stop(),g&&g.active&&Px(g.effects,c)};if(s&&t){const e=t;t=(...t)=>{e(...t),_()}}let y=m?new Array(e.length).fill(LI):LI;const v=e=>{if(1&c.flags&&(c.dirty||e))if(t){const e=c.run();if(r||f||(m?e.some((e,t)=>uE(e,y[t])):uE(e,y))){h&&h();const n=BI;BI=c;try{const n=[e,y===LI?void 0:m&&y[0]===LI?[]:y,p];l?l(t,3,n):t(...n),y=e}finally{BI=n}}}else c.run()};return a&&a(v),c=new qE(d),c.scheduler=o?()=>o(v,!1):v,p=e=>UI(e,!1,c),h=c.onStop=()=>{const e=PI.get(c);if(e){if(l)l(e,4);else for(const t of e)t();PI.delete(c)}},t?i?v(!0):y=c.run():o?o(v.bind(null,!0),!0):c.run(),_.pause=c.pause.bind(c),_.resume=c.resume.bind(c),_.stop=_,_}(e,t,a);return VM&&(u?u.push(h):l&&h()),h}function MO(e,t,n){const i=this.proxy,r=Gx(e)?e.includes(".")?kO(i,e):()=>i[e]:e.bind(i,i);let s;Yx(t)?s=t:(s=t.handler,n=t);const o=LM(this),a=OO(r,s.bind(i),n);return o(),a}function kO(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{let l,u,c=Mx;return SO(()=>{const t=e[r];uE(l,t)&&(l=t,a())}),{get:()=>(o(),n.get?n.get(l):l),set(e){const o=n.set?n.set(e):e;if(!(uE(o,l)||c!==Mx&&uE(e,c)))return;const d=i.vnode.props;d&&(t in d||r in d||s in d)&&(`onUpdate:${t}`in d||`onUpdate:${r}`in d||`onUpdate:${s}`in d)||(l=e,a()),i.emit(`update:${t}`,o),uE(e,o)&&uE(e,c)&&!uE(o,u)&&a(),c=e,u=o}}});return a[Symbol.iterator]=()=>{let e=0;return{next:()=>e<2?{value:e++?o||Mx:a,done:!1}:{done:!0}}},a}const NO=(e,t)=>"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${rE(t)}Modifiers`]||e[`${oE(t)}Modifiers`];function DO(e,t,...n){if(e.isUnmounted)return;const i=e.vnode.props||Mx;let r=n;const s=t.startsWith("update:"),o=s&&NO(i,t.slice(7));let a;o&&(o.trim&&(r=n.map(e=>Gx(e)?e.trim():e)),o.number&&(r=n.map(hE))),__VUE_PROD_DEVTOOLS__&&function(e,t,n){_A("component:emit",e.appContext.app,e,t,n)}(e,t,r);let l=i[a=lE(t)]||i[a=lE(rE(t))];!l&&s&&(l=i[a=lE(oE(t))]),l&&ZI(l,e,6,r);const u=i[a+"Once"];if(u){if(e.emitted){if(e.emitted[a])return}else e.emitted={};e.emitted[a]=!0,ZI(u,e,6,r)}}function FO(e,t,n=!1){const i=t.emitsCache,r=i.get(e);if(void 0!==r)return r;const s=e.emits;let o={},a=!1;if(__VUE_OPTIONS_API__&&!Yx(e)){const i=e=>{const n=FO(e,t,!0);n&&(a=!0,Lx(o,n))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return s||a?(Ux(s)?s.forEach(e=>o[e]=null):Lx(o,s),Wx(e)&&i.set(e,o),o):(Wx(e)&&i.set(e,null),null)}function LO(e,t){return!(!e||!Dx(t))&&(t=t.slice(2).replace(/Once$/,""),$x(e,t[0].toLowerCase()+t.slice(1))||$x(e,oE(t))||$x(e,t))}function PO(e){const{type:t,vnode:n,proxy:i,withProxy:r,propsOptions:[s],slots:o,attrs:a,emit:l,render:u,renderCache:c,props:d,data:h,setupState:p,ctx:f,inheritAttrs:m}=e,g=AA(e);let _,y;try{if(4&n.shapeFlag){const e=r||i,t=e;_=wM(u.call(t,e,c,d,p,h,f)),y=a}else{const e=t;0,_=wM(e.length>1?e(d,{attrs:a,slots:o,emit:l}):e(d,null)),y=t.props?a:$O(a)}}catch(t){tM.length=0,QI(t,e,1),_=_M(JO)}let v=_;if(y&&!1!==m){const e=Object.keys(y),{shapeFlag:t}=v;e.length&&7&t&&(s&&e.some(Fx)&&(y=UO(y,s)),v=bM(v,y,!1,!0))}return n.dirs&&(v=bM(v,null,!1,!0),v.dirs=v.dirs?v.dirs.concat(n.dirs):n.dirs),n.transition&&iS(v,n.transition),_=v,AA(g),_}function BO(e,t=!0){let n;for(let t=0;t{let t;for(const n in e)("class"===n||"style"===n||Dx(n))&&((t||(t={}))[n]=e[n]);return t},UO=(e,t)=>{const n={};for(const i in e)Fx(i)&&i.slice(9)in t||(n[i]=e[i]);return n};function VO(e,t,n){const i=Object.keys(t);if(i.length!==Object.keys(e).length)return!0;for(let r=0;re.__isSuspense;let YO=0;const GO={name:"Suspense",__isSuspense:!0,process(e,t,n,i,r,s,o,a,l,u){if(null==e)!function(e,t,n,i,r,s,o,a,l){const{p:u,o:{createElement:c}}=l,d=c("div"),h=e.suspense=WO(e,r,i,t,d,n,s,o,a,l);u(null,h.pendingBranch=e.ssContent,d,null,i,h,s,o),h.deps>0?(HO(e,"onPending"),HO(e,"onFallback"),u(null,e.ssFallback,t,n,i,null,s,o),KO(h,e.ssFallback)):h.resolve(!1,!0)}(t,n,i,r,s,o,a,l,u);else{if(s&&s.deps>0&&!e.suspense.isInFallback)return t.suspense=e.suspense,t.suspense.vnode=t,void(t.el=e.el);!function(e,t,n,i,r,s,o,a,{p:l,um:u,o:{createElement:c}}){const d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;const h=t.ssContent,p=t.ssFallback,{activeBranch:f,pendingBranch:m,isInFallback:g,isHydrating:_}=d;if(m)d.pendingBranch=h,hM(h,m)?(l(m,h,d.hiddenContainer,null,r,d,s,o,a),d.deps<=0?d.resolve():g&&(_||(l(f,p,n,i,r,null,s,o,a),KO(d,p)))):(d.pendingId=YO++,_?(d.isHydrating=!1,d.activeBranch=m):u(m,r,d),d.deps=0,d.effects.length=0,d.hiddenContainer=c("div"),g?(l(null,h,d.hiddenContainer,null,r,d,s,o,a),d.deps<=0?d.resolve():(l(f,p,n,i,r,null,s,o,a),KO(d,p))):f&&hM(h,f)?(l(f,h,n,i,r,d,s,o,a),d.resolve(!0)):(l(null,h,d.hiddenContainer,null,r,d,s,o,a),d.deps<=0&&d.resolve()));else if(f&&hM(h,f))l(f,h,n,i,r,d,s,o,a),KO(d,h);else if(HO(t,"onPending"),d.pendingBranch=h,512&h.shapeFlag?d.pendingId=h.component.suspenseId:d.pendingId=YO++,l(null,h,d.hiddenContainer,null,r,d,s,o,a),d.deps<=0)d.resolve();else{const{timeout:e,pendingId:t}=d;e>0?setTimeout(()=>{d.pendingId===t&&d.fallback(p)},e):0===e&&d.fallback(p)}}(e,t,n,i,r,o,a,l,u)}},hydrate:function(e,t,n,i,r,s,o,a,l){const u=t.suspense=WO(t,i,n,e.parentNode,document.createElement("div"),null,r,s,o,a,!0),c=l(e,u.pendingBranch=t.ssContent,n,u,s,o);0===u.deps&&u.resolve(!1,!0);return c},normalize:function(e){const{shapeFlag:t,children:n}=e,i=32&t;e.ssContent=XO(i?n.default:n),e.ssFallback=i?XO(n.fallback):_M(JO)}};function HO(e,t){const n=e.props&&e.props[t];Yx(n)&&n()}function WO(e,t,n,i,r,s,o,a,l,u,c=!1){const{p:d,m:h,um:p,n:f,o:{parentNode:m,remove:g}}=u;let _;const y=function(e){const t=e.props&&e.props.suspensible;return null!=t&&!1!==t}(e);y&&t&&t.pendingBranch&&(_=t.pendingId,t.deps++);const v=e.props?pE(e.props.timeout):void 0;const b=s,T={vnode:e,parent:t,parentComponent:n,namespace:o,container:i,hiddenContainer:r,deps:0,pendingId:YO++,timeout:"number"==typeof v?v:-1,activeBranch:null,pendingBranch:null,isInFallback:!c,isHydrating:c,isUnmounted:!1,effects:[],resolve(e=!1,n=!1){const{vnode:i,activeBranch:r,pendingBranch:o,pendingId:a,effects:l,parentComponent:u,container:c}=T;let d=!1;T.isHydrating?T.isHydrating=!1:e||(d=r&&o.transition&&"out-in"===o.transition.mode,d&&(r.transition.afterLeave=()=>{a===T.pendingId&&(h(o,c,s===b?f(r):s,0),uA(l))}),r&&(m(r.el)===c&&(s=f(r)),p(r,u,T,!0)),d||h(o,c,s,0)),KO(T,o),T.pendingBranch=null,T.isInFallback=!1;let g=T.parent,v=!1;for(;g;){if(g.pendingBranch){g.effects.push(...l),v=!0;break}g=g.parent}v||d||uA(l),T.effects=[],y&&t&&t.pendingBranch&&_===t.pendingId&&(t.deps--,0!==t.deps||n||t.resolve()),HO(i,"onResolve")},fallback(e){if(!T.pendingBranch)return;const{vnode:t,activeBranch:n,parentComponent:i,container:r,namespace:s}=T;HO(t,"onFallback");const o=f(n),u=()=>{T.isInFallback&&(d(null,e,r,o,i,null,s,a,l),KO(T,e))},c=e.transition&&"out-in"===e.transition.mode;c&&(n.transition.afterLeave=u),T.isInFallback=!0,p(n,i,null,!0),c||u()},move(e,t,n){T.activeBranch&&h(T.activeBranch,e,t,n),T.container=e},next:()=>T.activeBranch&&f(T.activeBranch),registerDep(e,t,n){const i=!!T.pendingBranch;i&&T.deps++;const r=e.vnode.el;e.asyncDep.catch(t=>{QI(t,e,0)}).then(s=>{if(e.isUnmounted||T.isUnmounted||T.pendingId!==e.suspenseId)return;e.asyncResolved=!0;const{vnode:a}=e;jM(e,s,!1),r&&(a.el=r);const l=!r&&e.subTree.el;t(e,a,m(r||e.subTree.el),r?null:f(e.subTree),T,o,n),l&&g(l),zO(e,a.el),i&&0===--T.deps&&T.resolve()})},unmount(e,t){T.isUnmounted=!0,T.activeBranch&&p(T.activeBranch,n,e,t),T.pendingBranch&&p(T.pendingBranch,n,e,t)}};return T}function XO(e){let t;if(Yx(e)){const n=oM&&e._c;n&&(e._d=!1,iM()),e=e(),n&&(e._d=!0,t=nM,rM())}if(Ux(e)){const t=BO(e);0,e=t}return e=wM(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(t=>t!==e)),e}function qO(e,t){t&&t.pendingBranch?Ux(e)?t.effects.push(...e):t.effects.push(e):uA(e)}function KO(e,t){e.activeBranch=t;const{vnode:n,parentComponent:i}=e;let r=t.el;for(;!r&&t.component;)r=(t=t.component.subTree).el;n.el=r,i&&i.subTree===n&&(i.vnode.el=r,zO(i,r))}const ZO=Symbol.for("v-fgt"),QO=Symbol.for("v-txt"),JO=Symbol.for("v-cmt"),eM=Symbol.for("v-stc"),tM=[];let nM=null;function iM(e=!1){tM.push(nM=e?null:[])}function rM(){tM.pop(),nM=tM[tM.length-1]||null}let sM,oM=1;function aM(e,t=!1){oM+=e,e<0&&nM&&t&&(nM.hasOnce=!0)}function lM(e){return e.dynamicChildren=oM>0?nM||kx:null,rM(),oM>0&&nM&&nM.push(e),e}function uM(e,t,n,i,r,s){return lM(gM(e,t,n,i,r,s,!0))}function cM(e,t,n,i,r){return lM(_M(e,t,n,i,r,!0))}function dM(e){return!!e&&!0===e.__v_isVNode}function hM(e,t){return e.type===t.type&&e.key===t.key}function pM(e){sM=e}const fM=({key:e})=>null!=e?e:null,mM=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?Gx(e)||gI(e)||Yx(e)?{i:wA,r:e,k:t,f:!!n}:e:null);function gM(e,t=null,n=null,i=0,r=null,s=(e===ZO?0:1),o=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&fM(t),ref:t&&mM(t),scopeId:IA,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:i,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:wA};return a?(AM(l,n),128&s&&e.normalize(l)):n&&(l.shapeFlag|=Gx(n)?8:16),oM>0&&!o&&nM&&(l.patchFlag>0||6&s)&&32!==l.patchFlag&&nM.push(l),l}const _M=yM;function yM(e,t=null,n=null,i=0,r=null,s=!1){if(e&&e!==nC||(e=JO),dM(e)){const i=bM(e,t,!0);return n&&AM(i,n),oM>0&&!s&&nM&&(6&i.shapeFlag?nM[nM.indexOf(e)]=i:nM.push(i)),i.patchFlag=-2,i}if(ek(e)&&(e=e.__vccOpts),t){t=vM(t);let{class:e,style:n}=t;e&&!Gx(e)&&(t.class=xE(e)),Wx(n)&&(dI(n)&&!Ux(n)&&(n=Lx({},n)),t.style=_E(n))}return gM(e,t,n,i,r,Gx(e)?1:jO(e)?128:DA(e)?64:Wx(e)?4:Yx(e)?2:0,s,!0)}function vM(e){return e?dI(e)||JC(e)?Lx({},e):e:null}function bM(e,t,n=!1,i=!1){const{props:r,ref:s,patchFlag:o,children:a,transition:l}=e,u=t?SM(r||{},t):r,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&fM(u),ref:t&&t.ref?n&&s?Ux(s)?s.concat(mM(t)):[s,mM(t)]:mM(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ZO?-1===o?16:16|o:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&bM(e.ssContent),ssFallback:e.ssFallback&&bM(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&i&&iS(c,l.clone(c)),c}function TM(e=" ",t=0){return _M(QO,null,e,t)}function xM(e,t){const n=_M(eM,null,e);return n.staticCount=t,n}function EM(e="",t=!1){return t?(iM(),cM(JO,null,e)):_M(JO,null,e)}function wM(e){return null==e||"boolean"==typeof e?_M(JO):Ux(e)?_M(ZO,null,e.slice()):dM(e)?IM(e):_M(QO,null,String(e))}function IM(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:bM(e)}function AM(e,t){let n=0;const{shapeFlag:i}=e;if(null==t)t=null;else if(Ux(t))n=16;else if("object"==typeof t){if(65&i){const n=t.default;return void(n&&(n._c&&(n._d=!1),AM(e,n()),n._c&&(n._d=!0)))}{n=32;const i=t._;i||JC(t)?3===i&&wA&&(1===wA.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=wA}}else Yx(t)?(t={default:t,_ctx:wA},n=32):(t=String(t),64&i?(n=16,t=[TM(t)]):n=8);e.children=t,e.shapeFlag|=n}function SM(...e){const t={};for(let n=0;nRM||wA;let DM,FM;{const e=mE(),t=(t,n)=>{let i;return(i=e[t])||(i=e[t]=[]),i.push(n),e=>{i.length>1?i.forEach(t=>t(e)):i[0](e)}};DM=t("__VUE_INSTANCE_SETTERS__",e=>RM=e),FM=t("__VUE_SSR_SETTERS__",e=>VM=e)}const LM=e=>{const t=RM;return DM(e),e.scope.on(),()=>{e.scope.off(),DM(t)}},PM=()=>{RM&&RM.scope.off(),DM(null)};function BM(e){return 4&e.vnode.shapeFlag}let $M,UM,VM=!1;function zM(e,t=!1,n=!1){t&&FM(t);const{props:i,children:r}=e.vnode,s=BM(e);!function(e,t,n,i=!1){const r={},s=QC();e.propsDefaults=Object.create(null),eO(e,t,r,s);for(const t in e.propsOptions[0])t in r||(r[t]=void 0);n?e.props=i?r:rI(r):e.type.props?e.props=r:e.props=s,e.attrs=s}(e,i,s,t),dO(e,r,n);const o=s?function(e,t){const n=e.type;0;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,mC),!1;const{setup:i}=n;if(i){hw();const n=e.setupContext=i.length>1?XM(e):null,r=LM(e),s=KI(i,e,0,[e.props,n]),o=Xx(s);if(pw(),r(),!o&&!e.sp||CS(e)||aS(e),o){if(s.then(PM,PM),t)return s.then(n=>{jM(e,n,t)}).catch(t=>{QI(t,e,0)});e.asyncDep=s}else jM(e,s,t)}else HM(e,t)}(e,t):void 0;return t&&FM(!1),o}function jM(e,t,n){Yx(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Wx(t)&&(__VUE_PROD_DEVTOOLS__&&(e.devtoolsRawSetupState=t),e.setupState=II(t)),HM(e,n)}function YM(e){$M=e,UM=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,gC))}}const GM=()=>!$M;function HM(e,t,n){const i=e.type;if(!e.render){if(!t&&$M&&!i.render){const t=i.template||__VUE_OPTIONS_API__&&LC(e).template;if(t){0;const{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:s,compilerOptions:o}=i,a=Lx(Lx({isCustomElement:n,delimiters:s},r),o);i.render=$M(t,a)}}e.render=i.render||Rx,UM&&UM(e)}if(__VUE_OPTIONS_API__){const t=LM(e);hw();try{NC(e)}finally{pw(),t()}}}const WM={get:(e,t)=>(Ew(e,0,""),e[t])};function XM(e){const t=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,WM),slots:e.slots,emit:e.emit,expose:t}}function qM(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(II(pI(e.exposed)),{get:(t,n)=>n in t?t[n]:n in pC?pC[n](e):void 0,has:(e,t)=>t in e||t in pC})):e.proxy}const KM=/(?:^|[-_])(\w)/g,ZM=e=>e.replace(KM,e=>e.toUpperCase()).replace(/[-_]/g,"");function QM(e,t=!0){return Yx(e)?e.displayName||e.name:e.name||t&&e.__name}function JM(e,t,n=!1){let i=QM(t);if(!i&&t.__file){const e=t.__file.match(/([^/\\]+)\.\w+$/);e&&(i=e[1])}if(!i&&e&&e.parent){const n=e=>{for(const n in e)if(e[n]===t)return n};i=n(e.components||e.parent.type.components)||n(e.appContext.components)}return i?ZM(i):n?"App":"Anonymous"}function ek(e){return Yx(e)&&"__vccOpts"in e}const tk=(e,t)=>{const n=function(e,t,n=!1){let i,r;return Yx(e)?i=e:(i=e.get,r=e.set),new NI(i,r,n)}(e,0,VM);return n};function nk(e,t,n){const i=arguments.length;return 2===i?Wx(t)&&!Ux(t)?dM(t)?_M(e,null,[t]):_M(e,t):_M(e,null,t):(i>3?n=Array.prototype.slice.call(arguments,2):3===i&&dM(n)&&(n=[n]),_M(e,t,n))}function ik(){return void 0}function rk(e,t,n,i){const r=n[i];if(r&&sk(r,e))return r;const s=t();return s.memo=e.slice(),s.cacheIndex=i,n[i]=s}function sk(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let e=0;e0&&nM&&nM.push(e),!0}const ok="3.5.13",ak=Rx,lk=qI,uk=fA,ck=yA,dk={createComponentInstance:kM,setupComponent:zM,renderComponentRoot:PO,setCurrentRenderingInstance:AA,isVNode:dM,normalizeVNode:wM,getComponentPublicInstance:qM,ensureValidVNode:cC,pushWarningContext:function(e){zI.push(e)},popWarningContext:function(){zI.pop()}},hk=null,pk=null,fk=null; +function OA(e){return t=>{EA(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}let MA=null,kA=null;function RA(e){const t=MA;return MA=e,kA=e&&e.type.__scopeId||null,t}function NA(e){kA=e}function DA(){kA=null}const FA=e=>LA;function LA(e,t=MA,n){if(!t)return e;if(e._n)return e;const i=(...n)=>{i._d&&pM(-1);const r=RA(t);let s;try{s=e(...n)}finally{RA(r),i._d&&pM(1)}return __VUE_PROD_DEVTOOLS__&&AA(t),s};return i._n=!0,i._c=!0,i._d=!0,i}function PA(e,t){if(null===MA)return e;const n=tk(MA),i=e.dirs||(e.dirs=[]);for(let e=0;ee.__isTeleport,VA=e=>e&&(e.disabled||""===e.disabled),zA=e=>e&&(e.defer||""===e.defer),jA=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,YA=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,GA=(e,t)=>{const n=e&&e.to;if(Zx(n)){if(t){return t(n)}return null}return n},HA={name:"Teleport",__isTeleport:!0,process(e,t,n,i,r,s,o,a,l,u){const{mc:c,pc:d,pbc:h,o:{insert:p,querySelector:f,createText:m,createComment:g}}=u,_=VA(t.props);let{shapeFlag:y,children:v,dynamicChildren:b}=t;if(null==e){const e=t.el=m(""),u=t.anchor=m("");p(e,n,i),p(u,n,i);const d=(e,t)=>{16&y&&(r&&r.isCE&&(r.ce._teleportTarget=e),c(v,e,t,r,s,o,a,l))},h=()=>{const e=t.target=GA(t.props,f),n=KA(e,t,m,p);e&&("svg"!==o&&jA(e)?o="svg":"mathml"!==o&&YA(e)&&(o="mathml"),_||(d(e,n),qA(t,!1)))};_&&(d(n,u),qA(t,!0)),zA(t.props)?vO(()=>{h(),t.el.__isMounted=!0},s):h()}else{if(zA(t.props)&&!e.el.__isMounted)return void vO(()=>{HA.process(e,t,n,i,r,s,o,a,l,u),delete e.el.__isMounted},s);t.el=e.el,t.targetStart=e.targetStart;const c=t.anchor=e.anchor,p=t.target=e.target,m=t.targetAnchor=e.targetAnchor,g=VA(e.props),y=g?n:p,v=g?c:m;if("svg"===o||jA(p)?o="svg":("mathml"===o||YA(p))&&(o="mathml"),b?(h(e.dynamicChildren,b,y,r,s,o,a),AO(e,t,!0)):l||d(e,t,y,v,r,s,o,a,!1),_)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):WA(t,n,c,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=GA(t.props,f);e&&WA(t,e,null,u,0)}else g&&WA(t,p,m,u,1);qA(t,_)}},remove(e,t,n,{um:i,o:{remove:r}},s){const{shapeFlag:o,children:a,anchor:l,targetStart:u,targetAnchor:c,target:d,props:h}=e;if(d&&(r(u),r(c)),s&&r(l),16&o){const e=s||!VA(h);for(let r=0;r{e.isMounted=!0}),JS(()=>{e.isUnmounting=!0}),e}const eS=[Function,Array],tS={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:eS,onEnter:eS,onAfterEnter:eS,onEnterCancelled:eS,onBeforeLeave:eS,onLeave:eS,onAfterLeave:eS,onLeaveCancelled:eS,onBeforeAppear:eS,onAppear:eS,onAfterAppear:eS,onAppearCancelled:eS},nS=e=>{const t=e.subTree;return t.component?nS(t.component):t};function iS(e){let t=e[0];if(e.length>1){let n=!1;for(const i of e)if(i.type!==sM){0,t=i,n=!0;break}}return t}const rS={name:"BaseTransition",props:tS,setup(e,{slots:t}){const n=$M(),i=JA();return()=>{const r=t.default&&cS(t.default(),!0);if(!r||!r.length)return;const s=iS(r),o=yI(e),{mode:a}=o;if(i.isLeaving)return aS(s);const l=lS(s);if(!l)return aS(s);let u=oS(l,o,i,n,e=>u=e);l.type!==sM&&uS(l,u);let c=n.subTree&&lS(n.subTree);if(c&&c.type!==sM&&!yM(l,c)&&nS(n).type!==sM){let e=oS(c,o,i,n);if(uS(c,e),"out-in"===a&&l.type!==sM)return i.isLeaving=!0,e.afterLeave=()=>{i.isLeaving=!1,8&n.job.flags||n.update(),delete e.afterLeave,c=void 0},aS(s);"in-out"===a&&l.type!==sM?e.delayLeave=(e,t,n)=>{sS(i,c)[String(c.key)]=c,e[ZA]=()=>{t(),e[ZA]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{n(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return s}}};function sS(e,t){const{leavingVNodes:n}=e;let i=n.get(t.type);return i||(i=Object.create(null),n.set(t.type,i)),i}function oS(e,t,n,i,r){const{appear:s,mode:o,persisted:a=!1,onBeforeEnter:l,onEnter:u,onAfterEnter:c,onEnterCancelled:d,onBeforeLeave:h,onLeave:p,onAfterLeave:f,onLeaveCancelled:m,onBeforeAppear:g,onAppear:_,onAfterAppear:y,onAppearCancelled:v}=t,b=String(e.key),T=sS(n,e),x=(e,t)=>{e&&iA(e,i,9,t)},E=(e,t)=>{const n=t[1];x(e,t),Hx(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},w={mode:o,persisted:a,beforeEnter(t){let i=l;if(!n.isMounted){if(!s)return;i=g||l}t[ZA]&&t[ZA](!0);const r=T[b];r&&yM(e,r)&&r.el[ZA]&&r.el[ZA](),x(i,[t])},enter(e){let t=u,i=c,r=d;if(!n.isMounted){if(!s)return;t=_||u,i=y||c,r=v||d}let o=!1;const a=e[QA]=t=>{o||(o=!0,x(t?r:i,[e]),w.delayedLeave&&w.delayedLeave(),e[QA]=void 0)};t?E(t,[e,a]):a()},leave(t,i){const r=String(e.key);if(t[QA]&&t[QA](!0),n.isUnmounting)return i();x(h,[t]);let s=!1;const o=t[ZA]=n=>{s||(s=!0,i(),x(n?m:f,[t]),t[ZA]=void 0,T[r]===e&&delete T[r])};T[r]=e,p?E(p,[t,o]):o()},clone(e){const s=oS(e,t,n,i,r);return r&&r(s),s}};return w}function aS(e){if(PS(e))return(e=AM(e)).children=null,e}function lS(e){if(!PS(e))return UA(e.type)&&e.children?iS(e.children):e;const{shapeFlag:t,children:n}=e;if(n){if(16&t)return n[0];if(32&t&&Kx(n.default))return n.default()}}function uS(e,t){6&e.shapeFlag&&e.component?(e.transition=t,uS(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function cS(e,t=!1,n){let i=[],r=0;for(let s=0;s1)for(let e=0;ezx({name:e.name},t,{setup:e}))():e}function hS(){const e=$M();return e?(e.appContext.config.idPrefix||"v")+"-"+e.ids[0]+e.ids[1]++:""}function pS(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function fS(e){const t=$M(),n=wI(null);if(t){const i=t.refs===Lx?t.refs={}:t.refs;Object.defineProperty(i,e,{enumerable:!0,get:()=>n.value,set:e=>n.value=e})}else 0;return n}function mS(e,t,n,i,r=!1){if(Hx(e))return void e.forEach((e,s)=>mS(e,t&&(Hx(t)?t[s]:t),n,i,r));if(DS(i)&&!r)return void(512&i.shapeFlag&&i.type.__asyncResolved&&i.component.subTree.component&&mS(e,t,n,i.component.subTree));const s=4&i.shapeFlag?tk(i.component):i.el,o=r?null:s,{i:a,r:l}=e;const u=t&&t.r,c=a.refs===Lx?a.refs={}:a.refs,d=a.setupState,h=yI(d),p=d===Lx?()=>!1:e=>Gx(h,e);if(null!=u&&u!==l&&(Zx(u)?(c[u]=null,p(u)&&(d[u]=null)):xI(u)&&(u.value=null)),Kx(l))nA(l,a,12,[o,c]);else{const t=Zx(l),i=xI(l);if(t||i){const a=()=>{if(e.f){const n=t?p(l)?d[l]:c[l]:l.value;r?Hx(n)&&jx(n,s):Hx(n)?n.includes(s)||n.push(s):t?(c[l]=[s],p(l)&&(d[l]=c[l])):(l.value=[s],e.k&&(c[e.k]=l.value))}else t?(c[l]=o,p(l)&&(d[l]=o)):i&&(l.value=o,e.k&&(c[e.k]=o))};o?(a.id=-1,vO(a,n)):a()}else 0}}let gS=!1;const _S=()=>{gS||(console.error("Hydration completed but contains mismatches."),gS=!0)},yS=e=>{if(1===e.nodeType)return(e=>e.namespaceURI.includes("svg")&&"foreignObject"!==e.tagName)(e)?"svg":(e=>e.namespaceURI.includes("MathML"))(e)?"mathml":void 0},vS=e=>8===e.nodeType;function bS(e){const{mt:t,p:n,o:{patchProp:i,createText:r,nextSibling:s,parentNode:o,remove:a,insert:l,createComment:u}}=e,c=(n,i,a,u,y,v=!1)=>{v=v||!!i.dynamicChildren;const b=vS(n)&&"["===n.data,T=()=>f(n,i,a,u,y,b),{type:x,ref:E,shapeFlag:w,patchFlag:I}=i;let A=n.nodeType;i.el=n,__VUE_PROD_DEVTOOLS__&&(_E(n,"__vnode",i,!0),_E(n,"__vueParentComponent",a,!0)),-2===I&&(v=!1,i.dynamicChildren=null);let S=null;switch(x){case rM:3!==A?""===i.children?(l(i.el=r(""),o(n),n),S=n):S=T():(n.data!==i.children&&(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&KI("Hydration text mismatch in",n.parentNode,`\n - rendered on server: ${JSON.stringify(n.data)}\n - expected on client: ${JSON.stringify(i.children)}`),_S(),n.data=i.children),S=s(n));break;case sM:_(n)?(S=s(n),g(i.el=n.content.firstChild,n,a)):S=8!==A||b?T():s(n);break;case oM:if(b&&(A=(n=s(n)).nodeType),1===A||3===A){S=n;const e=!i.children.length;for(let t=0;t{o=o||!!t.dynamicChildren;const{type:l,props:u,patchFlag:c,shapeFlag:d,dirs:p,transition:f}=t,m="input"===l||"option"===l;if(m||-1!==c){p&&BA(t,null,n,"created");let l,y=!1;if(_(e)){y=IO(null,f)&&n&&n.vnode.props&&n.vnode.props.appear;const i=e.content.firstChild;y&&f.beforeEnter(i),g(i,e,n),t.el=e=i}if(16&d&&(!u||!u.innerHTML&&!u.textContent)){let i=h(e.firstChild,t,e,n,r,s,o),l=!1;for(;i;){SS(e,1)||(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&!l&&(KI("Hydration children mismatch on",e,"\nServer rendered element contains more child nodes than client vdom."),l=!0),_S());const t=i;i=i.nextSibling,a(t)}}else if(8&d){let n=t.children;"\n"!==n[0]||"PRE"!==e.tagName&&"TEXTAREA"!==e.tagName||(n=n.slice(1)),e.textContent!==n&&(SS(e,0)||(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&KI("Hydration text content mismatch on",e,`\n - rendered on server: ${e.textContent}\n - expected on client: ${t.children}`),_S()),e.textContent=t.children)}if(u)if(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__||m||!o||48&c){const r=e.tagName.includes("-");for(const s in u)!__VUE_PROD_HYDRATION_MISMATCH_DETAILS__||p&&p.some(e=>e.dir.created)||!TS(e,s,u[s],t,n)||_S(),(m&&(s.endsWith("value")||"indeterminate"===s)||Ux(s)&&!oE(s)||"."===s[0]||r)&&i(e,s,null,u[s],void 0,n)}else if(u.onClick)i(e,"onClick",null,u.onClick,void 0,n);else if(4&c&&fI(u.style))for(const e in u.style)u.style[e];(l=u&&u.onVnodeBeforeMount)&&DM(l,n,t),p&&BA(t,null,n,"beforeMount"),((l=u&&u.onVnodeMounted)||p||y)&&tM(()=>{l&&DM(l,n,t),y&&f.enter(e),p&&BA(t,null,n,"mounted")},r)}return e.nextSibling},h=(e,t,i,o,a,u,d)=>{d=d||!!t.dynamicChildren;const h=t.children,p=h.length;let f=!1;for(let t=0;t{const{slotScopeIds:c}=t;c&&(r=r?r.concat(c):c);const d=o(e),p=h(s(e),t,d,n,i,r,a);return p&&vS(p)&&"]"===p.data?s(t.anchor=p):(_S(),l(t.anchor=u("]"),d,p),p)},f=(e,t,i,r,l,u)=>{if(SS(e.parentElement,1)||(__VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&KI("Hydration node mismatch:\n- rendered on server:",e,3===e.nodeType?"(text)":vS(e)&&"["===e.data?"(start of fragment)":"","\n- expected on client:",t.type),_S()),t.el=null,u){const t=m(e);for(;;){const n=s(e);if(!n||n===t)break;a(n)}}const c=s(e),d=o(e);return a(e),n(null,t,d,c,i,r,yS(d),l),i&&(i.vnode.el=t.el,XO(i,t.el)),c},m=(e,t="[",n="]")=>{let i=0;for(;e;)if((e=s(e))&&vS(e)&&(e.data===t&&i++,e.data===n)){if(0===i)return s(e);i--}return e},g=(e,t,n)=>{const i=t.parentNode;i&&i.replaceChild(e,t);let r=n;for(;r;)r.vnode.el===t&&(r.vnode.el=r.subTree.el=e),r=r.parent},_=e=>1===e.nodeType&&"TEMPLATE"===e.tagName;return[(e,t)=>{if(!t.hasChildNodes())return __VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&KI("Attempting to hydrate existing markup but container is empty. Performing full mount instead."),n(null,e,t),_A(),void(t._vnode=e);c(t.firstChild,e,null,null,null),_A(),t._vnode=e},c]}function TS(e,t,n,i,r){let s,o,a,l;if("class"===t)a=e.getAttribute("class"),l=CE(n),function(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}(xS(a||""),xS(l))||(s=2,o="class");else if("style"===t){a=e.getAttribute("style")||"",l=Zx(n)?n:function(e){if(!e)return"";if(Zx(e))return e;let t="";for(const n in e){const i=e[n];(Zx(i)||"number"==typeof i)&&(t+=`${n.startsWith("--")?n:hE(n)}:${i};`)}return t}(EE(n));const t=ES(a),u=ES(l);if(i.dirs)for(const{dir:e,value:t}of i.dirs)"show"!==e.name||t||u.set("display","none");r&&wS(r,i,u),function(e,t){if(e.size!==t.size)return!1;for(const[n,i]of e)if(i!==t.get(n))return!1;return!0}(t,u)||(s=3,o="style")}else(e instanceof SVGElement&&$E(t)||e instanceof HTMLElement&&(LE(t)||BE(t)))&&(LE(t)?(a=e.hasAttribute(t),l=PE(n)):null==n?(a=e.hasAttribute(t),l=!1):(a=e.hasAttribute(t)?e.getAttribute(t):"value"===t&&"TEXTAREA"===e.tagName&&e.value,l=!!function(e){if(null==e)return!1;const t=typeof e;return"string"===t||"number"===t||"boolean"===t}(n)&&String(n)),a!==l&&(s=4,o=t));if(null!=s&&!SS(e,s)){const t=e=>!1===e?"(not rendered)":`${o}="${e}"`;return KI(`Hydration ${AS[s]} mismatch on`,e,`\n - rendered on server: ${t(a)}\n - expected on client: ${t(l)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`),!0}return!1}function xS(e){return new Set(e.trim().split(/\s+/))}function ES(e){const t=new Map;for(const n of e.split(";")){let[e,i]=n.split(":");e=e.trim(),i=i&&i.trim(),e&&i&&t.set(e,i)}return t}function wS(e,t,n){const i=e.subTree;if(e.getCssVars&&(t===i||i&&i.type===iM&&i.children.includes(t))){const t=e.getCssVars();for(const e in t)n.set(`--${VE(e,!1)}`,String(t[e]))}t===i&&e.parent&&wS(e.parent,e.vnode,n)}const IS="data-allow-mismatch",AS={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function SS(e,t){if(0===t||1===t)for(;e&&!e.hasAttribute(IS);)e=e.parentElement;const n=e&&e.getAttribute(IS);if(null==n)return!1;if(""===n)return!0;{const e=n.split(",");return!(0!==t||!e.includes("children"))||n.split(",").includes(AS[t])}}const CS=TE().requestIdleCallback||(e=>setTimeout(e,1)),OS=TE().cancelIdleCallback||(e=>clearTimeout(e)),MS=(e=1e4)=>t=>{const n=CS(t,{timeout:e});return()=>OS(n)};const kS=e=>(t,n)=>{const i=new IntersectionObserver(e=>{for(const n of e)if(n.isIntersecting){i.disconnect(),t();break}},e);return n(e=>{if(e instanceof Element)return function(e){const{top:t,left:n,bottom:i,right:r}=e.getBoundingClientRect(),{innerHeight:s,innerWidth:o}=window;return(t>0&&t0&&i0&&n0&&ri.disconnect()},RS=e=>t=>{if(e){const n=matchMedia(e);if(!n.matches)return n.addEventListener("change",t,{once:!0}),()=>n.removeEventListener("change",t);t()}},NS=(e=[])=>(t,n)=>{Zx(e)&&(e=[e]);let i=!1;const r=e=>{i||(i=!0,s(),t(),e.target.dispatchEvent(new e.constructor(e.type,e)))},s=()=>{n(t=>{for(const n of e)t.removeEventListener(n,r)})};return n(t=>{for(const n of e)t.addEventListener(n,r,{once:!0})}),s};const DS=e=>!!e.type.__asyncLoader; +/*! #__NO_SIDE_EFFECTS__ */function FS(e){Kx(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:i,delay:r=200,hydrate:s,timeout:o,suspensible:a=!0,onError:l}=e;let u,c=null,d=0;const h=()=>{let e;return c||(e=c=t().catch(e=>{if(e=e instanceof Error?e:new Error(String(e)),l)return new Promise((t,n)=>{l(e,()=>t((d++,c=null,h())),()=>n(e),d+1)});throw e}).then(t=>e!==c&&c?c:(t&&(t.__esModule||"Module"===t[Symbol.toStringTag])&&(t=t.default),u=t,t)))};return dS({name:"AsyncComponentWrapper",__asyncLoader:h,__asyncHydrate(e,t,n){const i=s?()=>{const i=s(n,t=>function(e,t){if(vS(e)&&"["===e.data){let n=1,i=e.nextSibling;for(;i;){if(1===i.nodeType){if(!1===t(i))break}else if(vS(i))if("]"===i.data){if(0===--n)break}else"["===i.data&&n++;i=i.nextSibling}}else t(e)}(e,t));i&&(t.bum||(t.bum=[])).push(i)}:n;u?i():h().then(()=>!t.isUnmounted&&i())},get __asyncResolved(){return u},setup(){const e=BM;if(pS(e),u)return()=>LS(u,e);const t=t=>{c=null,rA(t,e,13,!i)};if(a&&e.suspense||WM)return h().then(t=>()=>LS(t,e)).catch(e=>(t(e),()=>i?EM(i,{error:e}):null));const s=EI(!1),l=EI(),d=EI(!!r);return r&&setTimeout(()=>{d.value=!1},r),null!=o&&setTimeout(()=>{if(!s.value&&!l.value){const e=new Error(`Async component timed out after ${o}ms.`);t(e),l.value=e}},o),h().then(()=>{s.value=!0,e.parent&&PS(e.parent.vnode)&&e.parent.update()}).catch(e=>{t(e),l.value=e}),()=>s.value&&u?LS(u,e):l.value&&i?EM(i,{error:l.value}):n&&!d.value?EM(n):void 0}})}function LS(e,t){const{ref:n,props:i,children:r,ce:s}=t.vnode,o=EM(e,i,r);return o.ref=n,o.ce=s,delete t.vnode.ce,o}const PS=e=>e.type.__isKeepAlive,BS={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=$M(),i=n.ctx;if(!i.renderer)return()=>{const e=t.default&&t.default();return e&&1===e.length?e[0]:e};const r=new Map,s=new Set;let o=null;__VUE_PROD_DEVTOOLS__&&(n.__v_cache=r);const a=n.suspense,{renderer:{p:l,m:u,um:c,o:{createElement:d}}}=i,h=d("div");function p(e){GS(e),c(e,n,a,!0)}function f(e){r.forEach((t,n)=>{const i=rk(t.type);i&&!e(i)&&m(n)})}function m(e){const t=r.get(e);!t||o&&yM(t,o)?o&&GS(o):p(t),r.delete(e),s.delete(e)}i.activate=(e,t,n,i,r)=>{const s=e.component;u(e,t,n,0,a),l(s.vnode,e,t,n,s,a,i,e.slotScopeIds,r),vO(()=>{s.isDeactivated=!1,s.a&&gE(s.a);const t=e.props&&e.props.onVnodeMounted;t&&DM(t,s.parent,e)},a),__VUE_PROD_DEVTOOLS__&&IA(s)},i.deactivate=e=>{const t=e.component;CO(t.m),CO(t.a),u(e,h,null,1,a),vO(()=>{t.da&&gE(t.da);const n=e.props&&e.props.onVnodeUnmounted;n&&DM(n,t.parent,e),t.isDeactivated=!0},a),__VUE_PROD_DEVTOOLS__&&IA(t)},DO(()=>[e.include,e.exclude],([e,t])=>{e&&f(t=>US(e,t)),t&&f(e=>!US(t,e))},{flush:"post",deep:!0});let g=null;const _=()=>{null!=g&&(qO(n.subTree.type)?vO(()=>{r.set(g,HS(n.subTree))},n.subTree.suspense):r.set(g,HS(n.subTree)))};return KS(_),QS(_),JS(()=>{r.forEach(e=>{const{subTree:t,suspense:i}=n,r=HS(t);if(e.type===r.type&&e.key===r.key){GS(r);const e=r.component.da;return void(e&&vO(e,i))}p(e)})}),()=>{if(g=null,!t.default)return o=null;const n=t.default(),i=n[0];if(n.length>1)return o=null,n;if(!(_M(i)&&(4&i.shapeFlag||128&i.shapeFlag)))return o=null,i;let a=HS(i);if(a.type===sM)return o=null,a;const l=a.type,u=rk(DS(a)?a.type.__asyncResolved||{}:l),{include:c,exclude:d,max:h}=e;if(c&&(!u||!US(c,u))||d&&u&&US(d,u))return a.shapeFlag&=-257,o=a,i;const p=null==a.key?l:a.key,f=r.get(p);return a.el&&(a=AM(a),128&i.shapeFlag&&(i.ssContent=a)),g=p,f?(a.el=f.el,a.component=f.component,a.transition&&uS(a,a.transition),a.shapeFlag|=512,s.delete(p),s.add(p)):(s.add(p),h&&s.size>parseInt(h,10)&&m(s.values().next().value)),a.shapeFlag|=256,o=a,qO(i.type)?i:a}}},$S=BS;function US(e,t){return Hx(e)?e.some(e=>US(e,t)):Zx(e)?e.split(",").includes(t):"[object RegExp]"===nE(e)&&(e.lastIndex=0,e.test(t))}function VS(e,t){jS(e,"a",t)}function zS(e,t){jS(e,"da",t)}function jS(e,t,n=BM){const i=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(WS(t,i,n),n){let e=n.parent;for(;e&&e.parent;)PS(e.parent.vnode)&&YS(i,t,n,e),e=e.parent}}function YS(e,t,n,i){const r=WS(t,e,i,!0);eC(()=>{jx(i[t],r)},n)}function GS(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function HS(e){return 128&e.shapeFlag?e.ssContent:e}function WS(e,t,n=BM,i=!1){if(n){const r=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{yw();const r=zM(n),s=iA(t,n,e,i);return r(),vw(),s});return i?r.unshift(s):r.push(s),s}}const XS=e=>(t,n=BM)=>{WM&&"sp"!==e||WS(e,(...e)=>t(...e),n)},qS=XS("bm"),KS=XS("m"),ZS=XS("bu"),QS=XS("u"),JS=XS("bum"),eC=XS("um"),tC=XS("sp"),nC=XS("rtg"),iC=XS("rtc");function rC(e,t=BM){WS("ec",e,t)}const sC="components",oC="directives";function aC(e,t){return dC(sC,e,!0,t)||e}const lC=Symbol.for("v-ndc");function uC(e){return Zx(e)?dC(sC,e,!1)||e:e||lC}function cC(e){return dC(oC,e)}function dC(e,t,n=!0,i=!1){const r=MA||BM;if(r){const n=r.type;if(e===sC){const e=rk(n,!1);if(e&&(e===t||e===cE(t)||e===pE(cE(t))))return n}const s=hC(r[e]||n[e],t)||hC(r.appContext[e],t);return!s&&i?n:s}}function hC(e,t){return e&&(e[t]||e[cE(t)]||e[pE(cE(t))])}function pC(e,t,n,i){let r;const s=n&&n[i],o=Hx(e);if(o||Zx(e)){let n=!1;o&&fI(e)&&(n=!gI(e),e=Rw(e)),r=new Array(e.length);for(let i=0,o=e.length;it(e,n,void 0,s&&s[n]));else{const n=Object.keys(e);r=new Array(n.length);for(let i=0,o=n.length;i{const t=i.fn(...e);return t&&(t.key=i.key),t}:i.fn)}return e}function mC(e,t,n={},i,r){if(MA.ce||MA.parent&&DS(MA.parent)&&MA.parent.ce)return"default"!==t&&(n.name=t),uM(),gM(iM,null,[EM("slot",n,i&&i())],64);let s=e[t];s&&s._c&&(s._d=!1),uM();const o=s&&gC(s(n)),a=n.key||o&&o.key,l=gM(iM,{key:(a&&!Qx(a)?a:`_${t}`)+(!o&&i?"_fb":"")},o||(i?i():[]),o&&1===e._?64:-2);return!r&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),s&&s._c&&(s._d=!0),l}function gC(e){return e.some(e=>!_M(e)||e.type!==sM&&!(e.type===iM&&!gC(e.children)))?e:null}function _C(e,t){const n={};for(const i in e)n[t&&/[A-Z]/.test(i)?`on:${i}`:fE(i)]=e[i];return n}const yC=e=>e?YM(e)?tk(e):yC(e.parent):null,vC=zx(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>yC(e.parent),$root:e=>yC(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>__VUE_OPTIONS_API__?zC(e):e.type,$forceUpdate:e=>e.f||(e.f=()=>{pA(e.update)}),$nextTick:e=>e.n||(e.n=hA.bind(e.proxy)),$watch:e=>__VUE_OPTIONS_API__?LO.bind(e):Bx}),bC=(e,t)=>e!==Lx&&!e.__isScriptSetup&&Gx(e,t),TC={get({_:e},t){if("__v_skip"===t)return!0;const{ctx:n,setupState:i,data:r,props:s,accessCache:o,type:a,appContext:l}=e;let u;if("$"!==t[0]){const a=o[t];if(void 0!==a)switch(a){case 1:return i[t];case 2:return r[t];case 4:return n[t];case 3:return s[t]}else{if(bC(i,t))return o[t]=1,i[t];if(r!==Lx&&Gx(r,t))return o[t]=2,r[t];if((u=e.propsOptions[0])&&Gx(u,t))return o[t]=3,s[t];if(n!==Lx&&Gx(n,t))return o[t]=4,n[t];__VUE_OPTIONS_API__&&!BC||(o[t]=0)}}const c=vC[t];let d,h;return c?("$attrs"===t&&Ow(e.attrs,0,""),c(e)):(d=a.__cssModules)&&(d=d[t])?d:n!==Lx&&Gx(n,t)?(o[t]=4,n[t]):(h=l.config.globalProperties,Gx(h,t)?h[t]:void 0)},set({_:e},t,n){const{data:i,setupState:r,ctx:s}=e;return bC(r,t)?(r[t]=n,!0):i!==Lx&&Gx(i,t)?(i[t]=n,!0):!Gx(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(s[t]=n,!0))},has({_:{data:e,setupState:t,accessCache:n,ctx:i,appContext:r,propsOptions:s}},o){let a;return!!n[o]||e!==Lx&&Gx(e,o)||bC(t,o)||(a=s[0])&&Gx(a,o)||Gx(i,o)||Gx(vC,o)||Gx(r.config.globalProperties,o)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:Gx(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};const xC=zx({},TC,{get(e,t){if(t!==Symbol.unscopables)return TC.get(e,t,e)},has:(e,t)=>"_"!==t[0]&&!xE(t)});function EC(){return null}function wC(){return null}function IC(e){0}function AC(e){0}function SC(){return null}function CC(){0}function OC(e,t){return null}function MC(){return RC().slots}function kC(){return RC().attrs}function RC(){const e=$M();return e.setupContext||(e.setupContext=ek(e))}function NC(e){return Hx(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function DC(e,t){const n=NC(e);for(const e in t){if(e.startsWith("__skip"))continue;let i=n[e];i?Hx(i)||Kx(i)?i=n[e]={type:i,default:t[e]}:i.default=t[e]:null===i&&(i=n[e]={default:t[e]}),i&&t[`__skip_${e}`]&&(i.skipFactory=!0)}return n}function FC(e,t){return e&&t?Hx(e)&&Hx(t)?e.concat(t):zx({},NC(e),NC(t)):e||t}function LC(e,t){const n={};for(const i in e)t.includes(i)||Object.defineProperty(n,i,{enumerable:!0,get:()=>e[i]});return n}function PC(e){const t=$M();let n=e();return jM(),eE(n)&&(n=n.catch(e=>{throw zM(t),e})),[n,()=>zM(t)]}let BC=!0;function $C(e){const t=zC(e),n=e.proxy,i=e.ctx;BC=!1,t.beforeCreate&&UC(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:o,watch:a,provide:l,inject:u,created:c,beforeMount:d,mounted:h,beforeUpdate:p,updated:f,activated:m,deactivated:g,beforeDestroy:_,beforeUnmount:y,destroyed:v,unmounted:b,render:T,renderTracked:x,renderTriggered:E,errorCaptured:w,serverPrefetch:I,expose:A,inheritAttrs:S,components:C,directives:O,filters:M}=t;if(u&&function(e,t){Hx(e)&&(e=HC(e));for(const n in e){const i=e[n];let r;r=Jx(i)?"default"in i?tO(i.from||n,i.default,!0):tO(i.from||n):tO(i),xI(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:e=>r.value=e}):t[n]=r}}(u,i,null),o)for(const e in o){const t=o[e];Kx(t)&&(i[e]=t.bind(n))}if(r){0;const t=r.call(n,n);0,Jx(t)&&(e.data=uI(t))}if(BC=!0,s)for(const e in s){const t=s[e],r=Kx(t)?t.bind(n,n):Kx(t.get)?t.get.bind(n,n):Bx;0;const o=!Kx(t)&&Kx(t.set)?t.set.bind(n):Bx,a=ak({get:r,set:o});Object.defineProperty(i,e,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(a)for(const e in a)VC(a[e],i,n,e);if(l){const e=Kx(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{eO(t,e[t])})}function k(e,t){Hx(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(c&&UC(c,e,"c"),k(qS,d),k(KS,h),k(ZS,p),k(QS,f),k(VS,m),k(zS,g),k(rC,w),k(iC,x),k(nC,E),k(JS,y),k(eC,b),k(tC,I),Hx(A))if(A.length){const t=e.exposed||(e.exposed={});A.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})})}else e.exposed||(e.exposed={});T&&e.render===Bx&&(e.render=T),null!=S&&(e.inheritAttrs=S),C&&(e.components=C),O&&(e.directives=O),I&&pS(e)}function UC(e,t,n){iA(Hx(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function VC(e,t,n,i){let r=i.includes(".")?PO(n,i):()=>n[i];if(Zx(e)){const n=t[e];Kx(n)&&DO(r,n)}else if(Kx(e))DO(r,e.bind(n));else if(Jx(e))if(Hx(e))e.forEach(e=>VC(e,t,n,i));else{const i=Kx(e.handler)?e.handler.bind(n):t[e.handler];Kx(i)&&DO(r,i,e)}else 0}function zC(e){const t=e.type,{mixins:n,extends:i}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:o}}=e.appContext,a=s.get(t);let l;return a?l=a:r.length||n||i?(l={},r.length&&r.forEach(e=>jC(l,e,o,!0)),jC(l,t,o)):l=t,Jx(t)&&s.set(t,l),l}function jC(e,t,n,i=!1){const{mixins:r,extends:s}=t;s&&jC(e,s,n,!0),r&&r.forEach(t=>jC(e,t,n,!0));for(const r in t)if(i&&"expose"===r);else{const i=YC[r]||n&&n[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const YC={data:GC,props:qC,emits:qC,methods:XC,computed:XC,beforeCreate:WC,created:WC,beforeMount:WC,mounted:WC,beforeUpdate:WC,updated:WC,beforeDestroy:WC,beforeUnmount:WC,destroyed:WC,unmounted:WC,activated:WC,deactivated:WC,errorCaptured:WC,serverPrefetch:WC,components:XC,directives:XC,watch:function(e,t){if(!e)return t;if(!t)return e;const n=zx(Object.create(null),e);for(const i in t)n[i]=WC(e[i],t[i]);return n},provide:GC,inject:function(e,t){return XC(HC(e),HC(t))}};function GC(e,t){return t?e?function(){return zx(Kx(e)?e.call(this,this):e,Kx(t)?t.call(this,this):t)}:t:e}function HC(e){if(Hx(e)){const t={};for(let n=0;n(s.has(e)||(e&&Kx(e.install)?(s.add(e),e.install(l,...t)):Kx(e)&&(s.add(e),e(l,...t))),l),mixin:e=>(__VUE_OPTIONS_API__&&(r.mixins.includes(e)||r.mixins.push(e)),l),component:(e,t)=>t?(r.components[e]=t,l):r.components[e],directive:(e,t)=>t?(r.directives[e]=t,l):r.directives[e],mount(s,o,u){if(!a){0;const c=l._ceVNode||EM(n,i);return c.appContext=r,!0===u?u="svg":!1===u&&(u=void 0),o&&t?t(c,s):e(c,s,u),a=!0,l._container=s,s.__vue_app__=l,__VUE_PROD_DEVTOOLS__&&(l._instance=c.component,function(e,t){EA("app:init",e,t,{Fragment:iM,Text:rM,Comment:sM,Static:oM})}(l,hk)),tk(c.component)}},onUnmount(e){o.push(e)},unmount(){a&&(iA(o,l._instance,16),e(null,l._container),__VUE_PROD_DEVTOOLS__&&(l._instance=null,function(e){EA("app:unmount",e)}(l)),delete l._container.__vue_app__)},provide:(e,t)=>(r.provides[e]=t,l),runWithContext(e){const t=JC;JC=l;try{return e()}finally{JC=t}}};return l}}let JC=null;function eO(e,t){if(BM){let n=BM.provides;const i=BM.parent&&BM.parent.provides;i===n&&(n=BM.provides=Object.create(i)),n[e]=t}else 0}function tO(e,t,n=!1){const i=BM||MA;if(i||JC){const r=JC?JC._context.provides:i?null==i.parent?i.vnode.appContext&&i.vnode.appContext.provides:i.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&Kx(t)?t.call(i&&i.proxy):t}else 0}function nO(){return!!(BM||MA||JC)}const iO={},rO=()=>Object.create(iO),sO=e=>Object.getPrototypeOf(e)===iO;function oO(e,t,n,i){const[r,s]=e.propsOptions;let o,a=!1;if(t)for(let l in t){if(oE(l))continue;const u=t[l];let c;r&&Gx(r,c=cE(l))?s&&s.includes(c)?(o||(o={}))[c]=u:n[c]=u:zO(e.emitsOptions,l)||l in i&&u===i[l]||(i[l]=u,a=!0)}if(s){const t=yI(n),i=o||Lx;for(let o=0;o{l=!0;const[n,i]=uO(e,t,!0);zx(o,n),i&&a.push(...i)};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}if(!s&&!l)return Jx(e)&&i.set(e,Px),Px;if(Hx(s))for(let e=0;e"_"===e[0]||"$stable"===e,hO=e=>Hx(e)?e.map(MM):[MM(e)],pO=(e,t,n)=>{if(t._n)return t;const i=LA((...e)=>hO(t(...e)),n);return i._c=!1,i},fO=(e,t,n)=>{const i=e._ctx;for(const n in e){if(dO(n))continue;const r=e[n];if(Kx(r))t[n]=pO(0,r,i);else if(null!=r){0;const e=hO(r);t[n]=()=>e}}},mO=(e,t)=>{const n=hO(t);e.slots.default=()=>n},gO=(e,t,n)=>{for(const i in t)(n||"_"!==i)&&(e[i]=t[i])},_O=(e,t,n)=>{const i=e.slots=rO();if(32&e.vnode.shapeFlag){const e=t._;e?(gO(i,t,n),n&&_E(i,"_",e,!0)):fO(t,i)}else t&&mO(e,t)},yO=(e,t,n)=>{const{vnode:i,slots:r}=e;let s=!0,o=Lx;if(32&i.shapeFlag){const e=t._;e?n&&1===e?s=!1:gO(r,t,n):(s=!t.$stable,fO(t,r)),o=t}else t&&(mO(e,t),o={default:1});if(s)for(const e in r)dO(e)||null!=o[e]||delete r[e]};const vO=tM;function bO(e){return xO(e)}function TO(e){return xO(e,bS)}function xO(e,t){"boolean"!=typeof __VUE_OPTIONS_API__&&(TE().__VUE_OPTIONS_API__=!0),"boolean"!=typeof __VUE_PROD_DEVTOOLS__&&(TE().__VUE_PROD_DEVTOOLS__=!1),"boolean"!=typeof __VUE_PROD_HYDRATION_MISMATCH_DETAILS__&&(TE().__VUE_PROD_HYDRATION_MISMATCH_DETAILS__=!1);const n=TE();n.__VUE__=!0,__VUE_PROD_DEVTOOLS__&&wA(n.__VUE_DEVTOOLS_GLOBAL_HOOK__,n);const{insert:i,remove:r,patchProp:s,createElement:o,createText:a,createComment:l,setText:u,setElementText:c,parentNode:d,nextSibling:h,setScopeId:p=Bx,insertStaticContent:f}=e,m=(e,t,n,i=null,r=null,s=null,o=void 0,a=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!yM(e,t)&&(i=z(e),P(e,r,s,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:u,ref:c,shapeFlag:d}=t;switch(u){case rM:g(e,t,n,i);break;case sM:_(e,t,n,i);break;case oM:null==e&&y(t,n,i,o);break;case iM:S(e,t,n,i,r,s,o,a,l);break;default:1&d?b(e,t,n,i,r,s,o,a,l):6&d?C(e,t,n,i,r,s,o,a,l):(64&d||128&d)&&u.process(e,t,n,i,r,s,o,a,l,G)}null!=c&&r&&mS(c,e&&e.ref,s,t||e,!t)},g=(e,t,n,r)=>{if(null==e)i(t.el=a(t.children),n,r);else{const n=t.el=e.el;t.children!==e.children&&u(n,t.children)}},_=(e,t,n,r)=>{null==e?i(t.el=l(t.children||""),n,r):t.el=e.el},y=(e,t,n,i)=>{[e.el,e.anchor]=f(e.children,t,n,i,e.el,e.anchor)},v=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),r(e),e=n;r(t)},b=(e,t,n,i,r,s,o,a,l)=>{"svg"===t.type?o="svg":"math"===t.type&&(o="mathml"),null==e?T(t,n,i,r,s,o,a,l):w(e,t,r,s,o,a,l)},T=(e,t,n,r,a,l,u,d)=>{let h,p;const{props:f,shapeFlag:m,transition:g,dirs:_}=e;if(h=e.el=o(e.type,l,f&&f.is,f),8&m?c(h,e.children):16&m&&E(e.children,h,null,r,a,EO(e,l),u,d),_&&BA(e,null,r,"created"),x(h,e,e.scopeId,u,r),f){for(const e in f)"value"===e||oE(e)||s(h,e,null,f[e],l,r);"value"in f&&s(h,"value",null,f.value,l),(p=f.onVnodeBeforeMount)&&DM(p,r,e)}__VUE_PROD_DEVTOOLS__&&(_E(h,"__vnode",e,!0),_E(h,"__vueParentComponent",r,!0)),_&&BA(e,null,r,"beforeMount");const y=IO(a,g);y&&g.beforeEnter(h),i(h,t,n),((p=f&&f.onVnodeMounted)||y||_)&&vO(()=>{p&&DM(p,r,e),y&&g.enter(h),_&&BA(e,null,r,"mounted")},a)},x=(e,t,n,i,r)=>{if(n&&p(e,n),i)for(let t=0;t{for(let u=l;u{const l=t.el=e.el;__VUE_PROD_DEVTOOLS__&&(l.__vnode=t);let{patchFlag:u,dynamicChildren:d,dirs:h}=t;u|=16&e.patchFlag;const p=e.props||Lx,f=t.props||Lx;let m;if(n&&wO(n,!1),(m=f.onVnodeBeforeUpdate)&&DM(m,n,t,e),h&&BA(t,e,n,"beforeUpdate"),n&&wO(n,!0),(p.innerHTML&&null==f.innerHTML||p.textContent&&null==f.textContent)&&c(l,""),d?I(e.dynamicChildren,d,l,n,i,EO(t,r),o):a||N(e,t,l,null,n,i,EO(t,r),o,!1),u>0){if(16&u)A(l,p,f,n,r);else if(2&u&&p.class!==f.class&&s(l,"class",null,f.class,r),4&u&&s(l,"style",p.style,f.style,r),8&u){const e=t.dynamicProps;for(let t=0;t{m&&DM(m,n,t,e),h&&BA(t,e,n,"updated")},i)},I=(e,t,n,i,r,s,o)=>{for(let a=0;a{if(t!==n){if(t!==Lx)for(const o in t)oE(o)||o in n||s(e,o,t[o],null,r,i);for(const o in n){if(oE(o))continue;const a=n[o],l=t[o];a!==l&&"value"!==o&&s(e,o,l,a,r,i)}"value"in n&&s(e,"value",t.value,n.value,r)}},S=(e,t,n,r,s,o,l,u,c)=>{const d=t.el=e?e.el:a(""),h=t.anchor=e?e.anchor:a("");let{patchFlag:p,dynamicChildren:f,slotScopeIds:m}=t;m&&(u=u?u.concat(m):m),null==e?(i(d,n,r),i(h,n,r),E(t.children||[],n,h,s,o,l,u,c)):p>0&&64&p&&f&&e.dynamicChildren?(I(e.dynamicChildren,f,n,s,o,l,u),(null!=t.key||s&&t===s.subTree)&&AO(e,t,!0)):N(e,t,n,h,s,o,l,u,c)},C=(e,t,n,i,r,s,o,a,l)=>{t.slotScopeIds=a,null==e?512&t.shapeFlag?r.ctx.activate(t,n,i,o,l):O(t,n,i,r,s,o,l):M(e,t,l)},O=(e,t,n,i,r,s,o)=>{const a=e.component=PM(e,i,r);if(PS(e)&&(a.ctx.renderer=G),XM(a,!1,o),a.asyncDep){if(r&&r.registerDep(a,k,o),!e.el){const e=a.subTree=EM(sM);_(null,e,t,n)}}else k(a,e,t,n,r,s,o)},M=(e,t,n)=>{const i=t.component=e.component;if(function(e,t,n){const{props:i,children:r,component:s}=e,{props:o,children:a,patchFlag:l}=t,u=s.emitsOptions;0;if(t.dirs||t.transition)return!0;if(!(n&&l>=0))return!(!r&&!a||a&&a.$stable)||i!==o&&(i?!o||WO(i,o,u):!!o);if(1024&l)return!0;if(16&l)return i?WO(i,o,u):!!o;if(8&l){const e=t.dynamicProps;for(let t=0;t{const a=()=>{if(e.isMounted){let{next:t,bu:n,u:i,parent:l,vnode:u}=e;{const n=SO(e);if(n)return t&&(t.el=u.el,R(e,t,o)),void n.asyncDep.then(()=>{e.isUnmounted||a()})}let c,h=t;0,wO(e,!1),t?(t.el=u.el,R(e,t,o)):t=u,n&&gE(n),(c=t.props&&t.props.onVnodeBeforeUpdate)&&DM(c,l,t,u),wO(e,!0);const p=jO(e);0;const f=e.subTree;e.subTree=p,m(f,p,d(f.el),z(f),e,r,s),t.el=p.el,null===h&&XO(e,p.el),i&&vO(i,r),(c=t.props&&t.props.onVnodeUpdated)&&vO(()=>DM(c,l,t,u),r),__VUE_PROD_DEVTOOLS__&&AA(e)}else{let o;const{el:a,props:l}=t,{bm:u,m:c,parent:d,root:h,type:p}=e,f=DS(t);if(wO(e,!1),u&&gE(u),!f&&(o=l&&l.onVnodeBeforeMount)&&DM(o,d,t),wO(e,!0),a&&W){const t=()=>{e.subTree=jO(e),W(a,e.subTree,e,r,null)};f&&p.__asyncHydrate?p.__asyncHydrate(a,e,t):t()}else{h.ce&&h.ce._injectChildStyle(p);const o=e.subTree=jO(e);0,m(null,o,n,i,e,r,s),t.el=o.el}if(c&&vO(c,r),!f&&(o=l&&l.onVnodeMounted)){const e=t;vO(()=>DM(o,d,e),r)}(256&t.shapeFlag||d&&DS(d.vnode)&&256&d.vnode.shapeFlag)&&e.a&&vO(e.a,r),e.isMounted=!0,__VUE_PROD_DEVTOOLS__&&IA(e),t=n=i=null}};e.scope.on();const l=e.effect=new tw(a);e.scope.off();const u=e.update=l.run.bind(l),c=e.job=l.runIfDirty.bind(l);c.i=e,c.id=e.uid,l.scheduler=()=>pA(c),wO(e,!0),u()},R=(e,t,n)=>{t.component=e;const i=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,i){const{props:r,attrs:s,vnode:{patchFlag:o}}=e,a=yI(r),[l]=e.propsOptions;let u=!1;if(!(i||o>0)||16&o){let i;oO(e,t,r,s)&&(u=!0);for(const s in a)t&&(Gx(t,s)||(i=hE(s))!==s&&Gx(t,i))||(l?!n||void 0===n[s]&&void 0===n[i]||(r[s]=aO(l,a,s,void 0,e,!0)):delete r[s]);if(s!==a)for(const e in s)t&&Gx(t,e)||(delete s[e],u=!0)}else if(8&o){const n=e.vnode.dynamicProps;for(let i=0;i{const u=e&&e.children,d=e?e.shapeFlag:0,h=t.children,{patchFlag:p,shapeFlag:f}=t;if(p>0){if(128&p)return void F(u,h,n,i,r,s,o,a,l);if(256&p)return void D(u,h,n,i,r,s,o,a,l)}8&f?(16&d&&V(u,r,s),h!==u&&c(n,h)):16&d?16&f?F(u,h,n,i,r,s,o,a,l):V(u,r,s,!0):(8&d&&c(n,""),16&f&&E(h,n,i,r,s,o,a,l))},D=(e,t,n,i,r,s,o,a,l)=>{t=t||Px;const u=(e=e||Px).length,c=t.length,d=Math.min(u,c);let h;for(h=0;hc?V(e,r,s,!0,!1,d):E(t,n,i,r,s,o,a,l,d)},F=(e,t,n,i,r,s,o,a,l)=>{let u=0;const c=t.length;let d=e.length-1,h=c-1;for(;u<=d&&u<=h;){const i=e[u],c=t[u]=l?kM(t[u]):MM(t[u]);if(!yM(i,c))break;m(i,c,n,null,r,s,o,a,l),u++}for(;u<=d&&u<=h;){const i=e[d],u=t[h]=l?kM(t[h]):MM(t[h]);if(!yM(i,u))break;m(i,u,n,null,r,s,o,a,l),d--,h--}if(u>d){if(u<=h){const e=h+1,d=eh)for(;u<=d;)P(e[u],r,s,!0),u++;else{const p=u,f=u,g=new Map;for(u=f;u<=h;u++){const e=t[u]=l?kM(t[u]):MM(t[u]);null!=e.key&&g.set(e.key,u)}let _,y=0;const v=h-f+1;let b=!1,T=0;const x=new Array(v);for(u=0;u=v){P(i,r,s,!0);continue}let c;if(null!=i.key)c=g.get(i.key);else for(_=f;_<=h;_++)if(0===x[_-f]&&yM(i,t[_])){c=_;break}void 0===c?P(i,r,s,!0):(x[c-f]=u+1,c>=T?T=c:b=!0,m(i,t[c],n,null,r,s,o,a,l),y++)}const E=b?function(e){const t=e.slice(),n=[0];let i,r,s,o,a;const l=e.length;for(i=0;i>1,e[n[a]]0&&(t[i]=n[s-1]),n[s]=i)}}s=n.length,o=n[s-1];for(;s-- >0;)n[s]=o,o=t[o];return n}(x):Px;for(_=E.length-1,u=v-1;u>=0;u--){const e=f+u,d=t[e],h=e+1{const{el:o,type:a,transition:l,children:u,shapeFlag:c}=e;if(6&c)return void L(e.component.subTree,t,n,r);if(128&c)return void e.suspense.move(t,n,r);if(64&c)return void a.move(e,t,n,G);if(a===iM){i(o,t,n);for(let e=0;e{let s;for(;e&&e!==t;)s=h(e),i(e,n,r),e=s;i(t,n,r)})(e,t,n);if(2!==r&&1&c&&l)if(0===r)l.beforeEnter(o),i(o,t,n),vO(()=>l.enter(o),s);else{const{leave:e,delayLeave:r,afterLeave:s}=l,a=()=>i(o,t,n),u=()=>{e(o,()=>{a(),s&&s()})};r?r(o,a,u):u()}else i(o,t,n)},P=(e,t,n,i=!1,r=!1)=>{const{type:s,props:o,ref:a,children:l,dynamicChildren:u,shapeFlag:c,patchFlag:d,dirs:h,cacheIndex:p}=e;if(-2===d&&(r=!1),null!=a&&mS(a,null,n,e,!0),null!=p&&(t.renderCache[p]=void 0),256&c)return void t.ctx.deactivate(e);const f=1&c&&h,m=!DS(e);let g;if(m&&(g=o&&o.onVnodeBeforeUnmount)&&DM(g,t,e),6&c)U(e.component,n,i);else{if(128&c)return void e.suspense.unmount(n,i);f&&BA(e,null,t,"beforeUnmount"),64&c?e.type.remove(e,t,n,G,i):u&&!u.hasOnce&&(s!==iM||d>0&&64&d)?V(u,t,n,!1,!0):(s===iM&&384&d||!r&&16&c)&&V(l,t,n),i&&B(e)}(m&&(g=o&&o.onVnodeUnmounted)||f)&&vO(()=>{g&&DM(g,t,e),f&&BA(e,null,t,"unmounted")},n)},B=e=>{const{type:t,el:n,anchor:i,transition:s}=e;if(t===iM)return void $(n,i);if(t===oM)return void v(e);const o=()=>{r(n),s&&!s.persisted&&s.afterLeave&&s.afterLeave()};if(1&e.shapeFlag&&s&&!s.persisted){const{leave:t,delayLeave:i}=s,r=()=>t(n,o);i?i(e.el,o,r):r()}else o()},$=(e,t)=>{let n;for(;e!==t;)n=h(e),r(e),e=n;r(t)},U=(e,t,n)=>{const{bum:i,scope:r,job:s,subTree:o,um:a,m:l,a:u}=e;CO(l),CO(u),i&&gE(i),r.stop(),s&&(s.flags|=8,P(o,e,t,n)),a&&vO(a,t),vO(()=>{e.isUnmounted=!0},t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve()),__VUE_PROD_DEVTOOLS__&&CA(e)},V=(e,t,n,i=!1,r=!1,s=0)=>{for(let o=s;o{if(6&e.shapeFlag)return z(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();const t=h(e.anchor||e.el),n=t&&t[$A];return n?h(n):t};let j=!1;const Y=(e,t,n)=>{null==e?t._vnode&&P(t._vnode,null,null,!0):m(t._vnode||null,e,t,null,null,null,n),t._vnode=e,j||(j=!0,gA(),_A(),j=!1)},G={p:m,um:P,m:L,r:B,mt:O,mc:E,pc:N,pbc:I,n:z,o:e};let H,W;return t&&([H,W]=t(G)),{render:Y,hydrate:H,createApp:QC(Y,H)}}function EO({type:e,props:t},n){return"svg"===n&&"foreignObject"===e||"mathml"===n&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function wO({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function IO(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function AO(e,t,n=!1){const i=e.children,r=t.children;if(Hx(i)&&Hx(r))for(let e=0;e{{const e=tO(OO);return e}};function kO(e,t){return FO(e,null,t)}function RO(e,t){return FO(e,null,{flush:"post"})}function NO(e,t){return FO(e,null,{flush:"sync"})}function DO(e,t,n){return FO(e,t,n)}function FO(e,t,n=Lx){const{immediate:i,deep:r,flush:s,once:o}=n;const a=zx({},n);const l=t&&i||!t&&"post"!==s;let u;if(WM)if("sync"===s){const e=MO();u=e.__watcherHandles||(e.__watcherHandles=[])}else if(!l){const e=()=>{};return e.stop=Bx,e.resume=Bx,e.pause=Bx,e}const c=BM;a.call=(e,t,n)=>iA(e,c,t,n);let d=!1;"post"===s?a.scheduler=e=>{vO(e,c&&c.suspense)}:"sync"!==s&&(d=!0,a.scheduler=(e,t)=>{t?e():pA(e)}),a.augmentJob=e=>{t&&(e.flags|=4),d&&(e.flags|=2,c&&(e.id=c.uid,e.i=c))};const h=function(e,t,n=Lx){const{immediate:i,deep:r,once:s,scheduler:o,augmentJob:a,call:l}=n,u=e=>r?e:gI(e)||!1===r||0===r?WI(e,1):WI(e);let c,d,h,p,f=!1,m=!1;if(xI(e)?(d=()=>e.value,f=gI(e)):fI(e)?(d=()=>u(e),f=!0):Hx(e)?(m=!0,f=e.some(e=>fI(e)||gI(e)),d=()=>e.map(e=>xI(e)?e.value:fI(e)?u(e):Kx(e)?l?l(e,2):e():void 0)):d=Kx(e)?t?l?()=>l(e,2):e:()=>{if(h){yw();try{h()}finally{vw()}}const t=YI;YI=c;try{return l?l(e,3,[p]):e(p)}finally{YI=t}}:Bx,t&&r){const e=d,t=!0===r?1/0:r;d=()=>WI(e(),t)}const g=QE(),_=()=>{c.stop(),g&&g.active&&jx(g.effects,c)};if(s&&t){const e=t;t=(...t)=>{e(...t),_()}}let y=m?new Array(e.length).fill(zI):zI;const v=e=>{if(1&c.flags&&(c.dirty||e))if(t){const e=c.run();if(r||f||(m?e.some((e,t)=>mE(e,y[t])):mE(e,y))){h&&h();const n=YI;YI=c;try{const n=[e,y===zI?void 0:m&&y[0]===zI?[]:y,p];l?l(t,3,n):t(...n),y=e}finally{YI=n}}}else c.run()};return a&&a(v),c=new tw(d),c.scheduler=o?()=>o(v,!1):v,p=e=>HI(e,!1,c),h=c.onStop=()=>{const e=jI.get(c);if(e){if(l)l(e,4);else for(const t of e)t();jI.delete(c)}},t?i?v(!0):y=c.run():o?o(v.bind(null,!0),!0):c.run(),_.pause=c.pause.bind(c),_.resume=c.resume.bind(c),_.stop=_,_}(e,t,a);return WM&&(u?u.push(h):l&&h()),h}function LO(e,t,n){const i=this.proxy,r=Zx(e)?e.includes(".")?PO(i,e):()=>i[e]:e.bind(i,i);let s;Kx(t)?s=t:(s=t.handler,n=t);const o=zM(this),a=FO(r,s.bind(i),n);return o(),a}function PO(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{let l,u,c=Lx;return NO(()=>{const t=e[r];mE(l,t)&&(l=t,a())}),{get:()=>(o(),n.get?n.get(l):l),set(e){const o=n.set?n.set(e):e;if(!(mE(o,l)||c!==Lx&&mE(e,c)))return;const d=i.vnode.props;d&&(t in d||r in d||s in d)&&(`onUpdate:${t}`in d||`onUpdate:${r}`in d||`onUpdate:${s}`in d)||(l=e,a()),i.emit(`update:${t}`,o),mE(e,o)&&mE(e,c)&&!mE(o,u)&&a(),c=e,u=o}}});return a[Symbol.iterator]=()=>{let e=0;return{next:()=>e<2?{value:e++?o||Lx:a,done:!1}:{done:!0}}},a}const $O=(e,t)=>"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${cE(t)}Modifiers`]||e[`${hE(t)}Modifiers`];function UO(e,t,...n){if(e.isUnmounted)return;const i=e.vnode.props||Lx;let r=n;const s=t.startsWith("update:"),o=s&&$O(i,t.slice(7));let a;o&&(o.trim&&(r=n.map(e=>Zx(e)?e.trim():e)),o.number&&(r=n.map(yE))),__VUE_PROD_DEVTOOLS__&&function(e,t,n){EA("component:emit",e.appContext.app,e,t,n)}(e,t,r);let l=i[a=fE(t)]||i[a=fE(cE(t))];!l&&s&&(l=i[a=fE(hE(t))]),l&&iA(l,e,6,r);const u=i[a+"Once"];if(u){if(e.emitted){if(e.emitted[a])return}else e.emitted={};e.emitted[a]=!0,iA(u,e,6,r)}}function VO(e,t,n=!1){const i=t.emitsCache,r=i.get(e);if(void 0!==r)return r;const s=e.emits;let o={},a=!1;if(__VUE_OPTIONS_API__&&!Kx(e)){const i=e=>{const n=VO(e,t,!0);n&&(a=!0,zx(o,n))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return s||a?(Hx(s)?s.forEach(e=>o[e]=null):zx(o,s),Jx(e)&&i.set(e,o),o):(Jx(e)&&i.set(e,null),null)}function zO(e,t){return!(!e||!Ux(t))&&(t=t.slice(2).replace(/Once$/,""),Gx(e,t[0].toLowerCase()+t.slice(1))||Gx(e,hE(t))||Gx(e,t))}function jO(e){const{type:t,vnode:n,proxy:i,withProxy:r,propsOptions:[s],slots:o,attrs:a,emit:l,render:u,renderCache:c,props:d,data:h,setupState:p,ctx:f,inheritAttrs:m}=e,g=RA(e);let _,y;try{if(4&n.shapeFlag){const e=r||i,t=e;_=MM(u.call(t,e,c,d,p,h,f)),y=a}else{const e=t;0,_=MM(e.length>1?e(d,{attrs:a,slots:o,emit:l}):e(d,null)),y=t.props?a:GO(a)}}catch(t){aM.length=0,rA(t,e,1),_=EM(sM)}let v=_;if(y&&!1!==m){const e=Object.keys(y),{shapeFlag:t}=v;e.length&&7&t&&(s&&e.some(Vx)&&(y=HO(y,s)),v=AM(v,y,!1,!0))}return n.dirs&&(v=AM(v,null,!1,!0),v.dirs=v.dirs?v.dirs.concat(n.dirs):n.dirs),n.transition&&uS(v,n.transition),_=v,RA(g),_}function YO(e,t=!0){let n;for(let t=0;t{let t;for(const n in e)("class"===n||"style"===n||Ux(n))&&((t||(t={}))[n]=e[n]);return t},HO=(e,t)=>{const n={};for(const i in e)Vx(i)&&i.slice(9)in t||(n[i]=e[i]);return n};function WO(e,t,n){const i=Object.keys(t);if(i.length!==Object.keys(e).length)return!0;for(let r=0;re.__isSuspense;let KO=0;const ZO={name:"Suspense",__isSuspense:!0,process(e,t,n,i,r,s,o,a,l,u){if(null==e)!function(e,t,n,i,r,s,o,a,l){const{p:u,o:{createElement:c}}=l,d=c("div"),h=e.suspense=JO(e,r,i,t,d,n,s,o,a,l);u(null,h.pendingBranch=e.ssContent,d,null,i,h,s,o),h.deps>0?(QO(e,"onPending"),QO(e,"onFallback"),u(null,e.ssFallback,t,n,i,null,s,o),nM(h,e.ssFallback)):h.resolve(!1,!0)}(t,n,i,r,s,o,a,l,u);else{if(s&&s.deps>0&&!e.suspense.isInFallback)return t.suspense=e.suspense,t.suspense.vnode=t,void(t.el=e.el);!function(e,t,n,i,r,s,o,a,{p:l,um:u,o:{createElement:c}}){const d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;const h=t.ssContent,p=t.ssFallback,{activeBranch:f,pendingBranch:m,isInFallback:g,isHydrating:_}=d;if(m)d.pendingBranch=h,yM(h,m)?(l(m,h,d.hiddenContainer,null,r,d,s,o,a),d.deps<=0?d.resolve():g&&(_||(l(f,p,n,i,r,null,s,o,a),nM(d,p)))):(d.pendingId=KO++,_?(d.isHydrating=!1,d.activeBranch=m):u(m,r,d),d.deps=0,d.effects.length=0,d.hiddenContainer=c("div"),g?(l(null,h,d.hiddenContainer,null,r,d,s,o,a),d.deps<=0?d.resolve():(l(f,p,n,i,r,null,s,o,a),nM(d,p))):f&&yM(h,f)?(l(f,h,n,i,r,d,s,o,a),d.resolve(!0)):(l(null,h,d.hiddenContainer,null,r,d,s,o,a),d.deps<=0&&d.resolve()));else if(f&&yM(h,f))l(f,h,n,i,r,d,s,o,a),nM(d,h);else if(QO(t,"onPending"),d.pendingBranch=h,512&h.shapeFlag?d.pendingId=h.component.suspenseId:d.pendingId=KO++,l(null,h,d.hiddenContainer,null,r,d,s,o,a),d.deps<=0)d.resolve();else{const{timeout:e,pendingId:t}=d;e>0?setTimeout(()=>{d.pendingId===t&&d.fallback(p)},e):0===e&&d.fallback(p)}}(e,t,n,i,r,o,a,l,u)}},hydrate:function(e,t,n,i,r,s,o,a,l){const u=t.suspense=JO(t,i,n,e.parentNode,document.createElement("div"),null,r,s,o,a,!0),c=l(e,u.pendingBranch=t.ssContent,n,u,s,o);0===u.deps&&u.resolve(!1,!0);return c},normalize:function(e){const{shapeFlag:t,children:n}=e,i=32&t;e.ssContent=eM(i?n.default:n),e.ssFallback=i?eM(n.fallback):EM(sM)}};function QO(e,t){const n=e.props&&e.props[t];Kx(n)&&n()}function JO(e,t,n,i,r,s,o,a,l,u,c=!1){const{p:d,m:h,um:p,n:f,o:{parentNode:m,remove:g}}=u;let _;const y=function(e){const t=e.props&&e.props.suspensible;return null!=t&&!1!==t}(e);y&&t&&t.pendingBranch&&(_=t.pendingId,t.deps++);const v=e.props?vE(e.props.timeout):void 0;const b=s,T={vnode:e,parent:t,parentComponent:n,namespace:o,container:i,hiddenContainer:r,deps:0,pendingId:KO++,timeout:"number"==typeof v?v:-1,activeBranch:null,pendingBranch:null,isInFallback:!c,isHydrating:c,isUnmounted:!1,effects:[],resolve(e=!1,n=!1){const{vnode:i,activeBranch:r,pendingBranch:o,pendingId:a,effects:l,parentComponent:u,container:c}=T;let d=!1;T.isHydrating?T.isHydrating=!1:e||(d=r&&o.transition&&"out-in"===o.transition.mode,d&&(r.transition.afterLeave=()=>{a===T.pendingId&&(h(o,c,s===b?f(r):s,0),mA(l))}),r&&(m(r.el)===c&&(s=f(r)),p(r,u,T,!0)),d||h(o,c,s,0)),nM(T,o),T.pendingBranch=null,T.isInFallback=!1;let g=T.parent,v=!1;for(;g;){if(g.pendingBranch){g.effects.push(...l),v=!0;break}g=g.parent}v||d||mA(l),T.effects=[],y&&t&&t.pendingBranch&&_===t.pendingId&&(t.deps--,0!==t.deps||n||t.resolve()),QO(i,"onResolve")},fallback(e){if(!T.pendingBranch)return;const{vnode:t,activeBranch:n,parentComponent:i,container:r,namespace:s}=T;QO(t,"onFallback");const o=f(n),u=()=>{T.isInFallback&&(d(null,e,r,o,i,null,s,a,l),nM(T,e))},c=e.transition&&"out-in"===e.transition.mode;c&&(n.transition.afterLeave=u),T.isInFallback=!0,p(n,i,null,!0),c||u()},move(e,t,n){T.activeBranch&&h(T.activeBranch,e,t,n),T.container=e},next:()=>T.activeBranch&&f(T.activeBranch),registerDep(e,t,n){const i=!!T.pendingBranch;i&&T.deps++;const r=e.vnode.el;e.asyncDep.catch(t=>{rA(t,e,0)}).then(s=>{if(e.isUnmounted||T.isUnmounted||T.pendingId!==e.suspenseId)return;e.asyncResolved=!0;const{vnode:a}=e;qM(e,s,!1),r&&(a.el=r);const l=!r&&e.subTree.el;t(e,a,m(r||e.subTree.el),r?null:f(e.subTree),T,o,n),l&&g(l),XO(e,a.el),i&&0===--T.deps&&T.resolve()})},unmount(e,t){T.isUnmounted=!0,T.activeBranch&&p(T.activeBranch,n,e,t),T.pendingBranch&&p(T.pendingBranch,n,e,t)}};return T}function eM(e){let t;if(Kx(e)){const n=hM&&e._c;n&&(e._d=!1,uM()),e=e(),n&&(e._d=!0,t=lM,cM())}if(Hx(e)){const t=YO(e);0,e=t}return e=MM(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(t=>t!==e)),e}function tM(e,t){t&&t.pendingBranch?Hx(e)?t.effects.push(...e):t.effects.push(e):mA(e)}function nM(e,t){e.activeBranch=t;const{vnode:n,parentComponent:i}=e;let r=t.el;for(;!r&&t.component;)r=(t=t.component.subTree).el;n.el=r,i&&i.subTree===n&&(i.vnode.el=r,XO(i,r))}const iM=Symbol.for("v-fgt"),rM=Symbol.for("v-txt"),sM=Symbol.for("v-cmt"),oM=Symbol.for("v-stc"),aM=[];let lM=null;function uM(e=!1){aM.push(lM=e?null:[])}function cM(){aM.pop(),lM=aM[aM.length-1]||null}let dM,hM=1;function pM(e,t=!1){hM+=e,e<0&&lM&&t&&(lM.hasOnce=!0)}function fM(e){return e.dynamicChildren=hM>0?lM||Px:null,cM(),hM>0&&lM&&lM.push(e),e}function mM(e,t,n,i,r,s){return fM(xM(e,t,n,i,r,s,!0))}function gM(e,t,n,i,r){return fM(EM(e,t,n,i,r,!0))}function _M(e){return!!e&&!0===e.__v_isVNode}function yM(e,t){return e.type===t.type&&e.key===t.key}function vM(e){dM=e}const bM=({key:e})=>null!=e?e:null,TM=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?Zx(e)||xI(e)||Kx(e)?{i:MA,r:e,k:t,f:!!n}:e:null);function xM(e,t=null,n=null,i=0,r=null,s=(e===iM?0:1),o=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&bM(t),ref:t&&TM(t),scopeId:kA,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:i,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:MA};return a?(RM(l,n),128&s&&e.normalize(l)):n&&(l.shapeFlag|=Zx(n)?8:16),hM>0&&!o&&lM&&(l.patchFlag>0||6&s)&&32!==l.patchFlag&&lM.push(l),l}const EM=wM;function wM(e,t=null,n=null,i=0,r=null,s=!1){if(e&&e!==lC||(e=sM),_M(e)){const i=AM(e,t,!0);return n&&RM(i,n),hM>0&&!s&&lM&&(6&i.shapeFlag?lM[lM.indexOf(e)]=i:lM.push(i)),i.patchFlag=-2,i}if(ok(e)&&(e=e.__vccOpts),t){t=IM(t);let{class:e,style:n}=t;e&&!Zx(e)&&(t.class=CE(e)),Jx(n)&&(_I(n)&&!Hx(n)&&(n=zx({},n)),t.style=EE(n))}return xM(e,t,n,i,r,Zx(e)?1:qO(e)?128:UA(e)?64:Jx(e)?4:Kx(e)?2:0,s,!0)}function IM(e){return e?_I(e)||sO(e)?zx({},e):e:null}function AM(e,t,n=!1,i=!1){const{props:r,ref:s,patchFlag:o,children:a,transition:l}=e,u=t?NM(r||{},t):r,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&bM(u),ref:t&&t.ref?n&&s?Hx(s)?s.concat(TM(t)):[s,TM(t)]:TM(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==iM?-1===o?16:16|o:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&AM(e.ssContent),ssFallback:e.ssFallback&&AM(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&i&&uS(c,l.clone(c)),c}function SM(e=" ",t=0){return EM(rM,null,e,t)}function CM(e,t){const n=EM(oM,null,e);return n.staticCount=t,n}function OM(e="",t=!1){return t?(uM(),gM(sM,null,e)):EM(sM,null,e)}function MM(e){return null==e||"boolean"==typeof e?EM(sM):Hx(e)?EM(iM,null,e.slice()):_M(e)?kM(e):EM(rM,null,String(e))}function kM(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:AM(e)}function RM(e,t){let n=0;const{shapeFlag:i}=e;if(null==t)t=null;else if(Hx(t))n=16;else if("object"==typeof t){if(65&i){const n=t.default;return void(n&&(n._c&&(n._d=!1),RM(e,n()),n._c&&(n._d=!0)))}{n=32;const i=t._;i||sO(t)?3===i&&MA&&(1===MA.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=MA}}else Kx(t)?(t={default:t,_ctx:MA},n=32):(t=String(t),64&i?(n=16,t=[SM(t)]):n=8);e.children=t,e.shapeFlag|=n}function NM(...e){const t={};for(let n=0;nBM||MA;let UM,VM;{const e=TE(),t=(t,n)=>{let i;return(i=e[t])||(i=e[t]=[]),i.push(n),e=>{i.length>1?i.forEach(t=>t(e)):i[0](e)}};UM=t("__VUE_INSTANCE_SETTERS__",e=>BM=e),VM=t("__VUE_SSR_SETTERS__",e=>WM=e)}const zM=e=>{const t=BM;return UM(e),e.scope.on(),()=>{e.scope.off(),UM(t)}},jM=()=>{BM&&BM.scope.off(),UM(null)};function YM(e){return 4&e.vnode.shapeFlag}let GM,HM,WM=!1;function XM(e,t=!1,n=!1){t&&VM(t);const{props:i,children:r}=e.vnode,s=YM(e);!function(e,t,n,i=!1){const r={},s=rO();e.propsDefaults=Object.create(null),oO(e,t,r,s);for(const t in e.propsOptions[0])t in r||(r[t]=void 0);n?e.props=i?r:cI(r):e.type.props?e.props=r:e.props=s,e.attrs=s}(e,i,s,t),_O(e,r,n);const o=s?function(e,t){const n=e.type;0;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,TC),!1;const{setup:i}=n;if(i){yw();const n=e.setupContext=i.length>1?ek(e):null,r=zM(e),s=nA(i,e,0,[e.props,n]),o=eE(s);if(vw(),r(),!o&&!e.sp||DS(e)||pS(e),o){if(s.then(jM,jM),t)return s.then(n=>{qM(e,n,t)}).catch(t=>{rA(t,e,0)});e.asyncDep=s}else qM(e,s,t)}else QM(e,t)}(e,t):void 0;return t&&VM(!1),o}function qM(e,t,n){Kx(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Jx(t)&&(__VUE_PROD_DEVTOOLS__&&(e.devtoolsRawSetupState=t),e.setupState=kI(t)),QM(e,n)}function KM(e){GM=e,HM=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,xC))}}const ZM=()=>!GM;function QM(e,t,n){const i=e.type;if(!e.render){if(!t&&GM&&!i.render){const t=i.template||__VUE_OPTIONS_API__&&zC(e).template;if(t){0;const{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:s,compilerOptions:o}=i,a=zx(zx({isCustomElement:n,delimiters:s},r),o);i.render=GM(t,a)}}e.render=i.render||Bx,HM&&HM(e)}if(__VUE_OPTIONS_API__){const t=zM(e);yw();try{$C(e)}finally{vw(),t()}}}const JM={get:(e,t)=>(Ow(e,0,""),e[t])};function ek(e){const t=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,JM),slots:e.slots,emit:e.emit,expose:t}}function tk(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(kI(vI(e.exposed)),{get:(t,n)=>n in t?t[n]:n in vC?vC[n](e):void 0,has:(e,t)=>t in e||t in vC})):e.proxy}const nk=/(?:^|[-_])(\w)/g,ik=e=>e.replace(nk,e=>e.toUpperCase()).replace(/[-_]/g,"");function rk(e,t=!0){return Kx(e)?e.displayName||e.name:e.name||t&&e.__name}function sk(e,t,n=!1){let i=rk(t);if(!i&&t.__file){const e=t.__file.match(/([^/\\]+)\.\w+$/);e&&(i=e[1])}if(!i&&e&&e.parent){const n=e=>{for(const n in e)if(e[n]===t)return n};i=n(e.components||e.parent.type.components)||n(e.appContext.components)}return i?ik(i):n?"App":"Anonymous"}function ok(e){return Kx(e)&&"__vccOpts"in e}const ak=(e,t)=>{const n=function(e,t,n=!1){let i,r;return Kx(e)?i=e:(i=e.get,r=e.set),new $I(i,r,n)}(e,0,WM);return n};function lk(e,t,n){const i=arguments.length;return 2===i?Jx(t)&&!Hx(t)?_M(t)?EM(e,null,[t]):EM(e,t):EM(e,null,t):(i>3?n=Array.prototype.slice.call(arguments,2):3===i&&_M(n)&&(n=[n]),EM(e,t,n))}function uk(){return void 0}function ck(e,t,n,i){const r=n[i];if(r&&dk(r,e))return r;const s=t();return s.memo=e.slice(),s.cacheIndex=i,n[i]=s}function dk(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let e=0;e0&&lM&&lM.push(e),!0}const hk="3.5.13",pk=Bx,fk=tA,mk=bA,gk=wA,_k={createComponentInstance:PM,setupComponent:XM,renderComponentRoot:jO,setCurrentRenderingInstance:RA,isVNode:_M,normalizeVNode:MM,getComponentPublicInstance:tk,ensureValidVNode:gC,pushWarningContext:function(e){XI.push(e)},popWarningContext:function(){XI.pop()}},yk=null,vk=null,bk=null; /** * @vue/runtime-dom v3.5.13 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ -let mk;const gk="undefined"!=typeof window&&window.trustedTypes;if(gk)try{mk=gk.createPolicy("vue",{createHTML:e=>e})}catch(e){}const _k=mk?e=>mk.createHTML(e):e=>e,yk="undefined"!=typeof document?document:null,vk=yk&&yk.createElement("template"),bk={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,i)=>{const r="svg"===t?yk.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?yk.createElementNS("http://www.w3.org/1998/Math/MathML",e):n?yk.createElement(e,{is:n}):yk.createElement(e);return"select"===e&&i&&null!=i.multiple&&r.setAttribute("multiple",i.multiple),r},createText:e=>yk.createTextNode(e),createComment:e=>yk.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>yk.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,i,r,s){const o=n?n.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),r!==s&&(r=r.nextSibling););else{vk.innerHTML=_k("svg"===i?`${e}`:"mathml"===i?`${e}`:e);const r=vk.content;if("svg"===i||"mathml"===i){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Tk="transition",xk="animation",Ek=Symbol("_vtc"),wk={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ik=Lx({},qA,wk),Ak=(e=>(e.displayName="Transition",e.props=Ik,e))((e,{slots:t})=>nk(QA,Ok(e),t)),Sk=(e,t=[])=>{Ux(e)?e.forEach(e=>e(...t)):e&&e(...t)},Ck=e=>!!e&&(Ux(e)?e.some(e=>e.length>1):e.length>1);function Ok(e){const t={};for(const n in e)n in wk||(t[n]=e[n]);if(!1===e.css)return t;const{name:n="v",type:i,duration:r,enterFromClass:s=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=s,appearActiveClass:u=o,appearToClass:c=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,f=function(e){if(null==e)return null;if(Wx(e))return[Mk(e.enter),Mk(e.leave)];{const t=Mk(e);return[t,t]}}(r),m=f&&f[0],g=f&&f[1],{onBeforeEnter:_,onEnter:y,onEnterCancelled:v,onLeave:b,onLeaveCancelled:T,onBeforeAppear:x=_,onAppear:E=y,onAppearCancelled:w=v}=t,I=(e,t,n,i)=>{e._enterCancelled=i,Rk(e,t?c:a),Rk(e,t?u:o),n&&n()},A=(e,t)=>{e._isLeaving=!1,Rk(e,d),Rk(e,p),Rk(e,h),t&&t()},S=e=>(t,n)=>{const r=e?E:y,o=()=>I(t,e,n);Sk(r,[t,o]),Nk(()=>{Rk(t,e?l:s),kk(t,e?c:a),Ck(r)||Fk(t,i,m,o)})};return Lx(t,{onBeforeEnter(e){Sk(_,[e]),kk(e,s),kk(e,o)},onBeforeAppear(e){Sk(x,[e]),kk(e,l),kk(e,u)},onEnter:S(!1),onAppear:S(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>A(e,t);kk(e,d),e._enterCancelled?(kk(e,h),$k()):($k(),kk(e,h)),Nk(()=>{e._isLeaving&&(Rk(e,d),kk(e,p),Ck(b)||Fk(e,i,g,n))}),Sk(b,[e,n])},onEnterCancelled(e){I(e,!1,void 0,!0),Sk(v,[e])},onAppearCancelled(e){I(e,!0,void 0,!0),Sk(w,[e])},onLeaveCancelled(e){A(e),Sk(T,[e])}})}function Mk(e){return pE(e)}function kk(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[Ek]||(e[Ek]=new Set)).add(t)}function Rk(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));const n=e[Ek];n&&(n.delete(t),n.size||(e[Ek]=void 0))}function Nk(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Dk=0;function Fk(e,t,n,i){const r=e._endId=++Dk,s=()=>{r===e._endId&&i()};if(null!=n)return setTimeout(s,n);const{type:o,timeout:a,propCount:l}=Lk(e,t);if(!o)return i();const u=o+"end";let c=0;const d=()=>{e.removeEventListener(u,h),s()},h=t=>{t.target===e&&++c>=l&&d()};setTimeout(()=>{c(n[e]||"").split(", "),r=i(`${Tk}Delay`),s=i(`${Tk}Duration`),o=Pk(r,s),a=i(`${xk}Delay`),l=i(`${xk}Duration`),u=Pk(a,l);let c=null,d=0,h=0;t===Tk?o>0&&(c=Tk,d=o,h=s.length):t===xk?u>0&&(c=xk,d=u,h=l.length):(d=Math.max(o,u),c=d>0?o>u?Tk:xk:null,h=c?c===Tk?s.length:l.length:0);return{type:c,timeout:d,propCount:h,hasTransform:c===Tk&&/\b(transform|all)(,|$)/.test(i(`${Tk}Property`).toString())}}function Pk(e,t){for(;e.lengthBk(t)+Bk(e[n])))}function Bk(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function $k(){return document.body.offsetHeight}const Uk=Symbol("_vod"),Vk=Symbol("_vsh"),zk={beforeMount(e,{value:t},{transition:n}){e[Uk]="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):jk(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:i}){!t!=!n&&(i?t?(i.beforeEnter(e),jk(e,!0),i.enter(e)):i.leave(e,()=>{jk(e,!1)}):jk(e,t))},beforeUnmount(e,{value:t}){jk(e,t)}};function jk(e,t){e.style.display=t?e[Uk]:"none",e[Vk]=!t}const Yk=Symbol("");function Gk(e){const t=NM();if(!t)return;const n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(e=>Wk(e,n))};const i=()=>{const i=e(t.proxy);t.ce?Wk(t.ce,i):Hk(t.subTree,i),n(i)};GS(()=>{uA(i)}),YS(()=>{CO(i,Rx,{flush:"post"});const e=new MutationObserver(i);e.observe(t.subTree.el.parentNode,{childList:!0}),XS(()=>e.disconnect())})}function Hk(e,t){if(128&e.shapeFlag){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Hk(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(1&e.shapeFlag&&e.el)Wk(e.el,t);else if(e.type===ZO)e.children.forEach(e=>Hk(e,t));else if(e.type===eM){let{el:n,anchor:i}=e;for(;n&&(Wk(n,t),n!==i);)n=n.nextSibling}}function Wk(e,t){if(1===e.nodeType){const n=e.style;let i="";for(const e in t)n.setProperty(`--${e}`,t[e]),i+=`--${e}: ${t[e]};`;n[Yk]=i}}const Xk=/(^|;)\s*display\s*:/;const qk=/\s*!important$/;function Kk(e,t,n){if(Ux(n))n.forEach(n=>Kk(e,t,n));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const i=function(e,t){const n=Qk[t];if(n)return n;let i=rE(t);if("filter"!==i&&i in e)return Qk[t]=i;i=aE(i);for(let n=0;n{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();ZI(function(e,t){if(Ux(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=lR(),n}(i,r);nR(e,n,o,a)}else o&&(!function(e,t,n,i){e.removeEventListener(t,n,i)}(e,n,o,a),s[t]=void 0)}}const sR=/(?:Once|Passive|Capture)$/;let oR=0;const aR=Promise.resolve(),lR=()=>oR||(aR.then(()=>oR=0),oR=Date.now());const uR=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123;const cR={}; -/*! #__NO_SIDE_EFFECTS__ */function dR(e,t,n){const i=sS(e,t);Qx(i)&&Lx(i,t);class r extends fR{constructor(e){super(i,e,n)}}return r.def=i,r} -/*! #__NO_SIDE_EFFECTS__ */const hR=(e,t)=>dR(e,t,tN),pR="undefined"!=typeof HTMLElement?HTMLElement:class{};class fR extends pR{constructor(e,t={},n=eN){super(),this._def=e,this._props=t,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._ob=null,this.shadowRoot&&n!==eN?this._root=this.shadowRoot:!1!==e.shadowRoot?(this.attachShadow({mode:"open"}),this._root=this.shadowRoot):this._root=this,this._def.__asyncLoader||this._resolveProps(this._def)}connectedCallback(){if(!this.isConnected)return;this.shadowRoot||this._parseSlots(),this._connected=!0;let e=this;for(;e=e&&(e.parentNode||e.host);)if(e instanceof fR){this._parent=e;break}this._instance||(this._resolved?(this._setParent(),this._update()):e&&e._pendingResolve?this._pendingResolve=e._pendingResolve.then(()=>{this._pendingResolve=void 0,this._resolveDef()}):this._resolveDef())}_setParent(e=this._parent){e&&(this._instance.parent=e._instance,this._instance.provides=e._instance.provides)}disconnectedCallback(){this._connected=!1,oA(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null)})}_resolveDef(){if(this._pendingResolve)return;for(let e=0;e{for(const t of e)this._setAttr(t.attributeName)}),this._ob.observe(this,{attributes:!0});const e=(e,t=!1)=>{this._resolved=!0,this._pendingResolve=void 0;const{props:n,styles:i}=e;let r;if(n&&!Ux(n))for(const e in n){const t=n[e];(t===Number||t&&t.type===Number)&&(e in this._props&&(this._props[e]=pE(this._props[e])),(r||(r=Object.create(null)))[rE(e)]=!0)}this._numberProps=r,t&&this._resolveProps(e),this.shadowRoot&&this._applyStyles(i),this._mount(e)},t=this._def.__asyncLoader;t?this._pendingResolve=t().then(t=>e(this._def=t,!0)):e(this._def)}_mount(e){__VUE_PROD_DEVTOOLS__&&!e.name&&(e.name="VueElement"),this._app=this._createApp(e),e.configureApp&&e.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const t=this._instance&&this._instance.exposed;if(t)for(const e in t)$x(this,e)||Object.defineProperty(this,e,{get:()=>xI(t[e])})}_resolveProps(e){const{props:t}=e,n=Ux(t)?t:Object.keys(t||{});for(const e of Object.keys(this))"_"!==e[0]&&n.includes(e)&&this._setProp(e,this[e]);for(const e of n.map(rE))Object.defineProperty(this,e,{get(){return this._getProp(e)},set(t){this._setProp(e,t,!0,!0)}})}_setAttr(e){if(e.startsWith("data-v-"))return;const t=this.hasAttribute(e);let n=t?this.getAttribute(e):cR;const i=rE(e);t&&this._numberProps&&this._numberProps[i]&&(n=pE(n)),this._setProp(i,n,!1,!0)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,i=!1){if(t!==this._props[e]&&(t===cR?delete this._props[e]:(this._props[e]=t,"key"===e&&this._app&&(this._app._ceVNode.key=t)),i&&this._instance&&this._update(),n)){const n=this._ob;n&&n.disconnect(),!0===t?this.setAttribute(oE(e),""):"string"==typeof t||"number"==typeof t?this.setAttribute(oE(e),t+""):t||this.removeAttribute(oE(e)),n&&n.observe(this,{attributes:!0})}}_update(){QR(this._createVNode(),this._root)}_createVNode(){const e={};this.shadowRoot||(e.onVnodeMounted=e.onVnodeUpdated=this._renderSlots.bind(this));const t=_M(this._def,Lx(e,this._props));return this._instance||(t.ce=e=>{this._instance=e,e.ce=this,e.isCE=!0;const t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,Qx(t[0])?Lx({detail:t},t[0]):{detail:t}))};e.emit=(e,...n)=>{t(e,n),oE(e)!==e&&t(oE(e),n)},this._setParent()}),t}_applyStyles(e,t){if(!e)return;if(t){if(t===this._def||this._styleChildren.has(t))return;this._styleChildren.add(t)}const n=this._nonce;for(let t=e.length-1;t>=0;t--){const i=document.createElement("style");n&&i.setAttribute("nonce",n),i.textContent=e[t],this.shadowRoot.prepend(i)}}_parseSlots(){const e=this._slots={};let t;for(;t=this.firstChild;){const n=1===t.nodeType&&t.getAttribute("slot")||"default";(e[n]||(e[n]=[])).push(t),this.removeChild(t)}}_renderSlots(){const e=(this._teleportTarget||this).querySelectorAll("slot"),t=this._instance.type.__scopeId;for(let n=0;n(delete e.props.mode,e))({name:"TransitionGroup",props:Lx({},Ik,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=NM(),i=WA();let r,s;return HS(()=>{if(!r.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,n){const i=e.cloneNode(),r=e[Ek];r&&r.forEach(e=>{e.split(/\s+/).forEach(e=>e&&i.classList.remove(e))});n.split(/\s+/).forEach(e=>e&&i.classList.add(e)),i.style.display="none";const s=1===t.nodeType?t:t.parentNode;s.appendChild(i);const{hasTransform:o}=Lk(i);return s.removeChild(i),o}(r[0].el,n.vnode.el,t))return;r.forEach(wR),r.forEach(IR);const i=r.filter(AR);$k(),i.forEach(e=>{const n=e.el,i=n.style;kk(n,t),i.transform=i.webkitTransform=i.transitionDuration="";const r=n[bR]=e=>{e&&e.target!==n||e&&!/transform$/.test(e.propertyName)||(n.removeEventListener("transitionend",r),n[bR]=null,Rk(n,t))};n.addEventListener("transitionend",r)})}),()=>{const o=hI(e),a=Ok(o);let l=o.tag||ZO;if(r=[],s)for(let e=0;e{const t=e.props["onUpdate:modelValue"]||!1;return Ux(t)?e=>cE(t,e):t};function CR(e){e.target.composing=!0}function OR(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const MR=Symbol("_assign"),kR={created(e,{modifiers:{lazy:t,trim:n,number:i}},r){e[MR]=SR(r);const s=i||r.props&&"number"===r.props.type;nR(e,t?"change":"input",t=>{if(t.target.composing)return;let i=e.value;n&&(i=i.trim()),s&&(i=hE(i)),e[MR](i)}),n&&nR(e,"change",()=>{e.value=e.value.trim()}),t||(nR(e,"compositionstart",CR),nR(e,"compositionend",OR),nR(e,"change",OR))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:i,trim:r,number:s}},o){if(e[MR]=SR(o),e.composing)return;const a=null==t?"":t;if((!s&&"number"!==e.type||/^0\d/.test(e.value)?e.value:hE(e.value))!==a){if(document.activeElement===e&&"range"!==e.type){if(i&&t===n)return;if(r&&e.value.trim()===a)return}e.value=a}}},RR={deep:!0,created(e,t,n){e[MR]=SR(n),nR(e,"change",()=>{const t=e._modelValue,n=PR(e),i=e.checked,r=e[MR];if(Ux(t)){const e=PE(t,n),s=-1!==e;if(i&&!s)r(t.concat(n));else if(!i&&s){const n=[...t];n.splice(e,1),r(n)}}else if(zx(t)){const e=new Set(t);i?e.add(n):e.delete(n),r(e)}else r(BR(e,i))})},mounted:NR,beforeUpdate(e,t,n){e[MR]=SR(n),NR(e,t,n)}};function NR(e,{value:t,oldValue:n},i){let r;if(e._modelValue=t,Ux(t))r=PE(t,i.props.value)>-1;else if(zx(t))r=t.has(i.props.value);else{if(t===n)return;r=LE(t,BR(e,!0))}e.checked!==r&&(e.checked=r)}const DR={created(e,{value:t},n){e.checked=LE(t,n.props.value),e[MR]=SR(n),nR(e,"change",()=>{e[MR](PR(e))})},beforeUpdate(e,{value:t,oldValue:n},i){e[MR]=SR(i),t!==n&&(e.checked=LE(t,i.props.value))}},FR={deep:!0,created(e,{value:t,modifiers:{number:n}},i){const r=zx(t);nR(e,"change",()=>{const t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?hE(PR(e)):PR(e));e[MR](e.multiple?r?new Set(t):t:t[0]),e._assigning=!0,oA(()=>{e._assigning=!1})}),e[MR]=SR(i)},mounted(e,{value:t}){LR(e,t)},beforeUpdate(e,t,n){e[MR]=SR(n)},updated(e,{value:t}){e._assigning||LR(e,t)}};function LR(e,t){const n=e.multiple,i=Ux(t);if(!n||i||zx(t)){for(let r=0,s=e.options.length;rString(e)===String(o)):PE(t,o)>-1}else s.selected=t.has(o);else if(LE(PR(s),t))return void(e.selectedIndex!==r&&(e.selectedIndex=r))}n||-1===e.selectedIndex||(e.selectedIndex=-1)}}function PR(e){return"_value"in e?e._value:e.value}function BR(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const $R={created(e,t,n){VR(e,t,n,null,"created")},mounted(e,t,n){VR(e,t,n,null,"mounted")},beforeUpdate(e,t,n,i){VR(e,t,n,i,"beforeUpdate")},updated(e,t,n,i){VR(e,t,n,i,"updated")}};function UR(e,t){switch(e){case"SELECT":return FR;case"TEXTAREA":return kR;default:switch(t){case"checkbox":return RR;case"radio":return DR;default:return kR}}}function VR(e,t,n,i,r){const s=UR(e.tagName,n.props&&n.props.type)[r];s&&s(e,t,n,i)}const zR=["ctrl","shift","alt","meta"],jR={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>zR.some(n=>e[`${n}Key`]&&!t.includes(n))},YR=(e,t)=>{const n=e._withMods||(e._withMods={}),i=t.join(".");return n[i]||(n[i]=(n,...i)=>{for(let e=0;e{const n=e._withKeys||(e._withKeys={}),i=t.join(".");return n[i]||(n[i]=n=>{if(!("key"in n))return;const i=oE(n.key);return t.some(e=>e===i||GR[e]===i)?e(n):void 0})},WR=Lx({patchProp:(e,t,n,i,r,s)=>{const o="svg"===r;"class"===t?function(e,t,n){const i=e[Ek];i&&(t=(t?[t,...i]:[...i]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,i,o):"style"===t?function(e,t,n){const i=e.style,r=Gx(n);let s=!1;if(n&&!r){if(t)if(Gx(t))for(const e of t.split(";")){const t=e.slice(0,e.indexOf(":")).trim();null==n[t]&&Kk(i,t,"")}else for(const e in t)null==n[e]&&Kk(i,e,"");for(const e in n)"display"===e&&(s=!0),Kk(i,e,n[e])}else if(r){if(t!==n){const e=i[Yk];e&&(n+=";"+e),i.cssText=n,s=Xk.test(n)}}else t&&e.removeAttribute("style");Uk in e&&(e[Uk]=s?i.display:"",e[Vk]&&(i.display="none"))}(e,n,i):Dx(t)?Fx(t)||rR(e,t,0,i,s):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,i){if(i)return"innerHTML"===t||"textContent"===t||!!(t in e&&uR(t)&&Yx(n));if("spellcheck"===t||"draggable"===t||"translate"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){const t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}if(uR(t)&&Gx(n))return!1;return t in e}(e,t,i,o))?(tR(e,t,i),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||eR(e,t,i,o,0,"value"!==t)):!e._isVueCE||!/[A-Z]/.test(t)&&Gx(i)?("true-value"===t?e._trueValue=i:"false-value"===t&&(e._falseValue=i),eR(e,t,i,o)):tR(e,rE(t),i,0,t)}},bk);let XR,qR=!1;function KR(){return XR||(XR=fO(WR))}function ZR(){return XR=qR?XR:mO(WR),qR=!0,XR}const QR=(...e)=>{KR().render(...e)},JR=(...e)=>{ZR().hydrate(...e)},eN=(...e)=>{const t=KR().createApp(...e);const{mount:n}=t;return t.mount=e=>{const i=iN(e);if(!i)return;const r=t._component;Yx(r)||r.render||r.template||(r.template=i.innerHTML),1===i.nodeType&&(i.textContent="");const s=n(i,!1,nN(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),s},t},tN=(...e)=>{const t=ZR().createApp(...e);const{mount:n}=t;return t.mount=e=>{const t=iN(e);if(t)return n(t,!0,nN(t))},t};function nN(e){return e instanceof SVGElement?"svg":"function"==typeof MathMLElement&&e instanceof MathMLElement?"mathml":void 0}function iN(e){if(Gx(e)){return document.querySelector(e)}return e}let rN=!1;const sN=()=>{rN||(rN=!0,kR.getSSRProps=({value:e})=>({value:e}),DR.getSSRProps=({value:e},t)=>{if(t.props&&LE(t.props.value,e))return{checked:!0}},RR.getSSRProps=({value:e},t)=>{if(Ux(e)){if(t.props&&PE(e,t.props.value)>-1)return{checked:!0}}else if(zx(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},$R.getSSRProps=(e,t)=>{if("string"!=typeof t.type)return;const n=UR(t.type.toUpperCase(),t.props&&t.props.type);return n.getSSRProps?n.getSSRProps(e,t):void 0},zk.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}})},oN=Symbol(""),aN=Symbol(""),lN=Symbol(""),uN=Symbol(""),cN=Symbol(""),dN=Symbol(""),hN=Symbol(""),pN=Symbol(""),fN=Symbol(""),mN=Symbol(""),gN=Symbol(""),_N=Symbol(""),yN=Symbol(""),vN=Symbol(""),bN=Symbol(""),TN=Symbol(""),xN=Symbol(""),EN=Symbol(""),wN=Symbol(""),IN=Symbol(""),AN=Symbol(""),SN=Symbol(""),CN=Symbol(""),ON=Symbol(""),MN=Symbol(""),kN=Symbol(""),RN=Symbol(""),NN=Symbol(""),DN=Symbol(""),FN=Symbol(""),LN=Symbol(""),PN=Symbol(""),BN=Symbol(""),$N=Symbol(""),UN=Symbol(""),VN=Symbol(""),zN=Symbol(""),jN=Symbol(""),YN=Symbol(""),GN={[oN]:"Fragment",[aN]:"Teleport",[lN]:"Suspense",[uN]:"KeepAlive",[cN]:"BaseTransition",[dN]:"openBlock",[hN]:"createBlock",[pN]:"createElementBlock",[fN]:"createVNode",[mN]:"createElementVNode",[gN]:"createCommentVNode",[_N]:"createTextVNode",[yN]:"createStaticVNode",[vN]:"resolveComponent",[bN]:"resolveDynamicComponent",[TN]:"resolveDirective",[xN]:"resolveFilter",[EN]:"withDirectives",[wN]:"renderList",[IN]:"renderSlot",[AN]:"createSlots",[SN]:"toDisplayString",[CN]:"mergeProps",[ON]:"normalizeClass",[MN]:"normalizeStyle",[kN]:"normalizeProps",[RN]:"guardReactiveProps",[NN]:"toHandlers",[DN]:"camelize",[FN]:"capitalize",[LN]:"toHandlerKey",[PN]:"setBlockTracking",[BN]:"pushScopeId",[$N]:"popScopeId",[UN]:"withCtx",[VN]:"unref",[zN]:"isRef",[jN]:"withMemo",[YN]:"isMemoSame"};const HN={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0},source:""};function WN(e,t,n,i,r,s,o,a=!1,l=!1,u=!1,c=HN){return e&&(a?(e.helper(dN),e.helper(iD(e.inSSR,u))):e.helper(nD(e.inSSR,u)),o&&e.helper(EN)),{type:13,tag:t,props:n,children:i,patchFlag:r,dynamicProps:s,directives:o,isBlock:a,disableTracking:l,isComponent:u,loc:c}}function XN(e,t=HN){return{type:17,loc:t,elements:e}}function qN(e,t=HN){return{type:15,loc:t,properties:e}}function KN(e,t){return{type:16,loc:HN,key:Gx(e)?ZN(e,!0):e,value:t}}function ZN(e,t=!1,n=HN,i=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:i}}function QN(e,t=HN){return{type:8,loc:t,children:e}}function JN(e,t=[],n=HN){return{type:14,loc:n,callee:e,arguments:t}}function eD(e,t=void 0,n=!1,i=!1,r=HN){return{type:18,params:e,returns:t,newline:n,isSlot:i,loc:r}}function tD(e,t,n,i=!0){return{type:19,test:e,consequent:t,alternate:n,newline:i,loc:HN}}function nD(e,t){return e||t?fN:mN}function iD(e,t){return e||t?hN:pN}function rD(e,{helper:t,removeHelper:n,inSSR:i}){e.isBlock||(e.isBlock=!0,n(nD(i,e.isComponent)),t(dN),t(iD(i,e.isComponent)))}const sD=new Uint8Array([123,123]),oD=new Uint8Array([125,125]);function aD(e){return e>=97&&e<=122||e>=65&&e<=90}function lD(e){return 32===e||10===e||9===e||12===e||13===e}function uD(e){return 47===e||62===e||lD(e)}function cD(e){const t=new Uint8Array(e.length);for(let n=0;n4===e.type&&e.isStatic;function vD(e){switch(e){case"Teleport":case"teleport":return aN;case"Suspense":case"suspense":return lN;case"KeepAlive":case"keep-alive":return uN;case"BaseTransition":case"base-transition":return cN}}const bD=/^\d|[^\$\w\xA0-\uFFFF]/,TD=e=>!bD.test(e),xD=/[A-Za-z_$\xA0-\uFFFF]/,ED=/[\.\?\w$\xA0-\uFFFF]/,wD=/\s+[.[]\s*|\s*[.[]\s+/g,ID=e=>4===e.type?e.content:e.loc.source,AD=e=>{const t=ID(e).trim().replace(wD,e=>e.trim());let n=0,i=[],r=0,s=0,o=null;for(let e=0;e|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/,CD=e=>SD.test(ID(e));function OD(e,t,n=!1){for(let i=0;i4===e.key.type&&e.key.content===i)}return n}function UD(e,t){return`_${t}_${e.replace(/[^\w]/g,(t,n)=>"-"===t?"_":e.charCodeAt(n).toString())}`}const VD=/([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/,zD={parseMode:"base",ns:0,delimiters:["{{","}}"],getNamespace:()=>0,isVoidTag:Nx,isPreTag:Nx,isIgnoreNewlineTag:Nx,isCustomElement:Nx,onError:mD,onWarn:gD,comments:!1,prefixIdentifiers:!1};let jD=zD,YD=null,GD="",HD=null,WD=null,XD="",qD=-1,KD=-1,ZD=0,QD=!1,JD=null;const eF=[],tF=new class{constructor(e,t){this.stack=e,this.cbs=t,this.state=1,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=1,this.inRCDATA=!1,this.inXML=!1,this.inVPre=!1,this.newlines=[],this.mode=0,this.delimiterOpen=sD,this.delimiterClose=oD,this.delimiterIndex=-1,this.currentSequence=void 0,this.sequenceIndex=0}get inSFCRoot(){return 2===this.mode&&0===this.stack.length}reset(){this.state=1,this.mode=0,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=1,this.inRCDATA=!1,this.currentSequence=void 0,this.newlines.length=0,this.delimiterOpen=sD,this.delimiterClose=oD}getPos(e){let t=1,n=e+1;for(let i=this.newlines.length-1;i>=0;i--){const r=this.newlines[i];if(e>r){t=i+2,n=e-r;break}}return{column:n,line:t,offset:e}}peek(){return this.buffer.charCodeAt(this.index+1)}stateText(e){60===e?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=5,this.sectionStart=this.index):this.inVPre||e!==this.delimiterOpen[0]||(this.state=2,this.delimiterIndex=0,this.stateInterpolationOpen(e))}stateInterpolationOpen(e){if(e===this.delimiterOpen[this.delimiterIndex])if(this.delimiterIndex===this.delimiterOpen.length-1){const e=this.index+1-this.delimiterOpen.length;e>this.sectionStart&&this.cbs.ontext(this.sectionStart,e),this.state=3,this.sectionStart=e}else this.delimiterIndex++;else this.inRCDATA?(this.state=32,this.stateInRCDATA(e)):(this.state=1,this.stateText(e))}stateInterpolation(e){e===this.delimiterClose[0]&&(this.state=4,this.delimiterIndex=0,this.stateInterpolationClose(e))}stateInterpolationClose(e){e===this.delimiterClose[this.delimiterIndex]?this.delimiterIndex===this.delimiterClose.length-1?(this.cbs.oninterpolation(this.sectionStart,this.index+1),this.inRCDATA?this.state=32:this.state=1,this.sectionStart=this.index+1):this.delimiterIndex++:(this.state=3,this.stateInterpolation(e))}stateSpecialStartSequence(e){const t=this.sequenceIndex===this.currentSequence.length;if(t?uD(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.inRCDATA=!1;this.sequenceIndex=0,this.state=6,this.stateInTagName(e)}stateInRCDATA(e){if(this.sequenceIndex===this.currentSequence.length){if(62===e||lD(e)){const t=this.index-this.currentSequence.length;if(this.sectionStart=e||(28===this.state?this.currentSequence===dD.CdataEnd?this.cbs.oncdata(this.sectionStart,e):this.cbs.oncomment(this.sectionStart,e):6===this.state||11===this.state||18===this.state||17===this.state||12===this.state||13===this.state||14===this.state||15===this.state||16===this.state||20===this.state||19===this.state||21===this.state||9===this.state||this.cbs.ontext(this.sectionStart,e))}emitCodePoint(e,t){}}(eF,{onerr:xF,ontext(e,t){oF(rF(e,t),e,t)},ontextentity(e,t,n){oF(e,t,n)},oninterpolation(e,t){if(QD)return oF(rF(e,t),e,t);let n=e+tF.delimiterOpen.length,i=t-tF.delimiterClose.length;for(;lD(GD.charCodeAt(n));)n++;for(;lD(GD.charCodeAt(i-1));)i--;let r=rF(n,i);r.includes("&")&&(r=jD.decodeEntities(r,!1)),gF({type:5,content:TF(r,!1,_F(n,i)),loc:_F(e,t)})},onopentagname(e,t){const n=rF(e,t);HD={type:1,tag:n,ns:jD.getNamespace(n,eF[0],jD.ns),tagType:0,props:[],children:[],loc:_F(e-1,t),codegenNode:void 0}},onopentagend(e){sF(e)},onclosetag(e,t){const n=rF(e,t);if(!jD.isVoidTag(n)){let i=!1;for(let e=0;e0&&xF(24,eF[0].loc.start.offset);for(let n=0;n<=e;n++){aF(eF.shift(),t,n(7===e.type?e.rawName:e.name)===n)&&xF(2,t)},onattribend(e,t){if(HD&&WD){if(vF(WD.loc,t),0!==e)if(XD.includes("&")&&(XD=jD.decodeEntities(XD,!0)),6===WD.type)"class"===WD.name&&(XD=mF(XD).trim()),1!==e||XD||xF(13,t),WD.value={type:2,content:XD,loc:1===e?_F(qD,KD):_F(qD-1,KD+1)},tF.inSFCRoot&&"template"===HD.tag&&"lang"===WD.name&&XD&&"html"!==XD&&tF.enterRCDATA(cD("{const r=t.start.offset+n;return TF(e,!1,_F(r,r+e.length),0,i?1:0)},a={source:o(s.trim(),n.indexOf(s,r.length)),value:void 0,key:void 0,index:void 0,finalized:!1};let l=r.trim().replace(iF,"").trim();const u=r.indexOf(l),c=l.match(nF);if(c){l=l.replace(nF,"").trim();const e=c[1].trim();let t;if(e&&(t=n.indexOf(e,u+l.length),a.key=o(e,t,!0)),c[2]){const i=c[2].trim();i&&(a.index=o(i,n.indexOf(i,a.key?t+e.length:u+l.length),!0))}}l&&(a.value=o(l,u,!0));return a}(WD.exp));let t=-1;"bind"===WD.name&&(t=WD.modifiers.findIndex(e=>"sync"===e.content))>-1&&fD("COMPILER_V_BIND_SYNC",jD,WD.loc,WD.rawName)&&(WD.name="model",WD.modifiers.splice(t,1))}7===WD.type&&"pre"===WD.name||HD.props.push(WD)}XD="",qD=KD=-1},oncomment(e,t){jD.comments&&gF({type:3,content:rF(e,t),loc:_F(e-4,t+3)})},onend(){const e=GD.length;for(let t=0;t64&&n<91)||vD(e)||jD.isBuiltInComponent&&jD.isBuiltInComponent(e)||jD.isNativeTag&&!jD.isNativeTag(e))return!0;var n;for(let e=0;e6===e.type&&"inline-template"===e.name);n&&fD("COMPILER_INLINE_TEMPLATE",jD,n.loc)&&e.children.length&&(n.value={type:2,content:rF(e.children[0].loc.start.offset,e.children[e.children.length-1].loc.end.offset),loc:n.loc})}}function lF(e,t){let n=e;for(;GD.charCodeAt(n)!==t&&n>=0;)n--;return n}const uF=new Set(["if","else","else-if","for","slot"]);function cF({tag:e,props:t}){if("template"===e)for(let e=0;e0){if(e>=2){a.codegenNode.patchFlag=-1,o.push(a);continue}}else{const e=a.codegenNode;if(13===e.type){const t=e.patchFlag;if((void 0===t||512===t||1===t)&&MF(a,n)>=2){const t=kF(a);t&&(e.props=n.hoist(t))}e.dynamicProps&&(e.dynamicProps=n.hoist(e.dynamicProps))}}}else if(12===a.type){if((i?0:SF(a,n))>=2){o.push(a);continue}}if(1===a.type){const t=1===a.tagType;t&&n.scopes.vSlot++,AF(a,e,n,!1,r),t&&n.scopes.vSlot--}else if(11===a.type)AF(a,e,n,1===a.children.length,!0);else if(9===a.type)for(let t=0;te.key===t||e.key.content===t);return n&&n.value}}o.length&&n.transformHoist&&n.transformHoist(s,n,e)}function SF(e,t){const{constantCache:n}=t;switch(e.type){case 1:if(0!==e.tagType)return 0;const i=n.get(e);if(void 0!==i)return i;const r=e.codegenNode;if(13!==r.type)return 0;if(r.isBlock&&"svg"!==e.tag&&"foreignObject"!==e.tag&&"math"!==e.tag)return 0;if(void 0===r.patchFlag){let i=3;const s=MF(e,t);if(0===s)return n.set(e,0),0;s1)for(let r=0;r`_${GN[w.helper(e)]}`,replaceNode(e){w.parent.children[w.childIndex]=w.currentNode=e},removeNode(e){const t=w.parent.children,n=e?t.indexOf(e):w.currentNode?w.childIndex:-1;e&&e!==w.currentNode?w.childIndex>n&&(w.childIndex--,w.onNodeRemoved()):(w.currentNode=null,w.onNodeRemoved()),w.parent.children.splice(n,1)},onNodeRemoved:Rx,addIdentifiers(e){},removeIdentifiers(e){},hoist(e){Gx(e)&&(e=ZN(e)),w.hoists.push(e);const t=ZN(`_hoisted_${w.hoists.length}`,!1,e.loc,2);return t.hoisted=e,t},cache(e,t=!1,n=!1){const i=function(e,t,n=!1,i=!1){return{type:20,index:e,value:t,needPauseTracking:n,inVOnce:i,needArraySpread:!1,loc:HN}}(w.cached.length,e,t,n);return w.cached.push(i),i}};return w.filters=new Set,w}function NF(e,t){const n=RF(e,t);DF(e,n),t.hoistStatic&&wF(e,n),t.ssr||function(e,t){const{helper:n}=t,{children:i}=e;if(1===i.length){const n=i[0];if(IF(e,n)&&n.codegenNode){const i=n.codegenNode;13===i.type&&rD(i,t),e.codegenNode=i}else e.codegenNode=n}else if(i.length>1){let i=64;0,e.codegenNode=WN(t,n(oN),void 0,e.children,i,void 0,void 0,!0,void 0,!1)}}(e,n),e.helpers=new Set([...n.helpers.keys()]),e.components=[...n.components],e.directives=[...n.directives],e.imports=n.imports,e.hoists=n.hoists,e.temps=n.temps,e.cached=n.cached,e.transformed=!0,e.filters=[...n.filters]}function DF(e,t){t.currentNode=e;const{nodeTransforms:n}=t,i=[];for(let r=0;r{n--};for(;nt===e:t=>e.test(t);return(e,i)=>{if(1===e.type){const{props:r}=e;if(3===e.tagType&&r.some(ND))return;const s=[];for(let o=0;o`${GN[e]}: _${GN[e]}`;function BF(e,t={}){const n=function(e,{mode:t="function",prefixIdentifiers:n="module"===t,sourceMap:i=!1,filename:r="template.vue.html",scopeId:s=null,optimizeImports:o=!1,runtimeGlobalName:a="Vue",runtimeModuleName:l="vue",ssrRuntimeModuleName:u="vue/server-renderer",ssr:c=!1,isTS:d=!1,inSSR:h=!1}){const p={mode:t,prefixIdentifiers:n,sourceMap:i,filename:r,scopeId:s,optimizeImports:o,runtimeGlobalName:a,runtimeModuleName:l,ssrRuntimeModuleName:u,ssr:c,isTS:d,inSSR:h,source:e.source,code:"",column:1,line:1,offset:0,indentLevel:0,pure:!1,map:void 0,helper:e=>`_${GN[e]}`,push(e,t=-2,n){p.code+=e},indent(){f(++p.indentLevel)},deindent(e=!1){e?--p.indentLevel:f(--p.indentLevel)},newline(){f(p.indentLevel)}};function f(e){p.push("\n"+" ".repeat(e),0)}return p}(e,t);t.onContextCreated&&t.onContextCreated(n);const{mode:i,push:r,prefixIdentifiers:s,indent:o,deindent:a,newline:l,scopeId:u,ssr:c}=n,d=Array.from(e.helpers),h=d.length>0,p=!s&&"module"!==i;!function(e,t){const{ssr:n,prefixIdentifiers:i,push:r,newline:s,runtimeModuleName:o,runtimeGlobalName:a,ssrRuntimeModuleName:l}=t,u=a,c=Array.from(e.helpers);if(c.length>0&&(r(`const _Vue = ${u}\n`,-1),e.hoists.length)){r(`const { ${[fN,mN,gN,_N,yN].filter(e=>c.includes(e)).map(PF).join(", ")} } = _Vue\n`,-1)}(function(e,t){if(!e.length)return;t.pure=!0;const{push:n,newline:i}=t;i();for(let r=0;r0)&&l()),e.directives.length&&($F(e.directives,"directive",n),e.temps>0&&l()),e.filters&&e.filters.length&&(l(),$F(e.filters,"filter",n),l()),e.temps>0){r("let ");for(let t=0;t0?", ":""}_temp${t}`)}return(e.components.length||e.directives.length||e.temps)&&(r("\n",0),l()),c||r("return "),e.codegenNode?zF(e.codegenNode,n):r("null"),p&&(a(),r("}")),a(),r("}"),{ast:e,code:n.code,preamble:"",map:n.map?n.map.toJSON():void 0}}function $F(e,t,{helper:n,push:i,newline:r,isTS:s}){const o=n("filter"===t?xN:"component"===t?vN:TN);for(let n=0;n3||!1;t.push("["),n&&t.indent(),VF(e,t,n),n&&t.deindent(),t.push("]")}function VF(e,t,n=!1,i=!0){const{push:r,newline:s}=t;for(let o=0;oe||"null")}([s,o,a,f,u]),t),n(")"),d&&n(")");c&&(n(", "),zF(c,t),n(")"))}(e,t);break;case 14:!function(e,t){const{push:n,helper:i,pure:r}=t,s=Gx(e.callee)?e.callee:i(e.callee);r&&n(LF);n(s+"(",-2,e),VF(e.arguments,t),n(")")}(e,t);break;case 15:!function(e,t){const{push:n,indent:i,deindent:r,newline:s}=t,{properties:o}=e;if(!o.length)return void n("{}",-2,e);const a=o.length>1||!1;n(a?"{":"{ "),a&&i();for(let e=0;e "),(l||a)&&(n("{"),i());o?(l&&n("return "),Ux(o)?UF(o,t):zF(o,t)):a&&zF(a,t);(l||a)&&(r(),n("}"));u&&(e.isNonScopedSlot&&n(", undefined, true"),n(")"))}(e,t);break;case 19:!function(e,t){const{test:n,consequent:i,alternate:r,newline:s}=e,{push:o,indent:a,deindent:l,newline:u}=t;if(4===n.type){const e=!TD(n.content);e&&o("("),jF(n,t),e&&o(")")}else o("("),zF(n,t),o(")");s&&a(),t.indentLevel++,s||o(" "),o("? "),zF(i,t),t.indentLevel--,s&&u(),s||o(" "),o(": ");const c=19===r.type;c||t.indentLevel++;zF(r,t),c||t.indentLevel--;s&&l(!0)}(e,t);break;case 20:!function(e,t){const{push:n,helper:i,indent:r,deindent:s,newline:o}=t,{needPauseTracking:a,needArraySpread:l}=e;l&&n("[...(");n(`_cache[${e.index}] || (`),a&&(r(),n(`${i(PN)}(-1`),e.inVOnce&&n(", true"),n("),"),o(),n("("));n(`_cache[${e.index}] = `),zF(e.value,t),a&&(n(`).cacheIndex = ${e.index},`),o(),n(`${i(PN)}(1),`),o(),n(`_cache[${e.index}]`),s());n(")"),l&&n(")]")}(e,t);break;case 21:VF(e.body,t,!0,!1)}}function jF(e,t){const{content:n,isStatic:i}=e;t.push(i?JSON.stringify(n):n,-3,e)}function YF(e,t){for(let n=0;nfunction(e,t,n,i){if(!("else"===t.name||t.exp&&t.exp.content.trim())){const i=t.exp?t.exp.loc:e.loc;n.onError(_D(28,t.loc)),t.exp=ZN("true",!1,i)}0;if("if"===t.name){const r=WF(e,t),s={type:9,loc:yF(e.loc),branches:[r]};if(n.replaceNode(s),i)return i(s,r,!0)}else{const r=n.parent.children;let s=r.indexOf(e);for(;s-- >=-1;){const o=r[s];if(o&&3===o.type)n.removeNode(o);else{if(!o||2!==o.type||o.content.trim().length){if(o&&9===o.type){"else-if"===t.name&&void 0===o.branches[o.branches.length-1].condition&&n.onError(_D(30,e.loc)),n.removeNode();const r=WF(e,t);0,o.branches.push(r);const s=i&&i(o,r,!1);DF(r,n),s&&s(),n.currentNode=null}else n.onError(_D(30,e.loc));break}n.removeNode(o)}}}}(e,t,n,(e,t,i)=>{const r=n.parent.children;let s=r.indexOf(e),o=0;for(;s-- >=0;){const e=r[s];e&&9===e.type&&(o+=e.branches.length)}return()=>{if(i)e.codegenNode=XF(t,o,n);else{const i=function(e){for(;;)if(19===e.type){if(19!==e.alternate.type)return e;e=e.alternate}else 20===e.type&&(e=e.value)}(e.codegenNode);i.alternate=XF(t,o+e.branches.length-1,n)}}}));function WF(e,t){const n=3===e.tagType;return{type:10,loc:e.loc,condition:"else"===t.name?void 0:t.exp,children:n&&!OD(e,"for")?e.children:[e],userKey:MD(e,"key"),isTemplateIf:n}}function XF(e,t,n){return e.condition?tD(e.condition,qF(e,t,n),JN(n.helper(gN),['""',"true"])):qF(e,t,n)}function qF(e,t,n){const{helper:i}=n,r=KN("key",ZN(`${t}`,!1,HN,2)),{children:s}=e,o=s[0];if(1!==s.length||1!==o.type){if(1===s.length&&11===o.type){const e=o.codegenNode;return BD(e,r,n),e}{let t=64;return WN(n,i(oN),qN([r]),s,t,void 0,void 0,!0,!1,!1,e.loc)}}{const e=o.codegenNode,t=14===(a=e).type&&a.callee===jN?a.arguments[1].returns:a;return 13===t.type&&rD(t,n),BD(t,r,n),e}var a}const KF=(e,t,n)=>{const{modifiers:i,loc:r}=e,s=e.arg;let{exp:o}=e;if(o&&4===o.type&&!o.content.trim()&&(o=void 0),!o){if(4!==s.type||!s.isStatic)return n.onError(_D(52,s.loc)),{props:[KN(s,ZN("",!0,r))]};ZF(e),o=e.exp}return 4!==s.type?(s.children.unshift("("),s.children.push(') || ""')):s.isStatic||(s.content=`${s.content} || ""`),i.some(e=>"camel"===e.content)&&(4===s.type?s.isStatic?s.content=rE(s.content):s.content=`${n.helperString(DN)}(${s.content})`:(s.children.unshift(`${n.helperString(DN)}(`),s.children.push(")"))),n.inSSR||(i.some(e=>"prop"===e.content)&&QF(s,"."),i.some(e=>"attr"===e.content)&&QF(s,"^")),{props:[KN(s,o)]}},ZF=(e,t)=>{const n=e.arg,i=rE(n.content);e.exp=ZN(i,!1,n.loc)},QF=(e,t)=>{4===e.type?e.isStatic?e.content=t+e.content:e.content=`\`${t}\${${e.content}}\``:(e.children.unshift(`'${t}' + (`),e.children.push(")"))},JF=FF("for",(e,t,n)=>{const{helper:i,removeHelper:r}=n;return function(e,t,n,i){if(!t.exp)return void n.onError(_D(31,t.loc));const r=t.forParseResult;if(!r)return void n.onError(_D(32,t.loc));eL(r,n);const{addIdentifiers:s,removeIdentifiers:o,scopes:a}=n,{source:l,value:u,key:c,index:d}=r,h={type:11,loc:t.loc,source:l,valueAlias:u,keyAlias:c,objectIndexAlias:d,parseResult:r,children:DD(e)?e.children:[e]};n.replaceNode(h),a.vFor++;const p=i&&i(h);return()=>{a.vFor--,p&&p()}}(e,t,n,t=>{const s=JN(i(wN),[t.source]),o=DD(e),a=OD(e,"memo"),l=MD(e,"key",!1,!0);l&&7===l.type&&!l.exp&&ZF(l);let u=l&&(6===l.type?l.value?ZN(l.value.content,!0):void 0:l.exp);const c=l&&u?KN("key",u):null,d=4===t.source.type&&t.source.constType>0,h=d?64:l?128:256;return t.codegenNode=WN(n,i(oN),void 0,s,h,void 0,void 0,!0,!d,!1,e.loc),()=>{let l;const{children:h}=t;const p=1!==h.length||1!==h[0].type,f=FD(e)?e:o&&1===e.children.length&&FD(e.children[0])?e.children[0]:null;if(f?(l=f.codegenNode,o&&c&&BD(l,c,n)):p?l=WN(n,i(oN),c?qN([c]):void 0,e.children,64,void 0,void 0,!0,void 0,!1):(l=h[0].codegenNode,o&&c&&BD(l,c,n),l.isBlock!==!d&&(l.isBlock?(r(dN),r(iD(n.inSSR,l.isComponent))):r(nD(n.inSSR,l.isComponent))),l.isBlock=!d,l.isBlock?(i(dN),i(iD(n.inSSR,l.isComponent))):i(nD(n.inSSR,l.isComponent))),a){const e=eD(tL(t.parseResult,[ZN("_cached")]));e.body={type:21,body:[QN(["const _memo = (",a.exp,")"]),QN(["if (_cached",...u?[" && _cached.key === ",u]:[],` && ${n.helperString(YN)}(_cached, _memo)) return _cached`]),QN(["const _item = ",l]),ZN("_item.memo = _memo"),ZN("return _item")],loc:HN},s.arguments.push(e,ZN("_cache"),ZN(String(n.cached.length))),n.cached.push(null)}else s.arguments.push(eD(tL(t.parseResult),l,!0))}})});function eL(e,t){e.finalized||(e.finalized=!0)}function tL({value:e,key:t,index:n},i=[]){return function(e){let t=e.length;for(;t--&&!e[t];);return e.slice(0,t+1).map((e,t)=>e||ZN("_".repeat(t+1),!1))}([e,t,n,...i])}const nL=ZN("undefined",!1),iL=(e,t)=>{if(1===e.type&&(1===e.tagType||3===e.tagType)){const n=OD(e,"slot");if(n)return n.exp,t.scopes.vSlot++,()=>{t.scopes.vSlot--}}},rL=(e,t,n,i)=>eD(e,n,!1,!0,n.length?n[0].loc:i);function sL(e,t,n=rL){t.helper(UN);const{children:i,loc:r}=e,s=[],o=[];let a=t.scopes.vSlot>0||t.scopes.vFor>0;const l=OD(e,"slot",!0);if(l){const{arg:e,exp:t}=l;e&&!yD(e)&&(a=!0),s.push(KN(e||ZN("default",!0),n(t,void 0,i,r)))}let u=!1,c=!1;const d=[],h=new Set;let p=0;for(let e=0;e{const s=n(e,void 0,i,r);return t.compatConfig&&(s.isNonScopedSlot=!0),KN("default",s)};u?d.length&&d.some(e=>lL(e))&&(c?t.onError(_D(39,d[0].loc)):s.push(e(void 0,d))):s.push(e(void 0,i))}const f=a?2:aL(e.children)?3:1;let m=qN(s.concat(KN("_",ZN(f+"",!1))),r);return o.length&&(m=JN(t.helper(AN),[m,XN(o)])),{slots:m,hasDynamicSlots:a}}function oL(e,t,n){const i=[KN("name",e),KN("fn",t)];return null!=n&&i.push(KN("key",ZN(String(n),!0))),qN(i)}function aL(e){for(let t=0;tfunction(){if(1!==(e=t.currentNode).type||0!==e.tagType&&1!==e.tagType)return;const{tag:n,props:i}=e,r=1===e.tagType;let s=r?function(e,t,n=!1){let{tag:i}=e;const r=fL(i),s=MD(e,"is",!1,!0);if(s)if(r||pD("COMPILER_IS_ON_ELEMENT",t)){let e;if(6===s.type?e=s.value&&ZN(s.value.content,!0):(e=s.exp,e||(e=ZN("is",!1,s.arg.loc))),e)return JN(t.helper(bN),[e])}else 6===s.type&&s.value.content.startsWith("vue:")&&(i=s.value.content.slice(4));const o=vD(i)||t.isBuiltInComponent(i);if(o)return n||t.helper(o),o;return t.helper(vN),t.components.add(i),UD(i,"component")}(e,t):`"${n}"`;const o=Wx(s)&&s.callee===bN;let a,l,u,c,d,h=0,p=o||s===aN||s===lN||!r&&("svg"===n||"foreignObject"===n||"math"===n);if(i.length>0){const n=dL(e,t,void 0,r,o);a=n.props,h=n.patchFlag,c=n.dynamicPropNames;const i=n.directives;d=i&&i.length?XN(i.map(e=>function(e,t){const n=[],i=uL.get(e);i?n.push(t.helperString(i)):(t.helper(TN),t.directives.add(e.name),n.push(UD(e.name,"directive")));const{loc:r}=e;e.exp&&n.push(e.exp);e.arg&&(e.exp||n.push("void 0"),n.push(e.arg));if(Object.keys(e.modifiers).length){e.arg||(e.exp||n.push("void 0"),n.push("void 0"));const t=ZN("true",!1,r);n.push(qN(e.modifiers.map(e=>KN(e,t)),r))}return XN(n,e.loc)}(e,t))):void 0,n.shouldUseBlock&&(p=!0)}if(e.children.length>0){s===uN&&(p=!0,h|=1024);if(r&&s!==aN&&s!==uN){const{slots:n,hasDynamicSlots:i}=sL(e,t);l=n,i&&(h|=1024)}else if(1===e.children.length&&s!==aN){const n=e.children[0],i=n.type,r=5===i||8===i;r&&0===SF(n,t)&&(h|=1),l=r||2===i?n:e.children}else l=e.children}c&&c.length&&(u=function(e){let t="[";for(let n=0,i=e.length;n0;let p=!1,f=0,m=!1,g=!1,_=!1,y=!1,v=!1,b=!1;const T=[],x=e=>{u.length&&(c.push(qN(hL(u),a)),u=[]),e&&c.push(e)},E=()=>{t.scopes.vFor>0&&u.push(KN(ZN("ref_for",!0),ZN("true")))},w=({key:e,value:n})=>{if(yD(e)){const s=e.content,o=Dx(s);if(!o||i&&!r||"onclick"===s.toLowerCase()||"onUpdate:modelValue"===s||eE(s)||(y=!0),o&&eE(s)&&(b=!0),o&&14===n.type&&(n=n.arguments[0]),20===n.type||(4===n.type||8===n.type)&&SF(n,t)>0)return;"ref"===s?m=!0:"class"===s?g=!0:"style"===s?_=!0:"key"===s||T.includes(s)||T.push(s),!i||"class"!==s&&"style"!==s||T.includes(s)||T.push(s)}else v=!0};for(let r=0;r"prop"===e.content)&&(f|=32);const T=t.directiveTransforms[n];if(T){const{props:n,needRuntime:i}=T(l,e,t);!s&&n.forEach(w),b&&r&&!yD(r)?x(qN(n,a)):u.push(...n),i&&(d.push(l),Hx(i)&&uL.set(l,i))}else tE(n)||(d.push(l),h&&(p=!0))}}let I;if(c.length?(x(),I=c.length>1?JN(t.helper(CN),c,a):c[0]):u.length&&(I=qN(hL(u),a)),v?f|=16:(g&&!i&&(f|=2),_&&!i&&(f|=4),T.length&&(f|=8),y&&(f|=32)),p||0!==f&&32!==f||!(m||b||d.length>0)||(f|=512),!t.inSSR&&I)switch(I.type){case 15:let e=-1,n=-1,i=!1;for(let t=0;t{if(FD(e)){const{children:n,loc:i}=e,{slotName:r,slotProps:s}=function(e,t){let n,i='"default"';const r=[];for(let t=0;t0){const{props:i,directives:s}=dL(e,t,r,!1,!1);n=i,s.length&&t.onError(_D(36,s[0].loc))}return{slotName:i,slotProps:n}}(e,t),o=[t.prefixIdentifiers?"_ctx.$slots":"$slots",r,"{}","undefined","true"];let a=2;s&&(o[2]=s,a=3),n.length&&(o[3]=eD([],n,!1,!1,i),a=4),t.scopeId&&!t.slotted&&(a=5),o.splice(a),e.codegenNode=JN(t.helper(IN),o,i)}};const gL=(e,t,n,i)=>{const{loc:r,modifiers:s,arg:o}=e;let a;if(e.exp||s.length||n.onError(_D(35,r)),4===o.type)if(o.isStatic){let e=o.content;0,e.startsWith("vue:")&&(e=`vnode-${e.slice(4)}`);a=ZN(0!==t.tagType||e.startsWith("vnode")||!/[A-Z]/.test(e)?lE(rE(e)):`on:${e}`,!0,o.loc)}else a=QN([`${n.helperString(LN)}(`,o,")"]);else a=o,a.children.unshift(`${n.helperString(LN)}(`),a.children.push(")");let l=e.exp;l&&!l.content.trim()&&(l=void 0);let u=n.cacheHandlers&&!l&&!n.inVOnce;if(l){const e=AD(l),t=!(e||CD(l)),n=l.content.includes(";");0,(t||u&&e)&&(l=QN([`${t?"$event":"(...args)"} => ${n?"{":"("}`,l,n?"}":")"]))}let c={props:[KN(a,l||ZN("() => {}",!1,r))]};return i&&(c=i(c)),u&&(c.props[0].value=n.cache(c.props[0].value)),c.props.forEach(e=>e.key.isHandlerKey=!0),c},_L=(e,t)=>{if(0===e.type||1===e.type||11===e.type||10===e.type)return()=>{const n=e.children;let i,r=!1;for(let e=0;e7===e.type&&!t.directiveTransforms[e.name])||"template"===e.tag)))for(let e=0;e{if(1===e.type&&OD(e,"once",!0)){if(yL.has(e)||t.inVOnce||t.inSSR)return;return yL.add(e),t.inVOnce=!0,t.helper(PN),()=>{t.inVOnce=!1;const e=t.currentNode;e.codegenNode&&(e.codegenNode=t.cache(e.codegenNode,!0,!0))}}},bL=(e,t,n)=>{const{exp:i,arg:r}=e;if(!i)return n.onError(_D(41,e.loc)),TL();const s=i.loc.source.trim(),o=4===i.type?i.content:s,a=n.bindingMetadata[s];if("props"===a||"props-aliased"===a)return n.onError(_D(44,i.loc)),TL();if(!o.trim()||!AD(i))return n.onError(_D(42,i.loc)),TL();const l=r||ZN("modelValue",!0),u=r?yD(r)?`onUpdate:${rE(r.content)}`:QN(['"onUpdate:" + ',r]):"onUpdate:modelValue";let c;c=QN([`${n.isTS?"($event: any)":"$event"} => ((`,i,") = $event)"]);const d=[KN(l,e.exp),KN(u,c)];if(e.modifiers.length&&1===t.tagType){const t=e.modifiers.map(e=>e.content).map(e=>(TD(e)?e:JSON.stringify(e))+": true").join(", "),n=r?yD(r)?`${r.content}Modifiers`:QN([r,' + "Modifiers"']):"modelModifiers";d.push(KN(n,ZN(`{ ${t} }`,!1,e.loc,2)))}return TL(d)};function TL(e=[]){return{props:e}}const xL=/[\w).+\-_$\]]/,EL=(e,t)=>{pD("COMPILER_FILTERS",t)&&(5===e.type?wL(e.content,t):1===e.type&&e.props.forEach(e=>{7===e.type&&"for"!==e.name&&e.exp&&wL(e.exp,t)}))};function wL(e,t){if(4===e.type)IL(e,t);else for(let n=0;n=0&&(e=n.charAt(t)," "===e);t--);e&&xL.test(e)||(c=!0)}}else void 0===o?(f=s+1,o=n.slice(0,s).trim()):g();function g(){m.push(n.slice(f,s).trim()),f=s+1}if(void 0===o?o=n.slice(0,s).trim():0!==f&&g(),m.length){for(s=0;s{if(1===e.type){const n=OD(e,"memo");if(!n||SL.has(e))return;return SL.add(e),()=>{const i=e.codegenNode||t.currentNode.codegenNode;i&&13===i.type&&(1!==e.tagType&&rD(i,t),e.codegenNode=JN(t.helper(jN),[n.exp,eD(void 0,i),"_cache",String(t.cached.length)]),t.cached.push(null))}}};function OL(e,t={}){const n=t.onError||mD,i="module"===t.mode;!0===t.prefixIdentifiers?n(_D(47)):i&&n(_D(48));t.cacheHandlers&&n(_D(49)),t.scopeId&&!i&&n(_D(50));const r=Lx({},t,{prefixIdentifiers:!1}),s=Gx(e)?EF(e,r):e,[o,a]=[[vL,HF,CL,JF,EL,mL,cL,iL,_L],{on:gL,bind:KF,model:bL}];return NF(s,Lx({},r,{nodeTransforms:[...o,...t.nodeTransforms||[]],directiveTransforms:Lx({},a,t.directiveTransforms||{})})),BF(s,r)}const ML=Symbol(""),kL=Symbol(""),RL=Symbol(""),NL=Symbol(""),DL=Symbol(""),FL=Symbol(""),LL=Symbol(""),PL=Symbol(""),BL=Symbol(""),$L=Symbol("");var UL;let VL;UL={[ML]:"vModelRadio",[kL]:"vModelCheckbox",[RL]:"vModelText",[NL]:"vModelSelect",[DL]:"vModelDynamic",[FL]:"withModifiers",[LL]:"withKeys",[PL]:"vShow",[BL]:"Transition",[$L]:"TransitionGroup"},Object.getOwnPropertySymbols(UL).forEach(e=>{GN[e]=UL[e]});const zL={parseMode:"html",isVoidTag:SE,isNativeTag:e=>wE(e)||IE(e)||AE(e),isPreTag:e=>"pre"===e,isIgnoreNewlineTag:e=>"pre"===e||"textarea"===e,decodeEntities:function(e,t=!1){return VL||(VL=document.createElement("div")),t?(VL.innerHTML=`
`,VL.children[0].getAttribute("foo")):(VL.innerHTML=e,VL.textContent)},isBuiltInComponent:e=>"Transition"===e||"transition"===e?BL:"TransitionGroup"===e||"transition-group"===e?$L:void 0,getNamespace(e,t,n){let i=t?t.ns:n;if(t&&2===i)if("annotation-xml"===t.tag){if("svg"===e)return 1;t.props.some(e=>6===e.type&&"encoding"===e.name&&null!=e.value&&("text/html"===e.value.content||"application/xhtml+xml"===e.value.content))&&(i=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&"mglyph"!==e&&"malignmark"!==e&&(i=0);else t&&1===i&&("foreignObject"!==t.tag&&"desc"!==t.tag&&"title"!==t.tag||(i=0));if(0===i){if("svg"===e)return 1;if("math"===e)return 2}return i}},jL=(e,t)=>{const n=TE(e);return ZN(JSON.stringify(n),!1,t,3)};function YL(e,t){return _D(e,t)}const GL=Ox("passive,once,capture"),HL=Ox("stop,prevent,self,ctrl,shift,alt,meta,exact,middle"),WL=Ox("left,right"),XL=Ox("onkeyup,onkeydown,onkeypress"),qL=(e,t)=>yD(e)&&"onclick"===e.content.toLowerCase()?ZN(t,!0):4!==e.type?QN(["(",e,`) === "onClick" ? "${t}" : (`,e,")"]):e;const KL=(e,t)=>{1!==e.type||0!==e.tagType||"script"!==e.tag&&"style"!==e.tag||t.removeNode()};const ZL=[e=>{1===e.type&&e.props.forEach((t,n)=>{6===t.type&&"style"===t.name&&t.value&&(e.props[n]={type:7,name:"bind",arg:ZN("style",!0,t.loc),exp:jL(t.value.content,t.loc),modifiers:[],loc:t.loc})})}],QL={cloak:()=>({props:[]}),html:(e,t,n)=>{const{exp:i,loc:r}=e;return i||n.onError(YL(53,r)),t.children.length&&(n.onError(YL(54,r)),t.children.length=0),{props:[KN(ZN("innerHTML",!0,r),i||ZN("",!0))]}},text:(e,t,n)=>{const{exp:i,loc:r}=e;return i||n.onError(YL(55,r)),t.children.length&&(n.onError(YL(56,r)),t.children.length=0),{props:[KN(ZN("textContent",!0),i?SF(i,n)>0?i:JN(n.helperString(SN),[i],r):ZN("",!0))]}},model:(e,t,n)=>{const i=bL(e,t,n);if(!i.props.length||1===t.tagType)return i;e.arg&&n.onError(YL(58,e.arg.loc));const{tag:r}=t,s=n.isCustomElement(r);if("input"===r||"textarea"===r||"select"===r||s){let o=RL,a=!1;if("input"===r||s){const i=MD(t,"type");if(i){if(7===i.type)o=DL;else if(i.value)switch(i.value.content){case"radio":o=ML;break;case"checkbox":o=kL;break;case"file":a=!0,n.onError(YL(59,e.loc))}}else(function(e){return e.props.some(e=>!(7!==e.type||"bind"!==e.name||e.arg&&4===e.arg.type&&e.arg.isStatic))})(t)&&(o=DL)}else"select"===r&&(o=NL);a||(i.needRuntime=n.helper(o))}else n.onError(YL(57,e.loc));return i.props=i.props.filter(e=>!(4===e.key.type&&"modelValue"===e.key.content)),i},on:(e,t,n)=>gL(e,t,n,t=>{const{modifiers:i}=e;if(!i.length)return t;let{key:r,value:s}=t.props[0];const{keyModifiers:o,nonKeyModifiers:a,eventOptionModifiers:l}=((e,t,n)=>{const i=[],r=[],s=[];for(let o=0;o{const{exp:i,loc:r}=e;return i||n.onError(YL(61,r)),{props:[],needRuntime:n.helper(PL)}}};const JL=Object.create(null);YM(function(e,t){if(!Gx(e)){if(!e.nodeType)return Rx;e=e.innerHTML}const n=function(e,t){return e+JSON.stringify(t,(e,t)=>"function"==typeof t?t.toString():t)}(e,t),i=JL[n];if(i)return i;if("#"===e[0]){const t=document.querySelector(e);0,e=t?t.innerHTML:""}const r=Lx({hoistStatic:!0,onError:void 0,onWarn:Rx},t);r.isCustomElement||"undefined"==typeof customElements||(r.isCustomElement=e=>!!customElements.get(e));const{code:s}=function(e,t={}){return OL(e,Lx({},zL,t,{nodeTransforms:[KL,...ZL,...t.nodeTransforms||[]],directiveTransforms:Lx({},QL,t.directiveTransforms||{}),transformHoist:null}))}(e,r),o=new Function("Vue",s)(oe);return o._rc=!0,JL[n]=o});var eP=__webpack_require__(66619),tP=__webpack_require__.n(eP);const nP={stage:new(tP().Container),pointer:{x:0,y:0},backgroundSprite:null,sprites:{},texts:{},counter:0,keys:{},state:!1,running:!1,repeatPlay:()=>{},displayTag:!1,processingDisplayEvent:null,successDisplayEvents:[],successProcessingDisplayEvents:[],startTime:performance.now(),timer:0,lastFrameTime:null,lastSecond:null,targetFPS:60,frameCount:0,currentFPS:60,canvasHeight:450,canvasWidth:800,gameLoop:()=>{1==nP.state&&(nP.repeatPlay(),nP.gameLoopDisplay()),nP.timer=performance.now()-nP.startTime},animate:e=>{e-nP.lastFrameTime>=1e3/nP.targetFPS&&(nP.frameCount++,nP.gameLoop(),nP.renderer.render(nP.stage),nP.lastFrameTime=e),e-nP.lastSecond>=1e3&&(nP.currentFPS=nP.frameCount,nP.frameCount=0,nP.lastSecond=e),requestAnimationFrame(nP.animate)}};nP.createBackground=(e,t=0)=>{var n;return 0==t&&(n=new(tP().Sprite.fromImage)(`../common/media/spriteimg/${e}.png`)),n.name="background",n.anchor.set(.5),n.x=nP.canvasWidth/2,n.y=nP.canvasHeight/2,n.width=nP.canvasWidth,n.height=nP.canvasHeight,n.interactive=!0,n.buttonMode=!0,n.isDown=!1,n.isUp=!0,n.on("mousedown",function(){this.isDown=!0,this.isUp=!1,nP.state&&this.runningMouseDown()}).on("mouseup",function(){this.isDown=!1,this.isUp=!0}).on("mouseupoutside",function(){this.isDown=!1,this.isUp=!0}),n.runningMouseDown=new Function(""),nP.backgroundSprite&&nP.backgroundSprite.parent&&nP.stage.removeChild(nP.backgroundSprite),nP.backgroundSprite=n,nP.stage.addChildAt(nP.backgroundSprite,0),0},nP.createASprite=(e,t=nP.canvasWidth/2,n=nP.canvasHeight/2,i="",r=0)=>{var s;return""==i&&(i="sprite"+ ++nP.counter),0==r&&(s=new(tP().Sprite.fromImage)(`../common/media/spriteimg/${e}.png`)),nP.sprites[i]||nP.texts[i]||(s.name=i,s.anchor.set(.5),s.x=t,s.y=n,s.interactive=!0,s.buttonMode=!0,s.isDown=!1,s.isUp=!0,s.on("mousedown",function(e){this.isDown=!0,this.isUp=!1,nP.state?this.runningMouseDown():(this.data=e.data,this.alpha=.5,this.dragging=!0)}).on("mouseup",function(){this.isDown=!1,this.isUp=!0,nP.state||(this.alpha=1,this.dragging=!1,this.data=null)}).on("mouseupoutside",function(){this.isDown=!1,this.isUp=!0,nP.state||(this.alpha=1,this.dragging=!1,this.data=null)}).on("mousemove",function(){if(!nP.state&&this.dragging){var e=this.data.getLocalPosition(this.parent);this.position.x=e.x,this.position.y=e.y}}),s.runningMouseDown=new Function(""),s.show=function(){this.visible=!0},s.hide=function(){this.visible=!1},s.enlarge=function(e){const t=this.height/this.width;var n=Math.sqrt(this.height*this.width);n+=e,this.width=Math.sqrt(n*n/t),this.height=this.width*t},s.enlargeTo=function(e){var t=this.height/this.width;this.width=Math.sqrt(e*e/t),this.height=this.width*t},s.expandTo=async function(e,t=1){if(nP.running){nP.displayTag=!0,nP.processingDisplayEvent={sprite:this,targetS:e,totalTime:1e3*t,startTime:performance.now(),displayType:"expand"};var n=new Promise(e=>{if(!1===nP.displayTag)e();else{const t=setInterval(()=>{!1===nP.displayTag&&(clearInterval(t),e())},10)}});return await n}return nP.successProcessingDisplayEvents.push({sprite:this,targetS:e,totalTime:1e3*t,startTime:performance.now(),displayType:"expand"}),0},s.move=function(e){this.x+=e*Math.cos(this.rotation),this.y+=e*Math.sin(this.rotation)},s.moveTo=function(e,t){this.x=e,this.y=t},s.slideTo=async function(e,t,n=1){if(nP.running){nP.displayTag=!0,nP.processingDisplayEvent={sprite:this,targetX:e,targetY:t,totalTime:1e3*n,startTime:performance.now(),displayType:"slide"};var i=new Promise(e=>{const t=setInterval(()=>{!1===nP.displayTag&&(clearInterval(t),e())},10)});return await i}return nP.successProcessingDisplayEvents.push({sprite:this,targetX:e,targetY:t,totalTime:1e3*n,startTime:performance.now(),displayType:"slide"}),0},s.addX=function(e){this.x+=e},s.addY=function(e){this.y+=e},s.rotate=function(e){this.rotation+=Math.PI/180*e},s.rotateTo=function(e){this.rotation=Math.PI/180*e},s.circleTo=async function(e,t=1){if(nP.running){nP.displayTag=!0,nP.processingDisplayEvent={sprite:this,targetDegree:e,totalTime:1e3*t,startTime:performance.now(),displayType:"circle"};var n=new Promise(e=>{if(!1===nP.displayTag)e();else{const t=setInterval(()=>{!1===nP.displayTag&&(clearInterval(t),e())},10)}});return await n}return nP.successProcessingDisplayEvents.push({sprite:this,targetDegree:e,totalTime:1e3*t,startTime:performance.now(),displayType:"circle"}),0},s.hit=function(e){return nP.hitTestRectangle(this,e)},s.outOfScreen=function(){return this.y>=nP.renderer.height||this.y<=0||this.x<=0||this.x>=nP.renderer.width},s.mouseAction=function(e){this.runningMouseDown=e},s.setScale=function(e=0,t=0){0==e&&(e=this.height),0==t&&(t=this.width),this.height=e,this.width=t},s.filterGray=function(){const e=new(tP().filters.ColorMatrixFilter);e.blackAndWhite(),this.filters=[e]},s.filterBrighter=function(){const e=new(tP().filters.ColorMatrixFilter);e.brightness(1.25),this.filters=[e]},s.filterOrigin=function(){this.filters=null},nP.stage.addChild(s),nP.sprites[i]=s),i},nP.clearAllSprites=()=>{nP.backgroundSprite&&nP.backgroundSprite.parent&&nP.backgroundSprite.parent.removeChild(nP.backgroundSprite);for(const e in nP.sprites)nP.sprites[e].parent.removeChild(nP.sprites[e]),delete nP.sprites[e];for(const e in nP.texts)nP.texts[e].parent.removeChild(nP.texts[e]),delete nP.texts[e];return nP.counter=0,nP.clearTimer(),0},nP.createText=(e,t=nP.canvasWidth/2,n=nP.canvasHeight/2,i="")=>{if(""==i&&(i="text"+ ++nP.counter),!nP.sprites[i]&&!nP.texts[i]){var r=new(tP().Text)(e);r.name=i,r.x=t,r.y=n,r.interactive=!0,r.buttonMode=!0,r.on("mousedown",function(e){this.isDown=!0,this.isUp=!1,nP.state?this.runningMouseDown():(this.data=e.data,this.alpha=.5,this.dragging=!0)}).on("mouseup",function(){this.isDown=!1,this.isUp=!0,nP.state||(this.alpha=1,this.dragging=!1,this.data=null)}).on("mouseupoutside",function(){this.isDown=!1,this.isUp=!0,nP.state||(this.alpha=1,this.dragging=!1,this.data=null)}).on("mousemove",function(){if(!nP.state&&this.dragging){var e=this.data.getLocalPosition(this.parent);this.position.x=e.x,this.position.y=e.y}}),r.runningMouseDown=new Function(""),r.changeText=function(e){this.text=e},r.show=function(){this.visible=!0},r.hide=function(){this.visible=!1},nP.stage.addChild(r),nP.texts[i]=r}return i},nP.hitTestRectangle=(e,t)=>{let n,i,r,s,o;return n=!1,e.centerX=e.x+e.width/2,e.centerY=e.y+e.height/2,t.centerX=t.x+t.width/2,t.centerY=t.y+t.height/2,e.halfWidth=e.width/2,e.halfHeight=e.height/2,t.halfWidth=t.width/2,t.halfHeight=t.height/2,s=e.centerX-t.centerX,o=e.centerY-t.centerY,i=e.halfWidth+t.halfWidth,r=e.halfHeight+t.halfHeight,n=Math.abs(s){nP.repeatPlay=e},nP.isKeyboardHit=e=>{if(!nP.keys[e]){let t=nP.keyboard(e);nP.keys[e]=t}return nP.keys[e].isDown},nP.keyboardListener=(e,t)=>{if(nP.keys[e])nP.keys[e].press=function(){nP.state&&t()};else{let n=nP.keyboard(e);n.press=function(){nP.state&&t()},nP.keys[e]=n}},nP.keyboard=e=>{let t={};t.value=e,t.isDown=!1,t.isUp=!0,t.press=void 0,t.release=void 0,t.downHandler=e=>{e.key===t.value&&(t.isUp&&t.press&&t.press(),t.isDown=!0,t.isUp=!1,e.preventDefault())},t.upHandler=e=>{e.key===t.value&&(t.isDown&&t.release&&t.release(),t.isDown=!1,t.isUp=!0,e.preventDefault())};const n=t.downHandler.bind(t),i=t.upHandler.bind(t);return window.addEventListener("keydown",n,!1),window.addEventListener("keyup",i,!1),t.unsubscribe=()=>{window.removeEventListener("keydown",n),window.removeEventListener("keyup",i)},t},nP.clearTimer=()=>{nP.startTime=performance.now()},nP.gameLoopDisplay=()=>{if(nP.processingDisplayEvent){const e=nP.processingDisplayEvent;switch(e.displayType){case"slide":if(performance.now()>=e.totalTime+e.startTime)e.sprite.moveTo(e.targetX,e.targetY),nP.displayTag=!1,nP.processingDisplayEvent=null;else(t=nP.currentFPS*(e.totalTime+e.startTime-performance.now())/1e3)>=1&&(e.sprite.addX((e.targetX-e.sprite.x)/t),e.sprite.addY((e.targetY-e.sprite.y)/t));break;case"expand":if(performance.now()>=e.totalTime+e.startTime)e.sprite.enlargeTo(e.targetS),nP.displayTag=!1,nP.processingDisplayEvent=null;else(t=nP.currentFPS*(e.totalTime+e.startTime-performance.now())/1e3)>=1&&e.sprite.enlarge((e.targetS-Math.sqrt(e.sprite.height*e.sprite.width))/t);break;case"circle":if(performance.now()>=e.totalTime+e.startTime)e.sprite.rotateTo(e.targetDegree),nP.displayTag=!1,nP.processingDisplayEvent=null;else(t=nP.currentFPS*(e.totalTime+e.startTime-performance.now())/1e3)>=1&&e.sprite.rotate((e.targetDegree-180*e.sprite.rotation/Math.PI)/t)}}if(!nP.running&&nP.successProcessingDisplayEvents.length)for(var e=nP.successProcessingDisplayEvents.length-1;e>=0;e--){const n=nP.successProcessingDisplayEvents[e];switch(n.displayType){case"slide":if(performance.now()>=n.totalTime+n.startTime)n.sprite.moveTo(n.targetX,n.targetY),nP.successProcessingDisplayEvents.splice(e,1);else(t=nP.currentFPS*(n.totalTime+n.startTime-performance.now())/1e3)>=1&&(n.sprite.addX((n.targetX-n.sprite.x)/t),n.sprite.addY((n.targetY-n.sprite.y)/t));break;case"expand":if(performance.now()>=n.totalTime+n.startTime)n.sprite.enlargeTo(n.targetS),nP.successProcessingDisplayEvents.splice(e,1);else(t=nP.currentFPS*(n.totalTime+n.startTime-performance.now())/1e3)>=1&&n.sprite.enlarge((n.targetS-Math.sqrt(n.sprite.height*n.sprite.width))/t);break;case"circle":var t;if(performance.now()>=n.totalTime+n.startTime)n.sprite.rotateTo(n.targetDegree),nP.successProcessingDisplayEvents.splice(e,1);else(t=nP.currentFPS*(n.totalTime+n.startTime-performance.now())/1e3)>=1&&n.sprite.rotate((n.targetDegree-180*n.sprite.rotation/Math.PI)/t)}}},nP.changeWidth=e=>{const t=Cx()(nP.renderer.view),n=t.width(),i=t.height();t.width(e),t.height(e/n*i)},nP.kill=()=>{nP.state=!1,nP.repeatPlay=new Function;for(let e in nP.keys)nP.keys[e].unsubscribe(),delete nP.keys[e];nP.processingDisplayEvent=null,nP.displayTag=!1,nP.running=!1,nP.clearTimer()},nP.runit=e=>{const t=Cx()(e);t.empty(),tP().SCALE_MODES.DEFAULT=tP().SCALE_MODES.NEAREST,nP.renderer=tP().autoDetectRenderer(nP.canvasWidth,nP.canvasHeight,{backgroundColor:16777215}),t.append(nP.renderer.view),nP.pointer={x:0,y:0},nP.stage.sortableChildren=!0,nP.stage.interactive=!0,nP.stage.on("mousemove",(e=tP().InteractionEvent)=>{nP.pointer.x=e.data.global.x,nP.pointer.y=e.data.global.y}),nP.lastFrameTime=0,nP.running=!0,nP.lastFrameTime||(nP.lastFrameTime=performance.now(),nP.lastSecond=performance.now()),nP.animate(performance.now()),nP.repeatPlay=new Function;for(let e in nP.keys)nP.keys[e].unsubscribe(),delete nP.keys[e];nP.backgroundSprite&&(nP.backgroundSprite.runningMouseDown=new Function);for(let e in nP.sprites)nP.sprites[e].runningMouseDown=new Function;for(let e in nP.texts)nP.texts[e].runningMouseDown=new Function;nP.processingDisplayEvent=null,nP.displayTag=!1,nP.clearTimer(),nP.changeWidth(Cx()("body").width()/2),nP.state=!0},window.mixlySprite=nP;const iP=nP;var rP=__webpack_require__(69610);class sP{constructor(e,t){this._pageLoad=new rP.D,this._kernelAvailable=new rP.D,this._loaderId="basthon-loader",this._doNotHideLoader=!0;const n=e.language;if(null!=t&&(this._loaderId=t),"loading"===document.readyState){const e=()=>{document.removeEventListener("DOMContentLoaded",e),this._pageLoad.resolve()};document.addEventListener("DOMContentLoaded",e)}else this._pageLoad.resolve();(async()=>{switch(n){case"python":case"python3":case"python3.11":const{KernelPython3:t}=await __webpack_require__.e(211).then(__webpack_require__.bind(__webpack_require__,20211));this._kernel=new t(e);break;case"python3-old":case"python3.8":const{KernelPython3Old:i}=await __webpack_require__.e(195).then(__webpack_require__.bind(__webpack_require__,95195));this._kernel=new i(e);break;case"js":case"javascript":const{KernelJavaScript:r}=await __webpack_require__.e(97).then(__webpack_require__.bind(__webpack_require__,4097));this._kernel=new r(e);break;case"sql":const{KernelSQL:s}=await Promise.all([__webpack_require__.e(960),__webpack_require__.e(837)]).then(__webpack_require__.bind(__webpack_require__,90592));this._kernel=new s(e);break;case"ocaml":const{KernelOCaml:o}=await __webpack_require__.e(38).then(__webpack_require__.bind(__webpack_require__,50038));this._kernel=new o(e);break;default:return window.console.error(`Kernel '${n}' not supported.`),void this._kernelAvailable.reject()}window.Basthon=this._kernel,this._kernelAvailable.resolve(this._kernel)})()}async pageLoad(){await this._pageLoad.promise}async kernelAvailable(){return await this._kernelAvailable.promise}async kernelLoaded(){const e=await this.kernelAvailable();return await e.loaded(),e}get kernel(){return this._kernel}get kernelSafe(){var e;return(null===(e=this.kernel)||void 0===e?void 0:e.ready)?this.kernel:null}async showLoader(e,t=!1,n=!0){this.kernelAvailable().then(()=>{var e;return null===(e=this.kernel)||void 0===e?void 0:e.init()}),__webpack_require__.e(317).then(__webpack_require__.bind(__webpack_require__,1317));const i="basthon-loader-"+(t?"full":"foot"),r=document.createElement("div");r.id=this._loaderId,r.classList.add("darklighted"),r.classList.add("basthon-loader-root"),r.classList.add(i);const s=document.createElement("div");s.classList.add("basthon-loader-container"),s.classList.add(i),r.appendChild(s);const o=document.createElement("div");o.classList.add("basthon-loader-spinner"),o.classList.add(i),o.innerHTML="",s.appendChild(o);const a=document.createElement("div");a.classList.add("basthon-loader-break"),a.classList.add(i),s.appendChild(a);const l=document.createElement("div");l.classList.add("basthon-loader-text"),l.classList.add(i),l.innerHTML=e,s.appendChild(l),this._loaderTextElem=l;const u=document.createElement("div");u.classList.add("basthon-loader-text"),u.classList.add(i),u.style.display="none",s.appendChild(u),this._loaderTextError=u,await this.pageLoad(),document.body.appendChild(r),this._rootLoader=r;try{await this.kernelLoaded()}catch(e){const t=this.browser();this.setErrorText(`Erreur de chargement de Basthon !!!
Vérifiez que votre navigateur est à jour.
Version détectée : ${t.name} ${t.version}.`);for(const e of document.body.querySelectorAll(".basthon-loader-foot"))e.classList.remove("basthon-loader-foot"),e.classList.add("basthon-loader-full");return o.classList.remove("basthon-loader-spinner"),o.classList.add("basthon-loader-error"),void(this._doNotHideLoader=!0)}this._doNotHideLoader=!1,n&&this.hideLoader()}setLoaderText(e){null!=this._loaderTextElem&&(this._loaderTextElem.innerHTML=e)}setErrorText(e){null!=this._loaderTextElem&&(this._loaderTextElem.style.display="none"),null!=this._loaderTextError&&(this._loaderTextError.style.display="",this._loaderTextError.innerHTML=e)}hideLoader(){if(this._doNotHideLoader)return;const e=this._rootLoader;null!=e&&(e.classList.add("basthon-loader-hide"),window.setTimeout(()=>{this._rootLoader=void 0,e.remove()},1100))}browser(){var e,t=navigator.userAgent,n=t.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];return/trident/i.test(n[1])?{name:"IE",version:(e=/\brv[ :]+(\d+)/g.exec(t)||[])[1]||""}:"Chrome"===n[1]&&null!=(e=t.match(/\bOPR|Edge\/(\d+)/))?{name:"Opera",version:e[1]}:(n=n[2]?[n[1],n[2]]:[navigator.appName,navigator.appVersion,"-?"],null!=(e=t.match(/version\/(\d+)/i))&&n.splice(1,1,e[1]),{name:n[0],version:n[1]})}}class oP extends ze.PageBase{static{ze.HTMLTemplate.add("html/statusbar/statusbar-image.html",new ze.HTMLTemplate('\r\n
')),this.init=function(){ze.StatusBarsManager.typesRegistry.register(["images"],oP);const e=ze.Workspace.getMain().getStatusBarsManager();return e.add({type:"images",id:"images",name:Ve.Msg.PYTHON_PYODIDE_IMAGE,title:Ve.Msg.PYTHON_PYODIDE_IMAGE}),e.changeTo("output"),e.get("images")}}constructor(){super();const e=Cx()(ze.HTMLTemplate.get("html/statusbar/statusbar-image.html").render());this.setContent(e)}init(){super.init(),this.hideCloseBtn()}clean(){this.getContent().empty()}display(e){const t=this.getContent(),n=function(e){e.style.width="auto",e.style.height="auto",e.style.maxWidth="100%",e.style.maxHeight="100%"};this.clean();let i=e.content,r=null,s=null;switch(e.display_type){case"p5":i.style.width="100%",i.style.height="100%",i.style.display="flex",i.style.justifyContent="center",i.style.alignItems="center",new MutationObserver(function(e){e.forEach(e=>e.addedNodes.forEach(e=>{const t=e;null!=t.tagName&&["canvas","video"].includes(t.tagName.toLowerCase())&&n(t)}))}).observe(i,{childList:!0}),i.querySelectorAll("canvas,video").forEach(n),t.append(i);break;case"matplotlib":r=i.querySelector("canvas"),r&&(i=r),i.style.width="",i.style.height="",i.style.maxWidth="100%",i.style.maxHeight="100%",t.append(i);break;case"ocaml-canvas":i.style.width="",i.style.height="",i.style.maxWidth="100%",i.style.maxHeight="100%",t.append(i);break;case"turtle":i.setAttribute("width","100%"),i.setAttribute("height","100%"),t.append(i.outerHTML);break;case"sympy":t.append(e.content),void 0===window.MathJax?(console.log("Loading MathJax (Sympy expression needs it)."),function(){let e=document.createElement("script");e.type="text/javascript",e.src="https://cdn.jsdelivr.net/npm/mathjax@3.0.5/es5/tex-mml-chtml.js",document.getElementsByTagName("head")[0].appendChild(e)}()):window.MathJax.typeset();break;case"multiple":for(let n of["image/svg+xml","image/png","text/html","text/plain"])if(n in e.content){let i=e.content[n];"image/png"===n&&(i=''),t.append(i);break}break;case"tutor":if(t.append(Cx()(e.content.replace("overflow-y%3A%20hidden%3B",""))),s=this.getContent()[0].getElementsByTagName("iframe")[0],null==s)return;s.style.maxHeight=s.style.minHeight="100%",new IntersectionObserver((e,t)=>{const n=e[0];n&&!n.isIntersecting||(s.contentWindow?.postMessage({type:"redraw"},"*"),t.disconnect())}).observe(s);break;default:console.error(`Not supported node type '${e.display_type}' in eval.display result processing.`)}}}const aP=layui;var lP;!function(e){e[e.EPERM=1]="EPERM",e[e.ENOENT=2]="ENOENT",e[e.EINTR=4]="EINTR",e[e.EIO=5]="EIO",e[e.ENXIO=6]="ENXIO",e[e.EBADF=9]="EBADF",e[e.EAGAIN=11]="EAGAIN",e[e.ENOMEM=12]="ENOMEM",e[e.EACCES=13]="EACCES",e[e.EFAULT=14]="EFAULT",e[e.ENOTBLK=15]="ENOTBLK",e[e.EBUSY=16]="EBUSY",e[e.EEXIST=17]="EEXIST",e[e.EXDEV=18]="EXDEV",e[e.ENODEV=19]="ENODEV",e[e.ENOTDIR=20]="ENOTDIR",e[e.EISDIR=21]="EISDIR",e[e.EINVAL=22]="EINVAL",e[e.ENFILE=23]="ENFILE",e[e.EMFILE=24]="EMFILE",e[e.ETXTBSY=26]="ETXTBSY",e[e.EFBIG=27]="EFBIG",e[e.ENOSPC=28]="ENOSPC",e[e.ESPIPE=29]="ESPIPE",e[e.EROFS=30]="EROFS",e[e.EMLINK=31]="EMLINK",e[e.EPIPE=32]="EPIPE",e[e.EDOM=33]="EDOM",e[e.ERANGE=34]="ERANGE",e[e.EDEADLK=35]="EDEADLK",e[e.ENAMETOOLONG=36]="ENAMETOOLONG",e[e.ENOLCK=37]="ENOLCK",e[e.ENOSYS=38]="ENOSYS",e[e.ENOTEMPTY=39]="ENOTEMPTY",e[e.ELOOP=40]="ELOOP",e[e.ENOMSG=42]="ENOMSG",e[e.EBADE=52]="EBADE",e[e.EBADR=53]="EBADR",e[e.EXFULL=54]="EXFULL",e[e.ENOANO=55]="ENOANO",e[e.EBADRQC=56]="EBADRQC",e[e.ENOSTR=60]="ENOSTR",e[e.ENODATA=61]="ENODATA",e[e.ETIME=62]="ETIME",e[e.ENOSR=63]="ENOSR",e[e.ENONET=64]="ENONET",e[e.EREMOTE=66]="EREMOTE",e[e.ENOLINK=67]="ENOLINK",e[e.ECOMM=70]="ECOMM",e[e.EPROTO=71]="EPROTO",e[e.EBADMSG=74]="EBADMSG",e[e.EOVERFLOW=75]="EOVERFLOW",e[e.EBADFD=77]="EBADFD",e[e.ESTRPIPE=86]="ESTRPIPE",e[e.ENOTSOCK=88]="ENOTSOCK",e[e.EDESTADDRREQ=89]="EDESTADDRREQ",e[e.EMSGSIZE=90]="EMSGSIZE",e[e.EPROTOTYPE=91]="EPROTOTYPE",e[e.ENOPROTOOPT=92]="ENOPROTOOPT",e[e.EPROTONOSUPPORT=93]="EPROTONOSUPPORT",e[e.ESOCKTNOSUPPORT=94]="ESOCKTNOSUPPORT",e[e.ENOTSUP=95]="ENOTSUP",e[e.ENETDOWN=100]="ENETDOWN",e[e.ENETUNREACH=101]="ENETUNREACH",e[e.ENETRESET=102]="ENETRESET",e[e.ETIMEDOUT=110]="ETIMEDOUT",e[e.ECONNREFUSED=111]="ECONNREFUSED",e[e.EHOSTDOWN=112]="EHOSTDOWN",e[e.EHOSTUNREACH=113]="EHOSTUNREACH",e[e.EALREADY=114]="EALREADY",e[e.EINPROGRESS=115]="EINPROGRESS",e[e.ESTALE=116]="ESTALE",e[e.EREMOTEIO=121]="EREMOTEIO",e[e.EDQUOT=122]="EDQUOT"}(lP||(lP={}));const uP={[lP.EPERM]:"Operation not permitted",[lP.ENOENT]:"No such file or directory",[lP.EINTR]:"Interrupted system call",[lP.EIO]:"Input/output error",[lP.ENXIO]:"No such device or address",[lP.EBADF]:"Bad file descriptor",[lP.EAGAIN]:"Resource temporarily unavailable",[lP.ENOMEM]:"Cannot allocate memory",[lP.EACCES]:"Permission denied",[lP.EFAULT]:"Bad address",[lP.ENOTBLK]:"Block device required",[lP.EBUSY]:"Resource busy or locked",[lP.EEXIST]:"File exists",[lP.EXDEV]:"Invalid cross-device link",[lP.ENODEV]:"No such device",[lP.ENOTDIR]:"File is not a directory",[lP.EISDIR]:"File is a directory",[lP.EINVAL]:"Invalid argument",[lP.ENFILE]:"Too many open files in system",[lP.EMFILE]:"Too many open files",[lP.ETXTBSY]:"Text file busy",[lP.EFBIG]:"File is too big",[lP.ENOSPC]:"No space left on disk",[lP.ESPIPE]:"Illegal seek",[lP.EROFS]:"Cannot modify a read-only file system",[lP.EMLINK]:"Too many links",[lP.EPIPE]:"Broken pipe",[lP.EDOM]:"Numerical argument out of domain",[lP.ERANGE]:"Numerical result out of range",[lP.EDEADLK]:"Resource deadlock would occur",[lP.ENAMETOOLONG]:"File name too long",[lP.ENOLCK]:"No locks available",[lP.ENOSYS]:"Function not implemented",[lP.ENOTEMPTY]:"Directory is not empty",[lP.ELOOP]:"Too many levels of symbolic links",[lP.ENOMSG]:"No message of desired type",[lP.EBADE]:"Invalid exchange",[lP.EBADR]:"Invalid request descriptor",[lP.EXFULL]:"Exchange full",[lP.ENOANO]:"No anode",[lP.EBADRQC]:"Invalid request code",[lP.ENOSTR]:"Device not a stream",[lP.ENODATA]:"No data available",[lP.ETIME]:"Timer expired",[lP.ENOSR]:"Out of streams resources",[lP.ENONET]:"Machine is not on the network",[lP.EREMOTE]:"Object is remote",[lP.ENOLINK]:"Link has been severed",[lP.ECOMM]:"Communication error on send",[lP.EPROTO]:"Protocol error",[lP.EBADMSG]:"Bad message",[lP.EOVERFLOW]:"Value too large for defined data type",[lP.EBADFD]:"File descriptor in bad state",[lP.ESTRPIPE]:"Streams pipe error",[lP.ENOTSOCK]:"Socket operation on non-socket",[lP.EDESTADDRREQ]:"Destination address required",[lP.EMSGSIZE]:"Message too long",[lP.EPROTOTYPE]:"Protocol wrong type for socket",[lP.ENOPROTOOPT]:"Protocol not available",[lP.EPROTONOSUPPORT]:"Protocol not supported",[lP.ESOCKTNOSUPPORT]:"Socket type not supported",[lP.ENOTSUP]:"Operation is not supported",[lP.ENETDOWN]:"Network is down",[lP.ENETUNREACH]:"Network is unreachable",[lP.ENETRESET]:"Network dropped connection on reset",[lP.ETIMEDOUT]:"Connection timed out",[lP.ECONNREFUSED]:"Connection refused",[lP.EHOSTDOWN]:"Host is down",[lP.EHOSTUNREACH]:"No route to host",[lP.EALREADY]:"Operation already in progress",[lP.EINPROGRESS]:"Operation now in progress",[lP.ESTALE]:"Stale file handle",[lP.EREMOTEIO]:"Remote I/O error",[lP.EDQUOT]:"Disk quota exceeded"};class cP extends Error{static fromJSON(e){const t=new cP(e.errno,e.message,e.path,e.syscall);return t.code=e.code,t.stack=e.stack,t}static With(e,t,n){return new cP(lP[e],uP[lP[e]],t,n)}constructor(e,t=uP[e],n,i=""){super(t),this.errno=e,this.path=n,this.syscall=i,this.code=lP[e],this.message=this.code+": "+t+(this.path?`, '${this.path}'`:"")}toString(){return this.message}toJSON(){return{errno:this.errno,code:this.code,path:this.path,stack:this.stack,message:this.message,syscall:this.syscall}}bufferSize(){return 4+JSON.stringify(this.toJSON()).length}}let dP="/";function hP(e,t){let n="",i=0,r=-1,s=0,o="\0";for(let a=0;a<=e.length;++a){if(a2){const e=n.lastIndexOf("/");-1===e?(n="",i=0):(n=n.slice(0,e),i=n.length-1-n.lastIndexOf("/")),r=a,s=0;continue}if(0!==n.length){n="",i=0,r=a,s=0;continue}}t&&(n+=n.length>0?"/..":"..",i=2)}else n.length>0?n+="/"+e.slice(r+1,a):n=e.slice(r+1,a),i=a-r-1;r=a,s=0}else"."===o&&-1!==s?++s:s=-1}return n}function pP(...e){let t="";for(const n of[...e.reverse(),dP])if(n.length&&(t=`${n}/${t}`,n.startsWith("/")))break;const n=t.startsWith("/");return t=hP(t,!n),n?`/${t}`:t.length?t:"/"}function fP(...e){if(!e.length)return".";const t=e.join("/");return t?.length?function(e){if(!e.length)return".";const t=e.startsWith("/"),n=e.endsWith("/");return(e=hP(e,!t)).length?(n&&(e+="/"),t?`/${e}`:e):t?"/":n?"./":"."}(t):"."}function mP(e){if(0===e.length)return".";const t="/"===e[0];let n=-1,i=!0;for(let t=e.length-1;t>=1;--t)if("/"===e[t]){if(!i){n=t;break}}else i=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)}function gP(e,t){let n=0,i=-1,r=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let s=t.length-1,o=-1;for(let a=e.length-1;a>=0;--a)if("/"===e[a]){if(!r){n=a+1;break}}else-1===o&&(r=!1,o=a+1),s>=0&&(e[a]===t[s]?-1===--s&&(i=a):(s=-1,i=o));return n===i?i=o:-1===i&&(i=e.length),e.slice(n,i)}for(let t=e.length-1;t>=0;--t)if("/"===e[t]){if(!r){n=t+1;break}}else-1===i&&(r=!1,i=t+1);return-1===i?"":e.slice(n,i)}function _P(e){const t=e.startsWith("/"),n={root:t?"/":"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;const i=t?1:0;let r=-1,s=0,o=-1,a=!0,l=e.length-1,u=0;for(;l>=i;--l)if("/"!==e[l])-1===o&&(a=!1,o=l+1),"."===e[l]?-1===r?r=l:1!==u&&(u=1):-1!==r&&(u=-1);else if(!a){s=l+1;break}if(-1!==o){const i=0===s&&t?1:s;-1===r||0===u||1===u&&r===o-1&&r===s+1?n.base=n.name=e.slice(i,o):(n.name=e.slice(i,r),n.base=e.slice(i,o),n.ext=e.slice(r,o))}return s>0?n.dir=e.slice(0,s-1):t&&(n.dir="/"),n}const yP=new TextEncoder;function vP(e){if("string"!=typeof e)throw new cP(lP.EINVAL,"Can not encode a non-string");return yP.encode(e)}const bP=new TextDecoder;function TP(e){if(!(e instanceof Uint8Array))throw new cP(lP.EINVAL,"Can not decode a non-Uint8Array");return bP.decode(e)}function xP(e){return JSON.parse(TP(e),(e,t)=>""==e?t:BigInt(t))}function EP(e){return vP(JSON.stringify(e,(e,t)=>""==e?t:t.toString()))}function wP(e,t){if("number"==typeof e)return e;if("string"==typeof e){const t=parseInt(e,8);if(!isNaN(t))return t}if("number"==typeof t)return t;throw new cP(lP.EINVAL,"Invalid mode: "+e?.toString())}function IP(e){if(e instanceof Date)return e;try{return new Date(e)}catch{throw new cP(lP.EINVAL,"Invalid time.")}}function AP(e){if((e=e.toString()).includes("\0"))throw new cP(lP.EINVAL,"Path can not contain null character");if(0==e.length)throw new cP(lP.EINVAL,"Path can not be empty");return pP(e.replaceAll(/[/\\]+/g,"/"))}function SP(e,t="utf8",n,i=0){return"object"!=typeof e||null===e?{encoding:"string"==typeof e?e:t??null,flag:n,mode:i}:{encoding:"string"==typeof e?.encoding?e.encoding:t??null,flag:"string"==typeof e?.flag?e.flag:n,mode:wP("mode"in e?e?.mode:null,i)}}function CP(){return crypto.getRandomValues(new BigUint64Array(1))[0]}const OP={uid:0,gid:0,suid:0,sgid:0,euid:0,egid:0,groups:[]};function MP(e){return{suid:e.uid,sgid:e.gid,euid:e.uid,egid:e.gid,groups:[],...e}}const kP=0,RP=4,NP=2,DP=1,FP=1,LP=2,PP=4,BP=0,$P=1,UP=2,VP=64,zP=128,jP=256,YP=512,GP=1024,HP=65536,WP=262144,XP=131072,qP=1052672,KP=4096,ZP=32768,QP=16384,JP=2048,eB=61440,tB=49152,nB=40960,iB=32768,rB=24576,sB=16384,oB=8192,aB=4096,lB=2048,uB=1024,cB=512,dB=448,hB=256,pB=128,fB=64,mB=56,gB=32,_B=16,yB=8,vB=7,bB=4,TB=2,xB=1,EB=0,wB=2**32-1,IB={checkAccess:!0,updateOnRead:!0,syncImmediately:!0,unsafeBufferReplace:!1};Promise.withResolvers??(Promise.withResolvers=function(){let e,t;const n=new Promise((n,i)=>{e=n,t=i});return{promise:n,resolve:e,reject:t}}),Symbol.dispose??(Symbol.dispose=Symbol("Symbol.dispose")),Symbol.asyncDispose??(Symbol.asyncDispose=Symbol("Symbol.asyncDispose"));class AB{_convert(e){return this._isBigint?BigInt(e):Number(e)}get blocks(){return this._convert(Math.ceil(Number(this.size)/512))}get atime(){return new Date(Number(this.atimeMs))}set atime(e){this.atimeMs=this._convert(e.getTime())}get mtime(){return new Date(Number(this.mtimeMs))}set mtime(e){this.mtimeMs=this._convert(e.getTime())}get ctime(){return new Date(Number(this.ctimeMs))}set ctime(e){this.ctimeMs=this._convert(e.getTime())}get birthtime(){return new Date(Number(this.birthtimeMs))}set birthtime(e){this.birthtimeMs=this._convert(e.getTime())}constructor({atimeMs:e,mtimeMs:t,ctimeMs:n,birthtimeMs:i,uid:r,gid:s,size:o,mode:a,ino:l}={}){this.dev=this._convert(0),this.ino=this._convert(0),this.rdev=this._convert(0),this.nlink=this._convert(1),this.blksize=this._convert(4096),this.uid=this._convert(0),this.gid=this._convert(0);const u=Date.now();this.atimeMs=this._convert(e??u),this.mtimeMs=this._convert(t??u),this.ctimeMs=this._convert(n??u),this.birthtimeMs=this._convert(i??u),this.uid=this._convert(r??0),this.gid=this._convert(s??0),this.size=this._convert(o??0),this.ino=this._convert(l??0),this.mode=this._convert(a??420&iB),0==(this.mode&eB)&&(this.mode=this.mode|this._convert(iB))}isFile(){return(this.mode&eB)===iB}isDirectory(){return(this.mode&eB)===sB}isSymbolicLink(){return(this.mode&eB)===nB}isSocket(){return(this.mode&eB)===tB}isBlockDevice(){return(this.mode&eB)===rB}isCharacterDevice(){return(this.mode&eB)===oB}isFIFO(){return(this.mode&eB)===aB}hasAccess(e,t){const n=t?.credentials||OP;if(this.isSymbolicLink()||0===n.euid||0===n.egid)return!0;let i=0;return n.uid===this.uid&&(this.mode&hB&&(i|=RP),this.mode&pB&&(i|=NP),this.mode&fB&&(i|=DP)),(n.gid===this.gid||n.groups.includes(Number(this.gid)))&&(this.mode&gB&&(i|=RP),this.mode&_B&&(i|=NP),this.mode&yB&&(i|=DP)),this.mode&bB&&(i|=RP),this.mode&TB&&(i|=NP),this.mode&xB&&(i|=DP),(i&e)===e}chmod(e){this.mode=this._convert(this.mode&eB|e)}chown(e,t){e=Number(e),t=Number(t),!isNaN(e)&&0<=e&&e<2**32&&(this.uid=this._convert(e)),!isNaN(t)&&0<=t&&t<2**32&&(this.gid=this._convert(t))}get atimeNs(){return 1000n*BigInt(this.atimeMs)}get mtimeNs(){return 1000n*BigInt(this.mtimeMs)}get ctimeNs(){return 1000n*BigInt(this.ctimeMs)}get birthtimeNs(){return 1000n*BigInt(this.birthtimeMs)}}function SB(e,t,n){!isNaN(t)&&0<=t&&t<2**32&&(e.uid=t),!isNaN(n)&&0<=n&&n<2**32&&(e.gid=n)}class CB extends AB{constructor(){super(...arguments),this._isBigint=!1}}class OB extends AB{constructor(){super(...arguments),this._isBigint=!0}}class MB{constructor(){this.type=525687744115,this.bsize=4096,this.blocks=0,this.bfree=0,this.bavail=0,this.files=wB,this.ffree=wB}}class kB{constructor(){this.type=0x7a656e6673n,this.bsize=4096n,this.blocks=0n,this.bfree=0n,this.bavail=0n,this.files=BigInt(wB),this.ffree=BigInt(wB)}}const RB=["r","r+","rs","rs+","w","wx","w+","wx+","a","ax","a+","ax+"];function NB(e){if("number"==typeof e)return function(e){switch(e){case BP:return"r";case BP|qP:return"rs";case UP:return"r+";case UP|qP:return"rs+";case YP|VP|$P:return"w";case YP|VP|$P|zP:return"wx";case YP|VP|UP:return"w+";case YP|VP|UP|zP:return"wx+";case GP|VP|$P:return"a";case GP|VP|$P|zP:return"ax";case GP|VP|UP:return"a+";case GP|VP|UP|zP:return"ax+";default:throw new Error("Invalid flag number: "+e)}}(e);if(!RB.includes(e))throw new Error("Invalid flag string: "+e);return e}function DB(e){let t=0;return t<<=1,t+=+FB(e),t<<=1,t+=+LB(e),t<<=1,t}function FB(e){return-1!==e.indexOf("r")||-1!==e.indexOf("+")}function LB(e){return-1!==e.indexOf("w")||-1!==e.indexOf("a")||-1!==e.indexOf("+")}function PB(e){return-1!==e.indexOf("w")}function BB(e){return-1!==e.indexOf("a")}function $B(e){return-1!==e.indexOf("x")}class UB{constructor(e,t){this.fs=e,this.path=t}async[Symbol.asyncDispose](){await this.close()}[Symbol.dispose](){this.closeSync()}datasync(){return this.sync()}datasyncSync(){return this.syncSync()}}class VB extends UB{constructor(e,t,n,i,r=new Uint8Array(new ArrayBuffer(0,e.metadata().noResizableBuffers?{}:{maxByteLength:wB}))){if(super(e,t),this.flag=n,this.stats=i,this._buffer=r,this._position=0,this.dirty=!1,this.closed=!1,this.stats.size!=r.byteLength){if(FB(this.flag))throw new Error(`Size mismatch: buffer length ${r.byteLength}, stats size ${this.stats.size}`);this.dirty=!0}}get buffer(){return this._buffer}get position(){return BB(this.flag)?this.stats.size:this._position}set position(e){this._position=e}async sync(){if(this.closed)throw cP.With("EBADF",this.path,"File.sync");this.dirty&&(await this.fs.sync(this.path,this._buffer,this.stats),this.dirty=!1)}syncSync(){if(this.closed)throw cP.With("EBADF",this.path,"File.sync");this.dirty&&(this.fs.syncSync(this.path,this._buffer,this.stats),this.dirty=!1)}async close(){if(this.closed)throw cP.With("EBADF",this.path,"File.close");await this.sync(),this.dispose()}closeSync(){if(this.closed)throw cP.With("EBADF",this.path,"File.close");this.syncSync(),this.dispose()}dispose(e){if(this.closed)throw cP.With("EBADF",this.path,"File.dispose");if(this.dirty&&!e)throw cP.With("EBUSY",this.path,"File.dispose");delete this._buffer,delete this.stats,this.closed=!0}stat(){if(this.closed)throw cP.With("EBADF",this.path,"File.stat");return Promise.resolve(new CB(this.stats))}statSync(){if(this.closed)throw cP.With("EBADF",this.path,"File.stat");return new CB(this.stats)}_truncate(e){if(this.closed)throw cP.With("EBADF",this.path,"File.truncate");if(this.dirty=!0,!LB(this.flag))throw new cP(lP.EPERM,"File not opened with a writeable mode.");if(this.stats.mtimeMs=Date.now(),e>this._buffer.length){const t=new Uint8Array(e-this._buffer.length);return void this._write(t,0,t.length,this._buffer.length)}this.stats.size=e,this._buffer=e?this._buffer.slice(0,e):new Uint8Array}async truncate(e){this._truncate(e),IB.syncImmediately&&await this.sync()}truncateSync(e){this._truncate(e),IB.syncImmediately&&this.syncSync()}_write(e,t=0,n=this.stats.size,i=this.position){if(this.closed)throw cP.With("EBADF",this.path,"File.write");if(!LB(this.flag))throw new cP(lP.EPERM,"File not opened with a writeable mode.");this.dirty=!0;const r=i+n,s=e.slice(t,t+n);if(r>this.stats.size&&(this.stats.size=r,r>this._buffer.byteLength))if(this._buffer.buffer.resizable&&this._buffer.buffer.maxByteLength<=r)this._buffer.buffer.resize(r);else if(IB.unsafeBufferReplace)this._buffer=s;else{const e=new Uint8Array(new ArrayBuffer(r,this.fs.metadata().noResizableBuffers?{}:{maxByteLength:wB}));e.set(this._buffer),this._buffer=e}return this._buffer.set(s,i),this.stats.mtimeMs=Date.now(),this.position=i+s.byteLength,s.byteLength}async write(e,t,n,i){const r=this._write(e,t,n,i);return IB.syncImmediately&&await this.sync(),r}writeSync(e,t=0,n=this.stats.size,i=this.position){const r=this._write(e,t,n,i);return IB.syncImmediately&&this.syncSync(),r}_read(e,t=0,n=this.stats.size,i){if(this.closed)throw cP.With("EBADF",this.path,"File.read");if(!FB(this.flag))throw new cP(lP.EPERM,"File not opened with a readable mode.");IB.updateOnRead&&(this.dirty=!0),this.stats.atimeMs=Date.now(),i??(i=this.position);let r=i+n;r>this.stats.size&&(r=i+Math.max(this.stats.size-i,0)),this._position=r;const s=r-i;return 0==s||new Uint8Array(e.buffer,t,n).set(this._buffer.slice(i,r)),s}async read(e,t,n,i){const r=this._read(e,t,n,i);return IB.syncImmediately&&await this.sync(),{bytesRead:r,buffer:e}}readSync(e,t,n,i){const r=this._read(e,t,n,i);return IB.syncImmediately&&this.syncSync(),r}async chmod(e){if(this.closed)throw cP.With("EBADF",this.path,"File.chmod");this.dirty=!0,this.stats.mode=this.stats.mode&(e>eB?~eB:eB)|e,(IB.syncImmediately||e>eB)&&await this.sync()}chmodSync(e){if(this.closed)throw cP.With("EBADF",this.path,"File.chmod");this.dirty=!0,this.stats.mode=this.stats.mode&(e>eB?~eB:eB)|e,(IB.syncImmediately||e>eB)&&this.syncSync()}async chown(e,t){if(this.closed)throw cP.With("EBADF",this.path,"File.chown");this.dirty=!0,SB(this.stats,e,t),IB.syncImmediately&&await this.sync()}chownSync(e,t){if(this.closed)throw cP.With("EBADF",this.path,"File.chown");this.dirty=!0,SB(this.stats,e,t),IB.syncImmediately&&this.syncSync()}async utimes(e,t){if(this.closed)throw cP.With("EBADF",this.path,"File.utimes");this.dirty=!0,this.stats.atime=e,this.stats.mtime=t,IB.syncImmediately&&await this.sync()}utimesSync(e,t){if(this.closed)throw cP.With("EBADF",this.path,"File.utimes");this.dirty=!0,this.stats.atime=e,this.stats.mtime=t,IB.syncImmediately&&this.syncSync()}}class zB{metadata(){return{name:this.constructor.name.toLowerCase(),readonly:!1,totalSpace:0,freeSpace:0,noResizableBuffers:!1,noAsyncCache:this._disableSync??!1,type:525687744115}}constructor(...e){}async ready(){}async exists(e){try{return await this.stat(e),!0}catch(e){return"ENOENT"!=e.code}}existsSync(e){try{return this.statSync(e),!0}catch(e){return"ENOENT"!=e.code}}}var jB=__webpack_require__(30228);Symbol.toStringTag,Symbol.iterator;const YB=Intl.NumberFormat("en",{notation:"compact"});YB.format.bind(YB);function GB(e){return e.at(0).toUpperCase()+e.slice(1)}const HB=["int8","uint8","int16","uint16","int32","uint32","int64","uint64","float32","float64"],WB=[...HB,...HB.map(e=>GB(e)),"char"],XB=/^(u?int|float)(8|16|32|64)$/i;function qB(e){return"char"==e?"uint8":e.toLowerCase()}function KB(e){return XB.test(e.toString())}function ZB(e){return"char"==e||XB.test(e.toString().toLowerCase())}Symbol.struct_init||=Symbol("struct_init"),Symbol.struct_metadata||=Symbol("struct_metadata");Symbol.struct_init,Symbol.struct_metadata;function QB(e){const t=Symbol.metadata||Object.getOwnPropertySymbols(e).find(e=>"Symbol.metadata"==e.description);var n;if(n=e,Symbol?.metadata&&(Symbol.metadata in n||Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:Object.create(null)})),!t)throw new ReferenceError("Could not get a reference to Symbol.metadata");return t}function JB(e){return"function"==typeof e&&QB(e)in e&&function(e){return null!=e&&"object"==typeof e&&Symbol.struct_metadata in e}(e[QB(e)])}function e$(e){return null!=e&&"object"==typeof e&&JB(e.constructor)}function t$(e){if(!e$(e))throw new TypeError(("function"==typeof e?e.name:"object"==typeof e&&e?e.constructor.name:e)+" is not a struct instance")}function n$(e){if(!function(e){return e$(e)||JB(e)}(e))throw new TypeError(("function"==typeof e?e.name:"object"==typeof e&&e?e.constructor.name:e)+" is not a struct")}function i$(e){if("string"==typeof e)return function(e){if(!ZB(e))throw new TypeError("Not a valid primitive type: "+e)}(e),+qB(e).match(XB)[2]/8;n$(e);const t=JB(e)?e:e.constructor;return t[QB(t)][Symbol.struct_metadata].size}function r$(e,t){return Math.ceil(e/t)*t}function s$(e={}){return function(t,n){n.metadata??={},n.metadata[Symbol.struct_init]||=[];let i=0;const r=new Map;for(const t of n.metadata[Symbol.struct_init]){const{name:n,type:s,length:o}=t;if(!ZB(s)&&!JB(s))throw new TypeError("Not a valid type: "+s);r.set(n,{offset:i,type:ZB(s)?qB(s):s,length:o}),i+=i$(s)*(o||1),i=r$(i,e.align||1)}return n.metadata[Symbol.struct_metadata]={options:e,members:r,size:i},t}}function o$(e,t){return function(n,i){let r=i.name;if("symbol"==typeof r&&(console.warn("Symbol used for struct member name will be coerced to string: "+r.toString()),r=r.toString()),!r)throw new ReferenceError("Invalid name for struct member");return i.metadata??={},i.metadata[Symbol.struct_init]||=[],i.metadata[Symbol.struct_init].push({name:r,type:e,length:t}),n}}function a$(e){t$(e);const{options:t,members:n}=e.constructor[QB(e.constructor)][Symbol.struct_metadata],i=new Uint8Array(i$(e)),r=new DataView(i.buffer);for(const[s,{type:o,length:a,offset:l}]of n)for(let n=0;n<(a||1);n++){const u=l+i$(o)*n;let c=a>0?e[s][n]:e[s];if("string"==typeof c&&(c=c.charCodeAt(0)),!KB(o)){i.set(c?a$(c):new Uint8Array(i$(o)),u);continue}const d="set"+GB(o);"setInt64"!=d?"setUint64"!=d?r[d](u,Number(c),!t.bigEndian):r.setBigUint64(u,BigInt(c),!t.bigEndian):r.setBigInt64(u,BigInt(c),!t.bigEndian)}return i}function l$(e,t){t$(e);const{options:n,members:i}=e.constructor[QB(e.constructor)][Symbol.struct_metadata],r=t instanceof Uint8Array?t:new Uint8Array("buffer"in t?t.buffer:t),s=new DataView(r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength));for(const[t,{type:o,offset:a,length:l}]of i)for(let i=0;i<(l||1);i++){let u=l>0?e[t]:e;const c=l>0?i:t,d=a+i$(o)*i;if("string"==typeof e[t]){e[t]=e[t].slice(0,i)+String.fromCharCode(s.getUint8(d))+e[t].slice(i+1);continue}if(!KB(o)){if(null===u[c]||void 0===u[c])continue;l$(u[c],new Uint8Array(r.slice(d,d+i$(o))));continue}l>0&&(u||=[]);const h="get"+GB(o);"getInt64"!=h?u[c]="getUint64"!=h?s[h](d,!n.bigEndian):s.getBigUint64(d,!n.bigEndian):u[c]=s.getBigInt64(d,!n.bigEndian)}}Symbol.metadata??=Symbol.for("Symbol.metadata");const u$=Object.fromEntries(WB.map(e=>{return[e,(t=e,function(e,n){return"number"==typeof e?o$(t,e):o$(t)(e,n)})];var t}));var c$=function(e,t,n,i,r,s){function o(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var a,l=i.kind,u="getter"===l?"get":"setter"===l?"set":"value",c=!t&&e?i.static?e:e.prototype:null,d=t||(c?Object.getOwnPropertyDescriptor(c,i.name):{}),h=!1,p=n.length-1;p>=0;p--){var f={};for(var m in i)f[m]="access"===m?{}:i[m];for(var m in i.access)f.access[m]=i.access[m];f.addInitializer=function(e){if(h)throw new TypeError("Cannot add initializers after decoration has completed");s.push(o(e||null))};var g=(0,n[p])("accessor"===l?{get:d.get,set:d.set}:d[u],f);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw new TypeError("Object expected");(a=o(g.get))&&(d.get=a),(a=o(g.set))&&(d.set=a),(a=o(g.init))&&r.unshift(a)}else(a=o(g))&&("field"===l?r.unshift(a):d[u]=a)}c&&Object.defineProperty(c,i.name,d),h=!0},d$=function(e,t,n){for(var i=arguments.length>2,r=0;r{var e,t,n,i,r,s,o,a,l,u,c;let d,h,p,f,m,g,_,y,v,b,T,x,E,w=[s$()],I=[],A=[],S=[],C=[],O=[],M=[],k=[],R=[],N=[],D=[],F=[],L=[],P=[],B=[],$=[],U=[],V=[],z=[],j=[],Y=[],G=[],H=[],W=[];var X=h=class{constructor(e){if(this.data=d$(this,A,void 0),this.size=(d$(this,S),d$(this,C,void 0)),this.mode=(d$(this,O),d$(this,M,void 0)),this.nlink=(d$(this,k),d$(this,R,void 0)),this.uid=(d$(this,N),d$(this,D,void 0)),this.gid=(d$(this,F),d$(this,L,void 0)),this.atimeMs=(d$(this,P),d$(this,B,void 0)),this.birthtimeMs=(d$(this,$),d$(this,U,void 0)),this.mtimeMs=(d$(this,V),d$(this,z,void 0)),this.ctimeMs=(d$(this,j),d$(this,Y,void 0)),this.ino=(d$(this,G),d$(this,H,void 0)),d$(this,W),e){const t=i$(X),n=t-i$("uint64");if(e.byteLength{const q="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0;p=[(e=u$).uint64.bind(e)],f=[(t=u$).uint32.bind(t)],m=[(n=u$).uint16.bind(n)],g=[(i=u$).uint32.bind(i)],_=[(r=u$).uint32.bind(r)],y=[(s=u$).uint32.bind(s)],v=[(o=u$).float64.bind(o)],b=[(a=u$).float64.bind(a)],T=[(l=u$).float64.bind(l)],x=[(u=u$).float64.bind(u)],E=[(c=u$).uint64.bind(c)],c$(null,null,p,{kind:"field",name:"data",static:!1,private:!1,access:{has:e=>"data"in e,get:e=>e.data,set:(e,t)=>{e.data=t}},metadata:q},A,S),c$(null,null,f,{kind:"field",name:"size",static:!1,private:!1,access:{has:e=>"size"in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:q},C,O),c$(null,null,m,{kind:"field",name:"mode",static:!1,private:!1,access:{has:e=>"mode"in e,get:e=>e.mode,set:(e,t)=>{e.mode=t}},metadata:q},M,k),c$(null,null,g,{kind:"field",name:"nlink",static:!1,private:!1,access:{has:e=>"nlink"in e,get:e=>e.nlink,set:(e,t)=>{e.nlink=t}},metadata:q},R,N),c$(null,null,_,{kind:"field",name:"uid",static:!1,private:!1,access:{has:e=>"uid"in e,get:e=>e.uid,set:(e,t)=>{e.uid=t}},metadata:q},D,F),c$(null,null,y,{kind:"field",name:"gid",static:!1,private:!1,access:{has:e=>"gid"in e,get:e=>e.gid,set:(e,t)=>{e.gid=t}},metadata:q},L,P),c$(null,null,v,{kind:"field",name:"atimeMs",static:!1,private:!1,access:{has:e=>"atimeMs"in e,get:e=>e.atimeMs,set:(e,t)=>{e.atimeMs=t}},metadata:q},B,$),c$(null,null,b,{kind:"field",name:"birthtimeMs",static:!1,private:!1,access:{has:e=>"birthtimeMs"in e,get:e=>e.birthtimeMs,set:(e,t)=>{e.birthtimeMs=t}},metadata:q},U,V),c$(null,null,T,{kind:"field",name:"mtimeMs",static:!1,private:!1,access:{has:e=>"mtimeMs"in e,get:e=>e.mtimeMs,set:(e,t)=>{e.mtimeMs=t}},metadata:q},z,j),c$(null,null,x,{kind:"field",name:"ctimeMs",static:!1,private:!1,access:{has:e=>"ctimeMs"in e,get:e=>e.ctimeMs,set:(e,t)=>{e.ctimeMs=t}},metadata:q},Y,G),c$(null,null,E,{kind:"field",name:"ino",static:!1,private:!1,access:{has:e=>"ino"in e,get:e=>e.ino,set:(e,t)=>{e.ino=t}},metadata:q},H,W),c$(null,d={value:h},w,{kind:"class",name:h.name,metadata:q},null,I),X=h=d.value,q&&Object.defineProperty(h,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:q}),d$(h,I)})(),X=h})();var f$=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},m$=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});class g$ extends zB{async ready(){this._initialized||(await this.checkRoot(),this._initialized=!0)}constructor(e){super(),this.store=e,this._initialized=!1}metadata(){return{...super.metadata(),name:this.store.name}}async empty(){await this.store.clear(),await this.checkRoot()}emptySync(){this.store.clearSync(),this.checkRootSync()}async rename(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=f$(n,this.store.transaction(),!0),r=_P(e),s=_P(t),o=await this.findInode(i,r.dir,"rename"),a=xP(await this.get(i,o.data,r.dir,"rename"));if(!a[r.base])throw cP.With("ENOENT",e,"rename");const l=a[r.base];if(delete a[r.base],0===(s.dir+"/").indexOf(e+"/"))throw new cP(lP.EBUSY,r.dir);const u=s.dir==r.dir,c=u?o:await this.findInode(i,s.dir,"rename"),d=u?a:xP(await this.get(i,c.data,s.dir,"rename"));if(d[s.base]){const e=new p$(await this.get(i,d[s.base],t,"rename"));if(!e.toStats().isFile())throw cP.With("EPERM",t,"rename");await i.remove(e.data),await i.remove(d[s.base])}d[s.base]=l,await i.set(o.data,EP(a)),await i.set(c.data,EP(d)),await i.commit()}catch(e){n.error=e,n.hasError=!0}finally{const e=m$(n);e&&await e}}renameSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=f$(n,this.store.transaction(),!1),r=_P(e),s=_P(t),o=this.findInodeSync(i,r.dir,"rename"),a=xP(this.getSync(i,o.data,r.dir,"rename"));if(!a[r.base])throw cP.With("ENOENT",e,"rename");const l=a[r.base];if(delete a[r.base],0==(s.dir+"/").indexOf(e+"/"))throw new cP(lP.EBUSY,r.dir);const u=s.dir===r.dir,c=u?o:this.findInodeSync(i,s.dir,"rename"),d=u?a:xP(this.getSync(i,c.data,s.dir,"rename"));if(d[s.base]){const e=new p$(this.getSync(i,d[s.base],t,"rename"));if(!e.toStats().isFile())throw cP.With("EPERM",t,"rename");i.removeSync(e.data),i.removeSync(d[s.base])}d[s.base]=l,i.setSync(o.data,EP(a)),i.setSync(c.data,EP(d)),i.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{m$(n)}}async stat(e){const t={stack:[],error:void 0,hasError:!1};try{const n=f$(t,this.store.transaction(),!0);return(await this.findInode(n,e,"stat")).toStats()}catch(e){t.error=e,t.hasError=!0}finally{const e=m$(t);e&&await e}}statSync(e){const t={stack:[],error:void 0,hasError:!1};try{const n=f$(t,this.store.transaction(),!1);return this.findInodeSync(n,e,"stat").toStats()}catch(e){t.error=e,t.hasError=!0}finally{m$(t)}}async createFile(e,t,n){const i=await this.commitNew(e,iB,n,new Uint8Array,"createFile");return new VB(this,e,t,i.toStats(),new Uint8Array)}createFileSync(e,t,n){const i=this.commitNewSync(e,iB,n,new Uint8Array,"createFile");return new VB(this,e,t,i.toStats(),new Uint8Array)}async openFile(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=f$(n,this.store.transaction(),!0),r=await this.findInode(i,e,"openFile"),s=await this.get(i,r.data,e,"openFile");return new VB(this,e,t,r.toStats(),s)}catch(e){n.error=e,n.hasError=!0}finally{const e=m$(n);e&&await e}}openFileSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=f$(n,this.store.transaction(),!1),r=this.findInodeSync(i,e,"openFile"),s=this.getSync(i,r.data,e,"openFile");return new VB(this,e,t,r.toStats(),s)}catch(e){n.error=e,n.hasError=!0}finally{m$(n)}}async unlink(e){return this.remove(e,!1,"unlink")}unlinkSync(e){this.removeSync(e,!1,"unlink")}async rmdir(e){if((await this.readdir(e)).length)throw cP.With("ENOTEMPTY",e,"rmdir");await this.remove(e,!0,"rmdir")}rmdirSync(e){if(this.readdirSync(e).length)throw cP.With("ENOTEMPTY",e,"rmdir");this.removeSync(e,!0,"rmdir")}async mkdir(e,t){await this.commitNew(e,sB,t,vP("{}"),"mkdir")}mkdirSync(e,t){this.commitNewSync(e,sB,t,vP("{}"),"mkdir")}async readdir(e){const t={stack:[],error:void 0,hasError:!1};try{const n=f$(t,this.store.transaction(),!0),i=await this.findInode(n,e,"readdir");return Object.keys(xP(await this.get(n,i.data,e,"readdir")))}catch(e){t.error=e,t.hasError=!0}finally{const e=m$(t);e&&await e}}readdirSync(e){const t={stack:[],error:void 0,hasError:!1};try{const n=f$(t,this.store.transaction(),!1),i=this.findInodeSync(n,e,"readdir");return Object.keys(xP(this.getSync(n,i.data,e,"readdir")))}catch(e){t.error=e,t.hasError=!0}finally{m$(t)}}async sync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=f$(i,this.store.transaction(),!0),s=await this._findInode(r,e,"sync"),o=new p$(await this.get(r,s,e,"sync")),a=o.update(n);await r.set(o.data,t),a&&await r.set(s,a$(o)),await r.commit()}catch(e){i.error=e,i.hasError=!0}finally{const e=m$(i);e&&await e}}syncSync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=f$(i,this.store.transaction(),!1),s=this._findInodeSync(r,e,"sync"),o=new p$(this.getSync(r,s,e,"sync")),a=o.update(n);r.setSync(o.data,t),a&&r.setSync(s,a$(o)),r.commitSync()}catch(e){i.error=e,i.hasError=!0}finally{m$(i)}}async link(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=f$(n,this.store.transaction(),!0),r=mP(t),s=await this.findInode(i,r,"link"),o=xP(await this.get(i,s.data,r,"link")),a=await this._findInode(i,e,"link"),l=new p$(await this.get(i,a,e,"link"));l.nlink++,o[gP(t)]=a,i.setSync(a,a$(l)),i.setSync(s.data,EP(o)),i.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{const e=m$(n);e&&await e}}linkSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=f$(n,this.store.transaction(),!1),r=mP(t),s=this.findInodeSync(i,r,"link"),o=xP(this.getSync(i,s.data,r,"link")),a=this._findInodeSync(i,e,"link"),l=new p$(this.getSync(i,a,e,"link"));l.nlink++,o[gP(t)]=a,i.setSync(a,a$(l)),i.setSync(s.data,EP(o)),i.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{m$(n)}}async checkRoot(){const e={stack:[],error:void 0,hasError:!1};try{const t=f$(e,this.store.transaction(),!0);if(await t.get(0n))return;const n=new p$;n.ino=0n,n.mode=511|sB,await t.set(n.data,vP("{}")),await t.set(0n,a$(n)),await t.commit()}catch(t){e.error=t,e.hasError=!0}finally{const t=m$(e);t&&await t}}checkRootSync(){const e={stack:[],error:void 0,hasError:!1};try{const t=f$(e,this.store.transaction(),!1);if(t.getSync(0n))return;const n=new p$;n.ino=0n,n.mode=511|sB,t.setSync(n.data,vP("{}")),t.setSync(0n,a$(n)),t.commitSync()}catch(t){e.error=t,e.hasError=!0}finally{m$(e)}}async _findInode(e,t,n,i=new Set){if(i.has(t))throw new cP(lP.EIO,"Infinite loop detected while finding inode",t);if(i.add(t),"/"==t)return 0n;const{dir:r,base:s}=_P(t),o="/"==r?new p$(await this.get(e,0n,r,n)):await this.findInode(e,r,n,i),a=xP(await this.get(e,o.data,r,n));if(!(s in a))throw cP.With("ENOENT",pP(r,s),n);return a[s]}_findInodeSync(e,t,n,i=new Set){if(i.has(t))throw new cP(lP.EIO,"Infinite loop detected while finding inode",t);if(i.add(t),"/"==t)return 0n;const{dir:r,base:s}=_P(t),o="/"==r?new p$(this.getSync(e,0n,r,n)):this.findInodeSync(e,r,n,i),a=xP(this.getSync(e,o.data,r,n));if(!(s in a))throw cP.With("ENOENT",pP(r,s),n);return a[s]}async findInode(e,t,n,i=new Set){const r=await this._findInode(e,t,n,i);return new p$(await this.get(e,r,t,n))}findInodeSync(e,t,n,i=new Set){const r=this._findInodeSync(e,t,n,i);return new p$(this.getSync(e,r,t,n))}async get(e,t,n,i){const r=await e.get(t);if(!r)throw cP.With("ENOENT",n,i);return r}getSync(e,t,n,i){const r=e.getSync(t);if(!r)throw cP.With("ENOENT",n,i);return r}async allocNew(e,t,n){for(let t=0;t<5;t++){const t=CP();if(!await e.get(t))return t}throw new cP(lP.ENOSPC,"No IDs available",t,n)}allocNewSync(e,t,n){for(let t=0;t<5;t++){const t=CP();if(!e.getSync(t))return t}throw new cP(lP.ENOSPC,"No IDs available",t,n)}async commitNew(e,t,n,i,r){const s={stack:[],error:void 0,hasError:!1};try{if("/"==e)throw cP.With("EEXIST",e,r);const o=f$(s,this.store.transaction(),!0),{dir:a,base:l}=_P(e),u=await this.findInode(o,a,r),c=xP(await this.get(o,u.data,a,r));if(c[l])throw cP.With("EEXIST",e,r);const d=new p$;return d.ino=await this.allocNew(o,e,r),d.data=await this.allocNew(o,e,r),d.mode=n|t,d.uid=u.mode&lB?u.uid:OP.uid,d.gid=u.mode&uB?u.gid:OP.gid,d.size=i.length,await o.set(d.ino,a$(d)),await o.set(d.data,i),c[l]=d.ino,await o.set(u.data,EP(c)),await o.commit(),d}catch(e){s.error=e,s.hasError=!0}finally{const e=m$(s);e&&await e}}commitNewSync(e,t,n,i,r){const s={stack:[],error:void 0,hasError:!1};try{if("/"==e)throw cP.With("EEXIST",e,r);const o=f$(s,this.store.transaction(),!1),{dir:a,base:l}=_P(e),u=this.findInodeSync(o,a,r),c=xP(this.getSync(o,u.data,a,r));if(c[l])throw cP.With("EEXIST",e,r);const d=new p$;return d.ino=this.allocNewSync(o,e,r),d.data=this.allocNewSync(o,e,r),d.size=i.length,d.mode=n|t,d.uid=u.mode&lB?u.uid:OP.uid,d.gid=u.mode&uB?u.gid:OP.gid,o.setSync(d.ino,a$(d)),o.setSync(d.data,i),c[l]=d.ino,o.setSync(u.data,EP(c)),o.commitSync(),d}catch(e){s.error=e,s.hasError=!0}finally{m$(s)}}async remove(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=f$(i,this.store.transaction(),!0),{dir:s,base:o}=_P(e),a=await this.findInode(r,s,n),l=xP(await this.get(r,a.data,s,n));if(!l[o])throw cP.With("ENOENT",e,"remove");const u=l[o],c=new p$(await this.get(r,u,e,n));if(delete l[o],!t&&c.toStats().isDirectory())throw cP.With("EISDIR",e,"remove");await r.set(a.data,EP(l)),--c.nlink<1&&(await r.remove(c.data),await r.remove(u)),await r.commit()}catch(e){i.error=e,i.hasError=!0}finally{const e=m$(i);e&&await e}}removeSync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=f$(i,this.store.transaction(),!1),{dir:s,base:o}=_P(e),a=this.findInodeSync(r,s,n),l=xP(this.getSync(r,a.data,s,n)),u=l[o];if(!u)throw cP.With("ENOENT",e,"remove");const c=new p$(this.getSync(r,u,e,n));if(delete l[o],!t&&c.toStats().isDirectory())throw cP.With("EISDIR",e,"remove");r.setSync(a.data,EP(l)),--c.nlink<1&&(r.removeSync(c.data),r.removeSync(u)),r.commitSync()}catch(e){i.error=e,i.hasError=!0}finally{m$(i)}}}class _${constructor(e){this.store=e,this.done=!1}async[Symbol.asyncDispose](){this.done||await this.abort()}[Symbol.dispose](){this.done||this.abortSync()}}class y$ extends _${async keys(){return this.keysSync()}async get(e){return this.getSync(e)}async set(e,t){return this.setSync(e,t)}async remove(e){return this.removeSync(e)}async commit(){return this.commitSync()}async abort(){return this.abortSync()}}class v$ extends y${constructor(){super(...arguments),this.originalData=new Map,this.modifiedKeys=new Set}keysSync(){return this.store.keys()}getSync(e){const t=this.store.get(e);return this.stashOldValue(e,t),t}setSync(e,t){return this.markModified(e),this.store.set(e,t)}removeSync(e){this.markModified(e),this.store.delete(e)}commitSync(){this.done=!0}abortSync(){if(this.done){for(const e of this.modifiedKeys){const t=this.originalData.get(e);t?this.store.set(e,t):this.store.delete(e)}this.done=!0}}stashOldValue(e,t){this.originalData.has(e)||this.originalData.set(e,t)}markModified(e){this.modifiedKeys.add(e),this.originalData.has(e)||this.originalData.set(e,this.store.get(e))}}class b$ extends Map{constructor(e="tmp"){super(),this.name=e}async sync(){}clearSync(){this.clear()}transaction(){return new v$(this)}}const T$={name:"InMemory",isAvailable:()=>!0,options:{name:{type:"string",required:!1}},create({name:e}){const t=new g$(new b$(e));return t.checkRootSync(),t}},x$=T$;"function"==typeof SuppressedError&&SuppressedError;class E${constructor(){this.isEnabled=!1,this.sync=new Map,this.async=new Map}has(e){return this.isEnabled&&this.sync.has(e)}get(e){if(this.isEnabled)return this.sync.get(e)}set(e,t){this.isEnabled&&(this.sync.set(e,t),this.async.set(e,Promise.resolve(t)))}hasAsync(e){return this.isEnabled&&this.async.has(e)}getAsync(e){if(this.isEnabled)return this.async.get(e)}setAsync(e,t){this.isEnabled&&(this.async.set(e,t),t.then(t=>this.sync.set(e,t)))}clear(){this.isEnabled&&(this.sync.clear(),this.async.clear())}}const w$=new E$,I$=new E$;var A$=__webpack_require__(48287);function S$(e,t){return Object.fromEntries(Object.entries(e).map(([e,n])=>[e,"function"==typeof n?n.bind(t):n]))}const C$=new Map;let O$=100;function M$(e){const t=O$++;return C$.set(t,e),t}function k$(e){if(!C$.has(e))throw new cP(lP.EBADF);return C$.get(e)}const R$=new Map;function N$(e,t){if("/"!==e[0]&&(e="/"+e),e=pP(e),R$.has(e))throw new cP(lP.EINVAL,"Mount point "+e+" is already in use.");R$.set(e,t),I$.clear()}function D$(e){if("/"!==e[0]&&(e="/"+e),e=pP(e),!R$.has(e))throw new cP(lP.EINVAL,"Mount point "+e+" is already unmounted.");R$.delete(e),I$.clear()}function F$(e,t){const n=t?.root||"/";e=AP(fP(n,e));const i=[...R$].sort((e,t)=>e[0].length>t[0].length?-1:1);for(const[t,r]of i)if(t.length<=e.length&&e.startsWith(t))return""===(e=e.slice(t.length>1?t.length:0))&&(e=n),{fs:r,path:e,mountPoint:t,root:n};throw new cP(lP.EIO,"No file system")}async function L$(){await Promise.all([...R$.values()].map(e=>e.ready()))}function P$(e,t){for(const[n,i]of Object.entries(t))e=e?.replaceAll(n,i);return e}function B$(e,t){"string"==typeof e.stack&&(e.stack=P$(e.stack,t));try{e.message=P$(e.message,t)}catch{}return e.path&&(e.path=P$(e.path,t)),e}function $$(e){"/"in e&&D$("/");for(const[t,n]of Object.entries(e))N$(t,n)}function U$(e,t){const n=e.metadata(),i=n.blockSize||4096;return{type:(t?BigInt:Number)(n.type),bsize:(t?BigInt:Number)(i),ffree:(t?BigInt:Number)(n.freeNodes||wB),files:(t?BigInt:Number)(n.totalNodes||wB),bavail:(t?BigInt:Number)(n.freeSpace/i),bfree:(t?BigInt:Number)(n.freeSpace/i),blocks:(t?BigInt:Number)(n.totalSpace/i)}}function V$(e,t){const n=this?.credentials;if(n?.uid&&n?.gid&&n?.euid&&n?.egid)throw new cP(lP.EPERM,"Can not chroot() as non-root user");return t&&this?(this.root+=e,this):function(e,t=structuredClone(OP)){const n={root:e,credentials:MP(t)},i=S$(ue,n),r=S$(le,n);return{...n,...i,promises:r}}(fP(this?.root||"/",e),n)}N$("/",x$.create({name:"root"}));class z$ extends jB{off(e,t,n,i){return super.off(e,t,n,i)}removeListener(e,t,n,i){return super.removeListener(e,t,n,i)}constructor(e){super(),this.path=e}setMaxListeners(){throw cP.With("ENOSYS",this.path,"Watcher.setMaxListeners")}getMaxListeners(){throw cP.With("ENOSYS",this.path,"Watcher.getMaxListeners")}prependListener(){throw cP.With("ENOSYS",this.path,"Watcher.prependListener")}prependOnceListener(){throw cP.With("ENOSYS",this.path,"Watcher.prependOnceListener")}rawListeners(){throw cP.With("ENOSYS",this.path,"Watcher.rawListeners")}ref(){return this}unref(){return this}}class j$ extends z${constructor(e,t){super(e),this.options=t,function(e,t){const n=AP(e);G$.has(n)||G$.set(n,new Set);G$.get(n).add(t)}(e.toString(),this)}close(){super.emit("close"),function(e,t){const n=AP(e);G$.has(n)&&(G$.get(n).delete(t),0===G$.get(n).size&&G$.delete(n))}(this.path.toString(),this)}[Symbol.dispose](){this.close()}}class Y$ extends z${constructor(e,t){super(e),this.options=t,this.start()}onInterval(){try{const n=Z$(this.path);e=this.previous,t=n,(e.size!=t.size||+e.atime!=+t.atime||+e.mtime!=+t.mtime||+e.ctime!=+t.ctime||e.mode!=t.mode)&&(this.emit("change",n,this.previous),this.previous=n)}catch(e){this.emit("error",e)}var e,t}start(){const e=this.options.interval||5e3;try{this.previous=Z$(this.path)}catch(e){return void this.emit("error",e)}this.intervalId=setInterval(this.onInterval.bind(this),e),this.options.persistent||"object"!=typeof this.intervalId||this.intervalId.unref()}stop(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=void 0),this.removeAllListeners()}}const G$=new Map;function H$(e,t){if(t=AP(t),G$.has(t))for(const n of G$.get(t))n.emit("change",e,gP(t));let n,i=t;for(;i!==n;)if(n=i,i=mP(i),G$.has(i))for(const n of G$.get(i))n.emit("change",e,t.slice(i.length+("/"==i?0:1)))}var W$=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},X$=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});function q$(e,t){e=AP(e),t=AP(t);const n=F$(e,this),i=F$(t,this);if(IB.checkAccess&&!Z$.call(this,mP(e)).hasAccess(NP,this))throw cP.With("EACCES",e,"rename");try{if(n===i)return n.fs.renameSync(n.path,i.path),H$("rename",e.toString()),void H$("change",t.toString());oU.call(this,t,sU(e)),eU.call(this,e),H$("rename",e.toString())}catch(r){throw B$(r,{[n.path]:e,[i.path]:t})}}function K$(e){e=AP(e);try{const{fs:t,path:n}=F$(MU.call(this,e),this);return t.existsSync(n)}catch(e){if(e.errno==lP.ENOENT)return!1;throw e}}function Z$(e,t){e=AP(e);const{fs:n,path:i}=F$(MU.call(this,e),this);try{const e=n.statSync(i);if(IB.checkAccess&&!e.hasAccess(RP,this))throw cP.With("EACCES",i,"stat");return t?.bigint?new OB(e):e}catch(t){throw B$(t,{[i]:e})}}function Q$(e,t){e=AP(e);const{fs:n,path:i}=F$(e,this);try{const e=n.statSync(i);return t?.bigint?new OB(e):e}catch(t){throw B$(t,{[i]:e})}}function J$(e,t=0){const n={stack:[],error:void 0,hasError:!1};try{const i=W$(n,tU.call(this,e,"r+"),!1);if(t||(t=0),t<0)throw new cP(lP.EINVAL);i.truncateSync(t)}catch(e){n.error=e,n.hasError=!0}finally{X$(n)}}function eU(e){e=AP(e);const{fs:t,path:n}=F$(e,this);try{if(IB.checkAccess&&!(w$.get(e)||t.statSync(n)).hasAccess(NP,this))throw cP.With("EACCES",n,"unlink");t.unlinkSync(n),H$("rename",e.toString())}catch(t){throw B$(t,{[n]:e})}}function tU(e,t,n,i=!0){e=AP(e);const r=wP(n,420),s=NB(t);e=i?MU.call(this,e):e;const{fs:o,path:a}=F$(e,this);let l;try{l=o.statSync(a)}catch{}if(!l){if(!LB(s)&&!BB(s)||"r+"==s)throw cP.With("ENOENT",e,"_open");const t=o.statSync(mP(a));if(IB.checkAccess&&!t.hasAccess(NP,this))throw cP.With("EACCES",mP(e),"_open");if(!t.isDirectory())throw cP.With("ENOTDIR",mP(e),"_open");return o.createFileSync(a,s,r)}if(IB.checkAccess&&(!l.hasAccess(r,this)||!l.hasAccess(DB(s),this)))throw cP.With("EACCES",e,"_open");if($B(s))throw cP.With("EEXIST",e,"_open");const u=o.openFileSync(a,s);return PB(s)&&u.truncateSync(0),u}function nU(e,t,n=kP){return M$(tU.call(this,e,t,n,!0))}function iU(e,t,n){return M$(tU.call(this,e,t,n,!1))}function rU(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=W$(i,tU.call(this,e,t,420,n),!1),s=r.statSync(),o=new Uint8Array(s.size);return r.readSync(o,0,s.size,0),o}catch(e){i.error=e,i.hasError=!0}finally{X$(i)}}function sU(e,t={}){const n=SP(t,null,"r",420);if(!FB(NB(n.flag)))throw new cP(lP.EINVAL,"Flag passed to readFile must allow for reading.");const i=A$.Buffer.from(rU.call(this,"number"==typeof e?k$(e).path:e.toString(),n.flag,!0));return n.encoding?i.toString(n.encoding):i}function oU(e,t,n={}){const i={stack:[],error:void 0,hasError:!1};try{const r=SP(n,"utf8","w+",420),s=NB(r.flag);if(!LB(s))throw new cP(lP.EINVAL,"Flag passed to writeFile must allow for writing.");if("string"!=typeof t&&!r.encoding)throw new cP(lP.EINVAL,"Encoding not specified");const o="string"==typeof t?A$.Buffer.from(t,r.encoding):new Uint8Array(t.buffer,t.byteOffset,t.byteLength);if(!o)throw new cP(lP.EINVAL,"Data not specified");W$(i,tU.call(this,"number"==typeof e?k$(e).path:e.toString(),s,r.mode,!0),!1).writeSync(o,0,o.byteLength,0),H$("change",e.toString())}catch(e){i.error=e,i.hasError=!0}finally{X$(i)}}function aU(e,t,n={}){const i={stack:[],error:void 0,hasError:!1};try{const r=SP(n,"utf8","a+",420),s=NB(r.flag);if(!BB(s))throw new cP(lP.EINVAL,"Flag passed to appendFile must allow for appending.");if("string"!=typeof t&&!r.encoding)throw new cP(lP.EINVAL,"Encoding not specified");const o="string"==typeof t?A$.Buffer.from(t,r.encoding):new Uint8Array(t.buffer,t.byteOffset,t.byteLength);W$(i,tU.call(this,"number"==typeof e?k$(e).path:e.toString(),s,r.mode,!0),!1).writeSync(o,0,o.byteLength)}catch(e){i.error=e,i.hasError=!0}finally{X$(i)}}function lU(e,t){const n=k$(e).statSync();return t?.bigint?new OB(n):n}function uU(e){k$(e).closeSync(),C$.delete(e)}function cU(e,t=0){if(t||(t=0),t<0)throw new cP(lP.EINVAL);k$(e).truncateSync(t)}function dU(e){k$(e).syncSync()}function hU(e){k$(e).datasyncSync()}function pU(e,t,n,i,r){let s,o,a,l;if("string"==typeof t){l="number"==typeof n?n:null;const e="string"==typeof i?i:"utf8";o=0,s=A$.Buffer.from(t,e),a=s.byteLength}else s=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),o=n,a=i,l="number"==typeof r?r:null;const u=k$(e);l??(l=u.position);const c=u.writeSync(s,o,a,l);return H$("change",u.path),c}function fU(e,t,n,i,r){const s=k$(e),o="object"==typeof n?n.offset:n;return"object"==typeof n&&(i=n.length,r=n.position),r=Number(r),isNaN(r)&&(r=s.position),s.readSync(t,o,i,r)}function mU(e,t,n){k$(e).chownSync(t,n)}function gU(e,t){const n=wP(t,-1);if(n<0)throw new cP(lP.EINVAL,"Invalid mode.");k$(e).chmodSync(n)}function _U(e,t,n){k$(e).utimesSync(IP(t),IP(n))}function yU(e){e=AP(e);const{fs:t,path:n}=F$(MU.call(this,e),this);try{const i=w$.get(e)||t.statSync(n);if(!i.isDirectory())throw cP.With("ENOTDIR",n,"rmdir");if(IB.checkAccess&&!i.hasAccess(NP,this))throw cP.With("EACCES",n,"rmdir");t.rmdirSync(n),H$("rename",e.toString())}catch(t){throw B$(t,{[n]:e})}}function vU(e,t){t="object"==typeof t?t:{mode:t};const n=wP(t?.mode,511);e=MU.call(this,e);const{fs:i,path:r,root:s}=F$(e,this),o={[r]:e};try{if(!t?.recursive){if(IB.checkAccess&&!i.statSync(mP(r)).hasAccess(NP,this))throw cP.With("EACCES",mP(r),"mkdir");return i.mkdirSync(r,n)}const a=[];for(let t=r,n=e;!i.existsSync(t);t=mP(t),n=mP(n))a.unshift(t),o[t]=n;for(const e of a){if(IB.checkAccess&&!i.statSync(mP(e)).hasAccess(NP,this))throw cP.With("EACCES",mP(e),"mkdir");i.mkdirSync(e,n),H$("rename",e)}return 1==s.length?a[0]:a[0]?.slice(s.length)}catch(e){throw B$(e,o)}}function bU(e,t){t="object"==typeof t?t:{encoding:t},e=AP(e);const{fs:n,path:i}=F$(MU.call(this,e),this);let r;try{const t=w$.get(e)||n.statSync(i);if(w$.set(e,t),IB.checkAccess&&!t.hasAccess(RP,this))throw cP.With("EACCES",i,"readdir");if(!t.isDirectory())throw cP.With("ENOTDIR",i,"readdir");r=n.readdirSync(i)}catch(t){throw B$(t,{[i]:e})}const s=[];for(const o of r){const r=w$.get(fP(e,o))||n.statSync(fP(i,o));if(w$.set(fP(e,o),r),t?.withFileTypes?s.push(new UU(o,r)):"buffer"==t?.encoding?s.push(A$.Buffer.from(o)):s.push(o),r.isDirectory()&&t?.recursive)for(const n of bU.call(this,fP(e,o),{...t,_isIndirect:!0}))n instanceof UU?(n.path=fP(o,n.path),s.push(n)):A$.Buffer.isBuffer(n)?s.push(A$.Buffer.from(fP(o,TP(n)))):s.push(fP(o,n))}return t?._isIndirect||w$.clear(),s}function TU(e,t){if(e=AP(e),IB.checkAccess&&!Z$(mP(e)).hasAccess(RP,this))throw cP.With("EACCES",mP(e),"link");if(t=AP(t),IB.checkAccess&&!Z$(mP(t)).hasAccess(NP,this))throw cP.With("EACCES",mP(t),"link");const{fs:n,path:i}=F$(e,this),r=F$(t,this);if(n!=r.fs)throw cP.With("EXDEV",t,"link");try{if(IB.checkAccess&&!n.statSync(i).hasAccess(RP,this))throw cP.With("EACCES",i,"link");return n.linkSync(i,t)}catch(n){throw B$(n,{[i]:e,[r.path]:t})}}function xU(e,t,n="file"){if(!["file","dir","junction"].includes(n))throw new cP(lP.EINVAL,"Invalid type: "+n);if(K$.call(this,t))throw cP.With("EEXIST",t.toString(),"symlink");oU.call(this,t,e.toString());tU.call(this,t,"r+",420,!1).chmodSync(nB)}function EU(e,t){const n=A$.Buffer.from(rU.call(this,e.toString(),"r",!1)),i="object"==typeof t?t?.encoding:t;return"buffer"==i?n:n.toString(i)}function wU(e,t,n){const i=nU.call(this,e,"r+");mU(i,t,n),uU(i)}function IU(e,t,n){const i=iU.call(this,e,"r+");mU(i,t,n),uU(i)}function AU(e,t){const n=nU.call(this,e,"r+");gU(n,t),uU(n)}function SU(e,t){const n=iU.call(this,e,"r+");gU(n,t),uU(n)}function CU(e,t,n){const i=nU.call(this,e,"r+");_U(i,t,n),uU(i)}function OU(e,t,n){const i=iU.call(this,e,"r+");_U(i,t,n),uU(i)}function MU(e,t){e=AP(e);const n=(this?.root||"")+e;if(I$.has(n))return I$.get(n);const{base:i,dir:r}=_P(e),s="/"==r?"/":I$.get((this?.root||"")+r)||MU.call(this,r),o=fP(s,i),{fs:a,path:l}=F$(o,this);try{const i=w$.get(o)||a.statSync(l);if(w$.set(o,i),!i.isSymbolicLink())return I$.set(e,o),o;const r=pP(s,EU.call(this,o,t).toString()),u=I$.get((this?.root||"")+r)||MU.call(this,r);return I$.set(n,u),u}catch(t){if("ENOENT"==t.code)return e;throw B$(t,{[l]:o})}}function kU(e,t=384){if(IB.checkAccess&&!Z$.call(this,e).hasAccess(t,this))throw new cP(lP.EACCES)}function RU(e,t){let n;e=AP(e);try{n=w$.get(e)||Q$.bind(this)(e)}catch(e){if("ENOENT"!=e.code||!t?.force)throw e}if(n){switch(w$.set(e,n),n.mode&eB){case sB:if(t?.recursive)for(const n of bU.call(this,e,{_isIndirect:!0}))RU.call(this,fP(e,n),{...t,_isIndirect:!0});yU.call(this,e);break;case iB:case nB:case rB:case oB:eU.call(this,e);break;default:throw w$.clear(),new cP(lP.EPERM,"File type not supported",e,"rm")}t?._isIndirect||w$.clear()}}function NU(e,t){const n="object"==typeof t?t?.encoding:t||"utf8",i="/tmp/"+`${e}${Date.now()}-${Math.random().toString(36).slice(2)}`;return vU.call(this,i),"buffer"==n?A$.Buffer.from(i):i}function DU(e,t,n){if(e=AP(e),t=AP(t),n&&n&FP&&K$(t))throw new cP(lP.EEXIST,"Destination file already exists.",t,"copyFile");oU.call(this,t,sU(e)),H$("rename",t.toString())}function FU(e,t,n){const i=k$(e);let r=0;for(const e of t)r+=i.readSync(e,0,e.byteLength,n+r);return r}function LU(e,t,n){const i=k$(e);let r=0;for(const e of t)r+=i.writeSync(new Uint8Array(e.buffer),0,e.byteLength,n+r);return r}function PU(e,t){return e=AP(e),new VU(e,this)}function BU(e,t,n){e=AP(e),t=AP(t);const i=Q$.call(this,e);if(n?.errorOnExist&&K$.call(this,t))throw new cP(lP.EEXIST,"Destination file or directory already exists.",t,"cp");switch(i.mode&eB){case sB:if(!n?.recursive)throw new cP(lP.EISDIR,e+" is a directory (not copied)",e,"cp");vU.call(this,t,{recursive:!0});for(const i of bU.call(this,e,{withFileTypes:!0}))n.filter&&!n.filter(fP(e,i.name),fP(t,i.name))||BU.call(this,fP(e,i.name),fP(t,i.name),n);break;case iB:case nB:DU.call(this,e,t);break;default:throw new cP(lP.EPERM,"File type not supported",e,"rm")}n?.preserveTimestamps&&CU.call(this,t,i.atime,i.mtime)}function $U(e,t){e=AP(e);const{fs:n}=F$(e,this);return U$(n,t?.bigint)}class UU{get name(){return gP(this.path)}constructor(e,t){this.path=e,this.stats=t}get parentPath(){return this.path}isFile(){return this.stats.isFile()}isDirectory(){return this.stats.isDirectory()}isBlockDevice(){return this.stats.isBlockDevice()}isCharacterDevice(){return this.stats.isCharacterDevice()}isSymbolicLink(){return this.stats.isSymbolicLink()}isFIFO(){return this.stats.isFIFO()}isSocket(){return this.stats.isSocket()}}class VU{checkClosed(){if(this.closed)throw new cP(lP.EBADF,"Can not use closed Dir")}constructor(e,t){this.path=e,this.context=t,this.closed=!1}close(e){if(this.closed=!0,!e)return Promise.resolve();e()}closeSync(){this.closed=!0}async _read(){return this.checkClosed(),this._entries??(this._entries=await aV.call(this.context,this.path,{withFileTypes:!0})),this._entries.length?this._entries.shift()??null:null}read(e){if(!e)return this._read();this._read().then(t=>e(void 0,t))}readSync(){return this.checkClosed(),this._entries??(this._entries=bU.call(this.context,this.path,{withFileTypes:!0})),this._entries.length?this._entries.shift()??null:null}async next(){const e=await this._read();return e?{done:!1,value:e}:(await this.close(),{done:!0,value:void 0})}[Symbol.asyncIterator](){return this}}var zU=__webpack_require__(86248);class jU extends zU.Readable{close(e=()=>null){try{super.destroy(),super.emit("close"),e()}catch(t){e(new cP(lP.EIO,t.toString()))}}}class YU extends zU.Writable{close(e=()=>null){try{super.destroy(),super.emit("close"),e()}catch(t){e(new cP(lP.EIO,t.toString()))}}}var GU=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},HU=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});class WU{constructor(e,t){this.context=t;const n="number"!=typeof e;this.fd=n?M$(e):e,this.file=n?e:k$(e)}async chown(e,t){await this.file.chown(e,t),H$("change",this.file.path)}async chmod(e){const t=wP(e,-1);if(t<0)throw new cP(lP.EINVAL,"Invalid mode.");await this.file.chmod(t),H$("change",this.file.path)}datasync(){return this.file.datasync()}sync(){return this.file.sync()}async truncate(e){if(e||(e=0),e<0)throw new cP(lP.EINVAL);await this.file.truncate(e),H$("change",this.file.path)}async utimes(e,t){await this.file.utimes(IP(e),IP(t)),H$("change",this.file.path)}async appendFile(e,t={}){const n=SP(t,"utf8","a",420);if(!BB(NB(n.flag)))throw new cP(lP.EINVAL,"Flag passed to appendFile must allow for appending.");if("string"!=typeof e&&!n.encoding)throw new cP(lP.EINVAL,"Encoding not specified");const i="string"==typeof e?A$.Buffer.from(e,n.encoding):e;await this.file.write(i,0,i.length),H$("change",this.file.path)}read(e,t,n,i){return isNaN(+i)&&(i=this.file.position),this.file.read(e,t,n,i)}async readFile(e){const t=SP(e,null,"r",292);if(!FB(NB(t.flag)))throw new cP(lP.EINVAL,"Flag passed must allow for reading.");const{size:n}=await this.stat(),{buffer:i}=await this.file.read(new Uint8Array(n),0,n,0),r=A$.Buffer.from(i);return t.encoding?r.toString(t.encoding):r}readableWebStream(e={}){const t=globalThis;if(!("ReadableStream"in t))throw new cP(lP.ENOSYS,"ReadableStream is missing on globalThis");return new t.ReadableStream({start:async e=>{try{const t=65536,n=1e7;let i=0,r=0,s=NaN;for(;s>0;){const o=await this.read(new Uint8Array(t),0,t,r);if(!o.bytesRead)return void e.close();if(e.enqueue(o.buffer.slice(0,o.bytesRead)),r+=o.bytesRead,++i>=n)throw new cP(lP.EFBIG,"Too many iterations on readable stream",this.file.path,"FileHandle.readableWebStream");s=o.bytesRead}}catch(t){e.error(t)}},type:e.type})}readLines(e){throw cP.With("ENOSYS",this.file.path,"FileHandle.readLines")}[Symbol.asyncDispose](){return this.close()}async stat(e){const t=await this.file.stat();if(IB.checkAccess&&!t.hasAccess(RP,this.context))throw cP.With("EACCES",this.file.path,"stat");return e?.bigint?new OB(t):t}async write(e,t,n,i){let r,s,o;if("string"==typeof e){i="number"==typeof t?t:null;const a="string"==typeof n?n:"utf8";s=0,r=A$.Buffer.from(e,a),o=r.length}else r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),s=t,o=n,i="number"==typeof i?i:null;i??(i=this.file.position);const a=await this.file.write(r,s,o,i);return H$("change",this.file.path),{buffer:r,bytesWritten:a}}async writeFile(e,t={}){const n=SP(t,"utf8","w",420);if(!LB(NB(n.flag)))throw new cP(lP.EINVAL,"Flag passed must allow for writing.");if("string"!=typeof e&&!n.encoding)throw new cP(lP.EINVAL,"Encoding not specified");const i="string"==typeof e?A$.Buffer.from(e,n.encoding):e;await this.file.write(i,0,i.length,0),H$("change",this.file.path)}async close(){await this.file.close(),C$.delete(this.fd)}async writev(e,t){let n=0;for(const i of e)n+=(await this.write(i,0,i.length,t+n)).bytesWritten;return{bytesWritten:n,buffers:e}}async readv(e,t){let n=0;for(const i of e)n+=(await this.read(i,0,i.byteLength,t+n)).bytesRead;return{bytesRead:n,buffers:e}}createReadStream(e){const t=new jU({highWaterMark:e?.highWaterMark||65536,encoding:e.encoding,read:async e=>{try{const n=await this.read(new Uint8Array(e),0,e,this.file.position);t.push(n.bytesRead?n.buffer.slice(0,n.bytesRead):null),this.file.position+=n.bytesRead}catch(e){t.destroy(e)}}});return t.path=this.file.path,t}createWriteStream(e){const t=new YU({highWaterMark:e?.highWaterMark,encoding:e?.encoding,write:async(e,t,n)=>{try{const{bytesWritten:i}=await this.write(e,null,t);n(i==e.length?null:new Error("Failed to write full chunk"))}catch(e){n(e)}}});return t.path=this.file.path,t}}async function XU(e,t){e=AP(e),t=AP(t);const n=F$(e,this),i=F$(t,this);if(IB.checkAccess&&!(await KU.call(this,mP(e))).hasAccess(NP,this))throw cP.With("EACCES",e,"rename");try{if(n.mountPoint==i.mountPoint)return await n.fs.rename(n.path,i.path),H$("rename",e.toString()),void H$("change",t.toString());await iV.call(this,t,await nV(e)),await JU.call(this,e),H$("rename",e.toString())}catch(r){throw B$(r,{[n.path]:e,[i.path]:t})}}async function qU(e){try{const{fs:t,path:n}=F$(await _V.call(this,e),this);return await t.exists(n)}catch(e){if(e instanceof cP&&"ENOENT"==e.code)return!1;throw e}}async function KU(e,t){e=AP(e);const{fs:n,path:i}=F$(await _V.call(this,e),this);try{const e=await n.stat(i);if(IB.checkAccess&&!e.hasAccess(RP,this))throw cP.With("EACCES",i,"stat");return t?.bigint?new OB(e):e}catch(t){throw B$(t,{[i]:e})}}async function ZU(e,t){e=AP(e);const{fs:n,path:i}=F$(e,this);try{const e=await n.stat(i);return t?.bigint?new OB(e):e}catch(t){throw B$(t,{[i]:e})}}async function QU(e,t=0){const n={stack:[],error:void 0,hasError:!1};try{const i=GU(n,await tV.call(this,e,"r+"),!0);await i.truncate(t)}catch(e){n.error=e,n.hasError=!0}finally{const e=HU(n);e&&await e}}async function JU(e){e=AP(e);const{fs:t,path:n}=F$(e,this);try{if(IB.checkAccess&&!(await(w$.getAsync(e)||t.stat(n))).hasAccess(NP,this))throw cP.With("EACCES",n,"unlink");await t.unlink(n),H$("rename",e.toString())}catch(t){throw B$(t,{[n]:e})}}async function eV(e,t,n=420,i){e=AP(e);const r=wP(n,420),s=NB(t);e=i?await _V.call(this,e):e;const{fs:o,path:a}=F$(e,this),l=await o.stat(a).catch(()=>null);if(!l){if(!LB(s)&&!BB(s)||"r+"==s)throw cP.With("ENOENT",e,"_open");const t=await o.stat(mP(a));if(IB.checkAccess&&!t.hasAccess(NP,this))throw cP.With("EACCES",mP(e),"_open");if(!t.isDirectory())throw cP.With("ENOTDIR",mP(e),"_open");return new WU(await o.createFile(a,s,r),this)}if(IB.checkAccess&&!l.hasAccess(DB(s),this))throw cP.With("EACCES",e,"_open");if($B(s))throw cP.With("EEXIST",e,"_open");const u=new WU(await o.openFile(a,s),this);return PB(s)&&await u.truncate(0),u}async function tV(e,t="r",n=420){return await eV.call(this,e,t,n,!0)}async function nV(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=SP(t,null,"r",420),r=GU(n,"object"==typeof e&&"fd"in e?e:await tV.call(this,e,i.flag,i.mode),!0);return await r.readFile(i)}catch(e){n.error=e,n.hasError=!0}finally{const e=HU(n);e&&await e}}async function iV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=SP(n,"utf8","w+",420),s=GU(i,e instanceof WU?e:await tV.call(this,e.toString(),r.flag,r.mode),!0),o=t;if("string"!=typeof o&&!(o instanceof Uint8Array))throw new cP(lP.EINVAL,"Iterables and streams not supported",s.file.path,"writeFile");await s.writeFile(o,r)}catch(e){i.error=e,i.hasError=!0}finally{const e=HU(i);e&&await e}}async function rV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=SP(n,"utf8","a",420);if(!BB(NB(r.flag)))throw new cP(lP.EINVAL,"Flag passed to appendFile must allow for appending.");if("string"!=typeof t&&!r.encoding)throw new cP(lP.EINVAL,"Encoding not specified");const s="string"==typeof t?A$.Buffer.from(t,r.encoding):new Uint8Array(t.buffer,t.byteOffset,t.byteLength),o=GU(i,"object"==typeof e&&"fd"in e?e:await tV.call(this,e,r.flag,r.mode),!0);await o.appendFile(s,r)}catch(e){i.error=e,i.hasError=!0}finally{const e=HU(i);e&&await e}}async function sV(e){e=await _V.call(this,e);const{fs:t,path:n}=F$(e,this);try{const i=await(w$.getAsync(e)||t.stat(n));if(!i)throw cP.With("ENOENT",e,"rmdir");if(!i.isDirectory())throw cP.With("ENOTDIR",n,"rmdir");if(IB.checkAccess&&!i.hasAccess(NP,this))throw cP.With("EACCES",n,"rmdir");await t.rmdir(n),H$("rename",e.toString())}catch(t){throw B$(t,{[n]:e})}}async function oV(e,t){t="object"==typeof t?t:{mode:t};const n=wP(t?.mode,511);e=await _V.call(this,e);const{fs:i,path:r,root:s}=F$(e,this),o={[r]:e};try{if(!t?.recursive){if(IB.checkAccess&&!(await i.stat(mP(r))).hasAccess(NP,this))throw cP.With("EACCES",mP(r),"mkdir");return await i.mkdir(r,n),void H$("rename",e.toString())}const a=[];for(let t=r,n=e;!await i.exists(t);t=mP(t),n=mP(n))a.unshift(t),o[t]=n;for(const e of a){if(IB.checkAccess&&!(await i.stat(mP(e))).hasAccess(NP,this))throw cP.With("EACCES",mP(e),"mkdir");await i.mkdir(e,n),H$("rename",e)}return 1==s.length?a[0]:a[0]?.slice(s.length)}catch(e){throw B$(e,o)}}async function aV(e,t){t="object"==typeof t?t:{encoding:t},e=await _V.call(this,e);const n=t=>{throw B$(t,{[r]:e})},{fs:i,path:r}=F$(e,this),s=w$.getAsync(e)||i.stat(r).catch(n);w$.setAsync(e,s);const o=await s;if(!o)throw cP.With("ENOENT",e,"readdir");if(IB.checkAccess&&!o.hasAccess(RP,this))throw cP.With("EACCES",e,"readdir");if(!o.isDirectory())throw cP.With("ENOTDIR",e,"readdir");const a=await i.readdir(r).catch(n),l=[];return await Promise.all(a.map(async s=>{let o;if(t?.recursive||t?.withFileTypes){const t=w$.getAsync(fP(e,s))||i.stat(fP(r,s)).catch(n);w$.setAsync(fP(e,s),t),o=await t}if(t?.withFileTypes?l.push(new UU(s,o)):"buffer"==t?.encoding?l.push(A$.Buffer.from(s)):l.push(s),t?.recursive&&o?.isDirectory())for(const n of await aV.call(this,fP(e,s),{...t,_isIndirect:!0}))n instanceof UU?(n.path=fP(s,n.path),l.push(n)):A$.Buffer.isBuffer(n)?l.push(A$.Buffer.from(fP(s,TP(n)))):l.push(fP(s,n))})),t?._isIndirect||w$.clear(),l}async function lV(e,t){e=AP(e),t=AP(t);const{fs:n,path:i}=F$(e,this),r=F$(t,this);if(n!=r.fs)throw cP.With("EXDEV",t,"link");try{if(IB.checkAccess&&!(await n.stat(mP(e))).hasAccess(RP,this))throw cP.With("EACCES",mP(i),"link");if(IB.checkAccess&&!(await KU.call(this,mP(t))).hasAccess(NP,this))throw cP.With("EACCES",mP(t),"link");if(IB.checkAccess&&!(await n.stat(i)).hasAccess(RP,this))throw cP.With("EACCES",i,"link");return await n.link(i,r.path)}catch(n){throw B$(n,{[r.path]:t,[i]:e})}}async function uV(e,t,n="file"){const i={stack:[],error:void 0,hasError:!1};try{if(!["file","dir","junction"].includes(n))throw new cP(lP.EINVAL,"Invalid symlink type: "+n);if(await qU.call(this,t))throw cP.With("EEXIST",t.toString(),"symlink");const r=GU(i,await eV.call(this,t,"w+",420,!1),!0);await r.writeFile(e.toString()),await r.file.chmod(nB)}catch(e){i.error=e,i.hasError=!0}finally{const e=HU(i);e&&await e}}async function cV(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=GU(n,await eV.call(this,AP(e),"r",420,!1),!0),r=await i.readFile(),s="object"==typeof t?t?.encoding:t;return"buffer"==s?r:r.toString(s)}catch(e){n.error=e,n.hasError=!0}finally{const e=HU(n);e&&await e}}async function dV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=GU(i,await tV.call(this,e,"r+"),!0);await r.chown(t,n)}catch(e){i.error=e,i.hasError=!0}finally{const e=HU(i);e&&await e}}async function hV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=GU(i,await eV.call(this,e,"r+",420,!1),!0);await r.chown(t,n)}catch(e){i.error=e,i.hasError=!0}finally{const e=HU(i);e&&await e}}async function pV(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=GU(n,await tV.call(this,e,"r+"),!0);await i.chmod(t)}catch(e){n.error=e,n.hasError=!0}finally{const e=HU(n);e&&await e}}async function fV(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=GU(n,await eV.call(this,e,"r+",420,!1),!0);await i.chmod(t)}catch(e){n.error=e,n.hasError=!0}finally{const e=HU(n);e&&await e}}async function mV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=GU(i,await tV.call(this,e,"r+"),!0);await r.utimes(t,n)}catch(e){i.error=e,i.hasError=!0}finally{const e=HU(i);e&&await e}}async function gV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=GU(i,await eV.call(this,e,"r+",420,!1),!0);await r.utimes(new Date(t),new Date(n))}catch(e){i.error=e,i.hasError=!0}finally{const e=HU(i);e&&await e}}async function _V(e,t){e=AP(e);const n=(this?.root||"")+e;if(I$.hasAsync(n))return I$.getAsync(n);const{base:i,dir:r}=_P(e),s="/"==r?"/":await(I$.getAsync((this?.root||"")+r)||_V.call(this,r)),o=fP(s,i),{fs:a,path:l}=F$(o,this);try{const t=w$.getAsync(o)||a.stat(l);if(w$.setAsync(o,t),!(await t).isSymbolicLink())return I$.set(e,o),o;const i=pP(s,(await cV.call(this,o)).toString()),r=I$.getAsync((this?.root||"")+i)||_V.call(this,i);return I$.setAsync(n,r),await r}catch(t){if("ENOENT"==t.code)return e;throw B$(t,{[l]:o})}}function yV(e,t={}){return{[Symbol.asyncIterator](){const n=new j$(e.toString(),"string"!=typeof t?t:{encoding:t}),i=[];function r(){n.close();for(const e of i)e({value:null,done:!0});return i.length=0,Promise.resolve({value:null,done:!0})}return n.on("change",(e,t)=>{i.shift()?.({value:{eventType:e,filename:t},done:!1})}),{async next(){const{promise:e,resolve:t}=Promise.withResolvers();return i.push(t),e},return:r,throw:r}}}}async function vV(e,t=kP){if(!IB.checkAccess)return;if(!(await KU.call(this,e)).hasAccess(t,this))throw new cP(lP.EACCES)}async function bV(e,t){e=AP(e);const n=await(w$.getAsync(e)||ZU.call(this,e).catch(e=>{if("ENOENT"!=e.code||!t?.force)throw e}));if(n){switch(w$.set(e,n),n.mode&eB){case sB:if(t?.recursive)for(const n of await aV.call(this,e,{_isIndirect:!0}))await bV.call(this,fP(e,n),{...t,_isIndirect:!0});await sV.call(this,e);break;case iB:case nB:case rB:case oB:await JU.call(this,e);break;default:throw w$.clear(),new cP(lP.EPERM,"File type not supported",e,"rm")}t?._isIndirect||w$.clear()}}async function TV(e,t){const n="object"==typeof t?t?.encoding:t||"utf8",i="/tmp/"+`${e}${Date.now()}-${Math.random().toString(36).slice(2)}`;return await oV.call(this,i),"buffer"==n?A$.Buffer.from(i):i}async function xV(e,t,n){if(e=AP(e),t=AP(t),n&&n&FP&&await qU.call(this,t))throw new cP(lP.EEXIST,"Destination file already exists.",t,"copyFile");await iV.call(this,t,await nV.call(this,e)),H$("rename",t.toString())}function EV(e,t){return e=AP(e),Promise.resolve(new VU(e,this))}async function wV(e,t,n){e=AP(e),t=AP(t);const i=await ZU.call(this,e);if(n?.errorOnExist&&await qU.call(this,t))throw new cP(lP.EEXIST,"Destination file or directory already exists.",t,"cp");switch(i.mode&eB){case sB:{if(!n?.recursive)throw new cP(lP.EISDIR,e+" is a directory (not copied)",e,"cp");const[i]=await Promise.all([aV.call(this,e,{withFileTypes:!0}),oV.call(this,t,{recursive:!0})]),r=async i=>{n.filter&&!n.filter(fP(e,i.name),fP(t,i.name))||await wV.call(this,fP(e,i.name),fP(t,i.name),n)};await Promise.all(i.map(r));break}case iB:case nB:await xV.call(this,e,t);break;default:throw new cP(lP.EPERM,"File type not supported",e,"rm")}n?.preserveTimestamps&&await mV.call(this,t,i.atime,i.mtime)}async function IV(e,t){e=AP(e);const{fs:n}=F$(e,this);return Promise.resolve(U$(n,t?.bigint))}const AV=()=>{};function SV(e,t,n=AV){XU.call(this,e,t).then(()=>n()).catch(n)}function CV(e,t=AV){qU.call(this,e).then(t).catch(()=>t(!1))}function OV(e,t,n=AV){n="function"==typeof t?t:n,KU.call(this,e,"function"!=typeof t?t:{}).then(e=>n(void 0,e)).catch(n)}function MV(e,t,n=AV){n="function"==typeof t?t:n,ZU.call(this,e,"function"!=typeof t?t:{}).then(e=>n(void 0,e)).catch(n)}function kV(e,t=0,n=AV){n="function"==typeof t?t:n;const i="number"==typeof t?t:0;QU.call(this,e,i).then(()=>n()).catch(n)}function RV(e,t=AV){JU.call(this,e).then(()=>t()).catch(t)}function NV(e,t,n,i=AV){const r=wP(n,420);i="function"==typeof n?n:i,tV.call(this,e,t,r).then(e=>i(void 0,e.fd)).catch(i)}function DV(e,t,n=AV){n="function"==typeof t?t:n,nV.call(this,e,"function"==typeof t?null:t).then(e=>n(void 0,e)).catch(n)}function FV(e,t,n,i=AV){i="function"==typeof n?n:i,iV.call(this,e,t,"function"!=typeof n?n:null).then(()=>i(void 0)).catch(i)}function LV(e,t,n,i=AV){const r="function"!=typeof n?n:void 0;i="function"==typeof n?n:i,rV.call(this,e,t,r).then(()=>i()).catch(i)}function PV(e,t,n=AV){n="function"==typeof t?t:n,k$(e).stat().then(e=>n(void 0,"object"==typeof t&&t?.bigint?new OB(e):e)).catch(n)}function BV(e,t=AV){const n=k$(e).close();C$.delete(e),n.then(()=>t()).catch(t)}function $V(e,t,n=AV){const i="number"==typeof t?t:0;n="function"==typeof t?t:n;const r=k$(e);if(i<0)throw new cP(lP.EINVAL);r.truncate(i).then(()=>n()).catch(n)}function UV(e,t=AV){k$(e).sync().then(()=>t()).catch(t)}function VV(e,t=AV){k$(e).datasync().then(()=>t()).catch(t)}function zV(e,t,n,i,r,s=AV){let o,a,l,u,c;const d=new WU(e,this);if("string"==typeof t){switch(c="utf8",typeof n){case"function":s=n;break;case"number":u=n,c="string"==typeof i?i:"utf8",s="function"==typeof r?r:s;break;default:return void(s="function"==typeof i?i:"function"==typeof r?r:s)(new cP(lP.EINVAL,"Invalid arguments."))}o=A$.Buffer.from(t),a=0,l=o.length;const e=s;d.write(o,a,l,u).then(({bytesWritten:t})=>e(void 0,t,o.toString(c))).catch(e)}else{o=A$.Buffer.from(t.buffer),a=n,l=i,u="number"==typeof r?r:null;const e="function"==typeof r?r:s;d.write(o,a,l,u).then(({bytesWritten:t})=>e(void 0,t,o)).catch(e)}}function jV(e,t,n,i,r,s=AV){new WU(e,this).read(t,n,i,r).then(({bytesRead:e,buffer:t})=>s(void 0,e,t)).catch(s)}function YV(e,t,n,i=AV){new WU(e,this).chown(t,n).then(()=>i()).catch(i)}function GV(e,t,n){new WU(e,this).chmod(t).then(()=>n()).catch(n)}function HV(e,t,n,i=AV){new WU(e,this).utimes(t,n).then(()=>i()).catch(i)}function WV(e,t=AV){sV.call(this,e).then(()=>t()).catch(t)}function XV(e,t,n=AV){oV.call(this,e,t).then(()=>n()).catch(n)}function qV(e,t,n=AV){n="function"==typeof t?t:n;const i="function"!=typeof t?t:{};aV.call(this,e,i).then(e=>n(void 0,e)).catch(n)}function KV(e,t,n=AV){lV.call(this,e,t).then(()=>n()).catch(n)}function ZV(e,t,n,i=AV){const r="string"==typeof n?n:"file";i="function"==typeof n?n:i,uV.call(this,e,t,r).then(()=>i()).catch(i)}function QV(e,t,n=AV){n="function"==typeof t?t:n,cV.call(this,e).then(e=>n(void 0,e)).catch(n)}function JV(e,t,n,i=AV){dV.call(this,e,t,n).then(()=>i()).catch(i)}function ez(e,t,n,i=AV){hV.call(this,e,t,n).then(()=>i()).catch(i)}function tz(e,t,n=AV){pV.call(this,e,t).then(()=>n()).catch(n)}function nz(e,t,n=AV){fV.call(this,e,t).then(()=>n()).catch(n)}function iz(e,t,n,i=AV){mV.call(this,e,t,n).then(()=>i()).catch(i)}function rz(e,t,n,i=AV){gV.call(this,e,t,n).then(()=>i()).catch(i)}function sz(e,t,n=AV){n="function"==typeof t?t:n,_V.call(this,e,"function"==typeof t?null:t).then(e=>n(void 0,e)).catch(n)}function oz(e,t,n=AV){const i="number"==typeof t?t:RP;n="function"==typeof t?t:n,vV.call(this,e,i).then(()=>n()).catch(n)}const az=new Map;function lz(e,t,n){const i=AP(e.toString()),r="function"!=typeof t?t:{};if("function"==typeof t&&(n=t),!n)throw new cP(lP.EINVAL,"No listener specified",e.toString(),"watchFile");if(az.has(i)){const e=az.get(i);return void(e&&e.listeners.add(n))}const s=new Y$(i,r);s.on("change",(e,t)=>{const n=az.get(i);if(n)for(const i of n.listeners)i(e,t)}),az.set(i,{watcher:s,listeners:new Set})}function uz(e,t=AV){const n=AP(e.toString()),i=az.get(n);i&&(t&&t!==AV?i.listeners.delete(t):i.listeners.clear(),0===i.listeners.size&&(i.watcher.stop(),az.delete(n)))}function cz(e,t,n){const i=new j$(AP(e),"object"==typeof t?t:{});return n="function"==typeof t?t:n,i.on("change",n||AV),i}function dz(e,t){const n=this;let i;const r=new jU({highWaterMark:(t="object"==typeof t?t:{encoding:t}).highWaterMark||65536,encoding:t.encoding||"utf8",async read(s){try{i||(i=await tV.call(n,e,"r",t?.mode));const o=await i.read(new Uint8Array(s),0,s,i.file.position);r.push(o.bytesRead?o.buffer.slice(0,o.bytesRead):null),i.file.position+=o.bytesRead,o.bytesRead||await i.close()}catch(e){await(i?.close()),r.destroy(e)}},destroy(e,t){i?.close().then(()=>t(e)).catch(AV)}});return r.path=e.toString(),r}function hz(e,t){const n=this;let i;t="object"==typeof t?t:{encoding:t};const r=new YU({highWaterMark:t?.highWaterMark,async write(r,s,o){try{i||(i=await tV.call(n,e,"w",t?.mode||438)),await i.write(r,0,s),o(void 0)}catch(e){await(i?.close()),o(e)}},destroy(e,t){t(e),i?.close().then(()=>t(e)).catch(t)},final(e){i?.close().then(()=>e()).catch(e)}});return r.path=e.toString(),r}function pz(e,t,n=AV){n="function"==typeof t?t:n,bV.call(this,e,"function"==typeof t?void 0:t).then(()=>n(void 0)).catch(n)}function fz(e,t,n=AV){n="function"==typeof t?t:n,TV.call(this,e,"function"!=typeof t?t:null).then(e=>n(void 0,e)).catch(n)}function mz(e,t,n,i=AV){i="function"==typeof n?n:i,xV.call(this,e,t,"function"==typeof n?void 0:n).then(()=>i(void 0)).catch(i)}function gz(e,t,n,i=AV){i="function"==typeof n?n:i,new WU(e,this).readv(t,"function"==typeof n?void 0:n).then(({buffers:e,bytesRead:t})=>i(void 0,t,e)).catch(i)}function _z(e,t,n,i=AV){i="function"==typeof n?n:i,new WU(e,this).writev(t,"function"==typeof n?void 0:n).then(({buffers:e,bytesWritten:t})=>i(void 0,t,e)).catch(i)}function yz(e,t,n=AV){n="function"==typeof t?t:n,EV.call(this,e,"function"==typeof t?void 0:t).then(e=>n(void 0,e)).catch(n)}function vz(e,t,n,i=AV){i="function"==typeof n?n:i,wV.call(this,e,t,"function"==typeof n?void 0:n).then(()=>i(void 0)).catch(i)}function bz(e,t,n=AV){n="function"==typeof t?t:n,IV.call(this,e,"function"==typeof t?void 0:t).then(e=>n(void 0,e)).catch(n)}async function Tz(e,t){const n=await tV.call(this,e.toString(),"r"),i=await n.readFile();return await n.close(),new Blob([i],t)}var xz=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},Ez=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});function wz(e){return class extends e{constructor(){super(...arguments),this._queue=[],this._isInitialized=!1}get _queueRunning(){return!!this._queue.length}queueDone(){return new Promise(e=>{const t=()=>this._queueRunning?setTimeout(t):e();t()})}async ready(){if(await super.ready(),await this.queueDone(),!this._isInitialized&&!this._disableSync){if(this.checkSync(),await this._sync.ready(),this._sync instanceof g$&&this instanceof g$){const e=this._sync.store.transaction(),t=this.store.transaction(),n=[];for(const i of await t.keys())n.push(t.get(i).then(t=>e.setSync(i,t)));return await Promise.all(n),void(this._isInitialized=!0)}try{await this.crossCopy("/"),this._isInitialized=!0}catch(e){throw this._isInitialized=!1,e}}}checkSync(e,t){if(this._disableSync)throw new cP(lP.ENOTSUP,"Sync caching has been disabled for this async file system",e,t);if(!this._sync)throw new cP(lP.ENOTSUP,"No sync cache is attached to this async file system",e,t)}renameSync(e,t){this.checkSync(e,"rename"),this._sync.renameSync(e,t),this.queue("rename",e,t)}statSync(e){return this.checkSync(e,"stat"),this._sync.statSync(e)}createFileSync(e,t,n){return this.checkSync(e,"createFile"),this._sync.createFileSync(e,t,n),this.queue("createFile",e,t,n),this.openFileSync(e,t)}openFileSync(e,t){this.checkSync(e,"openFile");const n=this._sync.openFileSync(e,t+"+"),i=n.statSync(),r=new Uint8Array(i.size);return n.readSync(r),new VB(this,e,t,i,r)}unlinkSync(e){this.checkSync(e,"unlinkSync"),this._sync.unlinkSync(e),this.queue("unlink",e)}rmdirSync(e){this.checkSync(e,"rmdir"),this._sync.rmdirSync(e),this.queue("rmdir",e)}mkdirSync(e,t){this.checkSync(e,"mkdir"),this._sync.mkdirSync(e,t),this.queue("mkdir",e,t)}readdirSync(e){return this.checkSync(e,"readdir"),this._sync.readdirSync(e)}linkSync(e,t){this.checkSync(e,"link"),this._sync.linkSync(e,t),this.queue("link",e,t)}syncSync(e,t,n){this.checkSync(e,"sync"),this._sync.syncSync(e,t,n),this.queue("sync",e,t,n)}existsSync(e){return this.checkSync(e,"exists"),this._sync.existsSync(e)}async crossCopy(e){this.checkSync(e,"crossCopy");const t=await this.stat(e);if(!t.isDirectory()){const n={stack:[],error:void 0,hasError:!1};try{const i=xz(n,await this.openFile(e,NB("r")),!0),r=xz(n,this._sync.createFileSync(e,NB("w"),t.mode),!1),s=new Uint8Array(t.size);return await i.read(s),void r.writeSync(s,0,t.size)}catch(e){n.error=e,n.hasError=!0}finally{const e=Ez(n);e&&await e}}if("/"!==e){const t=await this.stat(e);this._sync.mkdirSync(e,t.mode)}const n=[];for(const t of await this.readdir(e))n.push(this.crossCopy(fP(e,t)));await Promise.all(n)}async _next(){if(!this._queueRunning)return;const[e,...t]=this._queue.shift();await this[e](...t),await this._next()}queue(...e){this._queue.push(e),this._next()}}}new Map;wz(zB);new Map;Map;Iz=zB;var Iz;var Az=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},Sz=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});class Cz{get isLocked(){return this._isLocked}constructor(e){this.previous=e,this.current=Promise.withResolvers(),this._isLocked=!0}async done(){await(this.previous?.done()),await this.current.promise}unlock(){this.current.resolve(),this._isLocked=!1}[Symbol.dispose](){this.unlock()}}class Oz{async ready(){return await this._fs.ready()}metadata(){return this._fs.metadata()}addLock(){const e=new Cz(this.currentLock);return this.currentLock=e,e}async lock(e,t){const n=this.currentLock,i=this.addLock(),r=(new Error).stack;return setTimeout(()=>{if(i.isLocked){const n=cP.With("EDEADLK",e,t);throw n.stack+=r?.slice(5),n}},5e3),await(n?.done()),i}lockSync(e,t){if(this.currentLock?.isLocked)throw cP.With("EBUSY",e,t);return this.addLock()}get isLocked(){return!!this.currentLock?.isLocked}async rename(e,t){const n={stack:[],error:void 0,hasError:!1};try{Az(n,await this.lock(e,"rename"),!1);await this._fs.rename(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Sz(n)}}renameSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{Az(n,this.lockSync(e,"rename"),!1);return this._fs.renameSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Sz(n)}}async stat(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,await this.lock(e,"stat"),!1);return await this._fs.stat(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}statSync(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,this.lockSync(e,"stat"),!1);return this._fs.statSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}async openFile(e,t){const n={stack:[],error:void 0,hasError:!1};try{Az(n,await this.lock(e,"openFile"),!1);const i=await this._fs.openFile(e,t);return i.fs=this,i}catch(e){n.error=e,n.hasError=!0}finally{Sz(n)}}openFileSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{Az(n,this.lockSync(e,"openFile"),!1);const i=this._fs.openFileSync(e,t);return i.fs=this,i}catch(e){n.error=e,n.hasError=!0}finally{Sz(n)}}async createFile(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{Az(i,await this.lock(e,"createFile"),!1);const r=await this._fs.createFile(e,t,n);return r.fs=this,r}catch(e){i.error=e,i.hasError=!0}finally{Sz(i)}}createFileSync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{Az(i,this.lockSync(e,"createFile"),!1);const r=this._fs.createFileSync(e,t,n);return r.fs=this,r}catch(e){i.error=e,i.hasError=!0}finally{Sz(i)}}async unlink(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,await this.lock(e,"unlink"),!1);await this._fs.unlink(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}unlinkSync(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,this.lockSync(e,"unlink"),!1);return this._fs.unlinkSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}async rmdir(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,await this.lock(e,"rmdir"),!1);await this._fs.rmdir(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}rmdirSync(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,this.lockSync(e,"rmdir"),!1);return this._fs.rmdirSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}async mkdir(e,t){const n={stack:[],error:void 0,hasError:!1};try{Az(n,await this.lock(e,"mkdir"),!1);await this._fs.mkdir(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Sz(n)}}mkdirSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{Az(n,this.lockSync(e,"mkdir"),!1);return this._fs.mkdirSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Sz(n)}}async readdir(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,await this.lock(e,"readdir"),!1);return await this._fs.readdir(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}readdirSync(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,this.lockSync(e,"readdir"),!1);return this._fs.readdirSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}async exists(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,await this.lock(e,"exists"),!1);return await this._fs.exists(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}existsSync(e){const t={stack:[],error:void 0,hasError:!1};try{Az(t,this.lockSync(e,"exists"),!1);return this._fs.existsSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Sz(t)}}async link(e,t){const n={stack:[],error:void 0,hasError:!1};try{Az(n,await this.lock(e,"link"),!1);await this._fs.link(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Sz(n)}}linkSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{Az(n,this.lockSync(e,"link"),!1);return this._fs.linkSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Sz(n)}}async sync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{Az(i,await this.lock(e,"sync"),!1);await this._fs.sync(e,t,n)}catch(e){i.error=e,i.hasError=!0}finally{Sz(i)}}syncSync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{Az(i,this.lockSync(e,"sync"),!1);return this._fs.syncSync(e,t,n)}catch(e){i.error=e,i.hasError=!0}finally{Sz(i)}}}var Mz=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},kz=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});const Rz="/.deleted";class Nz extends zB{async ready(){await this.readable.ready(),await this.writable.ready(),await this._ready}constructor({writable:e,readable:t}){if(super(),this._isInitialized=!1,this._deletedFiles=new Set,this._deleteLog="",this._deleteLogUpdatePending=!1,this._deleteLogUpdateNeeded=!1,this.writable=e,this.readable=t,this.writable.metadata().readonly)throw new cP(lP.EINVAL,"Writable file system must be writable.");this._ready=this._initialize()}metadata(){return{...super.metadata(),name:Dz.name}}async sync(e,t,n){await this.copyForWrite(e),await this.writable.exists(e)||await this.writable.createFile(e,"w",420),await this.writable.sync(e,t,n)}syncSync(e,t,n){this.copyForWriteSync(e),this.writable.syncSync(e,t,n)}async _initialize(){if(!this._isInitialized){try{const e=await this.writable.openFile(Rz,NB("r")),{size:t}=await e.stat(),{buffer:n}=await e.read(new Uint8Array(t));this._deleteLog=TP(n)}catch(e){if(e.errno!==lP.ENOENT)throw e}this._isInitialized=!0,this._reparseDeletionLog()}}getDeletionLog(){return this._deleteLog}async restoreDeletionLog(e){this._deleteLog=e,this._reparseDeletionLog(),await this.updateLog("")}async rename(e,t){this.checkInitialized(),this.checkPath(e),this.checkPath(t),await this.copyForWrite(e);try{await this.writable.rename(e,t)}catch{if(this._deletedFiles.has(e))throw cP.With("ENOENT",e,"rename")}}renameSync(e,t){this.checkInitialized(),this.checkPath(e),this.checkPath(t),this.copyForWriteSync(e);try{this.writable.renameSync(e,t)}catch{if(this._deletedFiles.has(e))throw cP.With("ENOENT",e,"rename")}}async stat(e){this.checkInitialized();try{return await this.writable.stat(e)}catch{if(this._deletedFiles.has(e))throw cP.With("ENOENT",e,"stat");const t=await this.readable.stat(e);return t.mode|=146,t}}statSync(e){this.checkInitialized();try{return this.writable.statSync(e)}catch{if(this._deletedFiles.has(e))throw cP.With("ENOENT",e,"stat");const t=this.readable.statSync(e);return t.mode|=146,t}}async openFile(e,t){if(await this.writable.exists(e))return this.writable.openFile(e,t);const n=await this.readable.openFile(e,NB("r")),i=await n.stat(),{buffer:r}=await n.read(new Uint8Array(i.size));return new VB(this,e,t,i,r)}openFileSync(e,t){if(this.writable.existsSync(e))return this.writable.openFileSync(e,t);const n=this.readable.openFileSync(e,NB("r")),i=n.statSync(),r=new Uint8Array(i.size);return n.readSync(r),new VB(this,e,t,i,r)}async createFile(e,t,n){return this.checkInitialized(),await this.writable.createFile(e,t,n),this.openFile(e,t)}createFileSync(e,t,n){return this.checkInitialized(),this.writable.createFileSync(e,t,n),this.openFileSync(e,t)}async link(e,t){this.checkInitialized(),await this.copyForWrite(e),await this.writable.link(e,t)}linkSync(e,t){this.checkInitialized(),this.copyForWriteSync(e),this.writable.linkSync(e,t)}async unlink(e){if(this.checkInitialized(),this.checkPath(e),!await this.exists(e))throw cP.With("ENOENT",e,"unlink");await this.writable.exists(e)&&await this.writable.unlink(e),await this.exists(e)&&await this.deletePath(e)}unlinkSync(e){if(this.checkInitialized(),this.checkPath(e),!this.existsSync(e))throw cP.With("ENOENT",e,"unlink");this.writable.existsSync(e)&&this.writable.unlinkSync(e),this.existsSync(e)&&this.deletePath(e)}async rmdir(e){if(this.checkInitialized(),!await this.exists(e))throw cP.With("ENOENT",e,"rmdir");if(await this.writable.exists(e)&&await this.writable.rmdir(e),await this.exists(e)){if((await this.readdir(e)).length)throw cP.With("ENOTEMPTY",e,"rmdir");await this.deletePath(e)}}rmdirSync(e){if(this.checkInitialized(),!this.existsSync(e))throw cP.With("ENOENT",e,"rmdir");if(this.writable.existsSync(e)&&this.writable.rmdirSync(e),this.existsSync(e)){if(this.readdirSync(e).length)throw cP.With("ENOTEMPTY",e,"rmdir");this.deletePath(e)}}async mkdir(e,t){if(this.checkInitialized(),await this.exists(e))throw cP.With("EEXIST",e,"mkdir");await this.createParentDirectories(e),await this.writable.mkdir(e,t)}mkdirSync(e,t){if(this.checkInitialized(),this.existsSync(e))throw cP.With("EEXIST",e,"mkdir");this.createParentDirectoriesSync(e),this.writable.mkdirSync(e,t)}async readdir(e){this.checkInitialized();const t=[];try{t.push(...await this.writable.readdir(e))}catch{}try{t.push(...(await this.readable.readdir(e)).filter(t=>!this._deletedFiles.has(`${e}/${t}`)))}catch{}const n={};return t.filter(e=>{const t=!n[e];return n[e]=!0,t})}readdirSync(e){this.checkInitialized();let t=[];try{t=t.concat(this.writable.readdirSync(e))}catch{}try{t=t.concat(this.readable.readdirSync(e).filter(t=>!this._deletedFiles.has(`${e}/${t}`)))}catch{}const n={};return t.filter(e=>{const t=!n[e];return n[e]=!0,t})}async deletePath(e){this._deletedFiles.add(e),await this.updateLog(`d${e}\n`)}async updateLog(e){if(this._deleteLog+=e,this._deleteLogUpdatePending)return void(this._deleteLogUpdateNeeded=!0);this._deleteLogUpdatePending=!0;const t=await this.writable.openFile(Rz,NB("w"));try{await t.write(vP(this._deleteLog)),this._deleteLogUpdateNeeded&&(this._deleteLogUpdateNeeded=!1,await this.updateLog(""))}catch(e){this._deleteLogError=e}finally{this._deleteLogUpdatePending=!1}}_reparseDeletionLog(){this._deletedFiles.clear();for(const e of this._deleteLog.split("\n"))e.startsWith("d")&&this._deletedFiles.add(e.slice(1))}checkInitialized(){if(!this._isInitialized)throw new cP(lP.EPERM,"OverlayFS is not initialized. Please initialize OverlayFS using its initialize() method before using it.");if(!this._deleteLogError)return;const e=this._deleteLogError;throw delete this._deleteLogError,e}checkPath(e){if(e==Rz)throw cP.With("EPERM",e,"checkPath")}createParentDirectoriesSync(e){let t=mP(e);const n=[];for(;!this.writable.existsSync(t);)n.push(t),t=mP(t);for(const e of n.reverse())this.writable.mkdirSync(e,this.statSync(e).mode)}async createParentDirectories(e){let t=mP(e);const n=[];for(;!await this.writable.exists(t);)n.push(t),t=mP(t);for(const e of n.reverse()){const t=await this.stat(e);await this.writable.mkdir(e,t.mode)}}copyForWriteSync(e){if(!this.existsSync(e))throw cP.With("ENOENT",e,"copyForWrite");this.writable.existsSync(mP(e))||this.createParentDirectoriesSync(e),this.writable.existsSync(e)||this.copyToWritableSync(e)}async copyForWrite(e){if(!await this.exists(e))throw cP.With("ENOENT",e,"copyForWrite");if(await this.writable.exists(mP(e))||await this.createParentDirectories(e),!await this.writable.exists(e))return this.copyToWritable(e)}copyToWritableSync(e){const t={stack:[],error:void 0,hasError:!1};try{const n=this.statSync(e);if(n.isDirectory())return void this.writable.mkdirSync(e,n.mode);const i=new Uint8Array(n.size);Mz(t,this.readable.openFileSync(e,"r"),!1).readSync(i);Mz(t,this.writable.createFileSync(e,"w",146|n.mode),!1).writeSync(i)}catch(e){t.error=e,t.hasError=!0}finally{kz(t)}}async copyToWritable(e){const t={stack:[],error:void 0,hasError:!1};try{const n=await this.stat(e);if(n.isDirectory())return void await this.writable.mkdir(e,n.mode);const i=new Uint8Array(n.size),r=Mz(t,await this.readable.openFile(e,"r"),!0);await r.read(i);const s=Mz(t,await this.writable.createFile(e,"w",146|n.mode),!0);await s.write(i)}catch(e){t.error=e,t.hasError=!0}finally{const e=kz(t);e&&await e}}}class Dz extends(function(e){return class extends Oz{constructor(...t){super(),this._fs=new e(...t)}}}(Nz)){}function Fz(e,t,n){if(e instanceof cP)return e;const i=e instanceof DOMException?lP[function(e){switch(e.name){case"IndexSizeError":case"HierarchyRequestError":case"InvalidCharacterError":case"InvalidStateError":case"SyntaxError":case"NamespaceError":case"TypeMismatchError":case"ConstraintError":case"VersionError":case"URLMismatchError":case"InvalidNodeTypeError":return"EINVAL";case"WrongDocumentError":return"EXDEV";case"NoModificationAllowedError":case"InvalidModificationError":case"InvalidAccessError":case"SecurityError":case"NotAllowedError":return"EACCES";case"NotFoundError":return"ENOENT";case"NotSupportedError":return"ENOTSUP";case"InUseAttributeError":return"EBUSY";case"NetworkError":return"ENETDOWN";case"AbortError":return"EINTR";case"QuotaExceededError":return"ENOSPC";case"TimeoutError":return"ETIMEDOUT";case"ReadOnlyError":return"EROFS";default:return"EIO"}}(e)]:lP.EIO,r=new cP(i,e.message,t,n);return r.stack=e.stack,r.cause=e.cause,r}globalThis.__zenfs__=ue;class Lz extends(wz(zB)){constructor(e){super(),this._handles=new Map,this._sync=x$.create({name:"accessfs-cache"}),this._handles.set("/",e)}metadata(){return{...super.metadata(),name:"WebAccess",noResizableBuffers:!0}}async sync(e,t){await this.writeFile(e,t)}async rename(e,t){const n=await this.getHandle(e);if(n instanceof FileSystemDirectoryHandle){const n=await this.readdir(e);if(await this.mkdir(t),!n.length)return void await this.unlink(e);for(const i of n)await this.rename(fP(e,i),fP(t,i)),await this.unlink(e);return}if(!(n instanceof FileSystemFileHandle))throw new cP(lP.ENOTSUP,"Not a file or directory handle",e,"rename");const i=await n.getFile().catch(t=>{throw Fz(t,e,"rename")}),r=await this.getHandle(mP(t));if(!(r instanceof FileSystemDirectoryHandle))return;const s=await r.getFileHandle(gP(t),{create:!0}).catch(e=>{throw Fz(e,t,"rename")}),o=await s.createWritable();await o.write(await i.arrayBuffer()),await o.close(),await this.unlink(e)}async writeFile(e,t){if(t.buffer.resizable)throw new cP(lP.EINVAL,"Resizable buffers can not be written",e,"write");const n=await this.getHandle(mP(e));if(!(n instanceof FileSystemDirectoryHandle))return;const i=await n.getFileHandle(gP(e),{create:!0}),r=await i.createWritable();await r.write(t),await r.close()}async createFile(e,t){return await this.writeFile(e,new Uint8Array),this.openFile(e,t)}async stat(e){const t=await this.getHandle(e);if(!t)throw cP.With("ENOENT",e,"stat");if(t instanceof FileSystemDirectoryHandle)return new CB({mode:511|sB,size:4096});if(t instanceof FileSystemFileHandle){const{lastModified:e,size:n}=await t.getFile();return new CB({mode:511|iB,size:n,mtimeMs:e})}throw new cP(lP.EBADE,"Handle is not a directory or file",e,"stat")}async openFile(e,t){const n=await this.getHandle(e);if(!(n instanceof FileSystemFileHandle))throw cP.With("EISDIR",e,"openFile");const i=await n.getFile().catch(t=>{throw Fz(t,e,"openFile")}),r=new Uint8Array(await i.arrayBuffer()),s=new CB({mode:511|iB,size:i.size,mtimeMs:i.lastModified});return new VB(this,e,t,s,r)}async unlink(e){const t=await this.getHandle(mP(e));if(!(t instanceof FileSystemDirectoryHandle))throw cP.With("ENOTDIR",mP(e),"unlink");await t.removeEntry(gP(e),{recursive:!0}).catch(t=>{throw Fz(t,e,"unlink")})}async link(e){}async rmdir(e){return this.unlink(e)}async mkdir(e){if(await this.getHandle(e).catch(e=>{if("ENOENT"!=e.code)throw e}))throw cP.With("EEXIST",e,"mkdir");const t=await this.getHandle(mP(e));if(!(t instanceof FileSystemDirectoryHandle))throw cP.With("ENOTDIR",e,"mkdir");await t.getDirectoryHandle(gP(e),{create:!0})}async readdir(e){const t=await this.getHandle(e);if(!(t instanceof FileSystemDirectoryHandle))throw cP.With("ENOTDIR",e,"readdir");const n=[];for await(const e of t.keys())n.push(e);return n}async getHandle(e){if(this._handles.has(e))return this._handles.get(e);let t="/";for(const n of e.split("/").slice(1)){const e=this._handles.get(t);if(!(e instanceof FileSystemDirectoryHandle))throw cP.With("ENOTDIR",t,"getHandle");t=fP(t,n);const i=await e.getDirectoryHandle(n).catch(i=>{switch(i.name){case"TypeMismatchError":return e.getFileHandle(n).catch(e=>{});case"TypeError":throw new cP(lP.ENOENT,i.message,t,"getHandle");default:throw Fz(i,t,"getHandle")}});i&&this._handles.set(t,i)}return this._handles.get(e)}}function Pz(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}let Bz;function $z(){return Bz||(Bz=function(e,t){const n=indexedDB.open(e);n.onupgradeneeded=()=>n.result.createObjectStore(t);const i=Pz(n);return(e,n)=>i.then(i=>n(i.transaction(t,e).objectStore(t)))}("keyval-store","keyval")),Bz}class Uz extends Lz{constructor(e){super(e)}async readFile(e){const t=await this.getHandle(e);if(t instanceof window.FileSystemFileHandle){const e=await t.getFile();return await e.text()}return""}}class Vz extends ze.FS{#e=null;#t=new TextEncoder;constructor(){super()}async showDirectoryPicker(){const e=await window.showDirectoryPicker({mode:"readwrite"});if("granted"!==await e.requestPermission({mode:"readwrite"}))throw new Error("readwrite access to directory not granted");return await this.setFSCache(e),this.#e=new Uz(e),e}async loadFS(){let e=await this.getFSCache();if(!e)return null;if("granted"!==await e.requestPermission({mode:"readwrite"}))throw new Error("readwrite access to directory not granted");return this.#e=new Uz(e),e}async getFSCache(){return function(e,t=$z()){return t("readonly",t=>Pz(t.get(e)))}("mixly-pyodide-fs")}async setFSCache(e){await function(e,t,n=$z()){return n("readwrite",n=>(n.put(t,e),Pz(n.transaction)))}("mixly-pyodide-fs",e)}async createFile(e){return this.#e.createFile(e,"")}async readFile(e){return this.#e.readFile(e)}async writeFile(e,t){const n=this.#t.encode(t);return this.#e.writeFile(e,n)}async isFile(e){const t=await this.#e.stat(e);return!(!t||33279!==t.mode)}async renameFile(e,t){return await this.#e.rename(e,t)}async moveFile(e,t){return this.renameFile(e,t)}async deleteFile(e){return this.#e.unlink(e)}async createDirectory(e){return this.#e.mkdir(e,511)}async readDirectory(e){return await this.#e.readdir(e)}async isDirectory(e){const t=await this.#e.stat(e);return!(!t||16895!==t.mode)}async isDirectoryEmpty(e){const t=await this.readDirectory(e);return!t?.length}async renameDirectory(e,t){return this.#e.rename(e,t)}async moveDirectory(e,t){return this.#e.rename(e,t)}async deleteDirectory(e){return this.#e.rmdir(e)}}class zz extends ze.FileTree{constructor(){super(new Vz)}async readFolder(e){let t=[];try{const n=this.getFS();if(!await n.isDirectory(e))return t;const i=await n.readDirectory(e);for(let r of i){const i=Ax.join(e,r);if(await n.isDirectory(i)){const e=await n.isDirectoryEmpty(i);t.push({type:"folder",id:i,children:!e,title:`/${this.getRootFolderName()}${i}`})}else t.push({type:"file",id:i,children:!1,title:`/${this.getRootFolderName()}${i}`})}}catch(e){ze.Debug.error(e)}return t}}class jz extends ze.PageBase{static{ze.HTMLTemplate.add("html/statusbar/statusbar-filesystem.html",new ze.HTMLTemplate('\r\n
\r\n
\r\n
\r\n
')),ze.HTMLTemplate.add("html/statusbar/statusbar-filesystem-open-fs.html",new ze.HTMLTemplate('\r\n
\r\n \r\n
')),ze.HTMLTemplate.add("html/statusbar/statusbar-filesystem-editor-empty.html",new ze.HTMLTemplate('\r\n
\r\n
\r\n
')),this.init=function(){ze.StatusBarsManager.typesRegistry.register(["file-system"],jz);const e=ze.Workspace.getMain().getStatusBarsManager();return e.add({type:"file-system",id:"file-system",name:Ve.Msg.PYTHON_PYODIDE_FILE_SYSTEM,title:Ve.Msg.PYTHON_PYODIDE_FILE_SYSTEM}),e.changeTo("output"),e.get("file-system")}}#n=null;#i=null;#r=null;#s=null;#o=null;#a=null;#l=null;#u=null;#c=!1;#d=!1;#h=!1;#p=null;constructor(){super();const e=Cx()(ze.HTMLTemplate.get("html/statusbar/statusbar-filesystem.html").render());this.setContent(e),this.#l=new zz,this.#i=e.children(".file-tree"),this.#s=Cx()(ze.HTMLTemplate.get("html/statusbar/statusbar-filesystem-open-fs.html").render({msg:{loadFS:Ve.Msg.PYTHON_PYODIDE_LOAD_FILE_SYSTEM}})),this.#i.append(this.#s),this.#a=new ze.StatusBar,this.#r=e.children(".editor"),this.#o=Cx()(ze.HTMLTemplate.get("html/statusbar/statusbar-filesystem-editor-empty.html").render()),this.#r.append(this.#o)}#f(){this.#u=new ze.DragV(this.getContent()[0],{min:"150px",startSize:"15%",full:[!1,!1]}),this.#u.bind("sizeChanged",()=>{this.resize()}),this.#s.children("button").click(()=>{this.selectFS().catch(ze.Debug.error)}),this.#l.bind("beforeSelectLeaf",e=>{const t=e[0].id,n=this.#a.getFileMode(Ax.extname(t));return n?(this.#a.setMode(n),!0):(aP.layer.msg(ze.Msg.Lang["statusbar.ampy.cannotEdit"],{time:1e3}),!1)}),this.#l.bind("afterSelectLeaf",async e=>{const t=e[0].id;this.#l.showProgress();const n=this.#l.getFS();try{const e=await n.readFile(t);this.showEditor(),this.#a.setValue(e),this.#a.scrollToTop(),this.#a.focus(),this.setStatus(!1)}catch(e){ze.Debug.error(e),this.hideEditor(),this.#l.deselectAll()}this.#l.hideProgress()}),this.#l.bind("afterCreateNode",e=>{this.#l.refreshFolder(e)}),this.#l.bind("afterDeleteNode",e=>{this.#l.refreshFolder(e)}),this.#l.bind("afterRenameNode",e=>{this.#l.refreshFolder(e)}),this.#l.bind("afterRefreshNode",()=>{this.#l.getSelectedNodeId()||this.hideEditor()});const e=this.#l.getContextMenu().getItem("menu");e.add({weight:7,id:"copy_path",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["fileTree.copyPath"]),callback:(e,{$trigger:t})=>{let n=null;n="root"===t.attr("type")?this.#l.getRootFolderTitle():t.attr("title"),navigator.clipboard.writeText(n).catch(ze.Debug.error)}}}),e.add({weight:14,id:"sep5",preconditionFn:e=>{const t=this.#l.getSelectedNodeId();let n=e.attr("type"),i=e.attr("id");return"file"!==n||t===i},data:"---------"}),e.add({weight:15,id:"refresh",preconditionFn:e=>{const t=this.#l.getSelectedNodeId();let n=e.attr("type"),i=e.attr("id");return"file"!==n||t===i},data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["statusbar.ampy.refresh"]),callback:(e,{$trigger:t})=>{let n=t.attr("type");if("root"===n)this.#l.openRootFolder(),this.#l.refreshFolder("/");else if("folder"===n){let e=t.attr("id");this.#l.openNode(e),this.#l.refreshFolder(e)}else{const e=this.#l.getSelectedNodes();this.#l.runEvent("afterSelectLeaf",e)}}}}),e.add({weight:16,id:"sep6",preconditionFn:e=>{let t=e.attr("type");return["root"].includes(t)},data:"---------"}),e.add({weight:17,id:"exit",preconditionFn:e=>{let t=e.attr("type");return["root"].includes(t)},data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["statusbar.ampy.exit"]),callback:()=>{this.closeFS()}}}),e.remove("copy"),e.remove("cut"),e.remove("paste"),e.remove("sep2");const t=this.#a.getContextMenu().getItem("code");t.empty(),t.add({weight:0,id:"cut",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["editor.contextMenu.cut"],"Ctrl+X"),callback:()=>this.#a.cut()}}),t.add({weight:1,id:"copy",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["editor.contextMenu.copy"],"Ctrl+C"),callback:()=>this.#a.copy()}}),t.add({weight:2,id:"paste",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["editor.contextMenu.paste"],"Ctrl+V"),callback:()=>this.#a.paste()}}),t.add({weight:3,id:"sep1",data:"---------"}),t.add({weight:4,id:"togglecomment",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["editor.contextMenu.togglecomment"],"Ctrl+/"),callback:()=>this.#a.commentLine()}}),t.add({weight:6,id:"sep2",preconditionFn:()=>this.#h,data:"---------"}),t.add({weight:7,id:"save",preconditionFn:()=>this.#h,data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["file.save"],"Ctrl+S"),callback:async()=>{await this.put()}}});const{commands:n}=this.#a.getEditor();n.addCommand({name:"save",bindKey:"Ctrl-S",exec:async()=>{this.#h&&await this.put()}})}async put(){this.#l.showProgress();const e=this.#l.getSelectedNodeId(),t=this.#l.getFS();try{await t.writeFile(e,this.#a.getValue()),this.setStatus(!1)}catch(e){ze.Debug.error(e)}finally{this.#l.hideProgress()}}showFileTree(){this.#c||(this.#s.detach(),this.#i.empty(),this.#i.append(this.#l.getContent()),this.#c=!0)}hideFileTree(){this.#c&&(this.#l.getContent().detach(),this.#i.empty(),this.#i.append(this.#s),this.#c=!1)}showEditor(){this.#d||(this.#o.detach(),this.#r.empty(),this.#r.append(this.#a.getContent()),this.#d=!0)}hideEditor(){this.#d&&(this.#a.getContent().detach(),this.#r.empty(),this.#r.append(this.#o),this.#d=!1,this.setStatus(!1))}getDrag(){return this.#u}init(){super.init(),this.hideCloseBtn(),this.#a.init(),this.#f();const e=this.#a.getEditor();e.setReadOnly(!1),e.renderer.setShowGutter(!0),e.setOptions({enableBasicAutocompletion:!0,enableSnippets:!0,enableLiveAutocompletion:!0,newLineMode:"unix"}),e.on("change",()=>{this.setStatus(!0)}),this.loadFS().catch(ze.Debug.error)}async loadFS(){const e=this.#l.getFS(),t=await e.loadFS();await this.openFS(t)}async selectFS(){const e=this.#l.getFS(),t=await e.showDirectoryPicker();await this.openFS(t)}async openFS(e){if(!e?.name)return;const t="/"+e.name;this.#l.setFolderPath("/"),this.#l.setRootFolderTitle(t),this.#l.setRootFolderName(e.name),this.#l.openRootFolder(),this.showFileTree(),this.#p=await window.pyodide.mountNativeFS(t,e)}closeFS(){const e=this.#l.getRootFolderTitle();if(Object.keys(window.pyodide.FS.root.contents).includes(Ax.basename(e))){const t=window.pyodide.FS.lookupPath(e,{follow_mount:!1});window.pyodide.FS.isMountpoint(t.node)&&window.pyodide.FS.unmount(e)}this.#l.getFS().setFSCache(null),this.#l.deselectAll(),this.hideFileTree(),this.hideEditor(),this.setStatus(!1)}onMounted(){super.onMounted(),this.#a.onMounted(),this.#l.onMounted()}onUnmounted(){super.onUnmounted(),this.#a.onUnmounted(),this.#l.onUnmounted()}resize(){super.resize(),this.#a.resize(),this.#l.resize()}setStatus(e){this.#h!==e&&(this.#h=e)}getNativeFS(){return this.#p}dispose(){this.#a.dispose(),this.#a=null,this.#l.dispose(),this.#l=null,super.dispose()}}class Yz extends ze.PageBase{static{ze.HTMLTemplate.add("html/statusbar/statusbar-tool.html",new ze.HTMLTemplate('\r\n
\r\n Teachable Machine\r\n
')),this.init=function(){ze.StatusBarsManager.typesRegistry.register(["tool"],Yz);const e=ze.Workspace.getMain().getStatusBarsManager();return e.add({type:"tool",id:"tool",name:Ve.Msg.PYTHON_PYODIDE_TOOL,title:Ve.Msg.PYTHON_PYODIDE_TOOL}),e.changeTo("output"),e.get("tool")}}constructor(){super();const e=Cx()(ze.HTMLTemplate.get("html/statusbar/statusbar-tool.html").render());this.setContent(e)}init(){super.init(),this.hideCloseBtn()}onMounted(){}onUnmounted(){}resize(){}}class Gz extends ze.PageBase{static{ze.HTMLTemplate.add("html/statusbar/statusbar-game.html",new ze.HTMLTemplate('\r\n
\r\n
{{d.epoch}}: 0
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
')),this.init=function(){ze.StatusBarsManager.typesRegistry.register(["game"],Gz);const e=ze.Workspace.getMain().getStatusBarsManager();return e.add({type:"game",id:"game",name:Ve.Msg.PYTHON_PYODIDE_GAME,title:Ve.Msg.PYTHON_PYODIDE_GAME}),e.changeTo("output"),e.get("game")}}#m=null;#g=null;#_=null;#y=null;#v=null;#b=null;#T=10;#x=500;#E=[];#w=!1;#I=0;#A=null;constructor(){super();const e=Cx()(ze.HTMLTemplate.get("html/statusbar/statusbar-game.html").render({epoch:Ve.Msg.PYTHON_PYODIDE_GAME_EPOCH,start:Ve.Msg.PYTHON_PYODIDE_GAME_START,pause:Ve.Msg.PYTHON_PYODIDE_GAME_PAUSE,random:Ve.Msg.PYTHON_PYODIDE_GAME_RANDOM,reset:Ve.Msg.PYTHON_PYODIDE_GAME_RESET}));this.setContent(e),this.#m=e.find(".start-btn"),this.#g=e.find(".pause-btn"),this.#_=e.find(".random-btn"),this.#y=e.find(".reset-btn"),this.#v=e.find(".generation"),this.#b=e.find(".grid"),this.#S()}#S(){this.#m.click(()=>this.startGame()),this.#g.click(()=>this.pauseGame()),this.#_.click(()=>this.randomInitialize()),this.#y.click(()=>this.resetGame())}initializeGrid(){this.#b.empty(),this.#E=[];for(let e=0;ethis.toggleCell(e,t)),this.#b.append(n)}}this.updateGridDisplay()}toggleCell(e,t){this.#w||(this.#E[e][t]=0===this.#E[e][t]?1:0,this.updateGridDisplay())}updateGridDisplay(){const e=this.#b.children(".cell");for(let t=0;t=0&&s=0&&othis.nextGeneration(),this.#x),this.updateButtons())}pauseGame(){this.#w&&(this.#w=!1,clearInterval(this.#A),this.updateButtons())}randomInitialize(){if(!this.#w){for(let e=0;e{let s=`${e}-${t}`;return n&&(s+=`-${n}`),i&&(s+=`__${i}`),r&&(s+=`--${r}`),s},qz=Symbol("namespaceContextKey"),Kz=e=>{const t=e||(NM()?qC(qz,_I(Wz)):_I(Wz));return tk(()=>xI(t)||Wz)},Zz=(e,t)=>{const n=Kz(t);return{namespace:n,b:(t="")=>Xz(n.value,e,t,"",""),e:t=>t?Xz(n.value,e,"",t,""):"",m:t=>t?Xz(n.value,e,"","",t):"",be:(t,i)=>t&&i?Xz(n.value,e,t,i,""):"",em:(t,i)=>t&&i?Xz(n.value,e,"",t,i):"",bm:(t,i)=>t&&i?Xz(n.value,e,t,"",i):"",bem:(t,i,r)=>t&&i&&r?Xz(n.value,e,t,i,r):"",is:(e,...t)=>{const n=!(t.length>=1)||t[0];return e&&n?`is-${e}`:""},cssVar:e=>{const t={};for(const i in e)e[i]&&(t[`--${n.value}-${i}`]=e[i]);return t},cssVarName:e=>`--${n.value}-${e}`,cssVarBlock:t=>{const i={};for(const r in t)t[r]&&(i[`--${n.value}-${e}-${r}`]=t[r]);return i},cssVarBlockName:t=>`--${n.value}-${e}-${t}`}},Qz=e=>void 0===e,Jz=e=>"boolean"==typeof e,ej=e=>"number"==typeof e,tj=e=>"undefined"!=typeof Element&&e instanceof Element;var nj,ij=Object.defineProperty,rj=Object.defineProperties,sj=Object.getOwnPropertyDescriptors,oj=Object.getOwnPropertySymbols,aj=Object.prototype.hasOwnProperty,lj=Object.prototype.propertyIsEnumerable,uj=(e,t,n)=>t in e?ij(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function cj(e,t){var n;const i=yI();var r,s;return IO(()=>{i.value=e()},(r=((e,t)=>{for(var n in t||(t={}))aj.call(t,n)&&uj(e,n,t[n]);if(oj)for(var n of oj(t))lj.call(t,n)&&uj(e,n,t[n]);return e})({},t),s={flush:null!=(n=null==t?void 0:t.flush)?n:"sync"},rj(r,sj(s)))),sI(i)}const dj="undefined"!=typeof window,hj=(Object.prototype.toString,e=>"function"==typeof e),pj=()=>{},fj=dj&&(null==(nj=null==window?void 0:window.navigator)?void 0:nj.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function mj(e){return"function"==typeof e?e():xI(e)}function gj(e,t){return function(...n){return new Promise((i,r)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(i).catch(r)})}}function _j(e,t=!0,n=!0,i=!1){let r,s,o=0,a=!0,l=pj;const u=()=>{r&&(clearTimeout(r),r=void 0,l(),l=pj)};return c=>{const d=mj(e),h=Date.now()-o,p=()=>s=c();return u(),d<=0?(o=Date.now(),p()):(h>d&&(n||!a)?(o=Date.now(),p()):t&&(s=new Promise((e,t)=>{l=i?t:e,r=setTimeout(()=>{o=Date.now(),a=!0,e(p()),u()},Math.max(0,d-h))})),n||r||(r=setTimeout(()=>a=!0,d)),a=!1,s)}}function yj(e){return!!HE()&&(WE(e),!0)}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function vj(e,t=200,n=!1,i=!0,r=!1){return gj(_j(t,n,i,r),e)}Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function bj(e,t,n={}){const{immediate:i=!0}=n,r=_I(!1);let s=null;function o(){s&&(clearTimeout(s),s=null)}function a(){r.value=!1,o()}function l(...n){o(),r.value=!0,s=setTimeout(()=>{r.value=!1,s=null,e(...n)},mj(t))}return i&&(r.value=!0,dj&&l()),yj(a),{isPending:sI(r),start:l,stop:a}}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;const Tj={current:0},xj=_I(0),Ej=Symbol("elZIndexContextKey"),wj=Symbol("zIndexContextKey"),Ij=e=>{const t=NM()?qC(Ej,Tj):Tj,n=e||(NM()?qC(wj,void 0):void 0),i=tk(()=>{const e=xI(n);return ej(e)?e:2e3}),r=tk(()=>i.value+xj.value);return!dj&&qC(Ej),{initialZIndex:i,currentZIndex:r,nextZIndex:()=>(t.current++,xj.value=t.current,r.value)}};const Aj=Array.isArray;const Sj="object"==typeof global&&global&&global.Object===Object&&global;var Cj="object"==typeof self&&self&&self.Object===Object&&self;const Oj=Sj||Cj||Function("return this")();const Mj=Oj.Symbol;var kj=Object.prototype,Rj=kj.hasOwnProperty,Nj=kj.toString,Dj=Mj?Mj.toStringTag:void 0;const Fj=function(e){var t=Rj.call(e,Dj),n=e[Dj];try{e[Dj]=void 0;var i=!0}catch(e){}var r=Nj.call(e);return i&&(t?e[Dj]=n:delete e[Dj]),r};var Lj=Object.prototype.toString;const Pj=function(e){return Lj.call(e)};var Bj=Mj?Mj.toStringTag:void 0;const $j=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Bj&&Bj in Object(e)?Fj(e):Pj(e)};const Uj=function(e){return null!=e&&"object"==typeof e};const Vj=function(e){return"symbol"==typeof e||Uj(e)&&"[object Symbol]"==$j(e)};var zj=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,jj=/^\w*$/;const Yj=function(e,t){if(Aj(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!Vj(e))||(jj.test(e)||!zj.test(e)||null!=t&&e in Object(t))};const Gj=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};const Hj=function(e){if(!Gj(e))return!1;var t=$j(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};const Wj=Oj["__core-js_shared__"];var Xj=function(){var e=/[^.]+$/.exec(Wj&&Wj.keys&&Wj.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();const qj=function(e){return!!Xj&&Xj in e};var Kj=Function.prototype.toString;const Zj=function(e){if(null!=e){try{return Kj.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var Qj=/^\[object .+?Constructor\]$/,Jj=Function.prototype,eY=Object.prototype,tY=Jj.toString,nY=eY.hasOwnProperty,iY=RegExp("^"+tY.call(nY).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const rY=function(e){return!(!Gj(e)||qj(e))&&(Hj(e)?iY:Qj).test(Zj(e))};const sY=function(e,t){return null==e?void 0:e[t]};const oY=function(e,t){var n=sY(e,t);return rY(n)?n:void 0};const aY=oY(Object,"create");const lY=function(){this.__data__=aY?aY(null):{},this.size=0};const uY=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t};var cY=Object.prototype.hasOwnProperty;const dY=function(e){var t=this.__data__;if(aY){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return cY.call(t,e)?t[e]:void 0};var hY=Object.prototype.hasOwnProperty;const pY=function(e){var t=this.__data__;return aY?void 0!==t[e]:hY.call(t,e)};const fY=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=aY&&void 0===t?"__lodash_hash_undefined__":t,this};function mY(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1};const wY=function(e,t){var n=this.__data__,i=vY(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this};function IY(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t(t,n)=>eG(t,n,xI(e)),eG=(e,t,n)=>ZY(n,e,e).replace(/\{(\w+)\}/g,(e,n)=>{var i;return`${null!=(i=null==t?void 0:t[n])?i:`{${n}}`}`}),tG=Symbol("localeContextKey"),nG=e=>{const t=e||qC(tG,_I());return(e=>({lang:tk(()=>xI(e).name),locale:gI(e)?e:_I(e),t:JY(e)}))(tk(()=>t.value||QY))};const iG=function(e){for(var t=-1,n=null==e?0:e.length,i={};++t{if(!Wx(e)||Wx(n=e)&&n[rG])return e;var n;const{values:i,required:r,default:s,type:o,validator:a}=e,l=i||a?n=>{let r=!1,o=[];if(i&&(o=Array.from(i),$x(e,"default")&&o.push(s),r||(r=o.includes(n))),a&&(r||(r=a(n))),!r&&o.length>0){const e=[...new Set(o)].map(e=>JSON.stringify(e)).join(", ");ak(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${e}], got value ${JSON.stringify(n)}.`)}return r}:void 0,u={type:o,required:!!r,validator:l,[rG]:!0};return $x(e,"default")&&(u.default=s),u},oG=e=>iG(Object.entries(e).map(([e,t])=>[e,sG(t,e)])),aG=["","default","small","large"],lG=sG({type:String,values:aG,required:!1}),uG=Symbol("size"),cG=Symbol("emptyValuesContextKey"),dG=oG({emptyValues:Array,valueOnClear:{type:[String,Number,Boolean,Function],default:void 0,validator:e=>(e=Yx(e)?e():e,Ux(e)?e.every(e=>!e):!e)}}),hG=e=>Object.keys(e),pG=_I();function fG(e,t=void 0){const n=NM()?qC(Hz,pG):pG;return e?tk(()=>{var i,r;return null!=(r=null==(i=n.value)?void 0:i[e])?r:t}):n}const mG=(e,t,n=!1)=>{var i;const r=!!NM(),s=r?fG():void 0,o=null!=(i=null==t?void 0:t.provide)?i:r?XC:void 0;if(!o)return;const a=tk(()=>{const t=xI(e);return(null==s?void 0:s.value)?gG(s.value,t):t});return o(Hz,a),o(tG,tk(()=>a.value.locale)),o(qz,tk(()=>a.value.namespace)),o(wj,tk(()=>a.value.zIndex)),o(uG,{size:tk(()=>a.value.size||"")}),o(cG,tk(()=>({emptyValues:a.value.emptyValues,valueOnClear:a.value.valueOnClear}))),!n&&pG.value||(pG.value=a.value),a},gG=(e,t)=>{const n=[...new Set([...hG(e),...hG(t)])],i={};for(const r of n)i[r]=void 0!==t[r]?t[r]:e[r];return i},_G=oG({a11y:{type:Boolean,default:!0},locale:{type:Object},size:lG,button:{type:Object},card:{type:Object},dialog:{type:Object},link:{type:Object},experimentalFeatures:{type:Object},keyboardNavigation:{type:Boolean,default:!0},message:{type:Object},zIndex:Number,namespace:{type:String,default:"el"},...dG}),yG={placement:"top"},vG=sS({name:"ElConfigProvider",props:_G,setup(e,{slots:t}){const n=mG(e);return CO(()=>e.message,e=>{var t,i;Object.assign(yG,null!=(i=null==(t=null==n?void 0:n.value)?void 0:t.message)?i:{},null!=e?e:{})},{immediate:!0,deep:!0}),()=>uC(t,"default",{config:null==n?void 0:n.value})}}),bG=(e,t)=>{if(e.install=n=>{for(const i of[e,...Object.values(null!=t?t:{})])n.component(i.name,i)},t)for(const[n,i]of Object.entries(t))e[n]=i;return e},TG=e=>(e.install=Rx,e),xG=bG(vG); +let Tk;const xk="undefined"!=typeof window&&window.trustedTypes;if(xk)try{Tk=xk.createPolicy("vue",{createHTML:e=>e})}catch(e){}const Ek=Tk?e=>Tk.createHTML(e):e=>e,wk="undefined"!=typeof document?document:null,Ik=wk&&wk.createElement("template"),Ak={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,i)=>{const r="svg"===t?wk.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?wk.createElementNS("http://www.w3.org/1998/Math/MathML",e):n?wk.createElement(e,{is:n}):wk.createElement(e);return"select"===e&&i&&null!=i.multiple&&r.setAttribute("multiple",i.multiple),r},createText:e=>wk.createTextNode(e),createComment:e=>wk.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>wk.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,i,r,s){const o=n?n.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),r!==s&&(r=r.nextSibling););else{Ik.innerHTML=Ek("svg"===i?`${e}`:"mathml"===i?`${e}`:e);const r=Ik.content;if("svg"===i||"mathml"===i){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Sk="transition",Ck="animation",Ok=Symbol("_vtc"),Mk={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},kk=zx({},tS,Mk),Rk=(e=>(e.displayName="Transition",e.props=kk,e))((e,{slots:t})=>lk(rS,Fk(e),t)),Nk=(e,t=[])=>{Hx(e)?e.forEach(e=>e(...t)):e&&e(...t)},Dk=e=>!!e&&(Hx(e)?e.some(e=>e.length>1):e.length>1);function Fk(e){const t={};for(const n in e)n in Mk||(t[n]=e[n]);if(!1===e.css)return t;const{name:n="v",type:i,duration:r,enterFromClass:s=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=s,appearActiveClass:u=o,appearToClass:c=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,f=function(e){if(null==e)return null;if(Jx(e))return[Lk(e.enter),Lk(e.leave)];{const t=Lk(e);return[t,t]}}(r),m=f&&f[0],g=f&&f[1],{onBeforeEnter:_,onEnter:y,onEnterCancelled:v,onLeave:b,onLeaveCancelled:T,onBeforeAppear:x=_,onAppear:E=y,onAppearCancelled:w=v}=t,I=(e,t,n,i)=>{e._enterCancelled=i,Bk(e,t?c:a),Bk(e,t?u:o),n&&n()},A=(e,t)=>{e._isLeaving=!1,Bk(e,d),Bk(e,p),Bk(e,h),t&&t()},S=e=>(t,n)=>{const r=e?E:y,o=()=>I(t,e,n);Nk(r,[t,o]),$k(()=>{Bk(t,e?l:s),Pk(t,e?c:a),Dk(r)||Vk(t,i,m,o)})};return zx(t,{onBeforeEnter(e){Nk(_,[e]),Pk(e,s),Pk(e,o)},onBeforeAppear(e){Nk(x,[e]),Pk(e,l),Pk(e,u)},onEnter:S(!1),onAppear:S(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>A(e,t);Pk(e,d),e._enterCancelled?(Pk(e,h),Gk()):(Gk(),Pk(e,h)),$k(()=>{e._isLeaving&&(Bk(e,d),Pk(e,p),Dk(b)||Vk(e,i,g,n))}),Nk(b,[e,n])},onEnterCancelled(e){I(e,!1,void 0,!0),Nk(v,[e])},onAppearCancelled(e){I(e,!0,void 0,!0),Nk(w,[e])},onLeaveCancelled(e){A(e),Nk(T,[e])}})}function Lk(e){return vE(e)}function Pk(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[Ok]||(e[Ok]=new Set)).add(t)}function Bk(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));const n=e[Ok];n&&(n.delete(t),n.size||(e[Ok]=void 0))}function $k(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Uk=0;function Vk(e,t,n,i){const r=e._endId=++Uk,s=()=>{r===e._endId&&i()};if(null!=n)return setTimeout(s,n);const{type:o,timeout:a,propCount:l}=zk(e,t);if(!o)return i();const u=o+"end";let c=0;const d=()=>{e.removeEventListener(u,h),s()},h=t=>{t.target===e&&++c>=l&&d()};setTimeout(()=>{c(n[e]||"").split(", "),r=i(`${Sk}Delay`),s=i(`${Sk}Duration`),o=jk(r,s),a=i(`${Ck}Delay`),l=i(`${Ck}Duration`),u=jk(a,l);let c=null,d=0,h=0;t===Sk?o>0&&(c=Sk,d=o,h=s.length):t===Ck?u>0&&(c=Ck,d=u,h=l.length):(d=Math.max(o,u),c=d>0?o>u?Sk:Ck:null,h=c?c===Sk?s.length:l.length:0);return{type:c,timeout:d,propCount:h,hasTransform:c===Sk&&/\b(transform|all)(,|$)/.test(i(`${Sk}Property`).toString())}}function jk(e,t){for(;e.lengthYk(t)+Yk(e[n])))}function Yk(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function Gk(){return document.body.offsetHeight}const Hk=Symbol("_vod"),Wk=Symbol("_vsh"),Xk={beforeMount(e,{value:t},{transition:n}){e[Hk]="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):qk(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:i}){!t!=!n&&(i?t?(i.beforeEnter(e),qk(e,!0),i.enter(e)):i.leave(e,()=>{qk(e,!1)}):qk(e,t))},beforeUnmount(e,{value:t}){qk(e,t)}};function qk(e,t){e.style.display=t?e[Hk]:"none",e[Wk]=!t}const Kk=Symbol("");function Zk(e){const t=$M();if(!t)return;const n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(e=>Jk(e,n))};const i=()=>{const i=e(t.proxy);t.ce?Jk(t.ce,i):Qk(t.subTree,i),n(i)};ZS(()=>{mA(i)}),KS(()=>{DO(i,Bx,{flush:"post"});const e=new MutationObserver(i);e.observe(t.subTree.el.parentNode,{childList:!0}),eC(()=>e.disconnect())})}function Qk(e,t){if(128&e.shapeFlag){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Qk(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(1&e.shapeFlag&&e.el)Jk(e.el,t);else if(e.type===iM)e.children.forEach(e=>Qk(e,t));else if(e.type===oM){let{el:n,anchor:i}=e;for(;n&&(Jk(n,t),n!==i);)n=n.nextSibling}}function Jk(e,t){if(1===e.nodeType){const n=e.style;let i="";for(const e in t)n.setProperty(`--${e}`,t[e]),i+=`--${e}: ${t[e]};`;n[Kk]=i}}const eR=/(^|;)\s*display\s*:/;const tR=/\s*!important$/;function nR(e,t,n){if(Hx(n))n.forEach(n=>nR(e,t,n));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const i=function(e,t){const n=rR[t];if(n)return n;let i=cE(t);if("filter"!==i&&i in e)return rR[t]=i;i=pE(i);for(let n=0;n{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();iA(function(e,t){if(Hx(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=fR(),n}(i,r);lR(e,n,o,a)}else o&&(!function(e,t,n,i){e.removeEventListener(t,n,i)}(e,n,o,a),s[t]=void 0)}}const dR=/(?:Once|Passive|Capture)$/;let hR=0;const pR=Promise.resolve(),fR=()=>hR||(pR.then(()=>hR=0),hR=Date.now());const mR=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123;const gR={}; +/*! #__NO_SIDE_EFFECTS__ */function _R(e,t,n){const i=dS(e,t);rE(i)&&zx(i,t);class r extends bR{constructor(e){super(i,e,n)}}return r.def=i,r} +/*! #__NO_SIDE_EFFECTS__ */const yR=(e,t)=>_R(e,t,aN),vR="undefined"!=typeof HTMLElement?HTMLElement:class{};class bR extends vR{constructor(e,t={},n=oN){super(),this._def=e,this._props=t,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._ob=null,this.shadowRoot&&n!==oN?this._root=this.shadowRoot:!1!==e.shadowRoot?(this.attachShadow({mode:"open"}),this._root=this.shadowRoot):this._root=this,this._def.__asyncLoader||this._resolveProps(this._def)}connectedCallback(){if(!this.isConnected)return;this.shadowRoot||this._parseSlots(),this._connected=!0;let e=this;for(;e=e&&(e.parentNode||e.host);)if(e instanceof bR){this._parent=e;break}this._instance||(this._resolved?(this._setParent(),this._update()):e&&e._pendingResolve?this._pendingResolve=e._pendingResolve.then(()=>{this._pendingResolve=void 0,this._resolveDef()}):this._resolveDef())}_setParent(e=this._parent){e&&(this._instance.parent=e._instance,this._instance.provides=e._instance.provides)}disconnectedCallback(){this._connected=!1,hA(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null)})}_resolveDef(){if(this._pendingResolve)return;for(let e=0;e{for(const t of e)this._setAttr(t.attributeName)}),this._ob.observe(this,{attributes:!0});const e=(e,t=!1)=>{this._resolved=!0,this._pendingResolve=void 0;const{props:n,styles:i}=e;let r;if(n&&!Hx(n))for(const e in n){const t=n[e];(t===Number||t&&t.type===Number)&&(e in this._props&&(this._props[e]=vE(this._props[e])),(r||(r=Object.create(null)))[cE(e)]=!0)}this._numberProps=r,t&&this._resolveProps(e),this.shadowRoot&&this._applyStyles(i),this._mount(e)},t=this._def.__asyncLoader;t?this._pendingResolve=t().then(t=>e(this._def=t,!0)):e(this._def)}_mount(e){__VUE_PROD_DEVTOOLS__&&!e.name&&(e.name="VueElement"),this._app=this._createApp(e),e.configureApp&&e.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const t=this._instance&&this._instance.exposed;if(t)for(const e in t)Gx(this,e)||Object.defineProperty(this,e,{get:()=>CI(t[e])})}_resolveProps(e){const{props:t}=e,n=Hx(t)?t:Object.keys(t||{});for(const e of Object.keys(this))"_"!==e[0]&&n.includes(e)&&this._setProp(e,this[e]);for(const e of n.map(cE))Object.defineProperty(this,e,{get(){return this._getProp(e)},set(t){this._setProp(e,t,!0,!0)}})}_setAttr(e){if(e.startsWith("data-v-"))return;const t=this.hasAttribute(e);let n=t?this.getAttribute(e):gR;const i=cE(e);t&&this._numberProps&&this._numberProps[i]&&(n=vE(n)),this._setProp(i,n,!1,!0)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,i=!1){if(t!==this._props[e]&&(t===gR?delete this._props[e]:(this._props[e]=t,"key"===e&&this._app&&(this._app._ceVNode.key=t)),i&&this._instance&&this._update(),n)){const n=this._ob;n&&n.disconnect(),!0===t?this.setAttribute(hE(e),""):"string"==typeof t||"number"==typeof t?this.setAttribute(hE(e),t+""):t||this.removeAttribute(hE(e)),n&&n.observe(this,{attributes:!0})}}_update(){rN(this._createVNode(),this._root)}_createVNode(){const e={};this.shadowRoot||(e.onVnodeMounted=e.onVnodeUpdated=this._renderSlots.bind(this));const t=EM(this._def,zx(e,this._props));return this._instance||(t.ce=e=>{this._instance=e,e.ce=this,e.isCE=!0;const t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,rE(t[0])?zx({detail:t},t[0]):{detail:t}))};e.emit=(e,...n)=>{t(e,n),hE(e)!==e&&t(hE(e),n)},this._setParent()}),t}_applyStyles(e,t){if(!e)return;if(t){if(t===this._def||this._styleChildren.has(t))return;this._styleChildren.add(t)}const n=this._nonce;for(let t=e.length-1;t>=0;t--){const i=document.createElement("style");n&&i.setAttribute("nonce",n),i.textContent=e[t],this.shadowRoot.prepend(i)}}_parseSlots(){const e=this._slots={};let t;for(;t=this.firstChild;){const n=1===t.nodeType&&t.getAttribute("slot")||"default";(e[n]||(e[n]=[])).push(t),this.removeChild(t)}}_renderSlots(){const e=(this._teleportTarget||this).querySelectorAll("slot"),t=this._instance.type.__scopeId;for(let n=0;n(delete e.props.mode,e))({name:"TransitionGroup",props:zx({},kk,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=$M(),i=JA();let r,s;return QS(()=>{if(!r.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,n){const i=e.cloneNode(),r=e[Ok];r&&r.forEach(e=>{e.split(/\s+/).forEach(e=>e&&i.classList.remove(e))});n.split(/\s+/).forEach(e=>e&&i.classList.add(e)),i.style.display="none";const s=1===t.nodeType?t:t.parentNode;s.appendChild(i);const{hasTransform:o}=zk(i);return s.removeChild(i),o}(r[0].el,n.vnode.el,t))return;r.forEach(MR),r.forEach(kR);const i=r.filter(RR);Gk(),i.forEach(e=>{const n=e.el,i=n.style;Pk(n,t),i.transform=i.webkitTransform=i.transitionDuration="";const r=n[AR]=e=>{e&&e.target!==n||e&&!/transform$/.test(e.propertyName)||(n.removeEventListener("transitionend",r),n[AR]=null,Bk(n,t))};n.addEventListener("transitionend",r)})}),()=>{const o=yI(e),a=Fk(o);let l=o.tag||iM;if(r=[],s)for(let e=0;e{const t=e.props["onUpdate:modelValue"]||!1;return Hx(t)?e=>gE(t,e):t};function DR(e){e.target.composing=!0}function FR(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const LR=Symbol("_assign"),PR={created(e,{modifiers:{lazy:t,trim:n,number:i}},r){e[LR]=NR(r);const s=i||r.props&&"number"===r.props.type;lR(e,t?"change":"input",t=>{if(t.target.composing)return;let i=e.value;n&&(i=i.trim()),s&&(i=yE(i)),e[LR](i)}),n&&lR(e,"change",()=>{e.value=e.value.trim()}),t||(lR(e,"compositionstart",DR),lR(e,"compositionend",FR),lR(e,"change",FR))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:i,trim:r,number:s}},o){if(e[LR]=NR(o),e.composing)return;const a=null==t?"":t;if((!s&&"number"!==e.type||/^0\d/.test(e.value)?e.value:yE(e.value))!==a){if(document.activeElement===e&&"range"!==e.type){if(i&&t===n)return;if(r&&e.value.trim()===a)return}e.value=a}}},BR={deep:!0,created(e,t,n){e[LR]=NR(n),lR(e,"change",()=>{const t=e._modelValue,n=jR(e),i=e.checked,r=e[LR];if(Hx(t)){const e=jE(t,n),s=-1!==e;if(i&&!s)r(t.concat(n));else if(!i&&s){const n=[...t];n.splice(e,1),r(n)}}else if(Xx(t)){const e=new Set(t);i?e.add(n):e.delete(n),r(e)}else r(YR(e,i))})},mounted:$R,beforeUpdate(e,t,n){e[LR]=NR(n),$R(e,t,n)}};function $R(e,{value:t,oldValue:n},i){let r;if(e._modelValue=t,Hx(t))r=jE(t,i.props.value)>-1;else if(Xx(t))r=t.has(i.props.value);else{if(t===n)return;r=zE(t,YR(e,!0))}e.checked!==r&&(e.checked=r)}const UR={created(e,{value:t},n){e.checked=zE(t,n.props.value),e[LR]=NR(n),lR(e,"change",()=>{e[LR](jR(e))})},beforeUpdate(e,{value:t,oldValue:n},i){e[LR]=NR(i),t!==n&&(e.checked=zE(t,i.props.value))}},VR={deep:!0,created(e,{value:t,modifiers:{number:n}},i){const r=Xx(t);lR(e,"change",()=>{const t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?yE(jR(e)):jR(e));e[LR](e.multiple?r?new Set(t):t:t[0]),e._assigning=!0,hA(()=>{e._assigning=!1})}),e[LR]=NR(i)},mounted(e,{value:t}){zR(e,t)},beforeUpdate(e,t,n){e[LR]=NR(n)},updated(e,{value:t}){e._assigning||zR(e,t)}};function zR(e,t){const n=e.multiple,i=Hx(t);if(!n||i||Xx(t)){for(let r=0,s=e.options.length;rString(e)===String(o)):jE(t,o)>-1}else s.selected=t.has(o);else if(zE(jR(s),t))return void(e.selectedIndex!==r&&(e.selectedIndex=r))}n||-1===e.selectedIndex||(e.selectedIndex=-1)}}function jR(e){return"_value"in e?e._value:e.value}function YR(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const GR={created(e,t,n){WR(e,t,n,null,"created")},mounted(e,t,n){WR(e,t,n,null,"mounted")},beforeUpdate(e,t,n,i){WR(e,t,n,i,"beforeUpdate")},updated(e,t,n,i){WR(e,t,n,i,"updated")}};function HR(e,t){switch(e){case"SELECT":return VR;case"TEXTAREA":return PR;default:switch(t){case"checkbox":return BR;case"radio":return UR;default:return PR}}}function WR(e,t,n,i,r){const s=HR(e.tagName,n.props&&n.props.type)[r];s&&s(e,t,n,i)}const XR=["ctrl","shift","alt","meta"],qR={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>XR.some(n=>e[`${n}Key`]&&!t.includes(n))},KR=(e,t)=>{const n=e._withMods||(e._withMods={}),i=t.join(".");return n[i]||(n[i]=(n,...i)=>{for(let e=0;e{const n=e._withKeys||(e._withKeys={}),i=t.join(".");return n[i]||(n[i]=n=>{if(!("key"in n))return;const i=hE(n.key);return t.some(e=>e===i||ZR[e]===i)?e(n):void 0})},JR=zx({patchProp:(e,t,n,i,r,s)=>{const o="svg"===r;"class"===t?function(e,t,n){const i=e[Ok];i&&(t=(t?[t,...i]:[...i]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,i,o):"style"===t?function(e,t,n){const i=e.style,r=Zx(n);let s=!1;if(n&&!r){if(t)if(Zx(t))for(const e of t.split(";")){const t=e.slice(0,e.indexOf(":")).trim();null==n[t]&&nR(i,t,"")}else for(const e in t)null==n[e]&&nR(i,e,"");for(const e in n)"display"===e&&(s=!0),nR(i,e,n[e])}else if(r){if(t!==n){const e=i[Kk];e&&(n+=";"+e),i.cssText=n,s=eR.test(n)}}else t&&e.removeAttribute("style");Hk in e&&(e[Hk]=s?i.display:"",e[Wk]&&(i.display="none"))}(e,n,i):Ux(t)?Vx(t)||cR(e,t,0,i,s):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,i){if(i)return"innerHTML"===t||"textContent"===t||!!(t in e&&mR(t)&&Kx(n));if("spellcheck"===t||"draggable"===t||"translate"===t)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){const t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}if(mR(t)&&Zx(n))return!1;return t in e}(e,t,i,o))?(aR(e,t,i),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||oR(e,t,i,o,0,"value"!==t)):!e._isVueCE||!/[A-Z]/.test(t)&&Zx(i)?("true-value"===t?e._trueValue=i:"false-value"===t&&(e._falseValue=i),oR(e,t,i,o)):aR(e,cE(t),i,0,t)}},Ak);let eN,tN=!1;function nN(){return eN||(eN=bO(JR))}function iN(){return eN=tN?eN:TO(JR),tN=!0,eN}const rN=(...e)=>{nN().render(...e)},sN=(...e)=>{iN().hydrate(...e)},oN=(...e)=>{const t=nN().createApp(...e);const{mount:n}=t;return t.mount=e=>{const i=uN(e);if(!i)return;const r=t._component;Kx(r)||r.render||r.template||(r.template=i.innerHTML),1===i.nodeType&&(i.textContent="");const s=n(i,!1,lN(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),s},t},aN=(...e)=>{const t=iN().createApp(...e);const{mount:n}=t;return t.mount=e=>{const t=uN(e);if(t)return n(t,!0,lN(t))},t};function lN(e){return e instanceof SVGElement?"svg":"function"==typeof MathMLElement&&e instanceof MathMLElement?"mathml":void 0}function uN(e){if(Zx(e)){return document.querySelector(e)}return e}let cN=!1;const dN=()=>{cN||(cN=!0,PR.getSSRProps=({value:e})=>({value:e}),UR.getSSRProps=({value:e},t)=>{if(t.props&&zE(t.props.value,e))return{checked:!0}},BR.getSSRProps=({value:e},t)=>{if(Hx(e)){if(t.props&&jE(e,t.props.value)>-1)return{checked:!0}}else if(Xx(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},GR.getSSRProps=(e,t)=>{if("string"!=typeof t.type)return;const n=HR(t.type.toUpperCase(),t.props&&t.props.type);return n.getSSRProps?n.getSSRProps(e,t):void 0},Xk.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}})},hN=Symbol(""),pN=Symbol(""),fN=Symbol(""),mN=Symbol(""),gN=Symbol(""),_N=Symbol(""),yN=Symbol(""),vN=Symbol(""),bN=Symbol(""),TN=Symbol(""),xN=Symbol(""),EN=Symbol(""),wN=Symbol(""),IN=Symbol(""),AN=Symbol(""),SN=Symbol(""),CN=Symbol(""),ON=Symbol(""),MN=Symbol(""),kN=Symbol(""),RN=Symbol(""),NN=Symbol(""),DN=Symbol(""),FN=Symbol(""),LN=Symbol(""),PN=Symbol(""),BN=Symbol(""),$N=Symbol(""),UN=Symbol(""),VN=Symbol(""),zN=Symbol(""),jN=Symbol(""),YN=Symbol(""),GN=Symbol(""),HN=Symbol(""),WN=Symbol(""),XN=Symbol(""),qN=Symbol(""),KN=Symbol(""),ZN={[hN]:"Fragment",[pN]:"Teleport",[fN]:"Suspense",[mN]:"KeepAlive",[gN]:"BaseTransition",[_N]:"openBlock",[yN]:"createBlock",[vN]:"createElementBlock",[bN]:"createVNode",[TN]:"createElementVNode",[xN]:"createCommentVNode",[EN]:"createTextVNode",[wN]:"createStaticVNode",[IN]:"resolveComponent",[AN]:"resolveDynamicComponent",[SN]:"resolveDirective",[CN]:"resolveFilter",[ON]:"withDirectives",[MN]:"renderList",[kN]:"renderSlot",[RN]:"createSlots",[NN]:"toDisplayString",[DN]:"mergeProps",[FN]:"normalizeClass",[LN]:"normalizeStyle",[PN]:"normalizeProps",[BN]:"guardReactiveProps",[$N]:"toHandlers",[UN]:"camelize",[VN]:"capitalize",[zN]:"toHandlerKey",[jN]:"setBlockTracking",[YN]:"pushScopeId",[GN]:"popScopeId",[HN]:"withCtx",[WN]:"unref",[XN]:"isRef",[qN]:"withMemo",[KN]:"isMemoSame"};const QN={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0},source:""};function JN(e,t,n,i,r,s,o,a=!1,l=!1,u=!1,c=QN){return e&&(a?(e.helper(_N),e.helper(uD(e.inSSR,u))):e.helper(lD(e.inSSR,u)),o&&e.helper(ON)),{type:13,tag:t,props:n,children:i,patchFlag:r,dynamicProps:s,directives:o,isBlock:a,disableTracking:l,isComponent:u,loc:c}}function eD(e,t=QN){return{type:17,loc:t,elements:e}}function tD(e,t=QN){return{type:15,loc:t,properties:e}}function nD(e,t){return{type:16,loc:QN,key:Zx(e)?iD(e,!0):e,value:t}}function iD(e,t=!1,n=QN,i=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:i}}function rD(e,t=QN){return{type:8,loc:t,children:e}}function sD(e,t=[],n=QN){return{type:14,loc:n,callee:e,arguments:t}}function oD(e,t=void 0,n=!1,i=!1,r=QN){return{type:18,params:e,returns:t,newline:n,isSlot:i,loc:r}}function aD(e,t,n,i=!0){return{type:19,test:e,consequent:t,alternate:n,newline:i,loc:QN}}function lD(e,t){return e||t?bN:TN}function uD(e,t){return e||t?yN:vN}function cD(e,{helper:t,removeHelper:n,inSSR:i}){e.isBlock||(e.isBlock=!0,n(lD(i,e.isComponent)),t(_N),t(uD(i,e.isComponent)))}const dD=new Uint8Array([123,123]),hD=new Uint8Array([125,125]);function pD(e){return e>=97&&e<=122||e>=65&&e<=90}function fD(e){return 32===e||10===e||9===e||12===e||13===e}function mD(e){return 47===e||62===e||fD(e)}function gD(e){const t=new Uint8Array(e.length);for(let n=0;n4===e.type&&e.isStatic;function ID(e){switch(e){case"Teleport":case"teleport":return pN;case"Suspense":case"suspense":return fN;case"KeepAlive":case"keep-alive":return mN;case"BaseTransition":case"base-transition":return gN}}const AD=/^\d|[^\$\w\xA0-\uFFFF]/,SD=e=>!AD.test(e),CD=/[A-Za-z_$\xA0-\uFFFF]/,OD=/[\.\?\w$\xA0-\uFFFF]/,MD=/\s+[.[]\s*|\s*[.[]\s+/g,kD=e=>4===e.type?e.content:e.loc.source,RD=e=>{const t=kD(e).trim().replace(MD,e=>e.trim());let n=0,i=[],r=0,s=0,o=null;for(let e=0;e|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/,DD=e=>ND.test(kD(e));function FD(e,t,n=!1){for(let i=0;i4===e.key.type&&e.key.content===i)}return n}function HD(e,t){return`_${t}_${e.replace(/[^\w]/g,(t,n)=>"-"===t?"_":e.charCodeAt(n).toString())}`}const WD=/([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/,XD={parseMode:"base",ns:0,delimiters:["{{","}}"],getNamespace:()=>0,isVoidTag:$x,isPreTag:$x,isIgnoreNewlineTag:$x,isCustomElement:$x,onError:TD,onWarn:xD,comments:!1,prefixIdentifiers:!1};let qD=XD,KD=null,ZD="",QD=null,JD=null,eF="",tF=-1,nF=-1,iF=0,rF=!1,sF=null;const oF=[],aF=new class{constructor(e,t){this.stack=e,this.cbs=t,this.state=1,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=1,this.inRCDATA=!1,this.inXML=!1,this.inVPre=!1,this.newlines=[],this.mode=0,this.delimiterOpen=dD,this.delimiterClose=hD,this.delimiterIndex=-1,this.currentSequence=void 0,this.sequenceIndex=0}get inSFCRoot(){return 2===this.mode&&0===this.stack.length}reset(){this.state=1,this.mode=0,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=1,this.inRCDATA=!1,this.currentSequence=void 0,this.newlines.length=0,this.delimiterOpen=dD,this.delimiterClose=hD}getPos(e){let t=1,n=e+1;for(let i=this.newlines.length-1;i>=0;i--){const r=this.newlines[i];if(e>r){t=i+2,n=e-r;break}}return{column:n,line:t,offset:e}}peek(){return this.buffer.charCodeAt(this.index+1)}stateText(e){60===e?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=5,this.sectionStart=this.index):this.inVPre||e!==this.delimiterOpen[0]||(this.state=2,this.delimiterIndex=0,this.stateInterpolationOpen(e))}stateInterpolationOpen(e){if(e===this.delimiterOpen[this.delimiterIndex])if(this.delimiterIndex===this.delimiterOpen.length-1){const e=this.index+1-this.delimiterOpen.length;e>this.sectionStart&&this.cbs.ontext(this.sectionStart,e),this.state=3,this.sectionStart=e}else this.delimiterIndex++;else this.inRCDATA?(this.state=32,this.stateInRCDATA(e)):(this.state=1,this.stateText(e))}stateInterpolation(e){e===this.delimiterClose[0]&&(this.state=4,this.delimiterIndex=0,this.stateInterpolationClose(e))}stateInterpolationClose(e){e===this.delimiterClose[this.delimiterIndex]?this.delimiterIndex===this.delimiterClose.length-1?(this.cbs.oninterpolation(this.sectionStart,this.index+1),this.inRCDATA?this.state=32:this.state=1,this.sectionStart=this.index+1):this.delimiterIndex++:(this.state=3,this.stateInterpolation(e))}stateSpecialStartSequence(e){const t=this.sequenceIndex===this.currentSequence.length;if(t?mD(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.inRCDATA=!1;this.sequenceIndex=0,this.state=6,this.stateInTagName(e)}stateInRCDATA(e){if(this.sequenceIndex===this.currentSequence.length){if(62===e||fD(e)){const t=this.index-this.currentSequence.length;if(this.sectionStart=e||(28===this.state?this.currentSequence===_D.CdataEnd?this.cbs.oncdata(this.sectionStart,e):this.cbs.oncomment(this.sectionStart,e):6===this.state||11===this.state||18===this.state||17===this.state||12===this.state||13===this.state||14===this.state||15===this.state||16===this.state||20===this.state||19===this.state||21===this.state||9===this.state||this.cbs.ontext(this.sectionStart,e))}emitCodePoint(e,t){}}(oF,{onerr:CF,ontext(e,t){hF(cF(e,t),e,t)},ontextentity(e,t,n){hF(e,t,n)},oninterpolation(e,t){if(rF)return hF(cF(e,t),e,t);let n=e+aF.delimiterOpen.length,i=t-aF.delimiterClose.length;for(;fD(ZD.charCodeAt(n));)n++;for(;fD(ZD.charCodeAt(i-1));)i--;let r=cF(n,i);r.includes("&")&&(r=qD.decodeEntities(r,!1)),xF({type:5,content:SF(r,!1,EF(n,i)),loc:EF(e,t)})},onopentagname(e,t){const n=cF(e,t);QD={type:1,tag:n,ns:qD.getNamespace(n,oF[0],qD.ns),tagType:0,props:[],children:[],loc:EF(e-1,t),codegenNode:void 0}},onopentagend(e){dF(e)},onclosetag(e,t){const n=cF(e,t);if(!qD.isVoidTag(n)){let i=!1;for(let e=0;e0&&CF(24,oF[0].loc.start.offset);for(let n=0;n<=e;n++){pF(oF.shift(),t,n(7===e.type?e.rawName:e.name)===n)&&CF(2,t)},onattribend(e,t){if(QD&&JD){if(IF(JD.loc,t),0!==e)if(eF.includes("&")&&(eF=qD.decodeEntities(eF,!0)),6===JD.type)"class"===JD.name&&(eF=TF(eF).trim()),1!==e||eF||CF(13,t),JD.value={type:2,content:eF,loc:1===e?EF(tF,nF):EF(tF-1,nF+1)},aF.inSFCRoot&&"template"===QD.tag&&"lang"===JD.name&&eF&&"html"!==eF&&aF.enterRCDATA(gD("{const r=t.start.offset+n;return SF(e,!1,EF(r,r+e.length),0,i?1:0)},a={source:o(s.trim(),n.indexOf(s,r.length)),value:void 0,key:void 0,index:void 0,finalized:!1};let l=r.trim().replace(uF,"").trim();const u=r.indexOf(l),c=l.match(lF);if(c){l=l.replace(lF,"").trim();const e=c[1].trim();let t;if(e&&(t=n.indexOf(e,u+l.length),a.key=o(e,t,!0)),c[2]){const i=c[2].trim();i&&(a.index=o(i,n.indexOf(i,a.key?t+e.length:u+l.length),!0))}}l&&(a.value=o(l,u,!0));return a}(JD.exp));let t=-1;"bind"===JD.name&&(t=JD.modifiers.findIndex(e=>"sync"===e.content))>-1&&bD("COMPILER_V_BIND_SYNC",qD,JD.loc,JD.rawName)&&(JD.name="model",JD.modifiers.splice(t,1))}7===JD.type&&"pre"===JD.name||QD.props.push(JD)}eF="",tF=nF=-1},oncomment(e,t){qD.comments&&xF({type:3,content:cF(e,t),loc:EF(e-4,t+3)})},onend(){const e=ZD.length;for(let t=0;t64&&n<91)||ID(e)||qD.isBuiltInComponent&&qD.isBuiltInComponent(e)||qD.isNativeTag&&!qD.isNativeTag(e))return!0;var n;for(let e=0;e6===e.type&&"inline-template"===e.name);n&&bD("COMPILER_INLINE_TEMPLATE",qD,n.loc)&&e.children.length&&(n.value={type:2,content:cF(e.children[0].loc.start.offset,e.children[e.children.length-1].loc.end.offset),loc:n.loc})}}function fF(e,t){let n=e;for(;ZD.charCodeAt(n)!==t&&n>=0;)n--;return n}const mF=new Set(["if","else","else-if","for","slot"]);function gF({tag:e,props:t}){if("template"===e)for(let e=0;e0){if(e>=2){a.codegenNode.patchFlag=-1,o.push(a);continue}}else{const e=a.codegenNode;if(13===e.type){const t=e.patchFlag;if((void 0===t||512===t||1===t)&&LF(a,n)>=2){const t=PF(a);t&&(e.props=n.hoist(t))}e.dynamicProps&&(e.dynamicProps=n.hoist(e.dynamicProps))}}}else if(12===a.type){if((i?0:NF(a,n))>=2){o.push(a);continue}}if(1===a.type){const t=1===a.tagType;t&&n.scopes.vSlot++,RF(a,e,n,!1,r),t&&n.scopes.vSlot--}else if(11===a.type)RF(a,e,n,1===a.children.length,!0);else if(9===a.type)for(let t=0;te.key===t||e.key.content===t);return n&&n.value}}o.length&&n.transformHoist&&n.transformHoist(s,n,e)}function NF(e,t){const{constantCache:n}=t;switch(e.type){case 1:if(0!==e.tagType)return 0;const i=n.get(e);if(void 0!==i)return i;const r=e.codegenNode;if(13!==r.type)return 0;if(r.isBlock&&"svg"!==e.tag&&"foreignObject"!==e.tag&&"math"!==e.tag)return 0;if(void 0===r.patchFlag){let i=3;const s=LF(e,t);if(0===s)return n.set(e,0),0;s1)for(let r=0;r`_${ZN[w.helper(e)]}`,replaceNode(e){w.parent.children[w.childIndex]=w.currentNode=e},removeNode(e){const t=w.parent.children,n=e?t.indexOf(e):w.currentNode?w.childIndex:-1;e&&e!==w.currentNode?w.childIndex>n&&(w.childIndex--,w.onNodeRemoved()):(w.currentNode=null,w.onNodeRemoved()),w.parent.children.splice(n,1)},onNodeRemoved:Bx,addIdentifiers(e){},removeIdentifiers(e){},hoist(e){Zx(e)&&(e=iD(e)),w.hoists.push(e);const t=iD(`_hoisted_${w.hoists.length}`,!1,e.loc,2);return t.hoisted=e,t},cache(e,t=!1,n=!1){const i=function(e,t,n=!1,i=!1){return{type:20,index:e,value:t,needPauseTracking:n,inVOnce:i,needArraySpread:!1,loc:QN}}(w.cached.length,e,t,n);return w.cached.push(i),i}};return w.filters=new Set,w}function $F(e,t){const n=BF(e,t);UF(e,n),t.hoistStatic&&MF(e,n),t.ssr||function(e,t){const{helper:n}=t,{children:i}=e;if(1===i.length){const n=i[0];if(kF(e,n)&&n.codegenNode){const i=n.codegenNode;13===i.type&&cD(i,t),e.codegenNode=i}else e.codegenNode=n}else if(i.length>1){let i=64;0,e.codegenNode=JN(t,n(hN),void 0,e.children,i,void 0,void 0,!0,void 0,!1)}}(e,n),e.helpers=new Set([...n.helpers.keys()]),e.components=[...n.components],e.directives=[...n.directives],e.imports=n.imports,e.hoists=n.hoists,e.temps=n.temps,e.cached=n.cached,e.transformed=!0,e.filters=[...n.filters]}function UF(e,t){t.currentNode=e;const{nodeTransforms:n}=t,i=[];for(let r=0;r{n--};for(;nt===e:t=>e.test(t);return(e,i)=>{if(1===e.type){const{props:r}=e;if(3===e.tagType&&r.some($D))return;const s=[];for(let o=0;o`${ZN[e]}: _${ZN[e]}`;function YF(e,t={}){const n=function(e,{mode:t="function",prefixIdentifiers:n="module"===t,sourceMap:i=!1,filename:r="template.vue.html",scopeId:s=null,optimizeImports:o=!1,runtimeGlobalName:a="Vue",runtimeModuleName:l="vue",ssrRuntimeModuleName:u="vue/server-renderer",ssr:c=!1,isTS:d=!1,inSSR:h=!1}){const p={mode:t,prefixIdentifiers:n,sourceMap:i,filename:r,scopeId:s,optimizeImports:o,runtimeGlobalName:a,runtimeModuleName:l,ssrRuntimeModuleName:u,ssr:c,isTS:d,inSSR:h,source:e.source,code:"",column:1,line:1,offset:0,indentLevel:0,pure:!1,map:void 0,helper:e=>`_${ZN[e]}`,push(e,t=-2,n){p.code+=e},indent(){f(++p.indentLevel)},deindent(e=!1){e?--p.indentLevel:f(--p.indentLevel)},newline(){f(p.indentLevel)}};function f(e){p.push("\n"+" ".repeat(e),0)}return p}(e,t);t.onContextCreated&&t.onContextCreated(n);const{mode:i,push:r,prefixIdentifiers:s,indent:o,deindent:a,newline:l,scopeId:u,ssr:c}=n,d=Array.from(e.helpers),h=d.length>0,p=!s&&"module"!==i;!function(e,t){const{ssr:n,prefixIdentifiers:i,push:r,newline:s,runtimeModuleName:o,runtimeGlobalName:a,ssrRuntimeModuleName:l}=t,u=a,c=Array.from(e.helpers);if(c.length>0&&(r(`const _Vue = ${u}\n`,-1),e.hoists.length)){r(`const { ${[bN,TN,xN,EN,wN].filter(e=>c.includes(e)).map(jF).join(", ")} } = _Vue\n`,-1)}(function(e,t){if(!e.length)return;t.pure=!0;const{push:n,newline:i}=t;i();for(let r=0;r0)&&l()),e.directives.length&&(GF(e.directives,"directive",n),e.temps>0&&l()),e.filters&&e.filters.length&&(l(),GF(e.filters,"filter",n),l()),e.temps>0){r("let ");for(let t=0;t0?", ":""}_temp${t}`)}return(e.components.length||e.directives.length||e.temps)&&(r("\n",0),l()),c||r("return "),e.codegenNode?XF(e.codegenNode,n):r("null"),p&&(a(),r("}")),a(),r("}"),{ast:e,code:n.code,preamble:"",map:n.map?n.map.toJSON():void 0}}function GF(e,t,{helper:n,push:i,newline:r,isTS:s}){const o=n("filter"===t?CN:"component"===t?IN:SN);for(let n=0;n3||!1;t.push("["),n&&t.indent(),WF(e,t,n),n&&t.deindent(),t.push("]")}function WF(e,t,n=!1,i=!0){const{push:r,newline:s}=t;for(let o=0;oe||"null")}([s,o,a,f,u]),t),n(")"),d&&n(")");c&&(n(", "),XF(c,t),n(")"))}(e,t);break;case 14:!function(e,t){const{push:n,helper:i,pure:r}=t,s=Zx(e.callee)?e.callee:i(e.callee);r&&n(zF);n(s+"(",-2,e),WF(e.arguments,t),n(")")}(e,t);break;case 15:!function(e,t){const{push:n,indent:i,deindent:r,newline:s}=t,{properties:o}=e;if(!o.length)return void n("{}",-2,e);const a=o.length>1||!1;n(a?"{":"{ "),a&&i();for(let e=0;e "),(l||a)&&(n("{"),i());o?(l&&n("return "),Hx(o)?HF(o,t):XF(o,t)):a&&XF(a,t);(l||a)&&(r(),n("}"));u&&(e.isNonScopedSlot&&n(", undefined, true"),n(")"))}(e,t);break;case 19:!function(e,t){const{test:n,consequent:i,alternate:r,newline:s}=e,{push:o,indent:a,deindent:l,newline:u}=t;if(4===n.type){const e=!SD(n.content);e&&o("("),qF(n,t),e&&o(")")}else o("("),XF(n,t),o(")");s&&a(),t.indentLevel++,s||o(" "),o("? "),XF(i,t),t.indentLevel--,s&&u(),s||o(" "),o(": ");const c=19===r.type;c||t.indentLevel++;XF(r,t),c||t.indentLevel--;s&&l(!0)}(e,t);break;case 20:!function(e,t){const{push:n,helper:i,indent:r,deindent:s,newline:o}=t,{needPauseTracking:a,needArraySpread:l}=e;l&&n("[...(");n(`_cache[${e.index}] || (`),a&&(r(),n(`${i(jN)}(-1`),e.inVOnce&&n(", true"),n("),"),o(),n("("));n(`_cache[${e.index}] = `),XF(e.value,t),a&&(n(`).cacheIndex = ${e.index},`),o(),n(`${i(jN)}(1),`),o(),n(`_cache[${e.index}]`),s());n(")"),l&&n(")]")}(e,t);break;case 21:WF(e.body,t,!0,!1)}}function qF(e,t){const{content:n,isStatic:i}=e;t.push(i?JSON.stringify(n):n,-3,e)}function KF(e,t){for(let n=0;nfunction(e,t,n,i){if(!("else"===t.name||t.exp&&t.exp.content.trim())){const i=t.exp?t.exp.loc:e.loc;n.onError(ED(28,t.loc)),t.exp=iD("true",!1,i)}0;if("if"===t.name){const r=JF(e,t),s={type:9,loc:wF(e.loc),branches:[r]};if(n.replaceNode(s),i)return i(s,r,!0)}else{const r=n.parent.children;let s=r.indexOf(e);for(;s-- >=-1;){const o=r[s];if(o&&3===o.type)n.removeNode(o);else{if(!o||2!==o.type||o.content.trim().length){if(o&&9===o.type){"else-if"===t.name&&void 0===o.branches[o.branches.length-1].condition&&n.onError(ED(30,e.loc)),n.removeNode();const r=JF(e,t);0,o.branches.push(r);const s=i&&i(o,r,!1);UF(r,n),s&&s(),n.currentNode=null}else n.onError(ED(30,e.loc));break}n.removeNode(o)}}}}(e,t,n,(e,t,i)=>{const r=n.parent.children;let s=r.indexOf(e),o=0;for(;s-- >=0;){const e=r[s];e&&9===e.type&&(o+=e.branches.length)}return()=>{if(i)e.codegenNode=eL(t,o,n);else{const i=function(e){for(;;)if(19===e.type){if(19!==e.alternate.type)return e;e=e.alternate}else 20===e.type&&(e=e.value)}(e.codegenNode);i.alternate=eL(t,o+e.branches.length-1,n)}}}));function JF(e,t){const n=3===e.tagType;return{type:10,loc:e.loc,condition:"else"===t.name?void 0:t.exp,children:n&&!FD(e,"for")?e.children:[e],userKey:LD(e,"key"),isTemplateIf:n}}function eL(e,t,n){return e.condition?aD(e.condition,tL(e,t,n),sD(n.helper(xN),['""',"true"])):tL(e,t,n)}function tL(e,t,n){const{helper:i}=n,r=nD("key",iD(`${t}`,!1,QN,2)),{children:s}=e,o=s[0];if(1!==s.length||1!==o.type){if(1===s.length&&11===o.type){const e=o.codegenNode;return YD(e,r,n),e}{let t=64;return JN(n,i(hN),tD([r]),s,t,void 0,void 0,!0,!1,!1,e.loc)}}{const e=o.codegenNode,t=14===(a=e).type&&a.callee===qN?a.arguments[1].returns:a;return 13===t.type&&cD(t,n),YD(t,r,n),e}var a}const nL=(e,t,n)=>{const{modifiers:i,loc:r}=e,s=e.arg;let{exp:o}=e;if(o&&4===o.type&&!o.content.trim()&&(o=void 0),!o){if(4!==s.type||!s.isStatic)return n.onError(ED(52,s.loc)),{props:[nD(s,iD("",!0,r))]};iL(e),o=e.exp}return 4!==s.type?(s.children.unshift("("),s.children.push(') || ""')):s.isStatic||(s.content=`${s.content} || ""`),i.some(e=>"camel"===e.content)&&(4===s.type?s.isStatic?s.content=cE(s.content):s.content=`${n.helperString(UN)}(${s.content})`:(s.children.unshift(`${n.helperString(UN)}(`),s.children.push(")"))),n.inSSR||(i.some(e=>"prop"===e.content)&&rL(s,"."),i.some(e=>"attr"===e.content)&&rL(s,"^")),{props:[nD(s,o)]}},iL=(e,t)=>{const n=e.arg,i=cE(n.content);e.exp=iD(i,!1,n.loc)},rL=(e,t)=>{4===e.type?e.isStatic?e.content=t+e.content:e.content=`\`${t}\${${e.content}}\``:(e.children.unshift(`'${t}' + (`),e.children.push(")"))},sL=VF("for",(e,t,n)=>{const{helper:i,removeHelper:r}=n;return function(e,t,n,i){if(!t.exp)return void n.onError(ED(31,t.loc));const r=t.forParseResult;if(!r)return void n.onError(ED(32,t.loc));oL(r,n);const{addIdentifiers:s,removeIdentifiers:o,scopes:a}=n,{source:l,value:u,key:c,index:d}=r,h={type:11,loc:t.loc,source:l,valueAlias:u,keyAlias:c,objectIndexAlias:d,parseResult:r,children:UD(e)?e.children:[e]};n.replaceNode(h),a.vFor++;const p=i&&i(h);return()=>{a.vFor--,p&&p()}}(e,t,n,t=>{const s=sD(i(MN),[t.source]),o=UD(e),a=FD(e,"memo"),l=LD(e,"key",!1,!0);l&&7===l.type&&!l.exp&&iL(l);let u=l&&(6===l.type?l.value?iD(l.value.content,!0):void 0:l.exp);const c=l&&u?nD("key",u):null,d=4===t.source.type&&t.source.constType>0,h=d?64:l?128:256;return t.codegenNode=JN(n,i(hN),void 0,s,h,void 0,void 0,!0,!d,!1,e.loc),()=>{let l;const{children:h}=t;const p=1!==h.length||1!==h[0].type,f=VD(e)?e:o&&1===e.children.length&&VD(e.children[0])?e.children[0]:null;if(f?(l=f.codegenNode,o&&c&&YD(l,c,n)):p?l=JN(n,i(hN),c?tD([c]):void 0,e.children,64,void 0,void 0,!0,void 0,!1):(l=h[0].codegenNode,o&&c&&YD(l,c,n),l.isBlock!==!d&&(l.isBlock?(r(_N),r(uD(n.inSSR,l.isComponent))):r(lD(n.inSSR,l.isComponent))),l.isBlock=!d,l.isBlock?(i(_N),i(uD(n.inSSR,l.isComponent))):i(lD(n.inSSR,l.isComponent))),a){const e=oD(aL(t.parseResult,[iD("_cached")]));e.body={type:21,body:[rD(["const _memo = (",a.exp,")"]),rD(["if (_cached",...u?[" && _cached.key === ",u]:[],` && ${n.helperString(KN)}(_cached, _memo)) return _cached`]),rD(["const _item = ",l]),iD("_item.memo = _memo"),iD("return _item")],loc:QN},s.arguments.push(e,iD("_cache"),iD(String(n.cached.length))),n.cached.push(null)}else s.arguments.push(oD(aL(t.parseResult),l,!0))}})});function oL(e,t){e.finalized||(e.finalized=!0)}function aL({value:e,key:t,index:n},i=[]){return function(e){let t=e.length;for(;t--&&!e[t];);return e.slice(0,t+1).map((e,t)=>e||iD("_".repeat(t+1),!1))}([e,t,n,...i])}const lL=iD("undefined",!1),uL=(e,t)=>{if(1===e.type&&(1===e.tagType||3===e.tagType)){const n=FD(e,"slot");if(n)return n.exp,t.scopes.vSlot++,()=>{t.scopes.vSlot--}}},cL=(e,t,n,i)=>oD(e,n,!1,!0,n.length?n[0].loc:i);function dL(e,t,n=cL){t.helper(HN);const{children:i,loc:r}=e,s=[],o=[];let a=t.scopes.vSlot>0||t.scopes.vFor>0;const l=FD(e,"slot",!0);if(l){const{arg:e,exp:t}=l;e&&!wD(e)&&(a=!0),s.push(nD(e||iD("default",!0),n(t,void 0,i,r)))}let u=!1,c=!1;const d=[],h=new Set;let p=0;for(let e=0;e{const s=n(e,void 0,i,r);return t.compatConfig&&(s.isNonScopedSlot=!0),nD("default",s)};u?d.length&&d.some(e=>fL(e))&&(c?t.onError(ED(39,d[0].loc)):s.push(e(void 0,d))):s.push(e(void 0,i))}const f=a?2:pL(e.children)?3:1;let m=tD(s.concat(nD("_",iD(f+"",!1))),r);return o.length&&(m=sD(t.helper(RN),[m,eD(o)])),{slots:m,hasDynamicSlots:a}}function hL(e,t,n){const i=[nD("name",e),nD("fn",t)];return null!=n&&i.push(nD("key",iD(String(n),!0))),tD(i)}function pL(e){for(let t=0;tfunction(){if(1!==(e=t.currentNode).type||0!==e.tagType&&1!==e.tagType)return;const{tag:n,props:i}=e,r=1===e.tagType;let s=r?function(e,t,n=!1){let{tag:i}=e;const r=bL(i),s=LD(e,"is",!1,!0);if(s)if(r||vD("COMPILER_IS_ON_ELEMENT",t)){let e;if(6===s.type?e=s.value&&iD(s.value.content,!0):(e=s.exp,e||(e=iD("is",!1,s.arg.loc))),e)return sD(t.helper(AN),[e])}else 6===s.type&&s.value.content.startsWith("vue:")&&(i=s.value.content.slice(4));const o=ID(i)||t.isBuiltInComponent(i);if(o)return n||t.helper(o),o;return t.helper(IN),t.components.add(i),HD(i,"component")}(e,t):`"${n}"`;const o=Jx(s)&&s.callee===AN;let a,l,u,c,d,h=0,p=o||s===pN||s===fN||!r&&("svg"===n||"foreignObject"===n||"math"===n);if(i.length>0){const n=_L(e,t,void 0,r,o);a=n.props,h=n.patchFlag,c=n.dynamicPropNames;const i=n.directives;d=i&&i.length?eD(i.map(e=>function(e,t){const n=[],i=mL.get(e);i?n.push(t.helperString(i)):(t.helper(SN),t.directives.add(e.name),n.push(HD(e.name,"directive")));const{loc:r}=e;e.exp&&n.push(e.exp);e.arg&&(e.exp||n.push("void 0"),n.push(e.arg));if(Object.keys(e.modifiers).length){e.arg||(e.exp||n.push("void 0"),n.push("void 0"));const t=iD("true",!1,r);n.push(tD(e.modifiers.map(e=>nD(e,t)),r))}return eD(n,e.loc)}(e,t))):void 0,n.shouldUseBlock&&(p=!0)}if(e.children.length>0){s===mN&&(p=!0,h|=1024);if(r&&s!==pN&&s!==mN){const{slots:n,hasDynamicSlots:i}=dL(e,t);l=n,i&&(h|=1024)}else if(1===e.children.length&&s!==pN){const n=e.children[0],i=n.type,r=5===i||8===i;r&&0===NF(n,t)&&(h|=1),l=r||2===i?n:e.children}else l=e.children}c&&c.length&&(u=function(e){let t="[";for(let n=0,i=e.length;n0;let p=!1,f=0,m=!1,g=!1,_=!1,y=!1,v=!1,b=!1;const T=[],x=e=>{u.length&&(c.push(tD(yL(u),a)),u=[]),e&&c.push(e)},E=()=>{t.scopes.vFor>0&&u.push(nD(iD("ref_for",!0),iD("true")))},w=({key:e,value:n})=>{if(wD(e)){const s=e.content,o=Ux(s);if(!o||i&&!r||"onclick"===s.toLowerCase()||"onUpdate:modelValue"===s||oE(s)||(y=!0),o&&oE(s)&&(b=!0),o&&14===n.type&&(n=n.arguments[0]),20===n.type||(4===n.type||8===n.type)&&NF(n,t)>0)return;"ref"===s?m=!0:"class"===s?g=!0:"style"===s?_=!0:"key"===s||T.includes(s)||T.push(s),!i||"class"!==s&&"style"!==s||T.includes(s)||T.push(s)}else v=!0};for(let r=0;r"prop"===e.content)&&(f|=32);const T=t.directiveTransforms[n];if(T){const{props:n,needRuntime:i}=T(l,e,t);!s&&n.forEach(w),b&&r&&!wD(r)?x(tD(n,a)):u.push(...n),i&&(d.push(l),Qx(i)&&mL.set(l,i))}else aE(n)||(d.push(l),h&&(p=!0))}}let I;if(c.length?(x(),I=c.length>1?sD(t.helper(DN),c,a):c[0]):u.length&&(I=tD(yL(u),a)),v?f|=16:(g&&!i&&(f|=2),_&&!i&&(f|=4),T.length&&(f|=8),y&&(f|=32)),p||0!==f&&32!==f||!(m||b||d.length>0)||(f|=512),!t.inSSR&&I)switch(I.type){case 15:let e=-1,n=-1,i=!1;for(let t=0;t{if(VD(e)){const{children:n,loc:i}=e,{slotName:r,slotProps:s}=function(e,t){let n,i='"default"';const r=[];for(let t=0;t0){const{props:i,directives:s}=_L(e,t,r,!1,!1);n=i,s.length&&t.onError(ED(36,s[0].loc))}return{slotName:i,slotProps:n}}(e,t),o=[t.prefixIdentifiers?"_ctx.$slots":"$slots",r,"{}","undefined","true"];let a=2;s&&(o[2]=s,a=3),n.length&&(o[3]=oD([],n,!1,!1,i),a=4),t.scopeId&&!t.slotted&&(a=5),o.splice(a),e.codegenNode=sD(t.helper(kN),o,i)}};const xL=(e,t,n,i)=>{const{loc:r,modifiers:s,arg:o}=e;let a;if(e.exp||s.length||n.onError(ED(35,r)),4===o.type)if(o.isStatic){let e=o.content;0,e.startsWith("vue:")&&(e=`vnode-${e.slice(4)}`);a=iD(0!==t.tagType||e.startsWith("vnode")||!/[A-Z]/.test(e)?fE(cE(e)):`on:${e}`,!0,o.loc)}else a=rD([`${n.helperString(zN)}(`,o,")"]);else a=o,a.children.unshift(`${n.helperString(zN)}(`),a.children.push(")");let l=e.exp;l&&!l.content.trim()&&(l=void 0);let u=n.cacheHandlers&&!l&&!n.inVOnce;if(l){const e=RD(l),t=!(e||DD(l)),n=l.content.includes(";");0,(t||u&&e)&&(l=rD([`${t?"$event":"(...args)"} => ${n?"{":"("}`,l,n?"}":")"]))}let c={props:[nD(a,l||iD("() => {}",!1,r))]};return i&&(c=i(c)),u&&(c.props[0].value=n.cache(c.props[0].value)),c.props.forEach(e=>e.key.isHandlerKey=!0),c},EL=(e,t)=>{if(0===e.type||1===e.type||11===e.type||10===e.type)return()=>{const n=e.children;let i,r=!1;for(let e=0;e7===e.type&&!t.directiveTransforms[e.name])||"template"===e.tag)))for(let e=0;e{if(1===e.type&&FD(e,"once",!0)){if(wL.has(e)||t.inVOnce||t.inSSR)return;return wL.add(e),t.inVOnce=!0,t.helper(jN),()=>{t.inVOnce=!1;const e=t.currentNode;e.codegenNode&&(e.codegenNode=t.cache(e.codegenNode,!0,!0))}}},AL=(e,t,n)=>{const{exp:i,arg:r}=e;if(!i)return n.onError(ED(41,e.loc)),SL();const s=i.loc.source.trim(),o=4===i.type?i.content:s,a=n.bindingMetadata[s];if("props"===a||"props-aliased"===a)return n.onError(ED(44,i.loc)),SL();if(!o.trim()||!RD(i))return n.onError(ED(42,i.loc)),SL();const l=r||iD("modelValue",!0),u=r?wD(r)?`onUpdate:${cE(r.content)}`:rD(['"onUpdate:" + ',r]):"onUpdate:modelValue";let c;c=rD([`${n.isTS?"($event: any)":"$event"} => ((`,i,") = $event)"]);const d=[nD(l,e.exp),nD(u,c)];if(e.modifiers.length&&1===t.tagType){const t=e.modifiers.map(e=>e.content).map(e=>(SD(e)?e:JSON.stringify(e))+": true").join(", "),n=r?wD(r)?`${r.content}Modifiers`:rD([r,' + "Modifiers"']):"modelModifiers";d.push(nD(n,iD(`{ ${t} }`,!1,e.loc,2)))}return SL(d)};function SL(e=[]){return{props:e}}const CL=/[\w).+\-_$\]]/,OL=(e,t)=>{vD("COMPILER_FILTERS",t)&&(5===e.type?ML(e.content,t):1===e.type&&e.props.forEach(e=>{7===e.type&&"for"!==e.name&&e.exp&&ML(e.exp,t)}))};function ML(e,t){if(4===e.type)kL(e,t);else for(let n=0;n=0&&(e=n.charAt(t)," "===e);t--);e&&CL.test(e)||(c=!0)}}else void 0===o?(f=s+1,o=n.slice(0,s).trim()):g();function g(){m.push(n.slice(f,s).trim()),f=s+1}if(void 0===o?o=n.slice(0,s).trim():0!==f&&g(),m.length){for(s=0;s{if(1===e.type){const n=FD(e,"memo");if(!n||NL.has(e))return;return NL.add(e),()=>{const i=e.codegenNode||t.currentNode.codegenNode;i&&13===i.type&&(1!==e.tagType&&cD(i,t),e.codegenNode=sD(t.helper(qN),[n.exp,oD(void 0,i),"_cache",String(t.cached.length)]),t.cached.push(null))}}};function FL(e,t={}){const n=t.onError||TD,i="module"===t.mode;!0===t.prefixIdentifiers?n(ED(47)):i&&n(ED(48));t.cacheHandlers&&n(ED(49)),t.scopeId&&!i&&n(ED(50));const r=zx({},t,{prefixIdentifiers:!1}),s=Zx(e)?OF(e,r):e,[o,a]=[[IL,QF,DL,sL,OL,TL,gL,uL,EL],{on:xL,bind:nL,model:AL}];return $F(s,zx({},r,{nodeTransforms:[...o,...t.nodeTransforms||[]],directiveTransforms:zx({},a,t.directiveTransforms||{})})),YF(s,r)}const LL=Symbol(""),PL=Symbol(""),BL=Symbol(""),$L=Symbol(""),UL=Symbol(""),VL=Symbol(""),zL=Symbol(""),jL=Symbol(""),YL=Symbol(""),GL=Symbol("");var HL;let WL;HL={[LL]:"vModelRadio",[PL]:"vModelCheckbox",[BL]:"vModelText",[$L]:"vModelSelect",[UL]:"vModelDynamic",[VL]:"withModifiers",[zL]:"withKeys",[jL]:"vShow",[YL]:"Transition",[GL]:"TransitionGroup"},Object.getOwnPropertySymbols(HL).forEach(e=>{ZN[e]=HL[e]});const XL={parseMode:"html",isVoidTag:NE,isNativeTag:e=>ME(e)||kE(e)||RE(e),isPreTag:e=>"pre"===e,isIgnoreNewlineTag:e=>"pre"===e||"textarea"===e,decodeEntities:function(e,t=!1){return WL||(WL=document.createElement("div")),t?(WL.innerHTML=`
`,WL.children[0].getAttribute("foo")):(WL.innerHTML=e,WL.textContent)},isBuiltInComponent:e=>"Transition"===e||"transition"===e?YL:"TransitionGroup"===e||"transition-group"===e?GL:void 0,getNamespace(e,t,n){let i=t?t.ns:n;if(t&&2===i)if("annotation-xml"===t.tag){if("svg"===e)return 1;t.props.some(e=>6===e.type&&"encoding"===e.name&&null!=e.value&&("text/html"===e.value.content||"application/xhtml+xml"===e.value.content))&&(i=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&"mglyph"!==e&&"malignmark"!==e&&(i=0);else t&&1===i&&("foreignObject"!==t.tag&&"desc"!==t.tag&&"title"!==t.tag||(i=0));if(0===i){if("svg"===e)return 1;if("math"===e)return 2}return i}},qL=(e,t)=>{const n=SE(e);return iD(JSON.stringify(n),!1,t,3)};function KL(e,t){return ED(e,t)}const ZL=Fx("passive,once,capture"),QL=Fx("stop,prevent,self,ctrl,shift,alt,meta,exact,middle"),JL=Fx("left,right"),eP=Fx("onkeyup,onkeydown,onkeypress"),tP=(e,t)=>wD(e)&&"onclick"===e.content.toLowerCase()?iD(t,!0):4!==e.type?rD(["(",e,`) === "onClick" ? "${t}" : (`,e,")"]):e;const nP=(e,t)=>{1!==e.type||0!==e.tagType||"script"!==e.tag&&"style"!==e.tag||t.removeNode()};const iP=[e=>{1===e.type&&e.props.forEach((t,n)=>{6===t.type&&"style"===t.name&&t.value&&(e.props[n]={type:7,name:"bind",arg:iD("style",!0,t.loc),exp:qL(t.value.content,t.loc),modifiers:[],loc:t.loc})})}],rP={cloak:()=>({props:[]}),html:(e,t,n)=>{const{exp:i,loc:r}=e;return i||n.onError(KL(53,r)),t.children.length&&(n.onError(KL(54,r)),t.children.length=0),{props:[nD(iD("innerHTML",!0,r),i||iD("",!0))]}},text:(e,t,n)=>{const{exp:i,loc:r}=e;return i||n.onError(KL(55,r)),t.children.length&&(n.onError(KL(56,r)),t.children.length=0),{props:[nD(iD("textContent",!0),i?NF(i,n)>0?i:sD(n.helperString(NN),[i],r):iD("",!0))]}},model:(e,t,n)=>{const i=AL(e,t,n);if(!i.props.length||1===t.tagType)return i;e.arg&&n.onError(KL(58,e.arg.loc));const{tag:r}=t,s=n.isCustomElement(r);if("input"===r||"textarea"===r||"select"===r||s){let o=BL,a=!1;if("input"===r||s){const i=LD(t,"type");if(i){if(7===i.type)o=UL;else if(i.value)switch(i.value.content){case"radio":o=LL;break;case"checkbox":o=PL;break;case"file":a=!0,n.onError(KL(59,e.loc))}}else(function(e){return e.props.some(e=>!(7!==e.type||"bind"!==e.name||e.arg&&4===e.arg.type&&e.arg.isStatic))})(t)&&(o=UL)}else"select"===r&&(o=$L);a||(i.needRuntime=n.helper(o))}else n.onError(KL(57,e.loc));return i.props=i.props.filter(e=>!(4===e.key.type&&"modelValue"===e.key.content)),i},on:(e,t,n)=>xL(e,t,n,t=>{const{modifiers:i}=e;if(!i.length)return t;let{key:r,value:s}=t.props[0];const{keyModifiers:o,nonKeyModifiers:a,eventOptionModifiers:l}=((e,t,n)=>{const i=[],r=[],s=[];for(let o=0;o{const{exp:i,loc:r}=e;return i||n.onError(KL(61,r)),{props:[],needRuntime:n.helper(jL)}}};const sP=Object.create(null);KM(function(e,t){if(!Zx(e)){if(!e.nodeType)return Bx;e=e.innerHTML}const n=function(e,t){return e+JSON.stringify(t,(e,t)=>"function"==typeof t?t.toString():t)}(e,t),i=sP[n];if(i)return i;if("#"===e[0]){const t=document.querySelector(e);0,e=t?t.innerHTML:""}const r=zx({hoistStatic:!0,onError:void 0,onWarn:Bx},t);r.isCustomElement||"undefined"==typeof customElements||(r.isCustomElement=e=>!!customElements.get(e));const{code:s}=function(e,t={}){return FL(e,zx({},XL,t,{nodeTransforms:[nP,...iP,...t.nodeTransforms||[]],directiveTransforms:zx({},rP,t.directiveTransforms||{}),transformHoist:null}))}(e,r),o=new Function("Vue",s)(oe);return o._rc=!0,sP[n]=o});var oP=__webpack_require__(66619),aP=__webpack_require__.n(oP);const lP={stage:new(aP().Container),pointer:{x:0,y:0},backgroundSprite:null,sprites:{},texts:{},counter:0,keys:{},state:!1,running:!1,repeatPlay:()=>{},displayTag:!1,processingDisplayEvent:null,successDisplayEvents:[],successProcessingDisplayEvents:[],startTime:performance.now(),timer:0,lastFrameTime:null,lastSecond:null,targetFPS:60,frameCount:0,currentFPS:60,canvasHeight:450,canvasWidth:800,gameLoop:()=>{1==lP.state&&(lP.repeatPlay(),lP.gameLoopDisplay()),lP.timer=performance.now()-lP.startTime},animate:e=>{e-lP.lastFrameTime>=1e3/lP.targetFPS&&(lP.frameCount++,lP.gameLoop(),lP.renderer.render(lP.stage),lP.lastFrameTime=e),e-lP.lastSecond>=1e3&&(lP.currentFPS=lP.frameCount,lP.frameCount=0,lP.lastSecond=e),requestAnimationFrame(lP.animate)}};lP.createBackground=(e,t=0)=>{var n;return 0==t&&(n=new(aP().Sprite.fromImage)(`../common/media/spriteimg/${e}.png`)),n.name="background",n.anchor.set(.5),n.x=lP.canvasWidth/2,n.y=lP.canvasHeight/2,n.width=lP.canvasWidth,n.height=lP.canvasHeight,n.interactive=!0,n.buttonMode=!0,n.isDown=!1,n.isUp=!0,n.on("mousedown",function(){this.isDown=!0,this.isUp=!1,lP.state&&this.runningMouseDown()}).on("mouseup",function(){this.isDown=!1,this.isUp=!0}).on("mouseupoutside",function(){this.isDown=!1,this.isUp=!0}),n.runningMouseDown=new Function(""),lP.backgroundSprite&&lP.backgroundSprite.parent&&lP.stage.removeChild(lP.backgroundSprite),lP.backgroundSprite=n,lP.stage.addChildAt(lP.backgroundSprite,0),0},lP.createASprite=(e,t=lP.canvasWidth/2,n=lP.canvasHeight/2,i="",r=0)=>{var s;return""==i&&(i="sprite"+ ++lP.counter),0==r&&(s=new(aP().Sprite.fromImage)(`../common/media/spriteimg/${e}.png`)),lP.sprites[i]||lP.texts[i]||(s.name=i,s.anchor.set(.5),s.x=t,s.y=n,s.interactive=!0,s.buttonMode=!0,s.isDown=!1,s.isUp=!0,s.on("mousedown",function(e){this.isDown=!0,this.isUp=!1,lP.state?this.runningMouseDown():(this.data=e.data,this.alpha=.5,this.dragging=!0)}).on("mouseup",function(){this.isDown=!1,this.isUp=!0,lP.state||(this.alpha=1,this.dragging=!1,this.data=null)}).on("mouseupoutside",function(){this.isDown=!1,this.isUp=!0,lP.state||(this.alpha=1,this.dragging=!1,this.data=null)}).on("mousemove",function(){if(!lP.state&&this.dragging){var e=this.data.getLocalPosition(this.parent);this.position.x=e.x,this.position.y=e.y}}),s.runningMouseDown=new Function(""),s.show=function(){this.visible=!0},s.hide=function(){this.visible=!1},s.enlarge=function(e){const t=this.height/this.width;var n=Math.sqrt(this.height*this.width);n+=e,this.width=Math.sqrt(n*n/t),this.height=this.width*t},s.enlargeTo=function(e){var t=this.height/this.width;this.width=Math.sqrt(e*e/t),this.height=this.width*t},s.expandTo=async function(e,t=1){if(lP.running){lP.displayTag=!0,lP.processingDisplayEvent={sprite:this,targetS:e,totalTime:1e3*t,startTime:performance.now(),displayType:"expand"};var n=new Promise(e=>{if(!1===lP.displayTag)e();else{const t=setInterval(()=>{!1===lP.displayTag&&(clearInterval(t),e())},10)}});return await n}return lP.successProcessingDisplayEvents.push({sprite:this,targetS:e,totalTime:1e3*t,startTime:performance.now(),displayType:"expand"}),0},s.move=function(e){this.x+=e*Math.cos(this.rotation),this.y+=e*Math.sin(this.rotation)},s.moveTo=function(e,t){this.x=e,this.y=t},s.slideTo=async function(e,t,n=1){if(lP.running){lP.displayTag=!0,lP.processingDisplayEvent={sprite:this,targetX:e,targetY:t,totalTime:1e3*n,startTime:performance.now(),displayType:"slide"};var i=new Promise(e=>{const t=setInterval(()=>{!1===lP.displayTag&&(clearInterval(t),e())},10)});return await i}return lP.successProcessingDisplayEvents.push({sprite:this,targetX:e,targetY:t,totalTime:1e3*n,startTime:performance.now(),displayType:"slide"}),0},s.addX=function(e){this.x+=e},s.addY=function(e){this.y+=e},s.rotate=function(e){this.rotation+=Math.PI/180*e},s.rotateTo=function(e){this.rotation=Math.PI/180*e},s.circleTo=async function(e,t=1){if(lP.running){lP.displayTag=!0,lP.processingDisplayEvent={sprite:this,targetDegree:e,totalTime:1e3*t,startTime:performance.now(),displayType:"circle"};var n=new Promise(e=>{if(!1===lP.displayTag)e();else{const t=setInterval(()=>{!1===lP.displayTag&&(clearInterval(t),e())},10)}});return await n}return lP.successProcessingDisplayEvents.push({sprite:this,targetDegree:e,totalTime:1e3*t,startTime:performance.now(),displayType:"circle"}),0},s.hit=function(e){return lP.hitTestRectangle(this,e)},s.outOfScreen=function(){return this.y>=lP.renderer.height||this.y<=0||this.x<=0||this.x>=lP.renderer.width},s.mouseAction=function(e){this.runningMouseDown=e},s.setScale=function(e=0,t=0){0==e&&(e=this.height),0==t&&(t=this.width),this.height=e,this.width=t},s.filterGray=function(){const e=new(aP().filters.ColorMatrixFilter);e.blackAndWhite(),this.filters=[e]},s.filterBrighter=function(){const e=new(aP().filters.ColorMatrixFilter);e.brightness(1.25),this.filters=[e]},s.filterOrigin=function(){this.filters=null},lP.stage.addChild(s),lP.sprites[i]=s),i},lP.clearAllSprites=()=>{lP.backgroundSprite&&lP.backgroundSprite.parent&&lP.backgroundSprite.parent.removeChild(lP.backgroundSprite);for(const e in lP.sprites)lP.sprites[e].parent.removeChild(lP.sprites[e]),delete lP.sprites[e];for(const e in lP.texts)lP.texts[e].parent.removeChild(lP.texts[e]),delete lP.texts[e];return lP.counter=0,lP.clearTimer(),0},lP.createText=(e,t=lP.canvasWidth/2,n=lP.canvasHeight/2,i="")=>{if(""==i&&(i="text"+ ++lP.counter),!lP.sprites[i]&&!lP.texts[i]){var r=new(aP().Text)(e);r.name=i,r.x=t,r.y=n,r.interactive=!0,r.buttonMode=!0,r.on("mousedown",function(e){this.isDown=!0,this.isUp=!1,lP.state?this.runningMouseDown():(this.data=e.data,this.alpha=.5,this.dragging=!0)}).on("mouseup",function(){this.isDown=!1,this.isUp=!0,lP.state||(this.alpha=1,this.dragging=!1,this.data=null)}).on("mouseupoutside",function(){this.isDown=!1,this.isUp=!0,lP.state||(this.alpha=1,this.dragging=!1,this.data=null)}).on("mousemove",function(){if(!lP.state&&this.dragging){var e=this.data.getLocalPosition(this.parent);this.position.x=e.x,this.position.y=e.y}}),r.runningMouseDown=new Function(""),r.changeText=function(e){this.text=e},r.show=function(){this.visible=!0},r.hide=function(){this.visible=!1},lP.stage.addChild(r),lP.texts[i]=r}return i},lP.hitTestRectangle=(e,t)=>{let n,i,r,s,o;return n=!1,e.centerX=e.x+e.width/2,e.centerY=e.y+e.height/2,t.centerX=t.x+t.width/2,t.centerY=t.y+t.height/2,e.halfWidth=e.width/2,e.halfHeight=e.height/2,t.halfWidth=t.width/2,t.halfHeight=t.height/2,s=e.centerX-t.centerX,o=e.centerY-t.centerY,i=e.halfWidth+t.halfWidth,r=e.halfHeight+t.halfHeight,n=Math.abs(s){lP.repeatPlay=e},lP.isKeyboardHit=e=>{if(!lP.keys[e]){let t=lP.keyboard(e);lP.keys[e]=t}return lP.keys[e].isDown},lP.keyboardListener=(e,t)=>{if(lP.keys[e])lP.keys[e].press=function(){lP.state&&t()};else{let n=lP.keyboard(e);n.press=function(){lP.state&&t()},lP.keys[e]=n}},lP.keyboard=e=>{let t={};t.value=e,t.isDown=!1,t.isUp=!0,t.press=void 0,t.release=void 0,t.downHandler=e=>{e.key===t.value&&(t.isUp&&t.press&&t.press(),t.isDown=!0,t.isUp=!1,e.preventDefault())},t.upHandler=e=>{e.key===t.value&&(t.isDown&&t.release&&t.release(),t.isDown=!1,t.isUp=!0,e.preventDefault())};const n=t.downHandler.bind(t),i=t.upHandler.bind(t);return window.addEventListener("keydown",n,!1),window.addEventListener("keyup",i,!1),t.unsubscribe=()=>{window.removeEventListener("keydown",n),window.removeEventListener("keyup",i)},t},lP.clearTimer=()=>{lP.startTime=performance.now()},lP.gameLoopDisplay=()=>{if(lP.processingDisplayEvent){const e=lP.processingDisplayEvent;switch(e.displayType){case"slide":if(performance.now()>=e.totalTime+e.startTime)e.sprite.moveTo(e.targetX,e.targetY),lP.displayTag=!1,lP.processingDisplayEvent=null;else(t=lP.currentFPS*(e.totalTime+e.startTime-performance.now())/1e3)>=1&&(e.sprite.addX((e.targetX-e.sprite.x)/t),e.sprite.addY((e.targetY-e.sprite.y)/t));break;case"expand":if(performance.now()>=e.totalTime+e.startTime)e.sprite.enlargeTo(e.targetS),lP.displayTag=!1,lP.processingDisplayEvent=null;else(t=lP.currentFPS*(e.totalTime+e.startTime-performance.now())/1e3)>=1&&e.sprite.enlarge((e.targetS-Math.sqrt(e.sprite.height*e.sprite.width))/t);break;case"circle":if(performance.now()>=e.totalTime+e.startTime)e.sprite.rotateTo(e.targetDegree),lP.displayTag=!1,lP.processingDisplayEvent=null;else(t=lP.currentFPS*(e.totalTime+e.startTime-performance.now())/1e3)>=1&&e.sprite.rotate((e.targetDegree-180*e.sprite.rotation/Math.PI)/t)}}if(!lP.running&&lP.successProcessingDisplayEvents.length)for(var e=lP.successProcessingDisplayEvents.length-1;e>=0;e--){const n=lP.successProcessingDisplayEvents[e];switch(n.displayType){case"slide":if(performance.now()>=n.totalTime+n.startTime)n.sprite.moveTo(n.targetX,n.targetY),lP.successProcessingDisplayEvents.splice(e,1);else(t=lP.currentFPS*(n.totalTime+n.startTime-performance.now())/1e3)>=1&&(n.sprite.addX((n.targetX-n.sprite.x)/t),n.sprite.addY((n.targetY-n.sprite.y)/t));break;case"expand":if(performance.now()>=n.totalTime+n.startTime)n.sprite.enlargeTo(n.targetS),lP.successProcessingDisplayEvents.splice(e,1);else(t=lP.currentFPS*(n.totalTime+n.startTime-performance.now())/1e3)>=1&&n.sprite.enlarge((n.targetS-Math.sqrt(n.sprite.height*n.sprite.width))/t);break;case"circle":var t;if(performance.now()>=n.totalTime+n.startTime)n.sprite.rotateTo(n.targetDegree),lP.successProcessingDisplayEvents.splice(e,1);else(t=lP.currentFPS*(n.totalTime+n.startTime-performance.now())/1e3)>=1&&n.sprite.rotate((n.targetDegree-180*n.sprite.rotation/Math.PI)/t)}}},lP.changeWidth=e=>{const t=Dx()(lP.renderer.view),n=t.width(),i=t.height();t.width(e),t.height(e/n*i)},lP.kill=()=>{lP.state=!1,lP.repeatPlay=new Function;for(let e in lP.keys)lP.keys[e].unsubscribe(),delete lP.keys[e];lP.processingDisplayEvent=null,lP.displayTag=!1,lP.running=!1,lP.clearTimer()},lP.runit=e=>{const t=Dx()(e);t.empty(),aP().SCALE_MODES.DEFAULT=aP().SCALE_MODES.NEAREST,lP.renderer=aP().autoDetectRenderer(lP.canvasWidth,lP.canvasHeight,{backgroundColor:16777215}),t.append(lP.renderer.view),lP.pointer={x:0,y:0},lP.stage.sortableChildren=!0,lP.stage.interactive=!0,lP.stage.on("mousemove",(e=aP().InteractionEvent)=>{lP.pointer.x=e.data.global.x,lP.pointer.y=e.data.global.y}),lP.lastFrameTime=0,lP.running=!0,lP.lastFrameTime||(lP.lastFrameTime=performance.now(),lP.lastSecond=performance.now()),lP.animate(performance.now()),lP.repeatPlay=new Function;for(let e in lP.keys)lP.keys[e].unsubscribe(),delete lP.keys[e];lP.backgroundSprite&&(lP.backgroundSprite.runningMouseDown=new Function);for(let e in lP.sprites)lP.sprites[e].runningMouseDown=new Function;for(let e in lP.texts)lP.texts[e].runningMouseDown=new Function;lP.processingDisplayEvent=null,lP.displayTag=!1,lP.clearTimer(),lP.changeWidth(Dx()("body").width()/2),lP.state=!0},window.mixlySprite=lP;const uP=lP;var cP=__webpack_require__(69610);class dP{constructor(e,t){this._pageLoad=new cP.D,this._kernelAvailable=new cP.D,this._loaderId="basthon-loader",this._doNotHideLoader=!0;const n=e.language;if(null!=t&&(this._loaderId=t),"loading"===document.readyState){const e=()=>{document.removeEventListener("DOMContentLoaded",e),this._pageLoad.resolve()};document.addEventListener("DOMContentLoaded",e)}else this._pageLoad.resolve();(async()=>{switch(n){case"python":case"python3":case"python3.11":const{KernelPython3:t}=await __webpack_require__.e(211).then(__webpack_require__.bind(__webpack_require__,20211));this._kernel=new t(e);break;case"python3-old":case"python3.8":const{KernelPython3Old:i}=await __webpack_require__.e(195).then(__webpack_require__.bind(__webpack_require__,95195));this._kernel=new i(e);break;case"js":case"javascript":const{KernelJavaScript:r}=await __webpack_require__.e(97).then(__webpack_require__.bind(__webpack_require__,4097));this._kernel=new r(e);break;case"sql":const{KernelSQL:s}=await Promise.all([__webpack_require__.e(960),__webpack_require__.e(837)]).then(__webpack_require__.bind(__webpack_require__,90592));this._kernel=new s(e);break;case"ocaml":const{KernelOCaml:o}=await __webpack_require__.e(38).then(__webpack_require__.bind(__webpack_require__,50038));this._kernel=new o(e);break;default:return window.console.error(`Kernel '${n}' not supported.`),void this._kernelAvailable.reject()}window.Basthon=this._kernel,this._kernelAvailable.resolve(this._kernel)})()}async pageLoad(){await this._pageLoad.promise}async kernelAvailable(){return await this._kernelAvailable.promise}async kernelLoaded(){const e=await this.kernelAvailable();return await e.loaded(),e}get kernel(){return this._kernel}get kernelSafe(){var e;return(null===(e=this.kernel)||void 0===e?void 0:e.ready)?this.kernel:null}async showLoader(e,t=!1,n=!0){this.kernelAvailable().then(()=>{var e;return null===(e=this.kernel)||void 0===e?void 0:e.init()}),__webpack_require__.e(317).then(__webpack_require__.bind(__webpack_require__,1317));const i="basthon-loader-"+(t?"full":"foot"),r=document.createElement("div");r.id=this._loaderId,r.classList.add("darklighted"),r.classList.add("basthon-loader-root"),r.classList.add(i);const s=document.createElement("div");s.classList.add("basthon-loader-container"),s.classList.add(i),r.appendChild(s);const o=document.createElement("div");o.classList.add("basthon-loader-spinner"),o.classList.add(i),o.innerHTML="",s.appendChild(o);const a=document.createElement("div");a.classList.add("basthon-loader-break"),a.classList.add(i),s.appendChild(a);const l=document.createElement("div");l.classList.add("basthon-loader-text"),l.classList.add(i),l.innerHTML=e,s.appendChild(l),this._loaderTextElem=l;const u=document.createElement("div");u.classList.add("basthon-loader-text"),u.classList.add(i),u.style.display="none",s.appendChild(u),this._loaderTextError=u,await this.pageLoad(),document.body.appendChild(r),this._rootLoader=r;try{await this.kernelLoaded()}catch(e){const t=this.browser();this.setErrorText(`Erreur de chargement de Basthon !!!
Vérifiez que votre navigateur est à jour.
Version détectée : ${t.name} ${t.version}.`);for(const e of document.body.querySelectorAll(".basthon-loader-foot"))e.classList.remove("basthon-loader-foot"),e.classList.add("basthon-loader-full");return o.classList.remove("basthon-loader-spinner"),o.classList.add("basthon-loader-error"),void(this._doNotHideLoader=!0)}this._doNotHideLoader=!1,n&&this.hideLoader()}setLoaderText(e){null!=this._loaderTextElem&&(this._loaderTextElem.innerHTML=e)}setErrorText(e){null!=this._loaderTextElem&&(this._loaderTextElem.style.display="none"),null!=this._loaderTextError&&(this._loaderTextError.style.display="",this._loaderTextError.innerHTML=e)}hideLoader(){if(this._doNotHideLoader)return;const e=this._rootLoader;null!=e&&(e.classList.add("basthon-loader-hide"),window.setTimeout(()=>{this._rootLoader=void 0,e.remove()},1100))}browser(){var e,t=navigator.userAgent,n=t.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[];return/trident/i.test(n[1])?{name:"IE",version:(e=/\brv[ :]+(\d+)/g.exec(t)||[])[1]||""}:"Chrome"===n[1]&&null!=(e=t.match(/\bOPR|Edge\/(\d+)/))?{name:"Opera",version:e[1]}:(n=n[2]?[n[1],n[2]]:[navigator.appName,navigator.appVersion,"-?"],null!=(e=t.match(/version\/(\d+)/i))&&n.splice(1,1,e[1]),{name:n[0],version:n[1]})}}class hP extends ze.PageBase{static{ze.HTMLTemplate.add("html/statusbar/statusbar-image.html",new ze.HTMLTemplate('\r\n
')),this.init=function(){ze.StatusBarsManager.typesRegistry.register(["images"],hP);const e=ze.Workspace.getMain().getStatusBarsManager();return e.add({type:"images",id:"images",name:Ve.Msg.PYTHON_PYODIDE_IMAGE,title:Ve.Msg.PYTHON_PYODIDE_IMAGE}),e.changeTo("output"),e.get("images")}}constructor(){super();const e=Dx()(ze.HTMLTemplate.get("html/statusbar/statusbar-image.html").render());this.setContent(e)}init(){super.init(),this.hideCloseBtn()}clean(){this.getContent().empty()}display(e){const t=this.getContent(),n=function(e){e.style.width="auto",e.style.height="auto",e.style.maxWidth="100%",e.style.maxHeight="100%"};this.clean();let i=e.content,r=null,s=null;switch(e.display_type){case"p5":i.style.width="100%",i.style.height="100%",i.style.display="flex",i.style.justifyContent="center",i.style.alignItems="center",new MutationObserver(function(e){e.forEach(e=>e.addedNodes.forEach(e=>{const t=e;null!=t.tagName&&["canvas","video"].includes(t.tagName.toLowerCase())&&n(t)}))}).observe(i,{childList:!0}),i.querySelectorAll("canvas,video").forEach(n),t.append(i);break;case"matplotlib":r=i.querySelector("canvas"),r&&(i=r),i.style.width="",i.style.height="",i.style.maxWidth="100%",i.style.maxHeight="100%",t.append(i);break;case"ocaml-canvas":i.style.width="",i.style.height="",i.style.maxWidth="100%",i.style.maxHeight="100%",t.append(i);break;case"turtle":i.setAttribute("width","100%"),i.setAttribute("height","100%"),t.append(i.outerHTML);break;case"sympy":t.append(e.content),void 0===window.MathJax?(console.log("Loading MathJax (Sympy expression needs it)."),function(){let e=document.createElement("script");e.type="text/javascript",e.src="https://cdn.jsdelivr.net/npm/mathjax@3.0.5/es5/tex-mml-chtml.js",document.getElementsByTagName("head")[0].appendChild(e)}()):window.MathJax.typeset();break;case"multiple":for(let n of["image/svg+xml","image/png","text/html","text/plain"])if(n in e.content){let i=e.content[n];"image/png"===n&&(i=''),t.append(i);break}break;case"tutor":if(t.append(Dx()(e.content.replace("overflow-y%3A%20hidden%3B",""))),s=this.getContent()[0].getElementsByTagName("iframe")[0],null==s)return;s.style.maxHeight=s.style.minHeight="100%",new IntersectionObserver((e,t)=>{const n=e[0];n&&!n.isIntersecting||(s.contentWindow?.postMessage({type:"redraw"},"*"),t.disconnect())}).observe(s);break;default:console.error(`Not supported node type '${e.display_type}' in eval.display result processing.`)}}}const pP=layui;var fP;!function(e){e[e.EPERM=1]="EPERM",e[e.ENOENT=2]="ENOENT",e[e.EINTR=4]="EINTR",e[e.EIO=5]="EIO",e[e.ENXIO=6]="ENXIO",e[e.EBADF=9]="EBADF",e[e.EAGAIN=11]="EAGAIN",e[e.ENOMEM=12]="ENOMEM",e[e.EACCES=13]="EACCES",e[e.EFAULT=14]="EFAULT",e[e.ENOTBLK=15]="ENOTBLK",e[e.EBUSY=16]="EBUSY",e[e.EEXIST=17]="EEXIST",e[e.EXDEV=18]="EXDEV",e[e.ENODEV=19]="ENODEV",e[e.ENOTDIR=20]="ENOTDIR",e[e.EISDIR=21]="EISDIR",e[e.EINVAL=22]="EINVAL",e[e.ENFILE=23]="ENFILE",e[e.EMFILE=24]="EMFILE",e[e.ETXTBSY=26]="ETXTBSY",e[e.EFBIG=27]="EFBIG",e[e.ENOSPC=28]="ENOSPC",e[e.ESPIPE=29]="ESPIPE",e[e.EROFS=30]="EROFS",e[e.EMLINK=31]="EMLINK",e[e.EPIPE=32]="EPIPE",e[e.EDOM=33]="EDOM",e[e.ERANGE=34]="ERANGE",e[e.EDEADLK=35]="EDEADLK",e[e.ENAMETOOLONG=36]="ENAMETOOLONG",e[e.ENOLCK=37]="ENOLCK",e[e.ENOSYS=38]="ENOSYS",e[e.ENOTEMPTY=39]="ENOTEMPTY",e[e.ELOOP=40]="ELOOP",e[e.ENOMSG=42]="ENOMSG",e[e.EBADE=52]="EBADE",e[e.EBADR=53]="EBADR",e[e.EXFULL=54]="EXFULL",e[e.ENOANO=55]="ENOANO",e[e.EBADRQC=56]="EBADRQC",e[e.ENOSTR=60]="ENOSTR",e[e.ENODATA=61]="ENODATA",e[e.ETIME=62]="ETIME",e[e.ENOSR=63]="ENOSR",e[e.ENONET=64]="ENONET",e[e.EREMOTE=66]="EREMOTE",e[e.ENOLINK=67]="ENOLINK",e[e.ECOMM=70]="ECOMM",e[e.EPROTO=71]="EPROTO",e[e.EBADMSG=74]="EBADMSG",e[e.EOVERFLOW=75]="EOVERFLOW",e[e.EBADFD=77]="EBADFD",e[e.ESTRPIPE=86]="ESTRPIPE",e[e.ENOTSOCK=88]="ENOTSOCK",e[e.EDESTADDRREQ=89]="EDESTADDRREQ",e[e.EMSGSIZE=90]="EMSGSIZE",e[e.EPROTOTYPE=91]="EPROTOTYPE",e[e.ENOPROTOOPT=92]="ENOPROTOOPT",e[e.EPROTONOSUPPORT=93]="EPROTONOSUPPORT",e[e.ESOCKTNOSUPPORT=94]="ESOCKTNOSUPPORT",e[e.ENOTSUP=95]="ENOTSUP",e[e.ENETDOWN=100]="ENETDOWN",e[e.ENETUNREACH=101]="ENETUNREACH",e[e.ENETRESET=102]="ENETRESET",e[e.ETIMEDOUT=110]="ETIMEDOUT",e[e.ECONNREFUSED=111]="ECONNREFUSED",e[e.EHOSTDOWN=112]="EHOSTDOWN",e[e.EHOSTUNREACH=113]="EHOSTUNREACH",e[e.EALREADY=114]="EALREADY",e[e.EINPROGRESS=115]="EINPROGRESS",e[e.ESTALE=116]="ESTALE",e[e.EREMOTEIO=121]="EREMOTEIO",e[e.EDQUOT=122]="EDQUOT"}(fP||(fP={}));const mP={[fP.EPERM]:"Operation not permitted",[fP.ENOENT]:"No such file or directory",[fP.EINTR]:"Interrupted system call",[fP.EIO]:"Input/output error",[fP.ENXIO]:"No such device or address",[fP.EBADF]:"Bad file descriptor",[fP.EAGAIN]:"Resource temporarily unavailable",[fP.ENOMEM]:"Cannot allocate memory",[fP.EACCES]:"Permission denied",[fP.EFAULT]:"Bad address",[fP.ENOTBLK]:"Block device required",[fP.EBUSY]:"Resource busy or locked",[fP.EEXIST]:"File exists",[fP.EXDEV]:"Invalid cross-device link",[fP.ENODEV]:"No such device",[fP.ENOTDIR]:"File is not a directory",[fP.EISDIR]:"File is a directory",[fP.EINVAL]:"Invalid argument",[fP.ENFILE]:"Too many open files in system",[fP.EMFILE]:"Too many open files",[fP.ETXTBSY]:"Text file busy",[fP.EFBIG]:"File is too big",[fP.ENOSPC]:"No space left on disk",[fP.ESPIPE]:"Illegal seek",[fP.EROFS]:"Cannot modify a read-only file system",[fP.EMLINK]:"Too many links",[fP.EPIPE]:"Broken pipe",[fP.EDOM]:"Numerical argument out of domain",[fP.ERANGE]:"Numerical result out of range",[fP.EDEADLK]:"Resource deadlock would occur",[fP.ENAMETOOLONG]:"File name too long",[fP.ENOLCK]:"No locks available",[fP.ENOSYS]:"Function not implemented",[fP.ENOTEMPTY]:"Directory is not empty",[fP.ELOOP]:"Too many levels of symbolic links",[fP.ENOMSG]:"No message of desired type",[fP.EBADE]:"Invalid exchange",[fP.EBADR]:"Invalid request descriptor",[fP.EXFULL]:"Exchange full",[fP.ENOANO]:"No anode",[fP.EBADRQC]:"Invalid request code",[fP.ENOSTR]:"Device not a stream",[fP.ENODATA]:"No data available",[fP.ETIME]:"Timer expired",[fP.ENOSR]:"Out of streams resources",[fP.ENONET]:"Machine is not on the network",[fP.EREMOTE]:"Object is remote",[fP.ENOLINK]:"Link has been severed",[fP.ECOMM]:"Communication error on send",[fP.EPROTO]:"Protocol error",[fP.EBADMSG]:"Bad message",[fP.EOVERFLOW]:"Value too large for defined data type",[fP.EBADFD]:"File descriptor in bad state",[fP.ESTRPIPE]:"Streams pipe error",[fP.ENOTSOCK]:"Socket operation on non-socket",[fP.EDESTADDRREQ]:"Destination address required",[fP.EMSGSIZE]:"Message too long",[fP.EPROTOTYPE]:"Protocol wrong type for socket",[fP.ENOPROTOOPT]:"Protocol not available",[fP.EPROTONOSUPPORT]:"Protocol not supported",[fP.ESOCKTNOSUPPORT]:"Socket type not supported",[fP.ENOTSUP]:"Operation is not supported",[fP.ENETDOWN]:"Network is down",[fP.ENETUNREACH]:"Network is unreachable",[fP.ENETRESET]:"Network dropped connection on reset",[fP.ETIMEDOUT]:"Connection timed out",[fP.ECONNREFUSED]:"Connection refused",[fP.EHOSTDOWN]:"Host is down",[fP.EHOSTUNREACH]:"No route to host",[fP.EALREADY]:"Operation already in progress",[fP.EINPROGRESS]:"Operation now in progress",[fP.ESTALE]:"Stale file handle",[fP.EREMOTEIO]:"Remote I/O error",[fP.EDQUOT]:"Disk quota exceeded"};class gP extends Error{static fromJSON(e){const t=new gP(e.errno,e.message,e.path,e.syscall);return t.code=e.code,t.stack=e.stack,t}static With(e,t,n){return new gP(fP[e],mP[fP[e]],t,n)}constructor(e,t=mP[e],n,i=""){super(t),this.errno=e,this.path=n,this.syscall=i,this.code=fP[e],this.message=this.code+": "+t+(this.path?`, '${this.path}'`:"")}toString(){return this.message}toJSON(){return{errno:this.errno,code:this.code,path:this.path,stack:this.stack,message:this.message,syscall:this.syscall}}bufferSize(){return 4+JSON.stringify(this.toJSON()).length}}let _P="/";function yP(e,t){let n="",i=0,r=-1,s=0,o="\0";for(let a=0;a<=e.length;++a){if(a2){const e=n.lastIndexOf("/");-1===e?(n="",i=0):(n=n.slice(0,e),i=n.length-1-n.lastIndexOf("/")),r=a,s=0;continue}if(0!==n.length){n="",i=0,r=a,s=0;continue}}t&&(n+=n.length>0?"/..":"..",i=2)}else n.length>0?n+="/"+e.slice(r+1,a):n=e.slice(r+1,a),i=a-r-1;r=a,s=0}else"."===o&&-1!==s?++s:s=-1}return n}function vP(...e){let t="";for(const n of[...e.reverse(),_P])if(n.length&&(t=`${n}/${t}`,n.startsWith("/")))break;const n=t.startsWith("/");return t=yP(t,!n),n?`/${t}`:t.length?t:"/"}function bP(...e){if(!e.length)return".";const t=e.join("/");return t?.length?function(e){if(!e.length)return".";const t=e.startsWith("/"),n=e.endsWith("/");return(e=yP(e,!t)).length?(n&&(e+="/"),t?`/${e}`:e):t?"/":n?"./":"."}(t):"."}function TP(e){if(0===e.length)return".";const t="/"===e[0];let n=-1,i=!0;for(let t=e.length-1;t>=1;--t)if("/"===e[t]){if(!i){n=t;break}}else i=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)}function xP(e,t){let n=0,i=-1,r=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t===e)return"";let s=t.length-1,o=-1;for(let a=e.length-1;a>=0;--a)if("/"===e[a]){if(!r){n=a+1;break}}else-1===o&&(r=!1,o=a+1),s>=0&&(e[a]===t[s]?-1===--s&&(i=a):(s=-1,i=o));return n===i?i=o:-1===i&&(i=e.length),e.slice(n,i)}for(let t=e.length-1;t>=0;--t)if("/"===e[t]){if(!r){n=t+1;break}}else-1===i&&(r=!1,i=t+1);return-1===i?"":e.slice(n,i)}function EP(e){const t=e.startsWith("/"),n={root:t?"/":"",dir:"",base:"",ext:"",name:""};if(0===e.length)return n;const i=t?1:0;let r=-1,s=0,o=-1,a=!0,l=e.length-1,u=0;for(;l>=i;--l)if("/"!==e[l])-1===o&&(a=!1,o=l+1),"."===e[l]?-1===r?r=l:1!==u&&(u=1):-1!==r&&(u=-1);else if(!a){s=l+1;break}if(-1!==o){const i=0===s&&t?1:s;-1===r||0===u||1===u&&r===o-1&&r===s+1?n.base=n.name=e.slice(i,o):(n.name=e.slice(i,r),n.base=e.slice(i,o),n.ext=e.slice(r,o))}return s>0?n.dir=e.slice(0,s-1):t&&(n.dir="/"),n}const wP=new TextEncoder;function IP(e){if("string"!=typeof e)throw new gP(fP.EINVAL,"Can not encode a non-string");return wP.encode(e)}const AP=new TextDecoder;function SP(e){if(!(e instanceof Uint8Array))throw new gP(fP.EINVAL,"Can not decode a non-Uint8Array");return AP.decode(e)}function CP(e){return JSON.parse(SP(e),(e,t)=>""==e?t:BigInt(t))}function OP(e){return IP(JSON.stringify(e,(e,t)=>""==e?t:t.toString()))}function MP(e,t){if("number"==typeof e)return e;if("string"==typeof e){const t=parseInt(e,8);if(!isNaN(t))return t}if("number"==typeof t)return t;throw new gP(fP.EINVAL,"Invalid mode: "+e?.toString())}function kP(e){if(e instanceof Date)return e;try{return new Date(e)}catch{throw new gP(fP.EINVAL,"Invalid time.")}}function RP(e){if((e=e.toString()).includes("\0"))throw new gP(fP.EINVAL,"Path can not contain null character");if(0==e.length)throw new gP(fP.EINVAL,"Path can not be empty");return vP(e.replaceAll(/[/\\]+/g,"/"))}function NP(e,t="utf8",n,i=0){return"object"!=typeof e||null===e?{encoding:"string"==typeof e?e:t??null,flag:n,mode:i}:{encoding:"string"==typeof e?.encoding?e.encoding:t??null,flag:"string"==typeof e?.flag?e.flag:n,mode:MP("mode"in e?e?.mode:null,i)}}function DP(){return crypto.getRandomValues(new BigUint64Array(1))[0]}const FP={uid:0,gid:0,suid:0,sgid:0,euid:0,egid:0,groups:[]};function LP(e){return{suid:e.uid,sgid:e.gid,euid:e.uid,egid:e.gid,groups:[],...e}}const PP=0,BP=4,$P=2,UP=1,VP=1,zP=2,jP=4,YP=0,GP=1,HP=2,WP=64,XP=128,qP=256,KP=512,ZP=1024,QP=65536,JP=262144,eB=131072,tB=1052672,nB=4096,iB=32768,rB=16384,sB=2048,oB=61440,aB=49152,lB=40960,uB=32768,cB=24576,dB=16384,hB=8192,pB=4096,fB=2048,mB=1024,gB=512,_B=448,yB=256,vB=128,bB=64,TB=56,xB=32,EB=16,wB=8,IB=7,AB=4,SB=2,CB=1,OB=0,MB=2**32-1,kB={checkAccess:!0,updateOnRead:!0,syncImmediately:!0,unsafeBufferReplace:!1};Promise.withResolvers??(Promise.withResolvers=function(){let e,t;const n=new Promise((n,i)=>{e=n,t=i});return{promise:n,resolve:e,reject:t}}),Symbol.dispose??(Symbol.dispose=Symbol("Symbol.dispose")),Symbol.asyncDispose??(Symbol.asyncDispose=Symbol("Symbol.asyncDispose"));class RB{_convert(e){return this._isBigint?BigInt(e):Number(e)}get blocks(){return this._convert(Math.ceil(Number(this.size)/512))}get atime(){return new Date(Number(this.atimeMs))}set atime(e){this.atimeMs=this._convert(e.getTime())}get mtime(){return new Date(Number(this.mtimeMs))}set mtime(e){this.mtimeMs=this._convert(e.getTime())}get ctime(){return new Date(Number(this.ctimeMs))}set ctime(e){this.ctimeMs=this._convert(e.getTime())}get birthtime(){return new Date(Number(this.birthtimeMs))}set birthtime(e){this.birthtimeMs=this._convert(e.getTime())}constructor({atimeMs:e,mtimeMs:t,ctimeMs:n,birthtimeMs:i,uid:r,gid:s,size:o,mode:a,ino:l}={}){this.dev=this._convert(0),this.ino=this._convert(0),this.rdev=this._convert(0),this.nlink=this._convert(1),this.blksize=this._convert(4096),this.uid=this._convert(0),this.gid=this._convert(0);const u=Date.now();this.atimeMs=this._convert(e??u),this.mtimeMs=this._convert(t??u),this.ctimeMs=this._convert(n??u),this.birthtimeMs=this._convert(i??u),this.uid=this._convert(r??0),this.gid=this._convert(s??0),this.size=this._convert(o??0),this.ino=this._convert(l??0),this.mode=this._convert(a??420&uB),0==(this.mode&oB)&&(this.mode=this.mode|this._convert(uB))}isFile(){return(this.mode&oB)===uB}isDirectory(){return(this.mode&oB)===dB}isSymbolicLink(){return(this.mode&oB)===lB}isSocket(){return(this.mode&oB)===aB}isBlockDevice(){return(this.mode&oB)===cB}isCharacterDevice(){return(this.mode&oB)===hB}isFIFO(){return(this.mode&oB)===pB}hasAccess(e,t){const n=t?.credentials||FP;if(this.isSymbolicLink()||0===n.euid||0===n.egid)return!0;let i=0;return n.uid===this.uid&&(this.mode&yB&&(i|=BP),this.mode&vB&&(i|=$P),this.mode&bB&&(i|=UP)),(n.gid===this.gid||n.groups.includes(Number(this.gid)))&&(this.mode&xB&&(i|=BP),this.mode&EB&&(i|=$P),this.mode&wB&&(i|=UP)),this.mode&AB&&(i|=BP),this.mode&SB&&(i|=$P),this.mode&CB&&(i|=UP),(i&e)===e}chmod(e){this.mode=this._convert(this.mode&oB|e)}chown(e,t){e=Number(e),t=Number(t),!isNaN(e)&&0<=e&&e<2**32&&(this.uid=this._convert(e)),!isNaN(t)&&0<=t&&t<2**32&&(this.gid=this._convert(t))}get atimeNs(){return 1000n*BigInt(this.atimeMs)}get mtimeNs(){return 1000n*BigInt(this.mtimeMs)}get ctimeNs(){return 1000n*BigInt(this.ctimeMs)}get birthtimeNs(){return 1000n*BigInt(this.birthtimeMs)}}function NB(e,t,n){!isNaN(t)&&0<=t&&t<2**32&&(e.uid=t),!isNaN(n)&&0<=n&&n<2**32&&(e.gid=n)}class DB extends RB{constructor(){super(...arguments),this._isBigint=!1}}class FB extends RB{constructor(){super(...arguments),this._isBigint=!0}}class LB{constructor(){this.type=525687744115,this.bsize=4096,this.blocks=0,this.bfree=0,this.bavail=0,this.files=MB,this.ffree=MB}}class PB{constructor(){this.type=0x7a656e6673n,this.bsize=4096n,this.blocks=0n,this.bfree=0n,this.bavail=0n,this.files=BigInt(MB),this.ffree=BigInt(MB)}}const BB=["r","r+","rs","rs+","w","wx","w+","wx+","a","ax","a+","ax+"];function $B(e){if("number"==typeof e)return function(e){switch(e){case YP:return"r";case YP|tB:return"rs";case HP:return"r+";case HP|tB:return"rs+";case KP|WP|GP:return"w";case KP|WP|GP|XP:return"wx";case KP|WP|HP:return"w+";case KP|WP|HP|XP:return"wx+";case ZP|WP|GP:return"a";case ZP|WP|GP|XP:return"ax";case ZP|WP|HP:return"a+";case ZP|WP|HP|XP:return"ax+";default:throw new Error("Invalid flag number: "+e)}}(e);if(!BB.includes(e))throw new Error("Invalid flag string: "+e);return e}function UB(e){let t=0;return t<<=1,t+=+VB(e),t<<=1,t+=+zB(e),t<<=1,t}function VB(e){return-1!==e.indexOf("r")||-1!==e.indexOf("+")}function zB(e){return-1!==e.indexOf("w")||-1!==e.indexOf("a")||-1!==e.indexOf("+")}function jB(e){return-1!==e.indexOf("w")}function YB(e){return-1!==e.indexOf("a")}function GB(e){return-1!==e.indexOf("x")}class HB{constructor(e,t){this.fs=e,this.path=t}async[Symbol.asyncDispose](){await this.close()}[Symbol.dispose](){this.closeSync()}datasync(){return this.sync()}datasyncSync(){return this.syncSync()}}class WB extends HB{constructor(e,t,n,i,r=new Uint8Array(new ArrayBuffer(0,e.metadata().noResizableBuffers?{}:{maxByteLength:MB}))){if(super(e,t),this.flag=n,this.stats=i,this._buffer=r,this._position=0,this.dirty=!1,this.closed=!1,this.stats.size!=r.byteLength){if(VB(this.flag))throw new Error(`Size mismatch: buffer length ${r.byteLength}, stats size ${this.stats.size}`);this.dirty=!0}}get buffer(){return this._buffer}get position(){return YB(this.flag)?this.stats.size:this._position}set position(e){this._position=e}async sync(){if(this.closed)throw gP.With("EBADF",this.path,"File.sync");this.dirty&&(await this.fs.sync(this.path,this._buffer,this.stats),this.dirty=!1)}syncSync(){if(this.closed)throw gP.With("EBADF",this.path,"File.sync");this.dirty&&(this.fs.syncSync(this.path,this._buffer,this.stats),this.dirty=!1)}async close(){if(this.closed)throw gP.With("EBADF",this.path,"File.close");await this.sync(),this.dispose()}closeSync(){if(this.closed)throw gP.With("EBADF",this.path,"File.close");this.syncSync(),this.dispose()}dispose(e){if(this.closed)throw gP.With("EBADF",this.path,"File.dispose");if(this.dirty&&!e)throw gP.With("EBUSY",this.path,"File.dispose");delete this._buffer,delete this.stats,this.closed=!0}stat(){if(this.closed)throw gP.With("EBADF",this.path,"File.stat");return Promise.resolve(new DB(this.stats))}statSync(){if(this.closed)throw gP.With("EBADF",this.path,"File.stat");return new DB(this.stats)}_truncate(e){if(this.closed)throw gP.With("EBADF",this.path,"File.truncate");if(this.dirty=!0,!zB(this.flag))throw new gP(fP.EPERM,"File not opened with a writeable mode.");if(this.stats.mtimeMs=Date.now(),e>this._buffer.length){const t=new Uint8Array(e-this._buffer.length);return void this._write(t,0,t.length,this._buffer.length)}this.stats.size=e,this._buffer=e?this._buffer.slice(0,e):new Uint8Array}async truncate(e){this._truncate(e),kB.syncImmediately&&await this.sync()}truncateSync(e){this._truncate(e),kB.syncImmediately&&this.syncSync()}_write(e,t=0,n=this.stats.size,i=this.position){if(this.closed)throw gP.With("EBADF",this.path,"File.write");if(!zB(this.flag))throw new gP(fP.EPERM,"File not opened with a writeable mode.");this.dirty=!0;const r=i+n,s=e.slice(t,t+n);if(r>this.stats.size&&(this.stats.size=r,r>this._buffer.byteLength))if(this._buffer.buffer.resizable&&this._buffer.buffer.maxByteLength<=r)this._buffer.buffer.resize(r);else if(kB.unsafeBufferReplace)this._buffer=s;else{const e=new Uint8Array(new ArrayBuffer(r,this.fs.metadata().noResizableBuffers?{}:{maxByteLength:MB}));e.set(this._buffer),this._buffer=e}return this._buffer.set(s,i),this.stats.mtimeMs=Date.now(),this.position=i+s.byteLength,s.byteLength}async write(e,t,n,i){const r=this._write(e,t,n,i);return kB.syncImmediately&&await this.sync(),r}writeSync(e,t=0,n=this.stats.size,i=this.position){const r=this._write(e,t,n,i);return kB.syncImmediately&&this.syncSync(),r}_read(e,t=0,n=this.stats.size,i){if(this.closed)throw gP.With("EBADF",this.path,"File.read");if(!VB(this.flag))throw new gP(fP.EPERM,"File not opened with a readable mode.");kB.updateOnRead&&(this.dirty=!0),this.stats.atimeMs=Date.now(),i??(i=this.position);let r=i+n;r>this.stats.size&&(r=i+Math.max(this.stats.size-i,0)),this._position=r;const s=r-i;return 0==s||new Uint8Array(e.buffer,t,n).set(this._buffer.slice(i,r)),s}async read(e,t,n,i){const r=this._read(e,t,n,i);return kB.syncImmediately&&await this.sync(),{bytesRead:r,buffer:e}}readSync(e,t,n,i){const r=this._read(e,t,n,i);return kB.syncImmediately&&this.syncSync(),r}async chmod(e){if(this.closed)throw gP.With("EBADF",this.path,"File.chmod");this.dirty=!0,this.stats.mode=this.stats.mode&(e>oB?~oB:oB)|e,(kB.syncImmediately||e>oB)&&await this.sync()}chmodSync(e){if(this.closed)throw gP.With("EBADF",this.path,"File.chmod");this.dirty=!0,this.stats.mode=this.stats.mode&(e>oB?~oB:oB)|e,(kB.syncImmediately||e>oB)&&this.syncSync()}async chown(e,t){if(this.closed)throw gP.With("EBADF",this.path,"File.chown");this.dirty=!0,NB(this.stats,e,t),kB.syncImmediately&&await this.sync()}chownSync(e,t){if(this.closed)throw gP.With("EBADF",this.path,"File.chown");this.dirty=!0,NB(this.stats,e,t),kB.syncImmediately&&this.syncSync()}async utimes(e,t){if(this.closed)throw gP.With("EBADF",this.path,"File.utimes");this.dirty=!0,this.stats.atime=e,this.stats.mtime=t,kB.syncImmediately&&await this.sync()}utimesSync(e,t){if(this.closed)throw gP.With("EBADF",this.path,"File.utimes");this.dirty=!0,this.stats.atime=e,this.stats.mtime=t,kB.syncImmediately&&this.syncSync()}}class XB{metadata(){return{name:this.constructor.name.toLowerCase(),readonly:!1,totalSpace:0,freeSpace:0,noResizableBuffers:!1,noAsyncCache:this._disableSync??!1,type:525687744115}}constructor(...e){}async ready(){}async exists(e){try{return await this.stat(e),!0}catch(e){return"ENOENT"!=e.code}}existsSync(e){try{return this.statSync(e),!0}catch(e){return"ENOENT"!=e.code}}}var qB=__webpack_require__(30228);Symbol.toStringTag,Symbol.iterator;const KB=Intl.NumberFormat("en",{notation:"compact"});KB.format.bind(KB);function ZB(e){return e.at(0).toUpperCase()+e.slice(1)}const QB=["int8","uint8","int16","uint16","int32","uint32","int64","uint64","float32","float64"],JB=[...QB,...QB.map(e=>ZB(e)),"char"],e$=/^(u?int|float)(8|16|32|64)$/i;function t$(e){return"char"==e?"uint8":e.toLowerCase()}function n$(e){return e$.test(e.toString())}function i$(e){return"char"==e||e$.test(e.toString().toLowerCase())}Symbol.struct_init||=Symbol("struct_init"),Symbol.struct_metadata||=Symbol("struct_metadata");Symbol.struct_init,Symbol.struct_metadata;function r$(e){const t=Symbol.metadata||Object.getOwnPropertySymbols(e).find(e=>"Symbol.metadata"==e.description);var n;if(n=e,Symbol?.metadata&&(Symbol.metadata in n||Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:Object.create(null)})),!t)throw new ReferenceError("Could not get a reference to Symbol.metadata");return t}function s$(e){return"function"==typeof e&&r$(e)in e&&function(e){return null!=e&&"object"==typeof e&&Symbol.struct_metadata in e}(e[r$(e)])}function o$(e){return null!=e&&"object"==typeof e&&s$(e.constructor)}function a$(e){if(!o$(e))throw new TypeError(("function"==typeof e?e.name:"object"==typeof e&&e?e.constructor.name:e)+" is not a struct instance")}function l$(e){if(!function(e){return o$(e)||s$(e)}(e))throw new TypeError(("function"==typeof e?e.name:"object"==typeof e&&e?e.constructor.name:e)+" is not a struct")}function u$(e){if("string"==typeof e)return function(e){if(!i$(e))throw new TypeError("Not a valid primitive type: "+e)}(e),+t$(e).match(e$)[2]/8;l$(e);const t=s$(e)?e:e.constructor;return t[r$(t)][Symbol.struct_metadata].size}function c$(e,t){return Math.ceil(e/t)*t}function d$(e={}){return function(t,n){n.metadata??={},n.metadata[Symbol.struct_init]||=[];let i=0;const r=new Map;for(const t of n.metadata[Symbol.struct_init]){const{name:n,type:s,length:o}=t;if(!i$(s)&&!s$(s))throw new TypeError("Not a valid type: "+s);r.set(n,{offset:i,type:i$(s)?t$(s):s,length:o}),i+=u$(s)*(o||1),i=c$(i,e.align||1)}return n.metadata[Symbol.struct_metadata]={options:e,members:r,size:i},t}}function h$(e,t){return function(n,i){let r=i.name;if("symbol"==typeof r&&(console.warn("Symbol used for struct member name will be coerced to string: "+r.toString()),r=r.toString()),!r)throw new ReferenceError("Invalid name for struct member");return i.metadata??={},i.metadata[Symbol.struct_init]||=[],i.metadata[Symbol.struct_init].push({name:r,type:e,length:t}),n}}function p$(e){a$(e);const{options:t,members:n}=e.constructor[r$(e.constructor)][Symbol.struct_metadata],i=new Uint8Array(u$(e)),r=new DataView(i.buffer);for(const[s,{type:o,length:a,offset:l}]of n)for(let n=0;n<(a||1);n++){const u=l+u$(o)*n;let c=a>0?e[s][n]:e[s];if("string"==typeof c&&(c=c.charCodeAt(0)),!n$(o)){i.set(c?p$(c):new Uint8Array(u$(o)),u);continue}const d="set"+ZB(o);"setInt64"!=d?"setUint64"!=d?r[d](u,Number(c),!t.bigEndian):r.setBigUint64(u,BigInt(c),!t.bigEndian):r.setBigInt64(u,BigInt(c),!t.bigEndian)}return i}function f$(e,t){a$(e);const{options:n,members:i}=e.constructor[r$(e.constructor)][Symbol.struct_metadata],r=t instanceof Uint8Array?t:new Uint8Array("buffer"in t?t.buffer:t),s=new DataView(r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength));for(const[t,{type:o,offset:a,length:l}]of i)for(let i=0;i<(l||1);i++){let u=l>0?e[t]:e;const c=l>0?i:t,d=a+u$(o)*i;if("string"==typeof e[t]){e[t]=e[t].slice(0,i)+String.fromCharCode(s.getUint8(d))+e[t].slice(i+1);continue}if(!n$(o)){if(null===u[c]||void 0===u[c])continue;f$(u[c],new Uint8Array(r.slice(d,d+u$(o))));continue}l>0&&(u||=[]);const h="get"+ZB(o);"getInt64"!=h?u[c]="getUint64"!=h?s[h](d,!n.bigEndian):s.getBigUint64(d,!n.bigEndian):u[c]=s.getBigInt64(d,!n.bigEndian)}}Symbol.metadata??=Symbol.for("Symbol.metadata");const m$=Object.fromEntries(JB.map(e=>{return[e,(t=e,function(e,n){return"number"==typeof e?h$(t,e):h$(t)(e,n)})];var t}));var g$=function(e,t,n,i,r,s){function o(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var a,l=i.kind,u="getter"===l?"get":"setter"===l?"set":"value",c=!t&&e?i.static?e:e.prototype:null,d=t||(c?Object.getOwnPropertyDescriptor(c,i.name):{}),h=!1,p=n.length-1;p>=0;p--){var f={};for(var m in i)f[m]="access"===m?{}:i[m];for(var m in i.access)f.access[m]=i.access[m];f.addInitializer=function(e){if(h)throw new TypeError("Cannot add initializers after decoration has completed");s.push(o(e||null))};var g=(0,n[p])("accessor"===l?{get:d.get,set:d.set}:d[u],f);if("accessor"===l){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw new TypeError("Object expected");(a=o(g.get))&&(d.get=a),(a=o(g.set))&&(d.set=a),(a=o(g.init))&&r.unshift(a)}else(a=o(g))&&("field"===l?r.unshift(a):d[u]=a)}c&&Object.defineProperty(c,i.name,d),h=!0},_$=function(e,t,n){for(var i=arguments.length>2,r=0;r{var e,t,n,i,r,s,o,a,l,u,c;let d,h,p,f,m,g,_,y,v,b,T,x,E,w=[d$()],I=[],A=[],S=[],C=[],O=[],M=[],k=[],R=[],N=[],D=[],F=[],L=[],P=[],B=[],$=[],U=[],V=[],z=[],j=[],Y=[],G=[],H=[],W=[];var X=h=class{constructor(e){if(this.data=_$(this,A,void 0),this.size=(_$(this,S),_$(this,C,void 0)),this.mode=(_$(this,O),_$(this,M,void 0)),this.nlink=(_$(this,k),_$(this,R,void 0)),this.uid=(_$(this,N),_$(this,D,void 0)),this.gid=(_$(this,F),_$(this,L,void 0)),this.atimeMs=(_$(this,P),_$(this,B,void 0)),this.birthtimeMs=(_$(this,$),_$(this,U,void 0)),this.mtimeMs=(_$(this,V),_$(this,z,void 0)),this.ctimeMs=(_$(this,j),_$(this,Y,void 0)),this.ino=(_$(this,G),_$(this,H,void 0)),_$(this,W),e){const t=u$(X),n=t-u$("uint64");if(e.byteLength{const q="function"==typeof Symbol&&Symbol.metadata?Object.create(null):void 0;p=[(e=m$).uint64.bind(e)],f=[(t=m$).uint32.bind(t)],m=[(n=m$).uint16.bind(n)],g=[(i=m$).uint32.bind(i)],_=[(r=m$).uint32.bind(r)],y=[(s=m$).uint32.bind(s)],v=[(o=m$).float64.bind(o)],b=[(a=m$).float64.bind(a)],T=[(l=m$).float64.bind(l)],x=[(u=m$).float64.bind(u)],E=[(c=m$).uint64.bind(c)],g$(null,null,p,{kind:"field",name:"data",static:!1,private:!1,access:{has:e=>"data"in e,get:e=>e.data,set:(e,t)=>{e.data=t}},metadata:q},A,S),g$(null,null,f,{kind:"field",name:"size",static:!1,private:!1,access:{has:e=>"size"in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:q},C,O),g$(null,null,m,{kind:"field",name:"mode",static:!1,private:!1,access:{has:e=>"mode"in e,get:e=>e.mode,set:(e,t)=>{e.mode=t}},metadata:q},M,k),g$(null,null,g,{kind:"field",name:"nlink",static:!1,private:!1,access:{has:e=>"nlink"in e,get:e=>e.nlink,set:(e,t)=>{e.nlink=t}},metadata:q},R,N),g$(null,null,_,{kind:"field",name:"uid",static:!1,private:!1,access:{has:e=>"uid"in e,get:e=>e.uid,set:(e,t)=>{e.uid=t}},metadata:q},D,F),g$(null,null,y,{kind:"field",name:"gid",static:!1,private:!1,access:{has:e=>"gid"in e,get:e=>e.gid,set:(e,t)=>{e.gid=t}},metadata:q},L,P),g$(null,null,v,{kind:"field",name:"atimeMs",static:!1,private:!1,access:{has:e=>"atimeMs"in e,get:e=>e.atimeMs,set:(e,t)=>{e.atimeMs=t}},metadata:q},B,$),g$(null,null,b,{kind:"field",name:"birthtimeMs",static:!1,private:!1,access:{has:e=>"birthtimeMs"in e,get:e=>e.birthtimeMs,set:(e,t)=>{e.birthtimeMs=t}},metadata:q},U,V),g$(null,null,T,{kind:"field",name:"mtimeMs",static:!1,private:!1,access:{has:e=>"mtimeMs"in e,get:e=>e.mtimeMs,set:(e,t)=>{e.mtimeMs=t}},metadata:q},z,j),g$(null,null,x,{kind:"field",name:"ctimeMs",static:!1,private:!1,access:{has:e=>"ctimeMs"in e,get:e=>e.ctimeMs,set:(e,t)=>{e.ctimeMs=t}},metadata:q},Y,G),g$(null,null,E,{kind:"field",name:"ino",static:!1,private:!1,access:{has:e=>"ino"in e,get:e=>e.ino,set:(e,t)=>{e.ino=t}},metadata:q},H,W),g$(null,d={value:h},w,{kind:"class",name:h.name,metadata:q},null,I),X=h=d.value,q&&Object.defineProperty(h,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:q}),_$(h,I)})(),X=h})();var b$=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},T$=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});class x$ extends XB{async ready(){this._initialized||(await this.checkRoot(),this._initialized=!0)}constructor(e){super(),this.store=e,this._initialized=!1}metadata(){return{...super.metadata(),name:this.store.name}}async empty(){await this.store.clear(),await this.checkRoot()}emptySync(){this.store.clearSync(),this.checkRootSync()}async rename(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=b$(n,this.store.transaction(),!0),r=EP(e),s=EP(t),o=await this.findInode(i,r.dir,"rename"),a=CP(await this.get(i,o.data,r.dir,"rename"));if(!a[r.base])throw gP.With("ENOENT",e,"rename");const l=a[r.base];if(delete a[r.base],0===(s.dir+"/").indexOf(e+"/"))throw new gP(fP.EBUSY,r.dir);const u=s.dir==r.dir,c=u?o:await this.findInode(i,s.dir,"rename"),d=u?a:CP(await this.get(i,c.data,s.dir,"rename"));if(d[s.base]){const e=new v$(await this.get(i,d[s.base],t,"rename"));if(!e.toStats().isFile())throw gP.With("EPERM",t,"rename");await i.remove(e.data),await i.remove(d[s.base])}d[s.base]=l,await i.set(o.data,OP(a)),await i.set(c.data,OP(d)),await i.commit()}catch(e){n.error=e,n.hasError=!0}finally{const e=T$(n);e&&await e}}renameSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=b$(n,this.store.transaction(),!1),r=EP(e),s=EP(t),o=this.findInodeSync(i,r.dir,"rename"),a=CP(this.getSync(i,o.data,r.dir,"rename"));if(!a[r.base])throw gP.With("ENOENT",e,"rename");const l=a[r.base];if(delete a[r.base],0==(s.dir+"/").indexOf(e+"/"))throw new gP(fP.EBUSY,r.dir);const u=s.dir===r.dir,c=u?o:this.findInodeSync(i,s.dir,"rename"),d=u?a:CP(this.getSync(i,c.data,s.dir,"rename"));if(d[s.base]){const e=new v$(this.getSync(i,d[s.base],t,"rename"));if(!e.toStats().isFile())throw gP.With("EPERM",t,"rename");i.removeSync(e.data),i.removeSync(d[s.base])}d[s.base]=l,i.setSync(o.data,OP(a)),i.setSync(c.data,OP(d)),i.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{T$(n)}}async stat(e){const t={stack:[],error:void 0,hasError:!1};try{const n=b$(t,this.store.transaction(),!0);return(await this.findInode(n,e,"stat")).toStats()}catch(e){t.error=e,t.hasError=!0}finally{const e=T$(t);e&&await e}}statSync(e){const t={stack:[],error:void 0,hasError:!1};try{const n=b$(t,this.store.transaction(),!1);return this.findInodeSync(n,e,"stat").toStats()}catch(e){t.error=e,t.hasError=!0}finally{T$(t)}}async createFile(e,t,n){const i=await this.commitNew(e,uB,n,new Uint8Array,"createFile");return new WB(this,e,t,i.toStats(),new Uint8Array)}createFileSync(e,t,n){const i=this.commitNewSync(e,uB,n,new Uint8Array,"createFile");return new WB(this,e,t,i.toStats(),new Uint8Array)}async openFile(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=b$(n,this.store.transaction(),!0),r=await this.findInode(i,e,"openFile"),s=await this.get(i,r.data,e,"openFile");return new WB(this,e,t,r.toStats(),s)}catch(e){n.error=e,n.hasError=!0}finally{const e=T$(n);e&&await e}}openFileSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=b$(n,this.store.transaction(),!1),r=this.findInodeSync(i,e,"openFile"),s=this.getSync(i,r.data,e,"openFile");return new WB(this,e,t,r.toStats(),s)}catch(e){n.error=e,n.hasError=!0}finally{T$(n)}}async unlink(e){return this.remove(e,!1,"unlink")}unlinkSync(e){this.removeSync(e,!1,"unlink")}async rmdir(e){if((await this.readdir(e)).length)throw gP.With("ENOTEMPTY",e,"rmdir");await this.remove(e,!0,"rmdir")}rmdirSync(e){if(this.readdirSync(e).length)throw gP.With("ENOTEMPTY",e,"rmdir");this.removeSync(e,!0,"rmdir")}async mkdir(e,t){await this.commitNew(e,dB,t,IP("{}"),"mkdir")}mkdirSync(e,t){this.commitNewSync(e,dB,t,IP("{}"),"mkdir")}async readdir(e){const t={stack:[],error:void 0,hasError:!1};try{const n=b$(t,this.store.transaction(),!0),i=await this.findInode(n,e,"readdir");return Object.keys(CP(await this.get(n,i.data,e,"readdir")))}catch(e){t.error=e,t.hasError=!0}finally{const e=T$(t);e&&await e}}readdirSync(e){const t={stack:[],error:void 0,hasError:!1};try{const n=b$(t,this.store.transaction(),!1),i=this.findInodeSync(n,e,"readdir");return Object.keys(CP(this.getSync(n,i.data,e,"readdir")))}catch(e){t.error=e,t.hasError=!0}finally{T$(t)}}async sync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=b$(i,this.store.transaction(),!0),s=await this._findInode(r,e,"sync"),o=new v$(await this.get(r,s,e,"sync")),a=o.update(n);await r.set(o.data,t),a&&await r.set(s,p$(o)),await r.commit()}catch(e){i.error=e,i.hasError=!0}finally{const e=T$(i);e&&await e}}syncSync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=b$(i,this.store.transaction(),!1),s=this._findInodeSync(r,e,"sync"),o=new v$(this.getSync(r,s,e,"sync")),a=o.update(n);r.setSync(o.data,t),a&&r.setSync(s,p$(o)),r.commitSync()}catch(e){i.error=e,i.hasError=!0}finally{T$(i)}}async link(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=b$(n,this.store.transaction(),!0),r=TP(t),s=await this.findInode(i,r,"link"),o=CP(await this.get(i,s.data,r,"link")),a=await this._findInode(i,e,"link"),l=new v$(await this.get(i,a,e,"link"));l.nlink++,o[xP(t)]=a,i.setSync(a,p$(l)),i.setSync(s.data,OP(o)),i.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{const e=T$(n);e&&await e}}linkSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=b$(n,this.store.transaction(),!1),r=TP(t),s=this.findInodeSync(i,r,"link"),o=CP(this.getSync(i,s.data,r,"link")),a=this._findInodeSync(i,e,"link"),l=new v$(this.getSync(i,a,e,"link"));l.nlink++,o[xP(t)]=a,i.setSync(a,p$(l)),i.setSync(s.data,OP(o)),i.commitSync()}catch(e){n.error=e,n.hasError=!0}finally{T$(n)}}async checkRoot(){const e={stack:[],error:void 0,hasError:!1};try{const t=b$(e,this.store.transaction(),!0);if(await t.get(0n))return;const n=new v$;n.ino=0n,n.mode=511|dB,await t.set(n.data,IP("{}")),await t.set(0n,p$(n)),await t.commit()}catch(t){e.error=t,e.hasError=!0}finally{const t=T$(e);t&&await t}}checkRootSync(){const e={stack:[],error:void 0,hasError:!1};try{const t=b$(e,this.store.transaction(),!1);if(t.getSync(0n))return;const n=new v$;n.ino=0n,n.mode=511|dB,t.setSync(n.data,IP("{}")),t.setSync(0n,p$(n)),t.commitSync()}catch(t){e.error=t,e.hasError=!0}finally{T$(e)}}async _findInode(e,t,n,i=new Set){if(i.has(t))throw new gP(fP.EIO,"Infinite loop detected while finding inode",t);if(i.add(t),"/"==t)return 0n;const{dir:r,base:s}=EP(t),o="/"==r?new v$(await this.get(e,0n,r,n)):await this.findInode(e,r,n,i),a=CP(await this.get(e,o.data,r,n));if(!(s in a))throw gP.With("ENOENT",vP(r,s),n);return a[s]}_findInodeSync(e,t,n,i=new Set){if(i.has(t))throw new gP(fP.EIO,"Infinite loop detected while finding inode",t);if(i.add(t),"/"==t)return 0n;const{dir:r,base:s}=EP(t),o="/"==r?new v$(this.getSync(e,0n,r,n)):this.findInodeSync(e,r,n,i),a=CP(this.getSync(e,o.data,r,n));if(!(s in a))throw gP.With("ENOENT",vP(r,s),n);return a[s]}async findInode(e,t,n,i=new Set){const r=await this._findInode(e,t,n,i);return new v$(await this.get(e,r,t,n))}findInodeSync(e,t,n,i=new Set){const r=this._findInodeSync(e,t,n,i);return new v$(this.getSync(e,r,t,n))}async get(e,t,n,i){const r=await e.get(t);if(!r)throw gP.With("ENOENT",n,i);return r}getSync(e,t,n,i){const r=e.getSync(t);if(!r)throw gP.With("ENOENT",n,i);return r}async allocNew(e,t,n){for(let t=0;t<5;t++){const t=DP();if(!await e.get(t))return t}throw new gP(fP.ENOSPC,"No IDs available",t,n)}allocNewSync(e,t,n){for(let t=0;t<5;t++){const t=DP();if(!e.getSync(t))return t}throw new gP(fP.ENOSPC,"No IDs available",t,n)}async commitNew(e,t,n,i,r){const s={stack:[],error:void 0,hasError:!1};try{if("/"==e)throw gP.With("EEXIST",e,r);const o=b$(s,this.store.transaction(),!0),{dir:a,base:l}=EP(e),u=await this.findInode(o,a,r),c=CP(await this.get(o,u.data,a,r));if(c[l])throw gP.With("EEXIST",e,r);const d=new v$;return d.ino=await this.allocNew(o,e,r),d.data=await this.allocNew(o,e,r),d.mode=n|t,d.uid=u.mode&fB?u.uid:FP.uid,d.gid=u.mode&mB?u.gid:FP.gid,d.size=i.length,await o.set(d.ino,p$(d)),await o.set(d.data,i),c[l]=d.ino,await o.set(u.data,OP(c)),await o.commit(),d}catch(e){s.error=e,s.hasError=!0}finally{const e=T$(s);e&&await e}}commitNewSync(e,t,n,i,r){const s={stack:[],error:void 0,hasError:!1};try{if("/"==e)throw gP.With("EEXIST",e,r);const o=b$(s,this.store.transaction(),!1),{dir:a,base:l}=EP(e),u=this.findInodeSync(o,a,r),c=CP(this.getSync(o,u.data,a,r));if(c[l])throw gP.With("EEXIST",e,r);const d=new v$;return d.ino=this.allocNewSync(o,e,r),d.data=this.allocNewSync(o,e,r),d.size=i.length,d.mode=n|t,d.uid=u.mode&fB?u.uid:FP.uid,d.gid=u.mode&mB?u.gid:FP.gid,o.setSync(d.ino,p$(d)),o.setSync(d.data,i),c[l]=d.ino,o.setSync(u.data,OP(c)),o.commitSync(),d}catch(e){s.error=e,s.hasError=!0}finally{T$(s)}}async remove(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=b$(i,this.store.transaction(),!0),{dir:s,base:o}=EP(e),a=await this.findInode(r,s,n),l=CP(await this.get(r,a.data,s,n));if(!l[o])throw gP.With("ENOENT",e,"remove");const u=l[o],c=new v$(await this.get(r,u,e,n));if(delete l[o],!t&&c.toStats().isDirectory())throw gP.With("EISDIR",e,"remove");await r.set(a.data,OP(l)),--c.nlink<1&&(await r.remove(c.data),await r.remove(u)),await r.commit()}catch(e){i.error=e,i.hasError=!0}finally{const e=T$(i);e&&await e}}removeSync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=b$(i,this.store.transaction(),!1),{dir:s,base:o}=EP(e),a=this.findInodeSync(r,s,n),l=CP(this.getSync(r,a.data,s,n)),u=l[o];if(!u)throw gP.With("ENOENT",e,"remove");const c=new v$(this.getSync(r,u,e,n));if(delete l[o],!t&&c.toStats().isDirectory())throw gP.With("EISDIR",e,"remove");r.setSync(a.data,OP(l)),--c.nlink<1&&(r.removeSync(c.data),r.removeSync(u)),r.commitSync()}catch(e){i.error=e,i.hasError=!0}finally{T$(i)}}}class E${constructor(e){this.store=e,this.done=!1}async[Symbol.asyncDispose](){this.done||await this.abort()}[Symbol.dispose](){this.done||this.abortSync()}}class w$ extends E${async keys(){return this.keysSync()}async get(e){return this.getSync(e)}async set(e,t){return this.setSync(e,t)}async remove(e){return this.removeSync(e)}async commit(){return this.commitSync()}async abort(){return this.abortSync()}}class I$ extends w${constructor(){super(...arguments),this.originalData=new Map,this.modifiedKeys=new Set}keysSync(){return this.store.keys()}getSync(e){const t=this.store.get(e);return this.stashOldValue(e,t),t}setSync(e,t){return this.markModified(e),this.store.set(e,t)}removeSync(e){this.markModified(e),this.store.delete(e)}commitSync(){this.done=!0}abortSync(){if(this.done){for(const e of this.modifiedKeys){const t=this.originalData.get(e);t?this.store.set(e,t):this.store.delete(e)}this.done=!0}}stashOldValue(e,t){this.originalData.has(e)||this.originalData.set(e,t)}markModified(e){this.modifiedKeys.add(e),this.originalData.has(e)||this.originalData.set(e,this.store.get(e))}}class A$ extends Map{constructor(e="tmp"){super(),this.name=e}async sync(){}clearSync(){this.clear()}transaction(){return new I$(this)}}const S$={name:"InMemory",isAvailable:()=>!0,options:{name:{type:"string",required:!1}},create({name:e}){const t=new x$(new A$(e));return t.checkRootSync(),t}},C$=S$;"function"==typeof SuppressedError&&SuppressedError;class O${constructor(){this.isEnabled=!1,this.sync=new Map,this.async=new Map}has(e){return this.isEnabled&&this.sync.has(e)}get(e){if(this.isEnabled)return this.sync.get(e)}set(e,t){this.isEnabled&&(this.sync.set(e,t),this.async.set(e,Promise.resolve(t)))}hasAsync(e){return this.isEnabled&&this.async.has(e)}getAsync(e){if(this.isEnabled)return this.async.get(e)}setAsync(e,t){this.isEnabled&&(this.async.set(e,t),t.then(t=>this.sync.set(e,t)))}clear(){this.isEnabled&&(this.sync.clear(),this.async.clear())}}const M$=new O$,k$=new O$;var R$=__webpack_require__(48287);function N$(e,t){return Object.fromEntries(Object.entries(e).map(([e,n])=>[e,"function"==typeof n?n.bind(t):n]))}const D$=new Map;let F$=100;function L$(e){const t=F$++;return D$.set(t,e),t}function P$(e){if(!D$.has(e))throw new gP(fP.EBADF);return D$.get(e)}const B$=new Map;function $$(e,t){if("/"!==e[0]&&(e="/"+e),e=vP(e),B$.has(e))throw new gP(fP.EINVAL,"Mount point "+e+" is already in use.");B$.set(e,t),k$.clear()}function U$(e){if("/"!==e[0]&&(e="/"+e),e=vP(e),!B$.has(e))throw new gP(fP.EINVAL,"Mount point "+e+" is already unmounted.");B$.delete(e),k$.clear()}function V$(e,t){const n=t?.root||"/";e=RP(bP(n,e));const i=[...B$].sort((e,t)=>e[0].length>t[0].length?-1:1);for(const[t,r]of i)if(t.length<=e.length&&e.startsWith(t))return""===(e=e.slice(t.length>1?t.length:0))&&(e=n),{fs:r,path:e,mountPoint:t,root:n};throw new gP(fP.EIO,"No file system")}async function z$(){await Promise.all([...B$.values()].map(e=>e.ready()))}function j$(e,t){for(const[n,i]of Object.entries(t))e=e?.replaceAll(n,i);return e}function Y$(e,t){"string"==typeof e.stack&&(e.stack=j$(e.stack,t));try{e.message=j$(e.message,t)}catch{}return e.path&&(e.path=j$(e.path,t)),e}function G$(e){"/"in e&&U$("/");for(const[t,n]of Object.entries(e))$$(t,n)}function H$(e,t){const n=e.metadata(),i=n.blockSize||4096;return{type:(t?BigInt:Number)(n.type),bsize:(t?BigInt:Number)(i),ffree:(t?BigInt:Number)(n.freeNodes||MB),files:(t?BigInt:Number)(n.totalNodes||MB),bavail:(t?BigInt:Number)(n.freeSpace/i),bfree:(t?BigInt:Number)(n.freeSpace/i),blocks:(t?BigInt:Number)(n.totalSpace/i)}}function W$(e,t){const n=this?.credentials;if(n?.uid&&n?.gid&&n?.euid&&n?.egid)throw new gP(fP.EPERM,"Can not chroot() as non-root user");return t&&this?(this.root+=e,this):function(e,t=structuredClone(FP)){const n={root:e,credentials:LP(t)},i=N$(ue,n),r=N$(le,n);return{...n,...i,promises:r}}(bP(this?.root||"/",e),n)}$$("/",C$.create({name:"root"}));class X$ extends qB{off(e,t,n,i){return super.off(e,t,n,i)}removeListener(e,t,n,i){return super.removeListener(e,t,n,i)}constructor(e){super(),this.path=e}setMaxListeners(){throw gP.With("ENOSYS",this.path,"Watcher.setMaxListeners")}getMaxListeners(){throw gP.With("ENOSYS",this.path,"Watcher.getMaxListeners")}prependListener(){throw gP.With("ENOSYS",this.path,"Watcher.prependListener")}prependOnceListener(){throw gP.With("ENOSYS",this.path,"Watcher.prependOnceListener")}rawListeners(){throw gP.With("ENOSYS",this.path,"Watcher.rawListeners")}ref(){return this}unref(){return this}}class q$ extends X${constructor(e,t){super(e),this.options=t,function(e,t){const n=RP(e);Z$.has(n)||Z$.set(n,new Set);Z$.get(n).add(t)}(e.toString(),this)}close(){super.emit("close"),function(e,t){const n=RP(e);Z$.has(n)&&(Z$.get(n).delete(t),0===Z$.get(n).size&&Z$.delete(n))}(this.path.toString(),this)}[Symbol.dispose](){this.close()}}class K$ extends X${constructor(e,t){super(e),this.options=t,this.start()}onInterval(){try{const n=iU(this.path);e=this.previous,t=n,(e.size!=t.size||+e.atime!=+t.atime||+e.mtime!=+t.mtime||+e.ctime!=+t.ctime||e.mode!=t.mode)&&(this.emit("change",n,this.previous),this.previous=n)}catch(e){this.emit("error",e)}var e,t}start(){const e=this.options.interval||5e3;try{this.previous=iU(this.path)}catch(e){return void this.emit("error",e)}this.intervalId=setInterval(this.onInterval.bind(this),e),this.options.persistent||"object"!=typeof this.intervalId||this.intervalId.unref()}stop(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=void 0),this.removeAllListeners()}}const Z$=new Map;function Q$(e,t){if(t=RP(t),Z$.has(t))for(const n of Z$.get(t))n.emit("change",e,xP(t));let n,i=t;for(;i!==n;)if(n=i,i=TP(i),Z$.has(i))for(const n of Z$.get(i))n.emit("change",e,t.slice(i.length+("/"==i?0:1)))}var J$=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},eU=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});function tU(e,t){e=RP(e),t=RP(t);const n=V$(e,this),i=V$(t,this);if(kB.checkAccess&&!iU.call(this,TP(e)).hasAccess($P,this))throw gP.With("EACCES",e,"rename");try{if(n===i)return n.fs.renameSync(n.path,i.path),Q$("rename",e.toString()),void Q$("change",t.toString());hU.call(this,t,dU(e)),oU.call(this,e),Q$("rename",e.toString())}catch(r){throw Y$(r,{[n.path]:e,[i.path]:t})}}function nU(e){e=RP(e);try{const{fs:t,path:n}=V$(LU.call(this,e),this);return t.existsSync(n)}catch(e){if(e.errno==fP.ENOENT)return!1;throw e}}function iU(e,t){e=RP(e);const{fs:n,path:i}=V$(LU.call(this,e),this);try{const e=n.statSync(i);if(kB.checkAccess&&!e.hasAccess(BP,this))throw gP.With("EACCES",i,"stat");return t?.bigint?new FB(e):e}catch(t){throw Y$(t,{[i]:e})}}function rU(e,t){e=RP(e);const{fs:n,path:i}=V$(e,this);try{const e=n.statSync(i);return t?.bigint?new FB(e):e}catch(t){throw Y$(t,{[i]:e})}}function sU(e,t=0){const n={stack:[],error:void 0,hasError:!1};try{const i=J$(n,aU.call(this,e,"r+"),!1);if(t||(t=0),t<0)throw new gP(fP.EINVAL);i.truncateSync(t)}catch(e){n.error=e,n.hasError=!0}finally{eU(n)}}function oU(e){e=RP(e);const{fs:t,path:n}=V$(e,this);try{if(kB.checkAccess&&!(M$.get(e)||t.statSync(n)).hasAccess($P,this))throw gP.With("EACCES",n,"unlink");t.unlinkSync(n),Q$("rename",e.toString())}catch(t){throw Y$(t,{[n]:e})}}function aU(e,t,n,i=!0){e=RP(e);const r=MP(n,420),s=$B(t);e=i?LU.call(this,e):e;const{fs:o,path:a}=V$(e,this);let l;try{l=o.statSync(a)}catch{}if(!l){if(!zB(s)&&!YB(s)||"r+"==s)throw gP.With("ENOENT",e,"_open");const t=o.statSync(TP(a));if(kB.checkAccess&&!t.hasAccess($P,this))throw gP.With("EACCES",TP(e),"_open");if(!t.isDirectory())throw gP.With("ENOTDIR",TP(e),"_open");return o.createFileSync(a,s,r)}if(kB.checkAccess&&(!l.hasAccess(r,this)||!l.hasAccess(UB(s),this)))throw gP.With("EACCES",e,"_open");if(GB(s))throw gP.With("EEXIST",e,"_open");const u=o.openFileSync(a,s);return jB(s)&&u.truncateSync(0),u}function lU(e,t,n=PP){return L$(aU.call(this,e,t,n,!0))}function uU(e,t,n){return L$(aU.call(this,e,t,n,!1))}function cU(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=J$(i,aU.call(this,e,t,420,n),!1),s=r.statSync(),o=new Uint8Array(s.size);return r.readSync(o,0,s.size,0),o}catch(e){i.error=e,i.hasError=!0}finally{eU(i)}}function dU(e,t={}){const n=NP(t,null,"r",420);if(!VB($B(n.flag)))throw new gP(fP.EINVAL,"Flag passed to readFile must allow for reading.");const i=R$.Buffer.from(cU.call(this,"number"==typeof e?P$(e).path:e.toString(),n.flag,!0));return n.encoding?i.toString(n.encoding):i}function hU(e,t,n={}){const i={stack:[],error:void 0,hasError:!1};try{const r=NP(n,"utf8","w+",420),s=$B(r.flag);if(!zB(s))throw new gP(fP.EINVAL,"Flag passed to writeFile must allow for writing.");if("string"!=typeof t&&!r.encoding)throw new gP(fP.EINVAL,"Encoding not specified");const o="string"==typeof t?R$.Buffer.from(t,r.encoding):new Uint8Array(t.buffer,t.byteOffset,t.byteLength);if(!o)throw new gP(fP.EINVAL,"Data not specified");J$(i,aU.call(this,"number"==typeof e?P$(e).path:e.toString(),s,r.mode,!0),!1).writeSync(o,0,o.byteLength,0),Q$("change",e.toString())}catch(e){i.error=e,i.hasError=!0}finally{eU(i)}}function pU(e,t,n={}){const i={stack:[],error:void 0,hasError:!1};try{const r=NP(n,"utf8","a+",420),s=$B(r.flag);if(!YB(s))throw new gP(fP.EINVAL,"Flag passed to appendFile must allow for appending.");if("string"!=typeof t&&!r.encoding)throw new gP(fP.EINVAL,"Encoding not specified");const o="string"==typeof t?R$.Buffer.from(t,r.encoding):new Uint8Array(t.buffer,t.byteOffset,t.byteLength);J$(i,aU.call(this,"number"==typeof e?P$(e).path:e.toString(),s,r.mode,!0),!1).writeSync(o,0,o.byteLength)}catch(e){i.error=e,i.hasError=!0}finally{eU(i)}}function fU(e,t){const n=P$(e).statSync();return t?.bigint?new FB(n):n}function mU(e){P$(e).closeSync(),D$.delete(e)}function gU(e,t=0){if(t||(t=0),t<0)throw new gP(fP.EINVAL);P$(e).truncateSync(t)}function _U(e){P$(e).syncSync()}function yU(e){P$(e).datasyncSync()}function vU(e,t,n,i,r){let s,o,a,l;if("string"==typeof t){l="number"==typeof n?n:null;const e="string"==typeof i?i:"utf8";o=0,s=R$.Buffer.from(t,e),a=s.byteLength}else s=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),o=n,a=i,l="number"==typeof r?r:null;const u=P$(e);l??(l=u.position);const c=u.writeSync(s,o,a,l);return Q$("change",u.path),c}function bU(e,t,n,i,r){const s=P$(e),o="object"==typeof n?n.offset:n;return"object"==typeof n&&(i=n.length,r=n.position),r=Number(r),isNaN(r)&&(r=s.position),s.readSync(t,o,i,r)}function TU(e,t,n){P$(e).chownSync(t,n)}function xU(e,t){const n=MP(t,-1);if(n<0)throw new gP(fP.EINVAL,"Invalid mode.");P$(e).chmodSync(n)}function EU(e,t,n){P$(e).utimesSync(kP(t),kP(n))}function wU(e){e=RP(e);const{fs:t,path:n}=V$(LU.call(this,e),this);try{const i=M$.get(e)||t.statSync(n);if(!i.isDirectory())throw gP.With("ENOTDIR",n,"rmdir");if(kB.checkAccess&&!i.hasAccess($P,this))throw gP.With("EACCES",n,"rmdir");t.rmdirSync(n),Q$("rename",e.toString())}catch(t){throw Y$(t,{[n]:e})}}function IU(e,t){t="object"==typeof t?t:{mode:t};const n=MP(t?.mode,511);e=LU.call(this,e);const{fs:i,path:r,root:s}=V$(e,this),o={[r]:e};try{if(!t?.recursive){if(kB.checkAccess&&!i.statSync(TP(r)).hasAccess($P,this))throw gP.With("EACCES",TP(r),"mkdir");return i.mkdirSync(r,n)}const a=[];for(let t=r,n=e;!i.existsSync(t);t=TP(t),n=TP(n))a.unshift(t),o[t]=n;for(const e of a){if(kB.checkAccess&&!i.statSync(TP(e)).hasAccess($P,this))throw gP.With("EACCES",TP(e),"mkdir");i.mkdirSync(e,n),Q$("rename",e)}return 1==s.length?a[0]:a[0]?.slice(s.length)}catch(e){throw Y$(e,o)}}function AU(e,t){t="object"==typeof t?t:{encoding:t},e=RP(e);const{fs:n,path:i}=V$(LU.call(this,e),this);let r;try{const t=M$.get(e)||n.statSync(i);if(M$.set(e,t),kB.checkAccess&&!t.hasAccess(BP,this))throw gP.With("EACCES",i,"readdir");if(!t.isDirectory())throw gP.With("ENOTDIR",i,"readdir");r=n.readdirSync(i)}catch(t){throw Y$(t,{[i]:e})}const s=[];for(const o of r){const r=M$.get(bP(e,o))||n.statSync(bP(i,o));if(M$.set(bP(e,o),r),t?.withFileTypes?s.push(new HU(o,r)):"buffer"==t?.encoding?s.push(R$.Buffer.from(o)):s.push(o),r.isDirectory()&&t?.recursive)for(const n of AU.call(this,bP(e,o),{...t,_isIndirect:!0}))n instanceof HU?(n.path=bP(o,n.path),s.push(n)):R$.Buffer.isBuffer(n)?s.push(R$.Buffer.from(bP(o,SP(n)))):s.push(bP(o,n))}return t?._isIndirect||M$.clear(),s}function SU(e,t){if(e=RP(e),kB.checkAccess&&!iU(TP(e)).hasAccess(BP,this))throw gP.With("EACCES",TP(e),"link");if(t=RP(t),kB.checkAccess&&!iU(TP(t)).hasAccess($P,this))throw gP.With("EACCES",TP(t),"link");const{fs:n,path:i}=V$(e,this),r=V$(t,this);if(n!=r.fs)throw gP.With("EXDEV",t,"link");try{if(kB.checkAccess&&!n.statSync(i).hasAccess(BP,this))throw gP.With("EACCES",i,"link");return n.linkSync(i,t)}catch(n){throw Y$(n,{[i]:e,[r.path]:t})}}function CU(e,t,n="file"){if(!["file","dir","junction"].includes(n))throw new gP(fP.EINVAL,"Invalid type: "+n);if(nU.call(this,t))throw gP.With("EEXIST",t.toString(),"symlink");hU.call(this,t,e.toString());aU.call(this,t,"r+",420,!1).chmodSync(lB)}function OU(e,t){const n=R$.Buffer.from(cU.call(this,e.toString(),"r",!1)),i="object"==typeof t?t?.encoding:t;return"buffer"==i?n:n.toString(i)}function MU(e,t,n){const i=lU.call(this,e,"r+");TU(i,t,n),mU(i)}function kU(e,t,n){const i=uU.call(this,e,"r+");TU(i,t,n),mU(i)}function RU(e,t){const n=lU.call(this,e,"r+");xU(n,t),mU(n)}function NU(e,t){const n=uU.call(this,e,"r+");xU(n,t),mU(n)}function DU(e,t,n){const i=lU.call(this,e,"r+");EU(i,t,n),mU(i)}function FU(e,t,n){const i=uU.call(this,e,"r+");EU(i,t,n),mU(i)}function LU(e,t){e=RP(e);const n=(this?.root||"")+e;if(k$.has(n))return k$.get(n);const{base:i,dir:r}=EP(e),s="/"==r?"/":k$.get((this?.root||"")+r)||LU.call(this,r),o=bP(s,i),{fs:a,path:l}=V$(o,this);try{const i=M$.get(o)||a.statSync(l);if(M$.set(o,i),!i.isSymbolicLink())return k$.set(e,o),o;const r=vP(s,OU.call(this,o,t).toString()),u=k$.get((this?.root||"")+r)||LU.call(this,r);return k$.set(n,u),u}catch(t){if("ENOENT"==t.code)return e;throw Y$(t,{[l]:o})}}function PU(e,t=384){if(kB.checkAccess&&!iU.call(this,e).hasAccess(t,this))throw new gP(fP.EACCES)}function BU(e,t){let n;e=RP(e);try{n=M$.get(e)||rU.bind(this)(e)}catch(e){if("ENOENT"!=e.code||!t?.force)throw e}if(n){switch(M$.set(e,n),n.mode&oB){case dB:if(t?.recursive)for(const n of AU.call(this,e,{_isIndirect:!0}))BU.call(this,bP(e,n),{...t,_isIndirect:!0});wU.call(this,e);break;case uB:case lB:case cB:case hB:oU.call(this,e);break;default:throw M$.clear(),new gP(fP.EPERM,"File type not supported",e,"rm")}t?._isIndirect||M$.clear()}}function $U(e,t){const n="object"==typeof t?t?.encoding:t||"utf8",i="/tmp/"+`${e}${Date.now()}-${Math.random().toString(36).slice(2)}`;return IU.call(this,i),"buffer"==n?R$.Buffer.from(i):i}function UU(e,t,n){if(e=RP(e),t=RP(t),n&&n&VP&&nU(t))throw new gP(fP.EEXIST,"Destination file already exists.",t,"copyFile");hU.call(this,t,dU(e)),Q$("rename",t.toString())}function VU(e,t,n){const i=P$(e);let r=0;for(const e of t)r+=i.readSync(e,0,e.byteLength,n+r);return r}function zU(e,t,n){const i=P$(e);let r=0;for(const e of t)r+=i.writeSync(new Uint8Array(e.buffer),0,e.byteLength,n+r);return r}function jU(e,t){return e=RP(e),new WU(e,this)}function YU(e,t,n){e=RP(e),t=RP(t);const i=rU.call(this,e);if(n?.errorOnExist&&nU.call(this,t))throw new gP(fP.EEXIST,"Destination file or directory already exists.",t,"cp");switch(i.mode&oB){case dB:if(!n?.recursive)throw new gP(fP.EISDIR,e+" is a directory (not copied)",e,"cp");IU.call(this,t,{recursive:!0});for(const i of AU.call(this,e,{withFileTypes:!0}))n.filter&&!n.filter(bP(e,i.name),bP(t,i.name))||YU.call(this,bP(e,i.name),bP(t,i.name),n);break;case uB:case lB:UU.call(this,e,t);break;default:throw new gP(fP.EPERM,"File type not supported",e,"rm")}n?.preserveTimestamps&&DU.call(this,t,i.atime,i.mtime)}function GU(e,t){e=RP(e);const{fs:n}=V$(e,this);return H$(n,t?.bigint)}class HU{get name(){return xP(this.path)}constructor(e,t){this.path=e,this.stats=t}get parentPath(){return this.path}isFile(){return this.stats.isFile()}isDirectory(){return this.stats.isDirectory()}isBlockDevice(){return this.stats.isBlockDevice()}isCharacterDevice(){return this.stats.isCharacterDevice()}isSymbolicLink(){return this.stats.isSymbolicLink()}isFIFO(){return this.stats.isFIFO()}isSocket(){return this.stats.isSocket()}}class WU{checkClosed(){if(this.closed)throw new gP(fP.EBADF,"Can not use closed Dir")}constructor(e,t){this.path=e,this.context=t,this.closed=!1}close(e){if(this.closed=!0,!e)return Promise.resolve();e()}closeSync(){this.closed=!0}async _read(){return this.checkClosed(),this._entries??(this._entries=await pV.call(this.context,this.path,{withFileTypes:!0})),this._entries.length?this._entries.shift()??null:null}read(e){if(!e)return this._read();this._read().then(t=>e(void 0,t))}readSync(){return this.checkClosed(),this._entries??(this._entries=AU.call(this.context,this.path,{withFileTypes:!0})),this._entries.length?this._entries.shift()??null:null}async next(){const e=await this._read();return e?{done:!1,value:e}:(await this.close(),{done:!0,value:void 0})}[Symbol.asyncIterator](){return this}}var XU=__webpack_require__(86248);class qU extends XU.Readable{close(e=()=>null){try{super.destroy(),super.emit("close"),e()}catch(t){e(new gP(fP.EIO,t.toString()))}}}class KU extends XU.Writable{close(e=()=>null){try{super.destroy(),super.emit("close"),e()}catch(t){e(new gP(fP.EIO,t.toString()))}}}var ZU=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},QU=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});class JU{constructor(e,t){this.context=t;const n="number"!=typeof e;this.fd=n?L$(e):e,this.file=n?e:P$(e)}async chown(e,t){await this.file.chown(e,t),Q$("change",this.file.path)}async chmod(e){const t=MP(e,-1);if(t<0)throw new gP(fP.EINVAL,"Invalid mode.");await this.file.chmod(t),Q$("change",this.file.path)}datasync(){return this.file.datasync()}sync(){return this.file.sync()}async truncate(e){if(e||(e=0),e<0)throw new gP(fP.EINVAL);await this.file.truncate(e),Q$("change",this.file.path)}async utimes(e,t){await this.file.utimes(kP(e),kP(t)),Q$("change",this.file.path)}async appendFile(e,t={}){const n=NP(t,"utf8","a",420);if(!YB($B(n.flag)))throw new gP(fP.EINVAL,"Flag passed to appendFile must allow for appending.");if("string"!=typeof e&&!n.encoding)throw new gP(fP.EINVAL,"Encoding not specified");const i="string"==typeof e?R$.Buffer.from(e,n.encoding):e;await this.file.write(i,0,i.length),Q$("change",this.file.path)}read(e,t,n,i){return isNaN(+i)&&(i=this.file.position),this.file.read(e,t,n,i)}async readFile(e){const t=NP(e,null,"r",292);if(!VB($B(t.flag)))throw new gP(fP.EINVAL,"Flag passed must allow for reading.");const{size:n}=await this.stat(),{buffer:i}=await this.file.read(new Uint8Array(n),0,n,0),r=R$.Buffer.from(i);return t.encoding?r.toString(t.encoding):r}readableWebStream(e={}){const t=globalThis;if(!("ReadableStream"in t))throw new gP(fP.ENOSYS,"ReadableStream is missing on globalThis");return new t.ReadableStream({start:async e=>{try{const t=65536,n=1e7;let i=0,r=0,s=NaN;for(;s>0;){const o=await this.read(new Uint8Array(t),0,t,r);if(!o.bytesRead)return void e.close();if(e.enqueue(o.buffer.slice(0,o.bytesRead)),r+=o.bytesRead,++i>=n)throw new gP(fP.EFBIG,"Too many iterations on readable stream",this.file.path,"FileHandle.readableWebStream");s=o.bytesRead}}catch(t){e.error(t)}},type:e.type})}readLines(e){throw gP.With("ENOSYS",this.file.path,"FileHandle.readLines")}[Symbol.asyncDispose](){return this.close()}async stat(e){const t=await this.file.stat();if(kB.checkAccess&&!t.hasAccess(BP,this.context))throw gP.With("EACCES",this.file.path,"stat");return e?.bigint?new FB(t):t}async write(e,t,n,i){let r,s,o;if("string"==typeof e){i="number"==typeof t?t:null;const a="string"==typeof n?n:"utf8";s=0,r=R$.Buffer.from(e,a),o=r.length}else r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),s=t,o=n,i="number"==typeof i?i:null;i??(i=this.file.position);const a=await this.file.write(r,s,o,i);return Q$("change",this.file.path),{buffer:r,bytesWritten:a}}async writeFile(e,t={}){const n=NP(t,"utf8","w",420);if(!zB($B(n.flag)))throw new gP(fP.EINVAL,"Flag passed must allow for writing.");if("string"!=typeof e&&!n.encoding)throw new gP(fP.EINVAL,"Encoding not specified");const i="string"==typeof e?R$.Buffer.from(e,n.encoding):e;await this.file.write(i,0,i.length,0),Q$("change",this.file.path)}async close(){await this.file.close(),D$.delete(this.fd)}async writev(e,t){let n=0;for(const i of e)n+=(await this.write(i,0,i.length,t+n)).bytesWritten;return{bytesWritten:n,buffers:e}}async readv(e,t){let n=0;for(const i of e)n+=(await this.read(i,0,i.byteLength,t+n)).bytesRead;return{bytesRead:n,buffers:e}}createReadStream(e){const t=new qU({highWaterMark:e?.highWaterMark||65536,encoding:e.encoding,read:async e=>{try{const n=await this.read(new Uint8Array(e),0,e,this.file.position);t.push(n.bytesRead?n.buffer.slice(0,n.bytesRead):null),this.file.position+=n.bytesRead}catch(e){t.destroy(e)}}});return t.path=this.file.path,t}createWriteStream(e){const t=new KU({highWaterMark:e?.highWaterMark,encoding:e?.encoding,write:async(e,t,n)=>{try{const{bytesWritten:i}=await this.write(e,null,t);n(i==e.length?null:new Error("Failed to write full chunk"))}catch(e){n(e)}}});return t.path=this.file.path,t}}async function eV(e,t){e=RP(e),t=RP(t);const n=V$(e,this),i=V$(t,this);if(kB.checkAccess&&!(await nV.call(this,TP(e))).hasAccess($P,this))throw gP.With("EACCES",e,"rename");try{if(n.mountPoint==i.mountPoint)return await n.fs.rename(n.path,i.path),Q$("rename",e.toString()),void Q$("change",t.toString());await uV.call(this,t,await lV(e)),await sV.call(this,e),Q$("rename",e.toString())}catch(r){throw Y$(r,{[n.path]:e,[i.path]:t})}}async function tV(e){try{const{fs:t,path:n}=V$(await EV.call(this,e),this);return await t.exists(n)}catch(e){if(e instanceof gP&&"ENOENT"==e.code)return!1;throw e}}async function nV(e,t){e=RP(e);const{fs:n,path:i}=V$(await EV.call(this,e),this);try{const e=await n.stat(i);if(kB.checkAccess&&!e.hasAccess(BP,this))throw gP.With("EACCES",i,"stat");return t?.bigint?new FB(e):e}catch(t){throw Y$(t,{[i]:e})}}async function iV(e,t){e=RP(e);const{fs:n,path:i}=V$(e,this);try{const e=await n.stat(i);return t?.bigint?new FB(e):e}catch(t){throw Y$(t,{[i]:e})}}async function rV(e,t=0){const n={stack:[],error:void 0,hasError:!1};try{const i=ZU(n,await aV.call(this,e,"r+"),!0);await i.truncate(t)}catch(e){n.error=e,n.hasError=!0}finally{const e=QU(n);e&&await e}}async function sV(e){e=RP(e);const{fs:t,path:n}=V$(e,this);try{if(kB.checkAccess&&!(await(M$.getAsync(e)||t.stat(n))).hasAccess($P,this))throw gP.With("EACCES",n,"unlink");await t.unlink(n),Q$("rename",e.toString())}catch(t){throw Y$(t,{[n]:e})}}async function oV(e,t,n=420,i){e=RP(e);const r=MP(n,420),s=$B(t);e=i?await EV.call(this,e):e;const{fs:o,path:a}=V$(e,this),l=await o.stat(a).catch(()=>null);if(!l){if(!zB(s)&&!YB(s)||"r+"==s)throw gP.With("ENOENT",e,"_open");const t=await o.stat(TP(a));if(kB.checkAccess&&!t.hasAccess($P,this))throw gP.With("EACCES",TP(e),"_open");if(!t.isDirectory())throw gP.With("ENOTDIR",TP(e),"_open");return new JU(await o.createFile(a,s,r),this)}if(kB.checkAccess&&!l.hasAccess(UB(s),this))throw gP.With("EACCES",e,"_open");if(GB(s))throw gP.With("EEXIST",e,"_open");const u=new JU(await o.openFile(a,s),this);return jB(s)&&await u.truncate(0),u}async function aV(e,t="r",n=420){return await oV.call(this,e,t,n,!0)}async function lV(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=NP(t,null,"r",420),r=ZU(n,"object"==typeof e&&"fd"in e?e:await aV.call(this,e,i.flag,i.mode),!0);return await r.readFile(i)}catch(e){n.error=e,n.hasError=!0}finally{const e=QU(n);e&&await e}}async function uV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=NP(n,"utf8","w+",420),s=ZU(i,e instanceof JU?e:await aV.call(this,e.toString(),r.flag,r.mode),!0),o=t;if("string"!=typeof o&&!(o instanceof Uint8Array))throw new gP(fP.EINVAL,"Iterables and streams not supported",s.file.path,"writeFile");await s.writeFile(o,r)}catch(e){i.error=e,i.hasError=!0}finally{const e=QU(i);e&&await e}}async function cV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=NP(n,"utf8","a",420);if(!YB($B(r.flag)))throw new gP(fP.EINVAL,"Flag passed to appendFile must allow for appending.");if("string"!=typeof t&&!r.encoding)throw new gP(fP.EINVAL,"Encoding not specified");const s="string"==typeof t?R$.Buffer.from(t,r.encoding):new Uint8Array(t.buffer,t.byteOffset,t.byteLength),o=ZU(i,"object"==typeof e&&"fd"in e?e:await aV.call(this,e,r.flag,r.mode),!0);await o.appendFile(s,r)}catch(e){i.error=e,i.hasError=!0}finally{const e=QU(i);e&&await e}}async function dV(e){e=await EV.call(this,e);const{fs:t,path:n}=V$(e,this);try{const i=await(M$.getAsync(e)||t.stat(n));if(!i)throw gP.With("ENOENT",e,"rmdir");if(!i.isDirectory())throw gP.With("ENOTDIR",n,"rmdir");if(kB.checkAccess&&!i.hasAccess($P,this))throw gP.With("EACCES",n,"rmdir");await t.rmdir(n),Q$("rename",e.toString())}catch(t){throw Y$(t,{[n]:e})}}async function hV(e,t){t="object"==typeof t?t:{mode:t};const n=MP(t?.mode,511);e=await EV.call(this,e);const{fs:i,path:r,root:s}=V$(e,this),o={[r]:e};try{if(!t?.recursive){if(kB.checkAccess&&!(await i.stat(TP(r))).hasAccess($P,this))throw gP.With("EACCES",TP(r),"mkdir");return await i.mkdir(r,n),void Q$("rename",e.toString())}const a=[];for(let t=r,n=e;!await i.exists(t);t=TP(t),n=TP(n))a.unshift(t),o[t]=n;for(const e of a){if(kB.checkAccess&&!(await i.stat(TP(e))).hasAccess($P,this))throw gP.With("EACCES",TP(e),"mkdir");await i.mkdir(e,n),Q$("rename",e)}return 1==s.length?a[0]:a[0]?.slice(s.length)}catch(e){throw Y$(e,o)}}async function pV(e,t){t="object"==typeof t?t:{encoding:t},e=await EV.call(this,e);const n=t=>{throw Y$(t,{[r]:e})},{fs:i,path:r}=V$(e,this),s=M$.getAsync(e)||i.stat(r).catch(n);M$.setAsync(e,s);const o=await s;if(!o)throw gP.With("ENOENT",e,"readdir");if(kB.checkAccess&&!o.hasAccess(BP,this))throw gP.With("EACCES",e,"readdir");if(!o.isDirectory())throw gP.With("ENOTDIR",e,"readdir");const a=await i.readdir(r).catch(n),l=[];return await Promise.all(a.map(async s=>{let o;if(t?.recursive||t?.withFileTypes){const t=M$.getAsync(bP(e,s))||i.stat(bP(r,s)).catch(n);M$.setAsync(bP(e,s),t),o=await t}if(t?.withFileTypes?l.push(new HU(s,o)):"buffer"==t?.encoding?l.push(R$.Buffer.from(s)):l.push(s),t?.recursive&&o?.isDirectory())for(const n of await pV.call(this,bP(e,s),{...t,_isIndirect:!0}))n instanceof HU?(n.path=bP(s,n.path),l.push(n)):R$.Buffer.isBuffer(n)?l.push(R$.Buffer.from(bP(s,SP(n)))):l.push(bP(s,n))})),t?._isIndirect||M$.clear(),l}async function fV(e,t){e=RP(e),t=RP(t);const{fs:n,path:i}=V$(e,this),r=V$(t,this);if(n!=r.fs)throw gP.With("EXDEV",t,"link");try{if(kB.checkAccess&&!(await n.stat(TP(e))).hasAccess(BP,this))throw gP.With("EACCES",TP(i),"link");if(kB.checkAccess&&!(await nV.call(this,TP(t))).hasAccess($P,this))throw gP.With("EACCES",TP(t),"link");if(kB.checkAccess&&!(await n.stat(i)).hasAccess(BP,this))throw gP.With("EACCES",i,"link");return await n.link(i,r.path)}catch(n){throw Y$(n,{[r.path]:t,[i]:e})}}async function mV(e,t,n="file"){const i={stack:[],error:void 0,hasError:!1};try{if(!["file","dir","junction"].includes(n))throw new gP(fP.EINVAL,"Invalid symlink type: "+n);if(await tV.call(this,t))throw gP.With("EEXIST",t.toString(),"symlink");const r=ZU(i,await oV.call(this,t,"w+",420,!1),!0);await r.writeFile(e.toString()),await r.file.chmod(lB)}catch(e){i.error=e,i.hasError=!0}finally{const e=QU(i);e&&await e}}async function gV(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=ZU(n,await oV.call(this,RP(e),"r",420,!1),!0),r=await i.readFile(),s="object"==typeof t?t?.encoding:t;return"buffer"==s?r:r.toString(s)}catch(e){n.error=e,n.hasError=!0}finally{const e=QU(n);e&&await e}}async function _V(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=ZU(i,await aV.call(this,e,"r+"),!0);await r.chown(t,n)}catch(e){i.error=e,i.hasError=!0}finally{const e=QU(i);e&&await e}}async function yV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=ZU(i,await oV.call(this,e,"r+",420,!1),!0);await r.chown(t,n)}catch(e){i.error=e,i.hasError=!0}finally{const e=QU(i);e&&await e}}async function vV(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=ZU(n,await aV.call(this,e,"r+"),!0);await i.chmod(t)}catch(e){n.error=e,n.hasError=!0}finally{const e=QU(n);e&&await e}}async function bV(e,t){const n={stack:[],error:void 0,hasError:!1};try{const i=ZU(n,await oV.call(this,e,"r+",420,!1),!0);await i.chmod(t)}catch(e){n.error=e,n.hasError=!0}finally{const e=QU(n);e&&await e}}async function TV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=ZU(i,await aV.call(this,e,"r+"),!0);await r.utimes(t,n)}catch(e){i.error=e,i.hasError=!0}finally{const e=QU(i);e&&await e}}async function xV(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{const r=ZU(i,await oV.call(this,e,"r+",420,!1),!0);await r.utimes(new Date(t),new Date(n))}catch(e){i.error=e,i.hasError=!0}finally{const e=QU(i);e&&await e}}async function EV(e,t){e=RP(e);const n=(this?.root||"")+e;if(k$.hasAsync(n))return k$.getAsync(n);const{base:i,dir:r}=EP(e),s="/"==r?"/":await(k$.getAsync((this?.root||"")+r)||EV.call(this,r)),o=bP(s,i),{fs:a,path:l}=V$(o,this);try{const t=M$.getAsync(o)||a.stat(l);if(M$.setAsync(o,t),!(await t).isSymbolicLink())return k$.set(e,o),o;const i=vP(s,(await gV.call(this,o)).toString()),r=k$.getAsync((this?.root||"")+i)||EV.call(this,i);return k$.setAsync(n,r),await r}catch(t){if("ENOENT"==t.code)return e;throw Y$(t,{[l]:o})}}function wV(e,t={}){return{[Symbol.asyncIterator](){const n=new q$(e.toString(),"string"!=typeof t?t:{encoding:t}),i=[];function r(){n.close();for(const e of i)e({value:null,done:!0});return i.length=0,Promise.resolve({value:null,done:!0})}return n.on("change",(e,t)=>{i.shift()?.({value:{eventType:e,filename:t},done:!1})}),{async next(){const{promise:e,resolve:t}=Promise.withResolvers();return i.push(t),e},return:r,throw:r}}}}async function IV(e,t=PP){if(!kB.checkAccess)return;if(!(await nV.call(this,e)).hasAccess(t,this))throw new gP(fP.EACCES)}async function AV(e,t){e=RP(e);const n=await(M$.getAsync(e)||iV.call(this,e).catch(e=>{if("ENOENT"!=e.code||!t?.force)throw e}));if(n){switch(M$.set(e,n),n.mode&oB){case dB:if(t?.recursive)for(const n of await pV.call(this,e,{_isIndirect:!0}))await AV.call(this,bP(e,n),{...t,_isIndirect:!0});await dV.call(this,e);break;case uB:case lB:case cB:case hB:await sV.call(this,e);break;default:throw M$.clear(),new gP(fP.EPERM,"File type not supported",e,"rm")}t?._isIndirect||M$.clear()}}async function SV(e,t){const n="object"==typeof t?t?.encoding:t||"utf8",i="/tmp/"+`${e}${Date.now()}-${Math.random().toString(36).slice(2)}`;return await hV.call(this,i),"buffer"==n?R$.Buffer.from(i):i}async function CV(e,t,n){if(e=RP(e),t=RP(t),n&&n&VP&&await tV.call(this,t))throw new gP(fP.EEXIST,"Destination file already exists.",t,"copyFile");await uV.call(this,t,await lV.call(this,e)),Q$("rename",t.toString())}function OV(e,t){return e=RP(e),Promise.resolve(new WU(e,this))}async function MV(e,t,n){e=RP(e),t=RP(t);const i=await iV.call(this,e);if(n?.errorOnExist&&await tV.call(this,t))throw new gP(fP.EEXIST,"Destination file or directory already exists.",t,"cp");switch(i.mode&oB){case dB:{if(!n?.recursive)throw new gP(fP.EISDIR,e+" is a directory (not copied)",e,"cp");const[i]=await Promise.all([pV.call(this,e,{withFileTypes:!0}),hV.call(this,t,{recursive:!0})]),r=async i=>{n.filter&&!n.filter(bP(e,i.name),bP(t,i.name))||await MV.call(this,bP(e,i.name),bP(t,i.name),n)};await Promise.all(i.map(r));break}case uB:case lB:await CV.call(this,e,t);break;default:throw new gP(fP.EPERM,"File type not supported",e,"rm")}n?.preserveTimestamps&&await TV.call(this,t,i.atime,i.mtime)}async function kV(e,t){e=RP(e);const{fs:n}=V$(e,this);return Promise.resolve(H$(n,t?.bigint))}const RV=()=>{};function NV(e,t,n=RV){eV.call(this,e,t).then(()=>n()).catch(n)}function DV(e,t=RV){tV.call(this,e).then(t).catch(()=>t(!1))}function FV(e,t,n=RV){n="function"==typeof t?t:n,nV.call(this,e,"function"!=typeof t?t:{}).then(e=>n(void 0,e)).catch(n)}function LV(e,t,n=RV){n="function"==typeof t?t:n,iV.call(this,e,"function"!=typeof t?t:{}).then(e=>n(void 0,e)).catch(n)}function PV(e,t=0,n=RV){n="function"==typeof t?t:n;const i="number"==typeof t?t:0;rV.call(this,e,i).then(()=>n()).catch(n)}function BV(e,t=RV){sV.call(this,e).then(()=>t()).catch(t)}function $V(e,t,n,i=RV){const r=MP(n,420);i="function"==typeof n?n:i,aV.call(this,e,t,r).then(e=>i(void 0,e.fd)).catch(i)}function UV(e,t,n=RV){n="function"==typeof t?t:n,lV.call(this,e,"function"==typeof t?null:t).then(e=>n(void 0,e)).catch(n)}function VV(e,t,n,i=RV){i="function"==typeof n?n:i,uV.call(this,e,t,"function"!=typeof n?n:null).then(()=>i(void 0)).catch(i)}function zV(e,t,n,i=RV){const r="function"!=typeof n?n:void 0;i="function"==typeof n?n:i,cV.call(this,e,t,r).then(()=>i()).catch(i)}function jV(e,t,n=RV){n="function"==typeof t?t:n,P$(e).stat().then(e=>n(void 0,"object"==typeof t&&t?.bigint?new FB(e):e)).catch(n)}function YV(e,t=RV){const n=P$(e).close();D$.delete(e),n.then(()=>t()).catch(t)}function GV(e,t,n=RV){const i="number"==typeof t?t:0;n="function"==typeof t?t:n;const r=P$(e);if(i<0)throw new gP(fP.EINVAL);r.truncate(i).then(()=>n()).catch(n)}function HV(e,t=RV){P$(e).sync().then(()=>t()).catch(t)}function WV(e,t=RV){P$(e).datasync().then(()=>t()).catch(t)}function XV(e,t,n,i,r,s=RV){let o,a,l,u,c;const d=new JU(e,this);if("string"==typeof t){switch(c="utf8",typeof n){case"function":s=n;break;case"number":u=n,c="string"==typeof i?i:"utf8",s="function"==typeof r?r:s;break;default:return void(s="function"==typeof i?i:"function"==typeof r?r:s)(new gP(fP.EINVAL,"Invalid arguments."))}o=R$.Buffer.from(t),a=0,l=o.length;const e=s;d.write(o,a,l,u).then(({bytesWritten:t})=>e(void 0,t,o.toString(c))).catch(e)}else{o=R$.Buffer.from(t.buffer),a=n,l=i,u="number"==typeof r?r:null;const e="function"==typeof r?r:s;d.write(o,a,l,u).then(({bytesWritten:t})=>e(void 0,t,o)).catch(e)}}function qV(e,t,n,i,r,s=RV){new JU(e,this).read(t,n,i,r).then(({bytesRead:e,buffer:t})=>s(void 0,e,t)).catch(s)}function KV(e,t,n,i=RV){new JU(e,this).chown(t,n).then(()=>i()).catch(i)}function ZV(e,t,n){new JU(e,this).chmod(t).then(()=>n()).catch(n)}function QV(e,t,n,i=RV){new JU(e,this).utimes(t,n).then(()=>i()).catch(i)}function JV(e,t=RV){dV.call(this,e).then(()=>t()).catch(t)}function ez(e,t,n=RV){hV.call(this,e,t).then(()=>n()).catch(n)}function tz(e,t,n=RV){n="function"==typeof t?t:n;const i="function"!=typeof t?t:{};pV.call(this,e,i).then(e=>n(void 0,e)).catch(n)}function nz(e,t,n=RV){fV.call(this,e,t).then(()=>n()).catch(n)}function iz(e,t,n,i=RV){const r="string"==typeof n?n:"file";i="function"==typeof n?n:i,mV.call(this,e,t,r).then(()=>i()).catch(i)}function rz(e,t,n=RV){n="function"==typeof t?t:n,gV.call(this,e).then(e=>n(void 0,e)).catch(n)}function sz(e,t,n,i=RV){_V.call(this,e,t,n).then(()=>i()).catch(i)}function oz(e,t,n,i=RV){yV.call(this,e,t,n).then(()=>i()).catch(i)}function az(e,t,n=RV){vV.call(this,e,t).then(()=>n()).catch(n)}function lz(e,t,n=RV){bV.call(this,e,t).then(()=>n()).catch(n)}function uz(e,t,n,i=RV){TV.call(this,e,t,n).then(()=>i()).catch(i)}function cz(e,t,n,i=RV){xV.call(this,e,t,n).then(()=>i()).catch(i)}function dz(e,t,n=RV){n="function"==typeof t?t:n,EV.call(this,e,"function"==typeof t?null:t).then(e=>n(void 0,e)).catch(n)}function hz(e,t,n=RV){const i="number"==typeof t?t:BP;n="function"==typeof t?t:n,IV.call(this,e,i).then(()=>n()).catch(n)}const pz=new Map;function fz(e,t,n){const i=RP(e.toString()),r="function"!=typeof t?t:{};if("function"==typeof t&&(n=t),!n)throw new gP(fP.EINVAL,"No listener specified",e.toString(),"watchFile");if(pz.has(i)){const e=pz.get(i);return void(e&&e.listeners.add(n))}const s=new K$(i,r);s.on("change",(e,t)=>{const n=pz.get(i);if(n)for(const i of n.listeners)i(e,t)}),pz.set(i,{watcher:s,listeners:new Set})}function mz(e,t=RV){const n=RP(e.toString()),i=pz.get(n);i&&(t&&t!==RV?i.listeners.delete(t):i.listeners.clear(),0===i.listeners.size&&(i.watcher.stop(),pz.delete(n)))}function gz(e,t,n){const i=new q$(RP(e),"object"==typeof t?t:{});return n="function"==typeof t?t:n,i.on("change",n||RV),i}function _z(e,t){const n=this;let i;const r=new qU({highWaterMark:(t="object"==typeof t?t:{encoding:t}).highWaterMark||65536,encoding:t.encoding||"utf8",async read(s){try{i||(i=await aV.call(n,e,"r",t?.mode));const o=await i.read(new Uint8Array(s),0,s,i.file.position);r.push(o.bytesRead?o.buffer.slice(0,o.bytesRead):null),i.file.position+=o.bytesRead,o.bytesRead||await i.close()}catch(e){await(i?.close()),r.destroy(e)}},destroy(e,t){i?.close().then(()=>t(e)).catch(RV)}});return r.path=e.toString(),r}function yz(e,t){const n=this;let i;t="object"==typeof t?t:{encoding:t};const r=new KU({highWaterMark:t?.highWaterMark,async write(r,s,o){try{i||(i=await aV.call(n,e,"w",t?.mode||438)),await i.write(r,0,s),o(void 0)}catch(e){await(i?.close()),o(e)}},destroy(e,t){t(e),i?.close().then(()=>t(e)).catch(t)},final(e){i?.close().then(()=>e()).catch(e)}});return r.path=e.toString(),r}function vz(e,t,n=RV){n="function"==typeof t?t:n,AV.call(this,e,"function"==typeof t?void 0:t).then(()=>n(void 0)).catch(n)}function bz(e,t,n=RV){n="function"==typeof t?t:n,SV.call(this,e,"function"!=typeof t?t:null).then(e=>n(void 0,e)).catch(n)}function Tz(e,t,n,i=RV){i="function"==typeof n?n:i,CV.call(this,e,t,"function"==typeof n?void 0:n).then(()=>i(void 0)).catch(i)}function xz(e,t,n,i=RV){i="function"==typeof n?n:i,new JU(e,this).readv(t,"function"==typeof n?void 0:n).then(({buffers:e,bytesRead:t})=>i(void 0,t,e)).catch(i)}function Ez(e,t,n,i=RV){i="function"==typeof n?n:i,new JU(e,this).writev(t,"function"==typeof n?void 0:n).then(({buffers:e,bytesWritten:t})=>i(void 0,t,e)).catch(i)}function wz(e,t,n=RV){n="function"==typeof t?t:n,OV.call(this,e,"function"==typeof t?void 0:t).then(e=>n(void 0,e)).catch(n)}function Iz(e,t,n,i=RV){i="function"==typeof n?n:i,MV.call(this,e,t,"function"==typeof n?void 0:n).then(()=>i(void 0)).catch(i)}function Az(e,t,n=RV){n="function"==typeof t?t:n,kV.call(this,e,"function"==typeof t?void 0:t).then(e=>n(void 0,e)).catch(n)}async function Sz(e,t){const n=await aV.call(this,e.toString(),"r"),i=await n.readFile();return await n.close(),new Blob([i],t)}var Cz=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},Oz=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});function Mz(e){return class extends e{constructor(){super(...arguments),this._queue=[],this._isInitialized=!1}get _queueRunning(){return!!this._queue.length}queueDone(){return new Promise(e=>{const t=()=>this._queueRunning?setTimeout(t):e();t()})}async ready(){if(await super.ready(),await this.queueDone(),!this._isInitialized&&!this._disableSync){if(this.checkSync(),await this._sync.ready(),this._sync instanceof x$&&this instanceof x$){const e=this._sync.store.transaction(),t=this.store.transaction(),n=[];for(const i of await t.keys())n.push(t.get(i).then(t=>e.setSync(i,t)));return await Promise.all(n),void(this._isInitialized=!0)}try{await this.crossCopy("/"),this._isInitialized=!0}catch(e){throw this._isInitialized=!1,e}}}checkSync(e,t){if(this._disableSync)throw new gP(fP.ENOTSUP,"Sync caching has been disabled for this async file system",e,t);if(!this._sync)throw new gP(fP.ENOTSUP,"No sync cache is attached to this async file system",e,t)}renameSync(e,t){this.checkSync(e,"rename"),this._sync.renameSync(e,t),this.queue("rename",e,t)}statSync(e){return this.checkSync(e,"stat"),this._sync.statSync(e)}createFileSync(e,t,n){return this.checkSync(e,"createFile"),this._sync.createFileSync(e,t,n),this.queue("createFile",e,t,n),this.openFileSync(e,t)}openFileSync(e,t){this.checkSync(e,"openFile");const n=this._sync.openFileSync(e,t+"+"),i=n.statSync(),r=new Uint8Array(i.size);return n.readSync(r),new WB(this,e,t,i,r)}unlinkSync(e){this.checkSync(e,"unlinkSync"),this._sync.unlinkSync(e),this.queue("unlink",e)}rmdirSync(e){this.checkSync(e,"rmdir"),this._sync.rmdirSync(e),this.queue("rmdir",e)}mkdirSync(e,t){this.checkSync(e,"mkdir"),this._sync.mkdirSync(e,t),this.queue("mkdir",e,t)}readdirSync(e){return this.checkSync(e,"readdir"),this._sync.readdirSync(e)}linkSync(e,t){this.checkSync(e,"link"),this._sync.linkSync(e,t),this.queue("link",e,t)}syncSync(e,t,n){this.checkSync(e,"sync"),this._sync.syncSync(e,t,n),this.queue("sync",e,t,n)}existsSync(e){return this.checkSync(e,"exists"),this._sync.existsSync(e)}async crossCopy(e){this.checkSync(e,"crossCopy");const t=await this.stat(e);if(!t.isDirectory()){const n={stack:[],error:void 0,hasError:!1};try{const i=Cz(n,await this.openFile(e,$B("r")),!0),r=Cz(n,this._sync.createFileSync(e,$B("w"),t.mode),!1),s=new Uint8Array(t.size);return await i.read(s),void r.writeSync(s,0,t.size)}catch(e){n.error=e,n.hasError=!0}finally{const e=Oz(n);e&&await e}}if("/"!==e){const t=await this.stat(e);this._sync.mkdirSync(e,t.mode)}const n=[];for(const t of await this.readdir(e))n.push(this.crossCopy(bP(e,t)));await Promise.all(n)}async _next(){if(!this._queueRunning)return;const[e,...t]=this._queue.shift();await this[e](...t),await this._next()}queue(...e){this._queue.push(e),this._next()}}}new Map;Mz(XB);new Map;Map;kz=XB;var kz;var Rz=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},Nz=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});class Dz{get isLocked(){return this._isLocked}constructor(e){this.previous=e,this.current=Promise.withResolvers(),this._isLocked=!0}async done(){await(this.previous?.done()),await this.current.promise}unlock(){this.current.resolve(),this._isLocked=!1}[Symbol.dispose](){this.unlock()}}class Fz{async ready(){return await this._fs.ready()}metadata(){return this._fs.metadata()}addLock(){const e=new Dz(this.currentLock);return this.currentLock=e,e}async lock(e,t){const n=this.currentLock,i=this.addLock(),r=(new Error).stack;return setTimeout(()=>{if(i.isLocked){const n=gP.With("EDEADLK",e,t);throw n.stack+=r?.slice(5),n}},5e3),await(n?.done()),i}lockSync(e,t){if(this.currentLock?.isLocked)throw gP.With("EBUSY",e,t);return this.addLock()}get isLocked(){return!!this.currentLock?.isLocked}async rename(e,t){const n={stack:[],error:void 0,hasError:!1};try{Rz(n,await this.lock(e,"rename"),!1);await this._fs.rename(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Nz(n)}}renameSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{Rz(n,this.lockSync(e,"rename"),!1);return this._fs.renameSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Nz(n)}}async stat(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,await this.lock(e,"stat"),!1);return await this._fs.stat(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}statSync(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,this.lockSync(e,"stat"),!1);return this._fs.statSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}async openFile(e,t){const n={stack:[],error:void 0,hasError:!1};try{Rz(n,await this.lock(e,"openFile"),!1);const i=await this._fs.openFile(e,t);return i.fs=this,i}catch(e){n.error=e,n.hasError=!0}finally{Nz(n)}}openFileSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{Rz(n,this.lockSync(e,"openFile"),!1);const i=this._fs.openFileSync(e,t);return i.fs=this,i}catch(e){n.error=e,n.hasError=!0}finally{Nz(n)}}async createFile(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{Rz(i,await this.lock(e,"createFile"),!1);const r=await this._fs.createFile(e,t,n);return r.fs=this,r}catch(e){i.error=e,i.hasError=!0}finally{Nz(i)}}createFileSync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{Rz(i,this.lockSync(e,"createFile"),!1);const r=this._fs.createFileSync(e,t,n);return r.fs=this,r}catch(e){i.error=e,i.hasError=!0}finally{Nz(i)}}async unlink(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,await this.lock(e,"unlink"),!1);await this._fs.unlink(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}unlinkSync(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,this.lockSync(e,"unlink"),!1);return this._fs.unlinkSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}async rmdir(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,await this.lock(e,"rmdir"),!1);await this._fs.rmdir(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}rmdirSync(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,this.lockSync(e,"rmdir"),!1);return this._fs.rmdirSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}async mkdir(e,t){const n={stack:[],error:void 0,hasError:!1};try{Rz(n,await this.lock(e,"mkdir"),!1);await this._fs.mkdir(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Nz(n)}}mkdirSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{Rz(n,this.lockSync(e,"mkdir"),!1);return this._fs.mkdirSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Nz(n)}}async readdir(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,await this.lock(e,"readdir"),!1);return await this._fs.readdir(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}readdirSync(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,this.lockSync(e,"readdir"),!1);return this._fs.readdirSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}async exists(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,await this.lock(e,"exists"),!1);return await this._fs.exists(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}existsSync(e){const t={stack:[],error:void 0,hasError:!1};try{Rz(t,this.lockSync(e,"exists"),!1);return this._fs.existsSync(e)}catch(e){t.error=e,t.hasError=!0}finally{Nz(t)}}async link(e,t){const n={stack:[],error:void 0,hasError:!1};try{Rz(n,await this.lock(e,"link"),!1);await this._fs.link(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Nz(n)}}linkSync(e,t){const n={stack:[],error:void 0,hasError:!1};try{Rz(n,this.lockSync(e,"link"),!1);return this._fs.linkSync(e,t)}catch(e){n.error=e,n.hasError=!0}finally{Nz(n)}}async sync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{Rz(i,await this.lock(e,"sync"),!1);await this._fs.sync(e,t,n)}catch(e){i.error=e,i.hasError=!0}finally{Nz(i)}}syncSync(e,t,n){const i={stack:[],error:void 0,hasError:!1};try{Rz(i,this.lockSync(e,"sync"),!1);return this._fs.syncSync(e,t,n)}catch(e){i.error=e,i.hasError=!0}finally{Nz(i)}}}var Lz=function(e,t,n){if(null!=t){if("object"!=typeof t&&"function"!=typeof t)throw new TypeError("Object expected.");var i,r;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(void 0===i){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(r=i)}if("function"!=typeof i)throw new TypeError("Object not disposable.");r&&(i=function(){try{r.call(this)}catch(e){return Promise.reject(e)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t},Pz=function(e){return function(t){function n(n){t.error=t.hasError?new e(n,t.error,"An error was suppressed during disposal."):n,t.hasError=!0}return function e(){for(;t.stack.length;){var i=t.stack.pop();try{var r=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(r).then(e,function(t){return n(t),e()})}catch(e){n(e)}}if(t.hasError)throw t.error}()}}("function"==typeof SuppressedError?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i});const Bz="/.deleted";class $z extends XB{async ready(){await this.readable.ready(),await this.writable.ready(),await this._ready}constructor({writable:e,readable:t}){if(super(),this._isInitialized=!1,this._deletedFiles=new Set,this._deleteLog="",this._deleteLogUpdatePending=!1,this._deleteLogUpdateNeeded=!1,this.writable=e,this.readable=t,this.writable.metadata().readonly)throw new gP(fP.EINVAL,"Writable file system must be writable.");this._ready=this._initialize()}metadata(){return{...super.metadata(),name:Uz.name}}async sync(e,t,n){await this.copyForWrite(e),await this.writable.exists(e)||await this.writable.createFile(e,"w",420),await this.writable.sync(e,t,n)}syncSync(e,t,n){this.copyForWriteSync(e),this.writable.syncSync(e,t,n)}async _initialize(){if(!this._isInitialized){try{const e=await this.writable.openFile(Bz,$B("r")),{size:t}=await e.stat(),{buffer:n}=await e.read(new Uint8Array(t));this._deleteLog=SP(n)}catch(e){if(e.errno!==fP.ENOENT)throw e}this._isInitialized=!0,this._reparseDeletionLog()}}getDeletionLog(){return this._deleteLog}async restoreDeletionLog(e){this._deleteLog=e,this._reparseDeletionLog(),await this.updateLog("")}async rename(e,t){this.checkInitialized(),this.checkPath(e),this.checkPath(t),await this.copyForWrite(e);try{await this.writable.rename(e,t)}catch{if(this._deletedFiles.has(e))throw gP.With("ENOENT",e,"rename")}}renameSync(e,t){this.checkInitialized(),this.checkPath(e),this.checkPath(t),this.copyForWriteSync(e);try{this.writable.renameSync(e,t)}catch{if(this._deletedFiles.has(e))throw gP.With("ENOENT",e,"rename")}}async stat(e){this.checkInitialized();try{return await this.writable.stat(e)}catch{if(this._deletedFiles.has(e))throw gP.With("ENOENT",e,"stat");const t=await this.readable.stat(e);return t.mode|=146,t}}statSync(e){this.checkInitialized();try{return this.writable.statSync(e)}catch{if(this._deletedFiles.has(e))throw gP.With("ENOENT",e,"stat");const t=this.readable.statSync(e);return t.mode|=146,t}}async openFile(e,t){if(await this.writable.exists(e))return this.writable.openFile(e,t);const n=await this.readable.openFile(e,$B("r")),i=await n.stat(),{buffer:r}=await n.read(new Uint8Array(i.size));return new WB(this,e,t,i,r)}openFileSync(e,t){if(this.writable.existsSync(e))return this.writable.openFileSync(e,t);const n=this.readable.openFileSync(e,$B("r")),i=n.statSync(),r=new Uint8Array(i.size);return n.readSync(r),new WB(this,e,t,i,r)}async createFile(e,t,n){return this.checkInitialized(),await this.writable.createFile(e,t,n),this.openFile(e,t)}createFileSync(e,t,n){return this.checkInitialized(),this.writable.createFileSync(e,t,n),this.openFileSync(e,t)}async link(e,t){this.checkInitialized(),await this.copyForWrite(e),await this.writable.link(e,t)}linkSync(e,t){this.checkInitialized(),this.copyForWriteSync(e),this.writable.linkSync(e,t)}async unlink(e){if(this.checkInitialized(),this.checkPath(e),!await this.exists(e))throw gP.With("ENOENT",e,"unlink");await this.writable.exists(e)&&await this.writable.unlink(e),await this.exists(e)&&await this.deletePath(e)}unlinkSync(e){if(this.checkInitialized(),this.checkPath(e),!this.existsSync(e))throw gP.With("ENOENT",e,"unlink");this.writable.existsSync(e)&&this.writable.unlinkSync(e),this.existsSync(e)&&this.deletePath(e)}async rmdir(e){if(this.checkInitialized(),!await this.exists(e))throw gP.With("ENOENT",e,"rmdir");if(await this.writable.exists(e)&&await this.writable.rmdir(e),await this.exists(e)){if((await this.readdir(e)).length)throw gP.With("ENOTEMPTY",e,"rmdir");await this.deletePath(e)}}rmdirSync(e){if(this.checkInitialized(),!this.existsSync(e))throw gP.With("ENOENT",e,"rmdir");if(this.writable.existsSync(e)&&this.writable.rmdirSync(e),this.existsSync(e)){if(this.readdirSync(e).length)throw gP.With("ENOTEMPTY",e,"rmdir");this.deletePath(e)}}async mkdir(e,t){if(this.checkInitialized(),await this.exists(e))throw gP.With("EEXIST",e,"mkdir");await this.createParentDirectories(e),await this.writable.mkdir(e,t)}mkdirSync(e,t){if(this.checkInitialized(),this.existsSync(e))throw gP.With("EEXIST",e,"mkdir");this.createParentDirectoriesSync(e),this.writable.mkdirSync(e,t)}async readdir(e){this.checkInitialized();const t=[];try{t.push(...await this.writable.readdir(e))}catch{}try{t.push(...(await this.readable.readdir(e)).filter(t=>!this._deletedFiles.has(`${e}/${t}`)))}catch{}const n={};return t.filter(e=>{const t=!n[e];return n[e]=!0,t})}readdirSync(e){this.checkInitialized();let t=[];try{t=t.concat(this.writable.readdirSync(e))}catch{}try{t=t.concat(this.readable.readdirSync(e).filter(t=>!this._deletedFiles.has(`${e}/${t}`)))}catch{}const n={};return t.filter(e=>{const t=!n[e];return n[e]=!0,t})}async deletePath(e){this._deletedFiles.add(e),await this.updateLog(`d${e}\n`)}async updateLog(e){if(this._deleteLog+=e,this._deleteLogUpdatePending)return void(this._deleteLogUpdateNeeded=!0);this._deleteLogUpdatePending=!0;const t=await this.writable.openFile(Bz,$B("w"));try{await t.write(IP(this._deleteLog)),this._deleteLogUpdateNeeded&&(this._deleteLogUpdateNeeded=!1,await this.updateLog(""))}catch(e){this._deleteLogError=e}finally{this._deleteLogUpdatePending=!1}}_reparseDeletionLog(){this._deletedFiles.clear();for(const e of this._deleteLog.split("\n"))e.startsWith("d")&&this._deletedFiles.add(e.slice(1))}checkInitialized(){if(!this._isInitialized)throw new gP(fP.EPERM,"OverlayFS is not initialized. Please initialize OverlayFS using its initialize() method before using it.");if(!this._deleteLogError)return;const e=this._deleteLogError;throw delete this._deleteLogError,e}checkPath(e){if(e==Bz)throw gP.With("EPERM",e,"checkPath")}createParentDirectoriesSync(e){let t=TP(e);const n=[];for(;!this.writable.existsSync(t);)n.push(t),t=TP(t);for(const e of n.reverse())this.writable.mkdirSync(e,this.statSync(e).mode)}async createParentDirectories(e){let t=TP(e);const n=[];for(;!await this.writable.exists(t);)n.push(t),t=TP(t);for(const e of n.reverse()){const t=await this.stat(e);await this.writable.mkdir(e,t.mode)}}copyForWriteSync(e){if(!this.existsSync(e))throw gP.With("ENOENT",e,"copyForWrite");this.writable.existsSync(TP(e))||this.createParentDirectoriesSync(e),this.writable.existsSync(e)||this.copyToWritableSync(e)}async copyForWrite(e){if(!await this.exists(e))throw gP.With("ENOENT",e,"copyForWrite");if(await this.writable.exists(TP(e))||await this.createParentDirectories(e),!await this.writable.exists(e))return this.copyToWritable(e)}copyToWritableSync(e){const t={stack:[],error:void 0,hasError:!1};try{const n=this.statSync(e);if(n.isDirectory())return void this.writable.mkdirSync(e,n.mode);const i=new Uint8Array(n.size);Lz(t,this.readable.openFileSync(e,"r"),!1).readSync(i);Lz(t,this.writable.createFileSync(e,"w",146|n.mode),!1).writeSync(i)}catch(e){t.error=e,t.hasError=!0}finally{Pz(t)}}async copyToWritable(e){const t={stack:[],error:void 0,hasError:!1};try{const n=await this.stat(e);if(n.isDirectory())return void await this.writable.mkdir(e,n.mode);const i=new Uint8Array(n.size),r=Lz(t,await this.readable.openFile(e,"r"),!0);await r.read(i);const s=Lz(t,await this.writable.createFile(e,"w",146|n.mode),!0);await s.write(i)}catch(e){t.error=e,t.hasError=!0}finally{const e=Pz(t);e&&await e}}}class Uz extends(function(e){return class extends Fz{constructor(...t){super(),this._fs=new e(...t)}}}($z)){}function Vz(e,t,n){if(e instanceof gP)return e;const i=e instanceof DOMException?fP[function(e){switch(e.name){case"IndexSizeError":case"HierarchyRequestError":case"InvalidCharacterError":case"InvalidStateError":case"SyntaxError":case"NamespaceError":case"TypeMismatchError":case"ConstraintError":case"VersionError":case"URLMismatchError":case"InvalidNodeTypeError":return"EINVAL";case"WrongDocumentError":return"EXDEV";case"NoModificationAllowedError":case"InvalidModificationError":case"InvalidAccessError":case"SecurityError":case"NotAllowedError":return"EACCES";case"NotFoundError":return"ENOENT";case"NotSupportedError":return"ENOTSUP";case"InUseAttributeError":return"EBUSY";case"NetworkError":return"ENETDOWN";case"AbortError":return"EINTR";case"QuotaExceededError":return"ENOSPC";case"TimeoutError":return"ETIMEDOUT";case"ReadOnlyError":return"EROFS";default:return"EIO"}}(e)]:fP.EIO,r=new gP(i,e.message,t,n);return r.stack=e.stack,r.cause=e.cause,r}globalThis.__zenfs__=ue;class zz extends(Mz(XB)){constructor(e){super(),this._handles=new Map,this._sync=C$.create({name:"accessfs-cache"}),this._handles.set("/",e)}metadata(){return{...super.metadata(),name:"WebAccess",noResizableBuffers:!0}}async sync(e,t){await this.writeFile(e,t)}async rename(e,t){const n=await this.getHandle(e);if(n instanceof FileSystemDirectoryHandle){const n=await this.readdir(e);if(await this.mkdir(t),!n.length)return void await this.unlink(e);for(const i of n)await this.rename(bP(e,i),bP(t,i)),await this.unlink(e);return}if(!(n instanceof FileSystemFileHandle))throw new gP(fP.ENOTSUP,"Not a file or directory handle",e,"rename");const i=await n.getFile().catch(t=>{throw Vz(t,e,"rename")}),r=await this.getHandle(TP(t));if(!(r instanceof FileSystemDirectoryHandle))return;const s=await r.getFileHandle(xP(t),{create:!0}).catch(e=>{throw Vz(e,t,"rename")}),o=await s.createWritable();await o.write(await i.arrayBuffer()),await o.close(),await this.unlink(e)}async writeFile(e,t){if(t.buffer.resizable)throw new gP(fP.EINVAL,"Resizable buffers can not be written",e,"write");const n=await this.getHandle(TP(e));if(!(n instanceof FileSystemDirectoryHandle))return;const i=await n.getFileHandle(xP(e),{create:!0}),r=await i.createWritable();await r.write(t),await r.close()}async createFile(e,t){return await this.writeFile(e,new Uint8Array),this.openFile(e,t)}async stat(e){const t=await this.getHandle(e);if(!t)throw gP.With("ENOENT",e,"stat");if(t instanceof FileSystemDirectoryHandle)return new DB({mode:511|dB,size:4096});if(t instanceof FileSystemFileHandle){const{lastModified:e,size:n}=await t.getFile();return new DB({mode:511|uB,size:n,mtimeMs:e})}throw new gP(fP.EBADE,"Handle is not a directory or file",e,"stat")}async openFile(e,t){const n=await this.getHandle(e);if(!(n instanceof FileSystemFileHandle))throw gP.With("EISDIR",e,"openFile");const i=await n.getFile().catch(t=>{throw Vz(t,e,"openFile")}),r=new Uint8Array(await i.arrayBuffer()),s=new DB({mode:511|uB,size:i.size,mtimeMs:i.lastModified});return new WB(this,e,t,s,r)}async unlink(e){const t=await this.getHandle(TP(e));if(!(t instanceof FileSystemDirectoryHandle))throw gP.With("ENOTDIR",TP(e),"unlink");await t.removeEntry(xP(e),{recursive:!0}).catch(t=>{throw Vz(t,e,"unlink")})}async link(e){}async rmdir(e){return this.unlink(e)}async mkdir(e){if(await this.getHandle(e).catch(e=>{if("ENOENT"!=e.code)throw e}))throw gP.With("EEXIST",e,"mkdir");const t=await this.getHandle(TP(e));if(!(t instanceof FileSystemDirectoryHandle))throw gP.With("ENOTDIR",e,"mkdir");await t.getDirectoryHandle(xP(e),{create:!0})}async readdir(e){const t=await this.getHandle(e);if(!(t instanceof FileSystemDirectoryHandle))throw gP.With("ENOTDIR",e,"readdir");const n=[];for await(const e of t.keys())n.push(e);return n}async getHandle(e){if(this._handles.has(e))return this._handles.get(e);let t="/";for(const n of e.split("/").slice(1)){const e=this._handles.get(t);if(!(e instanceof FileSystemDirectoryHandle))throw gP.With("ENOTDIR",t,"getHandle");t=bP(t,n);const i=await e.getDirectoryHandle(n).catch(i=>{switch(i.name){case"TypeMismatchError":return e.getFileHandle(n).catch(e=>{});case"TypeError":throw new gP(fP.ENOENT,i.message,t,"getHandle");default:throw Vz(i,t,"getHandle")}});i&&this._handles.set(t,i)}return this._handles.get(e)}}function jz(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}let Yz;function Gz(){return Yz||(Yz=function(e,t){const n=indexedDB.open(e);n.onupgradeneeded=()=>n.result.createObjectStore(t);const i=jz(n);return(e,n)=>i.then(i=>n(i.transaction(t,e).objectStore(t)))}("keyval-store","keyval")),Yz}class Hz extends zz{constructor(e){super(e)}async readFile(e){const t=await this.getHandle(e);if(t instanceof window.FileSystemFileHandle){const e=await t.getFile();return await e.text()}return""}}class Wz extends ze.FS{#e=null;#t=new TextEncoder;constructor(){super()}async showDirectoryPicker(){const e=await window.showDirectoryPicker({mode:"readwrite"});if("granted"!==await e.requestPermission({mode:"readwrite"}))throw new Error("readwrite access to directory not granted");return await this.setFSCache(e),this.#e=new Hz(e),e}async loadFS(){let e=await this.getFSCache();if(!e)return null;if("granted"!==await e.requestPermission({mode:"readwrite"}))throw new Error("readwrite access to directory not granted");return this.#e=new Hz(e),e}async getFSCache(){return function(e,t=Gz()){return t("readonly",t=>jz(t.get(e)))}("mixly-pyodide-fs")}async setFSCache(e){await function(e,t,n=Gz()){return n("readwrite",n=>(n.put(t,e),jz(n.transaction)))}("mixly-pyodide-fs",e)}async createFile(e){return this.#e.createFile(e,"")}async readFile(e){return this.#e.readFile(e)}async writeFile(e,t){const n=this.#t.encode(t);return this.#e.writeFile(e,n)}async isFile(e){const t=await this.#e.stat(e);return!(!t||33279!==t.mode)}async renameFile(e,t){return await this.#e.rename(e,t)}async moveFile(e,t){return this.renameFile(e,t)}async deleteFile(e){return this.#e.unlink(e)}async createDirectory(e){return this.#e.mkdir(e,511)}async readDirectory(e){return await this.#e.readdir(e)}async isDirectory(e){const t=await this.#e.stat(e);return!(!t||16895!==t.mode)}async isDirectoryEmpty(e){const t=await this.readDirectory(e);return!t?.length}async renameDirectory(e,t){return this.#e.rename(e,t)}async moveDirectory(e,t){return this.#e.rename(e,t)}async deleteDirectory(e){return this.#e.rmdir(e)}}class Xz extends ze.FileTree{constructor(){super(new Wz)}async readFolder(e){let t=[];try{const n=this.getFS();if(!await n.isDirectory(e))return t;const i=await n.readDirectory(e);for(let r of i){const i=Rx.join(e,r);if(await n.isDirectory(i)){const e=await n.isDirectoryEmpty(i);t.push({type:"folder",id:i,children:!e,title:`/${this.getRootFolderName()}${i}`})}else t.push({type:"file",id:i,children:!1,title:`/${this.getRootFolderName()}${i}`})}}catch(e){ze.Debug.error(e)}return t}}class qz extends ze.PageBase{static{ze.HTMLTemplate.add("html/statusbar/statusbar-filesystem.html",new ze.HTMLTemplate('\r\n
\r\n
\r\n
\r\n
')),ze.HTMLTemplate.add("html/statusbar/statusbar-filesystem-open-fs.html",new ze.HTMLTemplate('\r\n
\r\n \r\n
')),ze.HTMLTemplate.add("html/statusbar/statusbar-filesystem-editor-empty.html",new ze.HTMLTemplate('\r\n
\r\n
\r\n
')),this.init=function(){ze.StatusBarsManager.typesRegistry.register(["file-system"],qz);const e=ze.Workspace.getMain().getStatusBarsManager();return e.add({type:"file-system",id:"file-system",name:Ve.Msg.PYTHON_PYODIDE_FILE_SYSTEM,title:Ve.Msg.PYTHON_PYODIDE_FILE_SYSTEM}),e.changeTo("output"),e.get("file-system")}}#n=null;#i=null;#r=null;#s=null;#o=null;#a=null;#l=null;#u=null;#c=!1;#d=!1;#h=!1;#p=null;constructor(){super();const e=Dx()(ze.HTMLTemplate.get("html/statusbar/statusbar-filesystem.html").render());this.setContent(e),this.#l=new Xz,this.#i=e.children(".file-tree"),this.#s=Dx()(ze.HTMLTemplate.get("html/statusbar/statusbar-filesystem-open-fs.html").render({msg:{loadFS:Ve.Msg.PYTHON_PYODIDE_LOAD_FILE_SYSTEM}})),this.#i.append(this.#s),this.#a=new ze.StatusBar,this.#r=e.children(".editor"),this.#o=Dx()(ze.HTMLTemplate.get("html/statusbar/statusbar-filesystem-editor-empty.html").render()),this.#r.append(this.#o)}#f(){this.#u=new ze.DragV(this.getContent()[0],{min:"150px",startSize:"15%",full:[!1,!1]}),this.#u.bind("sizeChanged",()=>{this.resize()}),this.#s.children("button").click(()=>{this.selectFS().catch(ze.Debug.error)}),this.#l.bind("beforeSelectLeaf",e=>{const t=e[0].id,n=this.#a.getFileMode(Rx.extname(t));return n?(this.#a.setMode(n),!0):(pP.layer.msg(ze.Msg.Lang["statusbar.ampy.cannotEdit"],{time:1e3}),!1)}),this.#l.bind("afterSelectLeaf",async e=>{const t=e[0].id;this.#l.showProgress();const n=this.#l.getFS();try{const e=await n.readFile(t);this.showEditor(),this.#a.setValue(e),this.#a.scrollToTop(),this.#a.focus(),this.setStatus(!1)}catch(e){ze.Debug.error(e),this.hideEditor(),this.#l.deselectAll()}this.#l.hideProgress()}),this.#l.bind("afterCreateNode",e=>{this.#l.refreshFolder(e)}),this.#l.bind("afterDeleteNode",e=>{this.#l.refreshFolder(e)}),this.#l.bind("afterRenameNode",e=>{this.#l.refreshFolder(e)}),this.#l.bind("afterRefreshNode",()=>{this.#l.getSelectedNodeId()||this.hideEditor()});const e=this.#l.getContextMenu().getItem("menu");e.add({weight:7,id:"copy_path",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["fileTree.copyPath"]),callback:(e,{$trigger:t})=>{let n=null;n="root"===t.attr("type")?this.#l.getRootFolderTitle():t.attr("title"),navigator.clipboard.writeText(n).catch(ze.Debug.error)}}}),e.add({weight:14,id:"sep5",preconditionFn:e=>{const t=this.#l.getSelectedNodeId();let n=e.attr("type"),i=e.attr("id");return"file"!==n||t===i},data:"---------"}),e.add({weight:15,id:"refresh",preconditionFn:e=>{const t=this.#l.getSelectedNodeId();let n=e.attr("type"),i=e.attr("id");return"file"!==n||t===i},data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["statusbar.ampy.refresh"]),callback:(e,{$trigger:t})=>{let n=t.attr("type");if("root"===n)this.#l.openRootFolder(),this.#l.refreshFolder("/");else if("folder"===n){let e=t.attr("id");this.#l.openNode(e),this.#l.refreshFolder(e)}else{const e=this.#l.getSelectedNodes();this.#l.runEvent("afterSelectLeaf",e)}}}}),e.add({weight:16,id:"sep6",preconditionFn:e=>{let t=e.attr("type");return["root"].includes(t)},data:"---------"}),e.add({weight:17,id:"exit",preconditionFn:e=>{let t=e.attr("type");return["root"].includes(t)},data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["statusbar.ampy.exit"]),callback:()=>{this.closeFS()}}}),e.remove("copy"),e.remove("cut"),e.remove("paste"),e.remove("sep2");const t=this.#a.getContextMenu().getItem("code");t.empty(),t.add({weight:0,id:"cut",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["editor.contextMenu.cut"],"Ctrl+X"),callback:()=>this.#a.cut()}}),t.add({weight:1,id:"copy",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["editor.contextMenu.copy"],"Ctrl+C"),callback:()=>this.#a.copy()}}),t.add({weight:2,id:"paste",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["editor.contextMenu.paste"],"Ctrl+V"),callback:()=>this.#a.paste()}}),t.add({weight:3,id:"sep1",data:"---------"}),t.add({weight:4,id:"togglecomment",data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["editor.contextMenu.togglecomment"],"Ctrl+/"),callback:()=>this.#a.commentLine()}}),t.add({weight:6,id:"sep2",preconditionFn:()=>this.#h,data:"---------"}),t.add({weight:7,id:"save",preconditionFn:()=>this.#h,data:{isHtmlName:!0,name:ze.Menu.getItem(ze.Msg.Lang["file.save"],"Ctrl+S"),callback:async()=>{await this.put()}}});const{commands:n}=this.#a.getEditor();n.addCommand({name:"save",bindKey:"Ctrl-S",exec:async()=>{this.#h&&await this.put()}})}async put(){this.#l.showProgress();const e=this.#l.getSelectedNodeId(),t=this.#l.getFS();try{await t.writeFile(e,this.#a.getValue()),this.setStatus(!1)}catch(e){ze.Debug.error(e)}finally{this.#l.hideProgress()}}showFileTree(){this.#c||(this.#s.detach(),this.#i.empty(),this.#i.append(this.#l.getContent()),this.#c=!0)}hideFileTree(){this.#c&&(this.#l.getContent().detach(),this.#i.empty(),this.#i.append(this.#s),this.#c=!1)}showEditor(){this.#d||(this.#o.detach(),this.#r.empty(),this.#r.append(this.#a.getContent()),this.#d=!0)}hideEditor(){this.#d&&(this.#a.getContent().detach(),this.#r.empty(),this.#r.append(this.#o),this.#d=!1,this.setStatus(!1))}getDrag(){return this.#u}init(){super.init(),this.hideCloseBtn(),this.#a.init(),this.#f();const e=this.#a.getEditor();e.setReadOnly(!1),e.renderer.setShowGutter(!0),e.setOptions({enableBasicAutocompletion:!0,enableSnippets:!0,enableLiveAutocompletion:!0,newLineMode:"unix"}),e.on("change",()=>{this.setStatus(!0)}),this.loadFS().catch(ze.Debug.error)}async loadFS(){const e=this.#l.getFS(),t=await e.loadFS();await this.openFS(t)}async selectFS(){const e=this.#l.getFS(),t=await e.showDirectoryPicker();await this.openFS(t)}async openFS(e){if(!e?.name)return;const t="/"+e.name;this.#l.setFolderPath("/"),this.#l.setRootFolderTitle(t),this.#l.setRootFolderName(e.name),this.#l.openRootFolder(),this.showFileTree(),this.#p=await window.pyodide.mountNativeFS(t,e)}closeFS(){const e=this.#l.getRootFolderTitle();if(Object.keys(window.pyodide.FS.root.contents).includes(Rx.basename(e))){const t=window.pyodide.FS.lookupPath(e,{follow_mount:!1});window.pyodide.FS.isMountpoint(t.node)&&window.pyodide.FS.unmount(e)}this.#l.getFS().setFSCache(null),this.#l.deselectAll(),this.hideFileTree(),this.hideEditor(),this.setStatus(!1)}onMounted(){super.onMounted(),this.#a.onMounted(),this.#l.onMounted()}onUnmounted(){super.onUnmounted(),this.#a.onUnmounted(),this.#l.onUnmounted()}resize(){super.resize(),this.#a.resize(),this.#l.resize()}setStatus(e){this.#h!==e&&(this.#h=e)}getNativeFS(){return this.#p}dispose(){this.#a.dispose(),this.#a=null,this.#l.dispose(),this.#l=null,super.dispose()}}class Kz extends ze.PageBase{static{ze.HTMLTemplate.add("html/statusbar/statusbar-tool.html",new ze.HTMLTemplate('\r\n
\r\n Teachable Machine\r\n
')),this.init=function(){ze.StatusBarsManager.typesRegistry.register(["tool"],Kz);const e=ze.Workspace.getMain().getStatusBarsManager();return e.add({type:"tool",id:"tool",name:Ve.Msg.PYTHON_PYODIDE_TOOL,title:Ve.Msg.PYTHON_PYODIDE_TOOL}),e.changeTo("output"),e.get("tool")}}constructor(){super();const e=Dx()(ze.HTMLTemplate.get("html/statusbar/statusbar-tool.html").render());this.setContent(e)}init(){super.init(),this.hideCloseBtn()}onMounted(){}onUnmounted(){}resize(){}}class Zz extends ze.PageBase{static{ze.HTMLTemplate.add("html/statusbar/statusbar-game.html",new ze.HTMLTemplate('\r\n
\r\n
{{d.epoch}}: 0
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
')),this.init=function(){ze.StatusBarsManager.typesRegistry.register(["game"],Zz);const e=ze.Workspace.getMain().getStatusBarsManager();return e.add({type:"game",id:"game",name:Ve.Msg.PYTHON_PYODIDE_GAME,title:Ve.Msg.PYTHON_PYODIDE_GAME}),e.changeTo("output"),e.get("game")}}#m=null;#g=null;#_=null;#y=null;#v=null;#b=null;#T=10;#x=500;#E=[];#w=!1;#I=0;#A=null;constructor(){super();const e=Dx()(ze.HTMLTemplate.get("html/statusbar/statusbar-game.html").render({epoch:Ve.Msg.PYTHON_PYODIDE_GAME_EPOCH,start:Ve.Msg.PYTHON_PYODIDE_GAME_START,pause:Ve.Msg.PYTHON_PYODIDE_GAME_PAUSE,random:Ve.Msg.PYTHON_PYODIDE_GAME_RANDOM,reset:Ve.Msg.PYTHON_PYODIDE_GAME_RESET}));this.setContent(e),this.#m=e.find(".start-btn"),this.#g=e.find(".pause-btn"),this.#_=e.find(".random-btn"),this.#y=e.find(".reset-btn"),this.#v=e.find(".generation"),this.#b=e.find(".grid"),this.#S()}#S(){this.#m.click(()=>this.startGame()),this.#g.click(()=>this.pauseGame()),this.#_.click(()=>this.randomInitialize()),this.#y.click(()=>this.resetGame())}initializeGrid(){this.#b.empty(),this.#E=[];for(let e=0;ethis.toggleCell(e,t)),this.#b.append(n)}}this.updateGridDisplay()}toggleCell(e,t){this.#w||(this.#E[e][t]=0===this.#E[e][t]?1:0,this.updateGridDisplay())}updateGridDisplay(){const e=this.#b.children(".cell");for(let t=0;t=0&&s=0&&othis.nextGeneration(),this.#x),this.updateButtons())}pauseGame(){this.#w&&(this.#w=!1,clearInterval(this.#A),this.updateButtons())}randomInitialize(){if(!this.#w){for(let e=0;e{let s=`${e}-${t}`;return n&&(s+=`-${n}`),i&&(s+=`__${i}`),r&&(s+=`--${r}`),s},tj=Symbol("namespaceContextKey"),nj=e=>{const t=e||($M()?tO(tj,EI(Jz)):EI(Jz));return ak(()=>CI(t)||Jz)},ij=(e,t)=>{const n=nj(t);return{namespace:n,b:(t="")=>ej(n.value,e,t,"",""),e:t=>t?ej(n.value,e,"",t,""):"",m:t=>t?ej(n.value,e,"","",t):"",be:(t,i)=>t&&i?ej(n.value,e,t,i,""):"",em:(t,i)=>t&&i?ej(n.value,e,"",t,i):"",bm:(t,i)=>t&&i?ej(n.value,e,t,"",i):"",bem:(t,i,r)=>t&&i&&r?ej(n.value,e,t,i,r):"",is:(e,...t)=>{const n=!(t.length>=1)||t[0];return e&&n?`is-${e}`:""},cssVar:e=>{const t={};for(const i in e)e[i]&&(t[`--${n.value}-${i}`]=e[i]);return t},cssVarName:e=>`--${n.value}-${e}`,cssVarBlock:t=>{const i={};for(const r in t)t[r]&&(i[`--${n.value}-${e}-${r}`]=t[r]);return i},cssVarBlockName:t=>`--${n.value}-${e}-${t}`}},rj=e=>void 0===e,sj=e=>"boolean"==typeof e,oj=e=>"number"==typeof e,aj=e=>"undefined"!=typeof Element&&e instanceof Element;var lj,uj=Object.defineProperty,cj=Object.defineProperties,dj=Object.getOwnPropertyDescriptors,hj=Object.getOwnPropertySymbols,pj=Object.prototype.hasOwnProperty,fj=Object.prototype.propertyIsEnumerable,mj=(e,t,n)=>t in e?uj(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;function gj(e,t){var n;const i=wI();var r,s;return kO(()=>{i.value=e()},(r=((e,t)=>{for(var n in t||(t={}))pj.call(t,n)&&mj(e,n,t[n]);if(hj)for(var n of hj(t))fj.call(t,n)&&mj(e,n,t[n]);return e})({},t),s={flush:null!=(n=null==t?void 0:t.flush)?n:"sync"},cj(r,dj(s)))),dI(i)}const _j="undefined"!=typeof window,yj=(Object.prototype.toString,e=>"function"==typeof e),vj=()=>{},bj=_j&&(null==(lj=null==window?void 0:window.navigator)?void 0:lj.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function Tj(e){return"function"==typeof e?e():CI(e)}function xj(e,t){return function(...n){return new Promise((i,r)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(i).catch(r)})}}function Ej(e,t=!0,n=!0,i=!1){let r,s,o=0,a=!0,l=vj;const u=()=>{r&&(clearTimeout(r),r=void 0,l(),l=vj)};return c=>{const d=Tj(e),h=Date.now()-o,p=()=>s=c();return u(),d<=0?(o=Date.now(),p()):(h>d&&(n||!a)?(o=Date.now(),p()):t&&(s=new Promise((e,t)=>{l=i?t:e,r=setTimeout(()=>{o=Date.now(),a=!0,e(p()),u()},Math.max(0,d-h))})),n||r||(r=setTimeout(()=>a=!0,d)),a=!1,s)}}function wj(e){return!!QE()&&(JE(e),!0)}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function Ij(e,t=200,n=!1,i=!0,r=!1){return xj(Ej(t,n,i,r),e)}Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function Aj(e,t,n={}){const{immediate:i=!0}=n,r=EI(!1);let s=null;function o(){s&&(clearTimeout(s),s=null)}function a(){r.value=!1,o()}function l(...n){o(),r.value=!0,s=setTimeout(()=>{r.value=!1,s=null,e(...n)},Tj(t))}return i&&(r.value=!0,_j&&l()),wj(a),{isPending:dI(r),start:l,stop:a}}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;const Sj={current:0},Cj=EI(0),Oj=Symbol("elZIndexContextKey"),Mj=Symbol("zIndexContextKey"),kj=e=>{const t=$M()?tO(Oj,Sj):Sj,n=e||($M()?tO(Mj,void 0):void 0),i=ak(()=>{const e=CI(n);return oj(e)?e:2e3}),r=ak(()=>i.value+Cj.value);return!_j&&tO(Oj),{initialZIndex:i,currentZIndex:r,nextZIndex:()=>(t.current++,Cj.value=t.current,r.value)}};const Rj=Array.isArray;const Nj="object"==typeof global&&global&&global.Object===Object&&global;var Dj="object"==typeof self&&self&&self.Object===Object&&self;const Fj=Nj||Dj||Function("return this")();const Lj=Fj.Symbol;var Pj=Object.prototype,Bj=Pj.hasOwnProperty,$j=Pj.toString,Uj=Lj?Lj.toStringTag:void 0;const Vj=function(e){var t=Bj.call(e,Uj),n=e[Uj];try{e[Uj]=void 0;var i=!0}catch(e){}var r=$j.call(e);return i&&(t?e[Uj]=n:delete e[Uj]),r};var zj=Object.prototype.toString;const jj=function(e){return zj.call(e)};var Yj=Lj?Lj.toStringTag:void 0;const Gj=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Yj&&Yj in Object(e)?Vj(e):jj(e)};const Hj=function(e){return null!=e&&"object"==typeof e};const Wj=function(e){return"symbol"==typeof e||Hj(e)&&"[object Symbol]"==Gj(e)};var Xj=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qj=/^\w*$/;const Kj=function(e,t){if(Rj(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!Wj(e))||(qj.test(e)||!Xj.test(e)||null!=t&&e in Object(t))};const Zj=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)};const Qj=function(e){if(!Zj(e))return!1;var t=Gj(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t};const Jj=Fj["__core-js_shared__"];var eY=function(){var e=/[^.]+$/.exec(Jj&&Jj.keys&&Jj.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();const tY=function(e){return!!eY&&eY in e};var nY=Function.prototype.toString;const iY=function(e){if(null!=e){try{return nY.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var rY=/^\[object .+?Constructor\]$/,sY=Function.prototype,oY=Object.prototype,aY=sY.toString,lY=oY.hasOwnProperty,uY=RegExp("^"+aY.call(lY).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const cY=function(e){return!(!Zj(e)||tY(e))&&(Qj(e)?uY:rY).test(iY(e))};const dY=function(e,t){return null==e?void 0:e[t]};const hY=function(e,t){var n=dY(e,t);return cY(n)?n:void 0};const pY=hY(Object,"create");const fY=function(){this.__data__=pY?pY(null):{},this.size=0};const mY=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t};var gY=Object.prototype.hasOwnProperty;const _Y=function(e){var t=this.__data__;if(pY){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return gY.call(t,e)?t[e]:void 0};var yY=Object.prototype.hasOwnProperty;const vY=function(e){var t=this.__data__;return pY?void 0!==t[e]:yY.call(t,e)};const bY=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=pY&&void 0===t?"__lodash_hash_undefined__":t,this};function TY(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1};const MY=function(e,t){var n=this.__data__,i=IY(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this};function kY(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t(t,n)=>oG(t,n,CI(e)),oG=(e,t,n)=>iG(n,e,e).replace(/\{(\w+)\}/g,(e,n)=>{var i;return`${null!=(i=null==t?void 0:t[n])?i:`{${n}}`}`}),aG=Symbol("localeContextKey"),lG=e=>{const t=e||tO(aG,EI());return(e=>({lang:ak(()=>CI(e).name),locale:xI(e)?e:EI(e),t:sG(e)}))(ak(()=>t.value||rG))};const uG=function(e){for(var t=-1,n=null==e?0:e.length,i={};++t{if(!Jx(e)||Jx(n=e)&&n[cG])return e;var n;const{values:i,required:r,default:s,type:o,validator:a}=e,l=i||a?n=>{let r=!1,o=[];if(i&&(o=Array.from(i),Gx(e,"default")&&o.push(s),r||(r=o.includes(n))),a&&(r||(r=a(n))),!r&&o.length>0){const e=[...new Set(o)].map(e=>JSON.stringify(e)).join(", ");pk(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${e}], got value ${JSON.stringify(n)}.`)}return r}:void 0,u={type:o,required:!!r,validator:l,[cG]:!0};return Gx(e,"default")&&(u.default=s),u},hG=e=>uG(Object.entries(e).map(([e,t])=>[e,dG(t,e)])),pG=["","default","small","large"],fG=dG({type:String,values:pG,required:!1}),mG=Symbol("size"),gG=Symbol("emptyValuesContextKey"),_G=hG({emptyValues:Array,valueOnClear:{type:[String,Number,Boolean,Function],default:void 0,validator:e=>(e=Kx(e)?e():e,Hx(e)?e.every(e=>!e):!e)}}),yG=e=>Object.keys(e),vG=EI();function bG(e,t=void 0){const n=$M()?tO(Qz,vG):vG;return e?ak(()=>{var i,r;return null!=(r=null==(i=n.value)?void 0:i[e])?r:t}):n}const TG=(e,t,n=!1)=>{var i;const r=!!$M(),s=r?bG():void 0,o=null!=(i=null==t?void 0:t.provide)?i:r?eO:void 0;if(!o)return;const a=ak(()=>{const t=CI(e);return(null==s?void 0:s.value)?xG(s.value,t):t});return o(Qz,a),o(aG,ak(()=>a.value.locale)),o(tj,ak(()=>a.value.namespace)),o(Mj,ak(()=>a.value.zIndex)),o(mG,{size:ak(()=>a.value.size||"")}),o(gG,ak(()=>({emptyValues:a.value.emptyValues,valueOnClear:a.value.valueOnClear}))),!n&&vG.value||(vG.value=a.value),a},xG=(e,t)=>{const n=[...new Set([...yG(e),...yG(t)])],i={};for(const r of n)i[r]=void 0!==t[r]?t[r]:e[r];return i},EG=hG({a11y:{type:Boolean,default:!0},locale:{type:Object},size:fG,button:{type:Object},card:{type:Object},dialog:{type:Object},link:{type:Object},experimentalFeatures:{type:Object},keyboardNavigation:{type:Boolean,default:!0},message:{type:Object},zIndex:Number,namespace:{type:String,default:"el"},..._G}),wG={placement:"top"},IG=dS({name:"ElConfigProvider",props:EG,setup(e,{slots:t}){const n=TG(e);return DO(()=>e.message,e=>{var t,i;Object.assign(wG,null!=(i=null==(t=null==n?void 0:n.value)?void 0:t.message)?i:{},null!=e?e:{})},{immediate:!0,deep:!0}),()=>mC(t,"default",{config:null==n?void 0:n.value})}}),AG=(e,t)=>{if(e.install=n=>{for(const i of[e,...Object.values(null!=t?t:{})])n.component(i.name,i)},t)for(const[n,i]of Object.entries(t))e[n]=i;return e},SG=e=>(e.install=Bx,e),CG=AG(IG); /*! Element Plus Icons Vue v2.3.2 */ -var EG=sS({name:"ArrowDown",__name:"arrow-down",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.59 30.59 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.59 30.59 0 0 0-42.752 0z"})]))}),wG=EG,IG=sS({name:"ArrowLeft",__name:"arrow-left",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.59 30.59 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.59 30.59 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0"})]))}),AG=IG,SG=sS({name:"ArrowRight",__name:"arrow-right",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M340.864 149.312a30.59 30.59 0 0 0 0 42.752L652.736 512 340.864 831.872a30.59 30.59 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"})]))}),CG=SG,OG=sS({name:"ArrowUp",__name:"arrow-up",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}),MG=OG,kG=sS({name:"Camera",__name:"camera",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M896 256H128v576h768zm-199.424-64-32.064-64h-304.96l-32 64zM96 192h160l46.336-92.608A64 64 0 0 1 359.552 64h304.96a64 64 0 0 1 57.216 35.328L768.192 192H928a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32m416 512a160 160 0 1 0 0-320 160 160 0 0 0 0 320m0 64a224 224 0 1 1 0-448 224 224 0 0 1 0 448"})]))}),RG=kG,NG=sS({name:"Check",__name:"check",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"})]))}),DG=NG,FG=sS({name:"CircleCheck",__name:"circle-check",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),gM("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752z"})]))}),LG=FG,PG=sS({name:"CircleCloseFilled",__name:"circle-close-filled",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"})]))}),BG=PG,$G=sS({name:"CircleClose",__name:"circle-close",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),gM("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}),UG=$G,VG=sS({name:"CirclePlusFilled",__name:"circle-plus-filled",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0z"})]))}),zG=VG,jG=sS({name:"CirclePlus",__name:"circle-plus",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64"}),gM("path",{fill:"currentColor",d:"M480 672V352a32 32 0 1 1 64 0v320a32 32 0 0 1-64 0"}),gM("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}),YG=jG,GG=sS({name:"Close",__name:"close",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}),HG=GG,WG=sS({name:"Delete",__name:"delete",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}),XG=WG,qG=sS({name:"Document",__name:"document",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}),KG=qG,ZG=sS({name:"EditPen",__name:"edit-pen",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"m199.04 672.64 193.984 112 224-387.968-193.92-112-224 388.032zm-23.872 60.16 32.896 148.288 144.896-45.696zM455.04 229.248l193.92 112 56.704-98.112-193.984-112zM104.32 708.8l384-665.024 304.768 175.936L409.152 884.8h.064l-248.448 78.336zm384 254.272v-64h448v64z"})]))}),QG=ZG,JG=sS({name:"FullScreen",__name:"full-screen",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}),eH=JG,tH=sS({name:"Hide",__name:"hide",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4s-12.8-9.6-22.4-9.6-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176S0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4 12.8 9.6 22.4 9.6 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4m-646.4 528Q115.2 579.2 76.8 512q43.2-72 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4m140.8-96Q352 555.2 352 512c0-44.8 16-83.2 48-112s67.2-48 112-48c28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6q-43.2 72-153.6 172.8c-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176S1024 528 1024 512s-48.001-73.6-134.401-176"}),gM("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112s-67.2 48-112 48"})]))}),nH=tH,iH=sS({name:"InfoFilled",__name:"info-filled",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.99 12.99 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}),rH=iH,sH=sS({name:"Loading",__name:"loading",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248m452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248M828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0"})]))}),oH=sH,aH=sS({name:"More",__name:"more",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96"})]))}),lH=aH,uH=sS({name:"RefreshLeft",__name:"refresh-left",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"})]))}),cH=sS({name:"RefreshRight",__name:"refresh-right",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88"})]))}),dH=sS({name:"ScaleToOriginal",__name:"scale-to-original",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118m-361.412 0a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118M512 361.412a30.12 30.12 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.12 30.12 0 0 0 512 361.412M512 512a30.12 30.12 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.12 30.12 0 0 0 512 512"})]))}),hH=sS({name:"SuccessFilled",__name:"success-filled",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}),pH=sS({name:"View",__name:"view",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}),fH=sS({name:"WarningFilled",__name:"warning-filled",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.43 58.43 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.43 58.43 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}),mH=sS({name:"Warning",__name:"warning",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m48-176a48 48 0 1 1-96 0 48 48 0 0 1 96 0m-48-464a32 32 0 0 1 32 32v288a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"})]))}),gH=sS({name:"ZoomIn",__name:"zoom-in",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}),_H=sS({name:"ZoomOut",__name:"zoom-out",setup:e=>(e,t)=>(iM(),uM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[gM("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))});function yH(e){var t;const n=mj(e);return null!=(t=null==n?void 0:n.$el)?t:n}const vH=dj?window:void 0;dj&&window.document,dj&&window.navigator,dj&&window.location;function bH(...e){let t,n,i,r;if("string"==typeof e[0]||Array.isArray(e[0])?([n,i,r]=e,t=vH):[t,n,i,r]=e,!t)return pj;Array.isArray(n)||(n=[n]),Array.isArray(i)||(i=[i]);const s=[],o=()=>{s.forEach(e=>e()),s.length=0},a=CO(()=>[yH(t),mj(r)],([e,t])=>{o(),e&&s.push(...n.flatMap(n=>i.map(i=>((e,t,n,i)=>(e.addEventListener(t,n,i),()=>e.removeEventListener(t,n,i)))(e,n,i,t))))},{immediate:!0,flush:"post"}),l=()=>{a(),o()};return yj(l),l}let TH=!1;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function xH(e,t=!1){const n=_I(),i=()=>n.value=Boolean(e());return i(),function(e,t=!0){NM()?YS(e):t?e():oA(e)}(i,t),n}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function EH(e){return JSON.parse(JSON.stringify(e))}const wH="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},IH="__vueuse_ssr_handlers__";wH[IH]=wH[IH]||{};wH[IH];Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var AH=Object.getOwnPropertySymbols,SH=Object.prototype.hasOwnProperty,CH=Object.prototype.propertyIsEnumerable;function OH(e,t,n={}){const i=n,{window:r=vH}=i,s=((e,t)=>{var n={};for(var i in e)SH.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&AH)for(var i of AH(e))t.indexOf(i)<0&&CH.call(e,i)&&(n[i]=e[i]);return n})(i,["window"]);let o;const a=xH(()=>r&&"ResizeObserver"in r),l=()=>{o&&(o.disconnect(),o=void 0)},u=CO(()=>yH(e),e=>{l(),a.value&&r&&e&&(o=new ResizeObserver(t),o.observe(e,s))},{immediate:!0,flush:"post"}),c=()=>{l(),u()};return yj(c),{isSupported:a,stop:c}}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function MH(e,t={width:0,height:0},n={}){const{window:i=vH,box:r="content-box"}=n,s=tk(()=>{var t,n;return null==(n=null==(t=yH(e))?void 0:t.namespaceURI)?void 0:n.includes("svg")}),o=_I(t.width),a=_I(t.height);return OH(e,([t])=>{const n="border-box"===r?t.borderBoxSize:"content-box"===r?t.contentBoxSize:t.devicePixelContentBoxSize;if(i&&s.value){const t=yH(e);if(t){const e=i.getComputedStyle(t);o.value=parseFloat(e.width),a.value=parseFloat(e.height)}}else if(n){const e=Array.isArray(n)?n:[n];o.value=e.reduce((e,{inlineSize:t})=>e+t,0),a.value=e.reduce((e,{blockSize:t})=>e+t,0)}else o.value=t.contentRect.width,a.value=t.contentRect.height},n),CO(()=>yH(e),e=>{o.value=e?t.width:0,a.value=e?t.height:0}),{width:o,height:a}}new Map;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var kH,RH;(RH=kH||(kH={})).UP="UP",RH.RIGHT="RIGHT",RH.DOWN="DOWN",RH.LEFT="LEFT",RH.NONE="NONE";Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var NH=Object.defineProperty,DH=Object.getOwnPropertySymbols,FH=Object.prototype.hasOwnProperty,LH=Object.prototype.propertyIsEnumerable,PH=(e,t,n)=>t in e?NH(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;((e,t)=>{for(var n in t||(t={}))FH.call(t,n)&&PH(e,n,t[n]);if(DH)for(var n of DH(t))LH.call(t,n)&&PH(e,n,t[n])})({linear:function(e){return e}},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]});function BH(e,t,n,i={}){var r,s,o;const{clone:a=!1,passive:l=!1,eventName:u,deep:c=!1,defaultValue:d}=i,h=NM(),p=n||(null==h?void 0:h.emit)||(null==(r=null==h?void 0:h.$emit)?void 0:r.bind(h))||(null==(o=null==(s=null==h?void 0:h.proxy)?void 0:s.$emit)?void 0:o.bind(null==h?void 0:h.proxy));let f=u;t||(t="modelValue"),f=u||f||`update:${t.toString()}`;const m=e=>a?hj(a)?a(e):EH(e):e,g=()=>void 0!==e[t]?m(e[t]):d;if(l){const n=_I(g());return CO(()=>e[t],e=>n.value=m(e)),CO(n,n=>{(n!==e[t]||c)&&p(f,n)},{deep:c}),n}return tk({get:()=>g(),set(e){p(f,e)}})}const $H=oG({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"},showZero:{type:Boolean,default:!0},color:String,badgeStyle:{type:[String,Object,Array]},offset:{type:Array,default:[0,0]},badgeClass:{type:String}});var UH=(e,t)=>{const n=e.__vccOpts||e;for(const[e,i]of t)n[e]=i;return n};function VH(e,t="px"){return e?ej(e)||Gx(n=e)&&!Number.isNaN(Number(n))?`${e}${t}`:Gx(e)?e:void 0:"";var n}const zH=sS({name:"ElBadge"}),jH=sS({...zH,props:$H,setup(e,{expose:t}){const n=e,i=Zz("badge"),r=tk(()=>n.isDot?"":ej(n.value)&&ej(n.max)&&n.max{var e,t,i,r,s;return[{backgroundColor:n.color,marginRight:VH(-(null!=(t=null==(e=n.offset)?void 0:e[0])?t:0)),marginTop:VH(null!=(r=null==(i=n.offset)?void 0:i[1])?r:0)},null!=(s=n.badgeStyle)?s:{}]});return t({content:r}),(e,t)=>(iM(),uM("div",{class:xE(xI(i).b())},[uC(e.$slots,"default"),_M(Ak,{name:`${xI(i).namespace.value}-zoom-in-center`,persisted:""},{default:MA(()=>[kA(gM("sup",{class:xE([xI(i).e("content"),xI(i).em("content",e.type),xI(i).is("fixed",!!e.$slots.default),xI(i).is("dot",e.isDot),xI(i).is("hide-zero",!e.showZero&&0===n.value),e.badgeClass]),style:_E(xI(s))},[uC(e.$slots,"content",{value:xI(r)},()=>[TM($E(xI(r)),1)])],6),[[zk,!e.hidden&&(xI(r)||e.isDot||e.$slots.content)]])]),_:3},8,["name"])],2))}});const YH=bG(UH(jH,[["__file","badge.vue"]])),GH=oG({size:{type:[Number,String]},color:{type:String}}),HH=sS({name:"ElIcon",inheritAttrs:!1});const WH=bG(UH(sS({...HH,props:GH,setup(e){const t=e,n=Zz("icon"),i=tk(()=>{const{size:e,color:n}=t;return e||n?{fontSize:Qz(e)?void 0:VH(e),"--color":n}:{}});return(e,t)=>(iM(),uM("i",SM({class:xI(n).b(),style:xI(i)},e.$attrs),[uC(e.$slots,"default")],16))}}),[["__file","icon.vue"]])),XH=[String,Object,Function],qH={Close:HG,SuccessFilled:hH,InfoFilled:rH,WarningFilled:fH,CircleCloseFilled:BG},KH={primary:rH,success:hH,warning:fH,error:BG,info:rH},ZH={validating:oH,success:LG,error:UG},QH=["primary","success","info","warning","error"],JH=["top","top-left","top-right","bottom","bottom-left","bottom-right"],eW="top",tW={customClass:"",dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,placement:void 0,zIndex:0,grouping:!1,repeatNum:1,appendTo:dj?document.body:void 0},nW=oG({customClass:{type:String,default:tW.customClass},dangerouslyUseHTMLString:{type:Boolean,default:tW.dangerouslyUseHTMLString},duration:{type:Number,default:tW.duration},icon:{type:XH,default:tW.icon},id:{type:String,default:tW.id},message:{type:[String,Object,Function],default:tW.message},onClose:{type:Function,default:tW.onClose},showClose:{type:Boolean,default:tW.showClose},type:{type:String,values:QH,default:tW.type},plain:{type:Boolean,default:tW.plain},offset:{type:Number,default:tW.offset},placement:{type:String,values:JH,default:tW.placement},zIndex:{type:Number,default:tW.zIndex},grouping:{type:Boolean,default:tW.grouping},repeatNum:{type:Number,default:tW.repeatNum}}),iW=rI({}),rW=(e,t)=>{const{prev:n}=((e,t)=>{const n=iW[t]||[],i=n.findIndex(t=>t.id===e),r=n[i];let s;return i>0&&(s=n[i-1]),{current:r,prev:s}})(e,t);return n?n.vm.exposed.bottom.value:0},sW={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"},oW=sS({name:"ElMessage"}),aW=sS({...oW,props:nW,emits:{destroy:()=>!0},setup(e,{expose:t,emit:n}){const i=e,{Close:r}=qH,s=_I(!1),{ns:o,zIndex:a}=function(e,t){const n=fG(),i=Zz(e,tk(()=>{var e;return(null==(e=n.value)?void 0:e.namespace)||Wz})),r=nG(tk(()=>{var e;return null==(e=n.value)?void 0:e.locale})),s=Ij(tk(()=>{var e;return(null==(e=n.value)?void 0:e.zIndex)||2e3})),o=tk(()=>{var e;return xI(t)||(null==(e=n.value)?void 0:e.size)||""});return mG(tk(()=>xI(n)||{})),{ns:i,locale:r,zIndex:s,size:o}}("message"),{currentZIndex:l,nextZIndex:u}=a,c=_I(),d=_I(!1),h=_I(0);let p;const f=tk(()=>i.type?"error"===i.type?"danger":i.type:"info"),m=tk(()=>{const e=i.type;return{[o.bm("icon",e)]:e&&KH[e]}}),g=tk(()=>i.icon||KH[i.type]||""),_=tk(()=>i.placement||eW),y=tk(()=>rW(i.id,_.value)),v=tk(()=>((e,t,n)=>(iW[n]||[]).findIndex(t=>t.id===e)>0?16:t)(i.id,i.offset,_.value)+y.value),b=tk(()=>h.value+v.value),T=tk(()=>_.value.includes("left")?o.is("left"):_.value.includes("right")?o.is("right"):o.is("center")),x=tk(()=>_.value.startsWith("top")?"top":"bottom"),E=tk(()=>({[x.value]:`${v.value}px`,zIndex:l.value}));function w(){0!==i.duration&&({stop:p}=bj(()=>{A()},i.duration))}function I(){null==p||p()}function A(){d.value=!1,oA(()=>{var e;s.value||(null==(e=i.onClose)||e.call(i),n("destroy"))})}return YS(()=>{w(),u(),d.value=!0}),CO(()=>i.repeatNum,()=>{I(),w()}),bH(document,"keydown",function({code:e}){e===sW.esc&&A()}),OH(c,()=>{h.value=c.value.getBoundingClientRect().height}),t({visible:d,bottom:b,close:A}),(e,t)=>(iM(),cM(Ak,{name:xI(o).b("fade"),onBeforeEnter:e=>s.value=!0,onBeforeLeave:e.onClose,onAfterLeave:t=>e.$emit("destroy"),persisted:""},{default:MA(()=>[kA(gM("div",{id:e.id,ref_key:"messageRef",ref:c,class:xE([xI(o).b(),{[xI(o).m(e.type)]:e.type},xI(o).is("closable",e.showClose),xI(o).is("plain",e.plain),xI(o).is("bottom","bottom"===xI(x)),xI(T),e.customClass]),style:_E(xI(E)),role:"alert",onMouseenter:I,onMouseleave:w},[e.repeatNum>1?(iM(),cM(xI(YH),{key:0,value:e.repeatNum,type:xI(f),class:xE(xI(o).e("badge"))},null,8,["value","type","class"])):EM("v-if",!0),xI(g)?(iM(),cM(xI(WH),{key:1,class:xE([xI(o).e("icon"),xI(m)])},{default:MA(()=>[(iM(),cM(iC(xI(g))))]),_:1},8,["class"])):EM("v-if",!0),uC(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(iM(),uM(ZO,{key:1},[EM(" Caution here, message could've been compromised, never use user's input as message "),gM("p",{class:xE(xI(o).e("content")),innerHTML:e.message},null,10,["innerHTML"])],2112)):(iM(),uM("p",{key:0,class:xE(xI(o).e("content"))},$E(e.message),3))]),e.showClose?(iM(),cM(xI(WH),{key:2,class:xE(xI(o).e("closeBtn")),onClick:YR(A,["stop"])},{default:MA(()=>[_M(xI(r))]),_:1},8,["class","onClick"])):EM("v-if",!0)],46,["id"]),[[zk,d.value]])]),_:3},8,["name","onBeforeEnter","onBeforeLeave","onAfterLeave"]))}});var lW=UH(aW,[["__file","message.vue"]]);class uW extends Error{constructor(e){super(e),this.name="ElementPlusError"}}function cW(e,t){throw new uW(`[${e}] ${t}`)}let dW=1;const hW=e=>{const t=!e||Gx(e)||dM(e)||Yx(e)?{message:e}:e,n={...tW,...t};return(e=>{if(e.appendTo){if(Gx(e.appendTo)){let t=document.querySelector(e.appendTo);tj(t)||(t=document.body),e.appendTo=t}}else e.appendTo=document.body})(n),(e=>{!e.placement&&Gx(yG.placement)&&yG.placement&&(e.placement=yG.placement),e.placement||(e.placement=eW),JH.includes(e.placement)||(e.placement,e.placement=eW)})(n),Jz(yG.grouping)&&!n.grouping&&(n.grouping=yG.grouping),ej(yG.duration)&&3e3===n.duration&&(n.duration=yG.duration),ej(yG.offset)&&16===n.offset&&(n.offset=yG.offset),Jz(yG.showClose)&&!n.showClose&&(n.showClose=yG.showClose),Jz(yG.plain)&&!n.plain&&(n.plain=yG.plain),n},pW=({appendTo:e,...t},n)=>{const i="message_"+dW++,r=t.onClose,s=document.createElement("div"),o={...t,id:i,onClose:()=>{null==r||r(),(e=>{const t=e.props.placement||eW,n=iW[t],i=n.indexOf(e);if(-1===i)return;n.splice(i,1);const{handler:r}=e;r.close()})(c)},onDestroy:()=>{QR(null,s)}},a=_M(lW,o,Yx(o.message)||dM(o.message)?{default:Yx(o.message)?o.message:()=>o.message}:null);a.appContext=n||fW._context,QR(a,s),e.appendChild(s.firstElementChild);const l=a.component,u={close:()=>{l.exposed.close()}},c={id:i,vnode:a,vm:l,handler:u,props:a.component.props};return c},fW=(e={},t)=>{if(!dj)return{close:()=>{}};const n=hW(e),i=(r=n.placement||eW,iW[r]||(iW[r]=rI([])),iW[r]);var r;if(n.grouping&&i.length){const e=i.find(({vnode:e})=>{var t;return(null==(t=e.props)?void 0:t.message)===n.message});if(e)return e.props.repeatNum+=1,e.props.type=n.type,e.handler}if(ej(yG.max)&&i.length>=yG.max)return{close:()=>{}};const s=pW(n,t);return i.push(s),s.handler};QH.forEach(e=>{fW[e]=(t={},n)=>{const i=hW(t);return fW({...i,type:e},n)}}),fW.closeAll=function(e){for(const t in iW)if($x(iW,t)){const n=[...iW[t]];for(const t of n)e&&e!==t.props.type||t.handler.close()}},fW.closeAllByPlacement=function(e){if(!iW[e])return;[...iW[e]].forEach(e=>e.handler.close())},fW._context=null;const mW=((e,t)=>(e.install=n=>{e._context=n._context,n.config.globalProperties[t]=e},e))(fW,"$message"),gW=oG({layout:{type:String,default:"horizontal",values:["horizontal","vertical"]},lazy:Boolean}),_W=Symbol("splitterRootContextKey");function yW(e){return Number(e.slice(0,-1))/100}function vW(e){return Number(e.slice(0,-2))}function bW(e){return Gx(e)&&e.endsWith("%")}function TW(e){return Gx(e)&&e.endsWith("px")}function xW(e,t,n,i){function r(e,n){return bW(e)?yW(e)*t.value||0:TW(e)?vW(e):null!=e?e:n}const s=_I(0),o=_I(null);let a=[],l=Rx;const u=tk(()=>e.value.map(e=>[e.min,e.max]));CO(i,()=>{if(s.value){const e=new MouseEvent("mouseup",{bubbles:!0});window.dispatchEvent(e)}});const c=[];return{lazyOffset:s,onMoveStart:e=>{s.value=0,o.value={index:e,confirmed:!1},a=n.value},onMoving:(n,c)=>{var d,h;let p=null;if(!(o.value&&o.value.confirmed||0===c))if(c>0)p=n,o.value={index:n,confirmed:!0};else for(let e=n;e>=0;e-=1)if(a[e]>0){p=e,o.value={index:e,confirmed:!0};break}const f=null!=(h=null!=p?p:null==(d=o.value)?void 0:d.index)?h:n,m=[...a],g=f+1,_=r(u.value[f][0],0),y=r(u.value[g][0],0),v=r(u.value[f][1],t.value||0),b=r(u.value[g][1],t.value||0);let T=c;m[f]+T<_&&(T=_-m[f]),m[g]-Tv&&(T=v-m[f]),m[g]-T>b&&(T=m[g]-b),m[f]+=T,m[g]-=T,s.value=T,l=()=>{e.value.forEach((e,t)=>{e.size=m[t]}),l=Rx},i.value||l()},onMoveEnd:()=>{i.value&&l(),s.value=0,o.value=null,a=[]},movingIndex:o,onCollapse:(t,i)=>{c.length||c.push(...n.value);const r=n.value,s="start"===i?t:t+1,o="start"===i?t+1:t,a=r[s],l=r[o];if(0!==a&&0!==l)r[s]=0,r[o]+=a,c[t]=a;else{const e=a+l,n=c[t],i=e-n;r[o]=n,r[s]=i}e.value.forEach((e,t)=>{e.size=r[t]})}}}const EW=e=>{const t=Ux(e)?e:[e],n=[];return t.forEach(e=>{var t;Ux(e)?n.push(...EW(e)):dM(e)&&(null==(t=e.component)?void 0:t.subTree)?n.push(e,...EW(e.component.subTree)):dM(e)&&Ux(e.children)?n.push(...EW(e.children)):dM(e)&&2===e.shapeFlag?n.push(...EW(e.type())):n.push(e)}),n},wW=(e,t)=>{const n=yI({}),i=yI([]),r=new WeakMap,s=()=>{i.value=((e,t,n)=>{const i=EW(e.subTree).filter(e=>{var n;return dM(e)&&(null==(n=e.type)?void 0:n.name)===t&&!!e.component});return i.map(e=>e.component.uid).map(e=>n[e]).filter(e=>!!e)})(e,t,n.value)},o=e=>e.render(),a=sS({setup:(e,{slots:t})=>()=>(s(),t.default?nk(o,{render:t.default}):null)});return{children:i,addChild:e=>{n.value[e.uid]=e,TI(n),YS(()=>{const t=e.getVnode().el,i=t.parentNode;if(!r.has(i)){r.set(i,[]);const e=i.insertBefore.bind(i);i.insertBefore=(t,s)=>(r.get(i).some(e=>t===e||s===e)&&TI(n),e(t,s))}r.get(i).push(t)})},removeChild:e=>{delete n.value[e.uid],TI(n);const t=e.getVnode().el,i=t.parentNode,s=r.get(i),o=s.indexOf(t);s.splice(o,1)},ChildrenSorter:a}},IW=sS({name:"ElSplitter"}),AW=sS({...IW,props:gW,emits:["resizeStart","resize","resizeEnd","collapse"],setup(e,{emit:t}){const n=e,i=Zz("splitter"),r=kI(n,"layout"),s=kI(n,"lazy"),{containerEl:o,containerSize:a}=function(e){const t=_I(),{width:n,height:i}=MH(t);return{containerEl:t,containerSize:tk(()=>"horizontal"===e.value?n.value:i.value)}}(r),{removeChild:l,children:u,addChild:c,ChildrenSorter:d}=wW(NM(),"ElSplitterPanel");CO(u,()=>{u.value.forEach((e,t)=>{e.setIndex(t)})});const{percentSizes:h,pxSizes:p}=function(e,t){const n=tk(()=>e.value.map(e=>e.size)),i=tk(()=>e.value.length),r=_I([]);CO([n,i,t],()=>{var n;let s=[],o=0;for(let r=0;re+(t||0),0);if(a>1||!o){const e=1/a;s=s.map(t=>void 0===t?0:t*e)}else{const e=(1-a)/o;s=s.map(t=>void 0===t?e:t)}r.value=s});const s=e=>e*t.value,o=tk(()=>r.value.map(s));return{percentSizes:r,pxSizes:o}}(u,a),{lazyOffset:f,movingIndex:m,onMoveStart:g,onMoving:_,onMoveEnd:y,onCollapse:v}=xW(u,a,p,s),b=tk(()=>({[`--${i.b()}-bar-offset`]:s.value?`${f.value}px`:void 0}));return XC(_W,iI({panels:u,percentSizes:h,pxSizes:p,layout:r,lazy:s,movingIndex:m,containerSize:a,onMoveStart:e=>{g(e),t("resizeStart",e,p.value)},onMoving:(e,n)=>{_(e,n),s.value||t("resize",e,p.value)},onMoveEnd:async e=>{y(),await oA(),t("resizeEnd",e,p.value)},onCollapse:(e,n)=>{v(e,n),t("collapse",e,n,p.value)},registerPanel:c,unregisterPanel:l})),(e,t)=>(iM(),uM("div",{ref_key:"containerEl",ref:o,class:xE([xI(i).b(),xI(i).e(xI(r))]),style:_E(xI(b))},[uC(e.$slots,"default"),_M(xI(d)),EM(" Prevent iframe touch events from breaking "),xI(m)?(iM(),uM("div",{key:0,class:xE([xI(i).e("mask"),xI(i).e(`mask-${xI(r)}`)])},null,2)):EM("v-if",!0)],6))}});var SW=UH(AW,[["__file","splitter.vue"]]);function CW(e,t,n,i){return!!((null==e?void 0:e.collapsible.end)&&t>0)||!!((null==n?void 0:n.collapsible.start)&&0===i&&t>0)}const OW=sS({name:"ElSplitterBar"}),MW=sS({...OW,props:{index:{type:Number,required:!0},layout:{type:String,values:["horizontal","vertical"],default:"horizontal"},resizable:{type:Boolean,default:!0},lazy:Boolean,startCollapsible:Boolean,endCollapsible:Boolean},emits:["moveStart","moving","moveEnd","collapse"],setup(e,{emit:t}){const n=e,i=Zz("splitter-bar"),r=tk(()=>"horizontal"===n.layout),s=tk(()=>r.value?{width:0}:{height:0}),o=tk(()=>({width:r.value?"16px":"100%",height:r.value?"100%":"16px",cursor:n.resizable?r.value?"ew-resize":"ns-resize":"auto",touchAction:"none"})),a=tk(()=>{const e=i.e("dragger");return{[`${e}-horizontal`]:r.value,[`${e}-vertical`]:!r.value,[`${e}-active`]:!!l.value}}),l=_I(null),u=e=>{n.resizable&&(l.value=[e.pageX,e.pageY],t("moveStart",n.index),window.addEventListener("mouseup",p),window.addEventListener("mousemove",d))},c=e=>{if(n.resizable&&1===e.touches.length){e.preventDefault();const i=e.touches[0];l.value=[i.pageX,i.pageY],t("moveStart",n.index),window.addEventListener("touchend",f),window.addEventListener("touchmove",h)}},d=e=>{const{pageX:i,pageY:s}=e,o=i-l.value[0],a=s-l.value[1],u=r.value?o:a;t("moving",n.index,u)},h=e=>{if(1===e.touches.length){e.preventDefault();const i=e.touches[0],s=i.pageX-l.value[0],o=i.pageY-l.value[1],a=r.value?s:o;t("moving",n.index,a)}},p=()=>{l.value=null,window.removeEventListener("mouseup",p),window.removeEventListener("mousemove",d),t("moveEnd",n.index)},f=()=>{l.value=null,window.removeEventListener("touchend",f),window.removeEventListener("touchmove",h),t("moveEnd",n.index)},m=tk(()=>r.value?AG:MG),g=tk(()=>r.value?CG:wG);return(n,r)=>(iM(),uM("div",{class:xE([xI(i).b()]),style:_E(xI(s))},[e.startCollapsible?(iM(),uM("div",{key:0,class:xE([xI(i).e("collapse-icon"),xI(i).e(`${e.layout}-collapse-icon-start`)]),onClick:n=>t("collapse",e.index,"start")},[uC(n.$slots,"start-collapsible",{},()=>[(iM(),cM(iC(xI(m)),{style:{width:"12px",height:"12px"}}))])],10,["onClick"])):EM("v-if",!0),gM("div",{class:xE([xI(i).e("dragger"),xI(a),xI(i).is("disabled",!e.resizable),xI(i).is("lazy",e.resizable&&e.lazy)]),style:_E(xI(o)),onMousedown:u,onTouchstart:c},null,38),e.endCollapsible?(iM(),uM("div",{key:1,class:xE([xI(i).e("collapse-icon"),xI(i).e(`${e.layout}-collapse-icon-end`)]),onClick:n=>t("collapse",e.index,"end")},[uC(n.$slots,"end-collapsible",{},()=>[(iM(),cM(iC(xI(g)),{style:{width:"12px",height:"12px"}}))])],10,["onClick"])):EM("v-if",!0)],6))}});var kW=UH(MW,[["__file","split-bar.vue"]]);const RW=oG({min:{type:[String,Number]},max:{type:[String,Number]},size:{type:[String,Number]},resizable:{type:Boolean,default:!0},collapsible:Boolean}),NW="ElSplitterPanel",DW=sS({name:NW}),FW=sS({...DW,props:RW,emits:["update:size"],setup(e,{emit:t}){const n=e,i=Zz("splitter-panel"),r=qC(_W);r||cW(NW,"usage: ");const{panels:s,layout:o,lazy:a,containerSize:l,pxSizes:u}=CI(r),{registerPanel:c,unregisterPanel:d,onCollapse:h,onMoveEnd:p,onMoveStart:f,onMoving:m}=r,g=_I(),_=NM(),y=_.uid,v=_I(0),b=tk(()=>s.value[v.value]),T=tk(()=>{var e;return b.value&&null!=(e=u.value[v.value])?e:0}),x=tk(()=>{var e;return b.value&&null!=(e=u.value[v.value+1])?e:0}),E=tk(()=>b.value?s.value[v.value+1]:null),w=tk(()=>{var e;return!!E.value&&(n.resizable&&(null==(e=E.value)?void 0:e.resizable)&&(0!==T.value||!n.min)&&(0!==x.value||!E.value.min))}),I=tk(()=>!!b.value&&v.value!==s.value.length-1),A=tk(()=>CW(b.value,T.value,E.value,x.value)),S=tk(()=>CW(E.value,x.value,b.value,T.value));function C(e){return bW(e)?yW(e)*l.value||0:TW(e)?vW(e):null!=e?e:0}let O=!1;CO(()=>n.size,()=>{if(!O&&b.value){if(!l.value)return void(b.value.size=n.size);const e=C(n.size),i=C(n.max),r=C(n.min),s=Math.min(Math.max(e,r||0),i||e);s!==e&&t("update:size",s),b.value.size=s}}),CO(()=>{var e;return null==(e=b.value)?void 0:e.size},e=>{e!==n.size&&(O=!0,t("update:size",e),oA(()=>O=!1))}),CO(()=>n.resizable,e=>{b.value&&(b.value.resizable=e)});const M=iI({el:g.value,uid:y,getVnode:()=>_.vnode,setIndex:e=>{v.value=e},...n,collapsible:tk(()=>{return(e=n.collapsible)&&Wx(e)?e:{start:!!e,end:!!e};var e})});return c(M),WS(()=>d(M)),(e,t)=>(iM(),uM(ZO,null,[gM("div",SM({ref_key:"panelEl",ref:g,class:[xI(i).b()],style:{flexBasis:`${xI(T)}px`}},e.$attrs),[uC(e.$slots,"default")],16),xI(I)?(iM(),cM(kW,{key:0,index:v.value,layout:xI(o),lazy:xI(a),resizable:xI(w),"start-collapsible":xI(A),"end-collapsible":xI(S),onMoveStart:xI(f),onMoving:xI(m),onMoveEnd:xI(p),onCollapse:xI(h)},{"start-collapsible":MA(()=>[uC(e.$slots,"start-collapsible")]),"end-collapsible":MA(()=>[uC(e.$slots,"end-collapsible")]),_:3},8,["index","layout","lazy","resizable","start-collapsible","end-collapsible","onMoveStart","onMoving","onMoveEnd","onCollapse"])):EM("v-if",!0)],64))}});var LW=UH(FW,[["__file","split-panel.vue"]]);const PW=bG(SW,{SplitPanel:LW}),BW=TG(LW),$W=Symbol("buttonGroupContextKey"),UW={prefix:Math.floor(1e4*Math.random()),current:0},VW=Symbol("elIdInjection"),zW=()=>NM()?qC(VW,UW):UW,jW=e=>{const t=zW(),n=Kz();return cj(()=>xI(e)||`${n.value}-id-${t.prefix}-${t.current++}`)},YW=Symbol("formContextKey"),GW=Symbol("formItemContextKey"),HW=()=>({form:qC(YW,void 0),formItem:qC(GW,void 0)}),WW=(e,{formItemContext:t,disableIdGeneration:n,disableIdManagement:i})=>{n||(n=_I(!1)),i||(i=_I(!1));const r=NM(),s=_I();let o;const a=tk(()=>{var n;return!!(!e.label&&!e.ariaLabel&&t&&t.inputIds&&(null==(n=t.inputIds)?void 0:n.length)<=1)});return YS(()=>{o=CO([kI(e,"id"),n],([e,n])=>{const o=null!=e?e:n?void 0:jW().value;o!==s.value&&((null==t?void 0:t.removeInputId)&&!(()=>{let e=null==r?void 0:r.parent;for(;e;){if("ElFormItem"===e.type.name)return!1;if("ElLabelWrap"===e.type.name)return!0;e=e.parent}return!1})()&&(s.value&&t.removeInputId(s.value),(null==i?void 0:i.value)||n||!o||t.addInputId(o)),s.value=o)},{immediate:!0})}),XS(()=>{o&&o(),(null==t?void 0:t.removeInputId)&&s.value&&t.removeInputId(s.value)}),{isLabeledByFormItem:a,inputId:s}},XW=e=>{const t=NM();return tk(()=>{var n,i;return null==(i=null==(n=null==t?void 0:t.proxy)?void 0:n.$props)?void 0:i[e]})},qW=(e,t={})=>{const n=_I(void 0),i=t.prop?n:XW("size"),r=t.global?n:(()=>{const e=qC(uG,{});return tk(()=>xI(e.size)||"")})(),s=t.form?{size:void 0}:qC(YW,void 0),o=t.formItem?{size:void 0}:qC(GW,void 0);return tk(()=>i.value||xI(e)||(null==o?void 0:o.size)||(null==s?void 0:s.size)||r.value||"")},KW=e=>{const t=XW("disabled"),n=qC(YW,void 0);return tk(()=>t.value||xI(e)||(null==n?void 0:n.disabled)||!1)},ZW=(e,t)=>{(({from:e,replacement:t,scope:n,version:i,ref:r,type:s="API"},o)=>{CO(()=>xI(o),e=>{},{immediate:!0})})({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},tk(()=>"text"===e.type));const n=qC($W,void 0),i=fG("button"),{form:r}=HW(),s=qW(tk(()=>null==n?void 0:n.size)),o=KW(),a=_I(),l=wC(),u=tk(()=>{var t;return e.type||(null==n?void 0:n.type)||(null==(t=i.value)?void 0:t.type)||""}),c=tk(()=>{var t,n,r;return null!=(r=null!=(n=e.autoInsertSpace)?n:null==(t=i.value)?void 0:t.autoInsertSpace)&&r}),d=tk(()=>{var t,n,r;return null!=(r=null!=(n=e.plain)?n:null==(t=i.value)?void 0:t.plain)&&r}),h=tk(()=>{var t,n,r;return null!=(r=null!=(n=e.round)?n:null==(t=i.value)?void 0:t.round)&&r}),p=tk(()=>{var t,n,r;return null!=(r=null!=(n=e.text)?n:null==(t=i.value)?void 0:t.text)&&r}),f=tk(()=>"button"===e.tag?{ariaDisabled:o.value||e.loading,disabled:o.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),m=tk(()=>{var e;const t=null==(e=l.default)?void 0:e.call(l);if(c.value&&1===(null==t?void 0:t.length)){const e=t[0];if((null==e?void 0:e.type)===QO){const t=e.children;return/^\p{Unified_Ideograph}{2}$/u.test(t.trim())}}return!1});return{_disabled:o,_size:s,_type:u,_ref:a,_props:f,_plain:d,_round:h,_text:p,shouldAddSpace:m,handleClick:n=>{o.value||e.loading?n.stopPropagation():("reset"===e.nativeType&&(null==r||r.resetFields()),t("click",n))}}},QW=oG({size:lG,disabled:Boolean,type:{type:String,values:["default","primary","success","warning","info","danger","text",""],default:""},icon:{type:XH},nativeType:{type:String,values:["button","submit","reset"],default:"button"},loading:Boolean,loadingIcon:{type:XH,default:()=>oH},plain:{type:Boolean,default:void 0},text:{type:Boolean,default:void 0},link:Boolean,bg:Boolean,autofocus:Boolean,round:{type:Boolean,default:void 0},circle:Boolean,color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0},tag:{type:[String,Object],default:"button"}}),JW={click:e=>e instanceof MouseEvent};function eX(e,t){(function(e){return"string"==typeof e&&-1!==e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var n=function(e){return"string"==typeof e&&-1!==e.indexOf("%")}(e);return e=360===t?e:Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:e=360===t?(e<0?e%t+t:e%t)/parseFloat(String(t)):e%t/parseFloat(String(t))}function tX(e){return Math.min(1,Math.max(0,e))}function nX(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function iX(e){return e<=1?"".concat(100*Number(e),"%"):e}function rX(e){return 1===e.length?"0"+e:String(e)}function sX(e,t,n){e=eX(e,255),t=eX(t,255),n=eX(n,255);var i=Math.max(e,t,n),r=Math.min(e,t,n),s=0,o=0,a=(i+r)/2;if(i===r)o=0,s=0;else{var l=i-r;switch(o=a>.5?l/(2-i-r):l/(i+r),i){case e:s=(t-n)/l+(t1&&(n-=1),n<1/6?e+6*n*(t-e):n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function aX(e,t,n){e=eX(e,255),t=eX(t,255),n=eX(n,255);var i=Math.max(e,t,n),r=Math.min(e,t,n),s=0,o=i,a=i-r,l=0===i?0:a/i;if(i===r)s=0;else{switch(i){case e:s=(t-n)/a+(t>16,g:(65280&e)>>8,b:255&e}}(t)),this.originalInput=t;var r=pX(t);this.originalInput=t,this.r=r.r,this.g=r.g,this.b=r.b,this.a=r.a,this.roundA=Math.round(100*this.a)/100,this.format=null!==(i=n.format)&&void 0!==i?i:r.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=r.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},e.prototype.getLuminance=function(){var e=this.toRgb(),t=e.r/255,n=e.g/255,i=e.b/255;return.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(e){return this.a=nX(e),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){return 0===this.toHsl().s},e.prototype.toHsv=function(){var e=aX(this.r,this.g,this.b);return{h:360*e.h,s:e.s,v:e.v,a:this.a}},e.prototype.toHsvString=function(){var e=aX(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),i=Math.round(100*e.v);return 1===this.a?"hsv(".concat(t,", ").concat(n,"%, ").concat(i,"%)"):"hsva(".concat(t,", ").concat(n,"%, ").concat(i,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var e=sX(this.r,this.g,this.b);return{h:360*e.h,s:e.s,l:e.l,a:this.a}},e.prototype.toHslString=function(){var e=sX(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),i=Math.round(100*e.l);return 1===this.a?"hsl(".concat(t,", ").concat(n,"%, ").concat(i,"%)"):"hsla(".concat(t,", ").concat(n,"%, ").concat(i,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(e){return void 0===e&&(e=!1),lX(this.r,this.g,this.b,e)},e.prototype.toHexString=function(e){return void 0===e&&(e=!1),"#"+this.toHex(e)},e.prototype.toHex8=function(e){return void 0===e&&(e=!1),function(e,t,n,i,r){var s=[rX(Math.round(e).toString(16)),rX(Math.round(t).toString(16)),rX(Math.round(n).toString(16)),rX(uX(i))];return r&&s[0].startsWith(s[0].charAt(1))&&s[1].startsWith(s[1].charAt(1))&&s[2].startsWith(s[2].charAt(1))&&s[3].startsWith(s[3].charAt(1))?s[0].charAt(0)+s[1].charAt(0)+s[2].charAt(0)+s[3].charAt(0):s.join("")}(this.r,this.g,this.b,this.a,e)},e.prototype.toHex8String=function(e){return void 0===e&&(e=!1),"#"+this.toHex8(e)},e.prototype.toHexShortString=function(e){return void 0===e&&(e=!1),1===this.a?this.toHexString(e):this.toHex8String(e)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var e=Math.round(this.r),t=Math.round(this.g),n=Math.round(this.b);return 1===this.a?"rgb(".concat(e,", ").concat(t,", ").concat(n,")"):"rgba(".concat(e,", ").concat(t,", ").concat(n,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var e=function(e){return"".concat(Math.round(100*eX(e,255)),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var e=function(e){return Math.round(100*eX(e,255))};return 1===this.a?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var e="#"+lX(this.r,this.g,this.b,!1),t=0,n=Object.entries(hX);t=0;return t||!i||!e.startsWith("hex")&&"name"!==e?("rgb"===e&&(n=this.toRgbString()),"prgb"===e&&(n=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(n=this.toHexString()),"hex3"===e&&(n=this.toHexString(!0)),"hex4"===e&&(n=this.toHex8String(!0)),"hex8"===e&&(n=this.toHex8String()),"name"===e&&(n=this.toName()),"hsl"===e&&(n=this.toHslString()),"hsv"===e&&(n=this.toHsvString()),n||this.toHexString()):"name"===e&&0===this.a?this.toName():this.toRgbString()},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=tX(n.l),new e(n)},e.prototype.brighten=function(t){void 0===t&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(-t/100*255))),n.g=Math.max(0,Math.min(255,n.g-Math.round(-t/100*255))),n.b=Math.max(0,Math.min(255,n.b-Math.round(-t/100*255))),new e(n)},e.prototype.darken=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=tX(n.l),new e(n)},e.prototype.tint=function(e){return void 0===e&&(e=10),this.mix("white",e)},e.prototype.shade=function(e){return void 0===e&&(e=10),this.mix("black",e)},e.prototype.desaturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=tX(n.s),new e(n)},e.prototype.saturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=tX(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),i=(n.h+t)%360;return n.h=i<0?360+i:i,new e(n)},e.prototype.mix=function(t,n){void 0===n&&(n=50);var i=this.toRgb(),r=new e(t).toRgb(),s=n/100;return new e({r:(r.r-i.r)*s+i.r,g:(r.g-i.g)*s+i.g,b:(r.b-i.b)*s+i.b,a:(r.a-i.a)*s+i.a})},e.prototype.analogous=function(t,n){void 0===t&&(t=6),void 0===n&&(n=30);var i=this.toHsl(),r=360/n,s=[this];for(i.h=(i.h-(r*t>>1)+720)%360;--t;)i.h=(i.h+r)%360,s.push(new e(i));return s},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var n=this.toHsv(),i=n.h,r=n.s,s=n.v,o=[],a=1/t;t--;)o.push(new e({h:i,s:r,v:s})),s=(s+a)%1;return o},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),i=new e(t).toRgb(),r=n.a+i.a*(1-n.a);return new e({r:(n.r*n.a+i.r*i.a*(1-n.a))/r,g:(n.g*n.a+i.g*i.a*(1-n.a))/r,b:(n.b*n.a+i.b*i.a*(1-n.a))/r,a:r})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),i=n.h,r=[this],s=360/t,o=1;o{let i={},r=e.color;if(r){const s=r.match(/var\((.*?)\)/);s&&(r=window.getComputedStyle(window.document.documentElement).getPropertyValue(s[1]));const o=new vX(r),a=e.dark?o.tint(20).toString():bX(o,20);if(e.plain)i=n.cssVarBlock({"bg-color":e.dark?bX(o,90):o.tint(90).toString(),"text-color":r,"border-color":e.dark?bX(o,50):o.tint(50).toString(),"hover-text-color":`var(${n.cssVarName("color-white")})`,"hover-bg-color":r,"hover-border-color":r,"active-bg-color":a,"active-text-color":`var(${n.cssVarName("color-white")})`,"active-border-color":a}),t.value&&(i[n.cssVarBlockName("disabled-bg-color")]=e.dark?bX(o,90):o.tint(90).toString(),i[n.cssVarBlockName("disabled-text-color")]=e.dark?bX(o,50):o.tint(50).toString(),i[n.cssVarBlockName("disabled-border-color")]=e.dark?bX(o,80):o.tint(80).toString());else{const s=e.dark?bX(o,30):o.tint(30).toString(),l=o.isDark()?`var(${n.cssVarName("color-white")})`:`var(${n.cssVarName("color-black")})`;if(i=n.cssVarBlock({"bg-color":r,"text-color":l,"border-color":r,"hover-bg-color":s,"hover-text-color":l,"hover-border-color":s,"active-bg-color":a,"active-border-color":a}),t.value){const t=e.dark?bX(o,50):o.tint(50).toString();i[n.cssVarBlockName("disabled-bg-color")]=t,i[n.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${n.cssVarName("color-white")})`,i[n.cssVarBlockName("disabled-border-color")]=t}}}return i})}(i),s=Zz("button"),{_ref:o,_size:a,_type:l,_disabled:u,_props:c,_plain:d,_round:h,_text:p,shouldAddSpace:f,handleClick:m}=ZW(i,n),g=tk(()=>[s.b(),s.m(l.value),s.m(a.value),s.is("disabled",u.value),s.is("loading",i.loading),s.is("plain",d.value),s.is("round",h.value),s.is("circle",i.circle),s.is("text",p.value),s.is("link",i.link),s.is("has-bg",i.bg)]);return t({ref:o,size:a,type:l,disabled:u,shouldAddSpace:f}),(e,t)=>(iM(),cM(iC(e.tag),SM({ref_key:"_ref",ref:o},xI(c),{class:xI(g),style:xI(r),onClick:xI(m)}),{default:MA(()=>[e.loading?(iM(),uM(ZO,{key:0},[e.$slots.loading?uC(e.$slots,"loading",{key:0}):(iM(),cM(xI(WH),{key:1,class:xE(xI(s).is("loading"))},{default:MA(()=>[(iM(),cM(iC(e.loadingIcon)))]),_:1},8,["class"]))],64)):e.icon||e.$slots.icon?(iM(),cM(xI(WH),{key:1},{default:MA(()=>[e.icon?(iM(),cM(iC(e.icon),{key:0})):uC(e.$slots,"icon",{key:1})]),_:3})):EM("v-if",!0),e.$slots.default?(iM(),uM("span",{key:2,class:xE({[xI(s).em("text","expand")]:xI(f)})},[uC(e.$slots,"default")],2)):EM("v-if",!0)]),_:3},16,["class","style","onClick"]))}});var EX=UH(xX,[["__file","button.vue"]]);const wX={size:QW.size,type:QW.type},IX=sS({name:"ElButtonGroup"});var AX=UH(sS({...IX,props:wX,setup(e){const t=e;XC($W,iI({size:kI(t,"size"),type:kI(t,"type")}));const n=Zz("button");return(e,t)=>(iM(),uM("div",{class:xE(xI(n).b("group"))},[uC(e.$slots,"default")],2))}}),[["__file","button-group.vue"]]);const SX=bG(EX,{ButtonGroup:AX}),CX=(TG(AX),oG({header:{type:String,default:""},footer:{type:String,default:""},bodyStyle:{type:[String,Object,Array],default:""},headerClass:String,bodyClass:String,footerClass:String,shadow:{type:String,values:["always","hover","never"],default:void 0}})),OX=(Symbol("cardContextKey"),sS({name:"ElCard"})),MX=sS({...OX,props:CX,setup(e){const t=fG("card"),n=Zz("card");return(e,i)=>{var r;return iM(),uM("div",{class:xE([xI(n).b(),xI(n).is(`${e.shadow||(null==(r=xI(t))?void 0:r.shadow)||"always"}-shadow`)])},[e.$slots.header||e.header?(iM(),uM("div",{key:0,class:xE([xI(n).e("header"),e.headerClass])},[uC(e.$slots,"header",{},()=>[TM($E(e.header),1)])],2)):EM("v-if",!0),gM("div",{class:xE([xI(n).e("body"),e.bodyClass]),style:_E(e.bodyStyle)},[uC(e.$slots,"default")],6),e.$slots.footer||e.footer?(iM(),uM("div",{key:1,class:xE([xI(n).e("footer"),e.footerClass])},[uC(e.$slots,"footer",{},()=>[TM($E(e.footer),1)])],2)):EM("v-if",!0)],2)}}});const kX=bG(UH(MX,[["__file","card.vue"]]));var RX=__webpack_require__(4213),NX=__webpack_require__(71710),DX=__webpack_require__.n(NX);const FX=function(e){return null==e};let LX;const PX={height:"0",visibility:"hidden",overflow:dj&&/firefox/i.test(window.navigator.userAgent)?"":"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},BX=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break"];function $X(e,t=1,n){var i,r;LX||(LX=document.createElement("textarea"),(null!=(i=e.parentNode)?i:document.body).appendChild(LX));const{paddingSize:s,borderSize:o,boxSizing:a,contextStyle:l}=function(e){const t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing"),i=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),r=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:BX.map(e=>[e,t.getPropertyValue(e)]),paddingSize:i,borderSize:r,boxSizing:n}}(e);l.forEach(([e,t])=>null==LX?void 0:LX.style.setProperty(e,t)),Object.entries(PX).forEach(([e,t])=>null==LX?void 0:LX.style.setProperty(e,t,"important")),LX.value=e.value||e.placeholder||"";let u=LX.scrollHeight;const c={};"border-box"===a?u+=o:"content-box"===a&&(u-=s),LX.value="";const d=LX.scrollHeight-s;if(ej(t)){let e=d*t;"border-box"===a&&(e=e+s+o),u=Math.max(e,u),c.minHeight=`${e}px`}if(ej(n)){let e=d*n;"border-box"===a&&(e=e+s+o),u=Math.min(e,u)}return c.height=`${u}px`,null==(r=LX.parentNode)||r.removeChild(LX),LX=void 0,c}var UX=function(){try{var e=oY(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();const VX=UX;const zX=function(e,t,n){"__proto__"==t&&VX?VX(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n};var jX=Object.prototype.hasOwnProperty;const YX=function(e,t,n){var i=e[t];jX.call(e,t)&&yY(i,n)&&(void 0!==n||t in e)||zX(e,t,n)};var GX=/^(?:0|[1-9]\d*)$/;const HX=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&GX.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=9007199254740991};const nq=function(e,t,n){for(var i=-1,r=(t=XY(t,e)).length,s=!1;++i0&&i(l)?n>1?e(l,n-1,i,r,s):sq(s,l):r||(s[s.length]=l)}return s};const uq=function(e){return(null==e?0:e.length)?lq(e,1):[]};const cq=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)};var dq=Math.max;const hq=function(e,t,n){return t=dq(void 0===t?e.length-1:t,0),function(){for(var i=arguments,r=-1,s=dq(i.length-t,0),o=Array(s);++r0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}};const yq=_q(mq);const vq=function(e){return yq(hq(e,void 0,uq),e+"")};var bq=vq(function(e,t){return null==e?{}:rq(e,t)});const Tq=bq,xq=oG({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),Eq=e=>Tq(xq,e),wq="update:modelValue",Iq="change",Aq="input",Sq=oG({id:{type:String,default:void 0},size:lG,disabled:Boolean,modelValue:{type:[String,Number,Object],default:""},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:String,default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:[Boolean,Object],default:!1},autocomplete:{type:String,default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:Boolean,clearable:Boolean,clearIcon:{type:XH,default:UG},showPassword:Boolean,showWordLimit:Boolean,suffixIcon:{type:XH},prefixIcon:{type:XH},containerRole:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:[Object,Array,String],default:()=>({})},autofocus:Boolean,rows:{type:Number,default:2},...Eq(["ariaLabel"]),inputmode:{type:String,default:void 0},name:String}),Cq={[wq]:e=>Gx(e),input:e=>Gx(e),change:e=>Gx(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent},Oq=["class","style"],Mq=/^on[A-Z]/,kq=(e={})=>{const{excludeListeners:t=!1,excludeKeys:n}=e,i=tk(()=>((null==n?void 0:n.value)||[]).concat(Oq)),r=NM();return tk(r?()=>{var e;return iG(Object.entries(null==(e=r.proxy)?void 0:e.$attrs).filter(([e])=>!(i.value.includes(e)||t&&Mq.test(e))))}:()=>({}))},Rq=e=>"undefined"!=typeof Element&&e instanceof Element,Nq=e=>{if(e.tabIndex>0||0===e.tabIndex&&null!==e.getAttribute("tabIndex"))return!0;if(e.tabIndex<0||e.hasAttribute("disabled")||"true"===e.getAttribute("aria-disabled"))return!1;switch(e.nodeName){case"A":return!!e.href&&"ignore"!==e.rel;case"INPUT":return!("hidden"===e.type||"file"===e.type);case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},Dq=(e,t)=>{if(!e||!e.focus)return;let n=!1;!Rq(e)||Nq(e)||e.getAttribute("tabindex")||(e.setAttribute("tabindex","-1"),n=!0),e.focus(t),Rq(e)&&n&&e.removeAttribute("tabindex")};const Fq=sS({name:"ElInput",inheritAttrs:!1}),Lq=sS({...Fq,props:Sq,emits:Cq,setup(e,{expose:t,emit:n}){const i=e,r=IC(),s=kq(),o=wC(),a=tk(()=>["textarea"===i.type?m.b():f.b(),f.m(h.value),f.is("disabled",p.value),f.is("exceed",B.value),{[f.b("group")]:o.prepend||o.append,[f.m("prefix")]:o.prefix||i.prefixIcon,[f.m("suffix")]:o.suffix||i.suffixIcon||i.clearable||i.showPassword,[f.bm("suffix","password-clear")]:D.value&&F.value,[f.b("hidden")]:"hidden"===i.type},r.class]),l=tk(()=>[f.e("wrapper"),f.is("focus",w.value)]),{form:u,formItem:c}=HW(),{inputId:d}=WW(i,{formItemContext:c}),h=qW(),p=KW(),f=Zz("input"),m=Zz("textarea"),g=yI(),_=yI(),y=_I(!1),v=_I(!1),b=_I(),T=yI(i.inputStyle),x=tk(()=>g.value||_.value),{wrapperRef:E,isFocused:w,handleFocus:I,handleBlur:A}=function(e,{disabled:t,beforeFocus:n,afterFocus:i,beforeBlur:r,afterBlur:s}={}){const o=NM(),{emit:a}=o,l=yI(),u=_I(!1),c=e=>{const r=!!Yx(n)&&n(e);xI(t)||u.value||r||(u.value=!0,a("focus",e),null==i||i())},d=e=>{var n;const i=!!Yx(r)&&r(e);xI(t)||e.relatedTarget&&(null==(n=l.value)?void 0:n.contains(e.relatedTarget))||i||(u.value=!1,a("blur",e),null==s||s())};return CO([l,()=>xI(t)],([e,t])=>{e&&(t?e.removeAttribute("tabindex"):e.setAttribute("tabindex","-1"))}),bH(l,"focus",c,!0),bH(l,"blur",d,!0),bH(l,"click",n=>{var i,r;xI(t)||Nq(n.target)||(null==(i=l.value)?void 0:i.contains(document.activeElement))&&l.value!==document.activeElement||null==(r=e.value)||r.focus()},!0),{isFocused:u,wrapperRef:l,handleFocus:c,handleBlur:d}}(x,{disabled:p,afterBlur(){var e;i.validateEvent&&(null==(e=null==c?void 0:c.validate)||e.call(c,"blur").catch(e=>{}))}}),S=tk(()=>{var e;return null!=(e=null==u?void 0:u.statusIcon)&&e}),C=tk(()=>(null==c?void 0:c.validateState)||""),O=tk(()=>C.value&&ZH[C.value]),M=tk(()=>v.value?pH:nH),k=tk(()=>[r.style]),R=tk(()=>[i.inputStyle,T.value,{resize:i.resize}]),N=tk(()=>FX(i.modelValue)?"":String(i.modelValue)),D=tk(()=>i.clearable&&!p.value&&!i.readonly&&!!N.value&&(w.value||y.value)),F=tk(()=>i.showPassword&&!p.value&&!!N.value),L=tk(()=>i.showWordLimit&&!!i.maxlength&&("text"===i.type||"textarea"===i.type)&&!p.value&&!i.readonly&&!i.showPassword),P=tk(()=>N.value.length),B=tk(()=>!!L.value&&P.value>Number(i.maxlength)),$=tk(()=>!!o.suffix||!!i.suffixIcon||D.value||i.showPassword||L.value||!!C.value&&S.value),[U,V]=function(e){let t;return[function(){if(null==e.value)return;const{selectionStart:n,selectionEnd:i,value:r}=e.value;if(null==n||null==i)return;const s=r.slice(0,Math.max(0,n)),o=r.slice(Math.max(0,i));t={selectionStart:n,selectionEnd:i,value:r,beforeTxt:s,afterTxt:o}},function(){if(null==e.value||null==t)return;const{value:n}=e.value,{beforeTxt:i,afterTxt:r,selectionStart:s}=t;if(null==i||null==r||null==s)return;let o=n.length;if(n.endsWith(r))o=n.length-r.length;else if(n.startsWith(i))o=i.length;else{const e=i[s-1],t=n.indexOf(e,s-1);-1!==t&&(o=t+1)}e.value.setSelectionRange(o,o)}]}(g);OH(_,e=>{if(j(),!L.value||"both"!==i.resize)return;const t=e[0],{width:n}=t.contentRect;b.value={right:`calc(100% - ${n+15+6}px)`}});const z=()=>{const{type:e,autosize:t}=i;if(dj&&"textarea"===e&&_.value)if(t){const e=Wx(t)?t.minRows:void 0,n=Wx(t)?t.maxRows:void 0,i=$X(_.value,e,n);T.value={overflowY:"hidden",...i},oA(()=>{_.value.offsetHeight,T.value=i})}else T.value={minHeight:$X(_.value).minHeight}},j=(e=>{let t=!1;return()=>{var n;if(t||!i.autosize)return;null===(null==(n=_.value)?void 0:n.offsetParent)||(setTimeout(e),t=!0)}})(z),Y=()=>{const e=x.value,t=i.formatter?i.formatter(N.value):N.value;e&&e.value!==t&&(e.value=t)},G=async e=>{U();let{value:t}=e.target;i.formatter&&i.parser&&(t=i.parser(t)),W.value||(t!==N.value?(n(wq,t),n(Aq,t),await oA(),Y(),V()):Y())},H=e=>{let{value:t}=e.target;i.formatter&&i.parser&&(t=i.parser(t)),n(Iq,t)},{isComposing:W,handleCompositionStart:X,handleCompositionUpdate:q,handleCompositionEnd:K}=function({afterComposition:e,emit:t}){const n=_I(!1),i=e=>{var i;null==t||t("compositionupdate",e);const r=null==(i=e.target)?void 0:i.value,s=r[r.length-1]||"";n.value=!(e=>/([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(e))(s)},r=i=>{null==t||t("compositionend",i),n.value&&(n.value=!1,oA(()=>e(i)))};return{isComposing:n,handleComposition:e=>{"compositionend"===e.type?r(e):i(e)},handleCompositionStart:e=>{null==t||t("compositionstart",e),n.value=!0},handleCompositionUpdate:i,handleCompositionEnd:r}}({emit:n,afterComposition:G}),Z=()=>{U(),v.value=!v.value,setTimeout(V)},Q=e=>{y.value=!1,n("mouseleave",e)},J=e=>{y.value=!0,n("mouseenter",e)},ee=e=>{n("keydown",e)},te=()=>{n(wq,""),n(Iq,""),n("clear"),n(Aq,"")};return CO(()=>i.modelValue,()=>{var e;oA(()=>z()),i.validateEvent&&(null==(e=null==c?void 0:c.validate)||e.call(c,"change").catch(e=>{}))}),CO(N,()=>Y()),CO(()=>i.type,async()=>{await oA(),Y(),z()}),YS(()=>{!i.formatter&&i.parser,Y(),oA(z)}),t({input:g,textarea:_,ref:x,textareaStyle:R,autosize:kI(i,"autosize"),isComposing:W,focus:()=>{var e;return null==(e=x.value)?void 0:e.focus()},blur:()=>{var e;return null==(e=x.value)?void 0:e.blur()},select:()=>{var e;null==(e=x.value)||e.select()},clear:te,resizeTextarea:z}),(e,t)=>(iM(),uM("div",{class:xE([xI(a),{[xI(f).bm("group","append")]:e.$slots.append,[xI(f).bm("group","prepend")]:e.$slots.prepend}]),style:_E(xI(k)),onMouseenter:J,onMouseleave:Q},[EM(" input "),"textarea"!==e.type?(iM(),uM(ZO,{key:0},[EM(" prepend slot "),e.$slots.prepend?(iM(),uM("div",{key:0,class:xE(xI(f).be("group","prepend"))},[uC(e.$slots,"prepend")],2)):EM("v-if",!0),gM("div",{ref_key:"wrapperRef",ref:E,class:xE(xI(l))},[EM(" prefix slot "),e.$slots.prefix||e.prefixIcon?(iM(),uM("span",{key:0,class:xE(xI(f).e("prefix"))},[gM("span",{class:xE(xI(f).e("prefix-inner"))},[uC(e.$slots,"prefix"),e.prefixIcon?(iM(),cM(xI(WH),{key:0,class:xE(xI(f).e("icon"))},{default:MA(()=>[(iM(),cM(iC(e.prefixIcon)))]),_:1},8,["class"])):EM("v-if",!0)],2)],2)):EM("v-if",!0),gM("input",SM({id:xI(d),ref_key:"input",ref:g,class:xI(f).e("inner")},xI(s),{name:e.name,minlength:e.minlength,maxlength:e.maxlength,type:e.showPassword?v.value?"text":"password":e.type,disabled:xI(p),readonly:e.readonly,autocomplete:e.autocomplete,tabindex:e.tabindex,"aria-label":e.ariaLabel,placeholder:e.placeholder,style:e.inputStyle,form:e.form,autofocus:e.autofocus,role:e.containerRole,inputmode:e.inputmode,onCompositionstart:xI(X),onCompositionupdate:xI(q),onCompositionend:xI(K),onInput:G,onChange:H,onKeydown:ee}),null,16,["id","name","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus","role","inputmode","onCompositionstart","onCompositionupdate","onCompositionend"]),EM(" suffix slot "),xI($)?(iM(),uM("span",{key:1,class:xE(xI(f).e("suffix"))},[gM("span",{class:xE(xI(f).e("suffix-inner"))},[xI(D)&&xI(F)&&xI(L)?EM("v-if",!0):(iM(),uM(ZO,{key:0},[uC(e.$slots,"suffix"),e.suffixIcon?(iM(),cM(xI(WH),{key:0,class:xE(xI(f).e("icon"))},{default:MA(()=>[(iM(),cM(iC(e.suffixIcon)))]),_:1},8,["class"])):EM("v-if",!0)],64)),xI(D)?(iM(),cM(xI(WH),{key:1,class:xE([xI(f).e("icon"),xI(f).e("clear")]),onMousedown:YR(xI(Rx),["prevent"]),onClick:te},{default:MA(()=>[(iM(),cM(iC(e.clearIcon)))]),_:1},8,["class","onMousedown"])):EM("v-if",!0),xI(F)?(iM(),cM(xI(WH),{key:2,class:xE([xI(f).e("icon"),xI(f).e("password")]),onClick:Z},{default:MA(()=>[(iM(),cM(iC(xI(M))))]),_:1},8,["class"])):EM("v-if",!0),xI(L)?(iM(),uM("span",{key:3,class:xE(xI(f).e("count"))},[gM("span",{class:xE(xI(f).e("count-inner"))},$E(xI(P))+" / "+$E(e.maxlength),3)],2)):EM("v-if",!0),xI(C)&&xI(O)&&xI(S)?(iM(),cM(xI(WH),{key:4,class:xE([xI(f).e("icon"),xI(f).e("validateIcon"),xI(f).is("loading","validating"===xI(C))])},{default:MA(()=>[(iM(),cM(iC(xI(O))))]),_:1},8,["class"])):EM("v-if",!0)],2)],2)):EM("v-if",!0)],2),EM(" append slot "),e.$slots.append?(iM(),uM("div",{key:1,class:xE(xI(f).be("group","append"))},[uC(e.$slots,"append")],2)):EM("v-if",!0)],64)):(iM(),uM(ZO,{key:1},[EM(" textarea "),gM("textarea",SM({id:xI(d),ref_key:"textarea",ref:_,class:[xI(m).e("inner"),xI(f).is("focus",xI(w))]},xI(s),{minlength:e.minlength,maxlength:e.maxlength,tabindex:e.tabindex,disabled:xI(p),readonly:e.readonly,autocomplete:e.autocomplete,style:xI(R),"aria-label":e.ariaLabel,placeholder:e.placeholder,form:e.form,autofocus:e.autofocus,rows:e.rows,role:e.containerRole,onCompositionstart:xI(X),onCompositionupdate:xI(q),onCompositionend:xI(K),onInput:G,onFocus:xI(I),onBlur:xI(A),onChange:H,onKeydown:ee}),null,16,["id","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus","rows","role","onCompositionstart","onCompositionupdate","onCompositionend","onFocus","onBlur"]),xI(L)?(iM(),uM("span",{key:0,style:_E(b.value),class:xE(xI(f).e("count"))},$E(xI(P))+" / "+$E(e.maxlength),7)):EM("v-if",!0)],64))],38))}});const Pq=bG(UH(Lq,[["__file","input.vue"]])),Bq=Symbol("popper"),$q=Symbol("popperContent"),Uq=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],Vq=oG({role:{type:String,values:Uq,default:"tooltip"}}),zq=sS({name:"ElPopper",inheritAttrs:!1});const jq=bG(UH(sS({...zq,props:Vq,setup(e,{expose:t}){const n=e,i={triggerRef:_I(),popperInstanceRef:_I(),contentRef:_I(),referenceRef:_I(),role:tk(()=>n.role)};return t(i),XC(Bq,i),(e,t)=>uC(e.$slots,"default")}}),[["__file","popper.vue"]])),Yq=Symbol("elTooltip");var Gq="top",Hq="bottom",Wq="right",Xq="left",qq="auto",Kq=[Gq,Hq,Wq,Xq],Zq="start",Qq="end",Jq="viewport",eK="popper",tK=Kq.reduce(function(e,t){return e.concat([t+"-"+Zq,t+"-"+Qq])},[]),nK=[].concat(Kq,[qq]).reduce(function(e,t){return e.concat([t,t+"-"+Zq,t+"-"+Qq])},[]),iK=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function rK(e){return e?(e.nodeName||"").toLowerCase():null}function sK(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function oK(e){return e instanceof sK(e).Element||e instanceof Element}function aK(e){return e instanceof sK(e).HTMLElement||e instanceof HTMLElement}function lK(e){return"undefined"!=typeof ShadowRoot&&(e instanceof sK(e).ShadowRoot||e instanceof ShadowRoot)}var uK={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var n=t.styles[e]||{},i=t.attributes[e]||{},r=t.elements[e];!aK(r)||!rK(r)||(Object.assign(r.style,n),Object.keys(i).forEach(function(e){var t=i[e];!1===t?r.removeAttribute(e):r.setAttribute(e,!0===t?"":t)}))})},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(e){var i=t.elements[e],r=t.attributes[e]||{},s=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce(function(e,t){return e[t]="",e},{});!aK(i)||!rK(i)||(Object.assign(i.style,s),Object.keys(r).forEach(function(e){i.removeAttribute(e)}))})}},requires:["computeStyles"]};function cK(e){return e.split("-")[0]}var dK=Math.max,hK=Math.min,pK=Math.round;function fK(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect(),i=1,r=1;if(aK(e)&&t){var s=e.offsetHeight,o=e.offsetWidth;o>0&&(i=pK(n.width)/o||1),s>0&&(r=pK(n.height)/s||1)}return{width:n.width/i,height:n.height/r,top:n.top/r,right:n.right/i,bottom:n.bottom/r,left:n.left/i,x:n.left/i,y:n.top/r}}function mK(e){var t=fK(e),n=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:i}}function gK(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&lK(n)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function _K(e){return sK(e).getComputedStyle(e)}function yK(e){return["table","td","th"].indexOf(rK(e))>=0}function vK(e){return((oK(e)?e.ownerDocument:e.document)||window.document).documentElement}function bK(e){return"html"===rK(e)?e:e.assignedSlot||e.parentNode||(lK(e)?e.host:null)||vK(e)}function TK(e){return aK(e)&&"fixed"!==_K(e).position?e.offsetParent:null}function xK(e){for(var t=sK(e),n=TK(e);n&&yK(n)&&"static"===_K(n).position;)n=TK(n);return n&&("html"===rK(n)||"body"===rK(n)&&"static"===_K(n).position)?t:n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&aK(e)&&"fixed"===_K(e).position)return null;var n=bK(e);for(lK(n)&&(n=n.host);aK(n)&&["html","body"].indexOf(rK(n))<0;){var i=_K(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||t}function EK(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function wK(e,t,n){return dK(e,hK(t,n))}function IK(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function AK(e,t){return t.reduce(function(t,n){return t[n]=e,t},{})}var SK={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,i=e.name,r=e.options,s=n.elements.arrow,o=n.modifiersData.popperOffsets,a=cK(n.placement),l=EK(a),u=[Xq,Wq].indexOf(a)>=0?"height":"width";if(s&&o){var c=function(e,t){return IK("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:AK(e,Kq))}(r.padding,n),d=mK(s),h="y"===l?Gq:Xq,p="y"===l?Hq:Wq,f=n.rects.reference[u]+n.rects.reference[l]-o[l]-n.rects.popper[u],m=o[l]-n.rects.reference[l],g=xK(s),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,y=f/2-m/2,v=c[h],b=_-d[u]-c[p],T=_/2-d[u]/2+y,x=wK(v,T,b),E=l;n.modifiersData[i]=((t={})[E]=x,t.centerOffset=x-T,t)}},effect:function(e){var t=e.state,n=e.options.element,i=void 0===n?"[data-popper-arrow]":n;null!=i&&("string"==typeof i&&!(i=t.elements.popper.querySelector(i))||!gK(t.elements.popper,i)||(t.elements.arrow=i))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function CK(e){return e.split("-")[1]}var OK={top:"auto",right:"auto",bottom:"auto",left:"auto"};function MK(e){var t,n=e.popper,i=e.popperRect,r=e.placement,s=e.variation,o=e.offsets,a=e.position,l=e.gpuAcceleration,u=e.adaptive,c=e.roundOffsets,d=e.isFixed,h=o.x,p=void 0===h?0:h,f=o.y,m=void 0===f?0:f,g="function"==typeof c?c({x:p,y:m}):{x:p,y:m};p=g.x,m=g.y;var _=o.hasOwnProperty("x"),y=o.hasOwnProperty("y"),v=Xq,b=Gq,T=window;if(u){var x=xK(n),E="clientHeight",w="clientWidth";if(x===sK(n)&&("static"!==_K(x=vK(n)).position&&"absolute"===a&&(E="scrollHeight",w="scrollWidth")),r===Gq||(r===Xq||r===Wq)&&s===Qq)b=Hq,m-=(d&&x===T&&T.visualViewport?T.visualViewport.height:x[E])-i.height,m*=l?1:-1;if(r===Xq||(r===Gq||r===Hq)&&s===Qq)v=Wq,p-=(d&&x===T&&T.visualViewport?T.visualViewport.width:x[w])-i.width,p*=l?1:-1}var I,A=Object.assign({position:a},u&&OK),S=!0===c?function(e){var t=e.x,n=e.y,i=window.devicePixelRatio||1;return{x:pK(t*i)/i||0,y:pK(n*i)/i||0}}({x:p,y:m}):{x:p,y:m};return p=S.x,m=S.y,l?Object.assign({},A,((I={})[b]=y?"0":"",I[v]=_?"0":"",I.transform=(T.devicePixelRatio||1)<=1?"translate("+p+"px, "+m+"px)":"translate3d("+p+"px, "+m+"px, 0)",I)):Object.assign({},A,((t={})[b]=y?m+"px":"",t[v]=_?p+"px":"",t.transform="",t))}var kK={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,i=n.gpuAcceleration,r=void 0===i||i,s=n.adaptive,o=void 0===s||s,a=n.roundOffsets,l=void 0===a||a,u={placement:cK(t.placement),variation:CK(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,MK(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,MK(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},RK={passive:!0};var NK={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,i=e.options,r=i.scroll,s=void 0===r||r,o=i.resize,a=void 0===o||o,l=sK(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&u.forEach(function(e){e.addEventListener("scroll",n.update,RK)}),a&&l.addEventListener("resize",n.update,RK),function(){s&&u.forEach(function(e){e.removeEventListener("scroll",n.update,RK)}),a&&l.removeEventListener("resize",n.update,RK)}},data:{}},DK={left:"right",right:"left",bottom:"top",top:"bottom"};function FK(e){return e.replace(/left|right|bottom|top/g,function(e){return DK[e]})}var LK={start:"end",end:"start"};function PK(e){return e.replace(/start|end/g,function(e){return LK[e]})}function BK(e){var t=sK(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function $K(e){return fK(vK(e)).left+BK(e).scrollLeft}function UK(e){var t=_K(e),n=t.overflow,i=t.overflowX,r=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+r+i)}function VK(e){return["html","body","#document"].indexOf(rK(e))>=0?e.ownerDocument.body:aK(e)&&UK(e)?e:VK(bK(e))}function zK(e,t){var n;void 0===t&&(t=[]);var i=VK(e),r=i===(null==(n=e.ownerDocument)?void 0:n.body),s=sK(i),o=r?[s].concat(s.visualViewport||[],UK(i)?i:[]):i,a=t.concat(o);return r?a:a.concat(zK(bK(o)))}function jK(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function YK(e,t){return t===Jq?jK(function(e){var t=sK(e),n=vK(e),i=t.visualViewport,r=n.clientWidth,s=n.clientHeight,o=0,a=0;return i&&(r=i.width,s=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(o=i.offsetLeft,a=i.offsetTop)),{width:r,height:s,x:o+$K(e),y:a}}(e)):oK(t)?function(e){var t=fK(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):jK(function(e){var t,n=vK(e),i=BK(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=dK(n.scrollWidth,n.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=dK(n.scrollHeight,n.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-i.scrollLeft+$K(e),l=-i.scrollTop;return"rtl"===_K(r||n).direction&&(a+=dK(n.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(vK(e)))}function GK(e,t,n){var i="clippingParents"===t?function(e){var t=zK(bK(e)),n=["absolute","fixed"].indexOf(_K(e).position)>=0&&aK(e)?xK(e):e;return oK(n)?t.filter(function(e){return oK(e)&&gK(e,n)&&"body"!==rK(e)}):[]}(e):[].concat(t),r=[].concat(i,[n]),s=r[0],o=r.reduce(function(t,n){var i=YK(e,n);return t.top=dK(i.top,t.top),t.right=hK(i.right,t.right),t.bottom=hK(i.bottom,t.bottom),t.left=dK(i.left,t.left),t},YK(e,s));return o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}function HK(e){var t,n=e.reference,i=e.element,r=e.placement,s=r?cK(r):null,o=r?CK(r):null,a=n.x+n.width/2-i.width/2,l=n.y+n.height/2-i.height/2;switch(s){case Gq:t={x:a,y:n.y-i.height};break;case Hq:t={x:a,y:n.y+n.height};break;case Wq:t={x:n.x+n.width,y:l};break;case Xq:t={x:n.x-i.width,y:l};break;default:t={x:n.x,y:n.y}}var u=s?EK(s):null;if(null!=u){var c="y"===u?"height":"width";switch(o){case Zq:t[u]=t[u]-(n[c]/2-i[c]/2);break;case Qq:t[u]=t[u]+(n[c]/2-i[c]/2)}}return t}function WK(e,t){void 0===t&&(t={});var n=t,i=n.placement,r=void 0===i?e.placement:i,s=n.boundary,o=void 0===s?"clippingParents":s,a=n.rootBoundary,l=void 0===a?Jq:a,u=n.elementContext,c=void 0===u?eK:u,d=n.altBoundary,h=void 0!==d&&d,p=n.padding,f=void 0===p?0:p,m=IK("number"!=typeof f?f:AK(f,Kq)),g=c===eK?"reference":eK,_=e.rects.popper,y=e.elements[h?g:c],v=GK(oK(y)?y:y.contextElement||vK(e.elements.popper),o,l),b=fK(e.elements.reference),T=HK({reference:b,element:_,strategy:"absolute",placement:r}),x=jK(Object.assign({},_,T)),E=c===eK?x:b,w={top:v.top-E.top+m.top,bottom:E.bottom-v.bottom+m.bottom,left:v.left-E.left+m.left,right:E.right-v.right+m.right},I=e.modifiersData.offset;if(c===eK&&I){var A=I[r];Object.keys(w).forEach(function(e){var t=[Wq,Hq].indexOf(e)>=0?1:-1,n=[Gq,Hq].indexOf(e)>=0?"y":"x";w[e]+=A[n]*t})}return w}var XK={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var r=n.mainAxis,s=void 0===r||r,o=n.altAxis,a=void 0===o||o,l=n.fallbackPlacements,u=n.padding,c=n.boundary,d=n.rootBoundary,h=n.altBoundary,p=n.flipVariations,f=void 0===p||p,m=n.allowedAutoPlacements,g=t.options.placement,_=cK(g),y=l||(_===g||!f?[FK(g)]:function(e){if(cK(e)===qq)return[];var t=FK(e);return[PK(e),t,PK(t)]}(g)),v=[g].concat(y).reduce(function(e,n){return e.concat(cK(n)===qq?function(e,t){void 0===t&&(t={});var n=t,i=n.placement,r=n.boundary,s=n.rootBoundary,o=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,u=void 0===l?nK:l,c=CK(i),d=c?a?tK:tK.filter(function(e){return CK(e)===c}):Kq,h=d.filter(function(e){return u.indexOf(e)>=0});0===h.length&&(h=d);var p=h.reduce(function(t,n){return t[n]=WK(e,{placement:n,boundary:r,rootBoundary:s,padding:o})[cK(n)],t},{});return Object.keys(p).sort(function(e,t){return p[e]-p[t]})}(t,{placement:n,boundary:c,rootBoundary:d,padding:u,flipVariations:f,allowedAutoPlacements:m}):n)},[]),b=t.rects.reference,T=t.rects.popper,x=new Map,E=!0,w=v[0],I=0;I=0,M=O?"width":"height",k=WK(t,{placement:A,boundary:c,rootBoundary:d,altBoundary:h,padding:u}),R=O?C?Wq:Xq:C?Hq:Gq;b[M]>T[M]&&(R=FK(R));var N=FK(R),D=[];if(s&&D.push(k[S]<=0),a&&D.push(k[R]<=0,k[N]<=0),D.every(function(e){return e})){w=A,E=!1;break}x.set(A,D)}if(E)for(var F=function(e){var t=v.find(function(t){var n=x.get(t);if(n)return n.slice(0,e).every(function(e){return e})});if(t)return w=t,"break"},L=f?3:1;L>0;L--){if("break"===F(L))break}t.placement!==w&&(t.modifiersData[i]._skip=!0,t.placement=w,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function qK(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function KK(e){return[Gq,Wq,Hq,Xq].some(function(t){return e[t]>=0})}var ZK={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,i=t.rects.reference,r=t.rects.popper,s=t.modifiersData.preventOverflow,o=WK(t,{elementContext:"reference"}),a=WK(t,{altBoundary:!0}),l=qK(o,i),u=qK(a,r,s),c=KK(l),d=KK(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":d})}};var QK={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,i=e.name,r=n.offset,s=void 0===r?[0,0]:r,o=nK.reduce(function(e,n){return e[n]=function(e,t,n){var i=cK(e),r=[Xq,Gq].indexOf(i)>=0?-1:1,s="function"==typeof n?n(Object.assign({},t,{placement:e})):n,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Xq,Wq].indexOf(i)>=0?{x:a,y:o}:{x:o,y:a}}(n,t.rects,s),e},{}),a=o[t.placement],l=a.x,u=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[i]=o}};var JK={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=HK({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}};var eZ={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,i=e.name,r=n.mainAxis,s=void 0===r||r,o=n.altAxis,a=void 0!==o&&o,l=n.boundary,u=n.rootBoundary,c=n.altBoundary,d=n.padding,h=n.tether,p=void 0===h||h,f=n.tetherOffset,m=void 0===f?0:f,g=WK(t,{boundary:l,rootBoundary:u,padding:d,altBoundary:c}),_=cK(t.placement),y=CK(t.placement),v=!y,b=EK(_),T=function(e){return"x"===e?"y":"x"}(b),x=t.modifiersData.popperOffsets,E=t.rects.reference,w=t.rects.popper,I="function"==typeof m?m(Object.assign({},t.rects,{placement:t.placement})):m,A="number"==typeof I?{mainAxis:I,altAxis:I}:Object.assign({mainAxis:0,altAxis:0},I),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,C={x:0,y:0};if(x){if(s){var O,M="y"===b?Gq:Xq,k="y"===b?Hq:Wq,R="y"===b?"height":"width",N=x[b],D=N+g[M],F=N-g[k],L=p?-w[R]/2:0,P=y===Zq?E[R]:w[R],B=y===Zq?-w[R]:-E[R],$=t.elements.arrow,U=p&&$?mK($):{width:0,height:0},V=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=V[M],j=V[k],Y=wK(0,E[R],U[R]),G=v?E[R]/2-L-Y-z-A.mainAxis:P-Y-z-A.mainAxis,H=v?-E[R]/2+L+Y+j+A.mainAxis:B+Y+j+A.mainAxis,W=t.elements.arrow&&xK(t.elements.arrow),X=W?"y"===b?W.clientTop||0:W.clientLeft||0:0,q=null!=(O=null==S?void 0:S[b])?O:0,K=N+H-q,Z=wK(p?hK(D,N+G-q-X):D,N,p?dK(F,K):F);x[b]=Z,C[b]=Z-N}if(a){var Q,J="x"===b?Gq:Xq,ee="x"===b?Hq:Wq,te=x[T],ne="y"===T?"height":"width",ie=te+g[J],re=te-g[ee],se=-1!==[Gq,Xq].indexOf(_),oe=null!=(Q=null==S?void 0:S[T])?Q:0,ae=se?ie:te-E[ne]-w[ne]-oe+A.altAxis,le=se?te+E[ne]+w[ne]-oe-A.altAxis:re,ue=p&&se?function(e,t,n){var i=wK(e,t,n);return i>n?n:i}(ae,te,le):wK(p?ae:ie,te,p?le:re);x[T]=ue,C[T]=ue-te}t.modifiersData[i]=C}},requiresIfExists:["offset"]};function tZ(e,t,n){void 0===n&&(n=!1);var i=aK(t),r=aK(t)&&function(e){var t=e.getBoundingClientRect(),n=pK(t.width)/e.offsetWidth||1,i=pK(t.height)/e.offsetHeight||1;return 1!==n||1!==i}(t),s=vK(t),o=fK(e,r),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!n)&&(("body"!==rK(t)||UK(s))&&(a=function(e){return e!==sK(e)&&aK(e)?function(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):BK(e)}(t)),aK(t)?((l=fK(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=$K(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function nZ(e){var t=new Map,n=new Set,i=[];function r(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!n.has(e)){var i=t.get(e);i&&r(i)}}),i.push(e)}return e.forEach(function(e){t.set(e.name,e)}),e.forEach(function(e){n.has(e.name)||r(e)}),i}function iZ(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}var rZ={placement:"bottom",modifiers:[],strategy:"absolute"};function sZ(){for(var e=arguments.length,t=new Array(e),n=0;n({})},strategy:{type:String,values:["fixed","absolute"],default:"absolute"}}),cZ=oG({...uZ,...lZ,id:String,style:{type:[String,Array,Object]},className:{type:[String,Array,Object]},effect:{type:String,default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:Boolean,trapping:Boolean,popperClass:{type:[String,Array,Object]},popperStyle:{type:[String,Array,Object]},referenceEl:{type:Object},triggerTargetEl:{type:Object},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number,...Eq(["ariaLabel"])}),dZ={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},hZ=oG({to:{type:[String,Object],required:!0},disabled:Boolean});function pZ(){let e;const t=()=>window.clearTimeout(e);return yj(()=>t()),{registerTimeout:(n,i)=>{t(),e=window.setTimeout(n,i)},cancelTimeout:t}}const fZ=oG({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),mZ=oG({...fZ,...cZ,appendTo:{type:hZ.to.type},content:{type:String,default:""},rawContent:Boolean,persistent:Boolean,visible:{type:Boolean,default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean,...Eq(["ariaLabel"])}),gZ=oG({virtualRef:{type:Object},virtualTriggering:Boolean,onMouseenter:{type:Function},onMouseleave:{type:Function},onClick:{type:Function},onKeydown:{type:Function},onFocus:{type:Function},onBlur:{type:Function},onContextmenu:{type:Function},id:String,open:Boolean}),_Z=oG({...gZ,disabled:Boolean,trigger:{type:[String,Array],default:"hover"},triggerKeys:{type:Array,default:()=>[sW.enter,sW.numpadEnter,sW.space]},focusOnTarget:Boolean}),yZ=sG({type:Boolean,default:null}),vZ=sG({type:Function}),bZ=e=>{const t=`update:${e}`,n=`onUpdate:${e}`,i=[t];return{useModelToggle:({indicator:i,toggleReason:r,shouldHideWhenRouteChanges:s,shouldProceed:o,onShow:a,onHide:l})=>{const u=NM(),{emit:c}=u,d=u.props,h=tk(()=>Yx(d[n])),p=tk(()=>null===d[e]),f=e=>{!0!==i.value&&(i.value=!0,r&&(r.value=e),Yx(a)&&a(e))},m=e=>{!1!==i.value&&(i.value=!1,r&&(r.value=e),Yx(l)&&l(e))},g=e=>{if(!0===d.disabled||Yx(o)&&!o())return;const n=h.value&&dj;n&&c(t,!0),!p.value&&n||f(e)},_=e=>{if(!0===d.disabled||!dj)return;const n=h.value&&dj;n&&c(t,!1),!p.value&&n||m(e)},y=e=>{Jz(e)&&(d.disabled&&e?h.value&&c(t,!1):i.value!==e&&(e?f():m()))};return CO(()=>d[e],y),s&&void 0!==u.appContext.config.globalProperties.$route&&CO(()=>({...u.proxy.$route}),()=>{s.value&&i.value&&_()}),YS(()=>{y(d[e])}),{hide:_,show:g,toggle:()=>{i.value?_():g()},hasUpdateHandler:h}},useModelToggleProps:{[e]:yZ,[n]:vZ},useModelToggleEmits:i}},{useModelToggle:TZ,useModelToggleProps:xZ,useModelToggleEmits:EZ}=bZ("modelValue"),{useModelToggleProps:wZ,useModelToggleEmits:IZ,useModelToggle:AZ}=bZ("visible"),SZ=oG({...Vq,...wZ,...mZ,..._Z,...lZ,showArrow:{type:Boolean,default:!0}}),CZ=[...IZ,"before-show","before-hide","show","hide","open","close"],OZ=(e,t,n)=>i=>{((e,t)=>Ux(e)?e.includes(t):e===t)(xI(e),t)&&n(i)},MZ=Symbol("elForwardRef"),kZ=sS({name:"ElOnlyChild",setup(e,{slots:t,attrs:n}){var i;const r=qC(MZ),s=(o=null!=(i=null==r?void 0:r.setForwardRef)?i:Rx,{mounted(e){o(e)},updated(e){o(e)},unmounted(){o(null)}});var o;return()=>{var e;const i=null==(e=t.default)?void 0:e.call(t,n);if(!i)return null;const[r,o]=RZ(i);return r?kA(bM(r,n),[[s]]):null}}});function RZ(e){if(!e)return[null,0];const t=e,n=t.filter(e=>e.type!==JO).length;for(const e of t){if(Wx(e))switch(e.type){case JO:continue;case QO:case"svg":return[NZ(e),n];case ZO:return RZ(e.children);default:return[e,n]}return[NZ(e),n]}return[null,0]}function NZ(e){const t=Zz("only-child");return _M("span",{class:t.e("content")},[e])}const DZ=sS({name:"ElPopperTrigger",inheritAttrs:!1}),FZ=sS({...DZ,props:gZ,setup(e,{expose:t}){const n=e,{role:i,triggerRef:r}=qC(Bq,void 0);var s;s=r,XC(MZ,{setForwardRef:e=>{s.value=e}});const o=tk(()=>l.value?n.id:void 0),a=tk(()=>{if(i&&"tooltip"===i.value)return n.open&&n.id?n.id:void 0}),l=tk(()=>{if(i&&"tooltip"!==i.value)return i.value}),u=tk(()=>l.value?`${n.open}`:void 0);let c;const d=["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"];return YS(()=>{CO(()=>n.virtualRef,e=>{e&&(r.value=yH(e))},{immediate:!0}),CO(r,(e,t)=>{null==c||c(),c=void 0,tj(e)&&(d.forEach(i=>{var r;const s=n[i];s&&(e.addEventListener(i.slice(2).toLowerCase(),s,["onFocus","onBlur"].includes(i)),null==(r=null==t?void 0:t.removeEventListener)||r.call(t,i.slice(2).toLowerCase(),s,["onFocus","onBlur"].includes(i)))}),Nq(e)&&(c=CO([o,a,l,u],t=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((n,i)=>{FX(t[i])?e.removeAttribute(n):e.setAttribute(n,t[i])})},{immediate:!0}))),tj(t)&&Nq(t)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(e=>t.removeAttribute(e))},{immediate:!0})}),WS(()=>{if(null==c||c(),c=void 0,r.value&&tj(r.value)){const e=r.value;d.forEach(t=>{const i=n[t];i&&e.removeEventListener(t.slice(2).toLowerCase(),i,["onFocus","onBlur"].includes(t))}),r.value=void 0}}),t({triggerRef:r}),(e,t)=>e.virtualTriggering?EM("v-if",!0):(iM(),cM(xI(kZ),SM({key:0},e.$attrs,{"aria-controls":xI(o),"aria-describedby":xI(a),"aria-expanded":xI(u),"aria-haspopup":xI(l)}),{default:MA(()=>[uC(e.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}});var LZ=UH(FZ,[["__file","trigger.vue"]]);const PZ=(e,t,{checkForDefaultPrevented:n=!0}={})=>i=>{const r=null==e?void 0:e(i);if(!1===n||!r)return null==t?void 0:t(i)},BZ=e=>t=>"mouse"===t.pointerType?e(t):void 0,$Z=sS({name:"ElTooltipTrigger"}),UZ=sS({...$Z,props:_Z,setup(e,{expose:t}){const n=e,i=Zz("tooltip"),{controlled:r,id:s,open:o,onOpen:a,onClose:l,onToggle:u}=qC(Yq,void 0),c=_I(null),d=()=>{if(xI(r)||n.disabled)return!0},h=kI(n,"trigger"),p=PZ(d,OZ(h,"hover",e=>{a(e),n.focusOnTarget&&e.target&&oA(()=>{Dq(e.target,{preventScroll:!0})})})),f=PZ(d,OZ(h,"hover",l)),m=PZ(d,OZ(h,"click",e=>{0===e.button&&u(e)})),g=PZ(d,OZ(h,"focus",a)),_=PZ(d,OZ(h,"focus",l)),y=PZ(d,OZ(h,"contextmenu",e=>{e.preventDefault(),u(e)})),v=PZ(d,e=>{const{code:t}=e;n.triggerKeys.includes(t)&&(e.preventDefault(),u(e))});return t({triggerRef:c}),(e,t)=>(iM(),cM(xI(LZ),{id:xI(s),"virtual-ref":e.virtualRef,open:xI(o),"virtual-triggering":e.virtualTriggering,class:xE(xI(i).e("trigger")),onBlur:xI(_),onClick:xI(m),onContextmenu:xI(y),onFocus:xI(g),onMouseenter:xI(p),onMouseleave:xI(f),onKeydown:xI(v)},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}});var VZ=UH(UZ,[["__file","trigger.vue"]]);const zZ=bG(UH(sS({__name:"teleport",props:hZ,setup:e=>(e,t)=>e.disabled?uC(e.$slots,"default",{key:0}):(iM(),cM(zA,{key:1,to:e.to},[uC(e.$slots,"default")],8,["to"]))}),[["__file","teleport.vue"]])),jZ=()=>{const e=Kz(),t=zW(),n=tk(()=>`${e.value}-popper-container-${t.prefix}`),i=tk(()=>`#${n.value}`);return{id:n,selector:i}},YZ=()=>{const{id:e,selector:t}=jZ();return jS(()=>{dj&&(document.body.querySelector(t.value)||(e=>{const t=document.createElement("div");t.id=e,document.body.appendChild(t)})(e.value))}),{id:e,selector:t}},GZ="focus-trap.focus-after-trapped",HZ="focus-trap.focus-after-released",WZ={cancelable:!0,bubbles:!1},XZ={cancelable:!0,bubbles:!1},qZ="focusAfterTrapped",KZ="focusAfterReleased",ZZ=Symbol("elFocusTrap"),QZ=_I(),JZ=_I(0),eQ=_I(0);let tQ=0;const nQ=e=>{const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{const t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0||e===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t},iQ=(e,t)=>{for(const n of e)if(!rQ(n,t))return n},rQ=(e,t)=>{if("hidden"===getComputedStyle(e).visibility)return!0;for(;e;){if(t&&e===t)return!1;if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1},sQ=(e,t)=>{if(e){const n=document.activeElement;Dq(e,{preventScroll:!0}),eQ.value=window.performance.now(),e!==n&&(e=>e instanceof HTMLInputElement&&"select"in e)(e)&&t&&e.select()}};function oQ(e,t){const n=[...e],i=e.indexOf(t);return-1!==i&&n.splice(i,1),n}const aQ=(()=>{let e=[];return{push:t=>{const n=e[0];n&&t!==n&&n.pause(),e=oQ(e,t),e.unshift(t)},remove:t=>{var n,i;e=oQ(e,t),null==(i=null==(n=e[0])?void 0:n.resume)||i.call(n)}}})(),lQ=()=>{QZ.value="pointer",JZ.value=window.performance.now()},uQ=()=>{QZ.value="keyboard",JZ.value=window.performance.now()},cQ=()=>(YS(()=>{0===tQ&&(document.addEventListener("mousedown",lQ),document.addEventListener("touchstart",lQ),document.addEventListener("keydown",uQ)),tQ++}),WS(()=>{tQ--,tQ<=0&&(document.removeEventListener("mousedown",lQ),document.removeEventListener("touchstart",lQ),document.removeEventListener("keydown",uQ))}),{focusReason:QZ,lastUserFocusTimestamp:JZ,lastAutomatedFocusTimestamp:eQ}),dQ=e=>new CustomEvent("focus-trap.focusout-prevented",{...XZ,detail:e});let hQ=[];const pQ=e=>{e.code===sW.esc&&hQ.forEach(t=>t(e))},fQ=sS({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[qZ,KZ,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const n=_I();let i,r;const{focusReason:s}=cQ();var o;o=n=>{e.trapped&&!a.paused&&t("release-requested",n)},YS(()=>{0===hQ.length&&document.addEventListener("keydown",pQ),dj&&hQ.push(o)}),WS(()=>{hQ=hQ.filter(e=>e!==o),0===hQ.length&&dj&&document.removeEventListener("keydown",pQ)});const a={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},l=n=>{if(!e.loop&&!e.trapped)return;if(a.paused)return;const{code:i,altKey:r,ctrlKey:o,metaKey:l,currentTarget:u,shiftKey:c}=n,{loop:d}=e,h=i===sW.tab&&!r&&!o&&!l,p=document.activeElement;if(h&&p){const e=u,[i,r]=(e=>{const t=nQ(e);return[iQ(t,e),iQ(t.reverse(),e)]})(e);if(i&&r)if(c||p!==r){if(c&&[i,e].includes(p)){const e=dQ({focusReason:s.value});t("focusout-prevented",e),e.defaultPrevented||(n.preventDefault(),d&&sQ(r,!0))}}else{const e=dQ({focusReason:s.value});t("focusout-prevented",e),e.defaultPrevented||(n.preventDefault(),d&&sQ(i,!0))}else if(p===e){const e=dQ({focusReason:s.value});t("focusout-prevented",e),e.defaultPrevented||n.preventDefault()}}};XC(ZZ,{focusTrapRef:n,onKeydown:l}),CO(()=>e.focusTrapEl,e=>{e&&(n.value=e)},{immediate:!0}),CO([n],([e],[t])=>{e&&(e.addEventListener("keydown",l),e.addEventListener("focusin",d),e.addEventListener("focusout",h)),t&&(t.removeEventListener("keydown",l),t.removeEventListener("focusin",d),t.removeEventListener("focusout",h))});const u=e=>{t(qZ,e)},c=e=>t(KZ,e),d=s=>{const o=xI(n);if(!o)return;const l=s.target,u=s.relatedTarget,c=l&&o.contains(l);if(!e.trapped){u&&o.contains(u)||(i=u)}c&&t("focusin",s),a.paused||e.trapped&&(c?r=l:sQ(r,!0))},h=i=>{const o=xI(n);if(!a.paused&&o)if(e.trapped){const n=i.relatedTarget;FX(n)||o.contains(n)||setTimeout(()=>{if(!a.paused&&e.trapped){const e=dQ({focusReason:s.value});t("focusout-prevented",e),e.defaultPrevented||sQ(r,!0)}},0)}else{const e=i.target;e&&o.contains(e)||t("focusout",i)}};async function p(){await oA();const t=xI(n);if(t){aQ.push(a);const n=t.contains(document.activeElement)?i:document.activeElement;i=n;if(!t.contains(n)){const i=new Event(GZ,WZ);t.addEventListener(GZ,u),t.dispatchEvent(i),i.defaultPrevented||oA(()=>{let i=e.focusStartEl;Gx(i)||(sQ(i),document.activeElement!==i&&(i="first")),"first"===i&&((e,t=!1)=>{const n=document.activeElement;for(const i of e)if(sQ(i,t),document.activeElement!==n)return})(nQ(t),!0),document.activeElement!==n&&"container"!==i||sQ(t)})}}}function f(){const e=xI(n);if(e){e.removeEventListener(GZ,u);const t=new CustomEvent(HZ,{...WZ,detail:{focusReason:s.value}});e.addEventListener(HZ,c),e.dispatchEvent(t),t.defaultPrevented||"keyboard"!=s.value&&JZ.value>eQ.value&&!e.contains(document.activeElement)||sQ(null!=i?i:document.body),e.removeEventListener(HZ,c),aQ.remove(a),i=null,r=null}}return YS(()=>{e.trapped&&p(),CO(()=>e.trapped,e=>{e?p():f()})}),WS(()=>{e.trapped&&f(),n.value&&(n.value.removeEventListener("keydown",l),n.value.removeEventListener("focusin",d),n.value.removeEventListener("focusout",h),n.value=void 0)}),{onKeydown:l}}});var mQ=UH(fQ,[["render",function(e,t,n,i,r,s){return uC(e.$slots,"default",{handleKeydown:e.onKeydown})}],["__file","focus-trap.vue"]]);const gQ=function(e){return void 0===e},_Q=(e,t=[])=>{const{placement:n,strategy:i,popperOptions:r}=e,s={placement:n,strategy:i,...r,modifiers:[...yQ(e),...t]};return function(e,t){t&&(e.modifiers=[...e.modifiers,...null!=t?t:[]])}(s,null==r?void 0:r.modifiers),s};function yQ(e){const{offset:t,gpuAcceleration:n,fallbackPlacements:i}=e;return[{name:"offset",options:{offset:[0,null!=t?t:12]}},{name:"preventOverflow",options:{padding:{top:0,bottom:0,left:0,right:0}}},{name:"flip",options:{padding:5,fallbackPlacements:i}},{name:"computeStyles",options:{gpuAcceleration:n}}]}const vQ=(e,t,n={})=>{const i={name:"updateState",enabled:!0,phase:"write",fn:({state:e})=>{const t=function(e){const t=Object.keys(e.elements),n=iG(t.map(t=>[t,e.styles[t]||{}])),i=iG(t.map(t=>[t,e.attributes[t]]));return{styles:n,attributes:i}}(e);Object.assign(o.value,t)},requires:["computeStyles"]},r=tk(()=>{const{onFirstUpdate:e,placement:t,strategy:r,modifiers:s}=xI(n);return{onFirstUpdate:e,placement:t||"bottom",strategy:r||"absolute",modifiers:[...s||[],i,{name:"applyStyles",enabled:!1}]}}),s=yI(),o=_I({styles:{popper:{position:xI(r).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),a=()=>{s.value&&(s.value.destroy(),s.value=void 0)};return CO(r,e=>{const t=xI(s);t&&t.setOptions(e)},{deep:!0}),CO([e,t],([e,t])=>{a(),e&&t&&(s.value=aZ(e,t,xI(r)))}),WS(()=>{a()}),{state:tk(()=>{var e;return{...(null==(e=xI(s))?void 0:e.state)||{}}}),styles:tk(()=>xI(o).styles),attributes:tk(()=>xI(o).attributes),update:()=>{var e;return null==(e=xI(s))?void 0:e.update()},forceUpdate:()=>{var e;return null==(e=xI(s))?void 0:e.forceUpdate()},instanceRef:tk(()=>xI(s))}};const bQ=e=>{const{popperInstanceRef:t,contentRef:n,triggerRef:i,role:r}=qC(Bq,void 0),s=_I(),o=tk(()=>e.arrowOffset),a=tk(()=>({name:"eventListeners",enabled:!!e.visible})),l=tk(()=>{var e;const t=xI(s),n=null!=(e=xI(o))?e:0;return{name:"arrow",enabled:!gQ(t),options:{element:t,padding:n}}}),u=tk(()=>({onFirstUpdate:()=>{f()},..._Q(e,[xI(l),xI(a)])})),c=tk(()=>(e=>{if(dj)return yH(e)})(e.referenceEl)||xI(i)),{attributes:d,state:h,styles:p,update:f,forceUpdate:m,instanceRef:g}=vQ(c,n,u);return CO(g,e=>t.value=e,{flush:"sync"}),YS(()=>{CO(()=>{var e,t;return null==(t=null==(e=xI(c))?void 0:e.getBoundingClientRect)?void 0:t.call(e)},()=>{f()})}),{attributes:d,arrowRef:s,contentRef:n,instanceRef:g,state:h,styles:p,role:r,forceUpdate:m,update:f}},TQ=sS({name:"ElPopperContent"}),xQ=sS({...TQ,props:cZ,emits:dZ,setup(e,{expose:t,emit:n}){const i=e,{focusStartRef:r,trapped:s,onFocusAfterReleased:o,onFocusAfterTrapped:a,onFocusInTrap:l,onFocusoutPrevented:u,onReleaseRequested:c}=((e,t)=>{const n=_I(!1),i=_I();return{focusStartRef:i,trapped:n,onFocusAfterReleased:e=>{var n;"pointer"!==(null==(n=e.detail)?void 0:n.focusReason)&&(i.value="first",t("blur"))},onFocusAfterTrapped:()=>{t("focus")},onFocusInTrap:t=>{e.visible&&!n.value&&(t.target&&(i.value=t.target),n.value=!0)},onFocusoutPrevented:t=>{e.trapping||("pointer"===t.detail.focusReason&&t.preventDefault(),n.value=!1)},onReleaseRequested:()=>{n.value=!1,t("close")}}})(i,n),{attributes:d,arrowRef:h,contentRef:p,styles:f,instanceRef:m,role:g,update:_}=bQ(i),{ariaModal:y,arrowStyle:v,contentAttrs:b,contentClass:T,contentStyle:x,updateZIndex:E}=((e,{attributes:t,styles:n,role:i})=>{const{nextZIndex:r}=Ij(),s=Zz("popper"),o=tk(()=>xI(t).popper),a=_I(ej(e.zIndex)?e.zIndex:r()),l=tk(()=>[s.b(),s.is("pure",e.pure),s.is(e.effect),e.popperClass]),u=tk(()=>[{zIndex:xI(a)},xI(n).popper,e.popperStyle||{}]);return{ariaModal:tk(()=>"dialog"===i.value?"false":void 0),arrowStyle:tk(()=>xI(n).arrow||{}),contentAttrs:o,contentClass:l,contentStyle:u,contentZIndex:a,updateZIndex:()=>{a.value=ej(e.zIndex)?e.zIndex:r()}}})(i,{styles:f,attributes:d,role:g}),w=qC(GW,void 0);let I;XC($q,{arrowStyle:v,arrowRef:h}),w&&XC(GW,{...w,addInputId:Rx,removeInputId:Rx});const A=(e=!0)=>{_(),e&&E()},S=()=>{A(!1),i.visible&&i.focusOnShow?s.value=!0:!1===i.visible&&(s.value=!1)};return YS(()=>{CO(()=>i.triggerTargetEl,(e,t)=>{null==I||I(),I=void 0;const n=xI(e||p.value),r=xI(t||p.value);tj(n)&&(I=CO([g,()=>i.ariaLabel,y,()=>i.id],e=>{["role","aria-label","aria-modal","id"].forEach((t,i)=>{FX(e[i])?n.removeAttribute(t):n.setAttribute(t,e[i])})},{immediate:!0})),r!==n&&tj(r)&&["role","aria-label","aria-modal","id"].forEach(e=>{r.removeAttribute(e)})},{immediate:!0}),CO(()=>i.visible,S,{immediate:!0})}),WS(()=>{null==I||I(),I=void 0}),t({popperContentRef:p,popperInstanceRef:m,updatePopper:A,contentStyle:x}),(e,t)=>(iM(),uM("div",SM({ref_key:"contentRef",ref:p},xI(b),{style:xI(x),class:xI(T),tabindex:"-1",onMouseenter:t=>e.$emit("mouseenter",t),onMouseleave:t=>e.$emit("mouseleave",t)}),[_M(xI(mQ),{trapped:xI(s),"trap-on-focus-in":!0,"focus-trap-el":xI(p),"focus-start-el":xI(r),onFocusAfterTrapped:xI(a),onFocusAfterReleased:xI(o),onFocusin:xI(l),onFocusoutPrevented:xI(u),onReleaseRequested:xI(c)},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16,["onMouseenter","onMouseleave"]))}});var EQ=UH(xQ,[["__file","content.vue"]]);const wQ=sS({name:"ElTooltipContent",inheritAttrs:!1}),IQ=sS({...wQ,props:mZ,setup(e,{expose:t}){const n=e,{selector:i}=jZ(),r=Zz("tooltip"),s=_I(),o=cj(()=>{var e;return null==(e=s.value)?void 0:e.popperContentRef});let a;const{controlled:l,id:u,open:c,trigger:d,onClose:h,onOpen:p,onShow:f,onHide:m,onBeforeShow:g,onBeforeHide:_}=qC(Yq,void 0),y=tk(()=>n.transition||`${r.namespace.value}-fade-in-linear`),v=tk(()=>n.persistent);WS(()=>{null==a||a()});const b=tk(()=>!!xI(v)||xI(c)),T=tk(()=>!n.disabled&&xI(c)),x=tk(()=>n.appendTo||i.value),E=tk(()=>{var e;return null!=(e=n.style)?e:{}}),w=_I(!0),I=()=>{m(),N()&&Dq(document.body,{preventScroll:!0}),w.value=!0},A=()=>{if(xI(l))return!0},S=PZ(A,()=>{n.enterable&&"hover"===xI(d)&&p()}),C=PZ(A,()=>{"hover"===xI(d)&&h()}),O=()=>{var e,t;null==(t=null==(e=s.value)?void 0:e.updatePopper)||t.call(e),null==g||g()},M=()=>{null==_||_()},k=()=>{f()},R=()=>{n.virtualTriggering||h()},N=e=>{var t;const n=null==(t=s.value)?void 0:t.popperContentRef,i=(null==e?void 0:e.relatedTarget)||document.activeElement;return null==n?void 0:n.contains(i)};return CO(()=>xI(c),e=>{e?(w.value=!1,a=function(e,t,n={}){const{window:i=vH,ignore:r=[],capture:s=!0,detectIframe:o=!1}=n;if(!i)return;fj&&!TH&&(TH=!0,Array.from(i.document.body.children).forEach(e=>e.addEventListener("click",pj)));let a=!0;const l=e=>r.some(t=>{if("string"==typeof t)return Array.from(i.document.querySelectorAll(t)).some(t=>t===e.target||e.composedPath().includes(t));{const n=yH(t);return n&&(e.target===n||e.composedPath().includes(n))}}),u=[bH(i,"click",n=>{const i=yH(e);i&&i!==n.target&&!n.composedPath().includes(i)&&(0===n.detail&&(a=!l(n)),a?t(n):a=!0)},{passive:!0,capture:s}),bH(i,"pointerdown",t=>{const n=yH(e);n&&(a=!t.composedPath().includes(n)&&!l(t))},{passive:!0}),o&&bH(i,"blur",n=>{var r;const s=yH(e);"IFRAME"!==(null==(r=i.document.activeElement)?void 0:r.tagName)||(null==s?void 0:s.contains(i.document.activeElement))||t(n)})].filter(Boolean);return()=>u.forEach(e=>e())}(o,()=>{if(xI(l))return;var e;(e=xI(d),e||0===e?Ux(e)?e:[e]:[]).every(e=>"hover"!==e&&"focus"!==e)&&h()})):null==a||a()},{flush:"post"}),CO(()=>n.content,()=>{var e,t;null==(t=null==(e=s.value)?void 0:e.updatePopper)||t.call(e)}),t({contentRef:s,isFocusInsideContent:N}),(e,t)=>(iM(),cM(xI(zZ),{disabled:!e.teleported,to:xI(x)},{default:MA(()=>[xI(b)||!w.value?(iM(),cM(Ak,{key:0,name:xI(y),appear:!xI(v),onAfterLeave:I,onBeforeEnter:O,onAfterEnter:k,onBeforeLeave:M,persisted:""},{default:MA(()=>[kA(_M(xI(EQ),SM({id:xI(u),ref_key:"contentRef",ref:s},e.$attrs,{"aria-label":e.ariaLabel,"aria-hidden":w.value,"boundaries-padding":e.boundariesPadding,"fallback-placements":e.fallbackPlacements,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,strategy:e.strategy,effect:e.effect,enterable:e.enterable,pure:e.pure,"popper-class":e.popperClass,"popper-style":[e.popperStyle,xI(E)],"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,visible:xI(T),"z-index":e.zIndex,onMouseenter:xI(S),onMouseleave:xI(C),onBlur:R,onClose:xI(h)}),{default:MA(()=>[uC(e.$slots,"default")]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","arrow-offset","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","onMouseenter","onMouseleave","onClose"]),[[zk,xI(T)]])]),_:3},8,["name","appear"])):EM("v-if",!0)]),_:3},8,["disabled","to"]))}});var AQ=UH(IQ,[["__file","content.vue"]]);const SQ=sS({name:"ElPopperArrow",inheritAttrs:!1});var CQ=UH(sS({...SQ,setup(e,{expose:t}){const n=Zz("popper"),{arrowRef:i,arrowStyle:r}=qC($q,void 0);return WS(()=>{i.value=void 0}),t({arrowRef:i}),(e,t)=>(iM(),uM("span",{ref_key:"arrowRef",ref:i,class:xE(xI(n).e("arrow")),style:_E(xI(r)),"data-popper-arrow":""},null,6))}}),[["__file","arrow.vue"]]);const OQ=sS({name:"ElTooltip"}),MQ=sS({...OQ,props:SZ,emits:CZ,setup(e,{expose:t,emit:n}){const i=e;YZ();const r=Zz("tooltip"),s=jW(),o=_I(),a=_I(),l=()=>{var e;const t=xI(o);t&&(null==(e=t.popperInstanceRef)||e.update())},u=_I(!1),c=_I(),{show:d,hide:h,hasUpdateHandler:p}=AZ({indicator:u,toggleReason:c}),{onOpen:f,onClose:m}=(({showAfter:e,hideAfter:t,autoClose:n,open:i,close:r})=>{const{registerTimeout:s}=pZ(),{registerTimeout:o,cancelTimeout:a}=pZ();return{onOpen:(t,a=xI(e))=>{s(()=>{i(t);const e=xI(n);ej(e)&&e>0&&o(()=>{r(t)},e)},a)},onClose:(e,n=xI(t))=>{a(),s(()=>{r(e)},n)}}})({showAfter:kI(i,"showAfter"),hideAfter:kI(i,"hideAfter"),autoClose:kI(i,"autoClose"),open:d,close:h}),g=tk(()=>Jz(i.visible)&&!p.value),_=tk(()=>[r.b(),i.popperClass]);XC(Yq,{controlled:g,id:s,open:sI(u),trigger:kI(i,"trigger"),onOpen:f,onClose:m,onToggle:e=>{xI(u)?m(e):f(e)},onShow:()=>{n("show",c.value)},onHide:()=>{n("hide",c.value)},onBeforeShow:()=>{n("before-show",c.value)},onBeforeHide:()=>{n("before-hide",c.value)},updatePopper:l}),CO(()=>i.disabled,e=>{e&&u.value&&(u.value=!1)});return LS(()=>u.value&&h()),t({popperRef:o,contentRef:a,isFocusInsideContent:e=>{var t;return null==(t=a.value)?void 0:t.isFocusInsideContent(e)},updatePopper:l,onOpen:f,onClose:m,hide:h}),(e,t)=>(iM(),cM(xI(jq),{ref_key:"popperRef",ref:o,role:e.role},{default:MA(()=>[_M(VZ,{disabled:e.disabled,trigger:e.trigger,"trigger-keys":e.triggerKeys,"virtual-ref":e.virtualRef,"virtual-triggering":e.virtualTriggering,"focus-on-target":e.focusOnTarget},{default:MA(()=>[e.$slots.default?uC(e.$slots,"default",{key:0}):EM("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering","focus-on-target"]),_M(AQ,{ref_key:"contentRef",ref:a,"aria-label":e.ariaLabel,"boundaries-padding":e.boundariesPadding,content:e.content,disabled:e.disabled,effect:e.effect,enterable:e.enterable,"fallback-placements":e.fallbackPlacements,"hide-after":e.hideAfter,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,persistent:e.persistent,"popper-class":xI(_),"popper-style":e.popperStyle,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,pure:e.pure,"raw-content":e.rawContent,"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,"show-after":e.showAfter,strategy:e.strategy,teleported:e.teleported,transition:e.transition,"virtual-triggering":e.virtualTriggering,"z-index":e.zIndex,"append-to":e.appendTo},{default:MA(()=>[uC(e.$slots,"content",{},()=>[e.rawContent?(iM(),uM("span",{key:0,innerHTML:e.content},null,8,["innerHTML"])):(iM(),uM("span",{key:1},$E(e.content),1))]),e.showArrow?(iM(),cM(xI(CQ),{key:0})):EM("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","arrow-offset","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to"])]),_:3},8,["role"]))}});const kQ=bG(UH(MQ,[["__file","tooltip.vue"]])),RQ={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},NQ=Symbol("scrollbarContextKey"),DQ=oG({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),FQ=sS({__name:"thumb",props:DQ,setup(e){const t=e,n=qC(NQ),i=Zz("scrollbar");n||cW("Thumb","can not inject scrollbar context");const r=_I(),s=_I(),o=_I({}),a=_I(!1);let l=!1,u=!1,c=0,d=0,h=dj?document.onselectstart:null;const p=tk(()=>RQ[t.vertical?"vertical":"horizontal"]),f=tk(()=>(({move:e,size:t,bar:n})=>({[n.size]:t,transform:`translate${n.axis}(${e}%)`}))({size:t.size,move:t.move,bar:p.value})),m=tk(()=>r.value[p.value.offset]**2/n.wrapElement[p.value.scrollSize]/t.ratio/s.value[p.value.offset]),g=e=>{var t;if(e.stopPropagation(),e.ctrlKey||[1,2].includes(e.button))return;null==(t=window.getSelection())||t.removeAllRanges(),y(e);const n=e.currentTarget;n&&(o.value[p.value.axis]=n[p.value.offset]-(e[p.value.client]-n.getBoundingClientRect()[p.value.direction]))},_=e=>{if(!s.value||!r.value||!n.wrapElement)return;const t=100*(Math.abs(e.target.getBoundingClientRect()[p.value.direction]-e[p.value.client])-s.value[p.value.offset]/2)*m.value/r.value[p.value.offset];n.wrapElement[p.value.scroll]=t*n.wrapElement[p.value.scrollSize]/100},y=e=>{e.stopImmediatePropagation(),l=!0,c=n.wrapElement.scrollHeight,d=n.wrapElement.scrollWidth,document.addEventListener("mousemove",v),document.addEventListener("mouseup",b),h=document.onselectstart,document.onselectstart=()=>!1},v=e=>{if(!r.value||!s.value)return;if(!1===l)return;const t=o.value[p.value.axis];if(!t)return;const i=100*(-1*(r.value.getBoundingClientRect()[p.value.direction]-e[p.value.client])-(s.value[p.value.offset]-t))*m.value/r.value[p.value.offset];"scrollLeft"===p.value.scroll?n.wrapElement[p.value.scroll]=i*d/100:n.wrapElement[p.value.scroll]=i*c/100},b=()=>{l=!1,o.value[p.value.axis]=0,document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",b),T(),u&&(a.value=!1)};WS(()=>{T(),document.removeEventListener("mouseup",b)});const T=()=>{document.onselectstart!==h&&(document.onselectstart=h)};return bH(kI(n,"scrollbarElement"),"mousemove",()=>{u=!1,a.value=!!t.size}),bH(kI(n,"scrollbarElement"),"mouseleave",()=>{u=!0,a.value=l}),(e,t)=>(iM(),cM(Ak,{name:xI(i).b("fade"),persisted:""},{default:MA(()=>[kA(gM("div",{ref_key:"instance",ref:r,class:xE([xI(i).e("bar"),xI(i).is(xI(p).key)]),onMousedown:_,onClick:YR(()=>{},["stop"])},[gM("div",{ref_key:"thumb",ref:s,class:xE(xI(i).e("thumb")),style:_E(xI(f)),onMousedown:g},null,38)],42,["onClick"]),[[zk,e.always||a.value]])]),_:1},8,["name"]))}});var LQ=UH(FQ,[["__file","thumb.vue"]]);const PQ=sS({__name:"bar",props:oG({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),setup(e,{expose:t}){const n=e,i=qC(NQ),r=_I(0),s=_I(0),o=_I(""),a=_I(""),l=_I(1),u=_I(1);return t({handleScroll:e=>{if(e){const t=e.offsetHeight-4,n=e.offsetWidth-4;s.value=100*e.scrollTop/t*l.value,r.value=100*e.scrollLeft/n*u.value}},update:()=>{const e=null==i?void 0:i.wrapElement;if(!e)return;const t=e.offsetHeight-4,r=e.offsetWidth-4,s=t**2/e.scrollHeight,c=r**2/e.scrollWidth,d=Math.max(s,n.minSize),h=Math.max(c,n.minSize);l.value=s/(t-s)/(d/(t-d)),u.value=c/(r-c)/(h/(r-h)),a.value=d+4(iM(),uM(ZO,null,[_M(LQ,{move:r.value,ratio:u.value,size:o.value,always:e.always},null,8,["move","ratio","size","always"]),_M(LQ,{move:s.value,ratio:l.value,size:a.value,vertical:"",always:e.always},null,8,["move","ratio","size","always"])],64))}});var BQ=UH(PQ,[["__file","bar.vue"]]);const $Q=oG({distance:{type:Number,default:0},height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,wrapStyle:{type:[String,Object,Array],default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},tabindex:{type:[String,Number],default:void 0},id:String,role:String,...Eq(["ariaLabel","ariaOrientation"])}),UQ={"end-reached":e=>["left","right","top","bottom"].includes(e),scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(ej)},VQ=sS({name:"ElScrollbar"}),zQ=sS({...VQ,props:$Q,emits:UQ,setup(e,{expose:t,emit:n}){const i=e,r=Zz("scrollbar");let s,o,a,l=0,u=0,c="";const d={bottom:!1,top:!1,right:!1,left:!1},h=_I(),p=_I(),f=_I(),m=_I(),g=tk(()=>{const e={};return i.height&&(e.height=VH(i.height)),i.maxHeight&&(e.maxHeight=VH(i.maxHeight)),[i.wrapStyle,e]}),_=tk(()=>[i.wrapClass,r.e("wrap"),{[r.em("wrap","hidden-default")]:!i.native}]),y=tk(()=>[r.e("view"),i.viewClass]),v={top:"bottom",bottom:"top",left:"right",right:"left"},b=()=>{var e;if(p.value){null==(e=m.value)||e.handleScroll(p.value);const t=l,r=u;l=p.value.scrollTop,u=p.value.scrollLeft;const s={bottom:l+p.value.clientHeight>=p.value.scrollHeight-i.distance,top:l<=i.distance&&0!==t,right:u+p.value.clientWidth>=p.value.scrollWidth-i.distance&&r!==u,left:u<=i.distance&&0!==r};if(n("scroll",{scrollTop:l,scrollLeft:u}),t!==l&&(c=l>t?"bottom":"top"),r!==u&&(c=u>r?"right":"left"),i.distance>0){if((e=>{var t;return null!=(t=d[e])&&t})(c))return;(e=>{const t=v[c];if(!t)return;const n=e[c],i=e[t];n&&!d[c]&&(d[c]=!0),!i&&d[t]&&(d[t]=!1)})(s)}s[c]&&n("end-reached",c)}};const T=()=>{var e;null==(e=m.value)||e.update(),d[c]=!1};return CO(()=>i.noresize,e=>{e?(null==s||s(),null==o||o(),null==a||a()):(({stop:s}=OH(f,T)),({stop:o}=OH(p,T)),a=bH("resize",T))},{immediate:!0}),CO(()=>[i.maxHeight,i.height],()=>{i.native||oA(()=>{var e;T(),p.value&&(null==(e=m.value)||e.handleScroll(p.value))})}),XC(NQ,iI({scrollbarElement:h,wrapElement:p})),FS(()=>{p.value&&(p.value.scrollTop=l,p.value.scrollLeft=u)}),YS(()=>{i.native||oA(()=>{T()})}),HS(()=>T()),t({wrapRef:p,update:T,scrollTo:function(e,t){Wx(e)?p.value.scrollTo(e):ej(e)&&ej(t)&&p.value.scrollTo(e,t)},setScrollTop:e=>{ej(e)&&(p.value.scrollTop=e)},setScrollLeft:e=>{ej(e)&&(p.value.scrollLeft=e)},handleScroll:b}),(e,t)=>(iM(),uM("div",{ref_key:"scrollbarRef",ref:h,class:xE(xI(r).b())},[gM("div",{ref_key:"wrapRef",ref:p,class:xE(xI(_)),style:_E(xI(g)),tabindex:e.tabindex,onScroll:b},[(iM(),cM(iC(e.tag),{id:e.id,ref_key:"resizeRef",ref:f,class:xE(xI(y)),style:_E(e.viewStyle),role:e.role,"aria-label":e.ariaLabel,"aria-orientation":e.ariaOrientation},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],46,["tabindex"]),e.native?EM("v-if",!0):(iM(),cM(BQ,{key:0,ref_key:"barRef",ref:m,always:e.always,"min-size":e.minSize},null,8,["always","min-size"]))],2))}});const jQ=bG(UH(zQ,[["__file","scrollbar.vue"]]));var YQ=UH(sS({inheritAttrs:!1}),[["render",function(e,t,n,i,r,s){return uC(e.$slots,"default")}],["__file","collection.vue"]]);var GQ=UH(sS({name:"ElCollectionItem",inheritAttrs:!1}),[["render",function(e,t,n,i,r,s){return uC(e.$slots,"default")}],["__file","collection-item.vue"]]);const HQ="data-el-collection-item",WQ=e=>{const t=`El${e}Collection`,n=`${t}Item`,i=Symbol(t),r=Symbol(n),s={...YQ,name:t,setup(){const e=_I(),t=new Map;XC(i,{itemMap:t,getItems:()=>{const n=xI(e);if(!n)return[];const i=Array.from(n.querySelectorAll(`[${HQ}]`));return[...t.values()].sort((e,t)=>i.indexOf(e.ref)-i.indexOf(t.ref))},collectionRef:e})}},o={...GQ,name:n,setup(e,{attrs:t}){const n=_I(),s=qC(i,void 0);XC(r,{collectionItemRef:n}),YS(()=>{const e=xI(n);e&&s.itemMap.set(e,{ref:e,...t})}),WS(()=>{const e=xI(n);s.itemMap.delete(e)})}};return{COLLECTION_INJECTION_KEY:i,COLLECTION_ITEM_INJECTION_KEY:r,ElCollection:s,ElCollectionItem:o}},XQ=oG({style:{type:[String,Array,Object]},currentTabId:{type:String},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:String},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:qQ,ElCollectionItem:KQ,COLLECTION_INJECTION_KEY:ZQ,COLLECTION_ITEM_INJECTION_KEY:QQ}=WQ("RovingFocusGroup"),JQ=Symbol("elRovingFocusGroup"),eJ=Symbol("elRovingFocusGroupItem"),tJ={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},nJ=(e,t,n)=>{const i=((e,t)=>{if("rtl"!==t)return e;switch(e){case sW.right:return sW.left;case sW.left:return sW.right;default:return e}})(e.code,n);if(!("vertical"===t&&[sW.left,sW.right].includes(i)||"horizontal"===t&&[sW.up,sW.down].includes(i)))return tJ[i]},iJ=e=>{const{activeElement:t}=document;for(const n of e){if(n===t)return;if(n.focus(),t!==document.activeElement)return}},rJ="currentTabIdChange",sJ="rovingFocusGroup.entryFocus",oJ={bubbles:!1,cancelable:!0},aJ=sS({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:XQ,emits:[rJ,"entryFocus"],setup(e,{emit:t}){var n;const i=_I(null!=(n=e.currentTabId||e.defaultCurrentTabId)?n:null),r=_I(!1),s=_I(!1),o=_I(),{getItems:a}=qC(ZQ,void 0),l=tk(()=>[{outline:"none"},e.style]),u=PZ(t=>{var n;null==(n=e.onMousedown)||n.call(e,t)},()=>{s.value=!0}),c=PZ(t=>{var n;null==(n=e.onFocus)||n.call(e,t)},e=>{const t=!xI(s),{target:n,currentTarget:o}=e;if(n===o&&t&&!xI(r)){const e=new Event(sJ,oJ);if(null==o||o.dispatchEvent(e),!e.defaultPrevented){const e=a().filter(e=>e.focusable),t=[e.find(e=>e.active),e.find(e=>e.id===xI(i)),...e].filter(Boolean).map(e=>e.ref);iJ(t)}}s.value=!1}),d=PZ(t=>{var n;null==(n=e.onBlur)||n.call(e,t)},()=>{r.value=!1});XC(JQ,{currentTabbedId:sI(i),loop:kI(e,"loop"),tabIndex:tk(()=>xI(r)?-1:0),rovingFocusGroupRef:o,rovingFocusGroupRootStyle:l,orientation:kI(e,"orientation"),dir:kI(e,"dir"),onItemFocus:e=>{t(rJ,e)},onItemShiftTab:()=>{r.value=!0},onBlur:d,onFocus:c,onMousedown:u}),CO(()=>e.currentTabId,e=>{i.value=null!=e?e:null}),bH(o,sJ,(...e)=>{t("entryFocus",...e)})}});var lJ=UH(sS({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:qQ,ElRovingFocusGroupImpl:UH(aJ,[["render",function(e,t,n,i,r,s){return uC(e.$slots,"default")}],["__file","roving-focus-group-impl.vue"]])}}),[["render",function(e,t,n,i,r,s){const o=tC("el-roving-focus-group-impl"),a=tC("el-focus-group-collection");return iM(),cM(a,null,{default:MA(()=>[_M(o,EE(vM(e.$attrs)),{default:MA(()=>[uC(e.$slots,"default")]),_:3},16)]),_:3})}],["__file","roving-focus-group.vue"]]);const uJ=oG({trigger:_Z.trigger,triggerKeys:{type:Array,default:()=>[sW.enter,sW.numpadEnter,sW.space,sW.down]},virtualTriggering:_Z.virtualTriggering,virtualRef:_Z.virtualRef,effect:{...mZ.effect,default:"light"},type:{type:String},placement:{type:String,default:"bottom"},popperOptions:{type:Object,default:()=>({})},id:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showArrow:{type:Boolean,default:!0},showTimeout:{type:Number,default:150},hideTimeout:{type:Number,default:150},tabindex:{type:[Number,String],default:0},maxHeight:{type:[Number,String],default:""},popperClass:{type:String,default:""},disabled:Boolean,role:{type:String,values:Uq,default:"menu"},buttonProps:{type:Object},teleported:mZ.teleported,persistent:{type:Boolean,default:!0}}),cJ=oG({command:{type:[Object,String,Number],default:()=>({})},disabled:Boolean,divided:Boolean,textValue:String,icon:{type:XH}}),dJ=oG({onKeydown:{type:Function}}),hJ=[sW.down,sW.pageDown,sW.home],pJ=[sW.up,sW.pageUp,sW.end],fJ=[...hJ,...pJ],{ElCollection:mJ,ElCollectionItem:gJ,COLLECTION_INJECTION_KEY:_J,COLLECTION_ITEM_INJECTION_KEY:yJ}=WQ("Dropdown"),vJ=Symbol("elDropdown"),bJ="elDropdown";const TJ=function(){if(!arguments.length)return[];var e=arguments[0];return Aj(e)?e:[e]},{ButtonGroup:xJ}=SX,EJ=sS({name:"ElDropdown",components:{ElButton:SX,ElButtonGroup:xJ,ElScrollbar:jQ,ElDropdownCollection:mJ,ElTooltip:kQ,ElRovingFocusGroup:lJ,ElOnlyChild:kZ,ElIcon:WH,ArrowDown:wG},props:uJ,emits:["visible-change","click","command"],setup(e,{emit:t}){const n=NM(),i=Zz("dropdown"),{t:r}=nG(),s=_I(),o=_I(),a=_I(),l=_I(),u=_I(null),c=_I(null),d=_I(!1),h=tk(()=>({maxHeight:VH(e.maxHeight)})),p=tk(()=>[i.m(_.value)]),f=tk(()=>TJ(e.trigger)),m=jW().value,g=tk(()=>e.id||m);const _=qW();XC(vJ,{contentRef:l,role:tk(()=>e.role),triggerId:g,isUsingKeyboard:d,onItemEnter:function(){},onItemLeave:function(){const e=xI(l);f.value.includes("hover")&&(null==e||e.focus({preventScroll:!0})),c.value=null}}),XC(bJ,{instance:n,dropdownSize:_,handleClick:function(){var e;null==(e=a.value)||e.onClose(void 0,0)},commandHandler:function(...e){t("command",...e)},trigger:kI(e,"trigger"),hideOnClick:kI(e,"hideOnClick")});return{t:r,ns:i,scrollbar:u,wrapStyle:h,dropdownTriggerKls:p,dropdownSize:_,triggerId:g,currentTabId:c,handleCurrentTabIdChange:function(e){c.value=e},handlerMainButtonClick:e=>{t("click",e)},handleEntryFocus:function(e){d.value||(e.preventDefault(),e.stopImmediatePropagation())},handleClose:function(){var e;null==(e=a.value)||e.onClose()},handleOpen:function(){var e;null==(e=a.value)||e.onOpen()},handleBeforeShowTooltip:function(){t("visible-change",!0)},handleShowTooltip:function(e){var t;"keydown"===(null==e?void 0:e.type)&&(null==(t=l.value)||t.focus())},handleBeforeHideTooltip:function(){t("visible-change",!1)},onFocusAfterTrapped:e=>{var t,n;e.preventDefault(),null==(n=null==(t=l.value)?void 0:t.focus)||n.call(t,{preventScroll:!0})},popperRef:a,contentRef:l,triggeringElementRef:s,referenceElementRef:o}}});var wJ=UH(EJ,[["render",function(e,t,n,i,r,s){var o,a;const l=tC("el-dropdown-collection"),u=tC("el-roving-focus-group"),c=tC("el-scrollbar"),d=tC("el-only-child"),h=tC("el-tooltip"),p=tC("el-button"),f=tC("arrow-down"),m=tC("el-icon"),g=tC("el-button-group");return iM(),uM("div",{class:xE([e.ns.b(),e.ns.is("disabled",e.disabled)])},[_M(h,{ref:"popperRef",role:e.role,effect:e.effect,"fallback-placements":["bottom","top"],"popper-options":e.popperOptions,"gpu-acceleration":!1,"manual-mode":!0,placement:e.placement,"popper-class":[e.ns.e("popper"),e.popperClass],"reference-element":null==(o=e.referenceElementRef)?void 0:o.$el,trigger:e.trigger,"trigger-keys":e.triggerKeys,"trigger-target-el":e.contentRef,"show-arrow":e.showArrow,"show-after":"hover"===e.trigger?e.showTimeout:0,"hide-after":"hover"===e.trigger?e.hideTimeout:0,"stop-popper-mouse-event":!1,"virtual-ref":null!=(a=e.virtualRef)?a:e.triggeringElementRef,"virtual-triggering":e.virtualTriggering||e.splitButton,disabled:e.disabled,transition:`${e.ns.namespace.value}-zoom-in-top`,teleported:e.teleported,pure:"","focus-on-target":"",persistent:e.persistent,onBeforeShow:e.handleBeforeShowTooltip,onShow:e.handleShowTooltip,onBeforeHide:e.handleBeforeHideTooltip},lC({content:MA(()=>[_M(c,{ref:"scrollbar","wrap-style":e.wrapStyle,tag:"div","view-class":e.ns.e("list")},{default:MA(()=>[_M(u,{loop:e.loop,"current-tab-id":e.currentTabId,orientation:"horizontal",onCurrentTabIdChange:e.handleCurrentTabIdChange,onEntryFocus:e.handleEntryFocus},{default:MA(()=>[_M(l,null,{default:MA(()=>[uC(e.$slots,"dropdown")]),_:3})]),_:3},8,["loop","current-tab-id","onCurrentTabIdChange","onEntryFocus"])]),_:3},8,["wrap-style","view-class"])]),_:2},[e.splitButton?void 0:{name:"default",fn:MA(()=>[_M(d,{id:e.triggerId,ref:"triggeringElementRef",role:"button",tabindex:e.tabindex},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["id","tabindex"])])}]),1032,["role","effect","popper-options","placement","popper-class","reference-element","trigger","trigger-keys","trigger-target-el","show-arrow","show-after","hide-after","virtual-ref","virtual-triggering","disabled","transition","teleported","persistent","onBeforeShow","onShow","onBeforeHide"]),e.splitButton?(iM(),cM(g,{key:0},{default:MA(()=>[_M(p,SM({ref:"referenceElementRef"},e.buttonProps,{size:e.dropdownSize,type:e.type,disabled:e.disabled,tabindex:e.tabindex,onClick:e.handlerMainButtonClick}),{default:MA(()=>[uC(e.$slots,"default")]),_:3},16,["size","type","disabled","tabindex","onClick"]),_M(p,SM({id:e.triggerId,ref:"triggeringElementRef"},e.buttonProps,{role:"button",size:e.dropdownSize,type:e.type,class:e.ns.e("caret-button"),disabled:e.disabled,tabindex:e.tabindex,"aria-label":e.t("el.dropdown.toggleDropdown")}),{default:MA(()=>[_M(m,{class:xE(e.ns.e("icon"))},{default:MA(()=>[_M(f)]),_:1},8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex","aria-label"])]),_:3})):EM("v-if",!0)],2)}],["__file","dropdown.vue"]]);const IJ=sS({components:{ElRovingFocusCollectionItem:KQ},props:{focusable:{type:Boolean,default:!0},active:Boolean},emits:["mousedown","focus","keydown"],setup(e,{emit:t}){const{currentTabbedId:n,loop:i,onItemFocus:r,onItemShiftTab:s}=qC(JQ,void 0),{getItems:o}=qC(ZQ,void 0),a=jW(),l=_I(),u=PZ(e=>{t("mousedown",e)},t=>{e.focusable?r(xI(a)):t.preventDefault()}),c=PZ(e=>{t("focus",e)},()=>{r(xI(a))}),d=PZ(e=>{t("keydown",e)},e=>{const{code:t,shiftKey:n,target:r,currentTarget:a}=e;if(t===sW.tab&&n)return void s();if(r!==a)return;const l=nJ(e);if(l){e.preventDefault();let t=o().filter(e=>e.focusable).map(e=>e.ref);switch(l){case"last":t.reverse();break;case"prev":case"next":{"prev"===l&&t.reverse();const e=t.indexOf(a);t=i.value?((e,t)=>e.map((n,i)=>e[(i+t)%e.length]))(t,e+1):t.slice(e+1);break}}oA(()=>{iJ(t)})}}),h=tk(()=>n.value===xI(a));return XC(eJ,{rovingFocusGroupItemRef:l,tabIndex:tk(()=>xI(h)?0:-1),handleMousedown:u,handleFocus:c,handleKeydown:d}),{id:a,handleKeydown:d,handleFocus:c,handleMousedown:u}}});var AJ=UH(IJ,[["render",function(e,t,n,i,r,s){const o=tC("el-roving-focus-collection-item");return iM(),cM(o,{id:e.id,focusable:e.focusable,active:e.active},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["id","focusable","active"])}],["__file","roving-focus-item.vue"]]);const SJ=(...e)=>t=>{e.forEach(e=>{Yx(e)?e(t):e.value=t})},CJ=sS({name:"DropdownItemImpl",components:{ElIcon:WH},props:cJ,emits:["pointermove","pointerleave","click","clickimpl"],setup(e,{emit:t}){const n=Zz("dropdown"),{role:i}=qC(vJ,void 0),{collectionItemRef:r}=qC(yJ,void 0),{collectionItemRef:s}=qC(QQ,void 0),{rovingFocusGroupItemRef:o,tabIndex:a,handleFocus:l,handleKeydown:u,handleMousedown:c}=qC(eJ,void 0),d=SJ(r,s,o),h=tk(()=>"menu"===i.value?"menuitem":"navigation"===i.value?"link":"button"),p=PZ(e=>{if([sW.enter,sW.numpadEnter,sW.space].includes(e.code))return e.preventDefault(),e.stopImmediatePropagation(),t("clickimpl",e),!0},u);return{ns:n,itemRef:d,dataset:{[HQ]:""},role:h,tabIndex:a,handleFocus:l,handleKeydown:p,handleMousedown:c}}});const OJ=()=>{const e=qC(bJ,{}),t=tk(()=>null==e?void 0:e.dropdownSize);return{elDropdown:e,_elDropdownSize:t}},MJ=sS({name:"ElDropdownItem",components:{ElDropdownCollectionItem:gJ,ElRovingFocusItem:AJ,ElDropdownItemImpl:UH(CJ,[["render",function(e,t,n,i,r,s){const o=tC("el-icon");return iM(),uM(ZO,null,[e.divided?(iM(),uM("li",{key:0,role:"separator",class:xE(e.ns.bem("menu","item","divided"))},null,2)):EM("v-if",!0),gM("li",SM({ref:e.itemRef},{...e.dataset,...e.$attrs},{"aria-disabled":e.disabled,class:[e.ns.be("menu","item"),e.ns.is("disabled",e.disabled)],tabindex:e.tabIndex,role:e.role,onClick:t=>e.$emit("clickimpl",t),onFocus:e.handleFocus,onKeydown:YR(e.handleKeydown,["self"]),onMousedown:e.handleMousedown,onPointermove:t=>e.$emit("pointermove",t),onPointerleave:t=>e.$emit("pointerleave",t)}),[e.icon?(iM(),cM(o,{key:0},{default:MA(()=>[(iM(),cM(iC(e.icon)))]),_:1})):EM("v-if",!0),uC(e.$slots,"default")],16,["aria-disabled","tabindex","role","onClick","onFocus","onKeydown","onMousedown","onPointermove","onPointerleave"])],64)}],["__file","dropdown-item-impl.vue"]])},inheritAttrs:!1,props:cJ,emits:["pointermove","pointerleave","click"],setup(e,{emit:t,attrs:n}){const{elDropdown:i}=OJ(),r=NM(),s=_I(null),o=tk(()=>{var e,t;return null!=(t=null==(e=xI(s))?void 0:e.textContent)?t:""}),{onItemEnter:a,onItemLeave:l}=qC(vJ,void 0),u=PZ(e=>(t("pointermove",e),e.defaultPrevented),BZ(t=>{if(e.disabled)return void l(t);const n=t.currentTarget;n===document.activeElement||n.contains(document.activeElement)||(a(t),t.defaultPrevented||null==n||n.focus({preventScroll:!0}))})),c=PZ(e=>(t("pointerleave",e),e.defaultPrevented),BZ(l)),d=PZ(n=>{if(!e.disabled)return t("click",n),"keydown"!==n.type&&n.defaultPrevented},t=>{var n,s,o;e.disabled?t.stopImmediatePropagation():((null==(n=null==i?void 0:i.hideOnClick)?void 0:n.value)&&(null==(s=i.handleClick)||s.call(i)),null==(o=i.commandHandler)||o.call(i,e.command,r,t))});return{handleClick:d,handlePointerMove:u,handlePointerLeave:c,textContent:o,propsAndAttrs:tk(()=>({...e,...n}))}}});var kJ=UH(MJ,[["render",function(e,t,n,i,r,s){var o;const a=tC("el-dropdown-item-impl"),l=tC("el-roving-focus-item"),u=tC("el-dropdown-collection-item");return iM(),cM(u,{disabled:e.disabled,"text-value":null!=(o=e.textValue)?o:e.textContent},{default:MA(()=>[_M(l,{focusable:!e.disabled},{default:MA(()=>[_M(a,SM(e.propsAndAttrs,{onPointerleave:e.handlePointerLeave,onPointermove:e.handlePointerMove,onClickimpl:e.handleClick}),{default:MA(()=>[uC(e.$slots,"default")]),_:3},16,["onPointerleave","onPointermove","onClickimpl"])]),_:3},8,["focusable"])]),_:3},8,["disabled","text-value"])}],["__file","dropdown-item.vue"]]);const RJ=sS({name:"ElDropdownMenu",props:dJ,setup(e){const t=Zz("dropdown"),{_elDropdownSize:n}=OJ(),i=n.value,{focusTrapRef:r,onKeydown:s}=qC(ZZ,void 0),{contentRef:o,role:a,triggerId:l}=qC(vJ,void 0),{collectionRef:u,getItems:c}=qC(_J,void 0),{rovingFocusGroupRef:d,rovingFocusGroupRootStyle:h,tabIndex:p,onBlur:f,onFocus:m,onMousedown:g}=qC(JQ,void 0),{collectionRef:_}=qC(ZQ,void 0),y=tk(()=>[t.b("menu"),t.bm("menu",null==i?void 0:i.value)]),v=SJ(o,u,r,d,_),b=PZ(t=>{var n;null==(n=e.onKeydown)||n.call(e,t)},e=>{const{currentTarget:t,code:n,target:i}=e;if(t.contains(i),sW.tab===n&&e.stopImmediatePropagation(),e.preventDefault(),i!==xI(o)||!fJ.includes(n))return;const r=c().filter(e=>!e.disabled).map(e=>e.ref);pJ.includes(n)&&r.reverse(),iJ(r)});return{size:i,rovingFocusGroupRootStyle:h,tabIndex:p,dropdownKls:y,role:a,triggerId:l,dropdownListWrapperRef:v,handleKeydown:e=>{b(e),s(e)},onBlur:f,onFocus:m,onMousedown:g}}});var NJ=UH(RJ,[["render",function(e,t,n,i,r,s){return iM(),uM("ul",{ref:e.dropdownListWrapperRef,class:xE(e.dropdownKls),style:_E(e.rovingFocusGroupRootStyle),tabindex:-1,role:e.role,"aria-labelledby":e.triggerId,onBlur:e.onBlur,onFocus:e.onFocus,onKeydown:YR(e.handleKeydown,["self"]),onMousedown:YR(e.onMousedown,["self"])},[uC(e.$slots,"default")],46,["role","aria-labelledby","onBlur","onFocus","onKeydown","onMousedown"])}],["__file","dropdown-menu.vue"]]);const DJ=bG(wJ,{DropdownItem:kJ,DropdownMenu:NJ}),FJ=TG(kJ),LJ=TG(NJ),PJ=Symbol("uploadContextKey"),BJ=oG({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:e=>e>=0&&e<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:Boolean,duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:String,default:"round"},textInside:Boolean,width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:[String,Array,Function],default:""},striped:Boolean,stripedFlow:Boolean,format:{type:Function,default:e=>`${e}%`}}),$J=sS({name:"ElProgress"}),UJ=sS({...$J,props:BJ,setup(e){const t=e,n={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},i=Zz("progress"),r=tk(()=>{const e={width:`${t.percentage}%`,animationDuration:`${t.duration}s`},n=_(t.percentage);return n.includes("gradient")?e.background=n:e.backgroundColor=n,e}),s=tk(()=>(t.strokeWidth/t.width*100).toFixed(1)),o=tk(()=>["circle","dashboard"].includes(t.type)?Number.parseInt(""+(50-Number.parseFloat(s.value)/2),10):0),a=tk(()=>{const e=o.value,n="dashboard"===t.type;return`\n M 50 50\n m 0 ${n?"":"-"}${e}\n a ${e} ${e} 0 1 1 0 ${n?"-":""}${2*e}\n a ${e} ${e} 0 1 1 0 ${n?"":"-"}${2*e}\n `}),l=tk(()=>2*Math.PI*o.value),u=tk(()=>"dashboard"===t.type?.75:1),c=tk(()=>`${-1*l.value*(1-u.value)/2}px`),d=tk(()=>({strokeDasharray:`${l.value*u.value}px, ${l.value}px`,strokeDashoffset:c.value})),h=tk(()=>({strokeDasharray:`${l.value*u.value*(t.percentage/100)}px, ${l.value}px`,strokeDashoffset:c.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),p=tk(()=>{let e;return e=t.color?_(t.percentage):n[t.status]||n.default,e}),f=tk(()=>"warning"===t.status?fH:"line"===t.type?"success"===t.status?LG:UG:"success"===t.status?DG:HG),m=tk(()=>"line"===t.type?12+.4*t.strokeWidth:.111111*t.width+2),g=tk(()=>t.format(t.percentage));const _=e=>{var n;const{color:i}=t;if(Yx(i))return i(e);if(Gx(i))return i;{const t=function(e){const t=100/e.length;return e.map((e,n)=>Gx(e)?{color:e,percentage:(n+1)*t}:e).sort((e,t)=>e.percentage-t.percentage)}(i);for(const n of t)if(n.percentage>e)return n.color;return null==(n=t[t.length-1])?void 0:n.color}};return(e,t)=>(iM(),uM("div",{class:xE([xI(i).b(),xI(i).m(e.type),xI(i).is(e.status),{[xI(i).m("without-text")]:!e.showText,[xI(i).m("text-inside")]:e.textInside}]),role:"progressbar","aria-valuenow":e.percentage,"aria-valuemin":"0","aria-valuemax":"100"},["line"===e.type?(iM(),uM("div",{key:0,class:xE(xI(i).b("bar"))},[gM("div",{class:xE(xI(i).be("bar","outer")),style:_E({height:`${e.strokeWidth}px`})},[gM("div",{class:xE([xI(i).be("bar","inner"),{[xI(i).bem("bar","inner","indeterminate")]:e.indeterminate},{[xI(i).bem("bar","inner","striped")]:e.striped},{[xI(i).bem("bar","inner","striped-flow")]:e.stripedFlow}]),style:_E(xI(r))},[(e.showText||e.$slots.default)&&e.textInside?(iM(),uM("div",{key:0,class:xE(xI(i).be("bar","innerText"))},[uC(e.$slots,"default",{percentage:e.percentage},()=>[gM("span",null,$E(xI(g)),1)])],2)):EM("v-if",!0)],6)],6)],2)):(iM(),uM("div",{key:1,class:xE(xI(i).b("circle")),style:_E({height:`${e.width}px`,width:`${e.width}px`})},[(iM(),uM("svg",{viewBox:"0 0 100 100"},[gM("path",{class:xE(xI(i).be("circle","track")),d:xI(a),stroke:`var(${xI(i).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":e.strokeLinecap,"stroke-width":xI(s),fill:"none",style:_E(xI(d))},null,14,["d","stroke","stroke-linecap","stroke-width"]),gM("path",{class:xE(xI(i).be("circle","path")),d:xI(a),stroke:xI(p),fill:"none",opacity:e.percentage?1:0,"stroke-linecap":e.strokeLinecap,"stroke-width":xI(s),style:_E(xI(h))},null,14,["d","stroke","opacity","stroke-linecap","stroke-width"])]))],6)),!e.showText&&!e.$slots.default||e.textInside?EM("v-if",!0):(iM(),uM("div",{key:2,class:xE(xI(i).e("text")),style:_E({fontSize:`${xI(m)}px`})},[uC(e.$slots,"default",{percentage:e.percentage},()=>[e.status?(iM(),cM(xI(WH),{key:1},{default:MA(()=>[(iM(),cM(iC(xI(f))))]),_:1})):(iM(),uM("span",{key:0},$E(xI(g)),1))])],6))],10,["aria-valuenow"]))}});const VJ=bG(UH(UJ,[["__file","progress.vue"]]));class zJ extends Error{constructor(e,t,n,i){super(e),this.name="UploadAjaxError",this.status=t,this.method=n,this.url=i}}function jJ(e,t,n){let i;return i=n.response?`${n.response.error||n.response}`:n.responseText?`${n.responseText}`:`fail to ${t.method} ${e} ${n.status}`,new zJ(i,n.status,t.method,e)}const YJ=["text","picture","picture-card"];let GJ=1;const HJ=()=>Date.now()+GJ++,WJ=oG({action:{type:String,default:"#"},headers:{type:Object},method:{type:String,default:"post"},data:{type:[Object,Function,Promise],default:()=>({})},multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:Array,default:()=>[]},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:YJ,default:"text"},httpRequest:{type:Function,default:e=>{"undefined"==typeof XMLHttpRequest&&cW("ElUpload","XMLHttpRequest is undefined");const t=new XMLHttpRequest,n=e.action;t.upload&&t.upload.addEventListener("progress",t=>{const n=t;n.percent=t.total>0?t.loaded/t.total*100:0,e.onProgress(n)});const i=new FormData;if(e.data)for(const[t,n]of Object.entries(e.data))Ux(n)&&n.length?i.append(t,...n):i.append(t,n);i.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(jJ(n,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(jJ(n,e,t));e.onSuccess(function(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch(e){return t}}(t))}),t.open(e.method,n,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const r=e.headers||{};if(r instanceof Headers)r.forEach((e,n)=>t.setRequestHeader(n,e));else for(const[e,n]of Object.entries(r))FX(n)||t.setRequestHeader(e,String(n));return t.send(i),t}},disabled:Boolean,limit:Number}),XJ=oG({...WJ,beforeUpload:{type:Function,default:Rx},beforeRemove:{type:Function},onRemove:{type:Function,default:Rx},onChange:{type:Function,default:Rx},onPreview:{type:Function,default:Rx},onSuccess:{type:Function,default:Rx},onProgress:{type:Function,default:Rx},onError:{type:Function,default:Rx},onExceed:{type:Function,default:Rx},crossorigin:{type:String}}),qJ=oG({files:{type:Array,default:()=>[]},disabled:Boolean,handlePreview:{type:Function,default:Rx},listType:{type:String,values:YJ,default:"text"},crossorigin:{type:String}}),KJ=sS({name:"ElUploadList"}),ZJ=sS({...KJ,props:qJ,emits:{remove:e=>!!e},setup(e,{emit:t}){const n=e,{t:i}=nG(),r=Zz("upload"),s=Zz("icon"),o=Zz("list"),a=KW(),l=_I(!1),u=tk(()=>[r.b("list"),r.bm("list",n.listType),r.is("disabled",n.disabled)]),c=e=>{t("remove",e)};return(e,t)=>(iM(),cM(ER,{tag:"ul",class:xE(xI(u)),name:xI(o).b()},{default:MA(()=>[(iM(!0),uM(ZO,null,aC(e.files,(t,n)=>(iM(),uM("li",{key:t.uid||t.name,class:xE([xI(r).be("list","item"),xI(r).is(t.status),{focusing:l.value}]),tabindex:"0",onKeydown:HR(e=>!xI(a)&&c(t),["delete"]),onFocus:e=>l.value=!0,onBlur:e=>l.value=!1,onClick:e=>l.value=!1},[uC(e.$slots,"default",{file:t,index:n},()=>["picture"===e.listType||"uploading"!==t.status&&"picture-card"===e.listType?(iM(),uM("img",{key:0,class:xE(xI(r).be("list","item-thumbnail")),src:t.url,crossorigin:e.crossorigin,alt:""},null,10,["src","crossorigin"])):EM("v-if",!0),"uploading"===t.status||"picture-card"!==e.listType?(iM(),uM("div",{key:1,class:xE(xI(r).be("list","item-info"))},[gM("a",{class:xE(xI(r).be("list","item-name")),onClick:YR(n=>e.handlePreview(t),["prevent"])},[_M(xI(WH),{class:xE(xI(s).m("document"))},{default:MA(()=>[_M(xI(KG))]),_:1},8,["class"]),gM("span",{class:xE(xI(r).be("list","item-file-name")),title:t.name},$E(t.name),11,["title"])],10,["onClick"]),"uploading"===t.status?(iM(),cM(xI(VJ),{key:0,type:"picture-card"===e.listType?"circle":"line","stroke-width":"picture-card"===e.listType?6:2,percentage:Number(t.percentage),style:_E("picture-card"===e.listType?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):EM("v-if",!0)],2)):EM("v-if",!0),gM("label",{class:xE(xI(r).be("list","item-status-label"))},["text"===e.listType?(iM(),cM(xI(WH),{key:0,class:xE([xI(s).m("upload-success"),xI(s).m("circle-check")])},{default:MA(()=>[_M(xI(LG))]),_:1},8,["class"])):["picture-card","picture"].includes(e.listType)?(iM(),cM(xI(WH),{key:1,class:xE([xI(s).m("upload-success"),xI(s).m("check")])},{default:MA(()=>[_M(xI(DG))]),_:1},8,["class"])):EM("v-if",!0)],2),xI(a)?EM("v-if",!0):(iM(),cM(xI(WH),{key:2,class:xE(xI(s).m("close")),onClick:e=>c(t)},{default:MA(()=>[_M(xI(HG))]),_:2},1032,["class","onClick"])),EM(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),EM(" This is a bug which needs to be fixed "),EM(" TODO: Fix the incorrect navigation interaction "),xI(a)?EM("v-if",!0):(iM(),uM("i",{key:3,class:xE(xI(s).m("close-tip"))},$E(xI(i)("el.upload.deleteTip")),3)),"picture-card"===e.listType?(iM(),uM("span",{key:4,class:xE(xI(r).be("list","item-actions"))},[gM("span",{class:xE(xI(r).be("list","item-preview")),onClick:n=>e.handlePreview(t)},[_M(xI(WH),{class:xE(xI(s).m("zoom-in"))},{default:MA(()=>[_M(xI(gH))]),_:1},8,["class"])],10,["onClick"]),xI(a)?EM("v-if",!0):(iM(),uM("span",{key:0,class:xE(xI(r).be("list","item-delete")),onClick:e=>c(t)},[_M(xI(WH),{class:xE(xI(s).m("delete"))},{default:MA(()=>[_M(xI(XG))]),_:1},8,["class"])],10,["onClick"]))],2)):EM("v-if",!0)])],42,["onKeydown","onFocus","onBlur","onClick"]))),128)),uC(e.$slots,"append")]),_:3},8,["class","name"]))}});var QJ=UH(ZJ,[["__file","upload-list.vue"]]);const JJ=function(){this.__data__=new AY,this.size=0};const e0=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n};const t0=function(e){return this.__data__.get(e)};const n0=function(e){return this.__data__.has(e)};const i0=function(e,t){var n=this.__data__;if(n instanceof AY){var i=n.__data__;if(!SY||i.length<199)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new LY(i)}return n.set(e,t),this.size=n.size,this};function r0(e){var t=this.__data__=new AY(e);this.size=t.size}r0.prototype.clear=JJ,r0.prototype.delete=e0,r0.prototype.get=t0,r0.prototype.has=n0,r0.prototype.set=i0;const s0=r0;const o0=function(e,t){for(var n=-1,i=null==e?0:e.length;++na))return!1;var u=s.get(e),c=s.get(t);if(u&&c)return u==t&&c==e;var d=-1,h=!0,p=2&n?new K1:void 0;for(s.set(e,t),s.set(t,e);++dUx(e)},g2="ElUploadDrag",_2=sS({name:g2}),y2=sS({..._2,props:f2,emits:m2,setup(e,{emit:t}){qC(PJ)||cW(g2,"usage: ");const n=Zz("upload"),i=_I(!1),r=KW(),s=e=>{if(r.value)return;i.value=!1,e.stopPropagation();const n=Array.from(e.dataTransfer.files),s=e.dataTransfer.items||[];n.forEach((e,t)=>{var n;const i=s[t],r=null==(n=null==i?void 0:i.webkitGetAsEntry)?void 0:n.call(i);r&&(e.isDirectory=r.isDirectory)}),t("file",n)},o=()=>{r.value||(i.value=!0)},a=e=>{e.currentTarget.contains(e.relatedTarget)||(i.value=!1)};return(e,t)=>(iM(),uM("div",{class:xE([xI(n).b("dragger"),xI(n).is("dragover",i.value)]),onDrop:YR(s,["prevent"]),onDragover:YR(o,["prevent"]),onDragleave:YR(a,["prevent"])},[uC(e.$slots,"default")],42,["onDrop","onDragover","onDragleave"]))}});var v2=UH(y2,[["__file","upload-dragger.vue"]]);const b2=oG({...WJ,beforeUpload:{type:Function,default:Rx},onRemove:{type:Function,default:Rx},onStart:{type:Function,default:Rx},onSuccess:{type:Function,default:Rx},onProgress:{type:Function,default:Rx},onError:{type:Function,default:Rx},onExceed:{type:Function,default:Rx}}),T2=sS({name:"ElUploadContent",inheritAttrs:!1}),x2=sS({...T2,props:b2,setup(e,{expose:t}){const n=e,i=Zz("upload"),r=KW(),s=yI({}),o=yI(),a=e=>{if(0===e.length)return;const{autoUpload:t,limit:i,fileList:r,multiple:s,onStart:o,onExceed:a}=n;if(i&&r.length+e.length>i)a(e,r);else{s||(e=e.slice(0,1));for(const n of e){const e=n;e.uid=HJ(),o(e),t&&l(e)}}},l=async e=>{if(o.value.value="",!n.beforeUpload)return u(e);let t,i={};try{const r=n.data,s=n.beforeUpload(e);i=Qx(n.data)?H1(n.data):n.data,t=await s,Qx(n.data)&&p2(r,i)&&(i=H1(n.data))}catch(e){t=!1}if(!1===t)return void n.onRemove(e);let r=e;t instanceof Blob&&(r=t instanceof File?t:new File([t],e.name,{type:e.type})),u(Object.assign(r,{uid:e.uid}),i)},u=async(e,t)=>{const{headers:i,data:r,method:o,withCredentials:a,name:l,action:u,onProgress:c,onSuccess:d,onError:h,httpRequest:p}=n;try{t=await(async(e,t)=>Yx(e)?e(t):e)(null!=t?t:r,e)}catch(t){return void n.onRemove(e)}const{uid:f}=e,m={headers:i||{},withCredentials:a,file:e,data:t,method:o,filename:l,action:u,onProgress:t=>{c(t,e)},onSuccess:t=>{d(t,e),delete s.value[f]},onError:t=>{h(t,e),delete s.value[f]}},g=p(m);s.value[f]=g,g instanceof Promise&&g.then(m.onSuccess,m.onError)},c=e=>{const t=e.target.files;t&&a(Array.from(t))},d=()=>{r.value||(o.value.value="",o.value.click())},h=()=>{d()};return t({abort:e=>{const t=(n=s.value,Object.entries(n)).filter(e?([t])=>String(e.uid)===t:()=>!0);var n;t.forEach(([e,t])=>{t instanceof XMLHttpRequest&&t.abort(),delete s.value[e]})},upload:l}),(e,t)=>(iM(),uM("div",{class:xE([xI(i).b(),xI(i).m(e.listType),xI(i).is("drag",e.drag),xI(i).is("disabled",xI(r))]),tabindex:xI(r)?"-1":"0",onClick:d,onKeydown:HR(YR(h,["self"]),["enter","space"])},[e.drag?(iM(),cM(v2,{key:0,disabled:xI(r),onFile:a},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["disabled"])):uC(e.$slots,"default",{key:1}),gM("input",{ref_key:"inputRef",ref:o,class:xE(xI(i).e("input")),name:e.name,disabled:xI(r),multiple:e.multiple,accept:e.accept,type:"file",onChange:c,onClick:YR(()=>{},["stop"])},null,42,["name","disabled","multiple","accept","onClick"])],42,["tabindex","onKeydown"]))}});var E2=UH(x2,[["__file","upload-content.vue"]]);const w2="ElUpload",I2=e=>{var t;(null==(t=e.url)?void 0:t.startsWith("blob:"))&&URL.revokeObjectURL(e.url)},A2=(e,t)=>{const n=BH(e,"fileList",void 0,{passive:!0}),i=e=>n.value.find(t=>t.uid===e.uid);function r(e){var n;null==(n=t.value)||n.abort(e)}function s(e){n.value=n.value.filter(t=>t.uid!==e.uid)}return CO(()=>e.listType,t=>{"picture-card"!==t&&"picture"!==t||(n.value=n.value.map(t=>{const{raw:i,url:r}=t;if(!r&&i)try{t.url=URL.createObjectURL(i)}catch(i){e.onError(i,t,n.value)}return t}))}),CO(n,e=>{for(const t of e)t.uid||(t.uid=HJ()),t.status||(t.status="success")},{immediate:!0,deep:!0}),{uploadFiles:n,abort:r,clearFiles:function(e=["ready","uploading","success","fail"]){n.value=n.value.filter(t=>!e.includes(t.status))},handleError:(t,r)=>{const o=i(r);o&&(console.error(t),o.status="fail",s(o),e.onError(t,o,n.value),e.onChange(o,n.value))},handleProgress:(t,r)=>{const s=i(r);s&&(e.onProgress(t,s,n.value),s.status="uploading",s.percentage=Math.round(t.percent))},handleStart:t=>{FX(t.uid)&&(t.uid=HJ());const i={name:t.name,percentage:0,status:"ready",size:t.size,raw:t,uid:t.uid};if("picture-card"===e.listType||"picture"===e.listType)try{i.url=URL.createObjectURL(t)}catch(t){t.message,e.onError(t,i,n.value)}n.value=[...n.value,i],e.onChange(i,n.value)},handleSuccess:(t,r)=>{const s=i(r);s&&(s.status="success",s.response=t,e.onSuccess(t,s,n.value),e.onChange(s,n.value))},handleRemove:async t=>{const o=t instanceof File?i(t):t;o||cW(w2,"file to be removed not found");const a=t=>{r(t),s(t),e.onRemove(t,n.value),I2(t)};if(e.beforeRemove){!1!==await e.beforeRemove(o,n.value)&&a(o)}else a(o)},submit:function(){n.value.filter(({status:e})=>"ready"===e).forEach(({raw:e})=>{var n;return e&&(null==(n=t.value)?void 0:n.upload(e))})},revokeFileObjectURL:I2}},S2=sS({name:"ElUpload"}),C2=sS({...S2,props:XJ,setup(e,{expose:t}){const n=e,i=KW(),r=yI(),{abort:s,submit:o,clearFiles:a,uploadFiles:l,handleStart:u,handleError:c,handleRemove:d,handleSuccess:h,handleProgress:p,revokeFileObjectURL:f}=A2(n,r),m=tk(()=>"picture-card"===n.listType),g=tk(()=>({...n,fileList:l.value,onStart:u,onProgress:p,onSuccess:h,onError:c,onRemove:d}));return WS(()=>{l.value.forEach(f)}),XC(PJ,{accept:kI(n,"accept")}),t({abort:s,submit:o,clearFiles:a,handleStart:u,handleRemove:d}),(e,t)=>(iM(),uM("div",null,[xI(m)&&e.showFileList?(iM(),cM(QJ,{key:0,disabled:xI(i),"list-type":e.listType,files:xI(l),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:xI(d)},lC({append:MA(()=>[_M(E2,SM({ref_key:"uploadRef",ref:r},xI(g)),{default:MA(()=>[e.$slots.trigger?uC(e.$slots,"trigger",{key:0}):EM("v-if",!0),!e.$slots.trigger&&e.$slots.default?uC(e.$slots,"default",{key:1}):EM("v-if",!0)]),_:3},16)]),_:2},[e.$slots.file?{name:"default",fn:MA(({file:t,index:n})=>[uC(e.$slots,"file",{file:t,index:n})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):EM("v-if",!0),!xI(m)||xI(m)&&!e.showFileList?(iM(),cM(E2,SM({key:1,ref_key:"uploadRef",ref:r},xI(g)),{default:MA(()=>[e.$slots.trigger?uC(e.$slots,"trigger",{key:0}):EM("v-if",!0),!e.$slots.trigger&&e.$slots.default?uC(e.$slots,"default",{key:1}):EM("v-if",!0)]),_:3},16)):EM("v-if",!0),e.$slots.trigger?uC(e.$slots,"default",{key:2}):EM("v-if",!0),uC(e.$slots,"tip"),!xI(m)&&e.showFileList?(iM(),cM(QJ,{key:3,disabled:xI(i),"list-type":e.listType,files:xI(l),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:xI(d)},lC({_:2},[e.$slots.file?{name:"default",fn:MA(({file:t,index:n})=>[uC(e.$slots,"file",{file:t,index:n})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):EM("v-if",!0)]))}});const O2=bG(UH(C2,[["__file","upload.vue"]]));const M2=function(){return Oj.Date.now()};var k2=/\s/;const R2=function(e){for(var t=e.length;t--&&k2.test(e.charAt(t)););return t};var N2=/^\s+/;const D2=function(e){return e?e.slice(0,R2(e)+1).replace(N2,""):e};var F2=/^[-+]0x[0-9a-f]+$/i,L2=/^0b[01]+$/i,P2=/^0o[0-7]+$/i,B2=parseInt;const $2=function(e){if("number"==typeof e)return e;if(Vj(e))return NaN;if(Gj(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Gj(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=D2(e);var n=L2.test(e);return n||P2.test(e)?B2(e.slice(2),n?2:8):F2.test(e)?NaN:+e};var U2=Math.max,V2=Math.min;const z2=function(e,t,n){var i,r,s,o,a,l,u=0,c=!1,d=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var n=i,s=r;return i=r=void 0,u=t,o=e.apply(s,n)}function f(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-u>=s}function m(){var e=M2();if(f(e))return g(e);a=setTimeout(m,function(e){var n=t-(e-l);return d?V2(n,s-(e-u)):n}(e))}function g(e){return a=void 0,h&&i?p(e):(i=r=void 0,o)}function _(){var e=M2(),n=f(e);if(i=arguments,r=this,l=e,n){if(void 0===a)return function(e){return u=e,a=setTimeout(m,t),c?p(e):o}(l);if(d)return clearTimeout(a),a=setTimeout(m,t),p(l)}return void 0===a&&(a=setTimeout(m,t)),o}return t=$2(t)||0,Gj(n)&&(c=!!n.leading,s=(d="maxWait"in n)?U2($2(n.maxWait)||0,t):s,h="trailing"in n?!!n.trailing:h),_.cancel=function(){void 0!==a&&clearTimeout(a),u=0,i=l=r=a=void 0},_.flush=function(){return void 0===a?o:g(M2())},_};const j2=function(e,t,n){var i=!0,r=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return Gj(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),z2(e,t,{leading:i,maxWait:t,trailing:r})},Y2=oG({urlList:{type:Array,default:()=>[]},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},hideOnClickModal:Boolean,teleported:Boolean,closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:String}}),G2={close:()=>!0,error:e=>e instanceof Event,switch:e=>ej(e),rotate:e=>ej(e)},H2=sS({name:"ElImageViewer"}),W2=sS({...H2,props:Y2,emits:G2,setup(e,{expose:t,emit:n}){var i;const r=e,s={CONTAIN:{name:"contain",icon:pI(eH)},ORIGINAL:{name:"original",icon:pI(dH)}};let o,a="";const{t:l}=nG(),u=Zz("image-viewer"),{nextZIndex:c}=Ij(),d=_I(),h=_I(),p=GE(),f=tk(()=>{const{scale:e,minScale:t,maxScale:n}=r;return((e,t,n)=>Math.min(n,Math.max(t,e)))(e,t,n)}),m=_I(!0),g=_I(!1),_=_I(r.initialIndex),y=yI(s.CONTAIN),v=_I({scale:f.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),b=_I(null!=(i=r.zIndex)?i:c()),T=tk(()=>{const{urlList:e}=r;return e.length<=1}),x=tk(()=>0===_.value),E=tk(()=>_.value===r.urlList.length-1),w=tk(()=>r.urlList[_.value]),I=tk(()=>[u.e("btn"),u.e("prev"),u.is("disabled",!r.infinite&&x.value)]),A=tk(()=>[u.e("btn"),u.e("next"),u.is("disabled",!r.infinite&&E.value)]),S=tk(()=>{const{scale:e,deg:t,offsetX:n,offsetY:i,enableTransition:r}=v.value;let o=n/e,a=i/e;const l=t*Math.PI/180,u=Math.cos(l),c=Math.sin(l);o=o*u+a*c,a=a*u-n/e*c;const d={transform:`scale(${e}) rotate(${t}deg) translate(${o}px, ${a}px)`,transition:r?"transform .3s":""};return y.value.name===s.CONTAIN.name&&(d.maxWidth=d.maxHeight="100%"),d}),C=tk(()=>`${_.value+1} / ${r.urlList.length}`);function O(){p.stop(),null==o||o(),document.body.style.overflow=a,n("close")}function M(){m.value=!1}function k(e){g.value=!0,m.value=!1,n("error",e),e.target.alt=l("el.image.error")}function R(e){if(m.value||0!==e.button||!d.value)return;v.value.enableTransition=!1;const{offsetX:t,offsetY:n}=v.value,i=e.pageX,r=e.pageY,s=j2(e=>{v.value={...v.value,offsetX:t+e.pageX-i,offsetY:n+e.pageY-r}}),o=bH(document,"mousemove",s);bH(document,"mouseup",()=>{o()}),e.preventDefault()}function N(){v.value={scale:f.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function D(){if(m.value||g.value)return;const e=hG(s),t=Object.values(s),n=y.value.name,i=(t.findIndex(e=>e.name===n)+1)%e.length;y.value=s[e[i]],N()}function F(e){g.value=!1;const t=r.urlList.length;_.value=(e+t)%t}function L(){x.value&&!r.infinite||F(_.value-1)}function P(){E.value&&!r.infinite||F(_.value+1)}function B(e,t={}){if(m.value||g.value)return;const{minScale:i,maxScale:s}=r,{zoomRate:o,rotateDeg:a,enableTransition:l}={zoomRate:r.zoomRate,rotateDeg:90,enableTransition:!0,...t};switch(e){case"zoomOut":v.value.scale>i&&(v.value.scale=Number.parseFloat((v.value.scale/o).toFixed(3)));break;case"zoomIn":v.value.scale0?(e.preventDefault(),!1):void 0}return CO(()=>f.value,e=>{v.value.scale=e}),CO(w,()=>{oA(()=>{const e=h.value;(null==e?void 0:e.complete)||(m.value=!0)})}),CO(_,e=>{N(),n("switch",e)}),YS(()=>{!function(){const e=j2(e=>{switch(e.code){case sW.esc:r.closeOnPressEscape&&O();break;case sW.space:D();break;case sW.left:L();break;case sW.up:B("zoomIn");break;case sW.right:P();break;case sW.down:B("zoomOut")}}),t=j2(e=>{B((e.deltaY||e.deltaX)<0?"zoomIn":"zoomOut",{zoomRate:r.zoomRate,enableTransition:!1})});p.run(()=>{bH(document,"keydown",e),bH(document,"wheel",t)})}(),o=bH("wheel",V,{passive:!1}),a=document.body.style.overflow,document.body.style.overflow="hidden"}),t({setActiveItem:F}),(e,t)=>(iM(),cM(xI(zZ),{to:"body",disabled:!e.teleported},{default:MA(()=>[_M(Ak,{name:"viewer-fade",appear:""},{default:MA(()=>[gM("div",{ref_key:"wrapper",ref:d,tabindex:-1,class:xE(xI(u).e("wrapper")),style:_E({zIndex:b.value})},[_M(xI(mQ),{loop:"",trapped:"","focus-trap-el":d.value,"focus-start-el":"container",onFocusoutPrevented:$,onReleaseRequested:U},{default:MA(()=>[gM("div",{class:xE(xI(u).e("mask")),onClick:YR(t=>e.hideOnClickModal&&O(),["self"])},null,10,["onClick"]),EM(" CLOSE "),gM("span",{class:xE([xI(u).e("btn"),xI(u).e("close")]),onClick:O},[_M(xI(WH),null,{default:MA(()=>[_M(xI(HG))]),_:1})],2),EM(" ARROW "),xI(T)?EM("v-if",!0):(iM(),uM(ZO,{key:0},[gM("span",{class:xE(xI(I)),onClick:L},[_M(xI(WH),null,{default:MA(()=>[_M(xI(AG))]),_:1})],2),gM("span",{class:xE(xI(A)),onClick:P},[_M(xI(WH),null,{default:MA(()=>[_M(xI(CG))]),_:1})],2)],64)),e.$slots.progress||e.showProgress?(iM(),uM("div",{key:1,class:xE([xI(u).e("btn"),xI(u).e("progress")])},[uC(e.$slots,"progress",{activeIndex:_.value,total:e.urlList.length},()=>[TM($E(xI(C)),1)])],2)):EM("v-if",!0),EM(" ACTIONS "),gM("div",{class:xE([xI(u).e("btn"),xI(u).e("actions")])},[gM("div",{class:xE(xI(u).e("actions__inner"))},[uC(e.$slots,"toolbar",{actions:B,prev:L,next:P,reset:D,activeIndex:_.value,setActiveItem:F},()=>[_M(xI(WH),{onClick:e=>B("zoomOut")},{default:MA(()=>[_M(xI(_H))]),_:1},8,["onClick"]),_M(xI(WH),{onClick:e=>B("zoomIn")},{default:MA(()=>[_M(xI(gH))]),_:1},8,["onClick"]),gM("i",{class:xE(xI(u).e("actions__divider"))},null,2),_M(xI(WH),{onClick:D},{default:MA(()=>[(iM(),cM(iC(xI(y).icon)))]),_:1}),gM("i",{class:xE(xI(u).e("actions__divider"))},null,2),_M(xI(WH),{onClick:e=>B("anticlockwise")},{default:MA(()=>[_M(xI(uH))]),_:1},8,["onClick"]),_M(xI(WH),{onClick:e=>B("clockwise")},{default:MA(()=>[_M(xI(cH))]),_:1},8,["onClick"])])],2)],2),EM(" CANVAS "),gM("div",{class:xE(xI(u).e("canvas"))},[g.value&&e.$slots["viewer-error"]?uC(e.$slots,"viewer-error",{key:0,activeIndex:_.value,src:xI(w)}):(iM(),uM("img",{ref_key:"imgRef",ref:h,key:xI(w),src:xI(w),style:_E(xI(S)),class:xE(xI(u).e("img")),crossorigin:e.crossorigin,onLoad:M,onError:k,onMousedown:R},null,46,["src","crossorigin"]))],2),uC(e.$slots,"default")]),_:3},8,["focus-trap-el"])],6)]),_:3})]),_:3},8,["disabled"]))}});const X2=bG(UH(W2,[["__file","image-viewer.vue"]])),q2=oG({hideOnClickModal:Boolean,src:{type:String,default:""},fit:{type:String,values:["","contain","cover","fill","none","scale-down"],default:""},loading:{type:String,values:["eager","lazy"]},lazy:Boolean,scrollContainer:{type:[String,Object]},previewSrcList:{type:Array,default:()=>[]},previewTeleported:Boolean,zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:String}}),K2={load:e=>e instanceof Event,error:e=>e instanceof Event,switch:e=>ej(e),close:()=>!0,show:()=>!0},Z2=(e,t)=>{if(!dj)return!1;const n=((e,t)=>{var n;if(!dj||!e||!t)return"";let i=rE(t);"float"===i&&(i="cssFloat");try{const t=e.style[i];if(t)return t;const r=null==(n=document.defaultView)?void 0:n.getComputedStyle(e,"");return r?r[i]:""}catch(t){return e.style[i]}})(e,{undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)]);return["scroll","auto","overlay"].some(e=>n.includes(e))};const Q2=sS({name:"ElImage",inheritAttrs:!1}),J2=sS({...Q2,props:q2,emits:K2,setup(e,{expose:t,emit:n}){const i=e,{t:r}=nG(),s=Zz("image"),o=IC(),a=tk(()=>iG(Object.entries(o).filter(([e])=>/^(data-|on[A-Z])/i.test(e)||["id","style"].includes(e)))),l=kq({excludeListeners:!0,excludeKeys:tk(()=>Object.keys(a.value))}),u=_I(),c=_I(!1),d=_I(!0),h=_I(!1),p=_I(),f=_I(),m=dj&&"loading"in HTMLImageElement.prototype;let g;const _=tk(()=>[s.e("inner"),v.value&&s.e("preview"),d.value&&s.is("loading")]),y=tk(()=>{const{fit:e}=i;return dj&&e?{objectFit:e}:{}}),v=tk(()=>{const{previewSrcList:e}=i;return Ux(e)&&e.length>0}),b=tk(()=>{const{previewSrcList:e,initialIndex:t}=i;let n=t;return t>e.length-1&&(n=0),n}),T=tk(()=>"eager"!==i.loading&&(!m&&"lazy"===i.loading||i.lazy)),x=()=>{dj&&(d.value=!0,c.value=!1,u.value=i.src)};function E(e){d.value=!1,c.value=!1,n("load",e)}function w(e){d.value=!1,c.value=!0,n("error",e)}const I=vj(function(e){e&&(x(),S())},200,!0);async function A(){var e;if(!dj)return;await oA();const{scrollContainer:t}=i;if(tj(t))f.value=t;else if(Gx(t)&&""!==t)f.value=null!=(e=document.querySelector(t))?e:void 0;else if(p.value){const e=((e,t)=>{if(!dj)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(Z2(n,t))return n;n=n.parentNode}return n})(p.value);f.value=e===window?void 0:e}const{stop:n}=function(e,t,n={}){const{root:i,rootMargin:r="0px",threshold:s=.1,window:o=vH}=n,a=xH(()=>o&&"IntersectionObserver"in o);let l=pj;const u=a.value?CO(()=>({el:yH(e),root:yH(i)}),({el:e,root:n})=>{if(l(),!e)return;const i=new IntersectionObserver(t,{root:n,rootMargin:r,threshold:s});i.observe(e),l=()=>{i.disconnect(),l=pj}},{immediate:!0,flush:"post"}):pj,c=()=>{l(),u()};return yj(c),{isSupported:a,stop:c}}(p,([e])=>{I(e.isIntersecting)},{root:f});g=n}function S(){dj&&I&&(null==g||g(),f.value=void 0,g=void 0)}function C(){v.value&&(h.value=!0,n("show"))}function O(){h.value=!1,n("close")}function M(e){n("switch",e)}return CO(()=>i.src,()=>{T.value?(d.value=!0,c.value=!1,S(),A()):x()}),YS(()=>{T.value?A():x()}),t({showPreview:C}),(e,t)=>(iM(),uM("div",SM({ref_key:"container",ref:p},xI(a),{class:[xI(s).b(),e.$attrs.class]}),[c.value?uC(e.$slots,"error",{key:0},()=>[gM("div",{class:xE(xI(s).e("error"))},$E(xI(r)("el.image.error")),3)]):(iM(),uM(ZO,{key:1},[void 0!==u.value?(iM(),uM("img",SM({key:0},xI(l),{src:u.value,loading:e.loading,style:xI(y),class:xI(_),crossorigin:e.crossorigin,onClick:C,onLoad:E,onError:w}),null,16,["src","loading","crossorigin"])):EM("v-if",!0),d.value?(iM(),uM("div",{key:1,class:xE(xI(s).e("wrapper"))},[uC(e.$slots,"placeholder",{},()=>[gM("div",{class:xE(xI(s).e("placeholder"))},null,2)])],2)):EM("v-if",!0)],64)),xI(v)?(iM(),uM(ZO,{key:2},[h.value?(iM(),cM(xI(X2),{key:0,"z-index":e.zIndex,"initial-index":xI(b),infinite:e.infinite,"zoom-rate":e.zoomRate,"min-scale":e.minScale,"max-scale":e.maxScale,"show-progress":e.showProgress,"url-list":e.previewSrcList,scale:e.scale,crossorigin:e.crossorigin,"hide-on-click-modal":e.hideOnClickModal,teleported:e.previewTeleported,"close-on-press-escape":e.closeOnPressEscape,onClose:O,onSwitch:M},lC({toolbar:MA(t=>[uC(e.$slots,"toolbar",EE(vM(t)))]),default:MA(()=>[e.$slots.viewer?(iM(),uM("div",{key:0},[uC(e.$slots,"viewer")])):EM("v-if",!0)]),_:2},[e.$slots.progress?{name:"progress",fn:MA(t=>[uC(e.$slots,"progress",EE(vM(t)))])}:void 0,e.$slots["viewer-error"]?{name:"viewer-error",fn:MA(t=>[uC(e.$slots,"viewer-error",EE(vM(t)))])}:void 0]),1032,["z-index","initial-index","infinite","zoom-rate","min-scale","max-scale","show-progress","url-list","scale","crossorigin","hide-on-click-modal","teleported","close-on-press-escape"])):EM("v-if",!0)],64)):EM("v-if",!0)],16))}});const e3=bG(UH(J2,[["__file","image.vue"]])),t3={class:"card-header"},n3={key:0,class:"disabled-tag",style:{color:"#f56c6c","margin-left":"8px","font-size":"13px"}},i3={class:"el-dropdown-link"},r3={class:"card-content",style:{"flex-direction":"column",display:"flex"}},s3={class:"card-content-info"},o3={style:{display:"flex",gap:"4px"}},a3={__name:"ClassBox",props:{title:{type:String,default:"类别"},picList:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1}},emits:["add-sample","delete-sample","rename-class","delete-class","disable-class","clear-samples"],setup(e,{emit:t}){const n=e,i=t,r=_I(n.title),s=_I(!1),o=_I(r.value),a=_I(null),l=_I(null);function u(){s.value||(s.value=!0,o.value=r.value,oA(()=>{a.value&&a.value.input&&a.value.input.select()}))}function c(){o.value.trim()&&(r.value=o.value.trim(),i("rename-class",r.value)),s.value=!1}function d(){i("add-sample")}function h(){d(),l.value=setInterval(()=>{d()},200)}function p(){l.value&&(clearInterval(l.value),l.value=null)}function f(){i("delete-class")}function m(){i("disable-class")}function g(){i("clear-samples")}function _(){const e=new(DX());n.picList.forEach((t,n)=>{const i=t.split(",")[1];e.file(`sample_${n+1}.png`,i,{base64:!0})}),e.generateAsync({type:"blob"}).then(e=>{(0,RX.saveAs)(e,"samples.zip")})}function y(e){return new Promise((t,n)=>{if("application/zip"===e.type||e.name.endsWith(".zip")){const r=new(DX());r.loadAsync(e).then(e=>{const n=Object.values(e.files).filter(e=>!e.dir&&e.name.match(/\.(png|jpg|jpeg|gif|bmp)$/i));Promise.all(n.map(e=>r.file(e.name).async("blob").then(t=>{const n=new File([t],e.name,{type:t.type}),i=new FileReader;return i.readAsDataURL(n),new Promise(e=>i.onload=e)}))).then(e=>{e.forEach(e=>i("add-sample",e.target.result)),t(!1)})}).catch(n)}else{const r=new FileReader;r.onload=e=>{i("add-sample",e.target.result),t(!1)},r.onerror=n,r.readAsDataURL(e)}})}return CO(()=>n.title,e=>{r.value=e}),(e,t)=>(iM(),cM(xI(kX),{class:"class-box"},{header:MA(()=>[gM("div",t3,[gM("span",{class:"card-header-title",style:{cursor:"pointer"},onClick:u},[s.value?(iM(),cM(xI(Pq),{key:1,ref_key:"inputRef",ref:a,modelValue:o.value,"onUpdate:modelValue":t[0]||(t[0]=e=>o.value=e),style:{width:"120px"},onKeyup:HR(c,["enter"]),onBlur:c},null,8,["modelValue"])):(iM(),uM(ZO,{key:0},[TM($E(r.value)+" ",1),_M(xI(WH),{onClick:YR(u,["stop"])},{default:MA(()=>[_M(xI(QG))]),_:1}),n.disabled?(iM(),uM("span",n3," 禁用 ")):EM("v-if",!0)],64))]),_M(xI(DJ),{class:"card-header-title"},{dropdown:MA(()=>[_M(xI(LJ),{class:"class-box-dropdown"},{default:MA(()=>[_M(xI(FJ),{class:"class-box-dropdown-item",onClick:f},{default:MA(()=>t[1]||(t[1]=[gM("span",{style:{color:"#f56c6c"}},"删除类别",-1)])),_:1}),_M(xI(FJ),{class:"class-box-dropdown-item",onClick:m},{default:MA(()=>[TM($E(n.disabled?"启用":"禁用")+"类别 ",1)]),_:1}),_M(xI(FJ),{class:"class-box-dropdown-item",disabled:0===n.picList.length,onClick:g},{default:MA(()=>t[2]||(t[2]=[TM(" 清空样本 ")])),_:1},8,["disabled"]),_M(xI(FJ),{class:"class-box-dropdown-item",disabled:0===n.picList.length,onClick:_},{default:MA(()=>t[3]||(t[3]=[TM(" 导出样本 ")])),_:1},8,["disabled"])]),_:1})]),default:MA(()=>[gM("span",i3,[_M(xI(WH),null,{default:MA(()=>[_M(xI(lH))]),_:1})])]),_:1})])]),default:MA(()=>[gM("div",r3,[gM("div",s3,[TM(" 图像样本 "+$E(n.picList.length)+" ",1),gM("div",o3,[_M(xI(SX),{type:"primary",size:"small",disabled:n.disabled,onMousedown:h,onMouseup:p,onMouseleave:p},{default:MA(()=>[t[4]||(t[4]=TM(" 拍摄样本 ")),_M(xI(WH),null,{default:MA(()=>[_M(xI(RG))]),_:1})]),_:1},8,["disabled"]),_M(xI(O2),{"show-file-list":!1,"before-upload":y,accept:"image/*,.zip",disabled:n.disabled},{default:MA(()=>[_M(xI(SX),{plain:"",type:"primary",size:"small",disabled:n.disabled},{default:MA(()=>[t[5]||(t[5]=TM(" 上传样本 ")),_M(xI(WH),null,{default:MA(()=>[_M(xI(YG))]),_:1})]),_:1},8,["disabled"])]),_:1},8,["disabled"])])]),_M(ER,{name:"fade",tag:"div",class:"card-content-img"},{default:MA(()=>[(iM(!0),uM(ZO,null,aC(n.picList.slice().reverse(),e=>(iM(),uM("div",{key:e,class:"card-content-img-wrapper",style:{position:"relative",display:"inline-block"}},[_M(xI(e3),{src:e,class:xE(["card-content-img-item",{"img-disabled":n.disabled}])},null,8,["src","class"]),_M(xI(WH),{class:"delete-icon",onClick:t=>function(e){i("delete-sample",e)}(e)},{default:MA(()=>[_M(xI(XG))]),_:2},1032,["onClick"])]))),128))]),_:1})])]),_:1}))}},l3=a3,u3={class:"camera-box"},c3={__name:"CameraBox",setup(e,{expose:t}){const n=_I(null),i=qC("shotList");return YS(()=>{navigator.mediaDevices.getUserMedia({video:!0}).then(e=>{n.value&&(n.value.srcObject=e)}).catch(e=>{console.error("无法访问摄像头:",e)})}),t({captureShot:function(){const e=n.value;if(!e)return;const t=e.videoWidth,r=e.videoHeight;let s=0,o=0,a=t,l=r;t>r?(s=(t-r)/2,a=r):r>t&&(o=(r-t)/2,l=t);const u=Math.min(a,l),c=document.createElement("canvas");return c.width=u,c.height=u,c.getContext("2d").drawImage(e,s,o,u,u,0,0,u,u),i.value.push(c.toDataURL("image/png")),c.toDataURL("image/png")}}),(e,t)=>(iM(),uM("div",u3,[gM("video",{id:"webcam",ref_key:"videoRef",ref:n,class:"video-crop",autoplay:"",playsinline:"",muted:"",height:"100%",width:"100%"},null,512)]))}};var d3=__webpack_require__(66262);const h3=(0,d3.A)(c3,[["__scopeId","data-v-da91b390"]]);var p3=__webpack_require__(15838),f3=__webpack_require__(15441),m3=__webpack_require__(29809),g3=__webpack_require__(9258),_3=__webpack_require__(10700); +var OG=dS({name:"ArrowDown",__name:"arrow-down",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.59 30.59 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.59 30.59 0 0 0-42.752 0z"})]))}),MG=OG,kG=dS({name:"ArrowLeft",__name:"arrow-left",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.59 30.59 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.59 30.59 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0"})]))}),RG=kG,NG=dS({name:"ArrowRight",__name:"arrow-right",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M340.864 149.312a30.59 30.59 0 0 0 0 42.752L652.736 512 340.864 831.872a30.59 30.59 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"})]))}),DG=NG,FG=dS({name:"ArrowUp",__name:"arrow-up",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}),LG=FG,PG=dS({name:"Camera",__name:"camera",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M896 256H128v576h768zm-199.424-64-32.064-64h-304.96l-32 64zM96 192h160l46.336-92.608A64 64 0 0 1 359.552 64h304.96a64 64 0 0 1 57.216 35.328L768.192 192H928a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32m416 512a160 160 0 1 0 0-320 160 160 0 0 0 0 320m0 64a224 224 0 1 1 0-448 224 224 0 0 1 0 448"})]))}),BG=PG,$G=dS({name:"Check",__name:"check",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"})]))}),UG=$G,VG=dS({name:"CircleCheck",__name:"circle-check",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),xM("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752z"})]))}),zG=VG,jG=dS({name:"CircleCloseFilled",__name:"circle-close-filled",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"})]))}),YG=jG,GG=dS({name:"CircleClose",__name:"circle-close",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),xM("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}),HG=GG,WG=dS({name:"CirclePlusFilled",__name:"circle-plus-filled",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0z"})]))}),XG=WG,qG=dS({name:"CirclePlus",__name:"circle-plus",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64"}),xM("path",{fill:"currentColor",d:"M480 672V352a32 32 0 1 1 64 0v320a32 32 0 0 1-64 0"}),xM("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}),KG=qG,ZG=dS({name:"Close",__name:"close",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}),QG=ZG,JG=dS({name:"Delete",__name:"delete",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}),eH=JG,tH=dS({name:"Document",__name:"document",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}),nH=tH,iH=dS({name:"EditPen",__name:"edit-pen",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"m199.04 672.64 193.984 112 224-387.968-193.92-112-224 388.032zm-23.872 60.16 32.896 148.288 144.896-45.696zM455.04 229.248l193.92 112 56.704-98.112-193.984-112zM104.32 708.8l384-665.024 304.768 175.936L409.152 884.8h.064l-248.448 78.336zm384 254.272v-64h448v64z"})]))}),rH=iH,sH=dS({name:"FullScreen",__name:"full-screen",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}),oH=sH,aH=dS({name:"Hide",__name:"hide",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4s-12.8-9.6-22.4-9.6-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176S0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4 12.8 9.6 22.4 9.6 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4m-646.4 528Q115.2 579.2 76.8 512q43.2-72 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4m140.8-96Q352 555.2 352 512c0-44.8 16-83.2 48-112s67.2-48 112-48c28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6q-43.2 72-153.6 172.8c-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176S1024 528 1024 512s-48.001-73.6-134.401-176"}),xM("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112s-67.2 48-112 48"})]))}),lH=aH,uH=dS({name:"InfoFilled",__name:"info-filled",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.99 12.99 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}),cH=uH,dH=dS({name:"Loading",__name:"loading",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248m452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248M828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0"})]))}),hH=dH,pH=dS({name:"More",__name:"more",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96"})]))}),fH=pH,mH=dS({name:"RefreshLeft",__name:"refresh-left",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"})]))}),gH=dS({name:"RefreshRight",__name:"refresh-right",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88"})]))}),_H=dS({name:"ScaleToOriginal",__name:"scale-to-original",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118m-361.412 0a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118M512 361.412a30.12 30.12 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.12 30.12 0 0 0 512 361.412M512 512a30.12 30.12 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.12 30.12 0 0 0 512 512"})]))}),yH=dS({name:"SuccessFilled",__name:"success-filled",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}),vH=dS({name:"View",__name:"view",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}),bH=dS({name:"WarningFilled",__name:"warning-filled",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.43 58.43 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.43 58.43 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}),TH=dS({name:"Warning",__name:"warning",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768m48-176a48 48 0 1 1-96 0 48 48 0 0 1 96 0m-48-464a32 32 0 0 1 32 32v288a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"})]))}),xH=dS({name:"ZoomIn",__name:"zoom-in",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}),EH=dS({name:"ZoomOut",__name:"zoom-out",setup:e=>(e,t)=>(uM(),mM("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[xM("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))});function wH(e){var t;const n=Tj(e);return null!=(t=null==n?void 0:n.$el)?t:n}const IH=_j?window:void 0;_j&&window.document,_j&&window.navigator,_j&&window.location;function AH(...e){let t,n,i,r;if("string"==typeof e[0]||Array.isArray(e[0])?([n,i,r]=e,t=IH):[t,n,i,r]=e,!t)return vj;Array.isArray(n)||(n=[n]),Array.isArray(i)||(i=[i]);const s=[],o=()=>{s.forEach(e=>e()),s.length=0},a=DO(()=>[wH(t),Tj(r)],([e,t])=>{o(),e&&s.push(...n.flatMap(n=>i.map(i=>((e,t,n,i)=>(e.addEventListener(t,n,i),()=>e.removeEventListener(t,n,i)))(e,n,i,t))))},{immediate:!0,flush:"post"}),l=()=>{a(),o()};return wj(l),l}let SH=!1;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function CH(e,t=!1){const n=EI(),i=()=>n.value=Boolean(e());return i(),function(e,t=!0){$M()?KS(e):t?e():hA(e)}(i,t),n}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function OH(e){return JSON.parse(JSON.stringify(e))}const MH="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},kH="__vueuse_ssr_handlers__";MH[kH]=MH[kH]||{};MH[kH];Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var RH=Object.getOwnPropertySymbols,NH=Object.prototype.hasOwnProperty,DH=Object.prototype.propertyIsEnumerable;function FH(e,t,n={}){const i=n,{window:r=IH}=i,s=((e,t)=>{var n={};for(var i in e)NH.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&RH)for(var i of RH(e))t.indexOf(i)<0&&DH.call(e,i)&&(n[i]=e[i]);return n})(i,["window"]);let o;const a=CH(()=>r&&"ResizeObserver"in r),l=()=>{o&&(o.disconnect(),o=void 0)},u=DO(()=>wH(e),e=>{l(),a.value&&r&&e&&(o=new ResizeObserver(t),o.observe(e,s))},{immediate:!0,flush:"post"}),c=()=>{l(),u()};return wj(c),{isSupported:a,stop:c}}Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;function LH(e,t={width:0,height:0},n={}){const{window:i=IH,box:r="content-box"}=n,s=ak(()=>{var t,n;return null==(n=null==(t=wH(e))?void 0:t.namespaceURI)?void 0:n.includes("svg")}),o=EI(t.width),a=EI(t.height);return FH(e,([t])=>{const n="border-box"===r?t.borderBoxSize:"content-box"===r?t.contentBoxSize:t.devicePixelContentBoxSize;if(i&&s.value){const t=wH(e);if(t){const e=i.getComputedStyle(t);o.value=parseFloat(e.width),a.value=parseFloat(e.height)}}else if(n){const e=Array.isArray(n)?n:[n];o.value=e.reduce((e,{inlineSize:t})=>e+t,0),a.value=e.reduce((e,{blockSize:t})=>e+t,0)}else o.value=t.contentRect.width,a.value=t.contentRect.height},n),DO(()=>wH(e),e=>{o.value=e?t.width:0,a.value=e?t.height:0}),{width:o,height:a}}new Map;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var PH,BH;(BH=PH||(PH={})).UP="UP",BH.RIGHT="RIGHT",BH.DOWN="DOWN",BH.LEFT="LEFT",BH.NONE="NONE";Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.defineProperties,Object.getOwnPropertyDescriptors,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;Object.defineProperty,Object.getOwnPropertySymbols,Object.prototype.hasOwnProperty,Object.prototype.propertyIsEnumerable;var $H=Object.defineProperty,UH=Object.getOwnPropertySymbols,VH=Object.prototype.hasOwnProperty,zH=Object.prototype.propertyIsEnumerable,jH=(e,t,n)=>t in e?$H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;((e,t)=>{for(var n in t||(t={}))VH.call(t,n)&&jH(e,n,t[n]);if(UH)for(var n of UH(t))zH.call(t,n)&&jH(e,n,t[n])})({linear:function(e){return e}},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]});function YH(e,t,n,i={}){var r,s,o;const{clone:a=!1,passive:l=!1,eventName:u,deep:c=!1,defaultValue:d}=i,h=$M(),p=n||(null==h?void 0:h.emit)||(null==(r=null==h?void 0:h.$emit)?void 0:r.bind(h))||(null==(o=null==(s=null==h?void 0:h.proxy)?void 0:s.$emit)?void 0:o.bind(null==h?void 0:h.proxy));let f=u;t||(t="modelValue"),f=u||f||`update:${t.toString()}`;const m=e=>a?yj(a)?a(e):OH(e):e,g=()=>void 0!==e[t]?m(e[t]):d;if(l){const n=EI(g());return DO(()=>e[t],e=>n.value=m(e)),DO(n,n=>{(n!==e[t]||c)&&p(f,n)},{deep:c}),n}return ak({get:()=>g(),set(e){p(f,e)}})}const GH=hG({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"},showZero:{type:Boolean,default:!0},color:String,badgeStyle:{type:[String,Object,Array]},offset:{type:Array,default:[0,0]},badgeClass:{type:String}});var HH=(e,t)=>{const n=e.__vccOpts||e;for(const[e,i]of t)n[e]=i;return n};function WH(e,t="px"){return e?oj(e)||Zx(n=e)&&!Number.isNaN(Number(n))?`${e}${t}`:Zx(e)?e:void 0:"";var n}const XH=dS({name:"ElBadge"}),qH=dS({...XH,props:GH,setup(e,{expose:t}){const n=e,i=ij("badge"),r=ak(()=>n.isDot?"":oj(n.value)&&oj(n.max)&&n.max{var e,t,i,r,s;return[{backgroundColor:n.color,marginRight:WH(-(null!=(t=null==(e=n.offset)?void 0:e[0])?t:0)),marginTop:WH(null!=(r=null==(i=n.offset)?void 0:i[1])?r:0)},null!=(s=n.badgeStyle)?s:{}]});return t({content:r}),(e,t)=>(uM(),mM("div",{class:CE(CI(i).b())},[mC(e.$slots,"default"),EM(Rk,{name:`${CI(i).namespace.value}-zoom-in-center`,persisted:""},{default:LA(()=>[PA(xM("sup",{class:CE([CI(i).e("content"),CI(i).em("content",e.type),CI(i).is("fixed",!!e.$slots.default),CI(i).is("dot",e.isDot),CI(i).is("hide-zero",!e.showZero&&0===n.value),e.badgeClass]),style:EE(CI(s))},[mC(e.$slots,"content",{value:CI(r)},()=>[SM(GE(CI(r)),1)])],6),[[Xk,!e.hidden&&(CI(r)||e.isDot||e.$slots.content)]])]),_:3},8,["name"])],2))}});const KH=AG(HH(qH,[["__file","badge.vue"]])),ZH=hG({size:{type:[Number,String]},color:{type:String}}),QH=dS({name:"ElIcon",inheritAttrs:!1});const JH=AG(HH(dS({...QH,props:ZH,setup(e){const t=e,n=ij("icon"),i=ak(()=>{const{size:e,color:n}=t;return e||n?{fontSize:rj(e)?void 0:WH(e),"--color":n}:{}});return(e,t)=>(uM(),mM("i",NM({class:CI(n).b(),style:CI(i)},e.$attrs),[mC(e.$slots,"default")],16))}}),[["__file","icon.vue"]])),eW=[String,Object,Function],tW={Close:QG,SuccessFilled:yH,InfoFilled:cH,WarningFilled:bH,CircleCloseFilled:YG},nW={primary:cH,success:yH,warning:bH,error:YG,info:cH},iW={validating:hH,success:zG,error:HG},rW=["primary","success","info","warning","error"],sW=["top","top-left","top-right","bottom","bottom-left","bottom-right"],oW="top",aW={customClass:"",dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,placement:void 0,zIndex:0,grouping:!1,repeatNum:1,appendTo:_j?document.body:void 0},lW=hG({customClass:{type:String,default:aW.customClass},dangerouslyUseHTMLString:{type:Boolean,default:aW.dangerouslyUseHTMLString},duration:{type:Number,default:aW.duration},icon:{type:eW,default:aW.icon},id:{type:String,default:aW.id},message:{type:[String,Object,Function],default:aW.message},onClose:{type:Function,default:aW.onClose},showClose:{type:Boolean,default:aW.showClose},type:{type:String,values:rW,default:aW.type},plain:{type:Boolean,default:aW.plain},offset:{type:Number,default:aW.offset},placement:{type:String,values:sW,default:aW.placement},zIndex:{type:Number,default:aW.zIndex},grouping:{type:Boolean,default:aW.grouping},repeatNum:{type:Number,default:aW.repeatNum}}),uW=cI({}),cW=(e,t)=>{const{prev:n}=((e,t)=>{const n=uW[t]||[],i=n.findIndex(t=>t.id===e),r=n[i];let s;return i>0&&(s=n[i-1]),{current:r,prev:s}})(e,t);return n?n.vm.exposed.bottom.value:0},dW={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"},hW=dS({name:"ElMessage"}),pW=dS({...hW,props:lW,emits:{destroy:()=>!0},setup(e,{expose:t,emit:n}){const i=e,{Close:r}=tW,s=EI(!1),{ns:o,zIndex:a}=function(e,t){const n=bG(),i=ij(e,ak(()=>{var e;return(null==(e=n.value)?void 0:e.namespace)||Jz})),r=lG(ak(()=>{var e;return null==(e=n.value)?void 0:e.locale})),s=kj(ak(()=>{var e;return(null==(e=n.value)?void 0:e.zIndex)||2e3})),o=ak(()=>{var e;return CI(t)||(null==(e=n.value)?void 0:e.size)||""});return TG(ak(()=>CI(n)||{})),{ns:i,locale:r,zIndex:s,size:o}}("message"),{currentZIndex:l,nextZIndex:u}=a,c=EI(),d=EI(!1),h=EI(0);let p;const f=ak(()=>i.type?"error"===i.type?"danger":i.type:"info"),m=ak(()=>{const e=i.type;return{[o.bm("icon",e)]:e&&nW[e]}}),g=ak(()=>i.icon||nW[i.type]||""),_=ak(()=>i.placement||oW),y=ak(()=>cW(i.id,_.value)),v=ak(()=>((e,t,n)=>(uW[n]||[]).findIndex(t=>t.id===e)>0?16:t)(i.id,i.offset,_.value)+y.value),b=ak(()=>h.value+v.value),T=ak(()=>_.value.includes("left")?o.is("left"):_.value.includes("right")?o.is("right"):o.is("center")),x=ak(()=>_.value.startsWith("top")?"top":"bottom"),E=ak(()=>({[x.value]:`${v.value}px`,zIndex:l.value}));function w(){0!==i.duration&&({stop:p}=Aj(()=>{A()},i.duration))}function I(){null==p||p()}function A(){d.value=!1,hA(()=>{var e;s.value||(null==(e=i.onClose)||e.call(i),n("destroy"))})}return KS(()=>{w(),u(),d.value=!0}),DO(()=>i.repeatNum,()=>{I(),w()}),AH(document,"keydown",function({code:e}){e===dW.esc&&A()}),FH(c,()=>{h.value=c.value.getBoundingClientRect().height}),t({visible:d,bottom:b,close:A}),(e,t)=>(uM(),gM(Rk,{name:CI(o).b("fade"),onBeforeEnter:e=>s.value=!0,onBeforeLeave:e.onClose,onAfterLeave:t=>e.$emit("destroy"),persisted:""},{default:LA(()=>[PA(xM("div",{id:e.id,ref_key:"messageRef",ref:c,class:CE([CI(o).b(),{[CI(o).m(e.type)]:e.type},CI(o).is("closable",e.showClose),CI(o).is("plain",e.plain),CI(o).is("bottom","bottom"===CI(x)),CI(T),e.customClass]),style:EE(CI(E)),role:"alert",onMouseenter:I,onMouseleave:w},[e.repeatNum>1?(uM(),gM(CI(KH),{key:0,value:e.repeatNum,type:CI(f),class:CE(CI(o).e("badge"))},null,8,["value","type","class"])):OM("v-if",!0),CI(g)?(uM(),gM(CI(JH),{key:1,class:CE([CI(o).e("icon"),CI(m)])},{default:LA(()=>[(uM(),gM(uC(CI(g))))]),_:1},8,["class"])):OM("v-if",!0),mC(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(uM(),mM(iM,{key:1},[OM(" Caution here, message could've been compromised, never use user's input as message "),xM("p",{class:CE(CI(o).e("content")),innerHTML:e.message},null,10,["innerHTML"])],2112)):(uM(),mM("p",{key:0,class:CE(CI(o).e("content"))},GE(e.message),3))]),e.showClose?(uM(),gM(CI(JH),{key:2,class:CE(CI(o).e("closeBtn")),onClick:KR(A,["stop"])},{default:LA(()=>[EM(CI(r))]),_:1},8,["class","onClick"])):OM("v-if",!0)],46,["id"]),[[Xk,d.value]])]),_:3},8,["name","onBeforeEnter","onBeforeLeave","onAfterLeave"]))}});var fW=HH(pW,[["__file","message.vue"]]);class mW extends Error{constructor(e){super(e),this.name="ElementPlusError"}}function gW(e,t){throw new mW(`[${e}] ${t}`)}let _W=1;const yW=e=>{const t=!e||Zx(e)||_M(e)||Kx(e)?{message:e}:e,n={...aW,...t};return(e=>{if(e.appendTo){if(Zx(e.appendTo)){let t=document.querySelector(e.appendTo);aj(t)||(t=document.body),e.appendTo=t}}else e.appendTo=document.body})(n),(e=>{!e.placement&&Zx(wG.placement)&&wG.placement&&(e.placement=wG.placement),e.placement||(e.placement=oW),sW.includes(e.placement)||(e.placement,e.placement=oW)})(n),sj(wG.grouping)&&!n.grouping&&(n.grouping=wG.grouping),oj(wG.duration)&&3e3===n.duration&&(n.duration=wG.duration),oj(wG.offset)&&16===n.offset&&(n.offset=wG.offset),sj(wG.showClose)&&!n.showClose&&(n.showClose=wG.showClose),sj(wG.plain)&&!n.plain&&(n.plain=wG.plain),n},vW=({appendTo:e,...t},n)=>{const i="message_"+_W++,r=t.onClose,s=document.createElement("div"),o={...t,id:i,onClose:()=>{null==r||r(),(e=>{const t=e.props.placement||oW,n=uW[t],i=n.indexOf(e);if(-1===i)return;n.splice(i,1);const{handler:r}=e;r.close()})(c)},onDestroy:()=>{rN(null,s)}},a=EM(fW,o,Kx(o.message)||_M(o.message)?{default:Kx(o.message)?o.message:()=>o.message}:null);a.appContext=n||bW._context,rN(a,s),e.appendChild(s.firstElementChild);const l=a.component,u={close:()=>{l.exposed.close()}},c={id:i,vnode:a,vm:l,handler:u,props:a.component.props};return c},bW=(e={},t)=>{if(!_j)return{close:()=>{}};const n=yW(e),i=(r=n.placement||oW,uW[r]||(uW[r]=cI([])),uW[r]);var r;if(n.grouping&&i.length){const e=i.find(({vnode:e})=>{var t;return(null==(t=e.props)?void 0:t.message)===n.message});if(e)return e.props.repeatNum+=1,e.props.type=n.type,e.handler}if(oj(wG.max)&&i.length>=wG.max)return{close:()=>{}};const s=vW(n,t);return i.push(s),s.handler};rW.forEach(e=>{bW[e]=(t={},n)=>{const i=yW(t);return bW({...i,type:e},n)}}),bW.closeAll=function(e){for(const t in uW)if(Gx(uW,t)){const n=[...uW[t]];for(const t of n)e&&e!==t.props.type||t.handler.close()}},bW.closeAllByPlacement=function(e){if(!uW[e])return;[...uW[e]].forEach(e=>e.handler.close())},bW._context=null;const TW=((e,t)=>(e.install=n=>{e._context=n._context,n.config.globalProperties[t]=e},e))(bW,"$message"),xW=hG({layout:{type:String,default:"horizontal",values:["horizontal","vertical"]},lazy:Boolean}),EW=Symbol("splitterRootContextKey");function wW(e){return Number(e.slice(0,-1))/100}function IW(e){return Number(e.slice(0,-2))}function AW(e){return Zx(e)&&e.endsWith("%")}function SW(e){return Zx(e)&&e.endsWith("px")}function CW(e,t,n,i){function r(e,n){return AW(e)?wW(e)*t.value||0:SW(e)?IW(e):null!=e?e:n}const s=EI(0),o=EI(null);let a=[],l=Bx;const u=ak(()=>e.value.map(e=>[e.min,e.max]));DO(i,()=>{if(s.value){const e=new MouseEvent("mouseup",{bubbles:!0});window.dispatchEvent(e)}});const c=[];return{lazyOffset:s,onMoveStart:e=>{s.value=0,o.value={index:e,confirmed:!1},a=n.value},onMoving:(n,c)=>{var d,h;let p=null;if(!(o.value&&o.value.confirmed||0===c))if(c>0)p=n,o.value={index:n,confirmed:!0};else for(let e=n;e>=0;e-=1)if(a[e]>0){p=e,o.value={index:e,confirmed:!0};break}const f=null!=(h=null!=p?p:null==(d=o.value)?void 0:d.index)?h:n,m=[...a],g=f+1,_=r(u.value[f][0],0),y=r(u.value[g][0],0),v=r(u.value[f][1],t.value||0),b=r(u.value[g][1],t.value||0);let T=c;m[f]+T<_&&(T=_-m[f]),m[g]-Tv&&(T=v-m[f]),m[g]-T>b&&(T=m[g]-b),m[f]+=T,m[g]-=T,s.value=T,l=()=>{e.value.forEach((e,t)=>{e.size=m[t]}),l=Bx},i.value||l()},onMoveEnd:()=>{i.value&&l(),s.value=0,o.value=null,a=[]},movingIndex:o,onCollapse:(t,i)=>{c.length||c.push(...n.value);const r=n.value,s="start"===i?t:t+1,o="start"===i?t+1:t,a=r[s],l=r[o];if(0!==a&&0!==l)r[s]=0,r[o]+=a,c[t]=a;else{const e=a+l,n=c[t],i=e-n;r[o]=n,r[s]=i}e.value.forEach((e,t)=>{e.size=r[t]})}}}const OW=e=>{const t=Hx(e)?e:[e],n=[];return t.forEach(e=>{var t;Hx(e)?n.push(...OW(e)):_M(e)&&(null==(t=e.component)?void 0:t.subTree)?n.push(e,...OW(e.component.subTree)):_M(e)&&Hx(e.children)?n.push(...OW(e.children)):_M(e)&&2===e.shapeFlag?n.push(...OW(e.type())):n.push(e)}),n},MW=(e,t)=>{const n=wI({}),i=wI([]),r=new WeakMap,s=()=>{i.value=((e,t,n)=>{const i=OW(e.subTree).filter(e=>{var n;return _M(e)&&(null==(n=e.type)?void 0:n.name)===t&&!!e.component});return i.map(e=>e.component.uid).map(e=>n[e]).filter(e=>!!e)})(e,t,n.value)},o=e=>e.render(),a=dS({setup:(e,{slots:t})=>()=>(s(),t.default?lk(o,{render:t.default}):null)});return{children:i,addChild:e=>{n.value[e.uid]=e,SI(n),KS(()=>{const t=e.getVnode().el,i=t.parentNode;if(!r.has(i)){r.set(i,[]);const e=i.insertBefore.bind(i);i.insertBefore=(t,s)=>(r.get(i).some(e=>t===e||s===e)&&SI(n),e(t,s))}r.get(i).push(t)})},removeChild:e=>{delete n.value[e.uid],SI(n);const t=e.getVnode().el,i=t.parentNode,s=r.get(i),o=s.indexOf(t);s.splice(o,1)},ChildrenSorter:a}},kW=dS({name:"ElSplitter"}),RW=dS({...kW,props:xW,emits:["resizeStart","resize","resizeEnd","collapse"],setup(e,{emit:t}){const n=e,i=ij("splitter"),r=PI(n,"layout"),s=PI(n,"lazy"),{containerEl:o,containerSize:a}=function(e){const t=EI(),{width:n,height:i}=LH(t);return{containerEl:t,containerSize:ak(()=>"horizontal"===e.value?n.value:i.value)}}(r),{removeChild:l,children:u,addChild:c,ChildrenSorter:d}=MW($M(),"ElSplitterPanel");DO(u,()=>{u.value.forEach((e,t)=>{e.setIndex(t)})});const{percentSizes:h,pxSizes:p}=function(e,t){const n=ak(()=>e.value.map(e=>e.size)),i=ak(()=>e.value.length),r=EI([]);DO([n,i,t],()=>{var n;let s=[],o=0;for(let r=0;re+(t||0),0);if(a>1||!o){const e=1/a;s=s.map(t=>void 0===t?0:t*e)}else{const e=(1-a)/o;s=s.map(t=>void 0===t?e:t)}r.value=s});const s=e=>e*t.value,o=ak(()=>r.value.map(s));return{percentSizes:r,pxSizes:o}}(u,a),{lazyOffset:f,movingIndex:m,onMoveStart:g,onMoving:_,onMoveEnd:y,onCollapse:v}=CW(u,a,p,s),b=ak(()=>({[`--${i.b()}-bar-offset`]:s.value?`${f.value}px`:void 0}));return eO(EW,uI({panels:u,percentSizes:h,pxSizes:p,layout:r,lazy:s,movingIndex:m,containerSize:a,onMoveStart:e=>{g(e),t("resizeStart",e,p.value)},onMoving:(e,n)=>{_(e,n),s.value||t("resize",e,p.value)},onMoveEnd:async e=>{y(),await hA(),t("resizeEnd",e,p.value)},onCollapse:(e,n)=>{v(e,n),t("collapse",e,n,p.value)},registerPanel:c,unregisterPanel:l})),(e,t)=>(uM(),mM("div",{ref_key:"containerEl",ref:o,class:CE([CI(i).b(),CI(i).e(CI(r))]),style:EE(CI(b))},[mC(e.$slots,"default"),EM(CI(d)),OM(" Prevent iframe touch events from breaking "),CI(m)?(uM(),mM("div",{key:0,class:CE([CI(i).e("mask"),CI(i).e(`mask-${CI(r)}`)])},null,2)):OM("v-if",!0)],6))}});var NW=HH(RW,[["__file","splitter.vue"]]);function DW(e,t,n,i){return!!((null==e?void 0:e.collapsible.end)&&t>0)||!!((null==n?void 0:n.collapsible.start)&&0===i&&t>0)}const FW=dS({name:"ElSplitterBar"}),LW=dS({...FW,props:{index:{type:Number,required:!0},layout:{type:String,values:["horizontal","vertical"],default:"horizontal"},resizable:{type:Boolean,default:!0},lazy:Boolean,startCollapsible:Boolean,endCollapsible:Boolean},emits:["moveStart","moving","moveEnd","collapse"],setup(e,{emit:t}){const n=e,i=ij("splitter-bar"),r=ak(()=>"horizontal"===n.layout),s=ak(()=>r.value?{width:0}:{height:0}),o=ak(()=>({width:r.value?"16px":"100%",height:r.value?"100%":"16px",cursor:n.resizable?r.value?"ew-resize":"ns-resize":"auto",touchAction:"none"})),a=ak(()=>{const e=i.e("dragger");return{[`${e}-horizontal`]:r.value,[`${e}-vertical`]:!r.value,[`${e}-active`]:!!l.value}}),l=EI(null),u=e=>{n.resizable&&(l.value=[e.pageX,e.pageY],t("moveStart",n.index),window.addEventListener("mouseup",p),window.addEventListener("mousemove",d))},c=e=>{if(n.resizable&&1===e.touches.length){e.preventDefault();const i=e.touches[0];l.value=[i.pageX,i.pageY],t("moveStart",n.index),window.addEventListener("touchend",f),window.addEventListener("touchmove",h)}},d=e=>{const{pageX:i,pageY:s}=e,o=i-l.value[0],a=s-l.value[1],u=r.value?o:a;t("moving",n.index,u)},h=e=>{if(1===e.touches.length){e.preventDefault();const i=e.touches[0],s=i.pageX-l.value[0],o=i.pageY-l.value[1],a=r.value?s:o;t("moving",n.index,a)}},p=()=>{l.value=null,window.removeEventListener("mouseup",p),window.removeEventListener("mousemove",d),t("moveEnd",n.index)},f=()=>{l.value=null,window.removeEventListener("touchend",f),window.removeEventListener("touchmove",h),t("moveEnd",n.index)},m=ak(()=>r.value?RG:LG),g=ak(()=>r.value?DG:MG);return(n,r)=>(uM(),mM("div",{class:CE([CI(i).b()]),style:EE(CI(s))},[e.startCollapsible?(uM(),mM("div",{key:0,class:CE([CI(i).e("collapse-icon"),CI(i).e(`${e.layout}-collapse-icon-start`)]),onClick:n=>t("collapse",e.index,"start")},[mC(n.$slots,"start-collapsible",{},()=>[(uM(),gM(uC(CI(m)),{style:{width:"12px",height:"12px"}}))])],10,["onClick"])):OM("v-if",!0),xM("div",{class:CE([CI(i).e("dragger"),CI(a),CI(i).is("disabled",!e.resizable),CI(i).is("lazy",e.resizable&&e.lazy)]),style:EE(CI(o)),onMousedown:u,onTouchstart:c},null,38),e.endCollapsible?(uM(),mM("div",{key:1,class:CE([CI(i).e("collapse-icon"),CI(i).e(`${e.layout}-collapse-icon-end`)]),onClick:n=>t("collapse",e.index,"end")},[mC(n.$slots,"end-collapsible",{},()=>[(uM(),gM(uC(CI(g)),{style:{width:"12px",height:"12px"}}))])],10,["onClick"])):OM("v-if",!0)],6))}});var PW=HH(LW,[["__file","split-bar.vue"]]);const BW=hG({min:{type:[String,Number]},max:{type:[String,Number]},size:{type:[String,Number]},resizable:{type:Boolean,default:!0},collapsible:Boolean}),$W="ElSplitterPanel",UW=dS({name:$W}),VW=dS({...UW,props:BW,emits:["update:size"],setup(e,{emit:t}){const n=e,i=ij("splitter-panel"),r=tO(EW);r||gW($W,"usage: ");const{panels:s,layout:o,lazy:a,containerSize:l,pxSizes:u}=DI(r),{registerPanel:c,unregisterPanel:d,onCollapse:h,onMoveEnd:p,onMoveStart:f,onMoving:m}=r,g=EI(),_=$M(),y=_.uid,v=EI(0),b=ak(()=>s.value[v.value]),T=ak(()=>{var e;return b.value&&null!=(e=u.value[v.value])?e:0}),x=ak(()=>{var e;return b.value&&null!=(e=u.value[v.value+1])?e:0}),E=ak(()=>b.value?s.value[v.value+1]:null),w=ak(()=>{var e;return!!E.value&&(n.resizable&&(null==(e=E.value)?void 0:e.resizable)&&(0!==T.value||!n.min)&&(0!==x.value||!E.value.min))}),I=ak(()=>!!b.value&&v.value!==s.value.length-1),A=ak(()=>DW(b.value,T.value,E.value,x.value)),S=ak(()=>DW(E.value,x.value,b.value,T.value));function C(e){return AW(e)?wW(e)*l.value||0:SW(e)?IW(e):null!=e?e:0}let O=!1;DO(()=>n.size,()=>{if(!O&&b.value){if(!l.value)return void(b.value.size=n.size);const e=C(n.size),i=C(n.max),r=C(n.min),s=Math.min(Math.max(e,r||0),i||e);s!==e&&t("update:size",s),b.value.size=s}}),DO(()=>{var e;return null==(e=b.value)?void 0:e.size},e=>{e!==n.size&&(O=!0,t("update:size",e),hA(()=>O=!1))}),DO(()=>n.resizable,e=>{b.value&&(b.value.resizable=e)});const M=uI({el:g.value,uid:y,getVnode:()=>_.vnode,setIndex:e=>{v.value=e},...n,collapsible:ak(()=>{return(e=n.collapsible)&&Jx(e)?e:{start:!!e,end:!!e};var e})});return c(M),JS(()=>d(M)),(e,t)=>(uM(),mM(iM,null,[xM("div",NM({ref_key:"panelEl",ref:g,class:[CI(i).b()],style:{flexBasis:`${CI(T)}px`}},e.$attrs),[mC(e.$slots,"default")],16),CI(I)?(uM(),gM(PW,{key:0,index:v.value,layout:CI(o),lazy:CI(a),resizable:CI(w),"start-collapsible":CI(A),"end-collapsible":CI(S),onMoveStart:CI(f),onMoving:CI(m),onMoveEnd:CI(p),onCollapse:CI(h)},{"start-collapsible":LA(()=>[mC(e.$slots,"start-collapsible")]),"end-collapsible":LA(()=>[mC(e.$slots,"end-collapsible")]),_:3},8,["index","layout","lazy","resizable","start-collapsible","end-collapsible","onMoveStart","onMoving","onMoveEnd","onCollapse"])):OM("v-if",!0)],64))}});var zW=HH(VW,[["__file","split-panel.vue"]]);const jW=AG(NW,{SplitPanel:zW}),YW=SG(zW),GW=Symbol("buttonGroupContextKey"),HW={prefix:Math.floor(1e4*Math.random()),current:0},WW=Symbol("elIdInjection"),XW=()=>$M()?tO(WW,HW):HW,qW=e=>{const t=XW(),n=nj();return gj(()=>CI(e)||`${n.value}-id-${t.prefix}-${t.current++}`)},KW=Symbol("formContextKey"),ZW=Symbol("formItemContextKey"),QW=()=>({form:tO(KW,void 0),formItem:tO(ZW,void 0)}),JW=(e,{formItemContext:t,disableIdGeneration:n,disableIdManagement:i})=>{n||(n=EI(!1)),i||(i=EI(!1));const r=$M(),s=EI();let o;const a=ak(()=>{var n;return!!(!e.label&&!e.ariaLabel&&t&&t.inputIds&&(null==(n=t.inputIds)?void 0:n.length)<=1)});return KS(()=>{o=DO([PI(e,"id"),n],([e,n])=>{const o=null!=e?e:n?void 0:qW().value;o!==s.value&&((null==t?void 0:t.removeInputId)&&!(()=>{let e=null==r?void 0:r.parent;for(;e;){if("ElFormItem"===e.type.name)return!1;if("ElLabelWrap"===e.type.name)return!0;e=e.parent}return!1})()&&(s.value&&t.removeInputId(s.value),(null==i?void 0:i.value)||n||!o||t.addInputId(o)),s.value=o)},{immediate:!0})}),eC(()=>{o&&o(),(null==t?void 0:t.removeInputId)&&s.value&&t.removeInputId(s.value)}),{isLabeledByFormItem:a,inputId:s}},eX=e=>{const t=$M();return ak(()=>{var n,i;return null==(i=null==(n=null==t?void 0:t.proxy)?void 0:n.$props)?void 0:i[e]})},tX=(e,t={})=>{const n=EI(void 0),i=t.prop?n:eX("size"),r=t.global?n:(()=>{const e=tO(mG,{});return ak(()=>CI(e.size)||"")})(),s=t.form?{size:void 0}:tO(KW,void 0),o=t.formItem?{size:void 0}:tO(ZW,void 0);return ak(()=>i.value||CI(e)||(null==o?void 0:o.size)||(null==s?void 0:s.size)||r.value||"")},nX=e=>{const t=eX("disabled"),n=tO(KW,void 0);return ak(()=>t.value||CI(e)||(null==n?void 0:n.disabled)||!1)},iX=(e,t)=>{(({from:e,replacement:t,scope:n,version:i,ref:r,type:s="API"},o)=>{DO(()=>CI(o),e=>{},{immediate:!0})})({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},ak(()=>"text"===e.type));const n=tO(GW,void 0),i=bG("button"),{form:r}=QW(),s=tX(ak(()=>null==n?void 0:n.size)),o=nX(),a=EI(),l=MC(),u=ak(()=>{var t;return e.type||(null==n?void 0:n.type)||(null==(t=i.value)?void 0:t.type)||""}),c=ak(()=>{var t,n,r;return null!=(r=null!=(n=e.autoInsertSpace)?n:null==(t=i.value)?void 0:t.autoInsertSpace)&&r}),d=ak(()=>{var t,n,r;return null!=(r=null!=(n=e.plain)?n:null==(t=i.value)?void 0:t.plain)&&r}),h=ak(()=>{var t,n,r;return null!=(r=null!=(n=e.round)?n:null==(t=i.value)?void 0:t.round)&&r}),p=ak(()=>{var t,n,r;return null!=(r=null!=(n=e.text)?n:null==(t=i.value)?void 0:t.text)&&r}),f=ak(()=>"button"===e.tag?{ariaDisabled:o.value||e.loading,disabled:o.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),m=ak(()=>{var e;const t=null==(e=l.default)?void 0:e.call(l);if(c.value&&1===(null==t?void 0:t.length)){const e=t[0];if((null==e?void 0:e.type)===rM){const t=e.children;return/^\p{Unified_Ideograph}{2}$/u.test(t.trim())}}return!1});return{_disabled:o,_size:s,_type:u,_ref:a,_props:f,_plain:d,_round:h,_text:p,shouldAddSpace:m,handleClick:n=>{o.value||e.loading?n.stopPropagation():("reset"===e.nativeType&&(null==r||r.resetFields()),t("click",n))}}},rX=hG({size:fG,disabled:Boolean,type:{type:String,values:["default","primary","success","warning","info","danger","text",""],default:""},icon:{type:eW},nativeType:{type:String,values:["button","submit","reset"],default:"button"},loading:Boolean,loadingIcon:{type:eW,default:()=>hH},plain:{type:Boolean,default:void 0},text:{type:Boolean,default:void 0},link:Boolean,bg:Boolean,autofocus:Boolean,round:{type:Boolean,default:void 0},circle:Boolean,color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0},tag:{type:[String,Object],default:"button"}}),sX={click:e=>e instanceof MouseEvent};function oX(e,t){(function(e){return"string"==typeof e&&-1!==e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var n=function(e){return"string"==typeof e&&-1!==e.indexOf("%")}(e);return e=360===t?e:Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:e=360===t?(e<0?e%t+t:e%t)/parseFloat(String(t)):e%t/parseFloat(String(t))}function aX(e){return Math.min(1,Math.max(0,e))}function lX(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function uX(e){return e<=1?"".concat(100*Number(e),"%"):e}function cX(e){return 1===e.length?"0"+e:String(e)}function dX(e,t,n){e=oX(e,255),t=oX(t,255),n=oX(n,255);var i=Math.max(e,t,n),r=Math.min(e,t,n),s=0,o=0,a=(i+r)/2;if(i===r)o=0,s=0;else{var l=i-r;switch(o=a>.5?l/(2-i-r):l/(i+r),i){case e:s=(t-n)/l+(t1&&(n-=1),n<1/6?e+6*n*(t-e):n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function pX(e,t,n){e=oX(e,255),t=oX(t,255),n=oX(n,255);var i=Math.max(e,t,n),r=Math.min(e,t,n),s=0,o=i,a=i-r,l=0===i?0:a/i;if(i===r)s=0;else{switch(i){case e:s=(t-n)/a+(t>16,g:(65280&e)>>8,b:255&e}}(t)),this.originalInput=t;var r=vX(t);this.originalInput=t,this.r=r.r,this.g=r.g,this.b=r.b,this.a=r.a,this.roundA=Math.round(100*this.a)/100,this.format=null!==(i=n.format)&&void 0!==i?i:r.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=r.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},e.prototype.getLuminance=function(){var e=this.toRgb(),t=e.r/255,n=e.g/255,i=e.b/255;return.2126*(t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(e){return this.a=lX(e),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){return 0===this.toHsl().s},e.prototype.toHsv=function(){var e=pX(this.r,this.g,this.b);return{h:360*e.h,s:e.s,v:e.v,a:this.a}},e.prototype.toHsvString=function(){var e=pX(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),i=Math.round(100*e.v);return 1===this.a?"hsv(".concat(t,", ").concat(n,"%, ").concat(i,"%)"):"hsva(".concat(t,", ").concat(n,"%, ").concat(i,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var e=dX(this.r,this.g,this.b);return{h:360*e.h,s:e.s,l:e.l,a:this.a}},e.prototype.toHslString=function(){var e=dX(this.r,this.g,this.b),t=Math.round(360*e.h),n=Math.round(100*e.s),i=Math.round(100*e.l);return 1===this.a?"hsl(".concat(t,", ").concat(n,"%, ").concat(i,"%)"):"hsla(".concat(t,", ").concat(n,"%, ").concat(i,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(e){return void 0===e&&(e=!1),fX(this.r,this.g,this.b,e)},e.prototype.toHexString=function(e){return void 0===e&&(e=!1),"#"+this.toHex(e)},e.prototype.toHex8=function(e){return void 0===e&&(e=!1),function(e,t,n,i,r){var s=[cX(Math.round(e).toString(16)),cX(Math.round(t).toString(16)),cX(Math.round(n).toString(16)),cX(mX(i))];return r&&s[0].startsWith(s[0].charAt(1))&&s[1].startsWith(s[1].charAt(1))&&s[2].startsWith(s[2].charAt(1))&&s[3].startsWith(s[3].charAt(1))?s[0].charAt(0)+s[1].charAt(0)+s[2].charAt(0)+s[3].charAt(0):s.join("")}(this.r,this.g,this.b,this.a,e)},e.prototype.toHex8String=function(e){return void 0===e&&(e=!1),"#"+this.toHex8(e)},e.prototype.toHexShortString=function(e){return void 0===e&&(e=!1),1===this.a?this.toHexString(e):this.toHex8String(e)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var e=Math.round(this.r),t=Math.round(this.g),n=Math.round(this.b);return 1===this.a?"rgb(".concat(e,", ").concat(t,", ").concat(n,")"):"rgba(".concat(e,", ").concat(t,", ").concat(n,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var e=function(e){return"".concat(Math.round(100*oX(e,255)),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var e=function(e){return Math.round(100*oX(e,255))};return 1===this.a?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(0===this.a)return"transparent";if(this.a<1)return!1;for(var e="#"+fX(this.r,this.g,this.b,!1),t=0,n=Object.entries(yX);t=0;return t||!i||!e.startsWith("hex")&&"name"!==e?("rgb"===e&&(n=this.toRgbString()),"prgb"===e&&(n=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(n=this.toHexString()),"hex3"===e&&(n=this.toHexString(!0)),"hex4"===e&&(n=this.toHex8String(!0)),"hex8"===e&&(n=this.toHex8String()),"name"===e&&(n=this.toName()),"hsl"===e&&(n=this.toHslString()),"hsv"===e&&(n=this.toHsvString()),n||this.toHexString()):"name"===e&&0===this.a?this.toName():this.toRgbString()},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=aX(n.l),new e(n)},e.prototype.brighten=function(t){void 0===t&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(-t/100*255))),n.g=Math.max(0,Math.min(255,n.g-Math.round(-t/100*255))),n.b=Math.max(0,Math.min(255,n.b-Math.round(-t/100*255))),new e(n)},e.prototype.darken=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=aX(n.l),new e(n)},e.prototype.tint=function(e){return void 0===e&&(e=10),this.mix("white",e)},e.prototype.shade=function(e){return void 0===e&&(e=10),this.mix("black",e)},e.prototype.desaturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=aX(n.s),new e(n)},e.prototype.saturate=function(t){void 0===t&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=aX(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),i=(n.h+t)%360;return n.h=i<0?360+i:i,new e(n)},e.prototype.mix=function(t,n){void 0===n&&(n=50);var i=this.toRgb(),r=new e(t).toRgb(),s=n/100;return new e({r:(r.r-i.r)*s+i.r,g:(r.g-i.g)*s+i.g,b:(r.b-i.b)*s+i.b,a:(r.a-i.a)*s+i.a})},e.prototype.analogous=function(t,n){void 0===t&&(t=6),void 0===n&&(n=30);var i=this.toHsl(),r=360/n,s=[this];for(i.h=(i.h-(r*t>>1)+720)%360;--t;)i.h=(i.h+r)%360,s.push(new e(i));return s},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){void 0===t&&(t=6);for(var n=this.toHsv(),i=n.h,r=n.s,s=n.v,o=[],a=1/t;t--;)o.push(new e({h:i,s:r,v:s})),s=(s+a)%1;return o},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),i=new e(t).toRgb(),r=n.a+i.a*(1-n.a);return new e({r:(n.r*n.a+i.r*i.a*(1-n.a))/r,g:(n.g*n.a+i.g*i.a*(1-n.a))/r,b:(n.b*n.a+i.b*i.a*(1-n.a))/r,a:r})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),i=n.h,r=[this],s=360/t,o=1;o{let i={},r=e.color;if(r){const s=r.match(/var\((.*?)\)/);s&&(r=window.getComputedStyle(window.document.documentElement).getPropertyValue(s[1]));const o=new IX(r),a=e.dark?o.tint(20).toString():AX(o,20);if(e.plain)i=n.cssVarBlock({"bg-color":e.dark?AX(o,90):o.tint(90).toString(),"text-color":r,"border-color":e.dark?AX(o,50):o.tint(50).toString(),"hover-text-color":`var(${n.cssVarName("color-white")})`,"hover-bg-color":r,"hover-border-color":r,"active-bg-color":a,"active-text-color":`var(${n.cssVarName("color-white")})`,"active-border-color":a}),t.value&&(i[n.cssVarBlockName("disabled-bg-color")]=e.dark?AX(o,90):o.tint(90).toString(),i[n.cssVarBlockName("disabled-text-color")]=e.dark?AX(o,50):o.tint(50).toString(),i[n.cssVarBlockName("disabled-border-color")]=e.dark?AX(o,80):o.tint(80).toString());else{const s=e.dark?AX(o,30):o.tint(30).toString(),l=o.isDark()?`var(${n.cssVarName("color-white")})`:`var(${n.cssVarName("color-black")})`;if(i=n.cssVarBlock({"bg-color":r,"text-color":l,"border-color":r,"hover-bg-color":s,"hover-text-color":l,"hover-border-color":s,"active-bg-color":a,"active-border-color":a}),t.value){const t=e.dark?AX(o,50):o.tint(50).toString();i[n.cssVarBlockName("disabled-bg-color")]=t,i[n.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${n.cssVarName("color-white")})`,i[n.cssVarBlockName("disabled-border-color")]=t}}}return i})}(i),s=ij("button"),{_ref:o,_size:a,_type:l,_disabled:u,_props:c,_plain:d,_round:h,_text:p,shouldAddSpace:f,handleClick:m}=iX(i,n),g=ak(()=>[s.b(),s.m(l.value),s.m(a.value),s.is("disabled",u.value),s.is("loading",i.loading),s.is("plain",d.value),s.is("round",h.value),s.is("circle",i.circle),s.is("text",p.value),s.is("link",i.link),s.is("has-bg",i.bg)]);return t({ref:o,size:a,type:l,disabled:u,shouldAddSpace:f}),(e,t)=>(uM(),gM(uC(e.tag),NM({ref_key:"_ref",ref:o},CI(c),{class:CI(g),style:CI(r),onClick:CI(m)}),{default:LA(()=>[e.loading?(uM(),mM(iM,{key:0},[e.$slots.loading?mC(e.$slots,"loading",{key:0}):(uM(),gM(CI(JH),{key:1,class:CE(CI(s).is("loading"))},{default:LA(()=>[(uM(),gM(uC(e.loadingIcon)))]),_:1},8,["class"]))],64)):e.icon||e.$slots.icon?(uM(),gM(CI(JH),{key:1},{default:LA(()=>[e.icon?(uM(),gM(uC(e.icon),{key:0})):mC(e.$slots,"icon",{key:1})]),_:3})):OM("v-if",!0),e.$slots.default?(uM(),mM("span",{key:2,class:CE({[CI(s).em("text","expand")]:CI(f)})},[mC(e.$slots,"default")],2)):OM("v-if",!0)]),_:3},16,["class","style","onClick"]))}});var OX=HH(CX,[["__file","button.vue"]]);const MX={size:rX.size,type:rX.type},kX=dS({name:"ElButtonGroup"});var RX=HH(dS({...kX,props:MX,setup(e){const t=e;eO(GW,uI({size:PI(t,"size"),type:PI(t,"type")}));const n=ij("button");return(e,t)=>(uM(),mM("div",{class:CE(CI(n).b("group"))},[mC(e.$slots,"default")],2))}}),[["__file","button-group.vue"]]);const NX=AG(OX,{ButtonGroup:RX}),DX=(SG(RX),hG({header:{type:String,default:""},footer:{type:String,default:""},bodyStyle:{type:[String,Object,Array],default:""},headerClass:String,bodyClass:String,footerClass:String,shadow:{type:String,values:["always","hover","never"],default:void 0}})),FX=(Symbol("cardContextKey"),dS({name:"ElCard"})),LX=dS({...FX,props:DX,setup(e){const t=bG("card"),n=ij("card");return(e,i)=>{var r;return uM(),mM("div",{class:CE([CI(n).b(),CI(n).is(`${e.shadow||(null==(r=CI(t))?void 0:r.shadow)||"always"}-shadow`)])},[e.$slots.header||e.header?(uM(),mM("div",{key:0,class:CE([CI(n).e("header"),e.headerClass])},[mC(e.$slots,"header",{},()=>[SM(GE(e.header),1)])],2)):OM("v-if",!0),xM("div",{class:CE([CI(n).e("body"),e.bodyClass]),style:EE(e.bodyStyle)},[mC(e.$slots,"default")],6),e.$slots.footer||e.footer?(uM(),mM("div",{key:1,class:CE([CI(n).e("footer"),e.footerClass])},[mC(e.$slots,"footer",{},()=>[SM(GE(e.footer),1)])],2)):OM("v-if",!0)],2)}}});const PX=AG(HH(LX,[["__file","card.vue"]]));var BX=__webpack_require__(4213),$X=__webpack_require__(71710),UX=__webpack_require__.n($X);const VX=function(e){return null==e};let zX;const jX={height:"0",visibility:"hidden",overflow:_j&&/firefox/i.test(window.navigator.userAgent)?"":"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},YX=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break"];function GX(e,t=1,n){var i,r;zX||(zX=document.createElement("textarea"),(null!=(i=e.parentNode)?i:document.body).appendChild(zX));const{paddingSize:s,borderSize:o,boxSizing:a,contextStyle:l}=function(e){const t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing"),i=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),r=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:YX.map(e=>[e,t.getPropertyValue(e)]),paddingSize:i,borderSize:r,boxSizing:n}}(e);l.forEach(([e,t])=>null==zX?void 0:zX.style.setProperty(e,t)),Object.entries(jX).forEach(([e,t])=>null==zX?void 0:zX.style.setProperty(e,t,"important")),zX.value=e.value||e.placeholder||"";let u=zX.scrollHeight;const c={};"border-box"===a?u+=o:"content-box"===a&&(u-=s),zX.value="";const d=zX.scrollHeight-s;if(oj(t)){let e=d*t;"border-box"===a&&(e=e+s+o),u=Math.max(e,u),c.minHeight=`${e}px`}if(oj(n)){let e=d*n;"border-box"===a&&(e=e+s+o),u=Math.min(e,u)}return c.height=`${u}px`,null==(r=zX.parentNode)||r.removeChild(zX),zX=void 0,c}var HX=function(){try{var e=hY(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();const WX=HX;const XX=function(e,t,n){"__proto__"==t&&WX?WX(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n};var qX=Object.prototype.hasOwnProperty;const KX=function(e,t,n){var i=e[t];qX.call(e,t)&&wY(i,n)&&(void 0!==n||t in e)||XX(e,t,n)};var ZX=/^(?:0|[1-9]\d*)$/;const QX=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&ZX.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=9007199254740991};const lq=function(e,t,n){for(var i=-1,r=(t=eG(t,e)).length,s=!1;++i0&&i(l)?n>1?e(l,n-1,i,r,s):dq(s,l):r||(s[s.length]=l)}return s};const mq=function(e){return(null==e?0:e.length)?fq(e,1):[]};const gq=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)};var _q=Math.max;const yq=function(e,t,n){return t=_q(void 0===t?e.length-1:t,0),function(){for(var i=arguments,r=-1,s=_q(i.length-t,0),o=Array(s);++r0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}};const wq=Eq(Tq);const Iq=function(e){return wq(yq(e,void 0,mq),e+"")};var Aq=Iq(function(e,t){return null==e?{}:cq(e,t)});const Sq=Aq,Cq=hG({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),Oq=e=>Sq(Cq,e),Mq="update:modelValue",kq="change",Rq="input",Nq=hG({id:{type:String,default:void 0},size:fG,disabled:Boolean,modelValue:{type:[String,Number,Object],default:""},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:String,default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:[Boolean,Object],default:!1},autocomplete:{type:String,default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:Boolean,clearable:Boolean,clearIcon:{type:eW,default:HG},showPassword:Boolean,showWordLimit:Boolean,suffixIcon:{type:eW},prefixIcon:{type:eW},containerRole:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:[Object,Array,String],default:()=>({})},autofocus:Boolean,rows:{type:Number,default:2},...Oq(["ariaLabel"]),inputmode:{type:String,default:void 0},name:String}),Dq={[Mq]:e=>Zx(e),input:e=>Zx(e),change:e=>Zx(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent},Fq=["class","style"],Lq=/^on[A-Z]/,Pq=(e={})=>{const{excludeListeners:t=!1,excludeKeys:n}=e,i=ak(()=>((null==n?void 0:n.value)||[]).concat(Fq)),r=$M();return ak(r?()=>{var e;return uG(Object.entries(null==(e=r.proxy)?void 0:e.$attrs).filter(([e])=>!(i.value.includes(e)||t&&Lq.test(e))))}:()=>({}))},Bq=e=>"undefined"!=typeof Element&&e instanceof Element,$q=e=>{if(e.tabIndex>0||0===e.tabIndex&&null!==e.getAttribute("tabIndex"))return!0;if(e.tabIndex<0||e.hasAttribute("disabled")||"true"===e.getAttribute("aria-disabled"))return!1;switch(e.nodeName){case"A":return!!e.href&&"ignore"!==e.rel;case"INPUT":return!("hidden"===e.type||"file"===e.type);case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},Uq=(e,t)=>{if(!e||!e.focus)return;let n=!1;!Bq(e)||$q(e)||e.getAttribute("tabindex")||(e.setAttribute("tabindex","-1"),n=!0),e.focus(t),Bq(e)&&n&&e.removeAttribute("tabindex")};const Vq=dS({name:"ElInput",inheritAttrs:!1}),zq=dS({...Vq,props:Nq,emits:Dq,setup(e,{expose:t,emit:n}){const i=e,r=kC(),s=Pq(),o=MC(),a=ak(()=>["textarea"===i.type?m.b():f.b(),f.m(h.value),f.is("disabled",p.value),f.is("exceed",B.value),{[f.b("group")]:o.prepend||o.append,[f.m("prefix")]:o.prefix||i.prefixIcon,[f.m("suffix")]:o.suffix||i.suffixIcon||i.clearable||i.showPassword,[f.bm("suffix","password-clear")]:D.value&&F.value,[f.b("hidden")]:"hidden"===i.type},r.class]),l=ak(()=>[f.e("wrapper"),f.is("focus",w.value)]),{form:u,formItem:c}=QW(),{inputId:d}=JW(i,{formItemContext:c}),h=tX(),p=nX(),f=ij("input"),m=ij("textarea"),g=wI(),_=wI(),y=EI(!1),v=EI(!1),b=EI(),T=wI(i.inputStyle),x=ak(()=>g.value||_.value),{wrapperRef:E,isFocused:w,handleFocus:I,handleBlur:A}=function(e,{disabled:t,beforeFocus:n,afterFocus:i,beforeBlur:r,afterBlur:s}={}){const o=$M(),{emit:a}=o,l=wI(),u=EI(!1),c=e=>{const r=!!Kx(n)&&n(e);CI(t)||u.value||r||(u.value=!0,a("focus",e),null==i||i())},d=e=>{var n;const i=!!Kx(r)&&r(e);CI(t)||e.relatedTarget&&(null==(n=l.value)?void 0:n.contains(e.relatedTarget))||i||(u.value=!1,a("blur",e),null==s||s())};return DO([l,()=>CI(t)],([e,t])=>{e&&(t?e.removeAttribute("tabindex"):e.setAttribute("tabindex","-1"))}),AH(l,"focus",c,!0),AH(l,"blur",d,!0),AH(l,"click",n=>{var i,r;CI(t)||$q(n.target)||(null==(i=l.value)?void 0:i.contains(document.activeElement))&&l.value!==document.activeElement||null==(r=e.value)||r.focus()},!0),{isFocused:u,wrapperRef:l,handleFocus:c,handleBlur:d}}(x,{disabled:p,afterBlur(){var e;i.validateEvent&&(null==(e=null==c?void 0:c.validate)||e.call(c,"blur").catch(e=>{}))}}),S=ak(()=>{var e;return null!=(e=null==u?void 0:u.statusIcon)&&e}),C=ak(()=>(null==c?void 0:c.validateState)||""),O=ak(()=>C.value&&iW[C.value]),M=ak(()=>v.value?vH:lH),k=ak(()=>[r.style]),R=ak(()=>[i.inputStyle,T.value,{resize:i.resize}]),N=ak(()=>VX(i.modelValue)?"":String(i.modelValue)),D=ak(()=>i.clearable&&!p.value&&!i.readonly&&!!N.value&&(w.value||y.value)),F=ak(()=>i.showPassword&&!p.value&&!!N.value),L=ak(()=>i.showWordLimit&&!!i.maxlength&&("text"===i.type||"textarea"===i.type)&&!p.value&&!i.readonly&&!i.showPassword),P=ak(()=>N.value.length),B=ak(()=>!!L.value&&P.value>Number(i.maxlength)),$=ak(()=>!!o.suffix||!!i.suffixIcon||D.value||i.showPassword||L.value||!!C.value&&S.value),[U,V]=function(e){let t;return[function(){if(null==e.value)return;const{selectionStart:n,selectionEnd:i,value:r}=e.value;if(null==n||null==i)return;const s=r.slice(0,Math.max(0,n)),o=r.slice(Math.max(0,i));t={selectionStart:n,selectionEnd:i,value:r,beforeTxt:s,afterTxt:o}},function(){if(null==e.value||null==t)return;const{value:n}=e.value,{beforeTxt:i,afterTxt:r,selectionStart:s}=t;if(null==i||null==r||null==s)return;let o=n.length;if(n.endsWith(r))o=n.length-r.length;else if(n.startsWith(i))o=i.length;else{const e=i[s-1],t=n.indexOf(e,s-1);-1!==t&&(o=t+1)}e.value.setSelectionRange(o,o)}]}(g);FH(_,e=>{if(j(),!L.value||"both"!==i.resize)return;const t=e[0],{width:n}=t.contentRect;b.value={right:`calc(100% - ${n+15+6}px)`}});const z=()=>{const{type:e,autosize:t}=i;if(_j&&"textarea"===e&&_.value)if(t){const e=Jx(t)?t.minRows:void 0,n=Jx(t)?t.maxRows:void 0,i=GX(_.value,e,n);T.value={overflowY:"hidden",...i},hA(()=>{_.value.offsetHeight,T.value=i})}else T.value={minHeight:GX(_.value).minHeight}},j=(e=>{let t=!1;return()=>{var n;if(t||!i.autosize)return;null===(null==(n=_.value)?void 0:n.offsetParent)||(setTimeout(e),t=!0)}})(z),Y=()=>{const e=x.value,t=i.formatter?i.formatter(N.value):N.value;e&&e.value!==t&&(e.value=t)},G=async e=>{U();let{value:t}=e.target;i.formatter&&i.parser&&(t=i.parser(t)),W.value||(t!==N.value?(n(Mq,t),n(Rq,t),await hA(),Y(),V()):Y())},H=e=>{let{value:t}=e.target;i.formatter&&i.parser&&(t=i.parser(t)),n(kq,t)},{isComposing:W,handleCompositionStart:X,handleCompositionUpdate:q,handleCompositionEnd:K}=function({afterComposition:e,emit:t}){const n=EI(!1),i=e=>{var i;null==t||t("compositionupdate",e);const r=null==(i=e.target)?void 0:i.value,s=r[r.length-1]||"";n.value=!(e=>/([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(e))(s)},r=i=>{null==t||t("compositionend",i),n.value&&(n.value=!1,hA(()=>e(i)))};return{isComposing:n,handleComposition:e=>{"compositionend"===e.type?r(e):i(e)},handleCompositionStart:e=>{null==t||t("compositionstart",e),n.value=!0},handleCompositionUpdate:i,handleCompositionEnd:r}}({emit:n,afterComposition:G}),Z=()=>{U(),v.value=!v.value,setTimeout(V)},Q=e=>{y.value=!1,n("mouseleave",e)},J=e=>{y.value=!0,n("mouseenter",e)},ee=e=>{n("keydown",e)},te=()=>{n(Mq,""),n(kq,""),n("clear"),n(Rq,"")};return DO(()=>i.modelValue,()=>{var e;hA(()=>z()),i.validateEvent&&(null==(e=null==c?void 0:c.validate)||e.call(c,"change").catch(e=>{}))}),DO(N,()=>Y()),DO(()=>i.type,async()=>{await hA(),Y(),z()}),KS(()=>{!i.formatter&&i.parser,Y(),hA(z)}),t({input:g,textarea:_,ref:x,textareaStyle:R,autosize:PI(i,"autosize"),isComposing:W,focus:()=>{var e;return null==(e=x.value)?void 0:e.focus()},blur:()=>{var e;return null==(e=x.value)?void 0:e.blur()},select:()=>{var e;null==(e=x.value)||e.select()},clear:te,resizeTextarea:z}),(e,t)=>(uM(),mM("div",{class:CE([CI(a),{[CI(f).bm("group","append")]:e.$slots.append,[CI(f).bm("group","prepend")]:e.$slots.prepend}]),style:EE(CI(k)),onMouseenter:J,onMouseleave:Q},[OM(" input "),"textarea"!==e.type?(uM(),mM(iM,{key:0},[OM(" prepend slot "),e.$slots.prepend?(uM(),mM("div",{key:0,class:CE(CI(f).be("group","prepend"))},[mC(e.$slots,"prepend")],2)):OM("v-if",!0),xM("div",{ref_key:"wrapperRef",ref:E,class:CE(CI(l))},[OM(" prefix slot "),e.$slots.prefix||e.prefixIcon?(uM(),mM("span",{key:0,class:CE(CI(f).e("prefix"))},[xM("span",{class:CE(CI(f).e("prefix-inner"))},[mC(e.$slots,"prefix"),e.prefixIcon?(uM(),gM(CI(JH),{key:0,class:CE(CI(f).e("icon"))},{default:LA(()=>[(uM(),gM(uC(e.prefixIcon)))]),_:1},8,["class"])):OM("v-if",!0)],2)],2)):OM("v-if",!0),xM("input",NM({id:CI(d),ref_key:"input",ref:g,class:CI(f).e("inner")},CI(s),{name:e.name,minlength:e.minlength,maxlength:e.maxlength,type:e.showPassword?v.value?"text":"password":e.type,disabled:CI(p),readonly:e.readonly,autocomplete:e.autocomplete,tabindex:e.tabindex,"aria-label":e.ariaLabel,placeholder:e.placeholder,style:e.inputStyle,form:e.form,autofocus:e.autofocus,role:e.containerRole,inputmode:e.inputmode,onCompositionstart:CI(X),onCompositionupdate:CI(q),onCompositionend:CI(K),onInput:G,onChange:H,onKeydown:ee}),null,16,["id","name","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus","role","inputmode","onCompositionstart","onCompositionupdate","onCompositionend"]),OM(" suffix slot "),CI($)?(uM(),mM("span",{key:1,class:CE(CI(f).e("suffix"))},[xM("span",{class:CE(CI(f).e("suffix-inner"))},[CI(D)&&CI(F)&&CI(L)?OM("v-if",!0):(uM(),mM(iM,{key:0},[mC(e.$slots,"suffix"),e.suffixIcon?(uM(),gM(CI(JH),{key:0,class:CE(CI(f).e("icon"))},{default:LA(()=>[(uM(),gM(uC(e.suffixIcon)))]),_:1},8,["class"])):OM("v-if",!0)],64)),CI(D)?(uM(),gM(CI(JH),{key:1,class:CE([CI(f).e("icon"),CI(f).e("clear")]),onMousedown:KR(CI(Bx),["prevent"]),onClick:te},{default:LA(()=>[(uM(),gM(uC(e.clearIcon)))]),_:1},8,["class","onMousedown"])):OM("v-if",!0),CI(F)?(uM(),gM(CI(JH),{key:2,class:CE([CI(f).e("icon"),CI(f).e("password")]),onClick:Z},{default:LA(()=>[(uM(),gM(uC(CI(M))))]),_:1},8,["class"])):OM("v-if",!0),CI(L)?(uM(),mM("span",{key:3,class:CE(CI(f).e("count"))},[xM("span",{class:CE(CI(f).e("count-inner"))},GE(CI(P))+" / "+GE(e.maxlength),3)],2)):OM("v-if",!0),CI(C)&&CI(O)&&CI(S)?(uM(),gM(CI(JH),{key:4,class:CE([CI(f).e("icon"),CI(f).e("validateIcon"),CI(f).is("loading","validating"===CI(C))])},{default:LA(()=>[(uM(),gM(uC(CI(O))))]),_:1},8,["class"])):OM("v-if",!0)],2)],2)):OM("v-if",!0)],2),OM(" append slot "),e.$slots.append?(uM(),mM("div",{key:1,class:CE(CI(f).be("group","append"))},[mC(e.$slots,"append")],2)):OM("v-if",!0)],64)):(uM(),mM(iM,{key:1},[OM(" textarea "),xM("textarea",NM({id:CI(d),ref_key:"textarea",ref:_,class:[CI(m).e("inner"),CI(f).is("focus",CI(w))]},CI(s),{minlength:e.minlength,maxlength:e.maxlength,tabindex:e.tabindex,disabled:CI(p),readonly:e.readonly,autocomplete:e.autocomplete,style:CI(R),"aria-label":e.ariaLabel,placeholder:e.placeholder,form:e.form,autofocus:e.autofocus,rows:e.rows,role:e.containerRole,onCompositionstart:CI(X),onCompositionupdate:CI(q),onCompositionend:CI(K),onInput:G,onFocus:CI(I),onBlur:CI(A),onChange:H,onKeydown:ee}),null,16,["id","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus","rows","role","onCompositionstart","onCompositionupdate","onCompositionend","onFocus","onBlur"]),CI(L)?(uM(),mM("span",{key:0,style:EE(b.value),class:CE(CI(f).e("count"))},GE(CI(P))+" / "+GE(e.maxlength),7)):OM("v-if",!0)],64))],38))}});const jq=AG(HH(zq,[["__file","input.vue"]])),Yq=Symbol("popper"),Gq=Symbol("popperContent"),Hq=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],Wq=hG({role:{type:String,values:Hq,default:"tooltip"}}),Xq=dS({name:"ElPopper",inheritAttrs:!1});const qq=AG(HH(dS({...Xq,props:Wq,setup(e,{expose:t}){const n=e,i={triggerRef:EI(),popperInstanceRef:EI(),contentRef:EI(),referenceRef:EI(),role:ak(()=>n.role)};return t(i),eO(Yq,i),(e,t)=>mC(e.$slots,"default")}}),[["__file","popper.vue"]])),Kq=Symbol("elTooltip");var Zq="top",Qq="bottom",Jq="right",eK="left",tK="auto",nK=[Zq,Qq,Jq,eK],iK="start",rK="end",sK="viewport",oK="popper",aK=nK.reduce(function(e,t){return e.concat([t+"-"+iK,t+"-"+rK])},[]),lK=[].concat(nK,[tK]).reduce(function(e,t){return e.concat([t,t+"-"+iK,t+"-"+rK])},[]),uK=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function cK(e){return e?(e.nodeName||"").toLowerCase():null}function dK(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function hK(e){return e instanceof dK(e).Element||e instanceof Element}function pK(e){return e instanceof dK(e).HTMLElement||e instanceof HTMLElement}function fK(e){return"undefined"!=typeof ShadowRoot&&(e instanceof dK(e).ShadowRoot||e instanceof ShadowRoot)}var mK={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach(function(e){var n=t.styles[e]||{},i=t.attributes[e]||{},r=t.elements[e];!pK(r)||!cK(r)||(Object.assign(r.style,n),Object.keys(i).forEach(function(e){var t=i[e];!1===t?r.removeAttribute(e):r.setAttribute(e,!0===t?"":t)}))})},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(e){var i=t.elements[e],r=t.attributes[e]||{},s=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce(function(e,t){return e[t]="",e},{});!pK(i)||!cK(i)||(Object.assign(i.style,s),Object.keys(r).forEach(function(e){i.removeAttribute(e)}))})}},requires:["computeStyles"]};function gK(e){return e.split("-")[0]}var _K=Math.max,yK=Math.min,vK=Math.round;function bK(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect(),i=1,r=1;if(pK(e)&&t){var s=e.offsetHeight,o=e.offsetWidth;o>0&&(i=vK(n.width)/o||1),s>0&&(r=vK(n.height)/s||1)}return{width:n.width/i,height:n.height/r,top:n.top/r,right:n.right/i,bottom:n.bottom/r,left:n.left/i,x:n.left/i,y:n.top/r}}function TK(e){var t=bK(e),n=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:i}}function xK(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&fK(n)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function EK(e){return dK(e).getComputedStyle(e)}function wK(e){return["table","td","th"].indexOf(cK(e))>=0}function IK(e){return((hK(e)?e.ownerDocument:e.document)||window.document).documentElement}function AK(e){return"html"===cK(e)?e:e.assignedSlot||e.parentNode||(fK(e)?e.host:null)||IK(e)}function SK(e){return pK(e)&&"fixed"!==EK(e).position?e.offsetParent:null}function CK(e){for(var t=dK(e),n=SK(e);n&&wK(n)&&"static"===EK(n).position;)n=SK(n);return n&&("html"===cK(n)||"body"===cK(n)&&"static"===EK(n).position)?t:n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&pK(e)&&"fixed"===EK(e).position)return null;var n=AK(e);for(fK(n)&&(n=n.host);pK(n)&&["html","body"].indexOf(cK(n))<0;){var i=EK(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}(e)||t}function OK(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function MK(e,t,n){return _K(e,yK(t,n))}function kK(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function RK(e,t){return t.reduce(function(t,n){return t[n]=e,t},{})}var NK={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,i=e.name,r=e.options,s=n.elements.arrow,o=n.modifiersData.popperOffsets,a=gK(n.placement),l=OK(a),u=[eK,Jq].indexOf(a)>=0?"height":"width";if(s&&o){var c=function(e,t){return kK("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:RK(e,nK))}(r.padding,n),d=TK(s),h="y"===l?Zq:eK,p="y"===l?Qq:Jq,f=n.rects.reference[u]+n.rects.reference[l]-o[l]-n.rects.popper[u],m=o[l]-n.rects.reference[l],g=CK(s),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,y=f/2-m/2,v=c[h],b=_-d[u]-c[p],T=_/2-d[u]/2+y,x=MK(v,T,b),E=l;n.modifiersData[i]=((t={})[E]=x,t.centerOffset=x-T,t)}},effect:function(e){var t=e.state,n=e.options.element,i=void 0===n?"[data-popper-arrow]":n;null!=i&&("string"==typeof i&&!(i=t.elements.popper.querySelector(i))||!xK(t.elements.popper,i)||(t.elements.arrow=i))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function DK(e){return e.split("-")[1]}var FK={top:"auto",right:"auto",bottom:"auto",left:"auto"};function LK(e){var t,n=e.popper,i=e.popperRect,r=e.placement,s=e.variation,o=e.offsets,a=e.position,l=e.gpuAcceleration,u=e.adaptive,c=e.roundOffsets,d=e.isFixed,h=o.x,p=void 0===h?0:h,f=o.y,m=void 0===f?0:f,g="function"==typeof c?c({x:p,y:m}):{x:p,y:m};p=g.x,m=g.y;var _=o.hasOwnProperty("x"),y=o.hasOwnProperty("y"),v=eK,b=Zq,T=window;if(u){var x=CK(n),E="clientHeight",w="clientWidth";if(x===dK(n)&&("static"!==EK(x=IK(n)).position&&"absolute"===a&&(E="scrollHeight",w="scrollWidth")),r===Zq||(r===eK||r===Jq)&&s===rK)b=Qq,m-=(d&&x===T&&T.visualViewport?T.visualViewport.height:x[E])-i.height,m*=l?1:-1;if(r===eK||(r===Zq||r===Qq)&&s===rK)v=Jq,p-=(d&&x===T&&T.visualViewport?T.visualViewport.width:x[w])-i.width,p*=l?1:-1}var I,A=Object.assign({position:a},u&&FK),S=!0===c?function(e){var t=e.x,n=e.y,i=window.devicePixelRatio||1;return{x:vK(t*i)/i||0,y:vK(n*i)/i||0}}({x:p,y:m}):{x:p,y:m};return p=S.x,m=S.y,l?Object.assign({},A,((I={})[b]=y?"0":"",I[v]=_?"0":"",I.transform=(T.devicePixelRatio||1)<=1?"translate("+p+"px, "+m+"px)":"translate3d("+p+"px, "+m+"px, 0)",I)):Object.assign({},A,((t={})[b]=y?m+"px":"",t[v]=_?p+"px":"",t.transform="",t))}var PK={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,i=n.gpuAcceleration,r=void 0===i||i,s=n.adaptive,o=void 0===s||s,a=n.roundOffsets,l=void 0===a||a,u={placement:gK(t.placement),variation:DK(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,LK(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,LK(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},BK={passive:!0};var $K={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,i=e.options,r=i.scroll,s=void 0===r||r,o=i.resize,a=void 0===o||o,l=dK(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&u.forEach(function(e){e.addEventListener("scroll",n.update,BK)}),a&&l.addEventListener("resize",n.update,BK),function(){s&&u.forEach(function(e){e.removeEventListener("scroll",n.update,BK)}),a&&l.removeEventListener("resize",n.update,BK)}},data:{}},UK={left:"right",right:"left",bottom:"top",top:"bottom"};function VK(e){return e.replace(/left|right|bottom|top/g,function(e){return UK[e]})}var zK={start:"end",end:"start"};function jK(e){return e.replace(/start|end/g,function(e){return zK[e]})}function YK(e){var t=dK(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function GK(e){return bK(IK(e)).left+YK(e).scrollLeft}function HK(e){var t=EK(e),n=t.overflow,i=t.overflowX,r=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+r+i)}function WK(e){return["html","body","#document"].indexOf(cK(e))>=0?e.ownerDocument.body:pK(e)&&HK(e)?e:WK(AK(e))}function XK(e,t){var n;void 0===t&&(t=[]);var i=WK(e),r=i===(null==(n=e.ownerDocument)?void 0:n.body),s=dK(i),o=r?[s].concat(s.visualViewport||[],HK(i)?i:[]):i,a=t.concat(o);return r?a:a.concat(XK(AK(o)))}function qK(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function KK(e,t){return t===sK?qK(function(e){var t=dK(e),n=IK(e),i=t.visualViewport,r=n.clientWidth,s=n.clientHeight,o=0,a=0;return i&&(r=i.width,s=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(o=i.offsetLeft,a=i.offsetTop)),{width:r,height:s,x:o+GK(e),y:a}}(e)):hK(t)?function(e){var t=bK(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):qK(function(e){var t,n=IK(e),i=YK(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=_K(n.scrollWidth,n.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=_K(n.scrollHeight,n.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-i.scrollLeft+GK(e),l=-i.scrollTop;return"rtl"===EK(r||n).direction&&(a+=_K(n.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(IK(e)))}function ZK(e,t,n){var i="clippingParents"===t?function(e){var t=XK(AK(e)),n=["absolute","fixed"].indexOf(EK(e).position)>=0&&pK(e)?CK(e):e;return hK(n)?t.filter(function(e){return hK(e)&&xK(e,n)&&"body"!==cK(e)}):[]}(e):[].concat(t),r=[].concat(i,[n]),s=r[0],o=r.reduce(function(t,n){var i=KK(e,n);return t.top=_K(i.top,t.top),t.right=yK(i.right,t.right),t.bottom=yK(i.bottom,t.bottom),t.left=_K(i.left,t.left),t},KK(e,s));return o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}function QK(e){var t,n=e.reference,i=e.element,r=e.placement,s=r?gK(r):null,o=r?DK(r):null,a=n.x+n.width/2-i.width/2,l=n.y+n.height/2-i.height/2;switch(s){case Zq:t={x:a,y:n.y-i.height};break;case Qq:t={x:a,y:n.y+n.height};break;case Jq:t={x:n.x+n.width,y:l};break;case eK:t={x:n.x-i.width,y:l};break;default:t={x:n.x,y:n.y}}var u=s?OK(s):null;if(null!=u){var c="y"===u?"height":"width";switch(o){case iK:t[u]=t[u]-(n[c]/2-i[c]/2);break;case rK:t[u]=t[u]+(n[c]/2-i[c]/2)}}return t}function JK(e,t){void 0===t&&(t={});var n=t,i=n.placement,r=void 0===i?e.placement:i,s=n.boundary,o=void 0===s?"clippingParents":s,a=n.rootBoundary,l=void 0===a?sK:a,u=n.elementContext,c=void 0===u?oK:u,d=n.altBoundary,h=void 0!==d&&d,p=n.padding,f=void 0===p?0:p,m=kK("number"!=typeof f?f:RK(f,nK)),g=c===oK?"reference":oK,_=e.rects.popper,y=e.elements[h?g:c],v=ZK(hK(y)?y:y.contextElement||IK(e.elements.popper),o,l),b=bK(e.elements.reference),T=QK({reference:b,element:_,strategy:"absolute",placement:r}),x=qK(Object.assign({},_,T)),E=c===oK?x:b,w={top:v.top-E.top+m.top,bottom:E.bottom-v.bottom+m.bottom,left:v.left-E.left+m.left,right:E.right-v.right+m.right},I=e.modifiersData.offset;if(c===oK&&I){var A=I[r];Object.keys(w).forEach(function(e){var t=[Jq,Qq].indexOf(e)>=0?1:-1,n=[Zq,Qq].indexOf(e)>=0?"y":"x";w[e]+=A[n]*t})}return w}var eZ={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var r=n.mainAxis,s=void 0===r||r,o=n.altAxis,a=void 0===o||o,l=n.fallbackPlacements,u=n.padding,c=n.boundary,d=n.rootBoundary,h=n.altBoundary,p=n.flipVariations,f=void 0===p||p,m=n.allowedAutoPlacements,g=t.options.placement,_=gK(g),y=l||(_===g||!f?[VK(g)]:function(e){if(gK(e)===tK)return[];var t=VK(e);return[jK(e),t,jK(t)]}(g)),v=[g].concat(y).reduce(function(e,n){return e.concat(gK(n)===tK?function(e,t){void 0===t&&(t={});var n=t,i=n.placement,r=n.boundary,s=n.rootBoundary,o=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,u=void 0===l?lK:l,c=DK(i),d=c?a?aK:aK.filter(function(e){return DK(e)===c}):nK,h=d.filter(function(e){return u.indexOf(e)>=0});0===h.length&&(h=d);var p=h.reduce(function(t,n){return t[n]=JK(e,{placement:n,boundary:r,rootBoundary:s,padding:o})[gK(n)],t},{});return Object.keys(p).sort(function(e,t){return p[e]-p[t]})}(t,{placement:n,boundary:c,rootBoundary:d,padding:u,flipVariations:f,allowedAutoPlacements:m}):n)},[]),b=t.rects.reference,T=t.rects.popper,x=new Map,E=!0,w=v[0],I=0;I=0,M=O?"width":"height",k=JK(t,{placement:A,boundary:c,rootBoundary:d,altBoundary:h,padding:u}),R=O?C?Jq:eK:C?Qq:Zq;b[M]>T[M]&&(R=VK(R));var N=VK(R),D=[];if(s&&D.push(k[S]<=0),a&&D.push(k[R]<=0,k[N]<=0),D.every(function(e){return e})){w=A,E=!1;break}x.set(A,D)}if(E)for(var F=function(e){var t=v.find(function(t){var n=x.get(t);if(n)return n.slice(0,e).every(function(e){return e})});if(t)return w=t,"break"},L=f?3:1;L>0;L--){if("break"===F(L))break}t.placement!==w&&(t.modifiersData[i]._skip=!0,t.placement=w,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function tZ(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function nZ(e){return[Zq,Jq,Qq,eK].some(function(t){return e[t]>=0})}var iZ={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,i=t.rects.reference,r=t.rects.popper,s=t.modifiersData.preventOverflow,o=JK(t,{elementContext:"reference"}),a=JK(t,{altBoundary:!0}),l=tZ(o,i),u=tZ(a,r,s),c=nZ(l),d=nZ(u);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":d})}};var rZ={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,i=e.name,r=n.offset,s=void 0===r?[0,0]:r,o=lK.reduce(function(e,n){return e[n]=function(e,t,n){var i=gK(e),r=[eK,Zq].indexOf(i)>=0?-1:1,s="function"==typeof n?n(Object.assign({},t,{placement:e})):n,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[eK,Jq].indexOf(i)>=0?{x:a,y:o}:{x:o,y:a}}(n,t.rects,s),e},{}),a=o[t.placement],l=a.x,u=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=u),t.modifiersData[i]=o}};var sZ={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=QK({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}};var oZ={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,i=e.name,r=n.mainAxis,s=void 0===r||r,o=n.altAxis,a=void 0!==o&&o,l=n.boundary,u=n.rootBoundary,c=n.altBoundary,d=n.padding,h=n.tether,p=void 0===h||h,f=n.tetherOffset,m=void 0===f?0:f,g=JK(t,{boundary:l,rootBoundary:u,padding:d,altBoundary:c}),_=gK(t.placement),y=DK(t.placement),v=!y,b=OK(_),T=function(e){return"x"===e?"y":"x"}(b),x=t.modifiersData.popperOffsets,E=t.rects.reference,w=t.rects.popper,I="function"==typeof m?m(Object.assign({},t.rects,{placement:t.placement})):m,A="number"==typeof I?{mainAxis:I,altAxis:I}:Object.assign({mainAxis:0,altAxis:0},I),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,C={x:0,y:0};if(x){if(s){var O,M="y"===b?Zq:eK,k="y"===b?Qq:Jq,R="y"===b?"height":"width",N=x[b],D=N+g[M],F=N-g[k],L=p?-w[R]/2:0,P=y===iK?E[R]:w[R],B=y===iK?-w[R]:-E[R],$=t.elements.arrow,U=p&&$?TK($):{width:0,height:0},V=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=V[M],j=V[k],Y=MK(0,E[R],U[R]),G=v?E[R]/2-L-Y-z-A.mainAxis:P-Y-z-A.mainAxis,H=v?-E[R]/2+L+Y+j+A.mainAxis:B+Y+j+A.mainAxis,W=t.elements.arrow&&CK(t.elements.arrow),X=W?"y"===b?W.clientTop||0:W.clientLeft||0:0,q=null!=(O=null==S?void 0:S[b])?O:0,K=N+H-q,Z=MK(p?yK(D,N+G-q-X):D,N,p?_K(F,K):F);x[b]=Z,C[b]=Z-N}if(a){var Q,J="x"===b?Zq:eK,ee="x"===b?Qq:Jq,te=x[T],ne="y"===T?"height":"width",ie=te+g[J],re=te-g[ee],se=-1!==[Zq,eK].indexOf(_),oe=null!=(Q=null==S?void 0:S[T])?Q:0,ae=se?ie:te-E[ne]-w[ne]-oe+A.altAxis,le=se?te+E[ne]+w[ne]-oe-A.altAxis:re,ue=p&&se?function(e,t,n){var i=MK(e,t,n);return i>n?n:i}(ae,te,le):MK(p?ae:ie,te,p?le:re);x[T]=ue,C[T]=ue-te}t.modifiersData[i]=C}},requiresIfExists:["offset"]};function aZ(e,t,n){void 0===n&&(n=!1);var i=pK(t),r=pK(t)&&function(e){var t=e.getBoundingClientRect(),n=vK(t.width)/e.offsetWidth||1,i=vK(t.height)/e.offsetHeight||1;return 1!==n||1!==i}(t),s=IK(t),o=bK(e,r),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!n)&&(("body"!==cK(t)||HK(s))&&(a=function(e){return e!==dK(e)&&pK(e)?function(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):YK(e)}(t)),pK(t)?((l=bK(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=GK(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function lZ(e){var t=new Map,n=new Set,i=[];function r(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach(function(e){if(!n.has(e)){var i=t.get(e);i&&r(i)}}),i.push(e)}return e.forEach(function(e){t.set(e.name,e)}),e.forEach(function(e){n.has(e.name)||r(e)}),i}function uZ(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}var cZ={placement:"bottom",modifiers:[],strategy:"absolute"};function dZ(){for(var e=arguments.length,t=new Array(e),n=0;n({})},strategy:{type:String,values:["fixed","absolute"],default:"absolute"}}),gZ=hG({...mZ,...fZ,id:String,style:{type:[String,Array,Object]},className:{type:[String,Array,Object]},effect:{type:String,default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:Boolean,trapping:Boolean,popperClass:{type:[String,Array,Object]},popperStyle:{type:[String,Array,Object]},referenceEl:{type:Object},triggerTargetEl:{type:Object},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number,...Oq(["ariaLabel"])}),_Z={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},yZ=hG({to:{type:[String,Object],required:!0},disabled:Boolean});function vZ(){let e;const t=()=>window.clearTimeout(e);return wj(()=>t()),{registerTimeout:(n,i)=>{t(),e=window.setTimeout(n,i)},cancelTimeout:t}}const bZ=hG({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),TZ=hG({...bZ,...gZ,appendTo:{type:yZ.to.type},content:{type:String,default:""},rawContent:Boolean,persistent:Boolean,visible:{type:Boolean,default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean,...Oq(["ariaLabel"])}),xZ=hG({virtualRef:{type:Object},virtualTriggering:Boolean,onMouseenter:{type:Function},onMouseleave:{type:Function},onClick:{type:Function},onKeydown:{type:Function},onFocus:{type:Function},onBlur:{type:Function},onContextmenu:{type:Function},id:String,open:Boolean}),EZ=hG({...xZ,disabled:Boolean,trigger:{type:[String,Array],default:"hover"},triggerKeys:{type:Array,default:()=>[dW.enter,dW.numpadEnter,dW.space]},focusOnTarget:Boolean}),wZ=dG({type:Boolean,default:null}),IZ=dG({type:Function}),AZ=e=>{const t=`update:${e}`,n=`onUpdate:${e}`,i=[t];return{useModelToggle:({indicator:i,toggleReason:r,shouldHideWhenRouteChanges:s,shouldProceed:o,onShow:a,onHide:l})=>{const u=$M(),{emit:c}=u,d=u.props,h=ak(()=>Kx(d[n])),p=ak(()=>null===d[e]),f=e=>{!0!==i.value&&(i.value=!0,r&&(r.value=e),Kx(a)&&a(e))},m=e=>{!1!==i.value&&(i.value=!1,r&&(r.value=e),Kx(l)&&l(e))},g=e=>{if(!0===d.disabled||Kx(o)&&!o())return;const n=h.value&&_j;n&&c(t,!0),!p.value&&n||f(e)},_=e=>{if(!0===d.disabled||!_j)return;const n=h.value&&_j;n&&c(t,!1),!p.value&&n||m(e)},y=e=>{sj(e)&&(d.disabled&&e?h.value&&c(t,!1):i.value!==e&&(e?f():m()))};return DO(()=>d[e],y),s&&void 0!==u.appContext.config.globalProperties.$route&&DO(()=>({...u.proxy.$route}),()=>{s.value&&i.value&&_()}),KS(()=>{y(d[e])}),{hide:_,show:g,toggle:()=>{i.value?_():g()},hasUpdateHandler:h}},useModelToggleProps:{[e]:wZ,[n]:IZ},useModelToggleEmits:i}},{useModelToggle:SZ,useModelToggleProps:CZ,useModelToggleEmits:OZ}=AZ("modelValue"),{useModelToggleProps:MZ,useModelToggleEmits:kZ,useModelToggle:RZ}=AZ("visible"),NZ=hG({...Wq,...MZ,...TZ,...EZ,...fZ,showArrow:{type:Boolean,default:!0}}),DZ=[...kZ,"before-show","before-hide","show","hide","open","close"],FZ=(e,t,n)=>i=>{((e,t)=>Hx(e)?e.includes(t):e===t)(CI(e),t)&&n(i)},LZ=Symbol("elForwardRef"),PZ=dS({name:"ElOnlyChild",setup(e,{slots:t,attrs:n}){var i;const r=tO(LZ),s=(o=null!=(i=null==r?void 0:r.setForwardRef)?i:Bx,{mounted(e){o(e)},updated(e){o(e)},unmounted(){o(null)}});var o;return()=>{var e;const i=null==(e=t.default)?void 0:e.call(t,n);if(!i)return null;const[r,o]=BZ(i);return r?PA(AM(r,n),[[s]]):null}}});function BZ(e){if(!e)return[null,0];const t=e,n=t.filter(e=>e.type!==sM).length;for(const e of t){if(Jx(e))switch(e.type){case sM:continue;case rM:case"svg":return[$Z(e),n];case iM:return BZ(e.children);default:return[e,n]}return[$Z(e),n]}return[null,0]}function $Z(e){const t=ij("only-child");return EM("span",{class:t.e("content")},[e])}const UZ=dS({name:"ElPopperTrigger",inheritAttrs:!1}),VZ=dS({...UZ,props:xZ,setup(e,{expose:t}){const n=e,{role:i,triggerRef:r}=tO(Yq,void 0);var s;s=r,eO(LZ,{setForwardRef:e=>{s.value=e}});const o=ak(()=>l.value?n.id:void 0),a=ak(()=>{if(i&&"tooltip"===i.value)return n.open&&n.id?n.id:void 0}),l=ak(()=>{if(i&&"tooltip"!==i.value)return i.value}),u=ak(()=>l.value?`${n.open}`:void 0);let c;const d=["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"];return KS(()=>{DO(()=>n.virtualRef,e=>{e&&(r.value=wH(e))},{immediate:!0}),DO(r,(e,t)=>{null==c||c(),c=void 0,aj(e)&&(d.forEach(i=>{var r;const s=n[i];s&&(e.addEventListener(i.slice(2).toLowerCase(),s,["onFocus","onBlur"].includes(i)),null==(r=null==t?void 0:t.removeEventListener)||r.call(t,i.slice(2).toLowerCase(),s,["onFocus","onBlur"].includes(i)))}),$q(e)&&(c=DO([o,a,l,u],t=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((n,i)=>{VX(t[i])?e.removeAttribute(n):e.setAttribute(n,t[i])})},{immediate:!0}))),aj(t)&&$q(t)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(e=>t.removeAttribute(e))},{immediate:!0})}),JS(()=>{if(null==c||c(),c=void 0,r.value&&aj(r.value)){const e=r.value;d.forEach(t=>{const i=n[t];i&&e.removeEventListener(t.slice(2).toLowerCase(),i,["onFocus","onBlur"].includes(t))}),r.value=void 0}}),t({triggerRef:r}),(e,t)=>e.virtualTriggering?OM("v-if",!0):(uM(),gM(CI(PZ),NM({key:0},e.$attrs,{"aria-controls":CI(o),"aria-describedby":CI(a),"aria-expanded":CI(u),"aria-haspopup":CI(l)}),{default:LA(()=>[mC(e.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}});var zZ=HH(VZ,[["__file","trigger.vue"]]);const jZ=(e,t,{checkForDefaultPrevented:n=!0}={})=>i=>{const r=null==e?void 0:e(i);if(!1===n||!r)return null==t?void 0:t(i)},YZ=e=>t=>"mouse"===t.pointerType?e(t):void 0,GZ=dS({name:"ElTooltipTrigger"}),HZ=dS({...GZ,props:EZ,setup(e,{expose:t}){const n=e,i=ij("tooltip"),{controlled:r,id:s,open:o,onOpen:a,onClose:l,onToggle:u}=tO(Kq,void 0),c=EI(null),d=()=>{if(CI(r)||n.disabled)return!0},h=PI(n,"trigger"),p=jZ(d,FZ(h,"hover",e=>{a(e),n.focusOnTarget&&e.target&&hA(()=>{Uq(e.target,{preventScroll:!0})})})),f=jZ(d,FZ(h,"hover",l)),m=jZ(d,FZ(h,"click",e=>{0===e.button&&u(e)})),g=jZ(d,FZ(h,"focus",a)),_=jZ(d,FZ(h,"focus",l)),y=jZ(d,FZ(h,"contextmenu",e=>{e.preventDefault(),u(e)})),v=jZ(d,e=>{const{code:t}=e;n.triggerKeys.includes(t)&&(e.preventDefault(),u(e))});return t({triggerRef:c}),(e,t)=>(uM(),gM(CI(zZ),{id:CI(s),"virtual-ref":e.virtualRef,open:CI(o),"virtual-triggering":e.virtualTriggering,class:CE(CI(i).e("trigger")),onBlur:CI(_),onClick:CI(m),onContextmenu:CI(y),onFocus:CI(g),onMouseenter:CI(p),onMouseleave:CI(f),onKeydown:CI(v)},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}});var WZ=HH(HZ,[["__file","trigger.vue"]]);const XZ=AG(HH(dS({__name:"teleport",props:yZ,setup:e=>(e,t)=>e.disabled?mC(e.$slots,"default",{key:0}):(uM(),gM(XA,{key:1,to:e.to},[mC(e.$slots,"default")],8,["to"]))}),[["__file","teleport.vue"]])),qZ=()=>{const e=nj(),t=XW(),n=ak(()=>`${e.value}-popper-container-${t.prefix}`),i=ak(()=>`#${n.value}`);return{id:n,selector:i}},KZ=()=>{const{id:e,selector:t}=qZ();return qS(()=>{_j&&(document.body.querySelector(t.value)||(e=>{const t=document.createElement("div");t.id=e,document.body.appendChild(t)})(e.value))}),{id:e,selector:t}},ZZ="focus-trap.focus-after-trapped",QZ="focus-trap.focus-after-released",JZ={cancelable:!0,bubbles:!1},eQ={cancelable:!0,bubbles:!1},tQ="focusAfterTrapped",nQ="focusAfterReleased",iQ=Symbol("elFocusTrap"),rQ=EI(),sQ=EI(0),oQ=EI(0);let aQ=0;const lQ=e=>{const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{const t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0||e===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t},uQ=(e,t)=>{for(const n of e)if(!cQ(n,t))return n},cQ=(e,t)=>{if("hidden"===getComputedStyle(e).visibility)return!0;for(;e;){if(t&&e===t)return!1;if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1},dQ=(e,t)=>{if(e){const n=document.activeElement;Uq(e,{preventScroll:!0}),oQ.value=window.performance.now(),e!==n&&(e=>e instanceof HTMLInputElement&&"select"in e)(e)&&t&&e.select()}};function hQ(e,t){const n=[...e],i=e.indexOf(t);return-1!==i&&n.splice(i,1),n}const pQ=(()=>{let e=[];return{push:t=>{const n=e[0];n&&t!==n&&n.pause(),e=hQ(e,t),e.unshift(t)},remove:t=>{var n,i;e=hQ(e,t),null==(i=null==(n=e[0])?void 0:n.resume)||i.call(n)}}})(),fQ=()=>{rQ.value="pointer",sQ.value=window.performance.now()},mQ=()=>{rQ.value="keyboard",sQ.value=window.performance.now()},gQ=()=>(KS(()=>{0===aQ&&(document.addEventListener("mousedown",fQ),document.addEventListener("touchstart",fQ),document.addEventListener("keydown",mQ)),aQ++}),JS(()=>{aQ--,aQ<=0&&(document.removeEventListener("mousedown",fQ),document.removeEventListener("touchstart",fQ),document.removeEventListener("keydown",mQ))}),{focusReason:rQ,lastUserFocusTimestamp:sQ,lastAutomatedFocusTimestamp:oQ}),_Q=e=>new CustomEvent("focus-trap.focusout-prevented",{...eQ,detail:e});let yQ=[];const vQ=e=>{e.code===dW.esc&&yQ.forEach(t=>t(e))},bQ=dS({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[tQ,nQ,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const n=EI();let i,r;const{focusReason:s}=gQ();var o;o=n=>{e.trapped&&!a.paused&&t("release-requested",n)},KS(()=>{0===yQ.length&&document.addEventListener("keydown",vQ),_j&&yQ.push(o)}),JS(()=>{yQ=yQ.filter(e=>e!==o),0===yQ.length&&_j&&document.removeEventListener("keydown",vQ)});const a={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},l=n=>{if(!e.loop&&!e.trapped)return;if(a.paused)return;const{code:i,altKey:r,ctrlKey:o,metaKey:l,currentTarget:u,shiftKey:c}=n,{loop:d}=e,h=i===dW.tab&&!r&&!o&&!l,p=document.activeElement;if(h&&p){const e=u,[i,r]=(e=>{const t=lQ(e);return[uQ(t,e),uQ(t.reverse(),e)]})(e);if(i&&r)if(c||p!==r){if(c&&[i,e].includes(p)){const e=_Q({focusReason:s.value});t("focusout-prevented",e),e.defaultPrevented||(n.preventDefault(),d&&dQ(r,!0))}}else{const e=_Q({focusReason:s.value});t("focusout-prevented",e),e.defaultPrevented||(n.preventDefault(),d&&dQ(i,!0))}else if(p===e){const e=_Q({focusReason:s.value});t("focusout-prevented",e),e.defaultPrevented||n.preventDefault()}}};eO(iQ,{focusTrapRef:n,onKeydown:l}),DO(()=>e.focusTrapEl,e=>{e&&(n.value=e)},{immediate:!0}),DO([n],([e],[t])=>{e&&(e.addEventListener("keydown",l),e.addEventListener("focusin",d),e.addEventListener("focusout",h)),t&&(t.removeEventListener("keydown",l),t.removeEventListener("focusin",d),t.removeEventListener("focusout",h))});const u=e=>{t(tQ,e)},c=e=>t(nQ,e),d=s=>{const o=CI(n);if(!o)return;const l=s.target,u=s.relatedTarget,c=l&&o.contains(l);if(!e.trapped){u&&o.contains(u)||(i=u)}c&&t("focusin",s),a.paused||e.trapped&&(c?r=l:dQ(r,!0))},h=i=>{const o=CI(n);if(!a.paused&&o)if(e.trapped){const n=i.relatedTarget;VX(n)||o.contains(n)||setTimeout(()=>{if(!a.paused&&e.trapped){const e=_Q({focusReason:s.value});t("focusout-prevented",e),e.defaultPrevented||dQ(r,!0)}},0)}else{const e=i.target;e&&o.contains(e)||t("focusout",i)}};async function p(){await hA();const t=CI(n);if(t){pQ.push(a);const n=t.contains(document.activeElement)?i:document.activeElement;i=n;if(!t.contains(n)){const i=new Event(ZZ,JZ);t.addEventListener(ZZ,u),t.dispatchEvent(i),i.defaultPrevented||hA(()=>{let i=e.focusStartEl;Zx(i)||(dQ(i),document.activeElement!==i&&(i="first")),"first"===i&&((e,t=!1)=>{const n=document.activeElement;for(const i of e)if(dQ(i,t),document.activeElement!==n)return})(lQ(t),!0),document.activeElement!==n&&"container"!==i||dQ(t)})}}}function f(){const e=CI(n);if(e){e.removeEventListener(ZZ,u);const t=new CustomEvent(QZ,{...JZ,detail:{focusReason:s.value}});e.addEventListener(QZ,c),e.dispatchEvent(t),t.defaultPrevented||"keyboard"!=s.value&&sQ.value>oQ.value&&!e.contains(document.activeElement)||dQ(null!=i?i:document.body),e.removeEventListener(QZ,c),pQ.remove(a),i=null,r=null}}return KS(()=>{e.trapped&&p(),DO(()=>e.trapped,e=>{e?p():f()})}),JS(()=>{e.trapped&&f(),n.value&&(n.value.removeEventListener("keydown",l),n.value.removeEventListener("focusin",d),n.value.removeEventListener("focusout",h),n.value=void 0)}),{onKeydown:l}}});var TQ=HH(bQ,[["render",function(e,t,n,i,r,s){return mC(e.$slots,"default",{handleKeydown:e.onKeydown})}],["__file","focus-trap.vue"]]);const xQ=function(e){return void 0===e},EQ=(e,t=[])=>{const{placement:n,strategy:i,popperOptions:r}=e,s={placement:n,strategy:i,...r,modifiers:[...wQ(e),...t]};return function(e,t){t&&(e.modifiers=[...e.modifiers,...null!=t?t:[]])}(s,null==r?void 0:r.modifiers),s};function wQ(e){const{offset:t,gpuAcceleration:n,fallbackPlacements:i}=e;return[{name:"offset",options:{offset:[0,null!=t?t:12]}},{name:"preventOverflow",options:{padding:{top:0,bottom:0,left:0,right:0}}},{name:"flip",options:{padding:5,fallbackPlacements:i}},{name:"computeStyles",options:{gpuAcceleration:n}}]}const IQ=(e,t,n={})=>{const i={name:"updateState",enabled:!0,phase:"write",fn:({state:e})=>{const t=function(e){const t=Object.keys(e.elements),n=uG(t.map(t=>[t,e.styles[t]||{}])),i=uG(t.map(t=>[t,e.attributes[t]]));return{styles:n,attributes:i}}(e);Object.assign(o.value,t)},requires:["computeStyles"]},r=ak(()=>{const{onFirstUpdate:e,placement:t,strategy:r,modifiers:s}=CI(n);return{onFirstUpdate:e,placement:t||"bottom",strategy:r||"absolute",modifiers:[...s||[],i,{name:"applyStyles",enabled:!1}]}}),s=wI(),o=EI({styles:{popper:{position:CI(r).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),a=()=>{s.value&&(s.value.destroy(),s.value=void 0)};return DO(r,e=>{const t=CI(s);t&&t.setOptions(e)},{deep:!0}),DO([e,t],([e,t])=>{a(),e&&t&&(s.value=pZ(e,t,CI(r)))}),JS(()=>{a()}),{state:ak(()=>{var e;return{...(null==(e=CI(s))?void 0:e.state)||{}}}),styles:ak(()=>CI(o).styles),attributes:ak(()=>CI(o).attributes),update:()=>{var e;return null==(e=CI(s))?void 0:e.update()},forceUpdate:()=>{var e;return null==(e=CI(s))?void 0:e.forceUpdate()},instanceRef:ak(()=>CI(s))}};const AQ=e=>{const{popperInstanceRef:t,contentRef:n,triggerRef:i,role:r}=tO(Yq,void 0),s=EI(),o=ak(()=>e.arrowOffset),a=ak(()=>({name:"eventListeners",enabled:!!e.visible})),l=ak(()=>{var e;const t=CI(s),n=null!=(e=CI(o))?e:0;return{name:"arrow",enabled:!xQ(t),options:{element:t,padding:n}}}),u=ak(()=>({onFirstUpdate:()=>{f()},...EQ(e,[CI(l),CI(a)])})),c=ak(()=>(e=>{if(_j)return wH(e)})(e.referenceEl)||CI(i)),{attributes:d,state:h,styles:p,update:f,forceUpdate:m,instanceRef:g}=IQ(c,n,u);return DO(g,e=>t.value=e,{flush:"sync"}),KS(()=>{DO(()=>{var e,t;return null==(t=null==(e=CI(c))?void 0:e.getBoundingClientRect)?void 0:t.call(e)},()=>{f()})}),{attributes:d,arrowRef:s,contentRef:n,instanceRef:g,state:h,styles:p,role:r,forceUpdate:m,update:f}},SQ=dS({name:"ElPopperContent"}),CQ=dS({...SQ,props:gZ,emits:_Z,setup(e,{expose:t,emit:n}){const i=e,{focusStartRef:r,trapped:s,onFocusAfterReleased:o,onFocusAfterTrapped:a,onFocusInTrap:l,onFocusoutPrevented:u,onReleaseRequested:c}=((e,t)=>{const n=EI(!1),i=EI();return{focusStartRef:i,trapped:n,onFocusAfterReleased:e=>{var n;"pointer"!==(null==(n=e.detail)?void 0:n.focusReason)&&(i.value="first",t("blur"))},onFocusAfterTrapped:()=>{t("focus")},onFocusInTrap:t=>{e.visible&&!n.value&&(t.target&&(i.value=t.target),n.value=!0)},onFocusoutPrevented:t=>{e.trapping||("pointer"===t.detail.focusReason&&t.preventDefault(),n.value=!1)},onReleaseRequested:()=>{n.value=!1,t("close")}}})(i,n),{attributes:d,arrowRef:h,contentRef:p,styles:f,instanceRef:m,role:g,update:_}=AQ(i),{ariaModal:y,arrowStyle:v,contentAttrs:b,contentClass:T,contentStyle:x,updateZIndex:E}=((e,{attributes:t,styles:n,role:i})=>{const{nextZIndex:r}=kj(),s=ij("popper"),o=ak(()=>CI(t).popper),a=EI(oj(e.zIndex)?e.zIndex:r()),l=ak(()=>[s.b(),s.is("pure",e.pure),s.is(e.effect),e.popperClass]),u=ak(()=>[{zIndex:CI(a)},CI(n).popper,e.popperStyle||{}]);return{ariaModal:ak(()=>"dialog"===i.value?"false":void 0),arrowStyle:ak(()=>CI(n).arrow||{}),contentAttrs:o,contentClass:l,contentStyle:u,contentZIndex:a,updateZIndex:()=>{a.value=oj(e.zIndex)?e.zIndex:r()}}})(i,{styles:f,attributes:d,role:g}),w=tO(ZW,void 0);let I;eO(Gq,{arrowStyle:v,arrowRef:h}),w&&eO(ZW,{...w,addInputId:Bx,removeInputId:Bx});const A=(e=!0)=>{_(),e&&E()},S=()=>{A(!1),i.visible&&i.focusOnShow?s.value=!0:!1===i.visible&&(s.value=!1)};return KS(()=>{DO(()=>i.triggerTargetEl,(e,t)=>{null==I||I(),I=void 0;const n=CI(e||p.value),r=CI(t||p.value);aj(n)&&(I=DO([g,()=>i.ariaLabel,y,()=>i.id],e=>{["role","aria-label","aria-modal","id"].forEach((t,i)=>{VX(e[i])?n.removeAttribute(t):n.setAttribute(t,e[i])})},{immediate:!0})),r!==n&&aj(r)&&["role","aria-label","aria-modal","id"].forEach(e=>{r.removeAttribute(e)})},{immediate:!0}),DO(()=>i.visible,S,{immediate:!0})}),JS(()=>{null==I||I(),I=void 0}),t({popperContentRef:p,popperInstanceRef:m,updatePopper:A,contentStyle:x}),(e,t)=>(uM(),mM("div",NM({ref_key:"contentRef",ref:p},CI(b),{style:CI(x),class:CI(T),tabindex:"-1",onMouseenter:t=>e.$emit("mouseenter",t),onMouseleave:t=>e.$emit("mouseleave",t)}),[EM(CI(TQ),{trapped:CI(s),"trap-on-focus-in":!0,"focus-trap-el":CI(p),"focus-start-el":CI(r),onFocusAfterTrapped:CI(a),onFocusAfterReleased:CI(o),onFocusin:CI(l),onFocusoutPrevented:CI(u),onReleaseRequested:CI(c)},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16,["onMouseenter","onMouseleave"]))}});var OQ=HH(CQ,[["__file","content.vue"]]);const MQ=dS({name:"ElTooltipContent",inheritAttrs:!1}),kQ=dS({...MQ,props:TZ,setup(e,{expose:t}){const n=e,{selector:i}=qZ(),r=ij("tooltip"),s=EI(),o=gj(()=>{var e;return null==(e=s.value)?void 0:e.popperContentRef});let a;const{controlled:l,id:u,open:c,trigger:d,onClose:h,onOpen:p,onShow:f,onHide:m,onBeforeShow:g,onBeforeHide:_}=tO(Kq,void 0),y=ak(()=>n.transition||`${r.namespace.value}-fade-in-linear`),v=ak(()=>n.persistent);JS(()=>{null==a||a()});const b=ak(()=>!!CI(v)||CI(c)),T=ak(()=>!n.disabled&&CI(c)),x=ak(()=>n.appendTo||i.value),E=ak(()=>{var e;return null!=(e=n.style)?e:{}}),w=EI(!0),I=()=>{m(),N()&&Uq(document.body,{preventScroll:!0}),w.value=!0},A=()=>{if(CI(l))return!0},S=jZ(A,()=>{n.enterable&&"hover"===CI(d)&&p()}),C=jZ(A,()=>{"hover"===CI(d)&&h()}),O=()=>{var e,t;null==(t=null==(e=s.value)?void 0:e.updatePopper)||t.call(e),null==g||g()},M=()=>{null==_||_()},k=()=>{f()},R=()=>{n.virtualTriggering||h()},N=e=>{var t;const n=null==(t=s.value)?void 0:t.popperContentRef,i=(null==e?void 0:e.relatedTarget)||document.activeElement;return null==n?void 0:n.contains(i)};return DO(()=>CI(c),e=>{e?(w.value=!1,a=function(e,t,n={}){const{window:i=IH,ignore:r=[],capture:s=!0,detectIframe:o=!1}=n;if(!i)return;bj&&!SH&&(SH=!0,Array.from(i.document.body.children).forEach(e=>e.addEventListener("click",vj)));let a=!0;const l=e=>r.some(t=>{if("string"==typeof t)return Array.from(i.document.querySelectorAll(t)).some(t=>t===e.target||e.composedPath().includes(t));{const n=wH(t);return n&&(e.target===n||e.composedPath().includes(n))}}),u=[AH(i,"click",n=>{const i=wH(e);i&&i!==n.target&&!n.composedPath().includes(i)&&(0===n.detail&&(a=!l(n)),a?t(n):a=!0)},{passive:!0,capture:s}),AH(i,"pointerdown",t=>{const n=wH(e);n&&(a=!t.composedPath().includes(n)&&!l(t))},{passive:!0}),o&&AH(i,"blur",n=>{var r;const s=wH(e);"IFRAME"!==(null==(r=i.document.activeElement)?void 0:r.tagName)||(null==s?void 0:s.contains(i.document.activeElement))||t(n)})].filter(Boolean);return()=>u.forEach(e=>e())}(o,()=>{if(CI(l))return;var e;(e=CI(d),e||0===e?Hx(e)?e:[e]:[]).every(e=>"hover"!==e&&"focus"!==e)&&h()})):null==a||a()},{flush:"post"}),DO(()=>n.content,()=>{var e,t;null==(t=null==(e=s.value)?void 0:e.updatePopper)||t.call(e)}),t({contentRef:s,isFocusInsideContent:N}),(e,t)=>(uM(),gM(CI(XZ),{disabled:!e.teleported,to:CI(x)},{default:LA(()=>[CI(b)||!w.value?(uM(),gM(Rk,{key:0,name:CI(y),appear:!CI(v),onAfterLeave:I,onBeforeEnter:O,onAfterEnter:k,onBeforeLeave:M,persisted:""},{default:LA(()=>[PA(EM(CI(OQ),NM({id:CI(u),ref_key:"contentRef",ref:s},e.$attrs,{"aria-label":e.ariaLabel,"aria-hidden":w.value,"boundaries-padding":e.boundariesPadding,"fallback-placements":e.fallbackPlacements,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,strategy:e.strategy,effect:e.effect,enterable:e.enterable,pure:e.pure,"popper-class":e.popperClass,"popper-style":[e.popperStyle,CI(E)],"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,visible:CI(T),"z-index":e.zIndex,onMouseenter:CI(S),onMouseleave:CI(C),onBlur:R,onClose:CI(h)}),{default:LA(()=>[mC(e.$slots,"default")]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","arrow-offset","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","onMouseenter","onMouseleave","onClose"]),[[Xk,CI(T)]])]),_:3},8,["name","appear"])):OM("v-if",!0)]),_:3},8,["disabled","to"]))}});var RQ=HH(kQ,[["__file","content.vue"]]);const NQ=dS({name:"ElPopperArrow",inheritAttrs:!1});var DQ=HH(dS({...NQ,setup(e,{expose:t}){const n=ij("popper"),{arrowRef:i,arrowStyle:r}=tO(Gq,void 0);return JS(()=>{i.value=void 0}),t({arrowRef:i}),(e,t)=>(uM(),mM("span",{ref_key:"arrowRef",ref:i,class:CE(CI(n).e("arrow")),style:EE(CI(r)),"data-popper-arrow":""},null,6))}}),[["__file","arrow.vue"]]);const FQ=dS({name:"ElTooltip"}),LQ=dS({...FQ,props:NZ,emits:DZ,setup(e,{expose:t,emit:n}){const i=e;KZ();const r=ij("tooltip"),s=qW(),o=EI(),a=EI(),l=()=>{var e;const t=CI(o);t&&(null==(e=t.popperInstanceRef)||e.update())},u=EI(!1),c=EI(),{show:d,hide:h,hasUpdateHandler:p}=RZ({indicator:u,toggleReason:c}),{onOpen:f,onClose:m}=(({showAfter:e,hideAfter:t,autoClose:n,open:i,close:r})=>{const{registerTimeout:s}=vZ(),{registerTimeout:o,cancelTimeout:a}=vZ();return{onOpen:(t,a=CI(e))=>{s(()=>{i(t);const e=CI(n);oj(e)&&e>0&&o(()=>{r(t)},e)},a)},onClose:(e,n=CI(t))=>{a(),s(()=>{r(e)},n)}}})({showAfter:PI(i,"showAfter"),hideAfter:PI(i,"hideAfter"),autoClose:PI(i,"autoClose"),open:d,close:h}),g=ak(()=>sj(i.visible)&&!p.value),_=ak(()=>[r.b(),i.popperClass]);eO(Kq,{controlled:g,id:s,open:dI(u),trigger:PI(i,"trigger"),onOpen:f,onClose:m,onToggle:e=>{CI(u)?m(e):f(e)},onShow:()=>{n("show",c.value)},onHide:()=>{n("hide",c.value)},onBeforeShow:()=>{n("before-show",c.value)},onBeforeHide:()=>{n("before-hide",c.value)},updatePopper:l}),DO(()=>i.disabled,e=>{e&&u.value&&(u.value=!1)});return zS(()=>u.value&&h()),t({popperRef:o,contentRef:a,isFocusInsideContent:e=>{var t;return null==(t=a.value)?void 0:t.isFocusInsideContent(e)},updatePopper:l,onOpen:f,onClose:m,hide:h}),(e,t)=>(uM(),gM(CI(qq),{ref_key:"popperRef",ref:o,role:e.role},{default:LA(()=>[EM(WZ,{disabled:e.disabled,trigger:e.trigger,"trigger-keys":e.triggerKeys,"virtual-ref":e.virtualRef,"virtual-triggering":e.virtualTriggering,"focus-on-target":e.focusOnTarget},{default:LA(()=>[e.$slots.default?mC(e.$slots,"default",{key:0}):OM("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering","focus-on-target"]),EM(RQ,{ref_key:"contentRef",ref:a,"aria-label":e.ariaLabel,"boundaries-padding":e.boundariesPadding,content:e.content,disabled:e.disabled,effect:e.effect,enterable:e.enterable,"fallback-placements":e.fallbackPlacements,"hide-after":e.hideAfter,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,persistent:e.persistent,"popper-class":CI(_),"popper-style":e.popperStyle,placement:e.placement,"popper-options":e.popperOptions,"arrow-offset":e.arrowOffset,pure:e.pure,"raw-content":e.rawContent,"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,"show-after":e.showAfter,strategy:e.strategy,teleported:e.teleported,transition:e.transition,"virtual-triggering":e.virtualTriggering,"z-index":e.zIndex,"append-to":e.appendTo},{default:LA(()=>[mC(e.$slots,"content",{},()=>[e.rawContent?(uM(),mM("span",{key:0,innerHTML:e.content},null,8,["innerHTML"])):(uM(),mM("span",{key:1},GE(e.content),1))]),e.showArrow?(uM(),gM(CI(DQ),{key:0})):OM("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","arrow-offset","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to"])]),_:3},8,["role"]))}});const PQ=AG(HH(LQ,[["__file","tooltip.vue"]])),BQ={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},$Q=Symbol("scrollbarContextKey"),UQ=hG({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),VQ=dS({__name:"thumb",props:UQ,setup(e){const t=e,n=tO($Q),i=ij("scrollbar");n||gW("Thumb","can not inject scrollbar context");const r=EI(),s=EI(),o=EI({}),a=EI(!1);let l=!1,u=!1,c=0,d=0,h=_j?document.onselectstart:null;const p=ak(()=>BQ[t.vertical?"vertical":"horizontal"]),f=ak(()=>(({move:e,size:t,bar:n})=>({[n.size]:t,transform:`translate${n.axis}(${e}%)`}))({size:t.size,move:t.move,bar:p.value})),m=ak(()=>r.value[p.value.offset]**2/n.wrapElement[p.value.scrollSize]/t.ratio/s.value[p.value.offset]),g=e=>{var t;if(e.stopPropagation(),e.ctrlKey||[1,2].includes(e.button))return;null==(t=window.getSelection())||t.removeAllRanges(),y(e);const n=e.currentTarget;n&&(o.value[p.value.axis]=n[p.value.offset]-(e[p.value.client]-n.getBoundingClientRect()[p.value.direction]))},_=e=>{if(!s.value||!r.value||!n.wrapElement)return;const t=100*(Math.abs(e.target.getBoundingClientRect()[p.value.direction]-e[p.value.client])-s.value[p.value.offset]/2)*m.value/r.value[p.value.offset];n.wrapElement[p.value.scroll]=t*n.wrapElement[p.value.scrollSize]/100},y=e=>{e.stopImmediatePropagation(),l=!0,c=n.wrapElement.scrollHeight,d=n.wrapElement.scrollWidth,document.addEventListener("mousemove",v),document.addEventListener("mouseup",b),h=document.onselectstart,document.onselectstart=()=>!1},v=e=>{if(!r.value||!s.value)return;if(!1===l)return;const t=o.value[p.value.axis];if(!t)return;const i=100*(-1*(r.value.getBoundingClientRect()[p.value.direction]-e[p.value.client])-(s.value[p.value.offset]-t))*m.value/r.value[p.value.offset];"scrollLeft"===p.value.scroll?n.wrapElement[p.value.scroll]=i*d/100:n.wrapElement[p.value.scroll]=i*c/100},b=()=>{l=!1,o.value[p.value.axis]=0,document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",b),T(),u&&(a.value=!1)};JS(()=>{T(),document.removeEventListener("mouseup",b)});const T=()=>{document.onselectstart!==h&&(document.onselectstart=h)};return AH(PI(n,"scrollbarElement"),"mousemove",()=>{u=!1,a.value=!!t.size}),AH(PI(n,"scrollbarElement"),"mouseleave",()=>{u=!0,a.value=l}),(e,t)=>(uM(),gM(Rk,{name:CI(i).b("fade"),persisted:""},{default:LA(()=>[PA(xM("div",{ref_key:"instance",ref:r,class:CE([CI(i).e("bar"),CI(i).is(CI(p).key)]),onMousedown:_,onClick:KR(()=>{},["stop"])},[xM("div",{ref_key:"thumb",ref:s,class:CE(CI(i).e("thumb")),style:EE(CI(f)),onMousedown:g},null,38)],42,["onClick"]),[[Xk,e.always||a.value]])]),_:1},8,["name"]))}});var zQ=HH(VQ,[["__file","thumb.vue"]]);const jQ=dS({__name:"bar",props:hG({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),setup(e,{expose:t}){const n=e,i=tO($Q),r=EI(0),s=EI(0),o=EI(""),a=EI(""),l=EI(1),u=EI(1);return t({handleScroll:e=>{if(e){const t=e.offsetHeight-4,n=e.offsetWidth-4;s.value=100*e.scrollTop/t*l.value,r.value=100*e.scrollLeft/n*u.value}},update:()=>{const e=null==i?void 0:i.wrapElement;if(!e)return;const t=e.offsetHeight-4,r=e.offsetWidth-4,s=t**2/e.scrollHeight,c=r**2/e.scrollWidth,d=Math.max(s,n.minSize),h=Math.max(c,n.minSize);l.value=s/(t-s)/(d/(t-d)),u.value=c/(r-c)/(h/(r-h)),a.value=d+4(uM(),mM(iM,null,[EM(zQ,{move:r.value,ratio:u.value,size:o.value,always:e.always},null,8,["move","ratio","size","always"]),EM(zQ,{move:s.value,ratio:l.value,size:a.value,vertical:"",always:e.always},null,8,["move","ratio","size","always"])],64))}});var YQ=HH(jQ,[["__file","bar.vue"]]);const GQ=hG({distance:{type:Number,default:0},height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,wrapStyle:{type:[String,Object,Array],default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},tabindex:{type:[String,Number],default:void 0},id:String,role:String,...Oq(["ariaLabel","ariaOrientation"])}),HQ={"end-reached":e=>["left","right","top","bottom"].includes(e),scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(oj)},WQ=dS({name:"ElScrollbar"}),XQ=dS({...WQ,props:GQ,emits:HQ,setup(e,{expose:t,emit:n}){const i=e,r=ij("scrollbar");let s,o,a,l=0,u=0,c="";const d={bottom:!1,top:!1,right:!1,left:!1},h=EI(),p=EI(),f=EI(),m=EI(),g=ak(()=>{const e={};return i.height&&(e.height=WH(i.height)),i.maxHeight&&(e.maxHeight=WH(i.maxHeight)),[i.wrapStyle,e]}),_=ak(()=>[i.wrapClass,r.e("wrap"),{[r.em("wrap","hidden-default")]:!i.native}]),y=ak(()=>[r.e("view"),i.viewClass]),v={top:"bottom",bottom:"top",left:"right",right:"left"},b=()=>{var e;if(p.value){null==(e=m.value)||e.handleScroll(p.value);const t=l,r=u;l=p.value.scrollTop,u=p.value.scrollLeft;const s={bottom:l+p.value.clientHeight>=p.value.scrollHeight-i.distance,top:l<=i.distance&&0!==t,right:u+p.value.clientWidth>=p.value.scrollWidth-i.distance&&r!==u,left:u<=i.distance&&0!==r};if(n("scroll",{scrollTop:l,scrollLeft:u}),t!==l&&(c=l>t?"bottom":"top"),r!==u&&(c=u>r?"right":"left"),i.distance>0){if((e=>{var t;return null!=(t=d[e])&&t})(c))return;(e=>{const t=v[c];if(!t)return;const n=e[c],i=e[t];n&&!d[c]&&(d[c]=!0),!i&&d[t]&&(d[t]=!1)})(s)}s[c]&&n("end-reached",c)}};const T=()=>{var e;null==(e=m.value)||e.update(),d[c]=!1};return DO(()=>i.noresize,e=>{e?(null==s||s(),null==o||o(),null==a||a()):(({stop:s}=FH(f,T)),({stop:o}=FH(p,T)),a=AH("resize",T))},{immediate:!0}),DO(()=>[i.maxHeight,i.height],()=>{i.native||hA(()=>{var e;T(),p.value&&(null==(e=m.value)||e.handleScroll(p.value))})}),eO($Q,uI({scrollbarElement:h,wrapElement:p})),VS(()=>{p.value&&(p.value.scrollTop=l,p.value.scrollLeft=u)}),KS(()=>{i.native||hA(()=>{T()})}),QS(()=>T()),t({wrapRef:p,update:T,scrollTo:function(e,t){Jx(e)?p.value.scrollTo(e):oj(e)&&oj(t)&&p.value.scrollTo(e,t)},setScrollTop:e=>{oj(e)&&(p.value.scrollTop=e)},setScrollLeft:e=>{oj(e)&&(p.value.scrollLeft=e)},handleScroll:b}),(e,t)=>(uM(),mM("div",{ref_key:"scrollbarRef",ref:h,class:CE(CI(r).b())},[xM("div",{ref_key:"wrapRef",ref:p,class:CE(CI(_)),style:EE(CI(g)),tabindex:e.tabindex,onScroll:b},[(uM(),gM(uC(e.tag),{id:e.id,ref_key:"resizeRef",ref:f,class:CE(CI(y)),style:EE(e.viewStyle),role:e.role,"aria-label":e.ariaLabel,"aria-orientation":e.ariaOrientation},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],46,["tabindex"]),e.native?OM("v-if",!0):(uM(),gM(YQ,{key:0,ref_key:"barRef",ref:m,always:e.always,"min-size":e.minSize},null,8,["always","min-size"]))],2))}});const qQ=AG(HH(XQ,[["__file","scrollbar.vue"]]));var KQ=HH(dS({inheritAttrs:!1}),[["render",function(e,t,n,i,r,s){return mC(e.$slots,"default")}],["__file","collection.vue"]]);var ZQ=HH(dS({name:"ElCollectionItem",inheritAttrs:!1}),[["render",function(e,t,n,i,r,s){return mC(e.$slots,"default")}],["__file","collection-item.vue"]]);const QQ="data-el-collection-item",JQ=e=>{const t=`El${e}Collection`,n=`${t}Item`,i=Symbol(t),r=Symbol(n),s={...KQ,name:t,setup(){const e=EI(),t=new Map;eO(i,{itemMap:t,getItems:()=>{const n=CI(e);if(!n)return[];const i=Array.from(n.querySelectorAll(`[${QQ}]`));return[...t.values()].sort((e,t)=>i.indexOf(e.ref)-i.indexOf(t.ref))},collectionRef:e})}},o={...ZQ,name:n,setup(e,{attrs:t}){const n=EI(),s=tO(i,void 0);eO(r,{collectionItemRef:n}),KS(()=>{const e=CI(n);e&&s.itemMap.set(e,{ref:e,...t})}),JS(()=>{const e=CI(n);s.itemMap.delete(e)})}};return{COLLECTION_INJECTION_KEY:i,COLLECTION_ITEM_INJECTION_KEY:r,ElCollection:s,ElCollectionItem:o}},eJ=hG({style:{type:[String,Array,Object]},currentTabId:{type:String},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:String},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:tJ,ElCollectionItem:nJ,COLLECTION_INJECTION_KEY:iJ,COLLECTION_ITEM_INJECTION_KEY:rJ}=JQ("RovingFocusGroup"),sJ=Symbol("elRovingFocusGroup"),oJ=Symbol("elRovingFocusGroupItem"),aJ={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},lJ=(e,t,n)=>{const i=((e,t)=>{if("rtl"!==t)return e;switch(e){case dW.right:return dW.left;case dW.left:return dW.right;default:return e}})(e.code,n);if(!("vertical"===t&&[dW.left,dW.right].includes(i)||"horizontal"===t&&[dW.up,dW.down].includes(i)))return aJ[i]},uJ=e=>{const{activeElement:t}=document;for(const n of e){if(n===t)return;if(n.focus(),t!==document.activeElement)return}},cJ="currentTabIdChange",dJ="rovingFocusGroup.entryFocus",hJ={bubbles:!1,cancelable:!0},pJ=dS({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:eJ,emits:[cJ,"entryFocus"],setup(e,{emit:t}){var n;const i=EI(null!=(n=e.currentTabId||e.defaultCurrentTabId)?n:null),r=EI(!1),s=EI(!1),o=EI(),{getItems:a}=tO(iJ,void 0),l=ak(()=>[{outline:"none"},e.style]),u=jZ(t=>{var n;null==(n=e.onMousedown)||n.call(e,t)},()=>{s.value=!0}),c=jZ(t=>{var n;null==(n=e.onFocus)||n.call(e,t)},e=>{const t=!CI(s),{target:n,currentTarget:o}=e;if(n===o&&t&&!CI(r)){const e=new Event(dJ,hJ);if(null==o||o.dispatchEvent(e),!e.defaultPrevented){const e=a().filter(e=>e.focusable),t=[e.find(e=>e.active),e.find(e=>e.id===CI(i)),...e].filter(Boolean).map(e=>e.ref);uJ(t)}}s.value=!1}),d=jZ(t=>{var n;null==(n=e.onBlur)||n.call(e,t)},()=>{r.value=!1});eO(sJ,{currentTabbedId:dI(i),loop:PI(e,"loop"),tabIndex:ak(()=>CI(r)?-1:0),rovingFocusGroupRef:o,rovingFocusGroupRootStyle:l,orientation:PI(e,"orientation"),dir:PI(e,"dir"),onItemFocus:e=>{t(cJ,e)},onItemShiftTab:()=>{r.value=!0},onBlur:d,onFocus:c,onMousedown:u}),DO(()=>e.currentTabId,e=>{i.value=null!=e?e:null}),AH(o,dJ,(...e)=>{t("entryFocus",...e)})}});var fJ=HH(dS({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:tJ,ElRovingFocusGroupImpl:HH(pJ,[["render",function(e,t,n,i,r,s){return mC(e.$slots,"default")}],["__file","roving-focus-group-impl.vue"]])}}),[["render",function(e,t,n,i,r,s){const o=aC("el-roving-focus-group-impl"),a=aC("el-focus-group-collection");return uM(),gM(a,null,{default:LA(()=>[EM(o,OE(IM(e.$attrs)),{default:LA(()=>[mC(e.$slots,"default")]),_:3},16)]),_:3})}],["__file","roving-focus-group.vue"]]);const mJ=hG({trigger:EZ.trigger,triggerKeys:{type:Array,default:()=>[dW.enter,dW.numpadEnter,dW.space,dW.down]},virtualTriggering:EZ.virtualTriggering,virtualRef:EZ.virtualRef,effect:{...TZ.effect,default:"light"},type:{type:String},placement:{type:String,default:"bottom"},popperOptions:{type:Object,default:()=>({})},id:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showArrow:{type:Boolean,default:!0},showTimeout:{type:Number,default:150},hideTimeout:{type:Number,default:150},tabindex:{type:[Number,String],default:0},maxHeight:{type:[Number,String],default:""},popperClass:{type:String,default:""},disabled:Boolean,role:{type:String,values:Hq,default:"menu"},buttonProps:{type:Object},teleported:TZ.teleported,persistent:{type:Boolean,default:!0}}),gJ=hG({command:{type:[Object,String,Number],default:()=>({})},disabled:Boolean,divided:Boolean,textValue:String,icon:{type:eW}}),_J=hG({onKeydown:{type:Function}}),yJ=[dW.down,dW.pageDown,dW.home],vJ=[dW.up,dW.pageUp,dW.end],bJ=[...yJ,...vJ],{ElCollection:TJ,ElCollectionItem:xJ,COLLECTION_INJECTION_KEY:EJ,COLLECTION_ITEM_INJECTION_KEY:wJ}=JQ("Dropdown"),IJ=Symbol("elDropdown"),AJ="elDropdown";const SJ=function(){if(!arguments.length)return[];var e=arguments[0];return Rj(e)?e:[e]},{ButtonGroup:CJ}=NX,OJ=dS({name:"ElDropdown",components:{ElButton:NX,ElButtonGroup:CJ,ElScrollbar:qQ,ElDropdownCollection:TJ,ElTooltip:PQ,ElRovingFocusGroup:fJ,ElOnlyChild:PZ,ElIcon:JH,ArrowDown:MG},props:mJ,emits:["visible-change","click","command"],setup(e,{emit:t}){const n=$M(),i=ij("dropdown"),{t:r}=lG(),s=EI(),o=EI(),a=EI(),l=EI(),u=EI(null),c=EI(null),d=EI(!1),h=ak(()=>({maxHeight:WH(e.maxHeight)})),p=ak(()=>[i.m(_.value)]),f=ak(()=>SJ(e.trigger)),m=qW().value,g=ak(()=>e.id||m);const _=tX();eO(IJ,{contentRef:l,role:ak(()=>e.role),triggerId:g,isUsingKeyboard:d,onItemEnter:function(){},onItemLeave:function(){const e=CI(l);f.value.includes("hover")&&(null==e||e.focus({preventScroll:!0})),c.value=null}}),eO(AJ,{instance:n,dropdownSize:_,handleClick:function(){var e;null==(e=a.value)||e.onClose(void 0,0)},commandHandler:function(...e){t("command",...e)},trigger:PI(e,"trigger"),hideOnClick:PI(e,"hideOnClick")});return{t:r,ns:i,scrollbar:u,wrapStyle:h,dropdownTriggerKls:p,dropdownSize:_,triggerId:g,currentTabId:c,handleCurrentTabIdChange:function(e){c.value=e},handlerMainButtonClick:e=>{t("click",e)},handleEntryFocus:function(e){d.value||(e.preventDefault(),e.stopImmediatePropagation())},handleClose:function(){var e;null==(e=a.value)||e.onClose()},handleOpen:function(){var e;null==(e=a.value)||e.onOpen()},handleBeforeShowTooltip:function(){t("visible-change",!0)},handleShowTooltip:function(e){var t;"keydown"===(null==e?void 0:e.type)&&(null==(t=l.value)||t.focus())},handleBeforeHideTooltip:function(){t("visible-change",!1)},onFocusAfterTrapped:e=>{var t,n;e.preventDefault(),null==(n=null==(t=l.value)?void 0:t.focus)||n.call(t,{preventScroll:!0})},popperRef:a,contentRef:l,triggeringElementRef:s,referenceElementRef:o}}});var MJ=HH(OJ,[["render",function(e,t,n,i,r,s){var o,a;const l=aC("el-dropdown-collection"),u=aC("el-roving-focus-group"),c=aC("el-scrollbar"),d=aC("el-only-child"),h=aC("el-tooltip"),p=aC("el-button"),f=aC("arrow-down"),m=aC("el-icon"),g=aC("el-button-group");return uM(),mM("div",{class:CE([e.ns.b(),e.ns.is("disabled",e.disabled)])},[EM(h,{ref:"popperRef",role:e.role,effect:e.effect,"fallback-placements":["bottom","top"],"popper-options":e.popperOptions,"gpu-acceleration":!1,"manual-mode":!0,placement:e.placement,"popper-class":[e.ns.e("popper"),e.popperClass],"reference-element":null==(o=e.referenceElementRef)?void 0:o.$el,trigger:e.trigger,"trigger-keys":e.triggerKeys,"trigger-target-el":e.contentRef,"show-arrow":e.showArrow,"show-after":"hover"===e.trigger?e.showTimeout:0,"hide-after":"hover"===e.trigger?e.hideTimeout:0,"stop-popper-mouse-event":!1,"virtual-ref":null!=(a=e.virtualRef)?a:e.triggeringElementRef,"virtual-triggering":e.virtualTriggering||e.splitButton,disabled:e.disabled,transition:`${e.ns.namespace.value}-zoom-in-top`,teleported:e.teleported,pure:"","focus-on-target":"",persistent:e.persistent,onBeforeShow:e.handleBeforeShowTooltip,onShow:e.handleShowTooltip,onBeforeHide:e.handleBeforeHideTooltip},fC({content:LA(()=>[EM(c,{ref:"scrollbar","wrap-style":e.wrapStyle,tag:"div","view-class":e.ns.e("list")},{default:LA(()=>[EM(u,{loop:e.loop,"current-tab-id":e.currentTabId,orientation:"horizontal",onCurrentTabIdChange:e.handleCurrentTabIdChange,onEntryFocus:e.handleEntryFocus},{default:LA(()=>[EM(l,null,{default:LA(()=>[mC(e.$slots,"dropdown")]),_:3})]),_:3},8,["loop","current-tab-id","onCurrentTabIdChange","onEntryFocus"])]),_:3},8,["wrap-style","view-class"])]),_:2},[e.splitButton?void 0:{name:"default",fn:LA(()=>[EM(d,{id:e.triggerId,ref:"triggeringElementRef",role:"button",tabindex:e.tabindex},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["id","tabindex"])])}]),1032,["role","effect","popper-options","placement","popper-class","reference-element","trigger","trigger-keys","trigger-target-el","show-arrow","show-after","hide-after","virtual-ref","virtual-triggering","disabled","transition","teleported","persistent","onBeforeShow","onShow","onBeforeHide"]),e.splitButton?(uM(),gM(g,{key:0},{default:LA(()=>[EM(p,NM({ref:"referenceElementRef"},e.buttonProps,{size:e.dropdownSize,type:e.type,disabled:e.disabled,tabindex:e.tabindex,onClick:e.handlerMainButtonClick}),{default:LA(()=>[mC(e.$slots,"default")]),_:3},16,["size","type","disabled","tabindex","onClick"]),EM(p,NM({id:e.triggerId,ref:"triggeringElementRef"},e.buttonProps,{role:"button",size:e.dropdownSize,type:e.type,class:e.ns.e("caret-button"),disabled:e.disabled,tabindex:e.tabindex,"aria-label":e.t("el.dropdown.toggleDropdown")}),{default:LA(()=>[EM(m,{class:CE(e.ns.e("icon"))},{default:LA(()=>[EM(f)]),_:1},8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex","aria-label"])]),_:3})):OM("v-if",!0)],2)}],["__file","dropdown.vue"]]);const kJ=dS({components:{ElRovingFocusCollectionItem:nJ},props:{focusable:{type:Boolean,default:!0},active:Boolean},emits:["mousedown","focus","keydown"],setup(e,{emit:t}){const{currentTabbedId:n,loop:i,onItemFocus:r,onItemShiftTab:s}=tO(sJ,void 0),{getItems:o}=tO(iJ,void 0),a=qW(),l=EI(),u=jZ(e=>{t("mousedown",e)},t=>{e.focusable?r(CI(a)):t.preventDefault()}),c=jZ(e=>{t("focus",e)},()=>{r(CI(a))}),d=jZ(e=>{t("keydown",e)},e=>{const{code:t,shiftKey:n,target:r,currentTarget:a}=e;if(t===dW.tab&&n)return void s();if(r!==a)return;const l=lJ(e);if(l){e.preventDefault();let t=o().filter(e=>e.focusable).map(e=>e.ref);switch(l){case"last":t.reverse();break;case"prev":case"next":{"prev"===l&&t.reverse();const e=t.indexOf(a);t=i.value?((e,t)=>e.map((n,i)=>e[(i+t)%e.length]))(t,e+1):t.slice(e+1);break}}hA(()=>{uJ(t)})}}),h=ak(()=>n.value===CI(a));return eO(oJ,{rovingFocusGroupItemRef:l,tabIndex:ak(()=>CI(h)?0:-1),handleMousedown:u,handleFocus:c,handleKeydown:d}),{id:a,handleKeydown:d,handleFocus:c,handleMousedown:u}}});var RJ=HH(kJ,[["render",function(e,t,n,i,r,s){const o=aC("el-roving-focus-collection-item");return uM(),gM(o,{id:e.id,focusable:e.focusable,active:e.active},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["id","focusable","active"])}],["__file","roving-focus-item.vue"]]);const NJ=(...e)=>t=>{e.forEach(e=>{Kx(e)?e(t):e.value=t})},DJ=dS({name:"DropdownItemImpl",components:{ElIcon:JH},props:gJ,emits:["pointermove","pointerleave","click","clickimpl"],setup(e,{emit:t}){const n=ij("dropdown"),{role:i}=tO(IJ,void 0),{collectionItemRef:r}=tO(wJ,void 0),{collectionItemRef:s}=tO(rJ,void 0),{rovingFocusGroupItemRef:o,tabIndex:a,handleFocus:l,handleKeydown:u,handleMousedown:c}=tO(oJ,void 0),d=NJ(r,s,o),h=ak(()=>"menu"===i.value?"menuitem":"navigation"===i.value?"link":"button"),p=jZ(e=>{if([dW.enter,dW.numpadEnter,dW.space].includes(e.code))return e.preventDefault(),e.stopImmediatePropagation(),t("clickimpl",e),!0},u);return{ns:n,itemRef:d,dataset:{[QQ]:""},role:h,tabIndex:a,handleFocus:l,handleKeydown:p,handleMousedown:c}}});const FJ=()=>{const e=tO(AJ,{}),t=ak(()=>null==e?void 0:e.dropdownSize);return{elDropdown:e,_elDropdownSize:t}},LJ=dS({name:"ElDropdownItem",components:{ElDropdownCollectionItem:xJ,ElRovingFocusItem:RJ,ElDropdownItemImpl:HH(DJ,[["render",function(e,t,n,i,r,s){const o=aC("el-icon");return uM(),mM(iM,null,[e.divided?(uM(),mM("li",{key:0,role:"separator",class:CE(e.ns.bem("menu","item","divided"))},null,2)):OM("v-if",!0),xM("li",NM({ref:e.itemRef},{...e.dataset,...e.$attrs},{"aria-disabled":e.disabled,class:[e.ns.be("menu","item"),e.ns.is("disabled",e.disabled)],tabindex:e.tabIndex,role:e.role,onClick:t=>e.$emit("clickimpl",t),onFocus:e.handleFocus,onKeydown:KR(e.handleKeydown,["self"]),onMousedown:e.handleMousedown,onPointermove:t=>e.$emit("pointermove",t),onPointerleave:t=>e.$emit("pointerleave",t)}),[e.icon?(uM(),gM(o,{key:0},{default:LA(()=>[(uM(),gM(uC(e.icon)))]),_:1})):OM("v-if",!0),mC(e.$slots,"default")],16,["aria-disabled","tabindex","role","onClick","onFocus","onKeydown","onMousedown","onPointermove","onPointerleave"])],64)}],["__file","dropdown-item-impl.vue"]])},inheritAttrs:!1,props:gJ,emits:["pointermove","pointerleave","click"],setup(e,{emit:t,attrs:n}){const{elDropdown:i}=FJ(),r=$M(),s=EI(null),o=ak(()=>{var e,t;return null!=(t=null==(e=CI(s))?void 0:e.textContent)?t:""}),{onItemEnter:a,onItemLeave:l}=tO(IJ,void 0),u=jZ(e=>(t("pointermove",e),e.defaultPrevented),YZ(t=>{if(e.disabled)return void l(t);const n=t.currentTarget;n===document.activeElement||n.contains(document.activeElement)||(a(t),t.defaultPrevented||null==n||n.focus({preventScroll:!0}))})),c=jZ(e=>(t("pointerleave",e),e.defaultPrevented),YZ(l)),d=jZ(n=>{if(!e.disabled)return t("click",n),"keydown"!==n.type&&n.defaultPrevented},t=>{var n,s,o;e.disabled?t.stopImmediatePropagation():((null==(n=null==i?void 0:i.hideOnClick)?void 0:n.value)&&(null==(s=i.handleClick)||s.call(i)),null==(o=i.commandHandler)||o.call(i,e.command,r,t))});return{handleClick:d,handlePointerMove:u,handlePointerLeave:c,textContent:o,propsAndAttrs:ak(()=>({...e,...n}))}}});var PJ=HH(LJ,[["render",function(e,t,n,i,r,s){var o;const a=aC("el-dropdown-item-impl"),l=aC("el-roving-focus-item"),u=aC("el-dropdown-collection-item");return uM(),gM(u,{disabled:e.disabled,"text-value":null!=(o=e.textValue)?o:e.textContent},{default:LA(()=>[EM(l,{focusable:!e.disabled},{default:LA(()=>[EM(a,NM(e.propsAndAttrs,{onPointerleave:e.handlePointerLeave,onPointermove:e.handlePointerMove,onClickimpl:e.handleClick}),{default:LA(()=>[mC(e.$slots,"default")]),_:3},16,["onPointerleave","onPointermove","onClickimpl"])]),_:3},8,["focusable"])]),_:3},8,["disabled","text-value"])}],["__file","dropdown-item.vue"]]);const BJ=dS({name:"ElDropdownMenu",props:_J,setup(e){const t=ij("dropdown"),{_elDropdownSize:n}=FJ(),i=n.value,{focusTrapRef:r,onKeydown:s}=tO(iQ,void 0),{contentRef:o,role:a,triggerId:l}=tO(IJ,void 0),{collectionRef:u,getItems:c}=tO(EJ,void 0),{rovingFocusGroupRef:d,rovingFocusGroupRootStyle:h,tabIndex:p,onBlur:f,onFocus:m,onMousedown:g}=tO(sJ,void 0),{collectionRef:_}=tO(iJ,void 0),y=ak(()=>[t.b("menu"),t.bm("menu",null==i?void 0:i.value)]),v=NJ(o,u,r,d,_),b=jZ(t=>{var n;null==(n=e.onKeydown)||n.call(e,t)},e=>{const{currentTarget:t,code:n,target:i}=e;if(t.contains(i),dW.tab===n&&e.stopImmediatePropagation(),e.preventDefault(),i!==CI(o)||!bJ.includes(n))return;const r=c().filter(e=>!e.disabled).map(e=>e.ref);vJ.includes(n)&&r.reverse(),uJ(r)});return{size:i,rovingFocusGroupRootStyle:h,tabIndex:p,dropdownKls:y,role:a,triggerId:l,dropdownListWrapperRef:v,handleKeydown:e=>{b(e),s(e)},onBlur:f,onFocus:m,onMousedown:g}}});var $J=HH(BJ,[["render",function(e,t,n,i,r,s){return uM(),mM("ul",{ref:e.dropdownListWrapperRef,class:CE(e.dropdownKls),style:EE(e.rovingFocusGroupRootStyle),tabindex:-1,role:e.role,"aria-labelledby":e.triggerId,onBlur:e.onBlur,onFocus:e.onFocus,onKeydown:KR(e.handleKeydown,["self"]),onMousedown:KR(e.onMousedown,["self"])},[mC(e.$slots,"default")],46,["role","aria-labelledby","onBlur","onFocus","onKeydown","onMousedown"])}],["__file","dropdown-menu.vue"]]);const UJ=AG(MJ,{DropdownItem:PJ,DropdownMenu:$J}),VJ=SG(PJ),zJ=SG($J),jJ=Symbol("uploadContextKey"),YJ=hG({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:e=>e>=0&&e<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:Boolean,duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:String,default:"round"},textInside:Boolean,width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:[String,Array,Function],default:""},striped:Boolean,stripedFlow:Boolean,format:{type:Function,default:e=>`${e}%`}}),GJ=dS({name:"ElProgress"}),HJ=dS({...GJ,props:YJ,setup(e){const t=e,n={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},i=ij("progress"),r=ak(()=>{const e={width:`${t.percentage}%`,animationDuration:`${t.duration}s`},n=_(t.percentage);return n.includes("gradient")?e.background=n:e.backgroundColor=n,e}),s=ak(()=>(t.strokeWidth/t.width*100).toFixed(1)),o=ak(()=>["circle","dashboard"].includes(t.type)?Number.parseInt(""+(50-Number.parseFloat(s.value)/2),10):0),a=ak(()=>{const e=o.value,n="dashboard"===t.type;return`\n M 50 50\n m 0 ${n?"":"-"}${e}\n a ${e} ${e} 0 1 1 0 ${n?"-":""}${2*e}\n a ${e} ${e} 0 1 1 0 ${n?"":"-"}${2*e}\n `}),l=ak(()=>2*Math.PI*o.value),u=ak(()=>"dashboard"===t.type?.75:1),c=ak(()=>`${-1*l.value*(1-u.value)/2}px`),d=ak(()=>({strokeDasharray:`${l.value*u.value}px, ${l.value}px`,strokeDashoffset:c.value})),h=ak(()=>({strokeDasharray:`${l.value*u.value*(t.percentage/100)}px, ${l.value}px`,strokeDashoffset:c.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),p=ak(()=>{let e;return e=t.color?_(t.percentage):n[t.status]||n.default,e}),f=ak(()=>"warning"===t.status?bH:"line"===t.type?"success"===t.status?zG:HG:"success"===t.status?UG:QG),m=ak(()=>"line"===t.type?12+.4*t.strokeWidth:.111111*t.width+2),g=ak(()=>t.format(t.percentage));const _=e=>{var n;const{color:i}=t;if(Kx(i))return i(e);if(Zx(i))return i;{const t=function(e){const t=100/e.length;return e.map((e,n)=>Zx(e)?{color:e,percentage:(n+1)*t}:e).sort((e,t)=>e.percentage-t.percentage)}(i);for(const n of t)if(n.percentage>e)return n.color;return null==(n=t[t.length-1])?void 0:n.color}};return(e,t)=>(uM(),mM("div",{class:CE([CI(i).b(),CI(i).m(e.type),CI(i).is(e.status),{[CI(i).m("without-text")]:!e.showText,[CI(i).m("text-inside")]:e.textInside}]),role:"progressbar","aria-valuenow":e.percentage,"aria-valuemin":"0","aria-valuemax":"100"},["line"===e.type?(uM(),mM("div",{key:0,class:CE(CI(i).b("bar"))},[xM("div",{class:CE(CI(i).be("bar","outer")),style:EE({height:`${e.strokeWidth}px`})},[xM("div",{class:CE([CI(i).be("bar","inner"),{[CI(i).bem("bar","inner","indeterminate")]:e.indeterminate},{[CI(i).bem("bar","inner","striped")]:e.striped},{[CI(i).bem("bar","inner","striped-flow")]:e.stripedFlow}]),style:EE(CI(r))},[(e.showText||e.$slots.default)&&e.textInside?(uM(),mM("div",{key:0,class:CE(CI(i).be("bar","innerText"))},[mC(e.$slots,"default",{percentage:e.percentage},()=>[xM("span",null,GE(CI(g)),1)])],2)):OM("v-if",!0)],6)],6)],2)):(uM(),mM("div",{key:1,class:CE(CI(i).b("circle")),style:EE({height:`${e.width}px`,width:`${e.width}px`})},[(uM(),mM("svg",{viewBox:"0 0 100 100"},[xM("path",{class:CE(CI(i).be("circle","track")),d:CI(a),stroke:`var(${CI(i).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-linecap":e.strokeLinecap,"stroke-width":CI(s),fill:"none",style:EE(CI(d))},null,14,["d","stroke","stroke-linecap","stroke-width"]),xM("path",{class:CE(CI(i).be("circle","path")),d:CI(a),stroke:CI(p),fill:"none",opacity:e.percentage?1:0,"stroke-linecap":e.strokeLinecap,"stroke-width":CI(s),style:EE(CI(h))},null,14,["d","stroke","opacity","stroke-linecap","stroke-width"])]))],6)),!e.showText&&!e.$slots.default||e.textInside?OM("v-if",!0):(uM(),mM("div",{key:2,class:CE(CI(i).e("text")),style:EE({fontSize:`${CI(m)}px`})},[mC(e.$slots,"default",{percentage:e.percentage},()=>[e.status?(uM(),gM(CI(JH),{key:1},{default:LA(()=>[(uM(),gM(uC(CI(f))))]),_:1})):(uM(),mM("span",{key:0},GE(CI(g)),1))])],6))],10,["aria-valuenow"]))}});const WJ=AG(HH(HJ,[["__file","progress.vue"]]));class XJ extends Error{constructor(e,t,n,i){super(e),this.name="UploadAjaxError",this.status=t,this.method=n,this.url=i}}function qJ(e,t,n){let i;return i=n.response?`${n.response.error||n.response}`:n.responseText?`${n.responseText}`:`fail to ${t.method} ${e} ${n.status}`,new XJ(i,n.status,t.method,e)}const KJ=["text","picture","picture-card"];let ZJ=1;const QJ=()=>Date.now()+ZJ++,JJ=hG({action:{type:String,default:"#"},headers:{type:Object},method:{type:String,default:"post"},data:{type:[Object,Function,Promise],default:()=>({})},multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:Array,default:()=>[]},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:KJ,default:"text"},httpRequest:{type:Function,default:e=>{"undefined"==typeof XMLHttpRequest&&gW("ElUpload","XMLHttpRequest is undefined");const t=new XMLHttpRequest,n=e.action;t.upload&&t.upload.addEventListener("progress",t=>{const n=t;n.percent=t.total>0?t.loaded/t.total*100:0,e.onProgress(n)});const i=new FormData;if(e.data)for(const[t,n]of Object.entries(e.data))Hx(n)&&n.length?i.append(t,...n):i.append(t,n);i.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(qJ(n,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(qJ(n,e,t));e.onSuccess(function(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch(e){return t}}(t))}),t.open(e.method,n,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const r=e.headers||{};if(r instanceof Headers)r.forEach((e,n)=>t.setRequestHeader(n,e));else for(const[e,n]of Object.entries(r))VX(n)||t.setRequestHeader(e,String(n));return t.send(i),t}},disabled:Boolean,limit:Number}),e0=hG({...JJ,beforeUpload:{type:Function,default:Bx},beforeRemove:{type:Function},onRemove:{type:Function,default:Bx},onChange:{type:Function,default:Bx},onPreview:{type:Function,default:Bx},onSuccess:{type:Function,default:Bx},onProgress:{type:Function,default:Bx},onError:{type:Function,default:Bx},onExceed:{type:Function,default:Bx},crossorigin:{type:String}}),t0=hG({files:{type:Array,default:()=>[]},disabled:Boolean,handlePreview:{type:Function,default:Bx},listType:{type:String,values:KJ,default:"text"},crossorigin:{type:String}}),n0=dS({name:"ElUploadList"}),i0=dS({...n0,props:t0,emits:{remove:e=>!!e},setup(e,{emit:t}){const n=e,{t:i}=lG(),r=ij("upload"),s=ij("icon"),o=ij("list"),a=nX(),l=EI(!1),u=ak(()=>[r.b("list"),r.bm("list",n.listType),r.is("disabled",n.disabled)]),c=e=>{t("remove",e)};return(e,t)=>(uM(),gM(OR,{tag:"ul",class:CE(CI(u)),name:CI(o).b()},{default:LA(()=>[(uM(!0),mM(iM,null,pC(e.files,(t,n)=>(uM(),mM("li",{key:t.uid||t.name,class:CE([CI(r).be("list","item"),CI(r).is(t.status),{focusing:l.value}]),tabindex:"0",onKeydown:QR(e=>!CI(a)&&c(t),["delete"]),onFocus:e=>l.value=!0,onBlur:e=>l.value=!1,onClick:e=>l.value=!1},[mC(e.$slots,"default",{file:t,index:n},()=>["picture"===e.listType||"uploading"!==t.status&&"picture-card"===e.listType?(uM(),mM("img",{key:0,class:CE(CI(r).be("list","item-thumbnail")),src:t.url,crossorigin:e.crossorigin,alt:""},null,10,["src","crossorigin"])):OM("v-if",!0),"uploading"===t.status||"picture-card"!==e.listType?(uM(),mM("div",{key:1,class:CE(CI(r).be("list","item-info"))},[xM("a",{class:CE(CI(r).be("list","item-name")),onClick:KR(n=>e.handlePreview(t),["prevent"])},[EM(CI(JH),{class:CE(CI(s).m("document"))},{default:LA(()=>[EM(CI(nH))]),_:1},8,["class"]),xM("span",{class:CE(CI(r).be("list","item-file-name")),title:t.name},GE(t.name),11,["title"])],10,["onClick"]),"uploading"===t.status?(uM(),gM(CI(WJ),{key:0,type:"picture-card"===e.listType?"circle":"line","stroke-width":"picture-card"===e.listType?6:2,percentage:Number(t.percentage),style:EE("picture-card"===e.listType?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):OM("v-if",!0)],2)):OM("v-if",!0),xM("label",{class:CE(CI(r).be("list","item-status-label"))},["text"===e.listType?(uM(),gM(CI(JH),{key:0,class:CE([CI(s).m("upload-success"),CI(s).m("circle-check")])},{default:LA(()=>[EM(CI(zG))]),_:1},8,["class"])):["picture-card","picture"].includes(e.listType)?(uM(),gM(CI(JH),{key:1,class:CE([CI(s).m("upload-success"),CI(s).m("check")])},{default:LA(()=>[EM(CI(UG))]),_:1},8,["class"])):OM("v-if",!0)],2),CI(a)?OM("v-if",!0):(uM(),gM(CI(JH),{key:2,class:CE(CI(s).m("close")),onClick:e=>c(t)},{default:LA(()=>[EM(CI(QG))]),_:2},1032,["class","onClick"])),OM(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),OM(" This is a bug which needs to be fixed "),OM(" TODO: Fix the incorrect navigation interaction "),CI(a)?OM("v-if",!0):(uM(),mM("i",{key:3,class:CE(CI(s).m("close-tip"))},GE(CI(i)("el.upload.deleteTip")),3)),"picture-card"===e.listType?(uM(),mM("span",{key:4,class:CE(CI(r).be("list","item-actions"))},[xM("span",{class:CE(CI(r).be("list","item-preview")),onClick:n=>e.handlePreview(t)},[EM(CI(JH),{class:CE(CI(s).m("zoom-in"))},{default:LA(()=>[EM(CI(xH))]),_:1},8,["class"])],10,["onClick"]),CI(a)?OM("v-if",!0):(uM(),mM("span",{key:0,class:CE(CI(r).be("list","item-delete")),onClick:e=>c(t)},[EM(CI(JH),{class:CE(CI(s).m("delete"))},{default:LA(()=>[EM(CI(eH))]),_:1},8,["class"])],10,["onClick"]))],2)):OM("v-if",!0)])],42,["onKeydown","onFocus","onBlur","onClick"]))),128)),mC(e.$slots,"append")]),_:3},8,["class","name"]))}});var r0=HH(i0,[["__file","upload-list.vue"]]);const s0=function(){this.__data__=new RY,this.size=0};const o0=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n};const a0=function(e){return this.__data__.get(e)};const l0=function(e){return this.__data__.has(e)};const u0=function(e,t){var n=this.__data__;if(n instanceof RY){var i=n.__data__;if(!NY||i.length<199)return i.push([e,t]),this.size=++n.size,this;n=this.__data__=new zY(i)}return n.set(e,t),this.size=n.size,this};function c0(e){var t=this.__data__=new RY(e);this.size=t.size}c0.prototype.clear=s0,c0.prototype.delete=o0,c0.prototype.get=a0,c0.prototype.has=l0,c0.prototype.set=u0;const d0=c0;const h0=function(e,t){for(var n=-1,i=null==e?0:e.length;++na))return!1;var u=s.get(e),c=s.get(t);if(u&&c)return u==t&&c==e;var d=-1,h=!0,p=2&n?new n2:void 0;for(s.set(e,t),s.set(t,e);++dHx(e)},x2="ElUploadDrag",E2=dS({name:x2}),w2=dS({...E2,props:b2,emits:T2,setup(e,{emit:t}){tO(jJ)||gW(x2,"usage: ");const n=ij("upload"),i=EI(!1),r=nX(),s=e=>{if(r.value)return;i.value=!1,e.stopPropagation();const n=Array.from(e.dataTransfer.files),s=e.dataTransfer.items||[];n.forEach((e,t)=>{var n;const i=s[t],r=null==(n=null==i?void 0:i.webkitGetAsEntry)?void 0:n.call(i);r&&(e.isDirectory=r.isDirectory)}),t("file",n)},o=()=>{r.value||(i.value=!0)},a=e=>{e.currentTarget.contains(e.relatedTarget)||(i.value=!1)};return(e,t)=>(uM(),mM("div",{class:CE([CI(n).b("dragger"),CI(n).is("dragover",i.value)]),onDrop:KR(s,["prevent"]),onDragover:KR(o,["prevent"]),onDragleave:KR(a,["prevent"])},[mC(e.$slots,"default")],42,["onDrop","onDragover","onDragleave"]))}});var I2=HH(w2,[["__file","upload-dragger.vue"]]);const A2=hG({...JJ,beforeUpload:{type:Function,default:Bx},onRemove:{type:Function,default:Bx},onStart:{type:Function,default:Bx},onSuccess:{type:Function,default:Bx},onProgress:{type:Function,default:Bx},onError:{type:Function,default:Bx},onExceed:{type:Function,default:Bx}}),S2=dS({name:"ElUploadContent",inheritAttrs:!1}),C2=dS({...S2,props:A2,setup(e,{expose:t}){const n=e,i=ij("upload"),r=nX(),s=wI({}),o=wI(),a=e=>{if(0===e.length)return;const{autoUpload:t,limit:i,fileList:r,multiple:s,onStart:o,onExceed:a}=n;if(i&&r.length+e.length>i)a(e,r);else{s||(e=e.slice(0,1));for(const n of e){const e=n;e.uid=QJ(),o(e),t&&l(e)}}},l=async e=>{if(o.value.value="",!n.beforeUpload)return u(e);let t,i={};try{const r=n.data,s=n.beforeUpload(e);i=rE(n.data)?Q1(n.data):n.data,t=await s,rE(n.data)&&v2(r,i)&&(i=Q1(n.data))}catch(e){t=!1}if(!1===t)return void n.onRemove(e);let r=e;t instanceof Blob&&(r=t instanceof File?t:new File([t],e.name,{type:e.type})),u(Object.assign(r,{uid:e.uid}),i)},u=async(e,t)=>{const{headers:i,data:r,method:o,withCredentials:a,name:l,action:u,onProgress:c,onSuccess:d,onError:h,httpRequest:p}=n;try{t=await(async(e,t)=>Kx(e)?e(t):e)(null!=t?t:r,e)}catch(t){return void n.onRemove(e)}const{uid:f}=e,m={headers:i||{},withCredentials:a,file:e,data:t,method:o,filename:l,action:u,onProgress:t=>{c(t,e)},onSuccess:t=>{d(t,e),delete s.value[f]},onError:t=>{h(t,e),delete s.value[f]}},g=p(m);s.value[f]=g,g instanceof Promise&&g.then(m.onSuccess,m.onError)},c=e=>{const t=e.target.files;t&&a(Array.from(t))},d=()=>{r.value||(o.value.value="",o.value.click())},h=()=>{d()};return t({abort:e=>{const t=(n=s.value,Object.entries(n)).filter(e?([t])=>String(e.uid)===t:()=>!0);var n;t.forEach(([e,t])=>{t instanceof XMLHttpRequest&&t.abort(),delete s.value[e]})},upload:l}),(e,t)=>(uM(),mM("div",{class:CE([CI(i).b(),CI(i).m(e.listType),CI(i).is("drag",e.drag),CI(i).is("disabled",CI(r))]),tabindex:CI(r)?"-1":"0",onClick:d,onKeydown:QR(KR(h,["self"]),["enter","space"])},[e.drag?(uM(),gM(I2,{key:0,disabled:CI(r),onFile:a},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["disabled"])):mC(e.$slots,"default",{key:1}),xM("input",{ref_key:"inputRef",ref:o,class:CE(CI(i).e("input")),name:e.name,disabled:CI(r),multiple:e.multiple,accept:e.accept,type:"file",onChange:c,onClick:KR(()=>{},["stop"])},null,42,["name","disabled","multiple","accept","onClick"])],42,["tabindex","onKeydown"]))}});var O2=HH(C2,[["__file","upload-content.vue"]]);const M2="ElUpload",k2=e=>{var t;(null==(t=e.url)?void 0:t.startsWith("blob:"))&&URL.revokeObjectURL(e.url)},R2=(e,t)=>{const n=YH(e,"fileList",void 0,{passive:!0}),i=e=>n.value.find(t=>t.uid===e.uid);function r(e){var n;null==(n=t.value)||n.abort(e)}function s(e){n.value=n.value.filter(t=>t.uid!==e.uid)}return DO(()=>e.listType,t=>{"picture-card"!==t&&"picture"!==t||(n.value=n.value.map(t=>{const{raw:i,url:r}=t;if(!r&&i)try{t.url=URL.createObjectURL(i)}catch(i){e.onError(i,t,n.value)}return t}))}),DO(n,e=>{for(const t of e)t.uid||(t.uid=QJ()),t.status||(t.status="success")},{immediate:!0,deep:!0}),{uploadFiles:n,abort:r,clearFiles:function(e=["ready","uploading","success","fail"]){n.value=n.value.filter(t=>!e.includes(t.status))},handleError:(t,r)=>{const o=i(r);o&&(console.error(t),o.status="fail",s(o),e.onError(t,o,n.value),e.onChange(o,n.value))},handleProgress:(t,r)=>{const s=i(r);s&&(e.onProgress(t,s,n.value),s.status="uploading",s.percentage=Math.round(t.percent))},handleStart:t=>{VX(t.uid)&&(t.uid=QJ());const i={name:t.name,percentage:0,status:"ready",size:t.size,raw:t,uid:t.uid};if("picture-card"===e.listType||"picture"===e.listType)try{i.url=URL.createObjectURL(t)}catch(t){t.message,e.onError(t,i,n.value)}n.value=[...n.value,i],e.onChange(i,n.value)},handleSuccess:(t,r)=>{const s=i(r);s&&(s.status="success",s.response=t,e.onSuccess(t,s,n.value),e.onChange(s,n.value))},handleRemove:async t=>{const o=t instanceof File?i(t):t;o||gW(M2,"file to be removed not found");const a=t=>{r(t),s(t),e.onRemove(t,n.value),k2(t)};if(e.beforeRemove){!1!==await e.beforeRemove(o,n.value)&&a(o)}else a(o)},submit:function(){n.value.filter(({status:e})=>"ready"===e).forEach(({raw:e})=>{var n;return e&&(null==(n=t.value)?void 0:n.upload(e))})},revokeFileObjectURL:k2}},N2=dS({name:"ElUpload"}),D2=dS({...N2,props:e0,setup(e,{expose:t}){const n=e,i=nX(),r=wI(),{abort:s,submit:o,clearFiles:a,uploadFiles:l,handleStart:u,handleError:c,handleRemove:d,handleSuccess:h,handleProgress:p,revokeFileObjectURL:f}=R2(n,r),m=ak(()=>"picture-card"===n.listType),g=ak(()=>({...n,fileList:l.value,onStart:u,onProgress:p,onSuccess:h,onError:c,onRemove:d}));return JS(()=>{l.value.forEach(f)}),eO(jJ,{accept:PI(n,"accept")}),t({abort:s,submit:o,clearFiles:a,handleStart:u,handleRemove:d}),(e,t)=>(uM(),mM("div",null,[CI(m)&&e.showFileList?(uM(),gM(r0,{key:0,disabled:CI(i),"list-type":e.listType,files:CI(l),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:CI(d)},fC({append:LA(()=>[EM(O2,NM({ref_key:"uploadRef",ref:r},CI(g)),{default:LA(()=>[e.$slots.trigger?mC(e.$slots,"trigger",{key:0}):OM("v-if",!0),!e.$slots.trigger&&e.$slots.default?mC(e.$slots,"default",{key:1}):OM("v-if",!0)]),_:3},16)]),_:2},[e.$slots.file?{name:"default",fn:LA(({file:t,index:n})=>[mC(e.$slots,"file",{file:t,index:n})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):OM("v-if",!0),!CI(m)||CI(m)&&!e.showFileList?(uM(),gM(O2,NM({key:1,ref_key:"uploadRef",ref:r},CI(g)),{default:LA(()=>[e.$slots.trigger?mC(e.$slots,"trigger",{key:0}):OM("v-if",!0),!e.$slots.trigger&&e.$slots.default?mC(e.$slots,"default",{key:1}):OM("v-if",!0)]),_:3},16)):OM("v-if",!0),e.$slots.trigger?mC(e.$slots,"default",{key:2}):OM("v-if",!0),mC(e.$slots,"tip"),!CI(m)&&e.showFileList?(uM(),gM(r0,{key:3,disabled:CI(i),"list-type":e.listType,files:CI(l),crossorigin:e.crossorigin,"handle-preview":e.onPreview,onRemove:CI(d)},fC({_:2},[e.$slots.file?{name:"default",fn:LA(({file:t,index:n})=>[mC(e.$slots,"file",{file:t,index:n})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):OM("v-if",!0)]))}});const F2=AG(HH(D2,[["__file","upload.vue"]]));const L2=function(){return Fj.Date.now()};var P2=/\s/;const B2=function(e){for(var t=e.length;t--&&P2.test(e.charAt(t)););return t};var $2=/^\s+/;const U2=function(e){return e?e.slice(0,B2(e)+1).replace($2,""):e};var V2=/^[-+]0x[0-9a-f]+$/i,z2=/^0b[01]+$/i,j2=/^0o[0-7]+$/i,Y2=parseInt;const G2=function(e){if("number"==typeof e)return e;if(Wj(e))return NaN;if(Zj(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Zj(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=U2(e);var n=z2.test(e);return n||j2.test(e)?Y2(e.slice(2),n?2:8):V2.test(e)?NaN:+e};var H2=Math.max,W2=Math.min;const X2=function(e,t,n){var i,r,s,o,a,l,u=0,c=!1,d=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function p(t){var n=i,s=r;return i=r=void 0,u=t,o=e.apply(s,n)}function f(e){var n=e-l;return void 0===l||n>=t||n<0||d&&e-u>=s}function m(){var e=L2();if(f(e))return g(e);a=setTimeout(m,function(e){var n=t-(e-l);return d?W2(n,s-(e-u)):n}(e))}function g(e){return a=void 0,h&&i?p(e):(i=r=void 0,o)}function _(){var e=L2(),n=f(e);if(i=arguments,r=this,l=e,n){if(void 0===a)return function(e){return u=e,a=setTimeout(m,t),c?p(e):o}(l);if(d)return clearTimeout(a),a=setTimeout(m,t),p(l)}return void 0===a&&(a=setTimeout(m,t)),o}return t=G2(t)||0,Zj(n)&&(c=!!n.leading,s=(d="maxWait"in n)?H2(G2(n.maxWait)||0,t):s,h="trailing"in n?!!n.trailing:h),_.cancel=function(){void 0!==a&&clearTimeout(a),u=0,i=l=r=a=void 0},_.flush=function(){return void 0===a?o:g(L2())},_};const q2=function(e,t,n){var i=!0,r=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return Zj(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),X2(e,t,{leading:i,maxWait:t,trailing:r})},K2=hG({urlList:{type:Array,default:()=>[]},zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},hideOnClickModal:Boolean,teleported:Boolean,closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:String}}),Z2={close:()=>!0,error:e=>e instanceof Event,switch:e=>oj(e),rotate:e=>oj(e)},Q2=dS({name:"ElImageViewer"}),J2=dS({...Q2,props:K2,emits:Z2,setup(e,{expose:t,emit:n}){var i;const r=e,s={CONTAIN:{name:"contain",icon:vI(oH)},ORIGINAL:{name:"original",icon:vI(_H)}};let o,a="";const{t:l}=lG(),u=ij("image-viewer"),{nextZIndex:c}=kj(),d=EI(),h=EI(),p=ZE(),f=ak(()=>{const{scale:e,minScale:t,maxScale:n}=r;return((e,t,n)=>Math.min(n,Math.max(t,e)))(e,t,n)}),m=EI(!0),g=EI(!1),_=EI(r.initialIndex),y=wI(s.CONTAIN),v=EI({scale:f.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}),b=EI(null!=(i=r.zIndex)?i:c()),T=ak(()=>{const{urlList:e}=r;return e.length<=1}),x=ak(()=>0===_.value),E=ak(()=>_.value===r.urlList.length-1),w=ak(()=>r.urlList[_.value]),I=ak(()=>[u.e("btn"),u.e("prev"),u.is("disabled",!r.infinite&&x.value)]),A=ak(()=>[u.e("btn"),u.e("next"),u.is("disabled",!r.infinite&&E.value)]),S=ak(()=>{const{scale:e,deg:t,offsetX:n,offsetY:i,enableTransition:r}=v.value;let o=n/e,a=i/e;const l=t*Math.PI/180,u=Math.cos(l),c=Math.sin(l);o=o*u+a*c,a=a*u-n/e*c;const d={transform:`scale(${e}) rotate(${t}deg) translate(${o}px, ${a}px)`,transition:r?"transform .3s":""};return y.value.name===s.CONTAIN.name&&(d.maxWidth=d.maxHeight="100%"),d}),C=ak(()=>`${_.value+1} / ${r.urlList.length}`);function O(){p.stop(),null==o||o(),document.body.style.overflow=a,n("close")}function M(){m.value=!1}function k(e){g.value=!0,m.value=!1,n("error",e),e.target.alt=l("el.image.error")}function R(e){if(m.value||0!==e.button||!d.value)return;v.value.enableTransition=!1;const{offsetX:t,offsetY:n}=v.value,i=e.pageX,r=e.pageY,s=q2(e=>{v.value={...v.value,offsetX:t+e.pageX-i,offsetY:n+e.pageY-r}}),o=AH(document,"mousemove",s);AH(document,"mouseup",()=>{o()}),e.preventDefault()}function N(){v.value={scale:f.value,deg:0,offsetX:0,offsetY:0,enableTransition:!1}}function D(){if(m.value||g.value)return;const e=yG(s),t=Object.values(s),n=y.value.name,i=(t.findIndex(e=>e.name===n)+1)%e.length;y.value=s[e[i]],N()}function F(e){g.value=!1;const t=r.urlList.length;_.value=(e+t)%t}function L(){x.value&&!r.infinite||F(_.value-1)}function P(){E.value&&!r.infinite||F(_.value+1)}function B(e,t={}){if(m.value||g.value)return;const{minScale:i,maxScale:s}=r,{zoomRate:o,rotateDeg:a,enableTransition:l}={zoomRate:r.zoomRate,rotateDeg:90,enableTransition:!0,...t};switch(e){case"zoomOut":v.value.scale>i&&(v.value.scale=Number.parseFloat((v.value.scale/o).toFixed(3)));break;case"zoomIn":v.value.scale0?(e.preventDefault(),!1):void 0}return DO(()=>f.value,e=>{v.value.scale=e}),DO(w,()=>{hA(()=>{const e=h.value;(null==e?void 0:e.complete)||(m.value=!0)})}),DO(_,e=>{N(),n("switch",e)}),KS(()=>{!function(){const e=q2(e=>{switch(e.code){case dW.esc:r.closeOnPressEscape&&O();break;case dW.space:D();break;case dW.left:L();break;case dW.up:B("zoomIn");break;case dW.right:P();break;case dW.down:B("zoomOut")}}),t=q2(e=>{B((e.deltaY||e.deltaX)<0?"zoomIn":"zoomOut",{zoomRate:r.zoomRate,enableTransition:!1})});p.run(()=>{AH(document,"keydown",e),AH(document,"wheel",t)})}(),o=AH("wheel",V,{passive:!1}),a=document.body.style.overflow,document.body.style.overflow="hidden"}),t({setActiveItem:F}),(e,t)=>(uM(),gM(CI(XZ),{to:"body",disabled:!e.teleported},{default:LA(()=>[EM(Rk,{name:"viewer-fade",appear:""},{default:LA(()=>[xM("div",{ref_key:"wrapper",ref:d,tabindex:-1,class:CE(CI(u).e("wrapper")),style:EE({zIndex:b.value})},[EM(CI(TQ),{loop:"",trapped:"","focus-trap-el":d.value,"focus-start-el":"container",onFocusoutPrevented:$,onReleaseRequested:U},{default:LA(()=>[xM("div",{class:CE(CI(u).e("mask")),onClick:KR(t=>e.hideOnClickModal&&O(),["self"])},null,10,["onClick"]),OM(" CLOSE "),xM("span",{class:CE([CI(u).e("btn"),CI(u).e("close")]),onClick:O},[EM(CI(JH),null,{default:LA(()=>[EM(CI(QG))]),_:1})],2),OM(" ARROW "),CI(T)?OM("v-if",!0):(uM(),mM(iM,{key:0},[xM("span",{class:CE(CI(I)),onClick:L},[EM(CI(JH),null,{default:LA(()=>[EM(CI(RG))]),_:1})],2),xM("span",{class:CE(CI(A)),onClick:P},[EM(CI(JH),null,{default:LA(()=>[EM(CI(DG))]),_:1})],2)],64)),e.$slots.progress||e.showProgress?(uM(),mM("div",{key:1,class:CE([CI(u).e("btn"),CI(u).e("progress")])},[mC(e.$slots,"progress",{activeIndex:_.value,total:e.urlList.length},()=>[SM(GE(CI(C)),1)])],2)):OM("v-if",!0),OM(" ACTIONS "),xM("div",{class:CE([CI(u).e("btn"),CI(u).e("actions")])},[xM("div",{class:CE(CI(u).e("actions__inner"))},[mC(e.$slots,"toolbar",{actions:B,prev:L,next:P,reset:D,activeIndex:_.value,setActiveItem:F},()=>[EM(CI(JH),{onClick:e=>B("zoomOut")},{default:LA(()=>[EM(CI(EH))]),_:1},8,["onClick"]),EM(CI(JH),{onClick:e=>B("zoomIn")},{default:LA(()=>[EM(CI(xH))]),_:1},8,["onClick"]),xM("i",{class:CE(CI(u).e("actions__divider"))},null,2),EM(CI(JH),{onClick:D},{default:LA(()=>[(uM(),gM(uC(CI(y).icon)))]),_:1}),xM("i",{class:CE(CI(u).e("actions__divider"))},null,2),EM(CI(JH),{onClick:e=>B("anticlockwise")},{default:LA(()=>[EM(CI(mH))]),_:1},8,["onClick"]),EM(CI(JH),{onClick:e=>B("clockwise")},{default:LA(()=>[EM(CI(gH))]),_:1},8,["onClick"])])],2)],2),OM(" CANVAS "),xM("div",{class:CE(CI(u).e("canvas"))},[g.value&&e.$slots["viewer-error"]?mC(e.$slots,"viewer-error",{key:0,activeIndex:_.value,src:CI(w)}):(uM(),mM("img",{ref_key:"imgRef",ref:h,key:CI(w),src:CI(w),style:EE(CI(S)),class:CE(CI(u).e("img")),crossorigin:e.crossorigin,onLoad:M,onError:k,onMousedown:R},null,46,["src","crossorigin"]))],2),mC(e.$slots,"default")]),_:3},8,["focus-trap-el"])],6)]),_:3})]),_:3},8,["disabled"]))}});const e3=AG(HH(J2,[["__file","image-viewer.vue"]])),t3=hG({hideOnClickModal:Boolean,src:{type:String,default:""},fit:{type:String,values:["","contain","cover","fill","none","scale-down"],default:""},loading:{type:String,values:["eager","lazy"]},lazy:Boolean,scrollContainer:{type:[String,Object]},previewSrcList:{type:Array,default:()=>[]},previewTeleported:Boolean,zIndex:{type:Number},initialIndex:{type:Number,default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{type:Number,default:1.2},scale:{type:Number,default:1},minScale:{type:Number,default:.2},maxScale:{type:Number,default:7},showProgress:Boolean,crossorigin:{type:String}}),n3={load:e=>e instanceof Event,error:e=>e instanceof Event,switch:e=>oj(e),close:()=>!0,show:()=>!0},i3=(e,t)=>{if(!_j)return!1;const n=((e,t)=>{var n;if(!_j||!e||!t)return"";let i=cE(t);"float"===i&&(i="cssFloat");try{const t=e.style[i];if(t)return t;const r=null==(n=document.defaultView)?void 0:n.getComputedStyle(e,"");return r?r[i]:""}catch(t){return e.style[i]}})(e,{undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)]);return["scroll","auto","overlay"].some(e=>n.includes(e))};const r3=dS({name:"ElImage",inheritAttrs:!1}),s3=dS({...r3,props:t3,emits:n3,setup(e,{expose:t,emit:n}){const i=e,{t:r}=lG(),s=ij("image"),o=kC(),a=ak(()=>uG(Object.entries(o).filter(([e])=>/^(data-|on[A-Z])/i.test(e)||["id","style"].includes(e)))),l=Pq({excludeListeners:!0,excludeKeys:ak(()=>Object.keys(a.value))}),u=EI(),c=EI(!1),d=EI(!0),h=EI(!1),p=EI(),f=EI(),m=_j&&"loading"in HTMLImageElement.prototype;let g;const _=ak(()=>[s.e("inner"),v.value&&s.e("preview"),d.value&&s.is("loading")]),y=ak(()=>{const{fit:e}=i;return _j&&e?{objectFit:e}:{}}),v=ak(()=>{const{previewSrcList:e}=i;return Hx(e)&&e.length>0}),b=ak(()=>{const{previewSrcList:e,initialIndex:t}=i;let n=t;return t>e.length-1&&(n=0),n}),T=ak(()=>"eager"!==i.loading&&(!m&&"lazy"===i.loading||i.lazy)),x=()=>{_j&&(d.value=!0,c.value=!1,u.value=i.src)};function E(e){d.value=!1,c.value=!1,n("load",e)}function w(e){d.value=!1,c.value=!0,n("error",e)}const I=Ij(function(e){e&&(x(),S())},200,!0);async function A(){var e;if(!_j)return;await hA();const{scrollContainer:t}=i;if(aj(t))f.value=t;else if(Zx(t)&&""!==t)f.value=null!=(e=document.querySelector(t))?e:void 0;else if(p.value){const e=((e,t)=>{if(!_j)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(i3(n,t))return n;n=n.parentNode}return n})(p.value);f.value=e===window?void 0:e}const{stop:n}=function(e,t,n={}){const{root:i,rootMargin:r="0px",threshold:s=.1,window:o=IH}=n,a=CH(()=>o&&"IntersectionObserver"in o);let l=vj;const u=a.value?DO(()=>({el:wH(e),root:wH(i)}),({el:e,root:n})=>{if(l(),!e)return;const i=new IntersectionObserver(t,{root:n,rootMargin:r,threshold:s});i.observe(e),l=()=>{i.disconnect(),l=vj}},{immediate:!0,flush:"post"}):vj,c=()=>{l(),u()};return wj(c),{isSupported:a,stop:c}}(p,([e])=>{I(e.isIntersecting)},{root:f});g=n}function S(){_j&&I&&(null==g||g(),f.value=void 0,g=void 0)}function C(){v.value&&(h.value=!0,n("show"))}function O(){h.value=!1,n("close")}function M(e){n("switch",e)}return DO(()=>i.src,()=>{T.value?(d.value=!0,c.value=!1,S(),A()):x()}),KS(()=>{T.value?A():x()}),t({showPreview:C}),(e,t)=>(uM(),mM("div",NM({ref_key:"container",ref:p},CI(a),{class:[CI(s).b(),e.$attrs.class]}),[c.value?mC(e.$slots,"error",{key:0},()=>[xM("div",{class:CE(CI(s).e("error"))},GE(CI(r)("el.image.error")),3)]):(uM(),mM(iM,{key:1},[void 0!==u.value?(uM(),mM("img",NM({key:0},CI(l),{src:u.value,loading:e.loading,style:CI(y),class:CI(_),crossorigin:e.crossorigin,onClick:C,onLoad:E,onError:w}),null,16,["src","loading","crossorigin"])):OM("v-if",!0),d.value?(uM(),mM("div",{key:1,class:CE(CI(s).e("wrapper"))},[mC(e.$slots,"placeholder",{},()=>[xM("div",{class:CE(CI(s).e("placeholder"))},null,2)])],2)):OM("v-if",!0)],64)),CI(v)?(uM(),mM(iM,{key:2},[h.value?(uM(),gM(CI(e3),{key:0,"z-index":e.zIndex,"initial-index":CI(b),infinite:e.infinite,"zoom-rate":e.zoomRate,"min-scale":e.minScale,"max-scale":e.maxScale,"show-progress":e.showProgress,"url-list":e.previewSrcList,scale:e.scale,crossorigin:e.crossorigin,"hide-on-click-modal":e.hideOnClickModal,teleported:e.previewTeleported,"close-on-press-escape":e.closeOnPressEscape,onClose:O,onSwitch:M},fC({toolbar:LA(t=>[mC(e.$slots,"toolbar",OE(IM(t)))]),default:LA(()=>[e.$slots.viewer?(uM(),mM("div",{key:0},[mC(e.$slots,"viewer")])):OM("v-if",!0)]),_:2},[e.$slots.progress?{name:"progress",fn:LA(t=>[mC(e.$slots,"progress",OE(IM(t)))])}:void 0,e.$slots["viewer-error"]?{name:"viewer-error",fn:LA(t=>[mC(e.$slots,"viewer-error",OE(IM(t)))])}:void 0]),1032,["z-index","initial-index","infinite","zoom-rate","min-scale","max-scale","show-progress","url-list","scale","crossorigin","hide-on-click-modal","teleported","close-on-press-escape"])):OM("v-if",!0)],64)):OM("v-if",!0)],16))}});const o3=AG(HH(s3,[["__file","image.vue"]])),a3={class:"card-header"},l3={key:0,class:"disabled-tag",style:{color:"#f56c6c","margin-left":"8px","font-size":"13px"}},u3={class:"el-dropdown-link"},c3={class:"card-content",style:{"flex-direction":"column",display:"flex"}},d3={class:"card-content-info"},h3={style:{display:"flex",gap:"4px"}},p3={__name:"ClassBox",props:{title:{type:String,default:"类别"},picList:{type:Array,default:()=>[]},disabled:{type:Boolean,default:!1}},emits:["add-sample","delete-sample","rename-class","delete-class","disable-class","clear-samples"],setup(e,{emit:t}){const n=e,i=t,r=EI(n.title),s=EI(!1),o=EI(r.value),a=EI(null),l=EI(null);function u(){s.value||(s.value=!0,o.value=r.value,hA(()=>{a.value&&a.value.input&&a.value.input.select()}))}function c(){o.value.trim()&&(r.value=o.value.trim(),i("rename-class",r.value)),s.value=!1}function d(){i("add-sample")}function h(){d(),l.value=setInterval(()=>{d()},200)}function p(){l.value&&(clearInterval(l.value),l.value=null)}function f(){i("delete-class")}function m(){i("disable-class")}function g(){i("clear-samples")}function _(){const e=new(UX());n.picList.forEach((t,n)=>{const i=t.split(",")[1];e.file(`sample_${n+1}.png`,i,{base64:!0})}),e.generateAsync({type:"blob"}).then(e=>{(0,BX.saveAs)(e,"samples.zip")})}function y(e){return new Promise((t,n)=>{if("application/zip"===e.type||e.name.endsWith(".zip")){const r=new(UX());r.loadAsync(e).then(e=>{const n=Object.values(e.files).filter(e=>!e.dir&&e.name.match(/\.(png|jpg|jpeg|gif|bmp)$/i));Promise.all(n.map(e=>r.file(e.name).async("blob").then(t=>{const n=new File([t],e.name,{type:t.type}),i=new FileReader;return i.readAsDataURL(n),new Promise(e=>i.onload=e)}))).then(e=>{e.forEach(e=>i("add-sample",e.target.result)),t(!1)})}).catch(n)}else{const r=new FileReader;r.onload=e=>{i("add-sample",e.target.result),t(!1)},r.onerror=n,r.readAsDataURL(e)}})}return DO(()=>n.title,e=>{r.value=e}),(e,t)=>(uM(),gM(CI(PX),{class:"class-box"},{header:LA(()=>[xM("div",a3,[xM("span",{class:"card-header-title",style:{cursor:"pointer"},onClick:u},[s.value?(uM(),gM(CI(jq),{key:1,ref_key:"inputRef",ref:a,modelValue:o.value,"onUpdate:modelValue":t[0]||(t[0]=e=>o.value=e),style:{width:"120px"},onKeyup:QR(c,["enter"]),onBlur:c},null,8,["modelValue"])):(uM(),mM(iM,{key:0},[SM(GE(r.value)+" ",1),EM(CI(JH),{onClick:KR(u,["stop"])},{default:LA(()=>[EM(CI(rH))]),_:1}),n.disabled?(uM(),mM("span",l3," 禁用 ")):OM("v-if",!0)],64))]),EM(CI(UJ),{class:"card-header-title"},{dropdown:LA(()=>[EM(CI(zJ),{class:"class-box-dropdown"},{default:LA(()=>[EM(CI(VJ),{class:"class-box-dropdown-item",onClick:f},{default:LA(()=>t[1]||(t[1]=[xM("span",{style:{color:"#f56c6c"}},"删除类别",-1)])),_:1}),EM(CI(VJ),{class:"class-box-dropdown-item",onClick:m},{default:LA(()=>[SM(GE(n.disabled?"启用":"禁用")+"类别 ",1)]),_:1}),EM(CI(VJ),{class:"class-box-dropdown-item",disabled:0===n.picList.length,onClick:g},{default:LA(()=>t[2]||(t[2]=[SM(" 清空样本 ")])),_:1},8,["disabled"]),EM(CI(VJ),{class:"class-box-dropdown-item",disabled:0===n.picList.length,onClick:_},{default:LA(()=>t[3]||(t[3]=[SM(" 导出样本 ")])),_:1},8,["disabled"])]),_:1})]),default:LA(()=>[xM("span",u3,[EM(CI(JH),null,{default:LA(()=>[EM(CI(fH))]),_:1})])]),_:1})])]),default:LA(()=>[xM("div",c3,[xM("div",d3,[SM(" 图像样本 "+GE(n.picList.length)+" ",1),xM("div",h3,[EM(CI(NX),{type:"primary",size:"small",disabled:n.disabled,onMousedown:h,onMouseup:p,onMouseleave:p},{default:LA(()=>[t[4]||(t[4]=SM(" 拍摄样本 ")),EM(CI(JH),null,{default:LA(()=>[EM(CI(BG))]),_:1})]),_:1},8,["disabled"]),EM(CI(F2),{"show-file-list":!1,"before-upload":y,accept:"image/*,.zip",disabled:n.disabled},{default:LA(()=>[EM(CI(NX),{plain:"",type:"primary",size:"small",disabled:n.disabled},{default:LA(()=>[t[5]||(t[5]=SM(" 上传样本 ")),EM(CI(JH),null,{default:LA(()=>[EM(CI(KG))]),_:1})]),_:1},8,["disabled"])]),_:1},8,["disabled"])])]),EM(OR,{name:"fade",tag:"div",class:"card-content-img"},{default:LA(()=>[(uM(!0),mM(iM,null,pC(n.picList.slice().reverse(),e=>(uM(),mM("div",{key:e,class:"card-content-img-wrapper",style:{position:"relative",display:"inline-block"}},[EM(CI(o3),{src:e,class:CE(["card-content-img-item",{"img-disabled":n.disabled}])},null,8,["src","class"]),EM(CI(JH),{class:"delete-icon",onClick:t=>function(e){i("delete-sample",e)}(e)},{default:LA(()=>[EM(CI(eH))]),_:2},1032,["onClick"])]))),128))]),_:1})])]),_:1}))}},f3=p3,m3={class:"camera-box"},g3={__name:"CameraBox",setup(e,{expose:t}){const n=EI(null),i=tO("shotList");return KS(()=>{navigator.mediaDevices.getUserMedia({video:!0}).then(e=>{n.value&&(n.value.srcObject=e)}).catch(e=>{console.error("无法访问摄像头:",e)})}),t({captureShot:function(){const e=n.value;if(!e)return;const t=e.videoWidth,r=e.videoHeight;let s=0,o=0,a=t,l=r;t>r?(s=(t-r)/2,a=r):r>t&&(o=(r-t)/2,l=t);const u=Math.min(a,l),c=document.createElement("canvas");return c.width=u,c.height=u,c.getContext("2d").drawImage(e,s,o,u,u,0,0,u,u),i.value.push(c.toDataURL("image/png")),c.toDataURL("image/png")}}),(e,t)=>(uM(),mM("div",m3,[xM("video",{id:"webcam",ref_key:"videoRef",ref:n,class:"video-crop",autoplay:"",playsinline:"",muted:"",height:"100%",width:"100%"},null,512)]))}};var _3=__webpack_require__(66262);const y3=(0,_3.A)(g3,[["__scopeId","data-v-da91b390"]]);var v3=__webpack_require__(15838),b3=__webpack_require__(15441),T3=__webpack_require__(29809),x3=__webpack_require__(9258),E3=__webpack_require__(10700); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10174,7 +10174,7 @@ var EG=sS({name:"ArrowDown",__name:"arrow-down",setup:e=>(e,t)=>(iM(),uM("svg",{ * limitations under the License. * ============================================================================= */ -const y3={kernelName:f3.ljI,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)(e,(0,_3.P)((0,m3.w)(n,"float32"),-1))}}};var v3=__webpack_require__(89359),b3=__webpack_require__(96522),T3=__webpack_require__(45702),x3=__webpack_require__(79348),E3=__webpack_require__(45793),w3=__webpack_require__(77126); +const w3={kernelName:b3.ljI,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)(e,(0,E3.P)((0,T3.w)(n,"float32"),-1))}}};var I3=__webpack_require__(89359),A3=__webpack_require__(96522),S3=__webpack_require__(45702),C3=__webpack_require__(79348),O3=__webpack_require__(45793),M3=__webpack_require__(77126); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10191,7 +10191,7 @@ const y3={kernelName:f3.ljI,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const I3={kernelName:f3.Vvy,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=(0,E3.E)((0,m3.w)(n,"float32")),i=(0,x3.R)((0,w3.j)((0,T3.d)(1),t));return(0,b3.H)((0,v3.y)(e,i))}}}},A3={kernelName:f3.PH8,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=(0,x3.R)((0,w3.j)((0,E3.E)((0,m3.w)(n,"float32")),1));return(0,v3.y)(e,t)}}}};var S3=__webpack_require__(62198),C3=__webpack_require__(62302),O3=__webpack_require__(83791); +const k3={kernelName:b3.Vvy,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=(0,O3.E)((0,T3.w)(n,"float32")),i=(0,C3.R)((0,M3.j)((0,S3.d)(1),t));return(0,A3.H)((0,I3.y)(e,i))}}}},R3={kernelName:b3.PH8,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=(0,C3.R)((0,M3.j)((0,O3.E)((0,T3.w)(n,"float32")),1));return(0,I3.y)(e,t)}}}};var N3=__webpack_require__(62198),D3=__webpack_require__(62302),F3=__webpack_require__(83791); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10208,7 +10208,7 @@ const I3={kernelName:f3.Vvy,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const M3={kernelName:f3.OMN,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=S3.assertAndGetBroadcastShape(n.shape,i.shape);return{a:()=>{let t=e;const i=S3.getReductionAxes(n.shape,r);return i.length>0&&(t=(0,O3.c)(t,i)),(0,C3.t)(t,n.shape)},b:()=>{let t=e;const n=S3.getReductionAxes(i.shape,r);return n.length>0&&(t=(0,O3.c)(t,n)),(0,C3.t)(t,i.shape)}}}},k3={kernelName:f3.EkD,saveAllInputs:!0,gradFunc:(e,t)=>{const n={};return t.forEach((t,i)=>{n[i]=()=>e.clone()}),n}};var R3=__webpack_require__(55537); +const L3={kernelName:b3.OMN,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=N3.assertAndGetBroadcastShape(n.shape,i.shape);return{a:()=>{let t=e;const i=N3.getReductionAxes(n.shape,r);return i.length>0&&(t=(0,F3.c)(t,i)),(0,D3.t)(t,n.shape)},b:()=>{let t=e;const n=N3.getReductionAxes(i.shape,r);return n.length>0&&(t=(0,F3.c)(t,n)),(0,D3.t)(t,i.shape)}}}},P3={kernelName:b3.EkD,saveAllInputs:!0,gradFunc:(e,t)=>{const n={};return t.forEach((t,i)=>{n[i]=()=>e.clone()}),n}};var B3=__webpack_require__(55537); /** * @license * Copyright 2020 Google Inc. All Rights Reserved. @@ -10225,7 +10225,7 @@ const M3={kernelName:f3.OMN,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t * limitations under the License. * ============================================================================= */ -const N3={kernelName:f3.Jp_,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,R3.P)(n)}}},D3={kernelName:f3.p_m,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,R3.P)(n)}}},F3={kernelName:f3.QKF,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,v3.y)(e,(0,x3.R)((0,w3.j)((0,T3.d)(1),(0,E3.E)((0,m3.w)(n,"float32")))))}}};var L3=__webpack_require__(37523); +const $3={kernelName:b3.Jp_,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,B3.P)(n)}}},U3={kernelName:b3.p_m,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,B3.P)(n)}}},V3={kernelName:b3.QKF,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,I3.y)(e,(0,C3.R)((0,M3.j)((0,S3.d)(1),(0,O3.E)((0,T3.w)(n,"float32")))))}}};var z3=__webpack_require__(37523); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10242,7 +10242,7 @@ const N3={kernelName:f3.Jp_,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const P3={kernelName:f3.epO,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=(0,x3.R)((0,L3.W)((0,T3.d)(1),(0,E3.E)((0,m3.w)(n,"float32"))));return(0,v3.y)(e,t)}}}},B3={kernelName:f3.lxb,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,S3.assertAndGetBroadcastShape)(n.shape,i.shape);return{a:()=>{const t=(0,L3.W)((0,E3.E)(n),(0,E3.E)(i));let s=(0,g3.l)(e,(0,v3.y)(i,t));const o=(0,S3.getReductionAxes)(n.shape,r);return o.length>0&&(s=(0,O3.c)(s,o)),(0,C3.t)(s,n.shape)},b:()=>{const t=(0,L3.W)((0,E3.E)(n),(0,E3.E)(i));let s=(0,b3.H)((0,g3.l)(e,(0,v3.y)(n,t)));const o=(0,S3.getReductionAxes)(i.shape,r);return o.length>0&&(s=(0,O3.c)(s,o)),(0,C3.t)(s,i.shape)}}}},$3={kernelName:f3.TyE,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,v3.y)(e,(0,L3.W)((0,E3.E)((0,m3.w)(n,"float32")),1))}}},U3={kernelName:f3.zP9,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,v3.y)(e,(0,w3.j)((0,T3.d)(1),(0,E3.E)((0,m3.w)(n,"float32"))))}}};var V3=__webpack_require__(41585),z3=__webpack_require__(28189),j3=__webpack_require__(45119),Y3=__webpack_require__(47195),G3=__webpack_require__(70929);const H3=(0,G3.op)({avgPool3dGrad_: +const j3={kernelName:b3.epO,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=(0,C3.R)((0,z3.W)((0,S3.d)(1),(0,O3.E)((0,T3.w)(n,"float32"))));return(0,I3.y)(e,t)}}}},Y3={kernelName:b3.lxb,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,N3.assertAndGetBroadcastShape)(n.shape,i.shape);return{a:()=>{const t=(0,z3.W)((0,O3.E)(n),(0,O3.E)(i));let s=(0,x3.l)(e,(0,I3.y)(i,t));const o=(0,N3.getReductionAxes)(n.shape,r);return o.length>0&&(s=(0,F3.c)(s,o)),(0,D3.t)(s,n.shape)},b:()=>{const t=(0,z3.W)((0,O3.E)(n),(0,O3.E)(i));let s=(0,A3.H)((0,x3.l)(e,(0,I3.y)(n,t)));const o=(0,N3.getReductionAxes)(i.shape,r);return o.length>0&&(s=(0,F3.c)(s,o)),(0,D3.t)(s,i.shape)}}}},G3={kernelName:b3.TyE,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,I3.y)(e,(0,z3.W)((0,O3.E)((0,T3.w)(n,"float32")),1))}}},H3={kernelName:b3.zP9,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,I3.y)(e,(0,M3.j)((0,S3.d)(1),(0,O3.E)((0,T3.w)(n,"float32"))))}}};var W3=__webpack_require__(41585),X3=__webpack_require__(28189),q3=__webpack_require__(45119),K3=__webpack_require__(47195),Z3=__webpack_require__(70929);const Q3=(0,Z3.op)({avgPool3dGrad_: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10259,7 +10259,7 @@ const P3={kernelName:f3.epO,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -function(e,t,n,i,r,s){const o=(0,z3.YT)(e,"dy","avgPool3dGrad"),a=(0,z3.YT)(t,"input","avgPool3dGrad");let l=o,u=a,c=!1;4===a.rank&&(c=!0,l=(0,C3.t)(o,[1,o.shape[0],o.shape[1],o.shape[2],o.shape[3]]),u=(0,C3.t)(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),j3.vA(5===l.rank,()=>`Error in avgPool3dGrad: dy must be rank 5 but got rank ${l.rank}.`),j3.vA(5===u.rank,()=>`Error in avgPool3dGrad: input must be rank 5 but got rank ${u.rank}.`),(0,Y3.s_)("avgPool3dGrad",r,s);const d={dy:l,input:u},h={filterSize:n,strides:i,pad:r,dimRoundingMode:s},p=V3.T2.runKernel(f3.wwC,d,h);return c?(0,C3.t)(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}}),W3={kernelName:f3.cS,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{filterSize:r,strides:s,pad:o,dimRoundingMode:a}=n;return{x:()=>H3(e,i,r,s,o,a)}}};const X3=(0,G3.op)({avgPoolGrad_: +function(e,t,n,i,r,s){const o=(0,X3.YT)(e,"dy","avgPool3dGrad"),a=(0,X3.YT)(t,"input","avgPool3dGrad");let l=o,u=a,c=!1;4===a.rank&&(c=!0,l=(0,D3.t)(o,[1,o.shape[0],o.shape[1],o.shape[2],o.shape[3]]),u=(0,D3.t)(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]])),q3.vA(5===l.rank,()=>`Error in avgPool3dGrad: dy must be rank 5 but got rank ${l.rank}.`),q3.vA(5===u.rank,()=>`Error in avgPool3dGrad: input must be rank 5 but got rank ${u.rank}.`),(0,K3.s_)("avgPool3dGrad",r,s);const d={dy:l,input:u},h={filterSize:n,strides:i,pad:r,dimRoundingMode:s},p=W3.T2.runKernel(b3.wwC,d,h);return c?(0,D3.t)(p,[p.shape[1],p.shape[2],p.shape[3],p.shape[4]]):p}}),J3={kernelName:b3.cS,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{filterSize:r,strides:s,pad:o,dimRoundingMode:a}=n;return{x:()=>Q3(e,i,r,s,o,a)}}};const e4=(0,Z3.op)({avgPoolGrad_: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10276,7 +10276,7 @@ function(e,t,n,i,r,s){const o=(0,z3.YT)(e,"dy","avgPool3dGrad"),a=(0,z3.YT)(t,"i * limitations under the License. * ============================================================================= */ -function(e,t,n,i,r){const s=(0,z3.YT)(e,"dy","avgPoolGrad"),o=(0,z3.YT)(t,"input","avgPoolGrad");j3.vA(o.rank===s.rank,()=>`Rank of input (${o.rank}) does not match rank of dy (${s.rank})`);let a=o,l=s,u=!1;3===o.rank&&(u=!0,a=(0,C3.t)(o,[1,o.shape[0],o.shape[1],o.shape[2]]),l=(0,C3.t)(s,[1,s.shape[0],s.shape[1],s.shape[2]])),j3.vA(4===l.rank,()=>`Error in avgPoolGrad: dy must be rank 4 but got rank ${l.rank}.`),j3.vA(4===a.rank,()=>`Error in avgPoolGrad: input must be rank 4 but got rank ${a.rank}.`);const c={dy:l,input:a},d={filterSize:n,strides:i,pad:r},h=V3.T2.runKernel(f3.VCH,c,d);return u?(0,C3.t)(h,[h.shape[1],h.shape[2],h.shape[3]]):h}}),q3={kernelName:f3.ho8,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{filterSize:r,strides:s,pad:o}=n;return{x:()=>X3(e,i,r,s,o)}}};var K3=__webpack_require__(65703); +function(e,t,n,i,r){const s=(0,X3.YT)(e,"dy","avgPoolGrad"),o=(0,X3.YT)(t,"input","avgPoolGrad");q3.vA(o.rank===s.rank,()=>`Rank of input (${o.rank}) does not match rank of dy (${s.rank})`);let a=o,l=s,u=!1;3===o.rank&&(u=!0,a=(0,D3.t)(o,[1,o.shape[0],o.shape[1],o.shape[2]]),l=(0,D3.t)(s,[1,s.shape[0],s.shape[1],s.shape[2]])),q3.vA(4===l.rank,()=>`Error in avgPoolGrad: dy must be rank 4 but got rank ${l.rank}.`),q3.vA(4===a.rank,()=>`Error in avgPoolGrad: input must be rank 4 but got rank ${a.rank}.`);const c={dy:l,input:a},d={filterSize:n,strides:i,pad:r},h=W3.T2.runKernel(b3.VCH,c,d);return u?(0,D3.t)(h,[h.shape[1],h.shape[2],h.shape[3]]):h}}),t4={kernelName:b3.ho8,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{filterSize:r,strides:s,pad:o}=n;return{x:()=>e4(e,i,r,s,o)}}};var n4=__webpack_require__(65703); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10293,7 +10293,7 @@ function(e,t,n,i,r){const s=(0,z3.YT)(e,"dy","avgPoolGrad"),o=(0,z3.YT)(t,"input * limitations under the License. * ============================================================================= */ -const Z3={kernelName:f3.jAQ,inputsToSave:["a","b"],gradFunc:(e,t,n)=>{const[i,r]=t,{transposeA:s,transposeB:o}=n;return s||o?!s&&o?{a:()=>(0,K3.N)(e,r,!1,!1),b:()=>(0,K3.N)(e,i,!0,!1)}:s&&!o?{a:()=>(0,K3.N)(r,e,!1,!0),b:()=>(0,K3.N)(i,e,!1,!1)}:{a:()=>(0,K3.N)(r,e,!0,!0),b:()=>(0,K3.N)(e,i,!0,!0)}:{a:()=>(0,K3.N)(e,r,!1,!0),b:()=>(0,K3.N)(i,e,!0,!1)}}};var Q3=__webpack_require__(10776); +const i4={kernelName:b3.jAQ,inputsToSave:["a","b"],gradFunc:(e,t,n)=>{const[i,r]=t,{transposeA:s,transposeB:o}=n;return s||o?!s&&o?{a:()=>(0,n4.N)(e,r,!1,!1),b:()=>(0,n4.N)(e,i,!0,!1)}:s&&!o?{a:()=>(0,n4.N)(r,e,!1,!0),b:()=>(0,n4.N)(i,e,!1,!1)}:{a:()=>(0,n4.N)(r,e,!0,!0),b:()=>(0,n4.N)(e,i,!0,!0)}:{a:()=>(0,n4.N)(e,r,!1,!0),b:()=>(0,n4.N)(i,e,!0,!1)}}};var r4=__webpack_require__(10776); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10310,7 +10310,7 @@ const Z3={kernelName:f3.jAQ,inputsToSave:["a","b"],gradFunc:(e,t,n)=>{const[i,r] * limitations under the License. * ============================================================================= */ -const J3={kernelName:f3.Ik2,gradFunc:(e,t,n)=>{const{blockShape:i,crops:r}=n;return{x:()=>(0,Q3.e)(e,i,r)}}},e4={kernelName:f3.LB5,gradFunc:(e,t,n)=>{const i=n,r=i.inputShape,s=i.shape,o=Array.from(s);for(let e=r.length-1;e>=0;e--)if(r[e]===s[e])o[e]=1;else if(1!==r[e])throw new Error(`broadcastTo(): [${r}] cannot be broadcast to [${s}].`);const a=[];for(let e=0;e1&&a.push(e);return{x:()=>(0,O3.c)(e,a,!0)}}},t4={kernelName:f3.KXH,gradFunc:e=>({x:()=>e.clone()})},n4={kernelName:f3.QDP,gradFunc:e=>({x:()=>(0,R3.P)(e)})};var i4=__webpack_require__(13337),r4=__webpack_require__(56508),s4=__webpack_require__(13789),o4=__webpack_require__(12151); +const s4={kernelName:b3.Ik2,gradFunc:(e,t,n)=>{const{blockShape:i,crops:r}=n;return{x:()=>(0,r4.e)(e,i,r)}}},o4={kernelName:b3.LB5,gradFunc:(e,t,n)=>{const i=n,r=i.inputShape,s=i.shape,o=Array.from(s);for(let e=r.length-1;e>=0;e--)if(r[e]===s[e])o[e]=1;else if(1!==r[e])throw new Error(`broadcastTo(): [${r}] cannot be broadcast to [${s}].`);const a=[];for(let e=0;e1&&a.push(e);return{x:()=>(0,F3.c)(e,a,!0)}}},a4={kernelName:b3.KXH,gradFunc:e=>({x:()=>e.clone()})},l4={kernelName:b3.QDP,gradFunc:e=>({x:()=>(0,B3.P)(e)})};var u4=__webpack_require__(13337),c4=__webpack_require__(56508),d4=__webpack_require__(13789),h4=__webpack_require__(12151); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10327,7 +10327,7 @@ const J3={kernelName:f3.Ik2,gradFunc:(e,t,n)=>{const{blockShape:i,crops:r}=n;ret * limitations under the License. * ============================================================================= */ -const a4={kernelName:f3.vaV,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{clipValueMin:r,clipValueMax:s}=n;return{x:()=>(0,o4._)((0,s4.n)((0,i4.D)(i,r),(0,r4.I)(i,s)),e,(0,R3.P)(e))}}},l4={kernelName:f3.$zE,inputsToSave:["x"],gradFunc:y3.gradFunc};var u4=__webpack_require__(66512); +const p4={kernelName:b3.vaV,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{clipValueMin:r,clipValueMax:s}=n;return{x:()=>(0,h4._)((0,d4.n)((0,u4.D)(i,r),(0,c4.I)(i,s)),e,(0,B3.P)(e))}}},f4={kernelName:b3.$zE,inputsToSave:["x"],gradFunc:w3.gradFunc};var m4=__webpack_require__(66512); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10344,7 +10344,7 @@ const a4={kernelName:f3.vaV,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{cl * limitations under the License. * ============================================================================= */ -const c4={kernelName:f3.$dB,saveAllInputs:!0,gradFunc:(e,t,n)=>{const i=t.map(e=>e.shape),{axis:r}=n,s=(0,j3.Y6)(r,t[0].shape)[0],o=i.map(e=>e[s]);return(0,u4.l)(e,o,s).map(e=>()=>e)}};var d4=__webpack_require__(25248),h4=__webpack_require__(80252); +const g4={kernelName:b3.$dB,saveAllInputs:!0,gradFunc:(e,t,n)=>{const i=t.map(e=>e.shape),{axis:r}=n,s=(0,q3.Y6)(r,t[0].shape)[0],o=i.map(e=>e[s]);return(0,m4.l)(e,o,s).map(e=>()=>e)}};var _4=__webpack_require__(25248),y4=__webpack_require__(80252); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10361,7 +10361,7 @@ const c4={kernelName:f3.$dB,saveAllInputs:!0,gradFunc:(e,t,n)=>{const i=t.map(e= * limitations under the License. * ============================================================================= */ -const p4={kernelName:f3.p2J,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[i,r]=t,{dilations:s,strides:o,pad:a,dataFormat:l}=n;return j3.vA(Y3.Dh(s),()=>`Error in gradient of conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${s}'`),{x:()=>(0,h4.v)(i.shape,e,r,o,a,l),filter:()=>(0,d4.H)(i,e,r.shape,o,a,l)}}};var f4=__webpack_require__(28794); +const v4={kernelName:b3.p2J,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[i,r]=t,{dilations:s,strides:o,pad:a,dataFormat:l}=n;return q3.vA(K3.Dh(s),()=>`Error in gradient of conv2D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${s}'`),{x:()=>(0,y4.v)(i.shape,e,r,o,a,l),filter:()=>(0,_4.H)(i,e,r.shape,o,a,l)}}};var b4=__webpack_require__(28794); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10378,7 +10378,7 @@ const p4={kernelName:f3.p2J,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const * limitations under the License. * ============================================================================= */ -const m4={kernelName:f3.jfg,inputsToSave:["dy","filter"],gradFunc:(e,t,n)=>{const[i,r]=t,{strides:s,pad:o,dataFormat:a,dimRoundingMode:l}=n;return{dy:()=>(0,f4.X)(e,r,s,o,a,1,l),filter:()=>(0,d4.H)(e,i,r.shape,s,o,a,l)}}};const g4=(0,G3.op)({conv3DBackpropFilter_: +const T4={kernelName:b3.jfg,inputsToSave:["dy","filter"],gradFunc:(e,t,n)=>{const[i,r]=t,{strides:s,pad:o,dataFormat:a,dimRoundingMode:l}=n;return{dy:()=>(0,b4.X)(e,r,s,o,a,1,l),filter:()=>(0,_4.H)(e,i,r.shape,s,o,a,l)}}};const x4=(0,Z3.op)({conv3DBackpropFilter_: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10395,7 +10395,7 @@ const m4={kernelName:f3.jfg,inputsToSave:["dy","filter"],gradFunc:(e,t,n)=>{cons * limitations under the License. * ============================================================================= */ -function(e,t,n,i,r){let s=e;4===e.rank&&(s=(0,C3.t)(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]]));let o=t;4===o.rank&&(o=(0,C3.t)(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]])),j3.vA(5===s.rank,()=>`Error in conv3dDerFilter: input must be rank 5, but got shape ${s.shape}.`),j3.vA(5===o.rank,()=>`Error in conv3dDerFilter: dy must be rank 5, but got shape ${o.shape}.`),j3.vA(5===n.length,()=>`Error in conv3dDerFilter: filterShape must be length 5, but got ${n}.`),j3.vA(s.shape[4]===n[3],()=>`Error in conv3dDerFilter: depth of input ${s.shape[4]}) must match input depth in filter (${n[3]}.`),j3.vA(o.shape[4]===n[4],()=>`Error in conv3dDerFilter: depth of dy (${o.shape[4]}) must match output depth for filter (${n[4]}).`);const a={x:s,dy:o},l={strides:i,pad:r,filterShape:n};return V3.T2.runKernel(f3.iGz,a,l)}});var _4=__webpack_require__(31895); +function(e,t,n,i,r){let s=e;4===e.rank&&(s=(0,D3.t)(e,[1,e.shape[0],e.shape[1],e.shape[2],e.shape[3]]));let o=t;4===o.rank&&(o=(0,D3.t)(t,[1,t.shape[0],t.shape[1],t.shape[2],t.shape[3]])),q3.vA(5===s.rank,()=>`Error in conv3dDerFilter: input must be rank 5, but got shape ${s.shape}.`),q3.vA(5===o.rank,()=>`Error in conv3dDerFilter: dy must be rank 5, but got shape ${o.shape}.`),q3.vA(5===n.length,()=>`Error in conv3dDerFilter: filterShape must be length 5, but got ${n}.`),q3.vA(s.shape[4]===n[3],()=>`Error in conv3dDerFilter: depth of input ${s.shape[4]}) must match input depth in filter (${n[3]}.`),q3.vA(o.shape[4]===n[4],()=>`Error in conv3dDerFilter: depth of dy (${o.shape[4]}) must match output depth for filter (${n[4]}).`);const a={x:s,dy:o},l={strides:i,pad:r,filterShape:n};return W3.T2.runKernel(b3.iGz,a,l)}});var E4=__webpack_require__(31895); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10412,7 +10412,7 @@ function(e,t,n,i,r){let s=e;4===e.rank&&(s=(0,C3.t)(e,[1,e.shape[0],e.shape[1],e * limitations under the License. * ============================================================================= */ -const y4={kernelName:f3.A1h,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:i,strides:r,pad:s}=n;j3.vA((0,Y3.Dh)(i),()=>`Error in gradient of conv3D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${i}'`);const[o,a]=t;return{x:()=>(0,_4.c)(o.shape,e,a,r,s),filter:()=>g4(o,e,a.shape,r,s)}}};var v4=__webpack_require__(33726); +const w4={kernelName:b3.A1h,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:i,strides:r,pad:s}=n;q3.vA((0,K3.Dh)(i),()=>`Error in gradient of conv3D: dilation rates greater than 1 are not yet supported in gradients. Got dilations '${i}'`);const[o,a]=t;return{x:()=>(0,E4.c)(o.shape,e,a,r,s),filter:()=>x4(o,e,a.shape,r,s)}}};var I4=__webpack_require__(33726); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10429,7 +10429,7 @@ const y4={kernelName:f3.A1h,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const * limitations under the License. * ============================================================================= */ -const b4={kernelName:f3.Mn0,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)((0,b3.H)((0,v4.F)((0,m3.w)(n,"float32"))),e)}}};var T4=__webpack_require__(58276); +const A4={kernelName:b3.Mn0,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)((0,A3.H)((0,I4.F)((0,T3.w)(n,"float32"))),e)}}};var S4=__webpack_require__(58276); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10446,7 +10446,7 @@ const b4={kernelName:f3.Mn0,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const x4={kernelName:f3.MnK,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)((0,T4.L)((0,m3.w)(n,"float32")),e)}}};var E4=__webpack_require__(21078),w4=__webpack_require__(76808),I4=__webpack_require__(7703); +const C4={kernelName:b3.MnK,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)((0,S4.L)((0,T3.w)(n,"float32")),e)}}};var O4=__webpack_require__(21078),M4=__webpack_require__(76808),k4=__webpack_require__(7703); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10463,7 +10463,7 @@ const x4={kernelName:f3.MnK,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const A4={kernelName:f3.nY8,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{axis:r,exclusive:s,reverse:o}=n;return{x:()=>{const t=(0,E4.Em)([r],i.rank);let n=(0,w4.r)(e,r,s,!o);return null!=t&&(n=(0,I4.m)(n,t)),n}}}};var S4=__webpack_require__(41890),C4=__webpack_require__(83134); +const R4={kernelName:b3.nY8,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{axis:r,exclusive:s,reverse:o}=n;return{x:()=>{const t=(0,O4.Em)([r],i.rank);let n=(0,M4.r)(e,r,s,!o);return null!=t&&(n=(0,k4.m)(n,t)),n}}}};var N4=__webpack_require__(41890),D4=__webpack_require__(83134); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10480,7 +10480,7 @@ const A4={kernelName:f3.nY8,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{ax * limitations under the License. * ============================================================================= */ -const O4={kernelName:f3.tGH,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:i,strides:r,pad:s,dimRoundingMode:o}=n,a=null==i?[1,1]:i;j3.vA(Y3.Dh(a),()=>`Error in gradient of depthwiseConv2dNative: dilation rates greater than 1 are not yet supported. Got dilations '${a}'`);const[l,u]=t;return j3.vA(4===l.rank,()=>`Error in gradient of depthwiseConv2dNative: input must be rank 4, but got rank ${l.rank}.`),j3.vA(4===u.rank,()=>`Error in gradient of depthwiseConv2dNative: filter must be rank 4, but got rank ${u.rank}.`),j3.vA(l.shape[3]===u.shape[2],()=>`Error in gradient of depthwiseConv2d: number of input channels (${l.shape[3]}) must match the inChannels dimension in filter ${u.shape[2]}.`),j3.vA(Y3.G0(r,a),()=>`Error in gradient of depthwiseConv2d: Either strides or dilations must be 1. Got strides ${r} and dilations '${a}'.`),Y3.s_("depthwiseConv2d",s,o),{x:()=>(0,C4.l)(l.shape,e,u,r,s,a,o),filter:()=>(0,S4.x)(l,e,u.shape,r,s,a,o)}}},M4={kernelName:f3.jxD,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[i,r]=t,s={x:i,filter:r,dy:e},o={x:i,filter:r,dy:e};return{x:()=>V3.T2.runKernel(f3.bP9,s,n),filter:()=>V3.T2.runKernel(f3.pk0,o,n)}}},k4={kernelName:f3.Pah,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t,i={dy:e,y:n};return{x:()=>V3.T2.runKernel(f3.rsH,i)}}};var R4=__webpack_require__(8631); +const F4={kernelName:b3.tGH,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const{dilations:i,strides:r,pad:s,dimRoundingMode:o}=n,a=null==i?[1,1]:i;q3.vA(K3.Dh(a),()=>`Error in gradient of depthwiseConv2dNative: dilation rates greater than 1 are not yet supported. Got dilations '${a}'`);const[l,u]=t;return q3.vA(4===l.rank,()=>`Error in gradient of depthwiseConv2dNative: input must be rank 4, but got rank ${l.rank}.`),q3.vA(4===u.rank,()=>`Error in gradient of depthwiseConv2dNative: filter must be rank 4, but got rank ${u.rank}.`),q3.vA(l.shape[3]===u.shape[2],()=>`Error in gradient of depthwiseConv2d: number of input channels (${l.shape[3]}) must match the inChannels dimension in filter ${u.shape[2]}.`),q3.vA(K3.G0(r,a),()=>`Error in gradient of depthwiseConv2d: Either strides or dilations must be 1. Got strides ${r} and dilations '${a}'.`),K3.s_("depthwiseConv2d",s,o),{x:()=>(0,D4.l)(l.shape,e,u,r,s,a,o),filter:()=>(0,N4.x)(l,e,u.shape,r,s,a,o)}}},L4={kernelName:b3.jxD,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const[i,r]=t,s={x:i,filter:r,dy:e},o={x:i,filter:r,dy:e};return{x:()=>W3.T2.runKernel(b3.bP9,s,n),filter:()=>W3.T2.runKernel(b3.pk0,o,n)}}},P4={kernelName:b3.Pah,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t,i={dy:e,y:n};return{x:()=>W3.T2.runKernel(b3.rsH,i)}}};var B4=__webpack_require__(8631); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10497,7 +10497,7 @@ const O4={kernelName:f3.tGH,inputsToSave:["x","filter"],gradFunc:(e,t,n)=>{const * limitations under the License. * ============================================================================= */ -const N4={kernelName:f3._s9,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,i=(0,g3.l)((0,R4.o)((0,b3.H)((0,E3.E)(n))),2/Math.sqrt(Math.PI));return{x:()=>(0,g3.l)(e,i)}}},D4={kernelName:f3.ox3,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)(e,n)}}},F4={kernelName:f3.ybN,inputsToSave:["input"],gradFunc:(e,t)=>{const[n]=t;return{input:()=>(0,C3.t)(e,n.shape)}}},L4={kernelName:f3.ybj,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)(e,(0,R4.o)(n))}}},P4={kernelName:f3.ZgB,gradFunc:e=>({x:()=>(0,R3.P)(e)})},B4={kernelName:f3.ElG,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,S3.assertAndGetBroadcastShape)(n.shape,i.shape);return{a:()=>{const t=(0,v3.y)(e,(0,m3.w)(i,"float32")),s=(0,S3.getReductionAxes)(n.shape,r);return s.length>0?(0,C3.t)((0,O3.c)(t,s),n.shape):t},b:()=>{let t=(0,g3.l)(e,(0,m3.w)(n,"float32"));const s=(0,S3.getReductionAxes)(i.shape,r);s.length>0&&(t=(0,C3.t)((0,O3.c)(t,s),i.shape));const o=(0,E3.E)(i);return(0,b3.H)((0,v3.y)(t,(0,m3.w)(o,"float32")))}}}};var $4=__webpack_require__(17820),U4=__webpack_require__(64826); +const $4={kernelName:b3._s9,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,i=(0,x3.l)((0,B4.o)((0,A3.H)((0,O3.E)(n))),2/Math.sqrt(Math.PI));return{x:()=>(0,x3.l)(e,i)}}},U4={kernelName:b3.ox3,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)(e,n)}}},V4={kernelName:b3.ybN,inputsToSave:["input"],gradFunc:(e,t)=>{const[n]=t;return{input:()=>(0,D3.t)(e,n.shape)}}},z4={kernelName:b3.ybj,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)(e,(0,B4.o)(n))}}},j4={kernelName:b3.ZgB,gradFunc:e=>({x:()=>(0,B3.P)(e)})},Y4={kernelName:b3.ElG,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,N3.assertAndGetBroadcastShape)(n.shape,i.shape);return{a:()=>{const t=(0,I3.y)(e,(0,T3.w)(i,"float32")),s=(0,N3.getReductionAxes)(n.shape,r);return s.length>0?(0,D3.t)((0,F3.c)(t,s),n.shape):t},b:()=>{let t=(0,x3.l)(e,(0,T3.w)(n,"float32"));const s=(0,N3.getReductionAxes)(i.shape,r);s.length>0&&(t=(0,D3.t)((0,F3.c)(t,s),i.shape));const o=(0,O3.E)(i);return(0,A3.H)((0,I3.y)(t,(0,T3.w)(o,"float32")))}}}};var G4=__webpack_require__(17820),H4=__webpack_require__(64826); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10514,7 +10514,7 @@ const N4={kernelName:f3._s9,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,i=(0, * limitations under the License. * ============================================================================= */ -const V4={kernelName:f3.i5R,inputsToSave:["x","mean","variance","scale"],gradFunc:(e,t,n)=>{const{varianceEpsilon:i}=n,[r,s,o,a]=t,l=null==a?(0,T3.d)(1):a,u=(0,S3.getReductionAxes)(s.shape,r.shape),c=[];if(1===s.rank){for(let e=0;e1===s.rank?(0,C3.t)((0,g3.l)((0,g3.l)(e,(0,U4.V)((0,C3.t)(p,[1,1,1,s.shape[0]]),c)),l),r.shape):(0,C3.t)((0,g3.l)((0,g3.l)(e,p),l),r.shape),mean:()=>{let e=(0,g3.l)((0,g3.l)(p,(0,T3.d)(-1)),h);return 1===s.rank&&(e=(0,O3.c)(e,u)),(0,C3.t)(e,s.shape)},variance:()=>{let e=(0,g3.l)((0,g3.l)(f,d),h);return 1===s.rank&&(e=(0,O3.c)(e,u)),(0,C3.t)(e,s.shape)},scale:()=>{const t=(0,g3.l)(d,p);let n=(0,g3.l)(e,t);return 1===s.rank&&(n=(0,O3.c)(n,u)),(0,C3.t)(n,s.shape)},offset:()=>{let t=e;return 1===s.rank&&(t=(0,O3.c)(t,u)),(0,C3.t)(t,s.shape)}}}};var z4=__webpack_require__(54268),j4=__webpack_require__(97706); +const W4={kernelName:b3.i5R,inputsToSave:["x","mean","variance","scale"],gradFunc:(e,t,n)=>{const{varianceEpsilon:i}=n,[r,s,o,a]=t,l=null==a?(0,S3.d)(1):a,u=(0,N3.getReductionAxes)(s.shape,r.shape),c=[];if(1===s.rank){for(let e=0;e1===s.rank?(0,D3.t)((0,x3.l)((0,x3.l)(e,(0,H4.V)((0,D3.t)(p,[1,1,1,s.shape[0]]),c)),l),r.shape):(0,D3.t)((0,x3.l)((0,x3.l)(e,p),l),r.shape),mean:()=>{let e=(0,x3.l)((0,x3.l)(p,(0,S3.d)(-1)),h);return 1===s.rank&&(e=(0,F3.c)(e,u)),(0,D3.t)(e,s.shape)},variance:()=>{let e=(0,x3.l)((0,x3.l)(f,d),h);return 1===s.rank&&(e=(0,F3.c)(e,u)),(0,D3.t)(e,s.shape)},scale:()=>{const t=(0,x3.l)(d,p);let n=(0,x3.l)(e,t);return 1===s.rank&&(n=(0,F3.c)(n,u)),(0,D3.t)(n,s.shape)},offset:()=>{let t=e;return 1===s.rank&&(t=(0,F3.c)(t,u)),(0,D3.t)(t,s.shape)}}}};var X4=__webpack_require__(54268),q4=__webpack_require__(97706); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10531,7 +10531,7 @@ const V4={kernelName:f3.i5R,inputsToSave:["x","mean","variance","scale"],gradFun * limitations under the License. * ============================================================================= */ -const Y4={kernelName:f3.mxL,inputsToSave:["x","indices"],gradFunc:(e,t,n)=>{const[i,r]=t,{axis:s,batchDims:o}=n,a=(0,j3.Y6)(s,i.shape)[0],l=(e,t,n)=>()=>{const i=e.shape,r=t.size,o=i.slice(0,a),l=o.length,u=i.slice(s,i.length).slice(1),c=u.length,d=G4(0,l),h=G4(l+1,l+1+c),p=H4([o,[r],u]),f=(0,C3.t)(n,p),m=(0,C3.t)(t,[r]),g=H4([[l],d,h]),_=(0,I4.m)(f,g);let y=(0,j4.z)(_,m,e.shape[a]);const v=(0,E4.gx)(g);return y=(0,I4.m)(y,v),y};if(1===o){const t=i.shape[0],n=i.split(t,0);return{x:()=>{const t=(0,z4.t)(n.map((t,n)=>l(t,r.slice(n,1),e.slice(n,1))()));return t.reshape(i.shape)},indices:()=>r}}return{x:l(i,r,e),indices:()=>r}}};function G4(e,t){const n=[];for(let i=e;i{const[i,r]=t,{axis:s,batchDims:o}=n,a=(0,q3.Y6)(s,i.shape)[0],l=(e,t,n)=>()=>{const i=e.shape,r=t.size,o=i.slice(0,a),l=o.length,u=i.slice(s,i.length).slice(1),c=u.length,d=Z4(0,l),h=Z4(l+1,l+1+c),p=Q4([o,[r],u]),f=(0,D3.t)(n,p),m=(0,D3.t)(t,[r]),g=Q4([[l],d,h]),_=(0,k4.m)(f,g);let y=(0,q4.z)(_,m,e.shape[a]);const v=(0,O4.gx)(g);return y=(0,k4.m)(y,v),y};if(1===o){const t=i.shape[0],n=i.split(t,0);return{x:()=>{const t=(0,X4.t)(n.map((t,n)=>l(t,r.slice(n,1),e.slice(n,1))()));return t.reshape(i.shape)},indices:()=>r}}return{x:l(i,r,e),indices:()=>r}}};function Z4(e,t){const n=[];for(let i=e;i{cons * limitations under the License. * ============================================================================= */ -const W4={kernelName:f3.lLS,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t;return{a:()=>(0,R3.P)(n),b:()=>(0,R3.P)(i)}}},X4={kernelName:f3.lzr,gradFunc:e=>({x:()=>(0,m3.w)(e,"float32")})},q4={kernelName:f3.gIW,gradFunc:e=>({x:()=>(0,R3.P)(e)})},K4={kernelName:f3.E3$,gradFunc:e=>({x:()=>(0,R3.P)(e)})},Z4={kernelName:f3.iPs,gradFunc:e=>({x:()=>(0,R3.P)(e)})};var Q4=__webpack_require__(62058); +const J4={kernelName:b3.lLS,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t;return{a:()=>(0,B3.P)(n),b:()=>(0,B3.P)(i)}}},e5={kernelName:b3.lzr,gradFunc:e=>({x:()=>(0,T3.w)(e,"float32")})},t5={kernelName:b3.gIW,gradFunc:e=>({x:()=>(0,B3.P)(e)})},n5={kernelName:b3.E3$,gradFunc:e=>({x:()=>(0,B3.P)(e)})},i5={kernelName:b3.iPs,gradFunc:e=>({x:()=>(0,B3.P)(e)})};var r5=__webpack_require__(62058); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10565,7 +10565,7 @@ const W4={kernelName:f3.lLS,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t * limitations under the License. * ============================================================================= */ -const J4={kernelName:f3.X0$,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{alpha:r}=n,s=(0,Q4.r)(i,0);return{x:()=>(0,o4._)(s,e,(0,g3.l)(e,r))}}},e5={kernelName:f3.Cg$,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,v3.y)(e,(0,L3.W)(n,1))}}},t5={kernelName:f3.tG8,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,v3.y)(e,(0,m3.w)(n,"float32"))}}},n5={kernelName:f3.zfU,inputsToSave:[],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i]=t,{axis:r}=n;return{logits:()=>{const t=(0,R4.o)(i);return(0,w3.j)(e,(0,g3.l)((0,O3.c)(e,r,!0),t))}}}};const i5=(0,G3.op)({localResponseNormalizationBackprop_: +const s5={kernelName:b3.X0$,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{alpha:r}=n,s=(0,r5.r)(i,0);return{x:()=>(0,h4._)(s,e,(0,x3.l)(e,r))}}},o5={kernelName:b3.Cg$,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,I3.y)(e,(0,z3.W)(n,1))}}},a5={kernelName:b3.tG8,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,I3.y)(e,(0,T3.w)(n,"float32"))}}},l5={kernelName:b3.zfU,inputsToSave:[],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i]=t,{axis:r}=n;return{logits:()=>{const t=(0,B4.o)(i);return(0,M3.j)(e,(0,x3.l)((0,F3.c)(e,r,!0),t))}}}};const u5=(0,Z3.op)({localResponseNormalizationBackprop_: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10582,7 +10582,7 @@ const J4={kernelName:f3.X0$,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{al * limitations under the License. * ============================================================================= */ -function(e,t,n,i=5,r=1,s=1,o=.5){const a={x:e,y:t,dy:n},l={depthRadius:i,bias:r,alpha:s,beta:o};return V3.T2.runKernel(f3.ToN,a,l)}}),r5={kernelName:f3.jM4,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i,r]=t,{depthRadius:s,bias:o,alpha:a,beta:l}=n;return{x:()=>i5(i,r,e,s,o,a,l)}}};var s5=__webpack_require__(13020); +function(e,t,n,i=5,r=1,s=1,o=.5){const a={x:e,y:t,dy:n},l={depthRadius:i,bias:r,alpha:s,beta:o};return W3.T2.runKernel(b3.ToN,a,l)}}),c5={kernelName:b3.jM4,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i,r]=t,{depthRadius:s,bias:o,alpha:a,beta:l}=n;return{x:()=>u5(i,r,e,s,o,a,l)}}};var d5=__webpack_require__(13020); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10599,7 +10599,7 @@ function(e,t,n,i=5,r=1,s=1,o=.5){const a={x:e,y:t,dy:n},l={depthRadius:i,bias:r, * limitations under the License. * ============================================================================= */ -function o5(e,t,n,i){return t.rank(0,g3.l)(e,(0,m3.w)((0,s5.L)(n,t),e.dtype))}} +function h5(e,t,n,i){return t.rank(0,x3.l)(e,(0,T3.w)((0,d5.L)(n,t),e.dtype))}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10616,7 +10616,7 @@ function o5(e,t,n,i){return t.rank{const i=n,{reductionIndices:r}=i,s=t[0],o=o5(e,t[1],s,j3.Y6(r,s.shape));return{x:()=>o.x()}}};var l5=__webpack_require__(61303); +const p5={kernelName:b3.VAI,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const i=n,{reductionIndices:r}=i,s=t[0],o=h5(e,t[1],s,q3.Y6(r,s.shape));return{x:()=>o.x()}}};var f5=__webpack_require__(61303); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10633,7 +10633,7 @@ const a5={kernelName:f3.VAI,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t, * limitations under the License. * ============================================================================= */ -const u5={kernelName:f3.LDN,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t;return{a:()=>(0,g3.l)(e,(0,m3.w)((0,i4.D)(n,i),"float32")),b:()=>(0,g3.l)(e,(0,m3.w)((0,l5.M)(n,i),"float32"))}}};const c5=(0,G3.op)({maxPool3dGrad_: +const m5={kernelName:b3.LDN,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t;return{a:()=>(0,x3.l)(e,(0,T3.w)((0,u4.D)(n,i),"float32")),b:()=>(0,x3.l)(e,(0,T3.w)((0,f5.M)(n,i),"float32"))}}};const g5=(0,Z3.op)({maxPool3dGrad_: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10650,7 +10650,7 @@ const u5={kernelName:f3.LDN,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t * limitations under the License. * ============================================================================= */ -function(e,t,n,i,r,s,o){const a=(0,z3.YT)(e,"dy","maxPool3dGrad"),l=(0,z3.YT)(t,"input","maxPool3dGrad"),u=(0,z3.YT)(n,"output","maxPool3dGrad");let c=a,d=l,h=u,p=!1;4===l.rank&&(p=!0,c=(0,C3.t)(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]]),d=(0,C3.t)(l,[1,l.shape[0],l.shape[1],l.shape[2],l.shape[3]]),h=(0,C3.t)(u,[1,u.shape[0],u.shape[1],u.shape[2],u.shape[3]])),j3.vA(5===c.rank,()=>`Error in maxPool3dGrad: dy must be rank 5 but got rank ${c.rank}.`),j3.vA(5===d.rank,()=>`Error in maxPool3dGrad: input must be rank 5 but got rank ${d.rank}.`),j3.vA(5===h.rank,()=>`Error in maxPool3dGrad: output must be rank 5 but got rank ${h.rank}.`),(0,Y3.s_)("maxPool3dGrad",s,o);const f={dy:c,input:d,output:h},m={filterSize:i,strides:r,pad:s,dimRoundingMode:o},g=V3.T2.runKernel(f3.cHb,f,m);return p?(0,C3.t)(g,[g.shape[1],g.shape[2],g.shape[3],g.shape[4]]):g}}),d5={kernelName:f3.ySp,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i,r]=t,{filterSize:s,strides:o,pad:a,dimRoundingMode:l}=n;return{x:()=>c5(e,i,r,s,o,a,l)}}};const h5=(0,G3.op)({maxPoolGrad_: +function(e,t,n,i,r,s,o){const a=(0,X3.YT)(e,"dy","maxPool3dGrad"),l=(0,X3.YT)(t,"input","maxPool3dGrad"),u=(0,X3.YT)(n,"output","maxPool3dGrad");let c=a,d=l,h=u,p=!1;4===l.rank&&(p=!0,c=(0,D3.t)(a,[1,a.shape[0],a.shape[1],a.shape[2],a.shape[3]]),d=(0,D3.t)(l,[1,l.shape[0],l.shape[1],l.shape[2],l.shape[3]]),h=(0,D3.t)(u,[1,u.shape[0],u.shape[1],u.shape[2],u.shape[3]])),q3.vA(5===c.rank,()=>`Error in maxPool3dGrad: dy must be rank 5 but got rank ${c.rank}.`),q3.vA(5===d.rank,()=>`Error in maxPool3dGrad: input must be rank 5 but got rank ${d.rank}.`),q3.vA(5===h.rank,()=>`Error in maxPool3dGrad: output must be rank 5 but got rank ${h.rank}.`),(0,K3.s_)("maxPool3dGrad",s,o);const f={dy:c,input:d,output:h},m={filterSize:i,strides:r,pad:s,dimRoundingMode:o},g=W3.T2.runKernel(b3.cHb,f,m);return p?(0,D3.t)(g,[g.shape[1],g.shape[2],g.shape[3],g.shape[4]]):g}}),_5={kernelName:b3.ySp,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i,r]=t,{filterSize:s,strides:o,pad:a,dimRoundingMode:l}=n;return{x:()=>g5(e,i,r,s,o,a,l)}}};const y5=(0,Z3.op)({maxPoolGrad_: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10667,7 +10667,7 @@ function(e,t,n,i,r,s,o){const a=(0,z3.YT)(e,"dy","maxPool3dGrad"),l=(0,z3.YT)(t, * limitations under the License. * ============================================================================= */ -function(e,t,n,i,r,s,o){const a=(0,z3.YT)(e,"dy","maxPoolGrad"),l=(0,z3.YT)(t,"input","maxPoolGrad"),u=(0,z3.YT)(n,"output","maxPoolGrad");j3.vA(l.rank===a.rank,()=>`Rank of input (${l.rank}) does not match rank of dy (${a.rank})`),j3.vA(4===a.rank,()=>`Error in maxPoolGrad: dy must be rank 4 but got rank ${a.rank}.`),j3.vA(4===l.rank,()=>`Error in maxPoolGrad: input must be rank 4 but got rank ${l.rank}.`),Y3.s_("maxPoolGrad",s,o);const c={dy:a,input:l,output:u},d={filterSize:i,strides:r,pad:s,dimRoundingMode:o};return V3.T2.runKernel(f3.RXX,c,d)}}),p5={kernelName:f3.t3d,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i,r]=t,{filterSize:s,strides:o,pad:a}=n;return{x:()=>h5(e,i,r,s,o,a)}}};var f5=__webpack_require__(61411); +function(e,t,n,i,r,s,o){const a=(0,X3.YT)(e,"dy","maxPoolGrad"),l=(0,X3.YT)(t,"input","maxPoolGrad"),u=(0,X3.YT)(n,"output","maxPoolGrad");q3.vA(l.rank===a.rank,()=>`Rank of input (${l.rank}) does not match rank of dy (${a.rank})`),q3.vA(4===a.rank,()=>`Error in maxPoolGrad: dy must be rank 4 but got rank ${a.rank}.`),q3.vA(4===l.rank,()=>`Error in maxPoolGrad: input must be rank 4 but got rank ${l.rank}.`),K3.s_("maxPoolGrad",s,o);const c={dy:a,input:l,output:u},d={filterSize:i,strides:r,pad:s,dimRoundingMode:o};return W3.T2.runKernel(b3.RXX,c,d)}}),v5={kernelName:b3.t3d,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i,r]=t,{filterSize:s,strides:o,pad:a}=n;return{x:()=>y5(e,i,r,s,o,a)}}};var b5=__webpack_require__(61411); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10684,7 +10684,7 @@ function(e,t,n,i,r,s,o){const a=(0,z3.YT)(e,"dy","maxPoolGrad"),l=(0,z3.YT)(t,"i * limitations under the License. * ============================================================================= */ -const m5={kernelName:f3.g5A,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{axis:r}=n,s=j3.Y6(r,i.shape),o=(0,E4.lb)(i.shape,s)[1],a=j3.Ze(o);return{x:()=>{const t=i.shape.slice();s.forEach(e=>{t[e]=1});const n=(0,C3.t)(e,t);return(0,v3.y)((0,g3.l)(n,(0,f5.S)(i.shape,"float32")),a)}}}},g5={kernelName:f3.lNG,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const i=n,{axis:r}=i,[s,o]=t,a=o5(e,o,s,j3.Y6(r,s.shape));return{x:()=>a.x()}}},_5={kernelName:f3.LG0,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t;return{a:()=>(0,g3.l)(e,(0,m3.w)((0,r4.I)(n,i),"float32")),b:()=>(0,g3.l)(e,(0,m3.w)((0,Q4.r)(n,i),"float32"))}}};var y5=__webpack_require__(17986); +const T5={kernelName:b3.g5A,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{axis:r}=n,s=q3.Y6(r,i.shape),o=(0,O4.lb)(i.shape,s)[1],a=q3.Ze(o);return{x:()=>{const t=i.shape.slice();s.forEach(e=>{t[e]=1});const n=(0,D3.t)(e,t);return(0,I3.y)((0,x3.l)(n,(0,b5.S)(i.shape,"float32")),a)}}}},x5={kernelName:b3.lNG,inputsToSave:["x"],outputsToSave:[!0],gradFunc:(e,t,n)=>{const i=n,{axis:r}=i,[s,o]=t,a=h5(e,o,s,q3.Y6(r,s.shape));return{x:()=>a.x()}}},E5={kernelName:b3.LG0,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t;return{a:()=>(0,x3.l)(e,(0,T3.w)((0,c4.I)(n,i),"float32")),b:()=>(0,x3.l)(e,(0,T3.w)((0,r5.r)(n,i),"float32"))}}};var w5=__webpack_require__(17986); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10701,7 +10701,7 @@ const m5={kernelName:f3.g5A,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{ax * limitations under the License. * ============================================================================= */ -const v5={kernelName:f3.x7F,inputsToSave:["x"],gradFunc:(e,t,n)=>{const i=t[0],{paddings:r}=n,s=r.map(e=>e[0]);return{x:()=>(0,y5.d)(e,s,i.shape)}}};var b5=__webpack_require__(15606); +const I5={kernelName:b3.x7F,inputsToSave:["x"],gradFunc:(e,t,n)=>{const i=t[0],{paddings:r}=n,s=r.map(e=>e[0]);return{x:()=>(0,w5.d)(e,s,i.shape)}}};var A5=__webpack_require__(15606); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10718,7 +10718,7 @@ const v5={kernelName:f3.x7F,inputsToSave:["x"],gradFunc:(e,t,n)=>{const i=t[0],{ * limitations under the License. * ============================================================================= */ -const T5={kernelName:f3.BLA,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,S3.assertAndGetBroadcastShape)(n.shape,i.shape);return{a:()=>{const t=(0,S3.getReductionAxes)(n.shape,r);return t.length>0?(0,C3.t)((0,O3.c)(e,t),n.shape):e},b:()=>{const t=(0,g3.l)(e,(0,b3.H)((0,b5.R)((0,v3.y)(n,i)))),s=(0,S3.getReductionAxes)(i.shape,r);return s.length>0?(0,C3.t)((0,O3.c)(t,s),i.shape):t}}}},x5={kernelName:f3.xu7,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,S3.assertAndGetBroadcastShape)(n.shape,i.shape);return{a:()=>{const t=(0,g3.l)(e,(0,m3.w)(i,"float32")),s=(0,S3.getReductionAxes)(n.shape,r);return s.length>0?(0,C3.t)((0,O3.c)(t,s),n.shape):t},b:()=>{const t=(0,g3.l)(e,(0,m3.w)(n,"float32")),s=(0,S3.getReductionAxes)(i.shape,r);return s.length>0?(0,C3.t)((0,O3.c)(t,s),i.shape):t}}}},E5={kernelName:f3.l0G,gradFunc:e=>({x:()=>(0,b3.H)(e)})};var w5=__webpack_require__(42855); +const S5={kernelName:b3.BLA,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,N3.assertAndGetBroadcastShape)(n.shape,i.shape);return{a:()=>{const t=(0,N3.getReductionAxes)(n.shape,r);return t.length>0?(0,D3.t)((0,F3.c)(e,t),n.shape):e},b:()=>{const t=(0,x3.l)(e,(0,A3.H)((0,A5.R)((0,I3.y)(n,i)))),s=(0,N3.getReductionAxes)(i.shape,r);return s.length>0?(0,D3.t)((0,F3.c)(t,s),i.shape):t}}}},C5={kernelName:b3.xu7,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,N3.assertAndGetBroadcastShape)(n.shape,i.shape);return{a:()=>{const t=(0,x3.l)(e,(0,T3.w)(i,"float32")),s=(0,N3.getReductionAxes)(n.shape,r);return s.length>0?(0,D3.t)((0,F3.c)(t,s),n.shape):t},b:()=>{const t=(0,x3.l)(e,(0,T3.w)(n,"float32")),s=(0,N3.getReductionAxes)(i.shape,r);return s.length>0?(0,D3.t)((0,F3.c)(t,s),i.shape):t}}}},O5={kernelName:b3.l0G,gradFunc:e=>({x:()=>(0,A3.H)(e)})};var M5=__webpack_require__(42855); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10735,7 +10735,7 @@ const T5={kernelName:f3.BLA,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t * limitations under the License. * ============================================================================= */ -const I5={kernelName:f3.urI,inputsToSave:["indices"],gradFunc:(e,t)=>{const n=t[0];return{indices:()=>(0,w5.U)(n.shape,"float32")}}},A5={kernelName:f3.LWX,gradFunc:e=>({x:()=>(0,R3.P)(e)})};var S5=__webpack_require__(67261); +const k5={kernelName:b3.urI,inputsToSave:["indices"],gradFunc:(e,t)=>{const n=t[0];return{indices:()=>(0,M5.U)(n.shape,"float32")}}},R5={kernelName:b3.LWX,gradFunc:e=>({x:()=>(0,B3.P)(e)})};var N5=__webpack_require__(67261); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10752,7 +10752,7 @@ const I5={kernelName:f3.urI,inputsToSave:["indices"],gradFunc:(e,t)=>{const n=t[ * limitations under the License. * ============================================================================= */ -const C5={kernelName:f3.mM$,saveAllInputs:!0,gradFunc:(e,t,n)=>{const{axis:i}=n;return(0,S5.K)(e,i).map(e=>()=>e)}},O5={kernelName:f3.ODT,inputsToSave:["x"],gradFunc:(e,t,n)=>{const i=t[0],{paddings:r}=n,s=r.map(e=>e[0]);return{x:()=>(0,y5.d)(e,s,i.shape)}}};var M5=__webpack_require__(44010),k5=__webpack_require__(98990); +const D5={kernelName:b3.mM$,saveAllInputs:!0,gradFunc:(e,t,n)=>{const{axis:i}=n;return(0,N5.K)(e,i).map(e=>()=>e)}},F5={kernelName:b3.ODT,inputsToSave:["x"],gradFunc:(e,t,n)=>{const i=t[0],{paddings:r}=n,s=r.map(e=>e[0]);return{x:()=>(0,w5.d)(e,s,i.shape)}}};var L5=__webpack_require__(44010),P5=__webpack_require__(98990); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10769,7 +10769,7 @@ const C5={kernelName:f3.mM$,saveAllInputs:!0,gradFunc:(e,t,n)=>{const{axis:i}=n; * limitations under the License. * ============================================================================= */ -const R5={kernelName:f3.pyJ,inputsToSave:["a","b"],outputsToSave:[!0],gradFunc:(e,t)=>{const[n,i,r]=t,s=n,o=i,a=S3.assertAndGetBroadcastShape(s.shape,o.shape);return{a:()=>{const t=(0,m3.w)(o,"float32");let n=(0,g3.l)(e,(0,g3.l)(t,(0,k5.n)(s,(0,w3.j)(t,(0,T3.d)(1)))));const i=S3.getReductionAxes(s.shape,a);return i.length>0&&(n=(0,O3.c)(n,i)),(0,C3.t)(n,s.shape)},b:()=>{const t=(0,Q4.r)(s,0),n=(0,o4._)(t,(0,M5.R)(s),(0,R3.P)(s));let i=(0,g3.l)(e,(0,g3.l)(r,n));const l=S3.getReductionAxes(o.shape,a);return l.length>0&&(i=(0,O3.c)(i,l)),(0,C3.t)(i,o.shape)}}}},N5={kernelName:f3.Ncv,inputsToSave:["x","alpha"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,Q4.r)(n,0);return{x:()=>(0,o4._)(r,e,(0,g3.l)(e,i)),alpha:()=>{let t=(0,o4._)(r,(0,R3.P)(e),(0,g3.l)(e,n));const s=(0,S3.getReductionAxes)(i.shape,e.shape);return s.length>0&&(t=(0,O3.c)(t,s)),(0,C3.t)(t,i.shape)}}}};var D5=__webpack_require__(10302);function F5(e,t,n){const i=e.shape.length,r=i-n.length,s=E4.Em(n,i);let o=e;null!=s&&(o=(0,I4.m)(e,s));const a=o.shape.slice(),l=a.splice(i-n.length,n.length).reduce((e,t)=>e*t,1);a.push(l);let u= +const B5={kernelName:b3.pyJ,inputsToSave:["a","b"],outputsToSave:[!0],gradFunc:(e,t)=>{const[n,i,r]=t,s=n,o=i,a=N3.assertAndGetBroadcastShape(s.shape,o.shape);return{a:()=>{const t=(0,T3.w)(o,"float32");let n=(0,x3.l)(e,(0,x3.l)(t,(0,P5.n)(s,(0,M3.j)(t,(0,S3.d)(1)))));const i=N3.getReductionAxes(s.shape,a);return i.length>0&&(n=(0,F3.c)(n,i)),(0,D3.t)(n,s.shape)},b:()=>{const t=(0,r5.r)(s,0),n=(0,h4._)(t,(0,L5.R)(s),(0,B3.P)(s));let i=(0,x3.l)(e,(0,x3.l)(r,n));const l=N3.getReductionAxes(o.shape,a);return l.length>0&&(i=(0,F3.c)(i,l)),(0,D3.t)(i,o.shape)}}}},$5={kernelName:b3.Ncv,inputsToSave:["x","alpha"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,r5.r)(n,0);return{x:()=>(0,h4._)(r,e,(0,x3.l)(e,i)),alpha:()=>{let t=(0,h4._)(r,(0,B3.P)(e),(0,x3.l)(e,n));const s=(0,N3.getReductionAxes)(i.shape,e.shape);return s.length>0&&(t=(0,F3.c)(t,s)),(0,D3.t)(t,i.shape)}}}};var U5=__webpack_require__(10302);function V5(e,t,n){const i=e.shape.length,r=i-n.length,s=O4.Em(n,i);let o=e;null!=s&&(o=(0,k4.m)(e,s));const a=o.shape.slice(),l=a.splice(i-n.length,n.length).reduce((e,t)=>e*t,1);a.push(l);let u= /** * @license * Copyright 2022 Google Inc. All Rights Reserved. @@ -10786,7 +10786,7 @@ const R5={kernelName:f3.pyJ,inputsToSave:["a","b"],outputsToSave:[!0],gradFunc:( * limitations under the License. * ============================================================================= */ -function(e,t,n){const i=e.shape.slice();i[n]=1;const r=(0,C3.t)(t,i),s=(0,D5.L)(e,n,!0,!1),o=(0,D5.L)(e,n,!0,!0),a=(0,g3.l)(s,o);return(0,g3.l)(r,a)}(o.reshape(a),t,r);if(u=u.reshape(o.shape),null!=s){const e=E4.gx(s);u=(0,I4.m)(u,e)}return u}const L5={kernelName:f3.kdj,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{axis:r}=n;let s=[];return s=null==r?i.shape.map((e,t)=>t):"number"==typeof r?[r]:r,{x:()=>F5(i,e,s)}}},P5={kernelName:f3.sDr,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=S3.assertAndGetBroadcastShape(n.shape,i.shape);return{a:()=>{const t=(0,v3.y)(e,(0,m3.w)(i,"float32")),s=S3.getReductionAxes(n.shape,r);return s.length>0?(0,C3.t)((0,O3.c)(t,s),n.shape):t},b:()=>{let t=(0,g3.l)(e,(0,m3.w)(n,"float32"));const s=S3.getReductionAxes(i.shape,r);s.length>0&&(t=(0,C3.t)((0,O3.c)(t,s),i.shape));const o=(0,E3.E)(i);return(0,b3.H)((0,v3.y)(t,(0,m3.w)(o,"float32")))}}}},B5={kernelName:f3.huO,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,v3.y)(e,(0,b3.H)((0,E3.E)(n)))}}},$5={kernelName:f3.P_L,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,i=(0,g3.l)((0,r4.I)(n,6),(0,_3.P)(n));return{x:()=>(0,g3.l)(e,(0,m3.w)(i,"float32"))}}},U5={kernelName:f3.fUj,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)(e,(0,m3.w)((0,_3.P)(n),"float32"))}}},V5={kernelName:f3.R23,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,C3.t)(e,n.shape)}}},z5={kernelName:f3.hgw,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[i]=t,r={dy:e,images:i};return{images:()=>V3.T2.runKernel(f3.FCQ,r,n)}}},j5={kernelName:f3.jOE,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[i]=t,r={dy:e,images:i};return{images:()=>V3.T2.runKernel(f3.XQy,r,n)}}};var Y5=__webpack_require__(53262); +function(e,t,n){const i=e.shape.slice();i[n]=1;const r=(0,D3.t)(t,i),s=(0,U5.L)(e,n,!0,!1),o=(0,U5.L)(e,n,!0,!0),a=(0,x3.l)(s,o);return(0,x3.l)(r,a)}(o.reshape(a),t,r);if(u=u.reshape(o.shape),null!=s){const e=O4.gx(s);u=(0,k4.m)(u,e)}return u}const z5={kernelName:b3.kdj,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{axis:r}=n;let s=[];return s=null==r?i.shape.map((e,t)=>t):"number"==typeof r?[r]:r,{x:()=>V5(i,e,s)}}},j5={kernelName:b3.sDr,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=N3.assertAndGetBroadcastShape(n.shape,i.shape);return{a:()=>{const t=(0,I3.y)(e,(0,T3.w)(i,"float32")),s=N3.getReductionAxes(n.shape,r);return s.length>0?(0,D3.t)((0,F3.c)(t,s),n.shape):t},b:()=>{let t=(0,x3.l)(e,(0,T3.w)(n,"float32"));const s=N3.getReductionAxes(i.shape,r);s.length>0&&(t=(0,D3.t)((0,F3.c)(t,s),i.shape));const o=(0,O3.E)(i);return(0,A3.H)((0,I3.y)(t,(0,T3.w)(o,"float32")))}}}},Y5={kernelName:b3.huO,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,I3.y)(e,(0,A3.H)((0,O3.E)(n)))}}},G5={kernelName:b3.P_L,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t,i=(0,x3.l)((0,c4.I)(n,6),(0,E3.P)(n));return{x:()=>(0,x3.l)(e,(0,T3.w)(i,"float32"))}}},H5={kernelName:b3.fUj,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)(e,(0,T3.w)((0,E3.P)(n),"float32"))}}},W5={kernelName:b3.R23,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,D3.t)(e,n.shape)}}},X5={kernelName:b3.hgw,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[i]=t,r={dy:e,images:i};return{images:()=>W3.T2.runKernel(b3.FCQ,r,n)}}},q5={kernelName:b3.jOE,inputsToSave:["images"],gradFunc:(e,t,n)=>{const[i]=t,r={dy:e,images:i};return{images:()=>W3.T2.runKernel(b3.XQy,r,n)}}};var K5=__webpack_require__(53262); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10803,7 +10803,7 @@ function(e,t,n){const i=e.shape.slice();i[n]=1;const r=(0,C3.t)(t,i),s=(0,D5.L)( * limitations under the License. * ============================================================================= */ -const G5={kernelName:f3.D7i,gradFunc:(e,t,n)=>{const{dims:i}=n,r=(0,j3.Y6)(i,e.shape);return{x:()=>(0,Y5.B)(e,r)}}},H5={kernelName:f3.hVg,gradFunc:e=>({x:()=>(0,R3.P)(e)})},W5={kernelName:f3.TOR,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,b3.H)((0,v3.y)(e,(0,g3.l)((0,k5.n)(n,1.5),2)))}}};var X5=__webpack_require__(89881); +const Z5={kernelName:b3.D7i,gradFunc:(e,t,n)=>{const{dims:i}=n,r=(0,q3.Y6)(i,e.shape);return{x:()=>(0,K5.B)(e,r)}}},Q5={kernelName:b3.hVg,gradFunc:e=>({x:()=>(0,B3.P)(e)})},J5={kernelName:b3.TOR,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,A3.H)((0,I3.y)(e,(0,x3.l)((0,P5.n)(n,1.5),2)))}}};var e6=__webpack_require__(89881); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10820,7 +10820,7 @@ const G5={kernelName:f3.D7i,gradFunc:(e,t,n)=>{const{dims:i}=n,r=(0,j3.Y6)(i,e.s * limitations under the License. * ============================================================================= */ -const q5={kernelName:f3.l6P,inputsToSave:["condition"],gradFunc:(e,t)=>{const[n]=t;return{condition:()=>(0,m3.w)((0,R3.P)(n),"float32"),t:()=>(0,g3.l)(e,(0,m3.w)(n,e.dtype)),e:()=>(0,g3.l)(e,(0,m3.w)((0,X5.N)(n),e.dtype))}}};var K5=__webpack_require__(28576); +const t6={kernelName:b3.l6P,inputsToSave:["condition"],gradFunc:(e,t)=>{const[n]=t;return{condition:()=>(0,T3.w)((0,B3.P)(n),"float32"),t:()=>(0,x3.l)(e,(0,T3.w)(n,e.dtype)),e:()=>(0,x3.l)(e,(0,T3.w)((0,e6.N)(n),e.dtype))}}};var n6=__webpack_require__(28576); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10837,7 +10837,7 @@ const q5={kernelName:f3.l6P,inputsToSave:["condition"],gradFunc:(e,t)=>{const[n] * limitations under the License. * ============================================================================= */ -const Z5={kernelName:f3.u$b,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=(0,Q4.r)(n,(0,T3.d)(0)),i=(0,T3.d)(K5.j),r=(0,T3.d)(K5.X),s=(0,g3.l)(e,r),o=(0,g3.l)((0,g3.l)(e,i),(0,R4.o)((0,m3.w)(n,"float32")));return(0,o4._)(t,s,o)}}}},Q5={kernelName:f3.vI1,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)(e,(0,g3.l)(n,(0,w3.j)((0,T3.d)(1),n)))}}},J5={kernelName:f3.YVe,gradFunc:e=>({x:()=>(0,R3.P)(e)})};var e6=__webpack_require__(99907); +const i6={kernelName:b3.u$b,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>{const t=(0,r5.r)(n,(0,S3.d)(0)),i=(0,S3.d)(n6.j),r=(0,S3.d)(n6.X),s=(0,x3.l)(e,r),o=(0,x3.l)((0,x3.l)(e,i),(0,B4.o)((0,T3.w)(n,"float32")));return(0,h4._)(t,s,o)}}}},r6={kernelName:b3.vI1,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)(e,(0,x3.l)(n,(0,M3.j)((0,S3.d)(1),n)))}}},s6={kernelName:b3.YVe,gradFunc:e=>({x:()=>(0,B3.P)(e)})};var o6=__webpack_require__(99907); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10854,7 +10854,7 @@ const Z5={kernelName:f3.u$b,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const t6={kernelName:f3.hql,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)((0,e6.g)((0,m3.w)(n,"float32")),e)}}};var n6=__webpack_require__(27451); +const a6={kernelName:b3.hql,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)((0,o6.g)((0,T3.w)(n,"float32")),e)}}};var l6=__webpack_require__(27451); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10871,7 +10871,7 @@ const t6={kernelName:f3.hql,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const i6={kernelName:f3.J3C,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)((0,n6.y)((0,m3.w)(n,"float32")),e)}}};var r6=__webpack_require__(65661),s6=__webpack_require__(34969); +const u6={kernelName:b3.J3C,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)((0,l6.y)((0,T3.w)(n,"float32")),e)}}};var c6=__webpack_require__(65661),d6=__webpack_require__(34969); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10888,7 +10888,7 @@ const i6={kernelName:f3.J3C,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const o6={kernelName:f3.JiE,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{begin:r,size:s}=n,o=i.shape,[a,l]=(0,s6.parseSliceParams)(i,r,s),u=[];for(let t=0;t(0,r6.e)(e,u)}}},a6={kernelName:f3.rFG,outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i]=t,{dim:r}=n,s=(0,g3.l)(e,i);return{logits:()=>(0,w3.j)(s,(0,g3.l)((0,O3.c)(s,[r],true),i))}}};var l6=__webpack_require__(28968); +const h6={kernelName:b3.JiE,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{begin:r,size:s}=n,o=i.shape,[a,l]=(0,d6.parseSliceParams)(i,r,s),u=[];for(let t=0;t(0,c6.e)(e,u)}}},p6={kernelName:b3.rFG,outputsToSave:[!0],gradFunc:(e,t,n)=>{const[i]=t,{dim:r}=n,s=(0,x3.l)(e,i);return{logits:()=>(0,M3.j)(s,(0,x3.l)((0,F3.c)(s,[r],true),i))}}};var f6=__webpack_require__(28968); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10905,7 +10905,7 @@ const o6={kernelName:f3.JiE,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{be * limitations under the License. * ============================================================================= */ -const u6={kernelName:f3.Fin,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)(e,(0,l6.r)(n))}}};var c6=__webpack_require__(69772); +const m6={kernelName:b3.Fin,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)(e,(0,f6.r)(n))}}};var g6=__webpack_require__(69772); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10922,7 +10922,7 @@ const u6={kernelName:f3.Fin,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;retur * limitations under the License. * ============================================================================= */ -const d6={kernelName:f3.A8B,gradFunc:(e,t,n)=>{const{blockShape:i,paddings:r}=n;return{x:()=>(0,c6.G)(e,i,r)}}};var h6=__webpack_require__(25030); +const _6={kernelName:b3.A8B,gradFunc:(e,t,n)=>{const{blockShape:i,paddings:r}=n;return{x:()=>(0,g6.G)(e,i,r)}}};var y6=__webpack_require__(25030); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10939,7 +10939,7 @@ const d6={kernelName:f3.A8B,gradFunc:(e,t,n)=>{const{blockShape:i,paddings:r}=n; * limitations under the License. * ============================================================================= */ -const p6={kernelName:f3.Blb,gradFunc:(e,t,n)=>{const{axis:i}=n;return{x:()=>(0,h6.x)(e,i)}}},f6={kernelName:f3.dFH,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,v3.y)(e,(0,g3.l)((0,x3.R)((0,m3.w)(n,"float32")),2))}}},m6={kernelName:f3.M6A,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)(e,(0,g3.l)((0,m3.w)(n,"float32"),2))}}},g6={kernelName:f3.Ddj,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,T3.d)(2);return{a:()=>(0,g3.l)(e,(0,g3.l)(r,(0,w3.j)(n,i))),b:()=>(0,g3.l)(e,(0,g3.l)(r,(0,w3.j)(i,n)))}}},_6={kernelName:f3.pnw,gradFunc:e=>({x:()=>(0,R3.P)(e)})},y6={kernelName:f3.PbM,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=S3.assertAndGetBroadcastShape(n.shape,i.shape);return{a:()=>{let t=e;const i=S3.getReductionAxes(n.shape,r);return i.length>0&&(t=(0,O3.c)(t,i)),(0,C3.t)(t,n.shape)},b:()=>{let t=e;const n=S3.getReductionAxes(i.shape,r);return n.length>0&&(t=(0,O3.c)(t,n)),(0,C3.t)((0,b3.H)(t),i.shape)}}}},v6={kernelName:f3.WuN,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,r=i.shape.slice(),{axis:s}=n;(0,j3.Y6)(s,i.shape).forEach(e=>{r[e]=1});const o=(0,C3.t)(e,r),a=(0,g3.l)(o,(0,f5.S)(i.shape,"float32"));return{x:()=>a}}},b6={kernelName:f3.oFs,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,v3.y)(e,(0,E3.E)((0,e6.g)(n)))}}},T6={kernelName:f3.iuW,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,g3.l)((0,w3.j)((0,T3.d)(1),(0,E3.E)(n)),e)}}},x6={kernelName:f3.FAs,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{reps:r}=n;return{x:()=>{let t=(0,R3.P)(i);if(1===i.rank)for(let n=0;n{const i=n,{perm:r}=i,s=E4.gx(r);return{x:()=>(0,I4.m)(e,s)}}},w6={kernelName:f3.dXR,gradFunc:(e,t,n)=>{const i=n,{axis:r}=i;return{value:()=>(0,z4.t)(e,r)}}};var I6=__webpack_require__(8710),A6=__webpack_require__(48229),S6=__webpack_require__(30178); +const v6={kernelName:b3.Blb,gradFunc:(e,t,n)=>{const{axis:i}=n;return{x:()=>(0,y6.x)(e,i)}}},b6={kernelName:b3.dFH,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,I3.y)(e,(0,x3.l)((0,C3.R)((0,T3.w)(n,"float32")),2))}}},T6={kernelName:b3.M6A,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)(e,(0,x3.l)((0,T3.w)(n,"float32"),2))}}},x6={kernelName:b3.Ddj,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=(0,S3.d)(2);return{a:()=>(0,x3.l)(e,(0,x3.l)(r,(0,M3.j)(n,i))),b:()=>(0,x3.l)(e,(0,x3.l)(r,(0,M3.j)(i,n)))}}},E6={kernelName:b3.pnw,gradFunc:e=>({x:()=>(0,B3.P)(e)})},w6={kernelName:b3.PbM,inputsToSave:["a","b"],gradFunc:(e,t)=>{const[n,i]=t,r=N3.assertAndGetBroadcastShape(n.shape,i.shape);return{a:()=>{let t=e;const i=N3.getReductionAxes(n.shape,r);return i.length>0&&(t=(0,F3.c)(t,i)),(0,D3.t)(t,n.shape)},b:()=>{let t=e;const n=N3.getReductionAxes(i.shape,r);return n.length>0&&(t=(0,F3.c)(t,n)),(0,D3.t)((0,A3.H)(t),i.shape)}}}},I6={kernelName:b3.WuN,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,r=i.shape.slice(),{axis:s}=n;(0,q3.Y6)(s,i.shape).forEach(e=>{r[e]=1});const o=(0,D3.t)(e,r),a=(0,x3.l)(o,(0,b5.S)(i.shape,"float32"));return{x:()=>a}}},A6={kernelName:b3.oFs,inputsToSave:["x"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,I3.y)(e,(0,O3.E)((0,o6.g)(n)))}}},S6={kernelName:b3.iuW,outputsToSave:[!0],gradFunc:(e,t)=>{const[n]=t;return{x:()=>(0,x3.l)((0,M3.j)((0,S3.d)(1),(0,O3.E)(n)),e)}}},C6={kernelName:b3.FAs,inputsToSave:["x"],gradFunc:(e,t,n)=>{const[i]=t,{reps:r}=n;return{x:()=>{let t=(0,B3.P)(i);if(1===i.rank)for(let n=0;n{const i=n,{perm:r}=i,s=O4.gx(r);return{x:()=>(0,k4.m)(e,s)}}},M6={kernelName:b3.dXR,gradFunc:(e,t,n)=>{const i=n,{axis:r}=i;return{value:()=>(0,X4.t)(e,r)}}};var k6=__webpack_require__(8710),R6=__webpack_require__(48229),N6=__webpack_require__(30178); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10956,7 +10956,7 @@ const p6={kernelName:f3.Blb,gradFunc:(e,t,n)=>{const{axis:i}=n;return{x:()=>(0,h * limitations under the License. * ============================================================================= */ -const C6={kernelName:f3.pPe,inputsToSave:["segmentIds"],gradFunc:(e,t)=>{const[n]=t;return{x:()=>function(e,t){const n=(0,S6.P)(t,(0,R3.P)(t)),i=(0,A6.k)(e,n);let r=(0,i4.D)(t,(0,T3.d)(0,"int32"));const s=i.rank-r.rank;for(let e=0;e{const[n]=t;return{x:()=>function(e,t){const n=(0,N6.P)(t,(0,B3.P)(t)),i=(0,R6.k)(e,n);let r=(0,u4.D)(t,(0,S3.d)(0,"int32"));const s=i.rank-r.rank;for(let e=0;e{const[n * limitations under the License. * ============================================================================= */ -const O6={kernelName:f3.xJ3,gradFunc:e=>({x:()=>(0,R3.P)(e)})};var M6=__webpack_require__(37074); +const F6={kernelName:b3.xJ3,gradFunc:e=>({x:()=>(0,B3.P)(e)})};var L6=__webpack_require__(37074); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -10990,7 +10990,7 @@ const O6={kernelName:f3.xJ3,gradFunc:e=>({x:()=>(0,R3.P)(e)})};var M6=__webpack_ * limitations under the License. * ============================================================================= */ -const k6=[y3,I3,A3,M3,k3,N3,D3,F3,P3,B3,$3,U3,W3,q3,Z3,J3,e4,t4,n4,a4,l4,c4,m4,p4,y4,b4,x4,A4,O4,M4,P5,k4,N4,D4,F4,L4,B4,P4,V4,Y4,W4,X4,q4,K4,Z4,J4,e5,t5,n5,r5,a5,a5,u5,d5,p5,m5,g5,_5,v5,T5,x5,E5,I5,A5,C5,O5,O5,R5,N5,L5,B5,$5,U5,V5,z5,j5,G5,H5,W5,q5,Z5,Q5,J5,t6,i6,o6,a6,u6,d6,d6,p6,p6,f6,g6,m6,_6,y6,v6,b6,T6,x6,E6,w6,C6,O6];for(const e of k6)(0,M6.kr)(e);__webpack_require__(20455); +const P6=[w3,k3,R3,L3,P3,$3,U3,V3,j3,Y3,G3,H3,J3,t4,i4,s4,o4,a4,l4,p4,f4,g4,T4,v4,w4,A4,C4,R4,F4,L4,j5,P4,$4,U4,V4,z4,Y4,j4,W4,K4,J4,e5,t5,n5,i5,s5,o5,a5,l5,c5,p5,p5,m5,_5,v5,T5,x5,E5,I5,S5,C5,O5,k5,R5,D5,F5,F5,B5,$5,z5,Y5,G5,H5,W5,X5,q5,Z5,Q5,J5,t6,i6,r6,s6,a6,u6,h6,p6,m6,_6,_6,v6,v6,b6,x6,T6,E6,w6,I6,A6,S6,C6,O6,M6,D6,F6];for(const e of P6)(0,L6.kr)(e);__webpack_require__(20455); /** * @license * Copyright 2018 Google LLC @@ -11000,7 +11000,7 @@ const k6=[y3,I3,A3,M3,k3,N3,D3,F3,P3,B3,$3,U3,W3,q3,Z3,J3,e4,t4,n4,a4,l4,c4,m4,p * https://opensource.org/licenses/MIT. * ============================================================================= */ -class R6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,R6.prototype)}}class N6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,N6.prototype)}}class D6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,D6.prototype)}}class F6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,F6.prototype)}}class L6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,L6.prototype)}}Error; +class B6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,B6.prototype)}}class $6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,$6.prototype)}}class U6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,U6.prototype)}}class V6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,V6.prototype)}}class z6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,z6.prototype)}}Error; /** * @license * Copyright 2022 Google LLC @@ -11010,7 +11010,7 @@ class R6 extends Error{constructor(e){super(e),Object.setPrototypeOf(this,R6.pro * https://opensource.org/licenses/MIT. * ============================================================================= */ -class P6{constructor(e){this.maxEntries=e||100,this.cache=new Map}get(e){let t;return this.cache.has(e)&&(t=this.cache.get(e),this.cache.delete(e),this.cache.set(e,t)),t}put(e,t){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxEntries){const e=this.cache.keys().next().value;this.cache.delete(e)}this.cache.set(e,t)}getMaxEntries(){return this.maxEntries}setMaxEntries(e){if(e<0)throw new Error(`The maxEntries of LRU caches must be at least 0, but got ${e}.`);if(this.maxEntries>e)for(let t=0;t=this.maxEntries){const e=this.cache.keys().next().value;this.cache.delete(e)}this.cache.set(e,t)}getMaxEntries(){return this.maxEntries}setMaxEntries(e){if(e<0)throw new Error(`The maxEntries of LRU caches must be at least 0, but got ${e}.`);if(this.maxEntries>e)for(let t=0;tt.toUpperCase())}let G6={};function H6(e){if(null==e)return null;const t={};return t.className=e.getClassName(),t.config=e.getConfig(),t}function W6(e){if(null!=e&&"object"==typeof e)if(Array.isArray(e))e.forEach(e=>W6(e));else{const t=Object.keys(e);for(const n of t){const t=e[n];null!=t&&"object"==typeof t&&(Array.isArray(t)||"ndarray"!==t.type||"number"!=typeof t.value?W6(t):e[n]=t.value)}}}function X6(e,t={},n={},i="object",r=!1){if("string"==typeof e){const r=e;let s;if(r in n)s=n[r];else if(r in G6)s=G6[r];else if(s=t[r],null==s)throw new D6(`Unknown ${i}: ${e}. This may be due to one of the following reasons:\n1. The ${i} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${i} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);return s}{const s=e;if(null==s.className||null==s.config)throw new D6(`${i}: Improper config format: ${JSON.stringify(s)}.\n'className' and 'config' must set.`);const o=s.className;let a,l;if(o in n?[a,l]=n[o]:o in G6?[a,l]=G6.className:o in t&&([a,l]=t[o]),null==a)throw new D6(`Unknown ${i}: ${o}. This may be due to one of the following reasons:\n1. The ${i} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${i} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);if(null!=l){const e={};for(const t of Object.keys(G6))e[t]=G6[t];for(const t of Object.keys(n))e[t]=n[t];s.config.customObjects=e;const t=Object.assign({},G6);for(const e of Object.keys(n))G6[e]=n[e];W6(s.config);const i=l(a,s.config,n,r);return G6=Object.assign({},t),i}{const e=Object.assign({},G6);for(const e of Object.keys(n))G6[e]=n[e];const t=new a(s.config);return G6=Object.assign({},e),t}}}function q6(e,t){return-1*function(e,t){return et?1:0}(e,t)}function K6(e){if(null==e)return e;const t=[];for(const n of e)-1===t.indexOf(n)&&t.push(n);return t}function Z6(e){if(null==e)throw new D6(`Invalid value in obj: ${JSON.stringify(e)}`);for(const t in e)if(e.hasOwnProperty(t))return!1;return!0}function Q6(e,t,n){if(null!=n&&e.indexOf(n)<0)throw new D6(`${n} is not a valid ${t}. Valid values are ${e} or null/undefined.`)}function J6(e,t,n=0,i=1/0){return $6(n>=0),$6(i>=n),Array.isArray(e)&&e.length>=n&&e.length<=i&&e.every(e=>typeof e===t)}function e8(e,t){Array.isArray(e)?(p3.util.assert(e.length>0,()=>`${t} is unexpectedly an empty array.`),e.forEach((e,n)=>e8(e,`element ${n+1} of ${t}`))):p3.util.assert(Number.isInteger(e)&&e>0,()=>`Expected ${t} to be a positive integer, but got ${t8(e)}.`)}function t8(e){return null===e?"null":Array.isArray(e)?"["+e.map(e=>t8(e)).join(",")+"]":"string"==typeof e?`"${e}"`:`${e}`}function n8(e){return"relu"===e?"relu":"linear"===e?"linear":"elu"===e?"elu":null} +function Y6(e,t){if(Array.isArray(e)){let n=[];for(let i=0;it.toUpperCase())}let Z6={};function Q6(e){if(null==e)return null;const t={};return t.className=e.getClassName(),t.config=e.getConfig(),t}function J6(e){if(null!=e&&"object"==typeof e)if(Array.isArray(e))e.forEach(e=>J6(e));else{const t=Object.keys(e);for(const n of t){const t=e[n];null!=t&&"object"==typeof t&&(Array.isArray(t)||"ndarray"!==t.type||"number"!=typeof t.value?J6(t):e[n]=t.value)}}}function e8(e,t={},n={},i="object",r=!1){if("string"==typeof e){const r=e;let s;if(r in n)s=n[r];else if(r in Z6)s=Z6[r];else if(s=t[r],null==s)throw new U6(`Unknown ${i}: ${e}. This may be due to one of the following reasons:\n1. The ${i} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${i} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);return s}{const s=e;if(null==s.className||null==s.config)throw new U6(`${i}: Improper config format: ${JSON.stringify(s)}.\n'className' and 'config' must set.`);const o=s.className;let a,l;if(o in n?[a,l]=n[o]:o in Z6?[a,l]=Z6.className:o in t&&([a,l]=t[o]),null==a)throw new U6(`Unknown ${i}: ${o}. This may be due to one of the following reasons:\n1. The ${i} is defined in Python, in which case it needs to be ported to TensorFlow.js or your JavaScript code.\n2. The custom ${i} is defined in JavaScript, but is not registered properly with tf.serialization.registerClass().`);if(null!=l){const e={};for(const t of Object.keys(Z6))e[t]=Z6[t];for(const t of Object.keys(n))e[t]=n[t];s.config.customObjects=e;const t=Object.assign({},Z6);for(const e of Object.keys(n))Z6[e]=n[e];J6(s.config);const i=l(a,s.config,n,r);return Z6=Object.assign({},t),i}{const e=Object.assign({},Z6);for(const e of Object.keys(n))Z6[e]=n[e];const t=new a(s.config);return Z6=Object.assign({},e),t}}}function t8(e,t){return-1*function(e,t){return et?1:0}(e,t)}function n8(e){if(null==e)return e;const t=[];for(const n of e)-1===t.indexOf(n)&&t.push(n);return t}function i8(e){if(null==e)throw new U6(`Invalid value in obj: ${JSON.stringify(e)}`);for(const t in e)if(e.hasOwnProperty(t))return!1;return!0}function r8(e,t,n){if(null!=n&&e.indexOf(n)<0)throw new U6(`${n} is not a valid ${t}. Valid values are ${e} or null/undefined.`)}function s8(e,t,n=0,i=1/0){return G6(n>=0),G6(i>=n),Array.isArray(e)&&e.length>=n&&e.length<=i&&e.every(e=>typeof e===t)}function o8(e,t){Array.isArray(e)?(v3.util.assert(e.length>0,()=>`${t} is unexpectedly an empty array.`),e.forEach((e,n)=>o8(e,`element ${n+1} of ${t}`))):v3.util.assert(Number.isInteger(e)&&e>0,()=>`Expected ${t} to be a positive integer, but got ${a8(e)}.`)}function a8(e){return null===e?"null":Array.isArray(e)?"["+e.map(e=>a8(e)).join(",")+"]":"string"==typeof e?`"${e}"`:`${e}`}function l8(e){return"relu"===e?"relu":"linear"===e?"linear":"elu"===e?"elu":null} /** * @license * Copyright 2018 Google LLC @@ -11030,7 +11030,7 @@ function B6(e,t){if(Array.isArray(e)){let n=[];for(let i=0;i0){const n=`${e}_${t}`;return h8.set(n,1),n}return e}const b8=new RegExp(/^[A-Za-z0-9][-A-Za-z0-9\._\/]*$/);function T8(e){return!!e.match(b8)} +const p8=["channelsFirst","channelsLast"],f8=["nearest","bilinear"],m8=["valid","same","causal"],g8=["max","avg"],_8=["sum","mul","concat","ave"],y8=new Map;function v8(e){r8(p8,"DataFormat",e)}function b8(e){r8(m8,"PaddingMode",e)}function T8(e){r8(g8,"PoolMode",e)}const x8=[];function E8(e,t){x8.push(e);try{const e=t();return x8.pop(),e}catch(e){throw x8.pop(),e}}function w8(e){if(!S8(e))throw new Error("Not a valid tensor name: '"+e+"'");return(0===x8.length?"":x8.join("/")+"/")+e}function I8(e){if(!S8(e))throw new Error("Not a valid tensor name: '"+e+"'");y8.has(e)||y8.set(e,0);const t=y8.get(e);if(y8.set(e,y8.get(e)+1),t>0){const n=`${e}_${t}`;return y8.set(n,1),n}return e}const A8=new RegExp(/^[A-Za-z0-9][-A-Za-z0-9\._\/]*$/);function S8(e){return!!e.match(A8)} /** * @license * Copyright 2018 Google LLC @@ -11050,7 +11050,7 @@ const a8=["channelsFirst","channelsLast"],l8=["nearest","bilinear"],u8=["valid", * https://opensource.org/licenses/MIT. * ============================================================================= */ -function x8(e){return e===parseInt(e.toString(),10)}function E8(e,t,n){null==t&&(t=0),null==n&&(n=e.length);let i=1;for(let r=t;rt&&(t=i)}return t}function A8(e,t){if(tt&&(t=i)}return t}function R8(e,t){if(t{switch(e.rank){case 1:return p3.slice1d(e,t,n);case 2:return p3.slice2d(e,[t,0],[n,e.shape[1]]);case 3:return p3.slice3d(e,[t,0,0],[n,e.shape[1],e.shape[2]]);case 4:return p3.slice4d(e,[t,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3]]);case 5:return p3.slice(e,[t,0,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3],e.shape[4]]);case 6:return p3.slice(e,[t,0,0,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3],e.shape[4],e.shape[5]]);default:throw new D6(`sliceAlongFirstAxis() received an unsupported tensor rank: ${e.rank}`)}})}function R8(e,t,n){return(0,p3.tidy)(()=>{switch(e.rank){case 1:return p3.slice1d(e,t,n);case 2:return p3.slice2d(e,[0,t],[e.shape[0],n]);case 3:return p3.slice3d(e,[0,0,t],[e.shape[0],e.shape[1],n]);case 4:return p3.slice4d(e,[0,0,0,t],[e.shape[0],e.shape[1],e.shape[2],n]);default:throw new D6(`sliceAlongLastAxis() received an unsupported tensor rank: ${e.rank}`)}})}function N8(e,t,n,i){return(0,p3.tidy)(()=>{switch(e.rank){case 1:return p3.slice1d(e,t,n);case 2:switch(i){case 1:return k8(e,t,n);case 2:return R8(e,t,n);default:throw new D6(`The axis is not within the rank of the tensor ${i}`)}case 3:switch(i){case 1:return k8(e,t,n);case 2:return p3.slice3d(e,[0,t,0],[e.shape[0],n,e.shape[2]]);case 3:return R8(e,t,n);default:throw new D6(`The axis is not within the rank of the tensor ${i}`)}case 4:switch(i){case 1:return k8(e,t,n);case 2:return p3.slice4d(e,[0,t,0,0],[e.shape[0],n,e.shape[2],e.shape[3]]);case 3:return p3.slice4d(e,[0,0,t,0],[e.shape[0],e.shape[1],n,e.shape[3]]);case 4:return R8(e,t,n);default:throw new D6(`The axis is not within the rank of the tensor ${i}`)}default:throw new D6(`sliceAlongLastAxis() received an unsupported tensor rank: ${e.rank}`)}})}function D8(e,t=-1){let n;return t<0&&(n=e[0].rank,t=0!==n?n:0),t===e[0].rank&&(t=-1),p3.concat(e,t)}function F8(e,t){switch(e.rank){case 1:return p3.concat1d([e,t]);case 2:return p3.concat2d([e,t],0);case 3:return p3.concat3d([e,t],0);case 4:return p3.concat4d([e,t],0);default:throw new D6(`concatAlongFirstAxis() received an unsupported tensor rank: ${e.rank}`)}}function L8(e,t){if(Array.isArray(t)||(t=[t]),e.rank!==t.length)throw new D6(`The length of input n (${t.length}) does not match the number of dimensions in input x (${e.rank})`);return p3.tile(e,t)}function P8(e,t=0,n=1,i,r){return p3.randomNormal(e,t,n,i,r)}function B8(e,t,n,i){if(e.rank<2||t.rank<2)throw new F6(`dot requires both inputs to be rank >= 2 but got x shape = ${e.shape} and y shape = ${t.shape}`);if(t.rank>=3){if(e.shape.slice(-1)[0]!==t.shape.slice(-2)[0])throw new F6(`If rank y >= 3, then the second last dim of y must equal the last dim of x but got x shape = ${e.shape} and y shape = ${t.shape}`)}if(2===e.rank&&2===t.rank){const r=!1,s=!1;return p3.fused.matMul({a:e,b:t,transposeA:r,transposeB:s,bias:i?V8(e.rank,i,"channelsLast"):null,activation:n})}{const r=e.shape.slice(),s=r.pop();e=p3.reshape(e,[-1,s]);const o=t.shape.slice(),a=o.pop(),l=o.pop(),u=[...o,a],c=Array.from({length:t.rank},(e,n)=>0===n?t.rank-2:n<=t.rank-2?n-1:n);t=p3.reshape(p3.transpose(t,c),[l,-1]);const d=[...r,...u],h=!1,p=!1;return p3.reshape(p3.fused.matMul({a:e,b:t,transposeA:h,transposeB:p,bias:i?V8(e.rank,i,"channelsLast"):null,activation:n}),d)}}function $8(e,t,n){return(0,p3.tidy)(()=>(t=Array.isArray(t)?(0,p3.tensor1d)(t,"int32"):p3.cast(t,"int32"),p3.gather(e,t,n)))}function U8(e){return p3.mul(e,e)}function V8(e,t,n){const i=t.shape;if(1!==t.rank&&t.rank!==e)throw new D6(`Unexpected bias dimensions: ${t.rank}; expected it to be 1 or ${e}`);if(5===e){if("channelsFirst"===n)return 1===i.length?p3.reshape(t,[1,i[0],1,1,1]):p3.reshape(t,[1,i[3],i[0],i[1],i[2]]);if("channelsLast"===n)return 1===i.length?p3.reshape(t,[1,1,1,1,i[0]]):p3.reshape(t,[1].concat(i))}else if(4===e){if("channelsFirst"===n)return 1===i.length?p3.reshape(t,[1,i[0],1,1]):p3.reshape(t,[1,i[2],i[0],i[1]]);if("channelsLast"===n)return 1===i.length?p3.reshape(t,[1,1,1,i[0]]):p3.reshape(t,[1].concat(i))}else if(3===e){if("channelsFirst"===n)return 1===i.length?p3.reshape(t,[1,i[0],1]):p3.reshape(t,[1,i[1],i[0]]);if("channelsLast"===n)return 1===i.length?p3.reshape(t,[1,1,i[0]]):p3.reshape(t,[1].concat(i))}else if(e<3)return t;throw new D6(`Unsupported input rank by biasAdd: ${t.rank}`)}function z8(e,t,n){return(0,p3.tidy)(()=>(null==n&&(n="channelsLast"),p8(n),p3.add(e,V8(e.rank,t,n))))}function j8(e,t,n,i){return(0,p3.tidy)(()=>p3.dropout(e,t,n,i))}function Y8(e,t,n=!1){return n?e():t()} +let N8;function D8(){return null==N8&&(N8=(0,v3.backend)().epsilon()),N8}function F8(e,t){return v3.cast(e,t)}function L8(e,t=-1){const n=e.shape.slice();return t<0&&(t=n.length+t+1),n.splice(t,0,1),v3.reshape(e,n)}function P8(e,t,n){return(0,v3.tidy)(()=>{switch(e.rank){case 1:return v3.slice1d(e,t,n);case 2:return v3.slice2d(e,[t,0],[n,e.shape[1]]);case 3:return v3.slice3d(e,[t,0,0],[n,e.shape[1],e.shape[2]]);case 4:return v3.slice4d(e,[t,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3]]);case 5:return v3.slice(e,[t,0,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3],e.shape[4]]);case 6:return v3.slice(e,[t,0,0,0,0,0],[n,e.shape[1],e.shape[2],e.shape[3],e.shape[4],e.shape[5]]);default:throw new U6(`sliceAlongFirstAxis() received an unsupported tensor rank: ${e.rank}`)}})}function B8(e,t,n){return(0,v3.tidy)(()=>{switch(e.rank){case 1:return v3.slice1d(e,t,n);case 2:return v3.slice2d(e,[0,t],[e.shape[0],n]);case 3:return v3.slice3d(e,[0,0,t],[e.shape[0],e.shape[1],n]);case 4:return v3.slice4d(e,[0,0,0,t],[e.shape[0],e.shape[1],e.shape[2],n]);default:throw new U6(`sliceAlongLastAxis() received an unsupported tensor rank: ${e.rank}`)}})}function $8(e,t,n,i){return(0,v3.tidy)(()=>{switch(e.rank){case 1:return v3.slice1d(e,t,n);case 2:switch(i){case 1:return P8(e,t,n);case 2:return B8(e,t,n);default:throw new U6(`The axis is not within the rank of the tensor ${i}`)}case 3:switch(i){case 1:return P8(e,t,n);case 2:return v3.slice3d(e,[0,t,0],[e.shape[0],n,e.shape[2]]);case 3:return B8(e,t,n);default:throw new U6(`The axis is not within the rank of the tensor ${i}`)}case 4:switch(i){case 1:return P8(e,t,n);case 2:return v3.slice4d(e,[0,t,0,0],[e.shape[0],n,e.shape[2],e.shape[3]]);case 3:return v3.slice4d(e,[0,0,t,0],[e.shape[0],e.shape[1],n,e.shape[3]]);case 4:return B8(e,t,n);default:throw new U6(`The axis is not within the rank of the tensor ${i}`)}default:throw new U6(`sliceAlongLastAxis() received an unsupported tensor rank: ${e.rank}`)}})}function U8(e,t=-1){let n;return t<0&&(n=e[0].rank,t=0!==n?n:0),t===e[0].rank&&(t=-1),v3.concat(e,t)}function V8(e,t){switch(e.rank){case 1:return v3.concat1d([e,t]);case 2:return v3.concat2d([e,t],0);case 3:return v3.concat3d([e,t],0);case 4:return v3.concat4d([e,t],0);default:throw new U6(`concatAlongFirstAxis() received an unsupported tensor rank: ${e.rank}`)}}function z8(e,t){if(Array.isArray(t)||(t=[t]),e.rank!==t.length)throw new U6(`The length of input n (${t.length}) does not match the number of dimensions in input x (${e.rank})`);return v3.tile(e,t)}function j8(e,t=0,n=1,i,r){return v3.randomNormal(e,t,n,i,r)}function Y8(e,t,n,i){if(e.rank<2||t.rank<2)throw new V6(`dot requires both inputs to be rank >= 2 but got x shape = ${e.shape} and y shape = ${t.shape}`);if(t.rank>=3){if(e.shape.slice(-1)[0]!==t.shape.slice(-2)[0])throw new V6(`If rank y >= 3, then the second last dim of y must equal the last dim of x but got x shape = ${e.shape} and y shape = ${t.shape}`)}if(2===e.rank&&2===t.rank){const r=!1,s=!1;return v3.fused.matMul({a:e,b:t,transposeA:r,transposeB:s,bias:i?W8(e.rank,i,"channelsLast"):null,activation:n})}{const r=e.shape.slice(),s=r.pop();e=v3.reshape(e,[-1,s]);const o=t.shape.slice(),a=o.pop(),l=o.pop(),u=[...o,a],c=Array.from({length:t.rank},(e,n)=>0===n?t.rank-2:n<=t.rank-2?n-1:n);t=v3.reshape(v3.transpose(t,c),[l,-1]);const d=[...r,...u],h=!1,p=!1;return v3.reshape(v3.fused.matMul({a:e,b:t,transposeA:h,transposeB:p,bias:i?W8(e.rank,i,"channelsLast"):null,activation:n}),d)}}function G8(e,t,n){return(0,v3.tidy)(()=>(t=Array.isArray(t)?(0,v3.tensor1d)(t,"int32"):v3.cast(t,"int32"),v3.gather(e,t,n)))}function H8(e){return v3.mul(e,e)}function W8(e,t,n){const i=t.shape;if(1!==t.rank&&t.rank!==e)throw new U6(`Unexpected bias dimensions: ${t.rank}; expected it to be 1 or ${e}`);if(5===e){if("channelsFirst"===n)return 1===i.length?v3.reshape(t,[1,i[0],1,1,1]):v3.reshape(t,[1,i[3],i[0],i[1],i[2]]);if("channelsLast"===n)return 1===i.length?v3.reshape(t,[1,1,1,1,i[0]]):v3.reshape(t,[1].concat(i))}else if(4===e){if("channelsFirst"===n)return 1===i.length?v3.reshape(t,[1,i[0],1,1]):v3.reshape(t,[1,i[2],i[0],i[1]]);if("channelsLast"===n)return 1===i.length?v3.reshape(t,[1,1,1,i[0]]):v3.reshape(t,[1].concat(i))}else if(3===e){if("channelsFirst"===n)return 1===i.length?v3.reshape(t,[1,i[0],1]):v3.reshape(t,[1,i[1],i[0]]);if("channelsLast"===n)return 1===i.length?v3.reshape(t,[1,1,i[0]]):v3.reshape(t,[1].concat(i))}else if(e<3)return t;throw new U6(`Unsupported input rank by biasAdd: ${t.rank}`)}function X8(e,t,n){return(0,v3.tidy)(()=>(null==n&&(n="channelsLast"),v8(n),v3.add(e,W8(e.rank,t,n))))}function q8(e,t,n,i){return(0,v3.tidy)(()=>v3.dropout(e,t,n,i))}function K8(e,t,n=!1){return n?e():t()} /** * @license * Copyright 2018 Google LLC @@ -11070,7 +11070,7 @@ let S8;function C8(){return null==S8&&(S8=(0,p3.backend)().epsilon()),S8}functio * https://opensource.org/licenses/MIT. * ============================================================================= */ -const G8=["fanIn","fanOut","fanAvg"],H8=["normal","uniform","truncatedNormal"];class W8 extends p3.serialization.Serializable{fromConfigUsesCustomObjects(){return!1}getConfig(){return{}}}class X8 extends W8{apply(e,t){return(0,p3.zeros)(e,t)}}X8.className="Zeros",p3.serialization.registerClass(X8);class q8 extends W8{apply(e,t){return(0,p3.ones)(e,t)}}q8.className="Ones",p3.serialization.registerClass(q8);class K8 extends W8{constructor(e){if(super(),"object"!=typeof e)throw new D6(`Expected argument of type ConstantConfig but got ${e}`);if(void 0===e.value)throw new D6(`config must have value set but got ${e}`);this.value=e.value}apply(e,t){return(0,p3.tidy)(()=>(0,p3.mul)((0,p3.scalar)(this.value),(0,p3.ones)(e,t)))}getConfig(){return{value:this.value}}}K8.className="Constant",p3.serialization.registerClass(K8);class Z8 extends W8{constructor(e){super(),this.DEFAULT_MINVAL=-.05,this.DEFAULT_MAXVAL=.05,this.minval=e.minval||this.DEFAULT_MINVAL,this.maxval=e.maxval||this.DEFAULT_MAXVAL,this.seed=e.seed}apply(e,t){return(0,p3.randomUniform)(e,this.minval,this.maxval,t,this.seed)}getConfig(){return{minval:this.minval,maxval:this.maxval,seed:this.seed}}}Z8.className="RandomUniform",p3.serialization.registerClass(Z8);class Q8 extends W8{constructor(e){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=e.mean||this.DEFAULT_MEAN,this.stddev=e.stddev||this.DEFAULT_STDDEV,this.seed=e.seed}apply(e,t){if("float32"!==(t=t||"float32")&&"int32"!==t)throw new F6(`randomNormal does not support dType ${t}.`);return P8(e,this.mean,this.stddev,t,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}}Q8.className="RandomNormal",p3.serialization.registerClass(Q8);class J8 extends W8{constructor(e){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=e.mean||this.DEFAULT_MEAN,this.stddev=e.stddev||this.DEFAULT_STDDEV,this.seed=e.seed}apply(e,t){if("float32"!==(t=t||"float32")&&"int32"!==t)throw new F6(`truncatedNormal does not support dType ${t}.`);return(0,p3.truncatedNormal)(e,this.mean,this.stddev,t,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}}J8.className="TruncatedNormal",p3.serialization.registerClass(J8);class e9 extends W8{constructor(e){super(),this.gain=null!=e.gain?e.gain:1}apply(e,t){return(0,p3.tidy)(()=>{if(2!==e.length||e[0]!==e[1])throw new D6("Identity matrix initializer can only be used for 2D square matrices.");return(0,p3.mul)(this.gain,(0,p3.eye)(e[0]))})}getConfig(){return{gain:this.gain}}}e9.className="Identity",p3.serialization.registerClass(e9);class t9 extends W8{constructor(e){if(super(),e.scale<0)throw new D6(`scale must be a positive float. Got: ${e.scale}`); +const Z8=["fanIn","fanOut","fanAvg"],Q8=["normal","uniform","truncatedNormal"];class J8 extends v3.serialization.Serializable{fromConfigUsesCustomObjects(){return!1}getConfig(){return{}}}class e9 extends J8{apply(e,t){return(0,v3.zeros)(e,t)}}e9.className="Zeros",v3.serialization.registerClass(e9);class t9 extends J8{apply(e,t){return(0,v3.ones)(e,t)}}t9.className="Ones",v3.serialization.registerClass(t9);class n9 extends J8{constructor(e){if(super(),"object"!=typeof e)throw new U6(`Expected argument of type ConstantConfig but got ${e}`);if(void 0===e.value)throw new U6(`config must have value set but got ${e}`);this.value=e.value}apply(e,t){return(0,v3.tidy)(()=>(0,v3.mul)((0,v3.scalar)(this.value),(0,v3.ones)(e,t)))}getConfig(){return{value:this.value}}}n9.className="Constant",v3.serialization.registerClass(n9);class i9 extends J8{constructor(e){super(),this.DEFAULT_MINVAL=-.05,this.DEFAULT_MAXVAL=.05,this.minval=e.minval||this.DEFAULT_MINVAL,this.maxval=e.maxval||this.DEFAULT_MAXVAL,this.seed=e.seed}apply(e,t){return(0,v3.randomUniform)(e,this.minval,this.maxval,t,this.seed)}getConfig(){return{minval:this.minval,maxval:this.maxval,seed:this.seed}}}i9.className="RandomUniform",v3.serialization.registerClass(i9);class r9 extends J8{constructor(e){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=e.mean||this.DEFAULT_MEAN,this.stddev=e.stddev||this.DEFAULT_STDDEV,this.seed=e.seed}apply(e,t){if("float32"!==(t=t||"float32")&&"int32"!==t)throw new V6(`randomNormal does not support dType ${t}.`);return j8(e,this.mean,this.stddev,t,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}}r9.className="RandomNormal",v3.serialization.registerClass(r9);class s9 extends J8{constructor(e){super(),this.DEFAULT_MEAN=0,this.DEFAULT_STDDEV=.05,this.mean=e.mean||this.DEFAULT_MEAN,this.stddev=e.stddev||this.DEFAULT_STDDEV,this.seed=e.seed}apply(e,t){if("float32"!==(t=t||"float32")&&"int32"!==t)throw new V6(`truncatedNormal does not support dType ${t}.`);return(0,v3.truncatedNormal)(e,this.mean,this.stddev,t,this.seed)}getConfig(){return{mean:this.mean,stddev:this.stddev,seed:this.seed}}}s9.className="TruncatedNormal",v3.serialization.registerClass(s9);class o9 extends J8{constructor(e){super(),this.gain=null!=e.gain?e.gain:1}apply(e,t){return(0,v3.tidy)(()=>{if(2!==e.length||e[0]!==e[1])throw new U6("Identity matrix initializer can only be used for 2D square matrices.");return(0,v3.mul)(this.gain,(0,v3.eye)(e[0]))})}getConfig(){return{gain:this.gain}}}o9.className="Identity",v3.serialization.registerClass(o9);class a9 extends J8{constructor(e){if(super(),e.scale<0)throw new U6(`scale must be a positive float. Got: ${e.scale}`); /** * @license * Copyright 2018 Google LLC @@ -11080,7 +11080,7 @@ const G8=["fanIn","fanOut","fanAvg"],H8=["normal","uniform","truncatedNormal"];c * https://opensource.org/licenses/MIT. * ============================================================================= */ -var t;this.scale=null==e.scale?1:e.scale,this.mode=null==e.mode?"fanIn":e.mode,t=this.mode,Q6(G8,"FanMode",t),this.distribution=null==e.distribution?"normal":e.distribution,function(e){Q6(H8,"Distribution",e)}(this.distribution),this.seed=e.seed}apply(e,t){const n=function(e,t="channelsLast"){let n,i;if(p8(t),2===e.length)n=e[0],i=e[1];else if(-1!==[3,4,5].indexOf(e.length)){if("channelsFirst"===t){const t=E8(e,2);n=e[1]*t,i=e[0]*t}else if("channelsLast"===t){const t=E8(e,0,e.length-2);n=e[e.length-2]*t,i=e[e.length-1]*t}}else{const t=E8(e);n=Math.sqrt(t),i=Math.sqrt(t)}return[n,i]}(e),i=n[0],r=n[1];let s=this.scale;if("fanIn"===this.mode?s/=Math.max(1,i):"fanOut"===this.mode?s/=Math.max(1,r):s/=Math.max(1,(i+r)/2),"normal"===this.distribution){const n=Math.sqrt(s);if("float32"!==(t=t||"float32")&&"int32"!==t)throw new F6(`${this.getClassName()} does not support dType ${t}.`);return(0,p3.truncatedNormal)(e,0,n,t,this.seed)}{const n=Math.sqrt(3*s);return(0,p3.randomUniform)(e,-n,n,t,this.seed)}}getConfig(){return{scale:this.scale,mode:this.mode,distribution:this.distribution,seed:this.seed}}}t9.className="VarianceScaling",p3.serialization.registerClass(t9);class n9 extends t9{constructor(e){super({scale:1,mode:"fanAvg",distribution:"uniform",seed:null==e?null:e.seed})}getClassName(){return t9.className}}n9.className="GlorotUniform",p3.serialization.registerClass(n9);class i9 extends t9{constructor(e){super({scale:1,mode:"fanAvg",distribution:"normal",seed:null==e?null:e.seed})}getClassName(){return t9.className}}i9.className="GlorotNormal",p3.serialization.registerClass(i9);class r9 extends t9{constructor(e){super({scale:2,mode:"fanIn",distribution:"normal",seed:null==e?null:e.seed})}getClassName(){return t9.className}}r9.className="HeNormal",p3.serialization.registerClass(r9);class s9 extends t9{constructor(e){super({scale:2,mode:"fanIn",distribution:"uniform",seed:null==e?null:e.seed})}getClassName(){return t9.className}}s9.className="HeUniform",p3.serialization.registerClass(s9);class o9 extends t9{constructor(e){super({scale:1,mode:"fanIn",distribution:"normal",seed:null==e?null:e.seed})}getClassName(){return t9.className}}o9.className="LeCunNormal",p3.serialization.registerClass(o9);class a9 extends t9{constructor(e){super({scale:1,mode:"fanIn",distribution:"uniform",seed:null==e?null:e.seed})}getClassName(){return t9.className}}a9.className="LeCunUniform",p3.serialization.registerClass(a9);class l9 extends W8{constructor(e){super(),this.DEFAULT_GAIN=1,this.ELEMENTS_WARN_SLOW=2e3,this.gain=null==e.gain?this.DEFAULT_GAIN:e.gain,this.seed=e.seed}apply(e,t){return(0,p3.tidy)(()=>{if(e.length<2)throw new F6("Shape must be at least 2D.");if("int32"!==t&&"float32"!==t&&void 0!==t)throw new TypeError(`Unsupported data type ${t}.`);const n=p3.util.sizeFromShape(e.slice(0,-1)),i=e[e.length-1],r=n*i;r>this.ELEMENTS_WARN_SLOW&&console.warn(`Orthogonal initializer is being called on a matrix with more than ${this.ELEMENTS_WARN_SLOW} (${r}) elements: Slowness may result.`);const s=P8([Math.max(i,n),Math.min(i,n)],0,1,t,this.seed),o=p3.linalg.qr(s,!1);let a=o[0];const l=o[1].flatten().stridedSlice([0],[Math.min(i,n)*Math.min(i,n)],[Math.min(i,n)+1]);return a=(0,p3.mul)(a,l.sign()),n{if(e.length<2)throw new V6("Shape must be at least 2D.");if("int32"!==t&&"float32"!==t&&void 0!==t)throw new TypeError(`Unsupported data type ${t}.`);const n=v3.util.sizeFromShape(e.slice(0,-1)),i=e[e.length-1],r=n*i;r>this.ELEMENTS_WARN_SLOW&&console.warn(`Orthogonal initializer is being called on a matrix with more than ${this.ELEMENTS_WARN_SLOW} (${r}) elements: Slowness may result.`);const s=j8([Math.max(i,n),Math.min(i,n)],0,1,t,this.seed),o=v3.linalg.qr(s,!1);let a=o[0];const l=o[1].flatten().stridedSlice([0],[Math.min(i,n)*Math.min(i,n)],[Math.min(i,n)+1]);return a=(0,v3.mul)(a,l.sign()),ne*t);return t} +function E9(e){let t=0;for(const n of e)0===n.shape.length?t+=1:t+=n.shape.reduce((e,t)=>e*t);return t} /** * @license * Copyright 2018 Google LLC @@ -11110,7 +11110,7 @@ function _9(e){let t=0;for(const n of e)0===n.shape.length?t+=1:t+=n.shape.reduc * https://opensource.org/licenses/MIT. * ============================================================================= */ -const y9="Variable";class v9{constructor(e,t="float32",n=y9,i=!0,r=null){this.dtype=null==t?"float32":t,this.shape=e.shape,this.id=r8(),n=null==n?y9:n,this.originalName=y8(n),this.name=v8(this.originalName),this.trainable_=i,this.constraint=r,this.val=p3.variable(e,this.trainable_,this.name,this.dtype)}read(){return this.assertNotDisposed(),this.val}write(e){return this.assertNotDisposed(),function(e,t){if(e.shape.toString()!==t.shape.toString())throw new Error("Shape mismatch: "+JSON.stringify(e.shape)+" vs. "+JSON.stringify(t.shape))}(this.val,e),this.val.id!==e.id&&(this.val.assign(e),null!=this.constraint&&this.val.assign(this.constraint.apply(this.val))),this}dispose(){this.assertNotDisposed(),this.val.dispose()}assertNotDisposed(){if(this.val.isDisposed)throw new Error(`LayersVariable ${this.name} is already disposed.`)}get trainable(){return this.trainable_}set trainable(e){this.trainable_=e,this.val.trainable=e}}function b9(e){return e.map(e=>e.read())}function T9(e){e.forEach(e=>{e[0].write(e[1])})} +const w9="Variable";class I9{constructor(e,t="float32",n=w9,i=!0,r=null){this.dtype=null==t?"float32":t,this.shape=e.shape,this.id=c8(),n=null==n?w9:n,this.originalName=w8(n),this.name=I8(this.originalName),this.trainable_=i,this.constraint=r,this.val=v3.variable(e,this.trainable_,this.name,this.dtype)}read(){return this.assertNotDisposed(),this.val}write(e){return this.assertNotDisposed(),function(e,t){if(e.shape.toString()!==t.shape.toString())throw new Error("Shape mismatch: "+JSON.stringify(e.shape)+" vs. "+JSON.stringify(t.shape))}(this.val,e),this.val.id!==e.id&&(this.val.assign(e),null!=this.constraint&&this.val.assign(this.constraint.apply(this.val))),this}dispose(){this.assertNotDisposed(),this.val.dispose()}assertNotDisposed(){if(this.val.isDisposed)throw new Error(`LayersVariable ${this.name} is already disposed.`)}get trainable(){return this.trainable_}set trainable(e){this.trainable_=e,this.val.trainable=e}}function A9(e){return e.map(e=>e.read())}function S9(e){e.forEach(e=>{e[0].write(e[1])})} /** * @license * Copyright 2018 Google LLC @@ -11120,7 +11120,7 @@ const y9="Variable";class v9{constructor(e,t="float32",n=y9,i=!0,r=null){this.dt * https://opensource.org/licenses/MIT. * ============================================================================= */ -class x9{constructor(e){this.dtype=e.dtype,this.shape=e.shape,null!=e.shape?this.ndim=e.shape.length:this.ndim=e.ndim,this.maxNDim=e.maxNDim,this.minNDim=e.minNDim,this.axes=e.axes||{}}}class E9{constructor(e,t,n,i,r,s,o){this.dtype=e,this.shape=t,this.sourceLayer=n,this.inputs=i,this.callArgs=r,this.outputTensorIndex=o,this.id=r8(),null!=s&&(this.originalName=y8(s),this.name=v8(this.originalName)),this.rank=t.length}}let w9=0;class I9{constructor(e,t){this.callArgs=t,this.id=w9++,this.outboundLayer=e.outboundLayer,this.inboundLayers=e.inboundLayers,this.nodeIndices=e.nodeIndices,this.tensorIndices=e.tensorIndices,this.inputTensors=e.inputTensors,this.outputTensors=e.outputTensors,this.inputMasks=e.inputMasks,this.outputMasks=e.outputMasks,this.inputShapes=e.inputShapes,this.outputShapes=e.outputShapes;for(const t of e.inboundLayers)null!=t&&t.outboundNodes.push(this);e.outboundLayer.inboundNodes.push(this)}getConfig(){const e=[];for(const t of this.inboundLayers)null!=t?e.push(t.name):e.push(null);return{outboundLayer:this.outboundLayer?this.outboundLayer.name:null,inboundLayers:e,nodeIndices:this.nodeIndices,tensorIndices:this.tensorIndices}}}let A9=0;class S9 extends p3.serialization.Serializable{constructor(e={}){super(),this._callHook=null,this._addedWeightNames=[],this._stateful=!1,this.id=A9++,this.activityRegularizer=null,this.inputSpec=null,this.supportsMasking=!1,this._trainableWeights=[],this._nonTrainableWeights=[],this._losses=[],this._updates=[],this._built=!1,this.inboundNodes=[],this.outboundNodes=[];let t=e.name;if(!t){const e=this.getClassName();t=j6(e)+"_"+o8(e)}if(this.name=t,this.trainable_=null==e.trainable||e.trainable,null!=e.inputShape||null!=e.batchInputShape){let t;if(null!=e.batchInputShape)t=e.batchInputShape;else if(null!=e.inputShape){let n=null;null!=e.batchSize&&(n=e.batchSize),t=[n].concat(e.inputShape)}this.batchInputShape=t;let n=e.dtype;null==n&&(n=e.inputDType),null==n&&(n="float32"),this.dtype=n}null!=e.weights?this.initialWeights=e.weights:this.initialWeights=null,this._refCount=null,this.fastWeightInitDuringBuild=!1}static nodeKey(e,t){return e.name+"_ib-"+t.toString()}getNodeAtIndex(e,t){if(0===this.inboundNodes.length)throw new N6(`The layer has never been called and thus has no defined ${t}.`);if(this.inboundNodes.length<=e)throw new D6(`Asked to get ${t} at node ${e}, but the layer has only ${this.inboundNodes.length} inbound nodes.`);return this.inboundNodes[e]}getInputAt(e){return V6(this.getNodeAtIndex(e,"input").inputTensors)}getOutputAt(e){return V6(this.getNodeAtIndex(e,"output").outputTensors)}get input(){if(this.inboundNodes.length>1)throw new R6(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer input" is ill-defined. Use \`getInputAt(nodeIndex)\` instead.`);if(0===this.inboundNodes.length)throw new R6(`Layer ${this.name} is not connected, no input to return.`);return V6(this.getNodeAtIndex(0,"input").inputTensors)}get output(){if(0===this.inboundNodes.length)throw new R6(`Layer ${this.name} has no inbound nodes.`);if(this.inboundNodes.length>1)throw new R6(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer output" is ill-defined. Use \`getOutputAt(nodeIndex)\` instead.`);return V6(this.getNodeAtIndex(0,"output").outputTensors)}get losses(){return this._losses}calculateLosses(){return this.losses.map(e=>e())}get updates(){return this._updates}get built(){return this._built}set built(e){this._built=e}get trainable(){return this.trainable_}set trainable(e){this._trainableWeights.forEach(t=>t.trainable=e),this.trainable_=e}get trainableWeights(){return this.trainable_?this._trainableWeights.filter(e=>e.trainable):[]}set trainableWeights(e){this._trainableWeights=e}get nonTrainableWeights(){return this.trainable?this._trainableWeights.filter(e=>!e.trainable).concat(this._nonTrainableWeights):this._trainableWeights.concat(this._nonTrainableWeights)}set nonTrainableWeights(e){this._nonTrainableWeights=e}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}get stateful(){return this._stateful}resetStates(){if(!this.stateful)throw new Error("Cannot call the resetStates() method of a non-stateful Layer object.")}assertInputCompatibility(e){const t=z6(e);if(null==this.inputSpec||0===this.inputSpec.length)return;const n=z6(this.inputSpec);if(t.length!==n.length)throw new D6(`Layer ${this.name} expects ${n.length} inputs, but it received ${t.length} input tensors. Input received: ${e}`);for(let e=0;er.maxNDim)throw new D6(`Input ${e} is incompatible with layer ${this.name}: expected max_ndim=${r.maxNDim}, found ndim=${s}`);if(null!=r.minNDim&&s=0?t[i]:t[t.length+i];if(null!=s&&-1===[s,null].indexOf(o))throw new D6(`Input ${e} is incompatible with layer ${this.name}: expected axis ${i} of input shape to have value ${s} but got shape ${t}.`)}}if(null!=r.shape)for(let t=0;t{if(!this.built){this.assertInputCompatibility(e);const t=[];for(const n of z6(e))t.push(n.shape);this.build(V6(t)),this.built=!0,this.initialWeights&&this.setWeights(this.initialWeights),null===this._refCount&&r&&(this._refCount=1)}if(this.assertInputCompatibility(e),r){let i=this.call(e,t);this.supportsMasking&&this.setMaskMetadata(e,i);const r=z6(i),s=[];for(let e of r)-1!==n.indexOf(e)&&(e=e.clone()),s.push(e);if(i=V6(s),null!=this.activityRegularizer)throw new F6("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return i}{const n=function(e){e=z6(e);const t=[];for(const n of e)t.push(n.shape);return V6(t)}(e),i=this.computeOutputShape(n);let r;const s="float32";if(this.warnOnIncompatibleInputShape(Array.isArray(e)?n[0]:n),r=null!=i&&i.length>0&&Array.isArray(i[0])?i.map((n,i)=>new E9(s,n,this,z6(e),t,this.name,i)):new E9(s,i,this,z6(e),t,this.name),this.addInboundNode(e,r,null,null,n,i,t),this._refCount++,null!=this.activityRegularizer)throw new F6("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return r}})}warnOnIncompatibleInputShape(e){if(null!=this.batchInputShape)if(e.length!==this.batchInputShape.length)console.warn(`The rank of the input tensor provided (shape: ${JSON.stringify(e)}) does not match that of the batchInputShape (${JSON.stringify(this.batchInputShape)}) of the layer ${this.name}`);else{let t=!1;this.batchInputShape.forEach((n,i)=>{null!=n&&null!=e[i]&&e[i]!==n&&(t=!0)}),t&&console.warn(`The shape of the input tensor (${JSON.stringify(e)}) does not match the expectation of layer ${this.name}: ${JSON.stringify(this.batchInputShape)}`)}}get outputShape(){if(null==this.inboundNodes||0===this.inboundNodes.length)throw new R6(`The layer ${this.name} has never been called and thus has no defined output shape.`);const e=[];for(const t of this.inboundNodes){const n=JSON.stringify(t.outputShapes);-1===e.indexOf(n)&&e.push(n)}if(1===e.length){const e=this.inboundNodes[0].outputShapes;return Array.isArray(e)&&Array.isArray(e[0])&&1===e.length?e[0]:e}throw new R6(`The layer ${this.name} has multiple inbound nodes with different output shapes. Hence the notion of "output shape" is ill-defined for the layer.`)}countParams(){if(!this.built)throw new N6(`You tried to call countParams() on ${this.name}, but the layer is not built yet. Build it first by calling build(batchInputShape).`);return _9(this.weights)}build(e){this.built=!0}getWeights(e=!1){return b9(e?this.trainableWeights:this.weights)}setWeights(e){(0,p3.tidy)(()=>{const t=this.weights;if(t.length!==e.length)throw new D6(`You called setWeights(weights) on layer "${this.name}" with a weight list of length ${e.length}, but the layer was expecting ${t.length} weights. Provided weights: ${e}...`);if(0===t.length)return;const n=[],i=b9(t);for(let r=0;rr.apply(u.read())),null==s&&(s=!0),s?this._trainableWeights.push(u):this._nonTrainableWeights.push(u),u}setFastWeightInitDuringBuild(e){this.fastWeightInitDuringBuild=e}addLoss(e){null==e||Array.isArray(e)&&0===e.length||(e=z6(e),void 0!==this._losses&&null!==this._losses&&this.losses.push(...e))}computeOutputShape(e){return e}computeMask(e,t){if(!this.supportsMasking){if(null!=t){if(!Array.isArray(t))throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`);t.forEach(e=>{if(null!=e)throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`)})}return null}return t}setMaskMetadata(e,t,n){if(!this.supportsMasking)return;const i=this.computeMask(e,n),r=z6(t),s=z6(i);if(r.length!==s.length)throw new Error(`${this.name} outputs ${r.length} tensors but ${r.length} masks for those tensors`);for(let e=0;ee.dispose()),this.weights.length}assertNotDisposed(){if(0===this._refCount)throw new Error(`Layer '${this.name}' is already disposed.`)}dispose(){if(!this.built)throw new Error(`Cannot dispose Layer ${this.name} because it has not been built yet.`);if(null===this._refCount)throw new Error(`Cannot dispose Layer ${this.name} because it has not been used yet.`);this.assertNotDisposed();let e=0;return 0===--this._refCount&&(e=this.disposeWeights()),{refCountAfterDispose:this._refCount,numDisposedVariables:e}}}function C9(e,t,n){if((null==t||null!=n&&n>0)&&(t=e.sourceLayer,n=e.nodeIndex),0===t.inboundNodes.length)return[e];{const e=t.inboundNodes[n];if(0===e.inboundLayers.length)return e.inputTensors;{const t=[];for(let n=0;n1)throw new B6(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer input" is ill-defined. Use \`getInputAt(nodeIndex)\` instead.`);if(0===this.inboundNodes.length)throw new B6(`Layer ${this.name} is not connected, no input to return.`);return W6(this.getNodeAtIndex(0,"input").inputTensors)}get output(){if(0===this.inboundNodes.length)throw new B6(`Layer ${this.name} has no inbound nodes.`);if(this.inboundNodes.length>1)throw new B6(`Layer ${this.name} has multiple inbound nodes, hence the notion of "layer output" is ill-defined. Use \`getOutputAt(nodeIndex)\` instead.`);return W6(this.getNodeAtIndex(0,"output").outputTensors)}get losses(){return this._losses}calculateLosses(){return this.losses.map(e=>e())}get updates(){return this._updates}get built(){return this._built}set built(e){this._built=e}get trainable(){return this.trainable_}set trainable(e){this._trainableWeights.forEach(t=>t.trainable=e),this.trainable_=e}get trainableWeights(){return this.trainable_?this._trainableWeights.filter(e=>e.trainable):[]}set trainableWeights(e){this._trainableWeights=e}get nonTrainableWeights(){return this.trainable?this._trainableWeights.filter(e=>!e.trainable).concat(this._nonTrainableWeights):this._trainableWeights.concat(this._nonTrainableWeights)}set nonTrainableWeights(e){this._nonTrainableWeights=e}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}get stateful(){return this._stateful}resetStates(){if(!this.stateful)throw new Error("Cannot call the resetStates() method of a non-stateful Layer object.")}assertInputCompatibility(e){const t=X6(e);if(null==this.inputSpec||0===this.inputSpec.length)return;const n=X6(this.inputSpec);if(t.length!==n.length)throw new U6(`Layer ${this.name} expects ${n.length} inputs, but it received ${t.length} input tensors. Input received: ${e}`);for(let e=0;er.maxNDim)throw new U6(`Input ${e} is incompatible with layer ${this.name}: expected max_ndim=${r.maxNDim}, found ndim=${s}`);if(null!=r.minNDim&&s=0?t[i]:t[t.length+i];if(null!=s&&-1===[s,null].indexOf(o))throw new U6(`Input ${e} is incompatible with layer ${this.name}: expected axis ${i} of input shape to have value ${s} but got shape ${t}.`)}}if(null!=r.shape)for(let t=0;t{if(!this.built){this.assertInputCompatibility(e);const t=[];for(const n of X6(e))t.push(n.shape);this.build(W6(t)),this.built=!0,this.initialWeights&&this.setWeights(this.initialWeights),null===this._refCount&&r&&(this._refCount=1)}if(this.assertInputCompatibility(e),r){let i=this.call(e,t);this.supportsMasking&&this.setMaskMetadata(e,i);const r=X6(i),s=[];for(let e of r)-1!==n.indexOf(e)&&(e=e.clone()),s.push(e);if(i=W6(s),null!=this.activityRegularizer)throw new V6("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return i}{const n=function(e){e=X6(e);const t=[];for(const n of e)t.push(n.shape);return W6(t)}(e),i=this.computeOutputShape(n);let r;const s="float32";if(this.warnOnIncompatibleInputShape(Array.isArray(e)?n[0]:n),r=null!=i&&i.length>0&&Array.isArray(i[0])?i.map((n,i)=>new O9(s,n,this,X6(e),t,this.name,i)):new O9(s,i,this,X6(e),t,this.name),this.addInboundNode(e,r,null,null,n,i,t),this._refCount++,null!=this.activityRegularizer)throw new V6("Layer invocation in the presence of activity regularizer(s) is not supported yet.");return r}})}warnOnIncompatibleInputShape(e){if(null!=this.batchInputShape)if(e.length!==this.batchInputShape.length)console.warn(`The rank of the input tensor provided (shape: ${JSON.stringify(e)}) does not match that of the batchInputShape (${JSON.stringify(this.batchInputShape)}) of the layer ${this.name}`);else{let t=!1;this.batchInputShape.forEach((n,i)=>{null!=n&&null!=e[i]&&e[i]!==n&&(t=!0)}),t&&console.warn(`The shape of the input tensor (${JSON.stringify(e)}) does not match the expectation of layer ${this.name}: ${JSON.stringify(this.batchInputShape)}`)}}get outputShape(){if(null==this.inboundNodes||0===this.inboundNodes.length)throw new B6(`The layer ${this.name} has never been called and thus has no defined output shape.`);const e=[];for(const t of this.inboundNodes){const n=JSON.stringify(t.outputShapes);-1===e.indexOf(n)&&e.push(n)}if(1===e.length){const e=this.inboundNodes[0].outputShapes;return Array.isArray(e)&&Array.isArray(e[0])&&1===e.length?e[0]:e}throw new B6(`The layer ${this.name} has multiple inbound nodes with different output shapes. Hence the notion of "output shape" is ill-defined for the layer.`)}countParams(){if(!this.built)throw new $6(`You tried to call countParams() on ${this.name}, but the layer is not built yet. Build it first by calling build(batchInputShape).`);return E9(this.weights)}build(e){this.built=!0}getWeights(e=!1){return A9(e?this.trainableWeights:this.weights)}setWeights(e){(0,v3.tidy)(()=>{const t=this.weights;if(t.length!==e.length)throw new U6(`You called setWeights(weights) on layer "${this.name}" with a weight list of length ${e.length}, but the layer was expecting ${t.length} weights. Provided weights: ${e}...`);if(0===t.length)return;const n=[],i=A9(t);for(let r=0;rr.apply(u.read())),null==s&&(s=!0),s?this._trainableWeights.push(u):this._nonTrainableWeights.push(u),u}setFastWeightInitDuringBuild(e){this.fastWeightInitDuringBuild=e}addLoss(e){null==e||Array.isArray(e)&&0===e.length||(e=X6(e),void 0!==this._losses&&null!==this._losses&&this.losses.push(...e))}computeOutputShape(e){return e}computeMask(e,t){if(!this.supportsMasking){if(null!=t){if(!Array.isArray(t))throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`);t.forEach(e=>{if(null!=e)throw new TypeError(`Layer ${this.name} does not support masking, but was passed an inputMask.`)})}return null}return t}setMaskMetadata(e,t,n){if(!this.supportsMasking)return;const i=this.computeMask(e,n),r=X6(t),s=X6(i);if(r.length!==s.length)throw new Error(`${this.name} outputs ${r.length} tensors but ${r.length} masks for those tensors`);for(let e=0;ee.dispose()),this.weights.length}assertNotDisposed(){if(0===this._refCount)throw new Error(`Layer '${this.name}' is already disposed.`)}dispose(){if(!this.built)throw new Error(`Cannot dispose Layer ${this.name} because it has not been built yet.`);if(null===this._refCount)throw new Error(`Cannot dispose Layer ${this.name} because it has not been used yet.`);this.assertNotDisposed();let e=0;return 0===--this._refCount&&(e=this.disposeWeights()),{refCountAfterDispose:this._refCount,numDisposedVariables:e}}}function D9(e,t,n){if((null==t||null!=n&&n>0)&&(t=e.sourceLayer,n=e.nodeIndex),0===t.inboundNodes.length)return[e];{const e=t.inboundNodes[n];if(0===e.inboundLayers.length)return e.inputTensors;{const t=[];for(let n=0;ne.name),l=[],u=t.names();for(const e of a)-1!==u.indexOf(e)?l.push(t.getValue(e)):l.push(null);null!=i&&(i.maxNumTensors=-1/0,i.minNumTensors=1/0);const c=a.join(",")+"|"+t.names().sort().join(",");let d,h=R9.get(c);if(null==h){const e=function(e,t){p3.util.assert(null!=e&&e.length>0,()=>"Expected at least one fetch, got none");let n=[],i={};if(1===e.length){const r=L9(e[0],t);n=r.sorted,i=r.recipientMap}else{const r=new Set;for(const s of e){const{sorted:e,recipientMap:o}=L9(s,t);for(const t of e)r.has(t.name)||(n.push(t),r.add(t.name));for(const e in o)null==i[e]&&(i[e]=new Set),o[e].forEach(t=>i[e].add(t))}}return{sorted:n,recipientCounts:F9(i)}}(o,t);h=e.sorted,d=e.recipientCounts,R9.put(c,h),N9.put(c,d)}d={},r||Object.assign(d,N9.get(c));const p=new k9(t);for(let e=0;ei.maxNumTensors&&(i.maxNumTensors=e),e0;){const e=s[s.length-1];if(n.has(e.name)){s.pop();continue}const t=o[o.length-1]===s.length-1;if(0===e.inputs.length||t)s.pop(),i.push(e),n.add(e.name),t&&o.pop();else{o.push(s.length-1);for(const t of e.inputs)null==r[t.name]&&(r[t.name]=new Set),r[t.name].add(e.name),n.has(t.name)||s.push(t)}}return{sorted:i,recipientMap:r}}function P9(e){let t;if(1===e.sourceLayer.inboundNodes.length)t=e.sourceLayer.output;else{let n=null;for(let t=0;te.name),l=[],u=t.names();for(const e of a)-1!==u.indexOf(e)?l.push(t.getValue(e)):l.push(null);null!=i&&(i.maxNumTensors=-1/0,i.minNumTensors=1/0);const c=a.join(",")+"|"+t.names().sort().join(",");let d,h=B9.get(c);if(null==h){const e=function(e,t){v3.util.assert(null!=e&&e.length>0,()=>"Expected at least one fetch, got none");let n=[],i={};if(1===e.length){const r=z9(e[0],t);n=r.sorted,i=r.recipientMap}else{const r=new Set;for(const s of e){const{sorted:e,recipientMap:o}=z9(s,t);for(const t of e)r.has(t.name)||(n.push(t),r.add(t.name));for(const e in o)null==i[e]&&(i[e]=new Set),o[e].forEach(t=>i[e].add(t))}}return{sorted:n,recipientCounts:V9(i)}}(o,t);h=e.sorted,d=e.recipientCounts,B9.put(c,h),$9.put(c,d)}d={},r||Object.assign(d,$9.get(c));const p=new P9(t);for(let e=0;ei.maxNumTensors&&(i.maxNumTensors=e),e0;){const e=s[s.length-1];if(n.has(e.name)){s.pop();continue}const t=o[o.length-1]===s.length-1;if(0===e.inputs.length||t)s.pop(),i.push(e),n.add(e.name),t&&o.pop();else{o.push(s.length-1);for(const t of e.inputs)null==r[t.name]&&(r[t.name]=new Set),r[t.name].add(e.name),n.has(t.name)||s.push(t)}}return{sorted:i,recipientMap:r}}function j9(e){let t;if(1===e.sourceLayer.inboundNodes.length)t=e.sourceLayer.output;else{let n=null;for(let t=0;tp3.sqrt(p3.sum(p3.mul(e,e),t,!0)))}(0,p3.env)().registerFlag("TOPOLOGICAL_SORT_CACHE_MAX_ENTRIES",()=>100,function(e){null!=R9&&R9.setMaxEntries(e),null!=N9&&N9.setMaxEntries(e)});class $9 extends p3.serialization.Serializable{getConfig(){return{}}}class U9 extends $9{constructor(e){super(),this.defaultMaxValue=2,this.defaultAxis=0,this.maxValue=null!=e.maxValue?e.maxValue:this.defaultMaxValue,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return(0,p3.tidy)(()=>{const t=B9(e,this.axis),n=p3.clipByValue(t,0,this.maxValue);return p3.mul(e,p3.div(n,p3.add(C8(),t)))})}getConfig(){return{maxValue:this.maxValue,axis:this.axis}}}U9.className="MaxNorm",p3.serialization.registerClass(U9);class V9 extends $9{constructor(e){super(),this.defaultAxis=0,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return(0,p3.tidy)(()=>p3.div(e,p3.add(C8(),B9(e,this.axis))))}getConfig(){return{axis:this.axis}}}V9.className="UnitNorm",p3.serialization.registerClass(V9);class z9 extends $9{apply(e){return p3.relu(e)}}z9.className="NonNeg",p3.serialization.registerClass(z9);class j9 extends $9{constructor(e){super(),this.defaultMinValue=0,this.defaultMaxValue=1,this.defaultRate=1,this.defaultAxis=0,this.minValue=null!=e.minValue?e.minValue:this.defaultMinValue,this.maxValue=null!=e.maxValue?e.maxValue:this.defaultMaxValue,this.rate=null!=e.rate?e.rate:this.defaultRate,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return(0,p3.tidy)(()=>{const t=B9(e,this.axis),n=p3.add(p3.mul(this.rate,p3.clipByValue(t,this.minValue,this.maxValue)),p3.mul(1-this.rate,t));return p3.mul(e,p3.div(n,p3.add(C8(),t)))})}getConfig(){return{minValue:this.minValue,maxValue:this.maxValue,rate:this.rate,axis:this.axis}}}j9.className="MinMaxNorm",p3.serialization.registerClass(j9);const Y9={maxNorm:"MaxNorm",minMaxNorm:"MinMaxNorm",nonNeg:"NonNeg",unitNorm:"UnitNorm"};function G9(e){return H6(e)}function H9(e,t={}){return X6(e,p3.serialization.SerializationMap.getMap().classNameMap,t,"constraint")}function W9(e){if(null==e)return null;if("string"==typeof e){return H9({className:e in Y9?Y9[e]:e,config:{}})}return e instanceof $9?e:H9(e)} +function Y9(e,t){return(0,v3.tidy)(()=>v3.sqrt(v3.sum(v3.mul(e,e),t,!0)))}(0,v3.env)().registerFlag("TOPOLOGICAL_SORT_CACHE_MAX_ENTRIES",()=>100,function(e){null!=B9&&B9.setMaxEntries(e),null!=$9&&$9.setMaxEntries(e)});class G9 extends v3.serialization.Serializable{getConfig(){return{}}}class H9 extends G9{constructor(e){super(),this.defaultMaxValue=2,this.defaultAxis=0,this.maxValue=null!=e.maxValue?e.maxValue:this.defaultMaxValue,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return(0,v3.tidy)(()=>{const t=Y9(e,this.axis),n=v3.clipByValue(t,0,this.maxValue);return v3.mul(e,v3.div(n,v3.add(D8(),t)))})}getConfig(){return{maxValue:this.maxValue,axis:this.axis}}}H9.className="MaxNorm",v3.serialization.registerClass(H9);class W9 extends G9{constructor(e){super(),this.defaultAxis=0,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return(0,v3.tidy)(()=>v3.div(e,v3.add(D8(),Y9(e,this.axis))))}getConfig(){return{axis:this.axis}}}W9.className="UnitNorm",v3.serialization.registerClass(W9);class X9 extends G9{apply(e){return v3.relu(e)}}X9.className="NonNeg",v3.serialization.registerClass(X9);class q9 extends G9{constructor(e){super(),this.defaultMinValue=0,this.defaultMaxValue=1,this.defaultRate=1,this.defaultAxis=0,this.minValue=null!=e.minValue?e.minValue:this.defaultMinValue,this.maxValue=null!=e.maxValue?e.maxValue:this.defaultMaxValue,this.rate=null!=e.rate?e.rate:this.defaultRate,this.axis=null!=e.axis?e.axis:this.defaultAxis}apply(e){return(0,v3.tidy)(()=>{const t=Y9(e,this.axis),n=v3.add(v3.mul(this.rate,v3.clipByValue(t,this.minValue,this.maxValue)),v3.mul(1-this.rate,t));return v3.mul(e,v3.div(n,v3.add(D8(),t)))})}getConfig(){return{minValue:this.minValue,maxValue:this.maxValue,rate:this.rate,axis:this.axis}}}q9.className="MinMaxNorm",v3.serialization.registerClass(q9);const K9={maxNorm:"MaxNorm",minMaxNorm:"MinMaxNorm",nonNeg:"NonNeg",unitNorm:"UnitNorm"};function Z9(e){return Q6(e)}function Q9(e,t={}){return e8(e,v3.serialization.SerializationMap.getMap().classNameMap,t,"constraint")}function J9(e){if(null==e)return null;if("string"==typeof e){return Q9({className:e in K9?K9[e]:e,config:{}})}return e instanceof G9?e:Q9(e)} /** * @license * Copyright 2018 Google LLC @@ -11160,7 +11160,7 @@ function B9(e,t){return(0,p3.tidy)(()=>p3.sqrt(p3.sum(p3.mul(e,e),t,!0)))}(0,p3. * https://opensource.org/licenses/MIT. * ============================================================================= */ -function X9(e){return new U9(e)}function q9(e){return new V9(e)}function K9(){return new z9}function Z9(e){return new j9(e)} +function e7(e){return new H9(e)}function t7(e){return new W9(e)}function n7(){return new X9}function i7(e){return new q9(e)} /** * @license * Copyright 2018 Google LLC @@ -11170,7 +11170,7 @@ function X9(e){return new U9(e)}function q9(e){return new V9(e)}function K9(){re * https://opensource.org/licenses/MIT. * ============================================================================= */ -function Q9(){return new X8}function J9(){return new q8}function e7(e){return new K8(e)}function t7(e){return new Z8(e)}function n7(e){return new Q8(e)}function i7(e){return new J8(e)}function r7(e){return new e9(e)}function s7(e){return new t9(e)}function o7(e){return new n9(e)}function a7(e){return new i9(e)}function l7(e){return new r9(e)}function u7(e){return new s9(e)}function c7(e){return new o9(e)}function d7(e){return new a9(e)}function h7(e){return new l9(e)} +function r7(){return new e9}function s7(){return new t9}function o7(e){return new n9(e)}function a7(e){return new i9(e)}function l7(e){return new r9(e)}function u7(e){return new s9(e)}function c7(e){return new o9(e)}function d7(e){return new a9(e)}function h7(e){return new l9(e)}function p7(e){return new u9(e)}function f7(e){return new c9(e)}function m7(e){return new d9(e)}function g7(e){return new h9(e)}function _7(e){return new p9(e)}function y7(e){return new f9(e)} /** * @license * Copyright 2018 Google LLC @@ -11180,7 +11180,7 @@ function Q9(){return new X8}function J9(){return new q8}function e7(e){return ne * https://opensource.org/licenses/MIT. * ============================================================================= */ -async function p7(e){if(null==e)return;const t=[],n=[],i=[];for(const r in e){const s=e[r];if("number"!=typeof s){const e=s;t.push(e.data()),n.push(r),i.push(e)}}if(t.length>0){const r=await Promise.all(t);for(let t=0;t0){const r=await Promise.all(t);for(let t=0;t(0,p3.add)(this.totals[e],(0,p3.mul)(i,n)));this.totals[e]=r,null!=t&&t.dispose()}}}async onEpochEnd(e,t){if(null!=t)for(const e of this.params.metrics)null!=this.totals[e]&&("number"==typeof this.totals[e]?t[e]=this.totals[e]/this.seen:(0,p3.tidy)(()=>{const n=(0,p3.mul)((0,p3.div)(1,this.seen),this.totals[e]);t[e]=n,this.totals[e].dispose(),(0,p3.keep)(t[e])}))}}class v7 extends g7{async onTrainBegin(e){this.epoch=[],this.history={}}async onEpochEnd(e,t){null==t&&(t={}),this.epoch.push(e);for(const e in t)null==this.history[e]&&(this.history[e]=[]),this.history[e].push(t[e])}async syncData(){const e=[],t=[],n=[];for(const i in this.history){const r=this.history[i];for(let s=0;s{const o=null!=n?n():p3.util.now();return o-rnew b7(e,t))}class x7{constructor(){}static registerCallbackConstructor(e,t){p3.util.assert(e>=0&&Number.isInteger(e),()=>`Verbosity level is expected to be an integer >= 0, but got ${e}`),x7.checkForDuplicate(t),null==x7.constructors[e]&&(x7.constructors[e]=[]),x7.constructors[e].push(t)}static checkForDuplicate(e){for(const t in x7.constructors){x7.constructors[+t].forEach(t=>{if(t===e)throw new D6("Duplicate callback constructor.")})}}static clear(){x7.constructors={}}static createCallbacks(e){const t=[];for(const n in x7.constructors){const i=+n;e>=i&&t.push(...x7.constructors[i])}return t.map(e=>new e)}}function E7(e,t,n,i,r,s,o,a,l){const u=new v7,c=[new y7,...x7.createCallbacks(t)];null!=e&&c.push(...e),c.push(u);const d=new _7(c);return d.setParams({epochs:n,initialEpoch:i,samples:r,steps:s,batchSize:o,verbose:t,doValidation:a,metrics:l}),{callbackList:d,history:u}} +var T7;!function(e){e[e.SILENT=0]="SILENT",e[e.VERBOSE=1]="VERBOSE"}(T7||(T7={}));class x7{constructor(){this.validationData=null}setParams(e){this.params=e}async onEpochBegin(e,t){}async onEpochEnd(e,t){}async onBatchBegin(e,t){}async onBatchEnd(e,t){}async onTrainBegin(e){}async onTrainEnd(e){}setModel(e){}}class E7{constructor(e,t=10){null==e&&(e=[]),this.callbacks=e,this.queueLength=t}append(e){this.callbacks.push(e)}setParams(e){for(const t of this.callbacks)t.setParams(e)}setModel(e){for(const t of this.callbacks)t.setModel(e)}async onEpochBegin(e,t){null==t&&(t={});for(const n of this.callbacks)await n.onEpochBegin(e,t)}async onEpochEnd(e,t){null==t&&(t={});for(const n of this.callbacks)await n.onEpochEnd(e,t)}async onBatchBegin(e,t){null==t&&(t={});for(const n of this.callbacks)await n.onBatchBegin(e,t)}async onBatchEnd(e,t){null==t&&(t={});for(const n of this.callbacks)await n.onBatchEnd(e,t)}async onTrainBegin(e){null==e&&(e={});for(const t of this.callbacks)await t.onTrainBegin(e)}async onTrainEnd(e){null==e&&(e={});for(const t of this.callbacks)await t.onTrainEnd(e)}}class w7 extends x7{constructor(){super()}async onEpochBegin(e){this.seen=0,this.totals={}}async onBatchEnd(e,t){null==t&&(t={});const n=null==t.size?0:t.size;this.seen+=n;for(const e in t){const i=t[e];if("number"==typeof i)this.totals.hasOwnProperty(e)||(this.totals[e]=0),this.totals[e]=this.totals[e]+i*n;else{let t;e in this.totals?t=this.totals[e]:this.totals[e]=0;const r=(0,v3.tidy)(()=>(0,v3.add)(this.totals[e],(0,v3.mul)(i,n)));this.totals[e]=r,null!=t&&t.dispose()}}}async onEpochEnd(e,t){if(null!=t)for(const e of this.params.metrics)null!=this.totals[e]&&("number"==typeof this.totals[e]?t[e]=this.totals[e]/this.seen:(0,v3.tidy)(()=>{const n=(0,v3.mul)((0,v3.div)(1,this.seen),this.totals[e]);t[e]=n,this.totals[e].dispose(),(0,v3.keep)(t[e])}))}}class I7 extends x7{async onTrainBegin(e){this.epoch=[],this.history={}}async onEpochEnd(e,t){null==t&&(t={}),this.epoch.push(e);for(const e in t)null==this.history[e]&&(this.history[e]=[]),this.history[e].push(t[e])}async syncData(){const e=[],t=[],n=[];for(const i in this.history){const r=this.history[i];for(let s=0;s{const o=null!=n?n():v3.util.now();return o-rnew A7(e,t))}class C7{constructor(){}static registerCallbackConstructor(e,t){v3.util.assert(e>=0&&Number.isInteger(e),()=>`Verbosity level is expected to be an integer >= 0, but got ${e}`),C7.checkForDuplicate(t),null==C7.constructors[e]&&(C7.constructors[e]=[]),C7.constructors[e].push(t)}static checkForDuplicate(e){for(const t in C7.constructors){C7.constructors[+t].forEach(t=>{if(t===e)throw new U6("Duplicate callback constructor.")})}}static clear(){C7.constructors={}}static createCallbacks(e){const t=[];for(const n in C7.constructors){const i=+n;e>=i&&t.push(...C7.constructors[i])}return t.map(e=>new e)}}function O7(e,t,n,i,r,s,o,a,l){const u=new I7,c=[new w7,...C7.createCallbacks(t)];null!=e&&c.push(...e),c.push(u);const d=new E7(c);return d.setParams({epochs:n,initialEpoch:i,samples:r,steps:s,batchSize:o,verbose:t,doValidation:a,metrics:l}),{callbackList:d,history:u}} /** * @license * Copyright 2018 Google LLC @@ -11200,7 +11200,7 @@ var m7;!function(e){e[e.SILENT=0]="SILENT",e[e.VERBOSE=1]="VERBOSE"}(m7||(m7={}) * https://opensource.org/licenses/MIT. * ============================================================================= */ -function w7(e,t={},n=!1){return X6(e,p3.serialization.SerializationMap.getMap().classNameMap,t,"layer",n)} +function M7(e,t={},n=!1){return e8(e,v3.serialization.SerializationMap.getMap().classNameMap,t,"layer",n)} /** * @license * Copyright 2018 Google LLC @@ -11210,7 +11210,7 @@ function w7(e,t={},n=!1){return X6(e,p3.serialization.SerializationMap.getMap(). * https://opensource.org/licenses/MIT. * ============================================================================= */ -function I7(e,t){return(0,p3.tidy)(()=>{"float32"!==e.dtype&&(e=p3.cast(e,"float32"));const n=p3.sum(U8(e),t,!0),i=p3.fill(n.shape,C8()),r=p3.sqrt(p3.maximum(n,i));return p3.div(e,r)})}function A7(e,t){return(0,p3.tidy)(()=>p3.mean(U8(p3.sub(t,e)),-1))}function S7(e,t){return(0,p3.tidy)(()=>p3.mean(p3.abs(p3.sub(t,e)),-1))}function C7(e,t){return(0,p3.tidy)(()=>{const n=p3.sub(e,t),i=p3.clipByValue(p3.abs(e),C8(),Number.MAX_VALUE),r=p3.abs(p3.div(n,i));return p3.mul(100,p3.mean(r,-1))})}function O7(e,t){return(0,p3.tidy)(()=>{const n=p3.clipByValue(t,C8(),Number.MAX_VALUE),i=p3.log(p3.add(1,n)),r=p3.clipByValue(e,C8(),Number.MAX_VALUE),s=p3.log(p3.add(1,r));return p3.mean(U8(p3.sub(i,s)),-1)})}function M7(e,t,n=!1){return(0,p3.tidy)(()=>{if(n)t=p3.softmax(t);else{const e=p3.sum(t,t.shape.length-1,!0);t=p3.div(t,e)}return t=p3.clipByValue(t,C8(),1-C8()),p3.neg(p3.sum(p3.mul(p3.cast(e,"float32"),p3.log(t)),t.shape.length-1))})}function k7(e,t,n=!1){return(0,p3.tidy)(()=>{const i=p3.cast(p3.floor(function(e){const t=[E8(e.shape)];return p3.reshape(e,t)}(e)),"int32"),r=(t=p3.clipByValue(t,C8(),1-C8())).shape;return M7(p3.reshape(p3.oneHot(i,r[r.length-1]),r),t,n)})}function R7(e,t){return(0,p3.tidy)(()=>{let n;return n=p3.clipByValue(t,C8(),1-C8()),n=p3.log(p3.div(n,p3.sub(1,n))),p3.mean(function(e,t){if(!p3.util.arraysEqual(e.shape,t.shape))throw new D6(`logits and labels must have the same shape, but got shapes ${JSON.stringify(e.shape)} and ${JSON.stringify(t.shape)}`);return(0,p3.tidy)(()=>{const n=p3.relu(t),i=p3.neg(p3.abs(t));return p3.add(p3.sub(n,p3.mul(t,e)),p3.log1p(p3.exp(i)))})}(e,n),-1)})}function N7(e,t){return(0,p3.tidy)(()=>{const n=p3.clipByValue(e,C8(),1),i=p3.clipByValue(t,C8(),1);return p3.sum(p3.mul(e,p3.log(p3.div(n,i))),-1)})}function D7(e,t){return(0,p3.tidy)(()=>{const n=I7(e,-1),i=I7(t,-1),r=p3.mul(n,i);return p3.neg(p3.sum(r,-1))})}x7.constructors={};const F7={meanSquaredError:A7,meanAbsoluteError:S7,meanAbsolutePercentageError:C7,meanSquaredLogarithmicError:O7,squaredHinge:function(e,t){return(0,p3.tidy)(()=>{const n=p3.maximum(0,p3.sub(1,p3.mul(e,t)));return p3.mean(U8(n),-1)})},hinge:function(e,t){return(0,p3.tidy)(()=>{const n=p3.maximum(0,p3.sub(1,p3.mul(e,t)));return p3.mean(n,-1)})},categoricalHinge:function(e,t){return(0,p3.tidy)(()=>{const n=p3.sum(p3.mul(e,t),-1),i=p3.max(p3.mul(p3.sub(1,e),t),-1);return p3.maximum(0,p3.add(1,p3.sub(i,n)))})},logcosh:function(e,t){return(0,p3.tidy)(()=>{const n=Math.log(2),i=p3.sub(t,e),r=p3.sub(p3.add(i,p3.softplus(p3.mul(-2,i))),n);return p3.mean(r,-1)})},categoricalCrossentropy:M7,sparseCategoricalCrossentropy:k7,binaryCrossentropy:R7,kullbackLeiblerDivergence:N7,poisson:function(e,t){return(0,p3.tidy)(()=>{const n=p3.log(p3.add(C8(),t));return p3.mean(p3.sub(t,p3.mul(e,n)),-1)})},cosineProximity:D7};function L7(e){if("string"==typeof e){if(e in F7)return F7[e];let t=`Unknown loss ${e}`;throw e.toLowerCase().includes("softmaxcrossentropy")&&(t=`Unknown loss ${e}. Use "categoricalCrossentropy" as the string name for tf.losses.softmaxCrossEntropy`),new D6(t)}return e} +function k7(e,t){return(0,v3.tidy)(()=>{"float32"!==e.dtype&&(e=v3.cast(e,"float32"));const n=v3.sum(H8(e),t,!0),i=v3.fill(n.shape,D8()),r=v3.sqrt(v3.maximum(n,i));return v3.div(e,r)})}function R7(e,t){return(0,v3.tidy)(()=>v3.mean(H8(v3.sub(t,e)),-1))}function N7(e,t){return(0,v3.tidy)(()=>v3.mean(v3.abs(v3.sub(t,e)),-1))}function D7(e,t){return(0,v3.tidy)(()=>{const n=v3.sub(e,t),i=v3.clipByValue(v3.abs(e),D8(),Number.MAX_VALUE),r=v3.abs(v3.div(n,i));return v3.mul(100,v3.mean(r,-1))})}function F7(e,t){return(0,v3.tidy)(()=>{const n=v3.clipByValue(t,D8(),Number.MAX_VALUE),i=v3.log(v3.add(1,n)),r=v3.clipByValue(e,D8(),Number.MAX_VALUE),s=v3.log(v3.add(1,r));return v3.mean(H8(v3.sub(i,s)),-1)})}function L7(e,t,n=!1){return(0,v3.tidy)(()=>{if(n)t=v3.softmax(t);else{const e=v3.sum(t,t.shape.length-1,!0);t=v3.div(t,e)}return t=v3.clipByValue(t,D8(),1-D8()),v3.neg(v3.sum(v3.mul(v3.cast(e,"float32"),v3.log(t)),t.shape.length-1))})}function P7(e,t,n=!1){return(0,v3.tidy)(()=>{const i=v3.cast(v3.floor(function(e){const t=[O8(e.shape)];return v3.reshape(e,t)}(e)),"int32"),r=(t=v3.clipByValue(t,D8(),1-D8())).shape;return L7(v3.reshape(v3.oneHot(i,r[r.length-1]),r),t,n)})}function B7(e,t){return(0,v3.tidy)(()=>{let n;return n=v3.clipByValue(t,D8(),1-D8()),n=v3.log(v3.div(n,v3.sub(1,n))),v3.mean(function(e,t){if(!v3.util.arraysEqual(e.shape,t.shape))throw new U6(`logits and labels must have the same shape, but got shapes ${JSON.stringify(e.shape)} and ${JSON.stringify(t.shape)}`);return(0,v3.tidy)(()=>{const n=v3.relu(t),i=v3.neg(v3.abs(t));return v3.add(v3.sub(n,v3.mul(t,e)),v3.log1p(v3.exp(i)))})}(e,n),-1)})}function $7(e,t){return(0,v3.tidy)(()=>{const n=v3.clipByValue(e,D8(),1),i=v3.clipByValue(t,D8(),1);return v3.sum(v3.mul(e,v3.log(v3.div(n,i))),-1)})}function U7(e,t){return(0,v3.tidy)(()=>{const n=k7(e,-1),i=k7(t,-1),r=v3.mul(n,i);return v3.neg(v3.sum(r,-1))})}C7.constructors={};const V7={meanSquaredError:R7,meanAbsoluteError:N7,meanAbsolutePercentageError:D7,meanSquaredLogarithmicError:F7,squaredHinge:function(e,t){return(0,v3.tidy)(()=>{const n=v3.maximum(0,v3.sub(1,v3.mul(e,t)));return v3.mean(H8(n),-1)})},hinge:function(e,t){return(0,v3.tidy)(()=>{const n=v3.maximum(0,v3.sub(1,v3.mul(e,t)));return v3.mean(n,-1)})},categoricalHinge:function(e,t){return(0,v3.tidy)(()=>{const n=v3.sum(v3.mul(e,t),-1),i=v3.max(v3.mul(v3.sub(1,e),t),-1);return v3.maximum(0,v3.add(1,v3.sub(i,n)))})},logcosh:function(e,t){return(0,v3.tidy)(()=>{const n=Math.log(2),i=v3.sub(t,e),r=v3.sub(v3.add(i,v3.softplus(v3.mul(-2,i))),n);return v3.mean(r,-1)})},categoricalCrossentropy:L7,sparseCategoricalCrossentropy:P7,binaryCrossentropy:B7,kullbackLeiblerDivergence:$7,poisson:function(e,t){return(0,v3.tidy)(()=>{const n=v3.log(v3.add(D8(),t));return v3.mean(v3.sub(t,v3.mul(e,n)),-1)})},cosineProximity:U7};function z7(e){if("string"==typeof e){if(e in V7)return V7[e];let t=`Unknown loss ${e}`;throw e.toLowerCase().includes("softmaxcrossentropy")&&(t=`Unknown loss ${e}. Use "categoricalCrossentropy" as the string name for tf.losses.softmaxCrossEntropy`),new U6(t)}return e} /** * @license * Copyright 2018 Google LLC @@ -11220,7 +11220,7 @@ function I7(e,t){return(0,p3.tidy)(()=>{"float32"!==e.dtype&&(e=p3.cast(e,"float * https://opensource.org/licenses/MIT. * ============================================================================= */ -function P7(e,t){return(0,p3.tidy)(()=>{const n=p3.mul(.5,p3.onesLike(t)),i=O8(p3.greater(t,n),e.dtype);return p3.mean(p3.equal(e,i),-1)})}function B7(e,t){return(0,p3.tidy)(()=>O8(p3.equal(p3.argMax(e,-1),p3.argMax(t,-1)),"float32"))}function $7(e,t){return(0,p3.tidy)(()=>p3.cast(p3.sum(p3.logicalAnd(p3.equal(e,1),p3.equal(t,1))),"float32"))}function U7(e,t){return(0,p3.tidy)(()=>{const n=$7(e,t),i=function(e,t){return(0,p3.tidy)(()=>p3.cast(p3.sum(p3.logicalAnd(p3.equal(e,0),p3.equal(t,1))),"float32"))}(e,t),r=p3.add(n,i);return p3.cast(p3.where(p3.greater(r,0),p3.div(n,r),0),"float32")})}function V7(e,t){return(0,p3.tidy)(()=>{const n=$7(e,t),i=function(e,t){return(0,p3.tidy)(()=>p3.cast(p3.sum(p3.logicalAnd(p3.equal(e,1),p3.equal(t,0))),"float32"))}(e,t),r=p3.add(n,i);return p3.cast(p3.where(p3.greater(r,0),p3.div(n,r),0),"float32")})}function z7(e,t){return R7(e,t)}function j7(e,t){return e.rank===t.rank&&(e=p3.squeeze(e,[e.rank-1])),(t=p3.argMax(t,-1)).dtype!==e.dtype&&(t=p3.cast(t,e.dtype)),p3.cast(p3.equal(e,t),"float32")}const Y7=M7,G7=k7,H7={binaryAccuracy:P7,categoricalAccuracy:B7,precision:U7,categoricalCrossentropy:Y7,sparseCategoricalCrossentropy:G7,mse:A7,MSE:A7,mae:S7,MAE:S7,mape:C7,MAPE:C7,cosine:D7};function W7(e){if("string"==typeof e&&e in H7)return H7[e];if("string"!=typeof e&&null!=e)return e;throw new D6(`Unknown metric ${e}`)}function X7(e){if($6(null!==e,`Unknown LossOrMetricFn ${e}`),"string"==typeof e)return e;{let t;for(const n of Object.keys(F7))if(F7[n]===e){t=n;break}if(void 0!==t)return t;for(const n of Object.keys(H7))if(H7[n]===e){t=n;break}return void 0!==t?t:e.name}} +function j7(e,t){return(0,v3.tidy)(()=>{const n=v3.mul(.5,v3.onesLike(t)),i=F8(v3.greater(t,n),e.dtype);return v3.mean(v3.equal(e,i),-1)})}function Y7(e,t){return(0,v3.tidy)(()=>F8(v3.equal(v3.argMax(e,-1),v3.argMax(t,-1)),"float32"))}function G7(e,t){return(0,v3.tidy)(()=>v3.cast(v3.sum(v3.logicalAnd(v3.equal(e,1),v3.equal(t,1))),"float32"))}function H7(e,t){return(0,v3.tidy)(()=>{const n=G7(e,t),i=function(e,t){return(0,v3.tidy)(()=>v3.cast(v3.sum(v3.logicalAnd(v3.equal(e,0),v3.equal(t,1))),"float32"))}(e,t),r=v3.add(n,i);return v3.cast(v3.where(v3.greater(r,0),v3.div(n,r),0),"float32")})}function W7(e,t){return(0,v3.tidy)(()=>{const n=G7(e,t),i=function(e,t){return(0,v3.tidy)(()=>v3.cast(v3.sum(v3.logicalAnd(v3.equal(e,1),v3.equal(t,0))),"float32"))}(e,t),r=v3.add(n,i);return v3.cast(v3.where(v3.greater(r,0),v3.div(n,r),0),"float32")})}function X7(e,t){return B7(e,t)}function q7(e,t){return e.rank===t.rank&&(e=v3.squeeze(e,[e.rank-1])),(t=v3.argMax(t,-1)).dtype!==e.dtype&&(t=v3.cast(t,e.dtype)),v3.cast(v3.equal(e,t),"float32")}const K7=L7,Z7=P7,Q7={binaryAccuracy:j7,categoricalAccuracy:Y7,precision:H7,categoricalCrossentropy:K7,sparseCategoricalCrossentropy:Z7,mse:R7,MSE:R7,mae:N7,MAE:N7,mape:D7,MAPE:D7,cosine:U7};function J7(e){if("string"==typeof e&&e in Q7)return Q7[e];if("string"!=typeof e&&null!=e)return e;throw new U6(`Unknown metric ${e}`)}function eee(e){if(G6(null!==e,`Unknown LossOrMetricFn ${e}`),"string"==typeof e)return e;{let t;for(const n of Object.keys(V7))if(V7[n]===e){t=n;break}if(void 0!==t)return t;for(const n of Object.keys(Q7))if(Q7[n]===e){t=n;break}return void 0!==t?t:e.name}} /** * @license * Copyright 2019 Google LLC @@ -11230,7 +11230,7 @@ function P7(e,t){return(0,p3.tidy)(()=>{const n=p3.mul(.5,p3.onesLike(t)),i=O8(p * https://opensource.org/licenses/MIT. * ============================================================================= */ -const q7=1048576;function K7(e,t,n=!1){if(null==e||"object"!=typeof e||Object.getPrototypeOf(e)!==Object.prototype||!Z7(e))throw new Error("User-defined metadata is expected to be a JSON object, but is not.");if(n){const n=JSON.stringify(e);n.length>q7&&console.warn(`User-defined metadata of model "${t}" is too large in size (length=${n.length} when serialized). It is not recommended to store such large objects in user-defined metadata. Please make sure its serialized length is <= 1048576.`)}}function Z7(e){if(null===e)return!0;if("object"==typeof e){if(Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);for(const n of t){if("string"!=typeof n)return!1;if(!Z7(e[n]))return!1}return!0}if(Array.isArray(e)){for(const t of e)if(!Z7(t))return!1;return!0}return!1}{const t=typeof e;return"string"===t||"number"===t||"boolean"===t}} +const tee=1048576;function nee(e,t,n=!1){if(null==e||"object"!=typeof e||Object.getPrototypeOf(e)!==Object.prototype||!iee(e))throw new Error("User-defined metadata is expected to be a JSON object, but is not.");if(n){const n=JSON.stringify(e);n.length>tee&&console.warn(`User-defined metadata of model "${t}" is too large in size (length=${n.length} when serialized). It is not recommended to store such large objects in user-defined metadata. Please make sure its serialized length is <= 1048576.`)}}function iee(e){if(null===e)return!0;if("object"==typeof e){if(Object.getPrototypeOf(e)===Object.prototype){const t=Object.keys(e);for(const n of t){if("string"!=typeof n)return!1;if(!iee(e[n]))return!1}return!0}if(Array.isArray(e)){for(const t of e)if(!iee(t))return!1;return!0}return!1}{const t=typeof e;return"string"===t||"number"===t||"boolean"===t}} /** * @license * Copyright 2018 Google LLC @@ -11240,7 +11240,7 @@ const q7=1048576;function K7(e,t,n=!1){if(null==e||"object"!=typeof e||Object.ge * https://opensource.org/licenses/MIT. * ============================================================================= */ -function Q7(e,t,n,i=console.log){const r=function(e){let t=!0;const n=[],i=[];for(const t in e.nodesByDepth)n.push(e.nodesByDepth[t]);for(const e of n){if(e.length>1||1===e.length&&e[0].inboundLayers.length>1){t=!1;break}i.push(...e)}if(t)for(const n of e.layers){let e=!1;for(const r of n.inboundNodes)if(-1!==i.indexOf(r)){if(e){t=!1;break}e=!0}if(!t)break}return t}(e),s=["Layer (type)","Input Shape","Output shape","Param #"];let o;if(r?(t=t||90,n=n||[.32,.61,.89,1]):(t=t||115,n=n||[.24,.48,.7,.8,1]),n[n.length-1]<=1&&(n=n.map(e=>Math.floor(t*e))),!r){s.push("Receives inputs"),o=[];for(const t in e.nodesByDepth)o.push(...e.nodesByDepth[t])}i("_".repeat(t)),J7(s,n,i),i("=".repeat(t));const a=e.layers;for(let e=0;e0&&(i=i.slice(0,i.length-1)+" "),i+=e[n],i=i.slice(0,t[n]),i+=" ".repeat(t[n]-i.length);n(i)}function eee(e,t,n){let i,r;try{r=e.inboundNodes.map(e=>JSON.stringify(e.inputShapes)).join(",")}catch(e){r="multiple"}try{i=JSON.stringify(e.outputShape)}catch(e){i="multiple"}J7([`${e.name} (${e.getClassName()})`,r,i,e.countParams().toString()],t,n)}function tee(e,t,n,i){let r,s;try{s=e.inboundNodes.map(e=>JSON.stringify(e.inputShapes)).join(",")}catch(e){s="multiple"}try{r=JSON.stringify(e.outputShape)}catch(e){r="multiple"}const o=[];for(const t of e.inboundNodes)if(!(null!=n&&n.length>0&&-1===n.indexOf(t)))for(let e=0;e1||1===e.length&&e[0].inboundLayers.length>1){t=!1;break}i.push(...e)}if(t)for(const n of e.layers){let e=!1;for(const r of n.inboundNodes)if(-1!==i.indexOf(r)){if(e){t=!1;break}e=!0}if(!t)break}return t}(e),s=["Layer (type)","Input Shape","Output shape","Param #"];let o;if(r?(t=t||90,n=n||[.32,.61,.89,1]):(t=t||115,n=n||[.24,.48,.7,.8,1]),n[n.length-1]<=1&&(n=n.map(e=>Math.floor(t*e))),!r){s.push("Receives inputs"),o=[];for(const t in e.nodesByDepth)o.push(...e.nodesByDepth[t])}i("_".repeat(t)),see(s,n,i),i("=".repeat(t));const a=e.layers;for(let e=0;e0&&(i=i.slice(0,i.length-1)+" "),i+=e[n],i=i.slice(0,t[n]),i+=" ".repeat(t[n]-i.length);n(i)}function oee(e,t,n){let i,r;try{r=e.inboundNodes.map(e=>JSON.stringify(e.inputShapes)).join(",")}catch(e){r="multiple"}try{i=JSON.stringify(e.outputShape)}catch(e){i="multiple"}see([`${e.name} (${e.getClassName()})`,r,i,e.countParams().toString()],t,n)}function aee(e,t,n,i){let r,s;try{s=e.inboundNodes.map(e=>JSON.stringify(e.inputShapes)).join(",")}catch(e){s="multiple"}try{r=JSON.stringify(e.outputShape)}catch(e){r="multiple"}const o=[];for(const t of e.inboundNodes)if(!(null!=n&&n.length>0&&-1===n.indexOf(t)))for(let e=0;ee.name)}`);K6(this.outputs).length!==this.outputs.length&&console.warn(`The list of outputs passed to the model is redundant. All outputs should only appear once. Found: ${this.outputs.map(e=>e.name)}`),this.inputLayers=[],this.inputLayersNodeIndices=[],this.inputLayersTensorIndices=[],this.outputLayers=[],this.outputLayersNodeIndices=[],this.outputLayersTensorIndices=[],this.layers=[],this.internalContainerRefs=[];for(const e of this.outputs){const t=e.sourceLayer,n=e.nodeIndex,i=e.tensorIndex;this.outputLayers.push(t),this.outputLayersNodeIndices.push(n),this.outputLayersTensorIndices.push(i)}for(const e of this.inputs){const t=e.sourceLayer,n=e.nodeIndex,i=e.tensorIndex;$6(0===n,"input layer has >1 nodes"),$6(0===i,"input layer has >1 tensors"),this.inputLayers.push(t),this.inputLayersNodeIndices.push(n),this.inputLayersTensorIndices.push(i)}this.inputNames=[],this.outputNames=[],this.feedInputShapes=[],this.feedInputNames=[],this.feedOutputNames=[];for(let t=0;te.shape),this.internalOutputShapes=this.outputs.map(e=>e.shape);const t={},n={},i={},r={},s={},o=[],a=(e,t,n,i,r,l)=>{null!=i&&null!=r&&null!=l||(i=e.sourceLayer,r=e.nodeIndex,l=e.tensorIndex);const u=i.inboundNodes[r];if(-1!==n.indexOf(u))throw new N6(`The tensor ${e.name} at layer "${i.name}" is part of a cycle.`);if(-1!==t.indexOf(u))return;this.containerNodes.add(oee.nodeKey(i,r)),i.id in s||(s[i.id]=Object.keys(s).length),-1===n.indexOf(u)&&n.push(u);const c=u.inboundLayers.length;for(let e=0;e=0;)n.splice(n.indexOf(u),1);o.push(u)},l=[],u=[];for(const e of this.outputs)a(e,l,u);const c=o.slice().reverse();for(const e of c){n[e.id]=e,e.id in t||(t[e.id]=0);let s=t[e.id];const o=null==i[e.outboundLayer.id]?0:i[e.outboundLayer.id];s=Math.max(s,o),i[e.outboundLayer.id]=s,r[e.outboundLayer.id]=e.outboundLayer,t[e.id]=s;for(let i=0;iparseInt(e,10)).sort(q6);this.layers=[];for(const e of p){const t=h[e];t.sort((e,t)=>{const n=s[e.id],i=s[t.id];return ni?1:0});for(const e of t)e instanceof oee&&this.internalContainerRefs.push(e),this.layers.push(e)}this.layersByDepth=h,p=Object.keys(d).map(e=>parseInt(e,10)).sort(q6);const f=this.inputs.slice(),m=[];for(const e of p)for(const t of d[e]){const e=t.outboundLayer;if(null!=e){for(const n of t.inputTensors)if(-1===f.indexOf(n))throw new N6(`Graph disconnected: cannot obtain value for tensor ${n} at layer "${e.name}". The following previous layers were accessed without issue: ${m}`);for(const e of t.outputTensors)f.push(e);m.push(e.name)}}this.nodesByDepth=d;const g=this.layers.map(e=>e.name);for(const e of g){const t=g.filter(t=>t===e).length;if(1!==t)throw new N6(`The name "${e}" is used ${t} times in the model. All layer names should be unique. Layer names: `+JSON.stringify(g))}this.outboundNodes=[],this.inboundNodes=[],new I9({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:this.inputs.map(e=>null),outputMasks:this.outputs.map(e=>null),inputShapes:this.inputs.map(e=>e.shape),outputShapes:this.outputs.map(e=>e.shape)}),this.built=!0,this._refCount=1}assertNotDisposed(){if(0===this._refCount)throw new Error(`Container '${this.name}' is already disposed.`)}dispose(){this.assertNotDisposed();const e={refCountAfterDispose:null,numDisposedVariables:0};if(0===--this._refCount){for(const t of this.layers)e.numDisposedVariables+=t.dispose().numDisposedVariables;for(const t of this.internalContainerRefs)e.numDisposedVariables+=t.dispose().numDisposedVariables}return e.refCountAfterDispose=this._refCount,e}get trainable(){return this.trainable_}set trainable(e){this.layers.forEach(t=>{t._trainableWeights.forEach(t=>t.trainable=e)}),this.trainable_=e}get trainableWeights(){if(this._trainableWeights.length>0)throw new D6("Container instance unexpectedly contains _trainableWeights.The trainable weights of a Container are a union of the trainable weights of its consituent Layers. Its own _trainableWeights must remain an empty Array.");if(!this.trainable)return[];let e=[];for(const t of this.layers)e=e.concat(t.trainableWeights);return e}get nonTrainableWeights(){const e=[];for(const t of this.layers)e.push(...t.nonTrainableWeights);if(!this.trainable){const t=[];for(const e of this.layers)t.push(...e.trainableWeights);return t.concat(e)}return e}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}loadWeights(e,t=!0){const n={};let i=0;const r=(e=>{const t=Object.keys(e);if(0===t.length)return!1;const n=t[0].split("/");return!isNaN(parseInt(n[n.length-1],10))})(e);r&&this.parseWeights(e);for(const e of this.layers)for(const[t,s]of e.weights.entries()){const e=r?`${s.name.split("/").slice(0,-1).join("/")+"/"}${t}`:s.originalName;if(null!=n[e])throw new D6(`Duplicate weight name: ${e}`);n[e]=s,i++}const s=[];for(const i in e){let r=i;if(null==n[i]){const e=i.split("/");r=e.slice(0,-2).concat([e[e.length-1]]).join("/")}if(null!=n[r])s.push([n[r],e[i]]);else if(t)throw new D6(`Provided weight data has no target variable: ${i}`);delete n[r]}if(t){const e=[];for(const t in n)e.push(t);if(e.length>0)throw new D6(`${e.length} of ${i} weights are not set: ${e}`)}T9(s)}parseWeights(e){for(const t in Object.keys(e)){const n=t.split("/"),i=["vars","layer_checkpoint_dependencies"],r=n.map(e=>e.startsWith("_")?e.slice(1):e).filter(e=>!i.includes(e)).join("/");r!==t&&(e[r]=e[t],delete e[t])}}updatedConfig(){const e=this.getConfig(),t={};return t.className=this.getClassName(),t.config=e,t.kerasVersion=`tfjs-layers ${see}`,t.backend="TensorFlow.js",t}toJSON(e,t=!0){const n=ree(this.updatedConfig());return t?JSON.stringify(n):n}call(e,t){return(0,p3.tidy)(()=>{e=z6(e);const n=new k9;for(let t=0;t{let n;return e=z6(e),n=null==t?B6(null,e.length):z6(t),this.runInternalGraph(e,n)[1]})}computeOutputShape(e){const t=f9(e);if(t.length!==this.inputLayers.length)throw new D6(`Invalid inputShape argument ${e}: model has ${this.inputLayers.length} tensor inputs.`);const n={};for(let e=0;eparseInt(e,10)).sort(q6);if(i.length>1)for(const e of i){const t=this.nodesByDepth[e];for(const e of t){const t=e.outboundLayer;if(-1!==this.inputLayers.map(e=>e.id).indexOf(t.id))continue;const i=[];for(let t=0;tparseInt(e,10)).sort(q6);for(const e of i){const t=this.nodesByDepth[e];for(const e of t){const t=e.outboundLayer,i=e.inputTensors,r=e.outputTensors,s=new Array;for(const e of i)e.id in n&&s.push(n[e.id]);if(s.length===i.length){let i,o,a,l,u={};if(null!=e.callArgs&&(u=e.callArgs),1===s.length){const[e,n]=s[0];null==u.mask&&(u.mask=n),a=z6(t.call(e,u)),l=z6(t.computeMask(e,n)),i=[e],o=[n]}else i=s.map(e=>e[0]),o=s.map(e=>e[1]),null==u.mask&&(u.mask=o),a=z6(t.call(i,u)),l=z6(t.computeMask(i,o));if(t.activityRegularizer)throw new F6("LayersModel invocation with concrete Tensor value(s) in the presence of activity regularizer(s) is not supported yet.");for(let e=0;e{const e=[];for(const t of this.layers)for(let n=0;n0){const e=[];for(let n=0;n0&&e.apply(V6(n),i)}function l(e){const n=e.name,s=w7(e,null!=t.customObjects?t.customObjects:{});s.setFastWeightInitDuringBuild(i),r[n]=s;e.inboundNodes.forEach(e=>{if(!(e instanceof Array))throw new D6(`Corrupted configuration, expected array for nodeData: ${e}`);o(s,e)})}const u=t.name,c=t.layers;for(const e of c)l(e);for(;!Z6(s);)for(const e of c){const t=r[e.name];if(t.name in s){const e=s[t.name];delete s[t.name];for(const n of e)a(t,n)}}const d=[],h=[],p=t.inputLayers;for(const e of p){const t=e[0],n=e[1],i=e[2];$6(t in r);const s=r[t].inboundNodes[n].outputTensors;d.push(s[i])}const f=t.outputLayers;for(const e of f){const t=e[0],n=e[1],i=e[2];$6(t in r);const s=r[t].inboundNodes[n].outputTensors;h.push(s[i])}return new e({inputs:d,outputs:h,name:u})}get stateful(){if(this._stateful)throw new D6("Container instance unexpectedly has _stateful = true. The statefulness of a Container is determined by the Layers it contains. Its _stateful property must remain the default false.");for(const e of this.layers)if(e.stateful)return!0;return!1}resetStates(){(0,p3.tidy)(()=>{this.layers.forEach(e=>{e.stateful&&e.resetStates()})})}} +const dee="4.22.0";class hee extends N9{constructor(e){if(super({}),this.containerNodes=new Set,this.name=e.name,null==this.name){const e=this.getClassName().toLowerCase();this.name=h8(e)}if(this.supportsMasking=!1,this.trainable_=!0,Array.isArray(e.inputs)?this.inputs=e.inputs.slice():this.inputs=[e.inputs],Array.isArray(e.outputs)?this.outputs=e.outputs.slice():this.outputs=[e.outputs],n8(this.inputs).length!==this.inputs.length)throw new U6(`The list of inputs passed to the model is redundant. All inputs should only appear once. Found: ${this.inputs.map(e=>e.name)}`);n8(this.outputs).length!==this.outputs.length&&console.warn(`The list of outputs passed to the model is redundant. All outputs should only appear once. Found: ${this.outputs.map(e=>e.name)}`),this.inputLayers=[],this.inputLayersNodeIndices=[],this.inputLayersTensorIndices=[],this.outputLayers=[],this.outputLayersNodeIndices=[],this.outputLayersTensorIndices=[],this.layers=[],this.internalContainerRefs=[];for(const e of this.outputs){const t=e.sourceLayer,n=e.nodeIndex,i=e.tensorIndex;this.outputLayers.push(t),this.outputLayersNodeIndices.push(n),this.outputLayersTensorIndices.push(i)}for(const e of this.inputs){const t=e.sourceLayer,n=e.nodeIndex,i=e.tensorIndex;G6(0===n,"input layer has >1 nodes"),G6(0===i,"input layer has >1 tensors"),this.inputLayers.push(t),this.inputLayersNodeIndices.push(n),this.inputLayersTensorIndices.push(i)}this.inputNames=[],this.outputNames=[],this.feedInputShapes=[],this.feedInputNames=[],this.feedOutputNames=[];for(let t=0;te.shape),this.internalOutputShapes=this.outputs.map(e=>e.shape);const t={},n={},i={},r={},s={},o=[],a=(e,t,n,i,r,l)=>{null!=i&&null!=r&&null!=l||(i=e.sourceLayer,r=e.nodeIndex,l=e.tensorIndex);const u=i.inboundNodes[r];if(-1!==n.indexOf(u))throw new $6(`The tensor ${e.name} at layer "${i.name}" is part of a cycle.`);if(-1!==t.indexOf(u))return;this.containerNodes.add(hee.nodeKey(i,r)),i.id in s||(s[i.id]=Object.keys(s).length),-1===n.indexOf(u)&&n.push(u);const c=u.inboundLayers.length;for(let e=0;e=0;)n.splice(n.indexOf(u),1);o.push(u)},l=[],u=[];for(const e of this.outputs)a(e,l,u);const c=o.slice().reverse();for(const e of c){n[e.id]=e,e.id in t||(t[e.id]=0);let s=t[e.id];const o=null==i[e.outboundLayer.id]?0:i[e.outboundLayer.id];s=Math.max(s,o),i[e.outboundLayer.id]=s,r[e.outboundLayer.id]=e.outboundLayer,t[e.id]=s;for(let i=0;iparseInt(e,10)).sort(t8);this.layers=[];for(const e of p){const t=h[e];t.sort((e,t)=>{const n=s[e.id],i=s[t.id];return ni?1:0});for(const e of t)e instanceof hee&&this.internalContainerRefs.push(e),this.layers.push(e)}this.layersByDepth=h,p=Object.keys(d).map(e=>parseInt(e,10)).sort(t8);const f=this.inputs.slice(),m=[];for(const e of p)for(const t of d[e]){const e=t.outboundLayer;if(null!=e){for(const n of t.inputTensors)if(-1===f.indexOf(n))throw new $6(`Graph disconnected: cannot obtain value for tensor ${n} at layer "${e.name}". The following previous layers were accessed without issue: ${m}`);for(const e of t.outputTensors)f.push(e);m.push(e.name)}}this.nodesByDepth=d;const g=this.layers.map(e=>e.name);for(const e of g){const t=g.filter(t=>t===e).length;if(1!==t)throw new $6(`The name "${e}" is used ${t} times in the model. All layer names should be unique. Layer names: `+JSON.stringify(g))}this.outboundNodes=[],this.inboundNodes=[],new k9({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:this.inputs.map(e=>null),outputMasks:this.outputs.map(e=>null),inputShapes:this.inputs.map(e=>e.shape),outputShapes:this.outputs.map(e=>e.shape)}),this.built=!0,this._refCount=1}assertNotDisposed(){if(0===this._refCount)throw new Error(`Container '${this.name}' is already disposed.`)}dispose(){this.assertNotDisposed();const e={refCountAfterDispose:null,numDisposedVariables:0};if(0===--this._refCount){for(const t of this.layers)e.numDisposedVariables+=t.dispose().numDisposedVariables;for(const t of this.internalContainerRefs)e.numDisposedVariables+=t.dispose().numDisposedVariables}return e.refCountAfterDispose=this._refCount,e}get trainable(){return this.trainable_}set trainable(e){this.layers.forEach(t=>{t._trainableWeights.forEach(t=>t.trainable=e)}),this.trainable_=e}get trainableWeights(){if(this._trainableWeights.length>0)throw new U6("Container instance unexpectedly contains _trainableWeights.The trainable weights of a Container are a union of the trainable weights of its consituent Layers. Its own _trainableWeights must remain an empty Array.");if(!this.trainable)return[];let e=[];for(const t of this.layers)e=e.concat(t.trainableWeights);return e}get nonTrainableWeights(){const e=[];for(const t of this.layers)e.push(...t.nonTrainableWeights);if(!this.trainable){const t=[];for(const e of this.layers)t.push(...e.trainableWeights);return t.concat(e)}return e}get weights(){return this.trainableWeights.concat(this.nonTrainableWeights)}loadWeights(e,t=!0){const n={};let i=0;const r=(e=>{const t=Object.keys(e);if(0===t.length)return!1;const n=t[0].split("/");return!isNaN(parseInt(n[n.length-1],10))})(e);r&&this.parseWeights(e);for(const e of this.layers)for(const[t,s]of e.weights.entries()){const e=r?`${s.name.split("/").slice(0,-1).join("/")+"/"}${t}`:s.originalName;if(null!=n[e])throw new U6(`Duplicate weight name: ${e}`);n[e]=s,i++}const s=[];for(const i in e){let r=i;if(null==n[i]){const e=i.split("/");r=e.slice(0,-2).concat([e[e.length-1]]).join("/")}if(null!=n[r])s.push([n[r],e[i]]);else if(t)throw new U6(`Provided weight data has no target variable: ${i}`);delete n[r]}if(t){const e=[];for(const t in n)e.push(t);if(e.length>0)throw new U6(`${e.length} of ${i} weights are not set: ${e}`)}S9(s)}parseWeights(e){for(const t in Object.keys(e)){const n=t.split("/"),i=["vars","layer_checkpoint_dependencies"],r=n.map(e=>e.startsWith("_")?e.slice(1):e).filter(e=>!i.includes(e)).join("/");r!==t&&(e[r]=e[t],delete e[t])}}updatedConfig(){const e=this.getConfig(),t={};return t.className=this.getClassName(),t.config=e,t.kerasVersion=`tfjs-layers ${dee}`,t.backend="TensorFlow.js",t}toJSON(e,t=!0){const n=cee(this.updatedConfig());return t?JSON.stringify(n):n}call(e,t){return(0,v3.tidy)(()=>{e=X6(e);const n=new P9;for(let t=0;t{let n;return e=X6(e),n=null==t?Y6(null,e.length):X6(t),this.runInternalGraph(e,n)[1]})}computeOutputShape(e){const t=b9(e);if(t.length!==this.inputLayers.length)throw new U6(`Invalid inputShape argument ${e}: model has ${this.inputLayers.length} tensor inputs.`);const n={};for(let e=0;eparseInt(e,10)).sort(t8);if(i.length>1)for(const e of i){const t=this.nodesByDepth[e];for(const e of t){const t=e.outboundLayer;if(-1!==this.inputLayers.map(e=>e.id).indexOf(t.id))continue;const i=[];for(let t=0;tparseInt(e,10)).sort(t8);for(const e of i){const t=this.nodesByDepth[e];for(const e of t){const t=e.outboundLayer,i=e.inputTensors,r=e.outputTensors,s=new Array;for(const e of i)e.id in n&&s.push(n[e.id]);if(s.length===i.length){let i,o,a,l,u={};if(null!=e.callArgs&&(u=e.callArgs),1===s.length){const[e,n]=s[0];null==u.mask&&(u.mask=n),a=X6(t.call(e,u)),l=X6(t.computeMask(e,n)),i=[e],o=[n]}else i=s.map(e=>e[0]),o=s.map(e=>e[1]),null==u.mask&&(u.mask=o),a=X6(t.call(i,u)),l=X6(t.computeMask(i,o));if(t.activityRegularizer)throw new V6("LayersModel invocation with concrete Tensor value(s) in the presence of activity regularizer(s) is not supported yet.");for(let e=0;e{const e=[];for(const t of this.layers)for(let n=0;n0){const e=[];for(let n=0;n0&&e.apply(W6(n),i)}function l(e){const n=e.name,s=M7(e,null!=t.customObjects?t.customObjects:{});s.setFastWeightInitDuringBuild(i),r[n]=s;e.inboundNodes.forEach(e=>{if(!(e instanceof Array))throw new U6(`Corrupted configuration, expected array for nodeData: ${e}`);o(s,e)})}const u=t.name,c=t.layers;for(const e of c)l(e);for(;!i8(s);)for(const e of c){const t=r[e.name];if(t.name in s){const e=s[t.name];delete s[t.name];for(const n of e)a(t,n)}}const d=[],h=[],p=t.inputLayers;for(const e of p){const t=e[0],n=e[1],i=e[2];G6(t in r);const s=r[t].inboundNodes[n].outputTensors;d.push(s[i])}const f=t.outputLayers;for(const e of f){const t=e[0],n=e[1],i=e[2];G6(t in r);const s=r[t].inboundNodes[n].outputTensors;h.push(s[i])}return new e({inputs:d,outputs:h,name:u})}get stateful(){if(this._stateful)throw new U6("Container instance unexpectedly has _stateful = true. The statefulness of a Container is determined by the Layers it contains. Its _stateful property must remain the default false.");for(const e of this.layers)if(e.stateful)return!0;return!1}resetStates(){(0,v3.tidy)(()=>{this.layers.forEach(e=>{e.stateful&&e.resetStates()})})}} /** * @license * Copyright 2018 Google LLC @@ -11262,7 +11262,7 @@ const see="4.22.0";class oee extends S9{constructor(e){if(super({}),this.contain * https://opensource.org/licenses/MIT. * ============================================================================= */ -function aee(e,t,n){const i=t.length;if(null==e||Array.isArray(e)&&0===e.length)return t.map(e=>null);if(1===i)return Array.isArray(e)&&1===e.length?e:"object"==typeof e&&t[0]in e?[e[t[0]]]:[e];if(Array.isArray(e)){if(e.length!==i)throw new Error(`Provided ${n} is an array of ${e.length} element(s), but the model has ${i} outputs. Make sure a set of weights is provided for each model output.`);return e}if("object"==typeof e&&Object.keys(e).length>0&&"object"==typeof e[Object.keys(e)[0]]){const n=[];return t.forEach(t=>{t in e?n.push(e[t]):n.push(null)}),n}throw new Error(`The model has multiple (${i}) outputs, so ${n} must be either an array with ${i} elements or an object with ${t} keys. Provided ${n} not understood: ${JSON.stringify(e)}`)}function lee(e,t){return aee(e,t,"classWeight")}async function uee(e,t,n,i){if(null!=t||null!=i)throw new Error("Support sampleWeight is not implemented yet");if(null!=n){const t=(0,p3.tidy)(()=>{if(1===e.shape.length)return(0,p3.clone)(e);if(2===e.shape.length){if(e.shape[1]>1){const t=1;return(0,p3.argMax)(e,t)}if(1===e.shape[1])return(0,p3.reshape)(e,[e.shape[0]]);throw new Error(`Encountered unexpected last-dimension size (${e.shape[1]}) during handling of class weights. The size is expected to be >= 1.`)}throw new Error(`Unexpected rank of target (y) tensor (${e.rank}) during handling of class weights. The rank is expected to be 1 or 2.`)}),i=Array.from(await t.data());(0,p3.dispose)(t);const r=[];return i.forEach(e=>{if(null==n[e])throw new Error(`classWeight must contain all classes in the training data. The class ${e} exists in the data but not in classWeight`);r.push(n[e])}),(0,p3.tensor1d)(r,"float32")}return null}function cee(e,t){return(0,p3.mul)(e,t)}function dee(e,t){let n,i;const r=t;n=r.xs,i=r.ys,p3.util.assert(null!=n&&null!=i,()=>`A Dataset iterator for fitDataset() is expected to generate objects of the form \`{xs: xVal, ys: yVal}\`, where the two values may be \`tf.Tensor\`, an array of Tensors, or a map of string to Tensor. The provided Dataset instead generates ${t}`);const s=hee("input",e.inputNames,n),o=hee("output",e.outputNames,i),a=s[0].shape[0];p3.util.assert(s.length===e.inputs.length,()=>`LayersModel has ${e.inputs.length} inputs, but the dataset provides ${s.length} inputs. (Expected input keys: ${JSON.stringify(e.inputNames)})`),p3.util.assert(o.length===e.outputs.length,()=>`LayersModel has ${e.outputs.length} outputs, but the dataset provides ${o.length} outputs. (Expected output keys: ${JSON.stringify(e.outputNames)})`);for(let t=0;t`Batch size mismatch: input ${e.inputNames[t]} has ${s[t].shape[0]}; expected ${a} based on input ${e.inputNames[0]}.`);for(let t=0;t`Batch size mismatch: output ${e.outputNames[t]} has ${o[t].shape[0]}; expected ${a} based on input ${e.inputNames[0]}.`);return{xs:s,ys:o}}function hee(e,t,n){if(n instanceof p3.Tensor)return[n];if(Array.isArray(n))return p3.util.assert(n.length===t.length,()=>`Received an array of ${n.length} Tensors, but expected ${t.length} to match the ${e} keys ${t}.`),n;{const i=[];for(const r of t){if(null==n[r])throw new D6(`The feature data generated by the dataset lacks the required ${e} key '${r}'.`);i.push(n[r])}return i}}async function pee(e,t,n){const i=null!=n.batchesPerEpoch;if(p3.util.assert(null!=e.optimizer,()=>"You must compile a model before training/testing. Use LayersModel.compile(modelCompileConfig)."),p3.util.assert(null!=n,()=>"For fitDataset(), the 2nd argument (config) is required, but it is not provided in this call."),p3.util.assert(null!=n.epochs&&n.epochs>0&&Number.isInteger(n.epochs),()=>`For fitDataset(), config.epochs is expected to be a positive integer, but got ${n.epochs}`),p3.util.assert(!i||n.batchesPerEpoch>0&&Number.isInteger(n.batchesPerEpoch),()=>`For fitDataset(), config.batchesPerEpoch is expected to be a positive integer if specified, but got ${n.batchesPerEpoch}`),p3.util.assert(null==n.validationSplit,()=>"`validationSplit` is not supported by `fitDataset()`. Use validationData instead."),e.isTraining)throw new Error("Cannot start training because another fit() call is ongoing.");e.isTraining=!0;try{const r=null!=n.validationData;let s,o;if(r)if(fee(n.validationData))p3.util.assert(null==n.validationBatches||n.validationBatches>0&&Number.isInteger(n.validationBatches),()=>`For fitDataset() with dataset-based validation, config.validationBatches is expected not to be provided, or to be a positive integer, but got ${n.validationBatches}`);else{const e=function(e){if(3===e.length)throw new F6("Validation with sample weights is not implemented yet.");return{xs:e[0],ys:e[1]}}(n.validationData);s=e.xs,o=e.ys}const a=e.makeTrainFunction(),l=e.getDedupedMetricsNames();let u;u=r?l.slice().concat(l.map(e=>"val_"+e)):l.slice();const c=T7(n.callbacks,n.yieldEvery),d=null==n.verbose?1:n.verbose,{callbackList:h,history:p}=E7(c,d,n.epochs,null,null,function(e,t){let n=null;null!=t.batchesPerEpoch?n=t.batchesPerEpoch:Number.isFinite(e.size)&&(n=e.size);return n}(t,n),null,r,u);h.setModel(e),e.history=p,await h.onTrainBegin(),e.stopTraining_=!1;let f=null==n.initialEpoch?0:n.initialEpoch,m=await t.iterator();for(;f=n.batchesPerEpoch:t.done){if(r){let t;t=fee(n.validationData)?z6(await e.evaluateDataset(n.validationData,{batches:n.validationBatches})):z6(e.evaluate(s,o,{batchSize:null==n.validationBatchSize?32:n.validationBatchSize,verbose:0}));for(let n=0;nnull);if(1===i)return Array.isArray(e)&&1===e.length?e:"object"==typeof e&&t[0]in e?[e[t[0]]]:[e];if(Array.isArray(e)){if(e.length!==i)throw new Error(`Provided ${n} is an array of ${e.length} element(s), but the model has ${i} outputs. Make sure a set of weights is provided for each model output.`);return e}if("object"==typeof e&&Object.keys(e).length>0&&"object"==typeof e[Object.keys(e)[0]]){const n=[];return t.forEach(t=>{t in e?n.push(e[t]):n.push(null)}),n}throw new Error(`The model has multiple (${i}) outputs, so ${n} must be either an array with ${i} elements or an object with ${t} keys. Provided ${n} not understood: ${JSON.stringify(e)}`)}function fee(e,t){return pee(e,t,"classWeight")}async function mee(e,t,n,i){if(null!=t||null!=i)throw new Error("Support sampleWeight is not implemented yet");if(null!=n){const t=(0,v3.tidy)(()=>{if(1===e.shape.length)return(0,v3.clone)(e);if(2===e.shape.length){if(e.shape[1]>1){const t=1;return(0,v3.argMax)(e,t)}if(1===e.shape[1])return(0,v3.reshape)(e,[e.shape[0]]);throw new Error(`Encountered unexpected last-dimension size (${e.shape[1]}) during handling of class weights. The size is expected to be >= 1.`)}throw new Error(`Unexpected rank of target (y) tensor (${e.rank}) during handling of class weights. The rank is expected to be 1 or 2.`)}),i=Array.from(await t.data());(0,v3.dispose)(t);const r=[];return i.forEach(e=>{if(null==n[e])throw new Error(`classWeight must contain all classes in the training data. The class ${e} exists in the data but not in classWeight`);r.push(n[e])}),(0,v3.tensor1d)(r,"float32")}return null}function gee(e,t){return(0,v3.mul)(e,t)}function _ee(e,t){let n,i;const r=t;n=r.xs,i=r.ys,v3.util.assert(null!=n&&null!=i,()=>`A Dataset iterator for fitDataset() is expected to generate objects of the form \`{xs: xVal, ys: yVal}\`, where the two values may be \`tf.Tensor\`, an array of Tensors, or a map of string to Tensor. The provided Dataset instead generates ${t}`);const s=yee("input",e.inputNames,n),o=yee("output",e.outputNames,i),a=s[0].shape[0];v3.util.assert(s.length===e.inputs.length,()=>`LayersModel has ${e.inputs.length} inputs, but the dataset provides ${s.length} inputs. (Expected input keys: ${JSON.stringify(e.inputNames)})`),v3.util.assert(o.length===e.outputs.length,()=>`LayersModel has ${e.outputs.length} outputs, but the dataset provides ${o.length} outputs. (Expected output keys: ${JSON.stringify(e.outputNames)})`);for(let t=0;t`Batch size mismatch: input ${e.inputNames[t]} has ${s[t].shape[0]}; expected ${a} based on input ${e.inputNames[0]}.`);for(let t=0;t`Batch size mismatch: output ${e.outputNames[t]} has ${o[t].shape[0]}; expected ${a} based on input ${e.inputNames[0]}.`);return{xs:s,ys:o}}function yee(e,t,n){if(n instanceof v3.Tensor)return[n];if(Array.isArray(n))return v3.util.assert(n.length===t.length,()=>`Received an array of ${n.length} Tensors, but expected ${t.length} to match the ${e} keys ${t}.`),n;{const i=[];for(const r of t){if(null==n[r])throw new U6(`The feature data generated by the dataset lacks the required ${e} key '${r}'.`);i.push(n[r])}return i}}async function vee(e,t,n){const i=null!=n.batchesPerEpoch;if(v3.util.assert(null!=e.optimizer,()=>"You must compile a model before training/testing. Use LayersModel.compile(modelCompileConfig)."),v3.util.assert(null!=n,()=>"For fitDataset(), the 2nd argument (config) is required, but it is not provided in this call."),v3.util.assert(null!=n.epochs&&n.epochs>0&&Number.isInteger(n.epochs),()=>`For fitDataset(), config.epochs is expected to be a positive integer, but got ${n.epochs}`),v3.util.assert(!i||n.batchesPerEpoch>0&&Number.isInteger(n.batchesPerEpoch),()=>`For fitDataset(), config.batchesPerEpoch is expected to be a positive integer if specified, but got ${n.batchesPerEpoch}`),v3.util.assert(null==n.validationSplit,()=>"`validationSplit` is not supported by `fitDataset()`. Use validationData instead."),e.isTraining)throw new Error("Cannot start training because another fit() call is ongoing.");e.isTraining=!0;try{const r=null!=n.validationData;let s,o;if(r)if(bee(n.validationData))v3.util.assert(null==n.validationBatches||n.validationBatches>0&&Number.isInteger(n.validationBatches),()=>`For fitDataset() with dataset-based validation, config.validationBatches is expected not to be provided, or to be a positive integer, but got ${n.validationBatches}`);else{const e=function(e){if(3===e.length)throw new V6("Validation with sample weights is not implemented yet.");return{xs:e[0],ys:e[1]}}(n.validationData);s=e.xs,o=e.ys}const a=e.makeTrainFunction(),l=e.getDedupedMetricsNames();let u;u=r?l.slice().concat(l.map(e=>"val_"+e)):l.slice();const c=S7(n.callbacks,n.yieldEvery),d=null==n.verbose?1:n.verbose,{callbackList:h,history:p}=O7(c,d,n.epochs,null,null,function(e,t){let n=null;null!=t.batchesPerEpoch?n=t.batchesPerEpoch:Number.isFinite(e.size)&&(n=e.size);return n}(t,n),null,r,u);h.setModel(e),e.history=p,await h.onTrainBegin(),e.stopTraining_=!1;let f=null==n.initialEpoch?0:n.initialEpoch,m=await t.iterator();for(;f=n.batchesPerEpoch:t.done){if(r){let t;t=bee(n.validationData)?X6(await e.evaluateDataset(n.validationData,{batches:n.validationBatches})):X6(e.evaluate(s,o,{batchSize:null==n.validationBatchSize?32:n.validationBatchSize,verbose:0}));for(let n=0;n0&&Number.isInteger(e),()=>`batchSize is required to be a positive integer, but got ${e}`)}function gee(e,t,n){return null==e?[null]:Array.isArray(e)?e.map(e=>k8(e,t,n-t)):k8(e,t,n-t)}function _ee(e,t){return p3.tidy(()=>null==e?null:Array.isArray(e)?e.map(e=>_ee(e,t)):$8(e,"int32"===t.dtype?t:p3.cast(t,"int32")))}function yee(e,t){const n=[];let i=0,r=null;for(;i=e&&(r=e),n.push([i,r]),i=r;return n}function vee(e){const t=[];e instanceof p3.Tensor&&(e=[e]);for(let n=0;nn.push(e.id));else if(null!=t)for(const e in t){const i=t[e];n.push(i.id)}const i=[];if(e instanceof p3.Tensor)-1===n.indexOf(e.id)&&i.push(e);else if(Array.isArray(e))e.forEach(e=>{-1===n.indexOf(e.id)&&i.push(e)});else if(null!=e)for(const t in e){const r=e[t];-1===n.indexOf(r.id)&&i.push(r)}i.forEach(e=>{e.isDisposed||e.dispose()})}function Tee(e){return Array.isArray(e)}function xee(e){return! +function Tee(e){v3.util.assert(e>0&&Number.isInteger(e),()=>`batchSize is required to be a positive integer, but got ${e}`)}function xee(e,t,n){return null==e?[null]:Array.isArray(e)?e.map(e=>P8(e,t,n-t)):P8(e,t,n-t)}function Eee(e,t){return v3.tidy(()=>null==e?null:Array.isArray(e)?e.map(e=>Eee(e,t)):G8(e,"int32"===t.dtype?t:v3.cast(t,"int32")))}function wee(e,t){const n=[];let i=0,r=null;for(;i=e&&(r=e),n.push([i,r]),i=r;return n}function Iee(e){const t=[];e instanceof v3.Tensor&&(e=[e]);for(let n=0;nn.push(e.id));else if(null!=t)for(const e in t){const i=t[e];n.push(i.id)}const i=[];if(e instanceof v3.Tensor)-1===n.indexOf(e.id)&&i.push(e);else if(Array.isArray(e))e.forEach(e=>{-1===n.indexOf(e.id)&&i.push(e)});else if(null!=e)for(const t in e){const r=e[t];-1===n.indexOf(r.id)&&i.push(r)}i.forEach(e=>{e.isDisposed||e.dispose()})}function See(e){return Array.isArray(e)}function Cee(e){return! /** * @license * Copyright 2018 Google LLC @@ -11282,7 +11282,7 @@ function mee(e){p3.util.assert(e>0&&Number.isInteger(e),()=>`batchSize is requir * https://opensource.org/licenses/MIT. * ============================================================================= */ -function(e){return e instanceof p3.Tensor}(e)&&!Tee(e)}function Eee(e,t,n,i=!0,r=""){if(null==t||0===t.length){if(null!=e){let t=!1;if(Tee(e)&&e.length>0)t=!0;else if(xee(e)){for(const n in e)if(e.hasOwnProperty(n)){t=!0;break}}else t=!0;if(t)throw new D6(`Error when checking model ${r} expected no data, but got ${e}`)}return[]}if(null==e)return t.map(e=>null);let s;if(xee(e)){s=[];for(const n of t){if(null==e[n])throw new D6(`No data provided for "${n}". Need data for each key in: ${t}`);s.push(e[n])}}else if(Tee(e)){if(e.length!==t.length)throw new D6(`Error when checking model ${r}: the Array of Tensors that you are passing to your model is not the size the model expected. Expected to see ${t.length} Tensor(s), but instead got the following list of Tensor(s): ${e}`);s=e}else{if(t.length>1)throw new D6(`The model ${r} expects ${t.length} Tensor(s), but only received one Tensor. Found: Tensor with shape ${e.shape}`);s=[e]}if(s=vee(s),null!=n)for(let e=0;e=0&&s!==a)throw new D6(`${r} expected a batch of elements where each example has shape [${n[e].slice(1,n[e].length)}] (i.e.,tensor shape [*,${n[e].slice(1,n[e].length)}]) but the ${r} received an input with ${o.shape[0]} examples, each with shape [${o.shape.slice(1,o.shape.length)}] (tensor shape [${o.shape}])`)}}return s}function wee(e,t,n,i=!0,r=""){let s;if(Array.isArray(e)){if(e.length!==t.length)throw new D6(`Error when checking model ${r}: the Array of Tensors that you are passing to your model is not the size the the model expected. Expected to see ${t.length} Tensor(s), but instead got ${e.length} Tensors(s).`);s=e}else{if(t.length>1)throw new D6(`The model expects ${t.length} ${r} Tensors, but only received one Tensor. Found: array with shape ${JSON.stringify(e.shape)}.`);s=[e]}if(null!=n)for(let e=0;e0)t=!0;else if(Cee(e)){for(const n in e)if(e.hasOwnProperty(n)){t=!0;break}}else t=!0;if(t)throw new U6(`Error when checking model ${r} expected no data, but got ${e}`)}return[]}if(null==e)return t.map(e=>null);let s;if(Cee(e)){s=[];for(const n of t){if(null==e[n])throw new U6(`No data provided for "${n}". Need data for each key in: ${t}`);s.push(e[n])}}else if(See(e)){if(e.length!==t.length)throw new U6(`Error when checking model ${r}: the Array of Tensors that you are passing to your model is not the size the model expected. Expected to see ${t.length} Tensor(s), but instead got the following list of Tensor(s): ${e}`);s=e}else{if(t.length>1)throw new U6(`The model ${r} expects ${t.length} Tensor(s), but only received one Tensor. Found: Tensor with shape ${e.shape}`);s=[e]}if(s=Iee(s),null!=n)for(let e=0;e=0&&s!==a)throw new U6(`${r} expected a batch of elements where each example has shape [${n[e].slice(1,n[e].length)}] (i.e.,tensor shape [*,${n[e].slice(1,n[e].length)}]) but the ${r} received an input with ${o.shape[0]} examples, each with shape [${o.shape.slice(1,o.shape.length)}] (tensor shape [${o.shape}])`)}}return s}function Mee(e,t,n,i=!0,r=""){let s;if(Array.isArray(e)){if(e.length!==t.length)throw new U6(`Error when checking model ${r}: the Array of Tensors that you are passing to your model is not the size the the model expected. Expected to see ${t.length} Tensor(s), but instead got ${e.length} Tensors(s).`);s=e}else{if(t.length>1)throw new U6(`The model expects ${t.length} ${r} Tensors, but only received one Tensor. Found: array with shape ${JSON.stringify(e.shape)}.`);s=[e]}if(null!=n)for(let e=0;ep3.train.adagrad(.01),Adadelta:()=>p3.train.adadelta(1,.95,C8()),Adam:()=>p3.train.adam(.001,.9,.999,C8()),Adamax:()=>p3.train.adamax(.002,.9,.999,C8(),0),RMSProp:()=>p3.train.rmsprop(.001,.9,0,C8()),SGD:()=>p3.train.sgd(.01)};if(t.adagrad=t.Adagrad,t.adadelta=t.Adadelta,t.adam=t.Adam,t.adamax=t.Adamax,t.rmsprop=t.RMSProp,t.sgd=t.SGD,e in t)return t[e]();throw new D6(`Unknown Optimizer ${e}`)}(e.optimizer),this.isOptimizerOwned=!0;else{if(!(e.optimizer instanceof p3.Optimizer))throw new D6("User-defined optimizer must be an instance of tf.Optimizer.");this.optimizer_=e.optimizer,this.isOptimizerOwned=!1}let t=[];if(Array.isArray(e.loss)||"string"==typeof e.loss||"function"==typeof e.loss)if(Array.isArray(e.loss)){if(e.loss.length!==this.outputs.length)throw new D6(`When passing an Array as loss, it should have one entry per model output. The model has ${this.outputs.length} output(s), but you passed loss=${e.loss}.`);const n=e.loss;t=n.map(e=>L7(e))}else{const n=L7(e.loss);this.outputs.forEach(e=>{t.push(n)})}else{e.loss=e.loss;for(const t in e.loss)if(-1===this.outputNames.indexOf(t))throw new D6(`Unknown entry in loss dictionary: "${t}". Only expected the following keys: ${this.outputNames}`);for(const n of this.outputNames)null==e.loss[n]&&console.warn(`Output "${n}" is missing from loss dictionary. We assume this was done on purpose, and we will not be expecting data to be passed to ${n} during training`),t.push(L7(e.loss[n]))}this.lossFunctions=t,this.feedOutputNames=[],this.feedOutputShapes=[],this.feedLossFns=[];for(let e=0;e{for(let e=0;e1&&(this.metricsTensors.push([t,e]),this.metricsNames.push(this.outputNames[e]+"_loss"))}});const i=function(e,t){if(null==e||Array.isArray(e)&&0===e.length)return t.map(e=>[]);let n;if("string"==typeof e||"function"==typeof e)n=[e];else{if(!Array.isArray(e)&&"object"!=typeof e)throw new TypeError(`Type of metrics argument not understood. Expected an string,function, Array, or Object, found: ${e}`);n=e}if(Array.isArray(n))return t.map(e=>n);{const e=[];for(const i of t){let t=n.hasOwnProperty(i)?n[i]:[];Array.isArray(t)||(t=[t]),e.push(t)}return e}}(e.metrics,this.outputNames),r=(e,t,n)=>{this.outputNames.length>1&&(t=this.outputNames[e]+"_"+t),this.metricsNames.push(t),this.metricsTensors.push([n,e])};_8("metric",()=>{for(let e=0;e{let n,i,s;for(const o of t){if("string"==typeof o&&-1!==["accuracy","acc","crossentropy","ce"].indexOf(o)){const t=this.internalOutputShapes[e];let r;1===t[t.length-1]||this.lossFunctions[e]===R7?-1!==["accuracy","acc"].indexOf(o)?i=P7:-1!==["crossentropy","ce"].indexOf(o)&&(i=z7):this.lossFunctions[e]===k7?-1!==["accuracy","acc"].indexOf(o)?i=j7:-1!==["crossentropy","ce"].indexOf(o)&&(i=G7):-1!==["accuracy","acc"].indexOf(o)?i=B7:-1!==["crossentropy","ce"].indexOf(o)&&(i=Y7),-1!==["accuracy","acc"].indexOf(o)?r="acc":-1!==["crossentropy","ce"].indexOf(o)&&(r="ce"),s=i,n=""+r}else{const e=W7(o);s=e,n=""+X7(o)}let t;_8(n,()=>{t=s}),r(e,n,t)}})(i[e])}}),this.collectedTrainableWeights=this.trainableWeights}checkTrainableWeightsConsistency(){null!=this.collectedTrainableWeights&&this.trainableWeights.length!==this.collectedTrainableWeights.length&&console.warn("Discrepancy between trainableweights and collected trainable weights. Did you set `model.trainable` without calling `model.compile()` afterwards?")}evaluate(e,t,n={}){const i=null==n.batchSize?32:n.batchSize;mee(i);const r=this.standardizeUserDataXY(e,t,!0,i);try{const e=r[0].concat(r[1]);this.makeTestFunction();const t=this.testFunction;return V6(this.testLoop(t,e,i,n.verbose,n.steps))}finally{bee(r[0],e),bee(r[1],t)}}async evaluateDataset(e,t){return this.makeTestFunction(),async function(e,t,n){const i=null!=(n=n||{}).batches,r=e.testFunction;let s=[];if(n.verbose>0)throw new F6("Verbose mode is not implemented yet.");p3.util.assert(!i||n.batches>0&&Number.isInteger(n.batches),()=>`Test loop expects \`batches\` to be a positive integer, but received ${JSON.stringify(n.batches)}`);const o=function(e){return"function"==typeof e.next}(t)?t:await t.iterator();let a=0,l=0;for(;!i||l{if(t.value){const{xs:n,ys:i}=dee(e,t.value),o=n.concat(i),u=p3.tidy(()=>r(o));if(p3.dispose(o),0===l)for(let e=0;ep3.add(s[e],p3.mul(c,t))),l>0&&p3.dispose(n)}p3.dispose(u),a+=c,++l}return s}),t.done){i&&console.warn(`Your dataset iterator ran out of data during evaluateDataset(). Interrupting evalution. Make sure that your dataset can generate at least \`batches\` batches (in this case, ${n.batches} batches). You may need to use the repeat() function when building your dataset.`);break}}for(let e=0;ee.name);for(let i=0;i0){const n=[];throw t.forEach((t,i)=>{null==t&&n.push(e[i])}),new D6(`Cannot find SymbolicTensors for output name(s): ${JSON.stringify(n)}`)}return t}predictLoop(e,t=32,n=!1){return p3.tidy(()=>{const i=this.checkNumSamples(e);if(n)throw new F6("Verbose predictLoop() is not implemented yet.");const r=yee(i,t),s=this.outputs.map(e=>[]);for(let t=0;t{const n=r[t][0],i=r[t][1],s=gee(e,n,i),o=[];if(Array.isArray(s))for(let e=0;es[t].push(e))}return V6(s.map(e=>p3.concat(e,0)))})}predict(e,t={}){const n=vee(e);wee(n,this.inputNames,this.feedInputShapes,!1);try{const e=null==t.batchSize?32:t.batchSize;return mee(e),this.predictLoop(n,e)}finally{bee(n,e)}}predictOnBatch(e){wee(e,this.inputNames,this.feedInputShapes,!0);const t=(Array.isArray(e)?e[0]:e).shape[0];return this.predictLoop(e,t)}standardizeUserDataXY(e,t,n=!0,i){if(null==this.optimizer_)throw new N6("You must compile a model before training/testing. Use LayersModel.compile(modelCompileArgs).");const r=[];for(let e=0;ee.shape[0]));n.sort();const i=K6(t.map(e=>e.shape[0]));if(i.sort(),n.length>1)throw new D6(`All input Tensors (x) should have the same number of samples. Got array shapes: ${JSON.stringify(e.map(e=>e.shape))}`);if(i.length>1)throw new D6(`All target Tensors (y) should have the same number of samples. Got array shapes: ${JSON.stringify(t.map(e=>e.shape))}`);if(n.length>0&&i.length>0&&!p3.util.arraysEqual(n,i))throw new D6(`Input Tensors should have the same number of samples as target Tensors. Found ${n[0]} input sample(s) and ${i[0]} target sample(s).`)}(e=Eee(e,this.feedInputNames,this.feedInputShapes,!1,"input"),t=Eee(t,this.feedOutputNames,r,!1,"target")),function(e,t,n){const i=[A7,R7,M7];for(let r=0;r0&&e[0].shape[0]%i!==0)throw new D6(`In a stateful network, you should only pass inputs with a number of samples that is divisible by the batch size ${i}. Found: ${e[0].shape[0]} sample(s).`);return[e,t]}async standardizeUserData(e,t,n,i,r=!0,s){const[o,a]=this.standardizeUserDataXY(e,t,r,s);if(null!=n)throw new Error("sample weight is not supported yet.");let l=null;if(null!=i){const e=lee(i,this.outputNames);l=[];for(let t=0;t{const s=this.checkNumSamples(t,n,r,"steps"),o=[];if(i>0)throw new F6("Verbose mode is not implemented yet.");if(null!=r)throw new F6("steps mode in testLoop() is not implemented yet");{const i=yee(s,n),r=(0,p3.tensor1d)(A8(0,s));for(let n=0;n1){r+=`_${U6(e.slice(0,n),i)}`}t.push(r)}return t}makeTrainFunction(){return e=>{const t=[],n=e.slice(0,this.inputs.length),i=e.slice(this.inputs.length,this.inputs.length+this.outputs.length),r=e.slice(this.inputs.length+this.outputs.length,this.inputs.length+2*this.outputs.length),s=[],o=this.collectedTrainableWeights.map(e=>e.read());return[this.optimizer_.minimize(()=>{const e=[];for(let t=0;t1&&e{l=p3.add(l,e)}),l},!0,o)].concat(s)}}makeTestFunction(){this.testFunction=e=>p3.tidy(()=>{const t=[];let n;const i=e.slice(0,this.inputs.length),r=e.slice(this.inputs.length,this.inputs.length+this.outputs.length),s=[];for(let e=0;e0){if(g=!0,2!==n.validationData.length)throw 3===n.validationData.length?new F6("validationData including sample weights is not supported yet."):new D6(`When passing validation data, it must contain 2 (valX, valY) or 3 (valX, valY, valSampleWeight) items; ${n.validationData} is invalid.`);a=n.validationData[0],l=n.validationData[1];const e=!0,t=await this.standardizeUserData(a,l,null,null,e,h);u=t[0],c=t[1],m=u.concat(c)}else if(null!=n.validationSplit&&n.validationSplit>0&&n.validationSplit<1){g=!0;const e=Math.floor(i[0].shape[0]*(1-n.validationSplit)),t=i[0].shape[0];u=gee(i,e,t),s=i,i=gee(i,0,e),c=gee(r,e,t),o=r,r=gee(r,0,e),m=u.concat(c)}else null!=n.validationSteps&&(g=!0);const _=i.concat(r).concat(d);this.checkTrainableWeightsConsistency();const y=this.makeTrainFunction(),v=this.getDedupedMetricsNames();let b,T;g?(this.makeTestFunction(),b=this.testFunction,T=v.slice().concat(v.map(e=>"val_"+e))):(b=null,m=[],T=v.slice());const x=T7(n.callbacks,n.yieldEvery);return await this.fitLoop(y,_,v,h,n.epochs,n.verbose,x,b,m,n.shuffle,T,n.initialEpoch,null,null)}finally{this.isTraining=!1,bee(i,e),bee(r,t),bee(s,e),bee(o,t),bee(u,a),bee(c,l),null!=d&&p3.dispose(d)}}async fitLoop(e,t,n,i,r,s,o,a,l,u,c,d,h,p){null==i&&(i=32),null==r&&(r=1),null==u&&(u=!0),null==d&&(d=0);let f=!1;if(null!=a&&null!=l&&(f=!0),null!=p&&(f=!0,null==h))throw new D6("Can only use `validationSteps` when doing step-wise training, i.e., `stepsPerEpoch` must be set.");const m=this.checkNumSamples(t,i,h,"steps_per_epoch");let g;null!=m&&(g=A8(0,m)),null==s&&(s=1);const{callbackList:_,history:y}=E7(o,s,r,d,m,h,i,f,c);_.setModel(this),this.history=y,await _.onTrainBegin(),this.stopTraining_=!1;for(let s=d;s{const d=o[u][0],h=o[u][1],p=k8(s,d,h-d);c.batch=u,c.size=h-d;const m=_ee(t,p),g=e(m);for(let e=0;ej6(e))}else{const t=Object.keys(this.loss);e={};const n=this.loss;for(const i of t){if("string"!=typeof n[i])throw new Error("Serialization of non-string loss is not supported.");e[i]=j6(n[i])}}return e}getMetricIdentifiers(){if("string"==typeof this.metrics||"function"==typeof this.metrics)return[j6(X7(this.metrics))];if(Array.isArray(this.metrics))return this.metrics.map(e=>j6(X7(e)));{const e={};for(const t in this.metrics)e[t]=j6(X7(this.metrics[t]));return e}}getTrainingConfig(){return{loss:this.getLossIdentifiers(),metrics:this.getMetricIdentifiers(),optimizer_config:{class_name:this.optimizer.getClassName(),config:this.optimizer.getConfig()}}}loadTrainingConfig(e){if(null!=e.weighted_metrics)throw new Error("Loading weight_metrics is not supported yet.");if(null!=e.loss_weights)throw new Error("Loading loss_weights is not supported yet.");if(null!=e.sample_weight_mode)throw new Error("Loading sample_weight_mode is not supported yet.");const t=w7(iee(e.optimizer_config));let n,i;if("string"==typeof e.loss)n=Y6(e.loss);else if(Array.isArray(e.loss))n=e.loss.map(e=>Y6(e));else if(null!=e.loss){n={};for(const t in e.loss)n[t]=Y6(e.loss[t])}if(Array.isArray(e.metrics))i=e.metrics.map(e=>Y6(e));else if(null!=e.metrics){i={};for(const t in e.metrics)i[t]=Y6(e.metrics[t])}this.compile({loss:n,metrics:i,optimizer:t})}async save(e,t){if("string"==typeof e){const t=p3.io.getSaveHandlers(e);if(0===t.length)throw new D6(`Cannot find any save handlers for URL '${e}'`);if(t.length>1)throw new D6(`Found more than one (${t.length}) save handlers for URL '${e}'`);e=t[0]}if(null==e.save)throw new D6("LayersModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");const n=await p3.io.encodeWeights(this.getNamedWeights(t)),i={modelTopology:this.toJSON(null,!1),format:"layers-model",generatedBy:`TensorFlow.js tfjs-layers v${see}`,convertedBy:null};if(null!=t&&t.includeOptimizer&&null!=this.optimizer){i.trainingConfig=this.getTrainingConfig();const e="optimizer",{data:t,specs:r}=await p3.io.encodeWeights(await this.optimizer.getWeights(),e);n.specs.push(...r),n.data=p3.io.concatenateArrayBuffers([n.data,t])}if(null!=this.userDefinedMetadata){const e=!0;K7(this.userDefinedMetadata,this.name,e),i.userDefinedMetadata=this.userDefinedMetadata}return i.weightData=n.data,i.weightSpecs=n.specs,e.save(i)}setUserDefinedMetadata(e){K7(e,this.name),this.userDefinedMetadata=e}getUserDefinedMetadata(){return this.userDefinedMetadata}}Iee.className="Model",p3.serialization.registerClass(Iee);class Aee extends Iee{} +function(e){const t={Adagrad:()=>v3.train.adagrad(.01),Adadelta:()=>v3.train.adadelta(1,.95,D8()),Adam:()=>v3.train.adam(.001,.9,.999,D8()),Adamax:()=>v3.train.adamax(.002,.9,.999,D8(),0),RMSProp:()=>v3.train.rmsprop(.001,.9,0,D8()),SGD:()=>v3.train.sgd(.01)};if(t.adagrad=t.Adagrad,t.adadelta=t.Adadelta,t.adam=t.Adam,t.adamax=t.Adamax,t.rmsprop=t.RMSProp,t.sgd=t.SGD,e in t)return t[e]();throw new U6(`Unknown Optimizer ${e}`)}(e.optimizer),this.isOptimizerOwned=!0;else{if(!(e.optimizer instanceof v3.Optimizer))throw new U6("User-defined optimizer must be an instance of tf.Optimizer.");this.optimizer_=e.optimizer,this.isOptimizerOwned=!1}let t=[];if(Array.isArray(e.loss)||"string"==typeof e.loss||"function"==typeof e.loss)if(Array.isArray(e.loss)){if(e.loss.length!==this.outputs.length)throw new U6(`When passing an Array as loss, it should have one entry per model output. The model has ${this.outputs.length} output(s), but you passed loss=${e.loss}.`);const n=e.loss;t=n.map(e=>z7(e))}else{const n=z7(e.loss);this.outputs.forEach(e=>{t.push(n)})}else{e.loss=e.loss;for(const t in e.loss)if(-1===this.outputNames.indexOf(t))throw new U6(`Unknown entry in loss dictionary: "${t}". Only expected the following keys: ${this.outputNames}`);for(const n of this.outputNames)null==e.loss[n]&&console.warn(`Output "${n}" is missing from loss dictionary. We assume this was done on purpose, and we will not be expecting data to be passed to ${n} during training`),t.push(z7(e.loss[n]))}this.lossFunctions=t,this.feedOutputNames=[],this.feedOutputShapes=[],this.feedLossFns=[];for(let e=0;e{for(let e=0;e1&&(this.metricsTensors.push([t,e]),this.metricsNames.push(this.outputNames[e]+"_loss"))}});const i=function(e,t){if(null==e||Array.isArray(e)&&0===e.length)return t.map(e=>[]);let n;if("string"==typeof e||"function"==typeof e)n=[e];else{if(!Array.isArray(e)&&"object"!=typeof e)throw new TypeError(`Type of metrics argument not understood. Expected an string,function, Array, or Object, found: ${e}`);n=e}if(Array.isArray(n))return t.map(e=>n);{const e=[];for(const i of t){let t=n.hasOwnProperty(i)?n[i]:[];Array.isArray(t)||(t=[t]),e.push(t)}return e}}(e.metrics,this.outputNames),r=(e,t,n)=>{this.outputNames.length>1&&(t=this.outputNames[e]+"_"+t),this.metricsNames.push(t),this.metricsTensors.push([n,e])};E8("metric",()=>{for(let e=0;e{let n,i,s;for(const o of t){if("string"==typeof o&&-1!==["accuracy","acc","crossentropy","ce"].indexOf(o)){const t=this.internalOutputShapes[e];let r;1===t[t.length-1]||this.lossFunctions[e]===B7?-1!==["accuracy","acc"].indexOf(o)?i=j7:-1!==["crossentropy","ce"].indexOf(o)&&(i=X7):this.lossFunctions[e]===P7?-1!==["accuracy","acc"].indexOf(o)?i=q7:-1!==["crossentropy","ce"].indexOf(o)&&(i=Z7):-1!==["accuracy","acc"].indexOf(o)?i=Y7:-1!==["crossentropy","ce"].indexOf(o)&&(i=K7),-1!==["accuracy","acc"].indexOf(o)?r="acc":-1!==["crossentropy","ce"].indexOf(o)&&(r="ce"),s=i,n=""+r}else{const e=J7(o);s=e,n=""+eee(o)}let t;E8(n,()=>{t=s}),r(e,n,t)}})(i[e])}}),this.collectedTrainableWeights=this.trainableWeights}checkTrainableWeightsConsistency(){null!=this.collectedTrainableWeights&&this.trainableWeights.length!==this.collectedTrainableWeights.length&&console.warn("Discrepancy between trainableweights and collected trainable weights. Did you set `model.trainable` without calling `model.compile()` afterwards?")}evaluate(e,t,n={}){const i=null==n.batchSize?32:n.batchSize;Tee(i);const r=this.standardizeUserDataXY(e,t,!0,i);try{const e=r[0].concat(r[1]);this.makeTestFunction();const t=this.testFunction;return W6(this.testLoop(t,e,i,n.verbose,n.steps))}finally{Aee(r[0],e),Aee(r[1],t)}}async evaluateDataset(e,t){return this.makeTestFunction(),async function(e,t,n){const i=null!=(n=n||{}).batches,r=e.testFunction;let s=[];if(n.verbose>0)throw new V6("Verbose mode is not implemented yet.");v3.util.assert(!i||n.batches>0&&Number.isInteger(n.batches),()=>`Test loop expects \`batches\` to be a positive integer, but received ${JSON.stringify(n.batches)}`);const o=function(e){return"function"==typeof e.next}(t)?t:await t.iterator();let a=0,l=0;for(;!i||l{if(t.value){const{xs:n,ys:i}=_ee(e,t.value),o=n.concat(i),u=v3.tidy(()=>r(o));if(v3.dispose(o),0===l)for(let e=0;ev3.add(s[e],v3.mul(c,t))),l>0&&v3.dispose(n)}v3.dispose(u),a+=c,++l}return s}),t.done){i&&console.warn(`Your dataset iterator ran out of data during evaluateDataset(). Interrupting evalution. Make sure that your dataset can generate at least \`batches\` batches (in this case, ${n.batches} batches). You may need to use the repeat() function when building your dataset.`);break}}for(let e=0;ee.name);for(let i=0;i0){const n=[];throw t.forEach((t,i)=>{null==t&&n.push(e[i])}),new U6(`Cannot find SymbolicTensors for output name(s): ${JSON.stringify(n)}`)}return t}predictLoop(e,t=32,n=!1){return v3.tidy(()=>{const i=this.checkNumSamples(e);if(n)throw new V6("Verbose predictLoop() is not implemented yet.");const r=wee(i,t),s=this.outputs.map(e=>[]);for(let t=0;t{const n=r[t][0],i=r[t][1],s=xee(e,n,i),o=[];if(Array.isArray(s))for(let e=0;es[t].push(e))}return W6(s.map(e=>v3.concat(e,0)))})}predict(e,t={}){const n=Iee(e);Mee(n,this.inputNames,this.feedInputShapes,!1);try{const e=null==t.batchSize?32:t.batchSize;return Tee(e),this.predictLoop(n,e)}finally{Aee(n,e)}}predictOnBatch(e){Mee(e,this.inputNames,this.feedInputShapes,!0);const t=(Array.isArray(e)?e[0]:e).shape[0];return this.predictLoop(e,t)}standardizeUserDataXY(e,t,n=!0,i){if(null==this.optimizer_)throw new $6("You must compile a model before training/testing. Use LayersModel.compile(modelCompileArgs).");const r=[];for(let e=0;ee.shape[0]));n.sort();const i=n8(t.map(e=>e.shape[0]));if(i.sort(),n.length>1)throw new U6(`All input Tensors (x) should have the same number of samples. Got array shapes: ${JSON.stringify(e.map(e=>e.shape))}`);if(i.length>1)throw new U6(`All target Tensors (y) should have the same number of samples. Got array shapes: ${JSON.stringify(t.map(e=>e.shape))}`);if(n.length>0&&i.length>0&&!v3.util.arraysEqual(n,i))throw new U6(`Input Tensors should have the same number of samples as target Tensors. Found ${n[0]} input sample(s) and ${i[0]} target sample(s).`)}(e=Oee(e,this.feedInputNames,this.feedInputShapes,!1,"input"),t=Oee(t,this.feedOutputNames,r,!1,"target")),function(e,t,n){const i=[R7,B7,L7];for(let r=0;r0&&e[0].shape[0]%i!==0)throw new U6(`In a stateful network, you should only pass inputs with a number of samples that is divisible by the batch size ${i}. Found: ${e[0].shape[0]} sample(s).`);return[e,t]}async standardizeUserData(e,t,n,i,r=!0,s){const[o,a]=this.standardizeUserDataXY(e,t,r,s);if(null!=n)throw new Error("sample weight is not supported yet.");let l=null;if(null!=i){const e=fee(i,this.outputNames);l=[];for(let t=0;t{const s=this.checkNumSamples(t,n,r,"steps"),o=[];if(i>0)throw new V6("Verbose mode is not implemented yet.");if(null!=r)throw new V6("steps mode in testLoop() is not implemented yet");{const i=wee(s,n),r=(0,v3.tensor1d)(R8(0,s));for(let n=0;n1){r+=`_${H6(e.slice(0,n),i)}`}t.push(r)}return t}makeTrainFunction(){return e=>{const t=[],n=e.slice(0,this.inputs.length),i=e.slice(this.inputs.length,this.inputs.length+this.outputs.length),r=e.slice(this.inputs.length+this.outputs.length,this.inputs.length+2*this.outputs.length),s=[],o=this.collectedTrainableWeights.map(e=>e.read());return[this.optimizer_.minimize(()=>{const e=[];for(let t=0;t1&&e{l=v3.add(l,e)}),l},!0,o)].concat(s)}}makeTestFunction(){this.testFunction=e=>v3.tidy(()=>{const t=[];let n;const i=e.slice(0,this.inputs.length),r=e.slice(this.inputs.length,this.inputs.length+this.outputs.length),s=[];for(let e=0;e0){if(g=!0,2!==n.validationData.length)throw 3===n.validationData.length?new V6("validationData including sample weights is not supported yet."):new U6(`When passing validation data, it must contain 2 (valX, valY) or 3 (valX, valY, valSampleWeight) items; ${n.validationData} is invalid.`);a=n.validationData[0],l=n.validationData[1];const e=!0,t=await this.standardizeUserData(a,l,null,null,e,h);u=t[0],c=t[1],m=u.concat(c)}else if(null!=n.validationSplit&&n.validationSplit>0&&n.validationSplit<1){g=!0;const e=Math.floor(i[0].shape[0]*(1-n.validationSplit)),t=i[0].shape[0];u=xee(i,e,t),s=i,i=xee(i,0,e),c=xee(r,e,t),o=r,r=xee(r,0,e),m=u.concat(c)}else null!=n.validationSteps&&(g=!0);const _=i.concat(r).concat(d);this.checkTrainableWeightsConsistency();const y=this.makeTrainFunction(),v=this.getDedupedMetricsNames();let b,T;g?(this.makeTestFunction(),b=this.testFunction,T=v.slice().concat(v.map(e=>"val_"+e))):(b=null,m=[],T=v.slice());const x=S7(n.callbacks,n.yieldEvery);return await this.fitLoop(y,_,v,h,n.epochs,n.verbose,x,b,m,n.shuffle,T,n.initialEpoch,null,null)}finally{this.isTraining=!1,Aee(i,e),Aee(r,t),Aee(s,e),Aee(o,t),Aee(u,a),Aee(c,l),null!=d&&v3.dispose(d)}}async fitLoop(e,t,n,i,r,s,o,a,l,u,c,d,h,p){null==i&&(i=32),null==r&&(r=1),null==u&&(u=!0),null==d&&(d=0);let f=!1;if(null!=a&&null!=l&&(f=!0),null!=p&&(f=!0,null==h))throw new U6("Can only use `validationSteps` when doing step-wise training, i.e., `stepsPerEpoch` must be set.");const m=this.checkNumSamples(t,i,h,"steps_per_epoch");let g;null!=m&&(g=R8(0,m)),null==s&&(s=1);const{callbackList:_,history:y}=O7(o,s,r,d,m,h,i,f,c);_.setModel(this),this.history=y,await _.onTrainBegin(),this.stopTraining_=!1;for(let s=d;s{const d=o[u][0],h=o[u][1],p=P8(s,d,h-d);c.batch=u,c.size=h-d;const m=Eee(t,p),g=e(m);for(let e=0;eq6(e))}else{const t=Object.keys(this.loss);e={};const n=this.loss;for(const i of t){if("string"!=typeof n[i])throw new Error("Serialization of non-string loss is not supported.");e[i]=q6(n[i])}}return e}getMetricIdentifiers(){if("string"==typeof this.metrics||"function"==typeof this.metrics)return[q6(eee(this.metrics))];if(Array.isArray(this.metrics))return this.metrics.map(e=>q6(eee(e)));{const e={};for(const t in this.metrics)e[t]=q6(eee(this.metrics[t]));return e}}getTrainingConfig(){return{loss:this.getLossIdentifiers(),metrics:this.getMetricIdentifiers(),optimizer_config:{class_name:this.optimizer.getClassName(),config:this.optimizer.getConfig()}}}loadTrainingConfig(e){if(null!=e.weighted_metrics)throw new Error("Loading weight_metrics is not supported yet.");if(null!=e.loss_weights)throw new Error("Loading loss_weights is not supported yet.");if(null!=e.sample_weight_mode)throw new Error("Loading sample_weight_mode is not supported yet.");const t=M7(uee(e.optimizer_config));let n,i;if("string"==typeof e.loss)n=K6(e.loss);else if(Array.isArray(e.loss))n=e.loss.map(e=>K6(e));else if(null!=e.loss){n={};for(const t in e.loss)n[t]=K6(e.loss[t])}if(Array.isArray(e.metrics))i=e.metrics.map(e=>K6(e));else if(null!=e.metrics){i={};for(const t in e.metrics)i[t]=K6(e.metrics[t])}this.compile({loss:n,metrics:i,optimizer:t})}async save(e,t){if("string"==typeof e){const t=v3.io.getSaveHandlers(e);if(0===t.length)throw new U6(`Cannot find any save handlers for URL '${e}'`);if(t.length>1)throw new U6(`Found more than one (${t.length}) save handlers for URL '${e}'`);e=t[0]}if(null==e.save)throw new U6("LayersModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");const n=await v3.io.encodeWeights(this.getNamedWeights(t)),i={modelTopology:this.toJSON(null,!1),format:"layers-model",generatedBy:`TensorFlow.js tfjs-layers v${dee}`,convertedBy:null};if(null!=t&&t.includeOptimizer&&null!=this.optimizer){i.trainingConfig=this.getTrainingConfig();const e="optimizer",{data:t,specs:r}=await v3.io.encodeWeights(await this.optimizer.getWeights(),e);n.specs.push(...r),n.data=v3.io.concatenateArrayBuffers([n.data,t])}if(null!=this.userDefinedMetadata){const e=!0;nee(this.userDefinedMetadata,this.name,e),i.userDefinedMetadata=this.userDefinedMetadata}return i.weightData=n.data,i.weightSpecs=n.specs,e.save(i)}setUserDefinedMetadata(e){nee(e,this.name),this.userDefinedMetadata=e}getUserDefinedMetadata(){return this.userDefinedMetadata}}kee.className="Model",v3.serialization.registerClass(kee);class Ree extends kee{} /** * @license * Copyright 2018 Google LLC @@ -11302,7 +11302,7 @@ function(e){const t={Adagrad:()=>p3.train.adagrad(.01),Adadelta:()=>p3.train.ada * https://opensource.org/licenses/MIT. * ============================================================================= */ -async function See(e,t){"modelTopology"in e||(e={modelTopology:e});let n=e.modelTopology;null!=n.model_config&&(n=n.model_config);const i=w7(iee(n),t);if(null!=e.weightsManifest){const t=await p3.io.loadWeights(e.weightsManifest,e.pathPrefix,i.weights.map(e=>e.originalName)),n={};for(const e of i.weights)n[e.originalName]=t[e.originalName];i.loadWeights(n),(0,p3.dispose)(t)}return i}async function Cee(e,t){if(null==t&&(t={}),"string"==typeof e){const n=p3.io.getLoadHandlers(e,t);if(0===n.length)n.push(p3.io.browserHTTPRequest(e,t));else if(n.length>1)throw new D6(`Found more than one (${n.length}) load handlers for URL '${e}'`);e=n[0]}return async function(e,t,n){null==n&&(n={});if(null==e.load)throw new D6("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");const i=await e.load();let r=i.modelTopology;null!=r.model_config&&(r=r.model_config);const s=null==n.strict||n.strict,o=null!=i.weightData&&null!=i.weightSpecs&&s,a=w7(iee(r),t,o),l=i.trainingConfig;null!=l&&a.loadTrainingConfig(l);null!=i.userDefinedMetadata&&a.setUserDefinedMetadata(i.userDefinedMetadata);if(null!=i.weightData){if(null==i.weightSpecs)throw new D6("LayersModel artifacts contains weight data, but not weight specs. Therefore loading of weights cannot proceed.");const{modelWeights:e,optimizerWeights:t}=function(e,t){const n=p3.io.decodeWeights(e,t),i={},r=[];return t.forEach(e=>{"optimizer"===e.group?r.push({name:e.name,tensor:n[e.name]}):i[e.name]=n[e.name]}),{modelWeights:i,optimizerWeights:r}}(i.weightData,i.weightSpecs);a.loadWeights(e,s),null!=a.optimizer&&t.length>0&&await a.optimizer.setWeights(t),(0,p3.dispose)(e),(0,p3.dispose)(t.map(e=>e.tensor))}return a}(e,void 0,t)}Aee.className="Functional",p3.serialization.registerClass(Aee);class Oee extends Iee{constructor(e){if(super({inputs:[],outputs:[]}),e=e||{},this.trainable=!0,this.built=!1,this.name=null!=e.name?e.name:o8("sequential_"),null!=e.layers)for(const t of e.layers)this.add(t)}checkShape(e){if(e.inboundNodes[0].outputTensors[0].shape.some(e=>e<0))throw new D6(`Negative dimension size caused by adding layer ${e.name} with input shape [${e.inboundNodes[0].inputTensors[0].shape}]`)}add(e){const t=e instanceof Oee||e instanceof Iee;let n;if(t){if(n=e,1!==n.outputs.length)throw new D6("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");if(1!==n.inputs.length)throw new D6("All layers in a Sequential model should have a single input tensor. For multi-input layers, use the functional API.")}if(0===this.outputs.length){if(0===e.inboundNodes.length){if(null==e.batchInputShape)throw new D6("The first layer in a Sequential model must get an `inputShape` or `batchInputShape` argument.");const t=M9({batchShape:e.batchInputShape,dtype:e.dtype,name:e.name+"_input"});e.apply(t)}if(t)this.outputs=n.outputs,this.inputs=n.inputs;else{if(1!==e.inboundNodes.length)throw new D6(`A layer added to a Sequential model must not already be connected somewhere else. LayersModel received layer ${e.name} which has ${e.inboundNodes.length} pre-existing inbound connections.`);if(1!==e.inboundNodes[0].outputTensors.length)throw new D6("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(e),this.outputs=[e.inboundNodes[0].outputTensors[0]],this.inputs=C9(this.outputs[0])}this.inboundNodes=[],new I9({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:B6(null,this.inputs.length),outputMasks:[null],inputShapes:this.inputs.map(e=>e.shape),outputShapes:this.outputs[0].shape})}else{const t=e.apply(this.outputs[0]);if(Array.isArray(t))throw new TypeError("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(e),this.outputs=[t],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}this.layers.push(e),this.built=!1}pop(){if(0===this.layers.length)throw new TypeError("There are no layers in the model.");if(this.layers.pop(),0===this.layers.length)this.outputs=[],this.inboundNodes=[],this.outboundNodes=[];else{const e=this.layers.length-1;this.layers[e].outboundNodes=[],this.outputs=[this.layers[e].output],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}}call(e,t){return null==this.model&&this.build(),this.model.call(e,t)}build(e){if(g9(e),0===this.inputs.length||0===this.outputs.length)throw new TypeError("Sequential model cannot be built: model is empty. Add some layers first.");this.model=new Iee({inputs:this.inputs,outputs:this.outputs[0],name:this.name+"_model"}),this.model.trainable=this.trainable,this.supportsMasking=this.model.supportsMasking,this.inputLayers=this.model.inputLayers,this.inputLayersNodeIndices=this.model.inputLayersNodeIndices,this.inputLayersTensorIndices=this.model.inputLayersTensorIndices,this.outputLayers=this.model.outputLayers,this.outputLayersNodeIndices=this.model.outputLayersNodeIndices,this.outputLayersTensorIndices=this.model.outputLayersTensorIndices,this.nodesByDepth=this.model.nodesByDepth,this.containerNodes=this.model.containerNodes,this.outputNames=this.model.outputNames,this.inputNames=this.model.inputNames,this.built=!0}countParams(){return this.built||this.build(),super.countParams()}summary(e,t,n=console.log){this.built||this.build(),super.summary(e,t,n)}setWeights(e){null==this.model&&this.build(),this.model.setWeights(e)}evaluate(e,t,n={}){if(!this.built)throw new N6("The model needs to be compiled before being used.");return this.model.evaluate(e,t,n)}async evaluateDataset(e,t){if(!this.built)throw new N6("The model needs to be compiled before being used.");return this.model.evaluateDataset(e,t)}predict(e,t={}){return null==this.model&&this.build(),this.model.predict(e,t)}predictOnBatch(e){return null==this.model&&this.build(),this.model.predictOnBatch(e)}compile(e){this.build(),this.model.compile(e),this.optimizer_=this.model.optimizer,this.isOptimizerOwned=this.model.isOptimizerOwned,this.loss=this.model.loss,this.metrics=this.model.metrics,this.metricsTensors=this.model.metricsTensors,this.metricsNames=this.model.metricsNames}get optimizer(){return null==this.model?void 0:this.model.optimizer}set optimizer(e){this.model.optimizer=e}async fit(e,t,n={}){if(!this.built)throw new N6("The model needs to be compiled before being used.");return this.model.fit(e,t,n)}async fitDataset(e,t){if(!this.built)throw new N6("The model needs to be compiled before being used.");return this.model.fitDataset(e,t)}async trainOnBatch(e,t){return this.model.trainOnBatch(e,t)}static fromConfig(e,t,n={},i=!1){let r,s={};if(t instanceof Array){if(null==t[0].className||"Merge"===t[0].className)throw new D6("Legacy serialization format not supported yet.");r=t}else p3.util.assert(null!=t.layers,()=>"When the config data for a Sequential model is not an Array, it must be an Object that contains the 'layers' field."),r=t.layers,delete t.layers,s=t;const o=new e(s);if(!(o instanceof Oee))throw new F6(`Sequential.fromConfig called on non-Sequential input: ${o}`);for(const e of r){const t=w7(e,void 0,i);i&&t.setFastWeightInitDuringBuild(!0),o.add(t)}return o}set stopTraining(e){if(null==this.model)throw new D6("Cannot set the stopTraining property of a sequential model before it is compiled.");this.model.stopTraining=e}get stopTraining(){if(null==this.model)throw new D6("Cannot get the stopTraining property of a sequential model before it is compiled.");return this.model.stopTraining}getConfig(){const e=[];for(const t of this.layers){const n={};n.className=t.getClassName(),n.config=t.getConfig(),e.push(n)}return{name:this.name,layers:e}}} +async function Nee(e,t){"modelTopology"in e||(e={modelTopology:e});let n=e.modelTopology;null!=n.model_config&&(n=n.model_config);const i=M7(uee(n),t);if(null!=e.weightsManifest){const t=await v3.io.loadWeights(e.weightsManifest,e.pathPrefix,i.weights.map(e=>e.originalName)),n={};for(const e of i.weights)n[e.originalName]=t[e.originalName];i.loadWeights(n),(0,v3.dispose)(t)}return i}async function Dee(e,t){if(null==t&&(t={}),"string"==typeof e){const n=v3.io.getLoadHandlers(e,t);if(0===n.length)n.push(v3.io.browserHTTPRequest(e,t));else if(n.length>1)throw new U6(`Found more than one (${n.length}) load handlers for URL '${e}'`);e=n[0]}return async function(e,t,n){null==n&&(n={});if(null==e.load)throw new U6("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");const i=await e.load();let r=i.modelTopology;null!=r.model_config&&(r=r.model_config);const s=null==n.strict||n.strict,o=null!=i.weightData&&null!=i.weightSpecs&&s,a=M7(uee(r),t,o),l=i.trainingConfig;null!=l&&a.loadTrainingConfig(l);null!=i.userDefinedMetadata&&a.setUserDefinedMetadata(i.userDefinedMetadata);if(null!=i.weightData){if(null==i.weightSpecs)throw new U6("LayersModel artifacts contains weight data, but not weight specs. Therefore loading of weights cannot proceed.");const{modelWeights:e,optimizerWeights:t}=function(e,t){const n=v3.io.decodeWeights(e,t),i={},r=[];return t.forEach(e=>{"optimizer"===e.group?r.push({name:e.name,tensor:n[e.name]}):i[e.name]=n[e.name]}),{modelWeights:i,optimizerWeights:r}}(i.weightData,i.weightSpecs);a.loadWeights(e,s),null!=a.optimizer&&t.length>0&&await a.optimizer.setWeights(t),(0,v3.dispose)(e),(0,v3.dispose)(t.map(e=>e.tensor))}return a}(e,void 0,t)}Ree.className="Functional",v3.serialization.registerClass(Ree);class Fee extends kee{constructor(e){if(super({inputs:[],outputs:[]}),e=e||{},this.trainable=!0,this.built=!1,this.name=null!=e.name?e.name:h8("sequential_"),null!=e.layers)for(const t of e.layers)this.add(t)}checkShape(e){if(e.inboundNodes[0].outputTensors[0].shape.some(e=>e<0))throw new U6(`Negative dimension size caused by adding layer ${e.name} with input shape [${e.inboundNodes[0].inputTensors[0].shape}]`)}add(e){const t=e instanceof Fee||e instanceof kee;let n;if(t){if(n=e,1!==n.outputs.length)throw new U6("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");if(1!==n.inputs.length)throw new U6("All layers in a Sequential model should have a single input tensor. For multi-input layers, use the functional API.")}if(0===this.outputs.length){if(0===e.inboundNodes.length){if(null==e.batchInputShape)throw new U6("The first layer in a Sequential model must get an `inputShape` or `batchInputShape` argument.");const t=L9({batchShape:e.batchInputShape,dtype:e.dtype,name:e.name+"_input"});e.apply(t)}if(t)this.outputs=n.outputs,this.inputs=n.inputs;else{if(1!==e.inboundNodes.length)throw new U6(`A layer added to a Sequential model must not already be connected somewhere else. LayersModel received layer ${e.name} which has ${e.inboundNodes.length} pre-existing inbound connections.`);if(1!==e.inboundNodes[0].outputTensors.length)throw new U6("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(e),this.outputs=[e.inboundNodes[0].outputTensors[0]],this.inputs=D9(this.outputs[0])}this.inboundNodes=[],new k9({outboundLayer:this,inboundLayers:[],nodeIndices:[],tensorIndices:[],inputTensors:this.inputs,outputTensors:this.outputs,inputMasks:Y6(null,this.inputs.length),outputMasks:[null],inputShapes:this.inputs.map(e=>e.shape),outputShapes:this.outputs[0].shape})}else{const t=e.apply(this.outputs[0]);if(Array.isArray(t))throw new TypeError("All layers in a Sequential model should have a single output tensor. For multi-output layers, use the functional API.");this.checkShape(e),this.outputs=[t],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}this.layers.push(e),this.built=!1}pop(){if(0===this.layers.length)throw new TypeError("There are no layers in the model.");if(this.layers.pop(),0===this.layers.length)this.outputs=[],this.inboundNodes=[],this.outboundNodes=[];else{const e=this.layers.length-1;this.layers[e].outboundNodes=[],this.outputs=[this.layers[e].output],this.inboundNodes[0].outputTensors=this.outputs,this.inboundNodes[0].outputShapes=[this.outputs[0].shape]}}call(e,t){return null==this.model&&this.build(),this.model.call(e,t)}build(e){if(x9(e),0===this.inputs.length||0===this.outputs.length)throw new TypeError("Sequential model cannot be built: model is empty. Add some layers first.");this.model=new kee({inputs:this.inputs,outputs:this.outputs[0],name:this.name+"_model"}),this.model.trainable=this.trainable,this.supportsMasking=this.model.supportsMasking,this.inputLayers=this.model.inputLayers,this.inputLayersNodeIndices=this.model.inputLayersNodeIndices,this.inputLayersTensorIndices=this.model.inputLayersTensorIndices,this.outputLayers=this.model.outputLayers,this.outputLayersNodeIndices=this.model.outputLayersNodeIndices,this.outputLayersTensorIndices=this.model.outputLayersTensorIndices,this.nodesByDepth=this.model.nodesByDepth,this.containerNodes=this.model.containerNodes,this.outputNames=this.model.outputNames,this.inputNames=this.model.inputNames,this.built=!0}countParams(){return this.built||this.build(),super.countParams()}summary(e,t,n=console.log){this.built||this.build(),super.summary(e,t,n)}setWeights(e){null==this.model&&this.build(),this.model.setWeights(e)}evaluate(e,t,n={}){if(!this.built)throw new $6("The model needs to be compiled before being used.");return this.model.evaluate(e,t,n)}async evaluateDataset(e,t){if(!this.built)throw new $6("The model needs to be compiled before being used.");return this.model.evaluateDataset(e,t)}predict(e,t={}){return null==this.model&&this.build(),this.model.predict(e,t)}predictOnBatch(e){return null==this.model&&this.build(),this.model.predictOnBatch(e)}compile(e){this.build(),this.model.compile(e),this.optimizer_=this.model.optimizer,this.isOptimizerOwned=this.model.isOptimizerOwned,this.loss=this.model.loss,this.metrics=this.model.metrics,this.metricsTensors=this.model.metricsTensors,this.metricsNames=this.model.metricsNames}get optimizer(){return null==this.model?void 0:this.model.optimizer}set optimizer(e){this.model.optimizer=e}async fit(e,t,n={}){if(!this.built)throw new $6("The model needs to be compiled before being used.");return this.model.fit(e,t,n)}async fitDataset(e,t){if(!this.built)throw new $6("The model needs to be compiled before being used.");return this.model.fitDataset(e,t)}async trainOnBatch(e,t){return this.model.trainOnBatch(e,t)}static fromConfig(e,t,n={},i=!1){let r,s={};if(t instanceof Array){if(null==t[0].className||"Merge"===t[0].className)throw new U6("Legacy serialization format not supported yet.");r=t}else v3.util.assert(null!=t.layers,()=>"When the config data for a Sequential model is not an Array, it must be an Object that contains the 'layers' field."),r=t.layers,delete t.layers,s=t;const o=new e(s);if(!(o instanceof Fee))throw new V6(`Sequential.fromConfig called on non-Sequential input: ${o}`);for(const e of r){const t=M7(e,void 0,i);i&&t.setFastWeightInitDuringBuild(!0),o.add(t)}return o}set stopTraining(e){if(null==this.model)throw new U6("Cannot set the stopTraining property of a sequential model before it is compiled.");this.model.stopTraining=e}get stopTraining(){if(null==this.model)throw new U6("Cannot get the stopTraining property of a sequential model before it is compiled.");return this.model.stopTraining}getConfig(){const e=[];for(const t of this.layers){const n={};n.className=t.getClassName(),n.config=t.getConfig(),e.push(n)}return{name:this.name,layers:e}}} /** * @license * Copyright 2018 Google LLC @@ -11312,7 +11312,7 @@ async function See(e,t){"modelTopology"in e||(e={modelTopology:e});let n=e.model * https://opensource.org/licenses/MIT. * ============================================================================= */ -function Mee(e){return new Iee(e)}function kee(e){return new Oee(e)}function Ree(e){return M9(e)}function Nee(e,t){x7.registerCallbackConstructor(e,t)}Oee.className="Sequential",p3.serialization.registerClass(Oee); +function Lee(e){return new kee(e)}function Pee(e){return new Fee(e)}function Bee(e){return L9(e)}function $ee(e,t){C7.registerCallbackConstructor(e,t)}Fee.className="Sequential",v3.serialization.registerClass(Fee); /** * @license * Copyright 2018 Google LLC @@ -11322,7 +11322,7 @@ function Mee(e){return new Iee(e)}function kee(e){return new Oee(e)}function Ree * https://opensource.org/licenses/MIT. * ============================================================================= */ -class Dee extends p3.serialization.Serializable{getConfig(){return{}}}class Fee extends Dee{apply(e,t=1){return function(e,t=1){if(1!==t)throw new F6(`Support for alpha values other than 1 (${t}) is not implemented yet.`);return p3.elu(e)}(e,t)}}Fee.className="elu",p3.serialization.registerClass(Fee);class Lee extends Dee{apply(e){return p3.selu(e)}}Lee.className="selu",p3.serialization.registerClass(Lee);class Pee extends Dee{apply(e){return p3.relu(e)}}Pee.className="relu",p3.serialization.registerClass(Pee);class Bee extends Dee{apply(e){return(0,p3.tidy)(()=>p3.minimum(6,p3.relu(e)))}}Bee.className="relu6",p3.serialization.registerClass(Bee);class $ee extends Dee{apply(e){return e}}$ee.className="linear",p3.serialization.registerClass($ee);class Uee extends Dee{apply(e){return p3.sigmoid(e)}}Uee.className="sigmoid",p3.serialization.registerClass(Uee);class Vee extends Dee{apply(e){return function(e){return(0,p3.tidy)(()=>{const t=p3.add(.5,p3.mul(.2,e));return p3.clipByValue(t,0,1)})}(e)}}Vee.className="hardSigmoid",p3.serialization.registerClass(Vee);class zee extends Dee{apply(e){return p3.softplus(e)}}zee.className="softplus",p3.serialization.registerClass(zee);class jee extends Dee{apply(e){return function(e){return(0,p3.tidy)(()=>p3.div(e,p3.add(p3.abs(e),1)))}(e)}}jee.className="softsign",p3.serialization.registerClass(jee);class Yee extends Dee{apply(e){return p3.tanh(e)}}Yee.className="tanh",p3.serialization.registerClass(Yee);class Gee extends Dee{apply(e,t=-1){return p3.softmax(e,t)}}Gee.className="softmax",p3.serialization.registerClass(Gee);class Hee extends Dee{apply(e,t=-1){return p3.logSoftmax(e,t)}}Hee.className="logSoftmax",p3.serialization.registerClass(Hee);class Wee extends Dee{apply(e){return(0,p3.tidy)(()=>p3.tidy(()=>{const t=Math.sqrt(2),n=p3.mul(.5,p3.add(1,p3.erf(p3.div(e,t))));return p3.mul(e,n)}))}}Wee.className="gelu",p3.serialization.registerClass(Wee);class Xee extends Dee{apply(e){return(0,p3.tidy)(()=>p3.mul(.5,p3.mul(e,p3.add(1,p3.tanh(p3.mul(p3.sqrt(p3.div(2,Math.PI)),p3.add(e,p3.mul(.044715,p3.pow(e,3)))))))))}}Xee.className="gelu_new",p3.serialization.registerClass(Xee);class qee extends Dee{apply(e){return(0,p3.tidy)(()=>p3.mul(e,p3.tanh(p3.softplus(e))))}}qee.className="mish",p3.serialization.registerClass(qee);class Kee extends Dee{apply(e,t=1){return(0,p3.tidy)(()=>p3.mul(p3.sigmoid(p3.mul(e,t)),e))}}function Zee(e){return e.getClassName()}function Qee(e,t={}){return X6(e,p3.serialization.SerializationMap.getMap().classNameMap,t,"activation")}function Jee(e){if(null==e){const e={className:"linear",config:{}};return Qee(e)}if("string"==typeof e){const t={};return t.className=e,t.config={},Qee(t)}return e instanceof Dee?e:Qee(e)} +class Uee extends v3.serialization.Serializable{getConfig(){return{}}}class Vee extends Uee{apply(e,t=1){return function(e,t=1){if(1!==t)throw new V6(`Support for alpha values other than 1 (${t}) is not implemented yet.`);return v3.elu(e)}(e,t)}}Vee.className="elu",v3.serialization.registerClass(Vee);class zee extends Uee{apply(e){return v3.selu(e)}}zee.className="selu",v3.serialization.registerClass(zee);class jee extends Uee{apply(e){return v3.relu(e)}}jee.className="relu",v3.serialization.registerClass(jee);class Yee extends Uee{apply(e){return(0,v3.tidy)(()=>v3.minimum(6,v3.relu(e)))}}Yee.className="relu6",v3.serialization.registerClass(Yee);class Gee extends Uee{apply(e){return e}}Gee.className="linear",v3.serialization.registerClass(Gee);class Hee extends Uee{apply(e){return v3.sigmoid(e)}}Hee.className="sigmoid",v3.serialization.registerClass(Hee);class Wee extends Uee{apply(e){return function(e){return(0,v3.tidy)(()=>{const t=v3.add(.5,v3.mul(.2,e));return v3.clipByValue(t,0,1)})}(e)}}Wee.className="hardSigmoid",v3.serialization.registerClass(Wee);class Xee extends Uee{apply(e){return v3.softplus(e)}}Xee.className="softplus",v3.serialization.registerClass(Xee);class qee extends Uee{apply(e){return function(e){return(0,v3.tidy)(()=>v3.div(e,v3.add(v3.abs(e),1)))}(e)}}qee.className="softsign",v3.serialization.registerClass(qee);class Kee extends Uee{apply(e){return v3.tanh(e)}}Kee.className="tanh",v3.serialization.registerClass(Kee);class Zee extends Uee{apply(e,t=-1){return v3.softmax(e,t)}}Zee.className="softmax",v3.serialization.registerClass(Zee);class Qee extends Uee{apply(e,t=-1){return v3.logSoftmax(e,t)}}Qee.className="logSoftmax",v3.serialization.registerClass(Qee);class Jee extends Uee{apply(e){return(0,v3.tidy)(()=>v3.tidy(()=>{const t=Math.sqrt(2),n=v3.mul(.5,v3.add(1,v3.erf(v3.div(e,t))));return v3.mul(e,n)}))}}Jee.className="gelu",v3.serialization.registerClass(Jee);class ete extends Uee{apply(e){return(0,v3.tidy)(()=>v3.mul(.5,v3.mul(e,v3.add(1,v3.tanh(v3.mul(v3.sqrt(v3.div(2,Math.PI)),v3.add(e,v3.mul(.044715,v3.pow(e,3)))))))))}}ete.className="gelu_new",v3.serialization.registerClass(ete);class tte extends Uee{apply(e){return(0,v3.tidy)(()=>v3.mul(e,v3.tanh(v3.softplus(e))))}}tte.className="mish",v3.serialization.registerClass(tte);class nte extends Uee{apply(e,t=1){return(0,v3.tidy)(()=>v3.mul(v3.sigmoid(v3.mul(e,t)),e))}}function ite(e){return e.getClassName()}function rte(e,t={}){return e8(e,v3.serialization.SerializationMap.getMap().classNameMap,t,"activation")}function ste(e){if(null==e){const e={className:"linear",config:{}};return rte(e)}if("string"==typeof e){const t={};return t.className=e,t.config={},rte(t)}return e instanceof Uee?e:rte(e)} /** * @license * Copyright 2018 Google LLC @@ -11332,7 +11332,7 @@ class Dee extends p3.serialization.Serializable{getConfig(){return{}}}class Fee * https://opensource.org/licenses/MIT. * ============================================================================= */ -function ete(e){if(null!=e&&"object"!=typeof e)throw new Error(`Argument to L1L2 regularizer's constructor is expected to be an object, but received: ${e}`)}Kee.className="swish",p3.serialization.registerClass(Kee);class tte extends p3.serialization.Serializable{}class nte extends tte{constructor(e){super(),ete(e),this.l1=null==e||null==e.l1?.01:e.l1,this.l2=null==e||null==e.l2?.01:e.l2,this.hasL1=0!==this.l1,this.hasL2=0!==this.l2}apply(e){return(0,p3.tidy)(()=>{let t=(0,p3.zeros)([1]);return this.hasL1&&(t=(0,p3.add)(t,(0,p3.sum)(p3.mul(this.l1,(0,p3.abs)(e))))),this.hasL2&&(t=(0,p3.add)(t,(0,p3.sum)(p3.mul(this.l2,U8(e))))),p3.reshape(t,[])})}getConfig(){return{l1:this.l1,l2:this.l2}}static fromConfig(e,t){return new e({l1:t.l1,l2:t.l2})}}nte.className="L1L2",p3.serialization.registerClass(nte);const ite={l1l2:"L1L2"};function rte(e){return H6(e)}function ste(e,t={}){return X6(e,p3.serialization.SerializationMap.getMap().classNameMap,t,"regularizer")}function ote(e){if(null==e)return null;if("string"==typeof e){return ste({className:e in ite?ite[e]:e,config:{}})}return e instanceof tte?e:ste(e)} +function ote(e){if(null!=e&&"object"!=typeof e)throw new Error(`Argument to L1L2 regularizer's constructor is expected to be an object, but received: ${e}`)}nte.className="swish",v3.serialization.registerClass(nte);class ate extends v3.serialization.Serializable{}class lte extends ate{constructor(e){super(),ote(e),this.l1=null==e||null==e.l1?.01:e.l1,this.l2=null==e||null==e.l2?.01:e.l2,this.hasL1=0!==this.l1,this.hasL2=0!==this.l2}apply(e){return(0,v3.tidy)(()=>{let t=(0,v3.zeros)([1]);return this.hasL1&&(t=(0,v3.add)(t,(0,v3.sum)(v3.mul(this.l1,(0,v3.abs)(e))))),this.hasL2&&(t=(0,v3.add)(t,(0,v3.sum)(v3.mul(this.l2,H8(e))))),v3.reshape(t,[])})}getConfig(){return{l1:this.l1,l2:this.l2}}static fromConfig(e,t){return new e({l1:t.l1,l2:t.l2})}}lte.className="L1L2",v3.serialization.registerClass(lte);const ute={l1l2:"L1L2"};function cte(e){return Q6(e)}function dte(e,t={}){return e8(e,v3.serialization.SerializationMap.getMap().classNameMap,t,"regularizer")}function hte(e){if(null==e)return null;if("string"==typeof e){return dte({className:e in ute?ute[e]:e,config:{}})}return e instanceof ate?e:dte(e)} /** * @license * Copyright 2018 Google LLC @@ -11342,7 +11342,7 @@ function ete(e){if(null!=e&&"object"!=typeof e)throw new Error(`Argument to L1L2 * https://opensource.org/licenses/MIT. * ============================================================================= */ -class ate extends S9{constructor(e){super(null==e?{}:e),this.supportsMasking=!0,null!=e&&(this.maxValue=e.maxValue)}call(e,t){e=m9(e);let n=(0,p3.relu)(e);return null!=this.maxValue&&(n=(0,p3.clipByValue)(n,0,this.maxValue)),n}computeOutputShape(e){return e}getConfig(){const e={maxValue:this.maxValue},t=super.getConfig();return Object.assign(e,t),e}}ate.className="ReLU",p3.serialization.registerClass(ate);class lte extends S9{constructor(e){super(null==e?{}:e),this.DEFAULT_ALPHA=.3,null==e&&(e={}),this.alpha=null==e.alpha?this.DEFAULT_ALPHA:e.alpha}call(e,t){const n=m9(e);return(0,p3.leakyRelu)(n,this.alpha)}computeOutputShape(e){return e}getConfig(){const e={alpha:this.alpha},t=super.getConfig();return Object.assign(e,t),e}}lte.className="LeakyReLU",p3.serialization.registerClass(lte);class ute extends S9{constructor(e){if(super(null==e?{}:e),this.DEFAULT_ALPHA_INITIALIZER="zeros",null==e&&(e={}),this.supportsMasking=!0,this.alphaInitializer=h9(e.alphaInitializer||this.DEFAULT_ALPHA_INITIALIZER),this.alphaRegularizer=ote(e.alphaRegularizer),this.alphaConstraint=W9(e.alphaConstraint),null==e.sharedAxes)this.sharedAxes=null;else if(Array.isArray(e.sharedAxes))this.sharedAxes=e.sharedAxes;else{if("number"!=typeof e.sharedAxes)throw new D6(`Expected sharedAxes to be a number or an array of numbers, but got ${e.sharedAxes}`);this.sharedAxes=[e.sharedAxes]}}build(e){const t=(e=g9(e)).slice(1);if(null!=this.sharedAxes)for(const e of this.sharedAxes)t[e-1]=1;this.alpha=this.addWeight("alpha",t,"float32",this.alphaInitializer,this.alphaRegularizer,!0,this.alphaConstraint);const n={};if(null!=this.sharedAxes)for(let t=1;t{let n=m9(e);const i=t.mask;if(null!=i){const e=(0,p3.mul)((0,p3.sub)((0,p3.ones)(n.shape),(0,p3.cast)(i,n.dtype)),(0,p3.scalar)(-1e9));n=(0,p3.add)(n,e)}return this.axis instanceof Array?this.axis.length>1?(0,p3.exp)((0,p3.sub)(n,(0,p3.logSumExp)(n,this.axis,!0))):this.softmax(n,this.axis[0]):this.softmax(n,this.axis)})}computeOutputShape(e){return e}getConfig(){const e={axis:this.axis},t=super.getConfig();return Object.assign(e,t),e}} +class pte extends N9{constructor(e){super(null==e?{}:e),this.supportsMasking=!0,null!=e&&(this.maxValue=e.maxValue)}call(e,t){e=T9(e);let n=(0,v3.relu)(e);return null!=this.maxValue&&(n=(0,v3.clipByValue)(n,0,this.maxValue)),n}computeOutputShape(e){return e}getConfig(){const e={maxValue:this.maxValue},t=super.getConfig();return Object.assign(e,t),e}}pte.className="ReLU",v3.serialization.registerClass(pte);class fte extends N9{constructor(e){super(null==e?{}:e),this.DEFAULT_ALPHA=.3,null==e&&(e={}),this.alpha=null==e.alpha?this.DEFAULT_ALPHA:e.alpha}call(e,t){const n=T9(e);return(0,v3.leakyRelu)(n,this.alpha)}computeOutputShape(e){return e}getConfig(){const e={alpha:this.alpha},t=super.getConfig();return Object.assign(e,t),e}}fte.className="LeakyReLU",v3.serialization.registerClass(fte);class mte extends N9{constructor(e){if(super(null==e?{}:e),this.DEFAULT_ALPHA_INITIALIZER="zeros",null==e&&(e={}),this.supportsMasking=!0,this.alphaInitializer=y9(e.alphaInitializer||this.DEFAULT_ALPHA_INITIALIZER),this.alphaRegularizer=hte(e.alphaRegularizer),this.alphaConstraint=J9(e.alphaConstraint),null==e.sharedAxes)this.sharedAxes=null;else if(Array.isArray(e.sharedAxes))this.sharedAxes=e.sharedAxes;else{if("number"!=typeof e.sharedAxes)throw new U6(`Expected sharedAxes to be a number or an array of numbers, but got ${e.sharedAxes}`);this.sharedAxes=[e.sharedAxes]}}build(e){const t=(e=x9(e)).slice(1);if(null!=this.sharedAxes)for(const e of this.sharedAxes)t[e-1]=1;this.alpha=this.addWeight("alpha",t,"float32",this.alphaInitializer,this.alphaRegularizer,!0,this.alphaConstraint);const n={};if(null!=this.sharedAxes)for(let t=1;t{let n=T9(e);const i=t.mask;if(null!=i){const e=(0,v3.mul)((0,v3.sub)((0,v3.ones)(n.shape),(0,v3.cast)(i,n.dtype)),(0,v3.scalar)(-1e9));n=(0,v3.add)(n,e)}return this.axis instanceof Array?this.axis.length>1?(0,v3.exp)((0,v3.sub)(n,(0,v3.logSumExp)(n,this.axis,!0))):this.softmax(n,this.axis[0]):this.softmax(n,this.axis)})}computeOutputShape(e){return e}getConfig(){const e={axis:this.axis},t=super.getConfig();return Object.assign(e,t),e}} /** * @license * Copyright 2018 Google LLC @@ -11352,7 +11352,7 @@ class ate extends S9{constructor(e){super(null==e?{}:e),this.supportsMasking=!0, * https://opensource.org/licenses/MIT. * ============================================================================= */ -function pte(e,t,n){if("number"==typeof e)return B6(e,t);if(e.length!==t)throw new D6(`The ${n} argument must be an integer or tuple of ${t} integers. Received: ${e.length} elements.`);for(let i=0;i(p8(t),"channelsFirst"===t?p3.transpose(e,[0,2,3,1]):e))}function _te(e,t){return(0,p3.tidy)(()=>(p8(t),"channelsFirst"===t?p3.transpose(e,[0,2,3,4,1]):e))}function yte(e,t,n,i=1,r="valid",s,o=1){return(0,p3.tidy)(()=>{if(null==s&&(s="channelsLast"),p8(s),3!==e.shape.length)throw new D6(`The input of a conv1dWithBias operation should be 3, but is ${e.shape.length} instead.`);if(3!==t.shape.length)throw new D6(`The kernel for a conv1dWithBias operation should be 3, but is ${t.shape.length} instead`);if(null!=n&&1!==n.shape.length)throw new D6(`The bias for a conv1dWithBias operation should be 1, but is ${n.shape.length} instead`);if("channelsFirst"===s&&(e=p3.transpose(e,[0,2,1])),"causal"===r)throw new F6("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");let a=p3.conv1d(e,t,i,"same"===r?"same":"valid","NWC",o);return null!=n&&(a=z8(a,n)),a})}function vte(e,t,n,i=[1,1],r="valid",s,o,a=null){return(0,p3.tidy)(()=>{if(null==s&&(s="channelsLast"),p8(s),3!==e.rank&&4!==e.rank)throw new D6(`conv2dWithBiasActivation expects input to be of rank 3 or 4, but received ${e.rank}.`);if(3!==t.rank&&4!==t.rank)throw new D6(`conv2dWithBiasActivation expects kernel to be of rank 3 or 4, but received ${e.rank}.`);let l=gte(e,s);if("causal"===r)throw new F6("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");return l=p3.fused.conv2d({x:l,filter:t,strides:i,pad:"same"===r?"same":"valid",dilations:o,dataFormat:"NHWC",bias:n,activation:a}),"channelsFirst"===s&&(l=p3.transpose(l,[0,3,1,2])),l})}function bte(e,t,n,i=[1,1,1],r="valid",s,o){return(0,p3.tidy)(()=>{if(null==s&&(s="channelsLast"),p8(s),4!==e.rank&&5!==e.rank)throw new D6(`conv3dWithBias expects input to be of rank 4 or 5, but received ${e.rank}.`);if(4!==t.rank&&5!==t.rank)throw new D6(`conv3dWithBias expects kernel to be of rank 4 or 5, but received ${e.rank}.`);let a=_te(e,s);if("causal"===r)throw new F6("The support for CAUSAL padding mode in conv3dWithBias is not implemented yet.");return a=p3.conv3d(a,t,i,"same"===r?"same":"valid","NDHWC",o),null!=n&&(a=z8(a,n)),"channelsFirst"===s&&(a=p3.transpose(a,[0,4,1,2,3])),a})}hte.className="Softmax",p3.serialization.registerClass(hte);class Tte extends S9{constructor(e,t){if(super(t),this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",Tte.verifyArgs(t),this.rank=e,e8(this.rank,"rank"),1!==this.rank&&2!==this.rank&&3!==this.rank)throw new F6(`Convolution layer for rank other than 1, 2, or 3 (${this.rank}) is not implemented yet.`);if(this.kernelSize=pte(t.kernelSize,e,"kernelSize"),this.strides=pte(null==t.strides?1:t.strides,e,"strides"),this.padding=null==t.padding?"valid":t.padding,f8(this.padding),this.dataFormat=null==t.dataFormat?"channelsLast":t.dataFormat,p8(this.dataFormat),this.activation=Jee(t.activation),this.useBias=null==t.useBias||t.useBias,this.biasInitializer=h9(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.biasConstraint=W9(t.biasConstraint),this.biasRegularizer=ote(t.biasRegularizer),this.activityRegularizer=ote(t.activityRegularizer),this.dilationRate=pte(null==t.dilationRate?1:t.dilationRate,e,"dilationRate"),1===this.rank&&Array.isArray(this.dilationRate)&&1!==this.dilationRate.length)throw new D6(`dilationRate must be a number or an array of a single number for 1D convolution, but received ${JSON.stringify(this.dilationRate)}`);if(2===this.rank){if("number"==typeof this.dilationRate)this.dilationRate=[this.dilationRate,this.dilationRate];else if(2!==this.dilationRate.length)throw new D6(`dilationRate must be a number or array of two numbers for 2D convolution, but received ${JSON.stringify(this.dilationRate)}`)}else if(3===this.rank)if("number"==typeof this.dilationRate)this.dilationRate=[this.dilationRate,this.dilationRate,this.dilationRate];else if(3!==this.dilationRate.length)throw new D6(`dilationRate must be a number or array of three numbers for 3D convolution, but received ${JSON.stringify(this.dilationRate)}`)}static verifyArgs(e){if($6("kernelSize"in e,"required key 'kernelSize' not in config"),"number"!=typeof e.kernelSize&&!J6(e.kernelSize,"number",1,3))throw new D6(`BaseConv expects config.kernelSize to be number or number[] with length 1, 2, or 3, but received ${JSON.stringify(e.kernelSize)}.`)}getConfig(){const e={kernelSize:this.kernelSize,strides:this.strides,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,activation:Zee(this.activation),useBias:this.useBias,biasInitializer:d9(this.biasInitializer),biasRegularizer:rte(this.biasRegularizer),activityRegularizer:rte(this.activityRegularizer),biasConstraint:G9(this.biasConstraint)},t=super.getConfig();return Object.assign(e,t),e}}class xte extends Tte{constructor(e,t){super(e,t),this.kernel=null,xte.verifyArgs(t),this.filters=t.filters,e8(this.filters,"filters"),this.kernelInitializer=h9(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.kernelConstraint=W9(t.kernelConstraint),this.kernelRegularizer=ote(t.kernelRegularizer)}build(e){e=g9(e);const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new D6(`The channel dimension of the input should be defined. Found ${e[t]}`);const n=e[t],i=this.kernelSize.concat([n,this.filters]);this.kernel=this.addWeight("kernel",i,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[{ndim:this.rank+2,axes:{[t]:n}}],this.built=!0}call(e,t){return(0,p3.tidy)(()=>{let t;e=m9(e);const n=null==this.bias?null:this.bias.read(),i=n8(this.activation.getClassName());if(null!=i&&2===this.rank)t=vte(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate,i);else{if(1===this.rank)t=yte(e,this.kernel.read(),n,this.strides[0],this.padding,this.dataFormat,this.dilationRate[0]);else if(2===this.rank)t=vte(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate);else{if(3!==this.rank)throw new F6("convolutions greater than 3D are not implemented yet.");t=bte(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate)}null!=this.activation&&(t=this.activation.apply(t))}return t})}computeOutputShape(e){e=g9(e);const t=[],n="channelsLast"===this.dataFormat?e.slice(1,e.length-1):e.slice(2);for(let e=0;e 0 but got ${JSON.stringify(e.filters)}`)}}class Ete extends xte{constructor(e){super(2,e),Ete.verifyArgs(e)}getConfig(){const e=super.getConfig();return delete e.rank,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&!J6(e.kernelSize,"number",1,2))throw new D6(`Conv2D expects config.kernelSize to be number or number[] with length 1 or 2, but received ${JSON.stringify(e.kernelSize)}.`)}}Ete.className="Conv2D",p3.serialization.registerClass(Ete);class wte extends xte{constructor(e){super(3,e),wte.verifyArgs(e)}getConfig(){const e=super.getConfig();return delete e.rank,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&(!Array.isArray(e.kernelSize)||1!==e.kernelSize.length&&3!==e.kernelSize.length))throw new D6(`Conv3D expects config.kernelSize to be number or [number, number, number], but received ${JSON.stringify(e.kernelSize)}.`)}}wte.className="Conv3D",p3.serialization.registerClass(wte);class Ite extends Ete{constructor(e){if(super(e),this.inputSpec=[new x9({ndim:4})],"same"!==this.padding&&"valid"!==this.padding)throw new D6(`Conv2DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(e){if(4!==(e=g9(e)).length)throw new D6("Input should have rank 4; Received input shape: "+JSON.stringify(e));const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new D6("The channel dimension of the inputs should be defined. Found `None`.");const n=e[t],i=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight("kernel",i,"float32",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],"float32",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new x9({ndim:4,axes:{[t]:n}})],this.built=!0}call(e,t){return p3.tidy(()=>{let t=m9(e);if(4!==t.shape.length)throw new D6(`Conv2DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${t.shape.length}`);const n=t.shape,i=n[0];let r,s;"channelsFirst"===this.dataFormat?(r=2,s=3):(r=1,s=2);const o=n[r],a=n[s],l=this.kernelSize[0],u=this.kernelSize[1],c=this.strides[0],d=this.strides[1],h=[i,mte(o,c,l,this.padding),mte(a,d,u,this.padding),this.filters];"channelsLast"!==this.dataFormat&&(t=p3.transpose(t,[0,2,3,1]));let p=p3.conv2dTranspose(t,this.kernel.read(),h,this.strides,this.padding);return"channelsLast"!==this.dataFormat&&(p=p3.transpose(p,[0,3,1,2])),null!=this.bias&&(p=z8(p,this.bias.read(),this.dataFormat)),null!=this.activation&&(p=this.activation.apply(p)),p})}computeOutputShape(e){const t=(e=g9(e)).slice();let n,i,r;"channelsFirst"===this.dataFormat?(n=1,i=2,r=3):(n=3,i=1,r=2);const s=this.kernelSize[0],o=this.kernelSize[1],a=this.strides[0],l=this.strides[1];return t[n]=this.filters,t[i]=mte(t[i],a,s,this.padding),t[r]=mte(t[r],l,o,this.padding),t}getConfig(){const e=super.getConfig();return delete e.dilationRate,e}}Ite.className="Conv2DTranspose",p3.serialization.registerClass(Ite);class Ate extends wte{constructor(e){if(super(e),this.inputSpec=[new x9({ndim:5})],"same"!==this.padding&&"valid"!==this.padding)throw new D6(`Conv3DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(e){if(5!==(e=g9(e)).length)throw new D6("Input should have rank 5; Received input shape: "+JSON.stringify(e));const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new D6("The channel dimension of the inputs should be defined. Found `None`.");const n=e[t],i=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight("kernel",i,"float32",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],"float32",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new x9({ndim:5,axes:{[t]:n}})],this.built=!0}call(e,t){return p3.tidy(()=>{let t=m9(e);if(5!==t.shape.length)throw new D6(`Conv3DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${t.shape.length}`);const n=t.shape,i=n[0];let r,s,o;"channelsFirst"===this.dataFormat?(o=2,r=3,s=4):(o=1,r=2,s=3);const a=n[o],l=n[r],u=n[s],c=this.kernelSize[0],d=this.kernelSize[1],h=this.kernelSize[2],p=this.strides[0],f=this.strides[1],m=this.strides[2],g=[i,mte(a,p,c,this.padding),mte(l,f,d,this.padding),mte(u,m,h,this.padding),this.filters];"channelsLast"!==this.dataFormat&&(t=p3.transpose(t,[0,2,3,4,1]));let _=p3.conv3dTranspose(t,this.kernel.read(),g,this.strides,this.padding);return"channelsLast"!==this.dataFormat&&(_=p3.transpose(_,[0,4,1,2,3])),null!==this.bias&&(_=z8(_,this.bias.read(),this.dataFormat)),null!==this.activation&&(_=this.activation.apply(_)),_})}computeOutputShape(e){const t=(e=g9(e)).slice();let n,i,r,s;"channelsFirst"===this.dataFormat?(n=1,i=2,r=3,s=4):(n=4,i=1,r=2,s=3);const o=this.kernelSize[0],a=this.kernelSize[1],l=this.kernelSize[2],u=this.strides[0],c=this.strides[1],d=this.strides[2];return t[n]=this.filters,t[i]=mte(t[i],u,o,this.padding),t[r]=mte(t[r],c,a,this.padding),t[s]=mte(t[s],d,l,this.padding),t}getConfig(){const e=super.getConfig();return delete e.dilationRate,e}}Ate.className="Conv3DTranspose",p3.serialization.registerClass(Ate);class Ste extends xte{constructor(e,t){if(super(e,t),this.DEFAULT_DEPTHWISE_INITIALIZER="glorotUniform",this.DEFAULT_POINTWISE_INITIALIZER="glorotUniform",this.depthwiseKernel=null,this.pointwiseKernel=null,null==t.filters)throw new D6("The `filters` configuration field is required by SeparableConv, but is unspecified.");if(null!=t.kernelInitializer||null!=t.kernelRegularizer||null!=t.kernelConstraint)throw new D6("Fields kernelInitializer, kernelRegularizer and kernelConstraint are invalid for SeparableConv2D. Use depthwiseInitializer, depthwiseRegularizer, depthwiseConstraint, pointwiseInitializer, pointwiseRegularizer and pointwiseConstraint instead.");if(null!=t.padding&&"same"!==t.padding&&"valid"!==t.padding)throw new D6(`SeparableConv${this.rank}D supports only padding modes: 'same' and 'valid', but received ${JSON.stringify(t.padding)}`);this.depthMultiplier=null==t.depthMultiplier?1:t.depthMultiplier,this.depthwiseInitializer=h9(t.depthwiseInitializer||this.DEFAULT_DEPTHWISE_INITIALIZER),this.depthwiseRegularizer=ote(t.depthwiseRegularizer),this.depthwiseConstraint=W9(t.depthwiseConstraint),this.pointwiseInitializer=h9(t.depthwiseInitializer||this.DEFAULT_POINTWISE_INITIALIZER),this.pointwiseRegularizer=ote(t.pointwiseRegularizer),this.pointwiseConstraint=W9(t.pointwiseConstraint)}build(e){if((e=g9(e)).length{let t;if(e=m9(e),1===this.rank)throw new F6("1D separable convolution is not implemented yet.");return 2===this.rank&&("channelsFirst"===this.dataFormat&&(e=p3.transpose(e,[0,2,3,1])),t=p3.separableConv2d(e,this.depthwiseKernel.read(),this.pointwiseKernel.read(),this.strides,this.padding,this.dilationRate,"NHWC")),this.useBias&&(t=z8(t,this.bias.read(),this.dataFormat)),null!=this.activation&&(t=this.activation.apply(t)),"channelsFirst"===this.dataFormat&&(t=p3.transpose(t,[0,3,1,2])),t})}getConfig(){const e=super.getConfig();return delete e.rank,delete e.kernelInitializer,delete e.kernelRegularizer,delete e.kernelConstraint,e.depthwiseInitializer=d9(this.depthwiseInitializer),e.pointwiseInitializer=d9(this.pointwiseInitializer),e.depthwiseRegularizer=rte(this.depthwiseRegularizer),e.pointwiseRegularizer=rte(this.pointwiseRegularizer),e.depthwiseConstraint=G9(this.depthwiseConstraint),e.pointwiseConstraint=G9(this.pointwiseConstraint),e}}Ste.className="SeparableConv";class Cte extends Ste{constructor(e){super(2,e)}}Cte.className="SeparableConv2D",p3.serialization.registerClass(Cte);class Ote extends xte{constructor(e){super(1,e),Ote.verifyArgs(e),this.inputSpec=[{ndim:3}]}getConfig(){const e=super.getConfig();return delete e.rank,delete e.dataFormat,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&!J6(e.kernelSize,"number",1,1))throw new D6(`Conv1D expects config.kernelSize to be number or number[] with length 1, but received ${JSON.stringify(e.kernelSize)}.`)}}Ote.className="Conv1D",p3.serialization.registerClass(Ote);class Mte extends S9{constructor(e){super(e),"number"==typeof e.cropping?this.cropping=[[e.cropping,e.cropping],[e.cropping,e.cropping]]:"number"==typeof e.cropping[0]?this.cropping=[[e.cropping[0],e.cropping[0]],[e.cropping[1],e.cropping[1]]]:this.cropping=e.cropping,this.dataFormat=void 0===e.dataFormat?"channelsLast":e.dataFormat,this.inputSpec=[{ndim:4}]}computeOutputShape(e){return"channelsFirst"===this.dataFormat?[e[0],e[1],e[2]-this.cropping[0][0]-this.cropping[0][1],e[3]-this.cropping[1][0]-this.cropping[1][1]]:[e[0],e[1]-this.cropping[0][0]-this.cropping[0][1],e[2]-this.cropping[1][0]-this.cropping[1][1],e[3]]}call(e,t){return(0,p3.tidy)(()=>{if(e=m9(e),"channelsLast"===this.dataFormat){const t=N8(e,this.cropping[0][0],e.shape[1]-this.cropping[0][0]-this.cropping[0][1],2);return N8(t,this.cropping[1][0],e.shape[2]-this.cropping[1][1]-this.cropping[1][0],3)}{const t=N8(e,this.cropping[0][0],e.shape[2]-this.cropping[0][0]-this.cropping[0][1],3);return N8(t,this.cropping[1][0],e.shape[3]-this.cropping[1][1]-this.cropping[1][0],4)}})}getConfig(){const e={cropping:this.cropping,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}Mte.className="Cropping2D",p3.serialization.registerClass(Mte);class kte extends S9{constructor(e){var t;super(e),this.DEFAULT_SIZE=[2,2],this.inputSpec=[{ndim:4}],this.size=null==e.size?this.DEFAULT_SIZE:e.size,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,p8(this.dataFormat),this.interpolation=null==e.interpolation?"nearest":e.interpolation,t=this.interpolation,Q6(l8,"InterpolationFormat",t)}computeOutputShape(e){if("channelsFirst"===this.dataFormat){const t=null==e[2]?null:this.size[0]*e[2],n=null==e[3]?null:this.size[1]*e[3];return[e[0],e[1],t,n]}{const t=null==e[1]?null:this.size[0]*e[1],n=null==e[2]?null:this.size[1]*e[2];return[e[0],t,n,e[3]]}}call(e,t){return p3.tidy(()=>{let t=m9(e);const n=t.shape;if("channelsFirst"===this.dataFormat){t=p3.transpose(t,[0,2,3,1]);const e=this.size[0]*n[2],i=this.size[1]*n[3],r="nearest"===this.interpolation?p3.image.resizeNearestNeighbor(t,[e,i]):p3.image.resizeBilinear(t,[e,i]);return p3.transpose(r,[0,3,1,2])}{const e=this.size[0]*n[1],i=this.size[1]*n[2];return"nearest"===this.interpolation?p3.image.resizeNearestNeighbor(t,[e,i]):p3.image.resizeBilinear(t,[e,i])}})}getConfig(){const e={size:this.size,dataFormat:this.dataFormat,interpolation:this.interpolation},t=super.getConfig();return Object.assign(e,t),e}}kte.className="UpSampling2D",p3.serialization.registerClass(kte);class Rte extends Tte{constructor(e){super(2,e),this.depthwiseKernel=null,this.depthMultiplier=null==e.depthMultiplier?1:e.depthMultiplier,this.depthwiseInitializer=h9(e.depthwiseInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.depthwiseConstraint=W9(e.depthwiseConstraint),this.depthwiseRegularizer=ote(e.depthwiseRegularizer)}build(e){if((e=g9(e)).length<4)throw new D6(`Inputs to DepthwiseConv2D should have rank 4. Received input shape: ${JSON.stringify(e)}.`);const t="channelsFirst"===this.dataFormat?1:3;if(null==e[t]||e[t]<0)throw new D6(`The channel dimension of the inputs to DepthwiseConv2D should be defined, but is not (${e[t]}).`);const n=e[t],i=[this.kernelSize[0],this.kernelSize[1],n,this.depthMultiplier];this.depthwiseKernel=this.addWeight("depthwise_kernel",i,null,this.depthwiseInitializer,this.depthwiseRegularizer,!0,this.depthwiseConstraint),this.useBias?this.bias=this.addWeight("bias",[n*this.depthMultiplier],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return(0,p3.tidy)(()=>{let t= +function xte(e,t){return(0,v3.tidy)(()=>(v8(t),"channelsFirst"===t?v3.transpose(e,[0,2,3,1]):e))}function Ete(e,t){return(0,v3.tidy)(()=>(v8(t),"channelsFirst"===t?v3.transpose(e,[0,2,3,4,1]):e))}function wte(e,t,n,i=1,r="valid",s,o=1){return(0,v3.tidy)(()=>{if(null==s&&(s="channelsLast"),v8(s),3!==e.shape.length)throw new U6(`The input of a conv1dWithBias operation should be 3, but is ${e.shape.length} instead.`);if(3!==t.shape.length)throw new U6(`The kernel for a conv1dWithBias operation should be 3, but is ${t.shape.length} instead`);if(null!=n&&1!==n.shape.length)throw new U6(`The bias for a conv1dWithBias operation should be 1, but is ${n.shape.length} instead`);if("channelsFirst"===s&&(e=v3.transpose(e,[0,2,1])),"causal"===r)throw new V6("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");let a=v3.conv1d(e,t,i,"same"===r?"same":"valid","NWC",o);return null!=n&&(a=X8(a,n)),a})}function Ite(e,t,n,i=[1,1],r="valid",s,o,a=null){return(0,v3.tidy)(()=>{if(null==s&&(s="channelsLast"),v8(s),3!==e.rank&&4!==e.rank)throw new U6(`conv2dWithBiasActivation expects input to be of rank 3 or 4, but received ${e.rank}.`);if(3!==t.rank&&4!==t.rank)throw new U6(`conv2dWithBiasActivation expects kernel to be of rank 3 or 4, but received ${e.rank}.`);let l=xte(e,s);if("causal"===r)throw new V6("The support for CAUSAL padding mode in conv1dWithBias is not implemented yet.");return l=v3.fused.conv2d({x:l,filter:t,strides:i,pad:"same"===r?"same":"valid",dilations:o,dataFormat:"NHWC",bias:n,activation:a}),"channelsFirst"===s&&(l=v3.transpose(l,[0,3,1,2])),l})}function Ate(e,t,n,i=[1,1,1],r="valid",s,o){return(0,v3.tidy)(()=>{if(null==s&&(s="channelsLast"),v8(s),4!==e.rank&&5!==e.rank)throw new U6(`conv3dWithBias expects input to be of rank 4 or 5, but received ${e.rank}.`);if(4!==t.rank&&5!==t.rank)throw new U6(`conv3dWithBias expects kernel to be of rank 4 or 5, but received ${e.rank}.`);let a=Ete(e,s);if("causal"===r)throw new V6("The support for CAUSAL padding mode in conv3dWithBias is not implemented yet.");return a=v3.conv3d(a,t,i,"same"===r?"same":"valid","NDHWC",o),null!=n&&(a=X8(a,n)),"channelsFirst"===s&&(a=v3.transpose(a,[0,4,1,2,3])),a})}yte.className="Softmax",v3.serialization.registerClass(yte);class Ste extends N9{constructor(e,t){if(super(t),this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",Ste.verifyArgs(t),this.rank=e,o8(this.rank,"rank"),1!==this.rank&&2!==this.rank&&3!==this.rank)throw new V6(`Convolution layer for rank other than 1, 2, or 3 (${this.rank}) is not implemented yet.`);if(this.kernelSize=vte(t.kernelSize,e,"kernelSize"),this.strides=vte(null==t.strides?1:t.strides,e,"strides"),this.padding=null==t.padding?"valid":t.padding,b8(this.padding),this.dataFormat=null==t.dataFormat?"channelsLast":t.dataFormat,v8(this.dataFormat),this.activation=ste(t.activation),this.useBias=null==t.useBias||t.useBias,this.biasInitializer=y9(t.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.biasConstraint=J9(t.biasConstraint),this.biasRegularizer=hte(t.biasRegularizer),this.activityRegularizer=hte(t.activityRegularizer),this.dilationRate=vte(null==t.dilationRate?1:t.dilationRate,e,"dilationRate"),1===this.rank&&Array.isArray(this.dilationRate)&&1!==this.dilationRate.length)throw new U6(`dilationRate must be a number or an array of a single number for 1D convolution, but received ${JSON.stringify(this.dilationRate)}`);if(2===this.rank){if("number"==typeof this.dilationRate)this.dilationRate=[this.dilationRate,this.dilationRate];else if(2!==this.dilationRate.length)throw new U6(`dilationRate must be a number or array of two numbers for 2D convolution, but received ${JSON.stringify(this.dilationRate)}`)}else if(3===this.rank)if("number"==typeof this.dilationRate)this.dilationRate=[this.dilationRate,this.dilationRate,this.dilationRate];else if(3!==this.dilationRate.length)throw new U6(`dilationRate must be a number or array of three numbers for 3D convolution, but received ${JSON.stringify(this.dilationRate)}`)}static verifyArgs(e){if(G6("kernelSize"in e,"required key 'kernelSize' not in config"),"number"!=typeof e.kernelSize&&!s8(e.kernelSize,"number",1,3))throw new U6(`BaseConv expects config.kernelSize to be number or number[] with length 1, 2, or 3, but received ${JSON.stringify(e.kernelSize)}.`)}getConfig(){const e={kernelSize:this.kernelSize,strides:this.strides,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,activation:ite(this.activation),useBias:this.useBias,biasInitializer:_9(this.biasInitializer),biasRegularizer:cte(this.biasRegularizer),activityRegularizer:cte(this.activityRegularizer),biasConstraint:Z9(this.biasConstraint)},t=super.getConfig();return Object.assign(e,t),e}}class Cte extends Ste{constructor(e,t){super(e,t),this.kernel=null,Cte.verifyArgs(t),this.filters=t.filters,o8(this.filters,"filters"),this.kernelInitializer=y9(t.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.kernelConstraint=J9(t.kernelConstraint),this.kernelRegularizer=hte(t.kernelRegularizer)}build(e){e=x9(e);const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new U6(`The channel dimension of the input should be defined. Found ${e[t]}`);const n=e[t],i=this.kernelSize.concat([n,this.filters]);this.kernel=this.addWeight("kernel",i,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[{ndim:this.rank+2,axes:{[t]:n}}],this.built=!0}call(e,t){return(0,v3.tidy)(()=>{let t;e=T9(e);const n=null==this.bias?null:this.bias.read(),i=l8(this.activation.getClassName());if(null!=i&&2===this.rank)t=Ite(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate,i);else{if(1===this.rank)t=wte(e,this.kernel.read(),n,this.strides[0],this.padding,this.dataFormat,this.dilationRate[0]);else if(2===this.rank)t=Ite(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate);else{if(3!==this.rank)throw new V6("convolutions greater than 3D are not implemented yet.");t=Ate(e,this.kernel.read(),n,this.strides,this.padding,this.dataFormat,this.dilationRate)}null!=this.activation&&(t=this.activation.apply(t))}return t})}computeOutputShape(e){e=x9(e);const t=[],n="channelsLast"===this.dataFormat?e.slice(1,e.length-1):e.slice(2);for(let e=0;e 0 but got ${JSON.stringify(e.filters)}`)}}class Ote extends Cte{constructor(e){super(2,e),Ote.verifyArgs(e)}getConfig(){const e=super.getConfig();return delete e.rank,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&!s8(e.kernelSize,"number",1,2))throw new U6(`Conv2D expects config.kernelSize to be number or number[] with length 1 or 2, but received ${JSON.stringify(e.kernelSize)}.`)}}Ote.className="Conv2D",v3.serialization.registerClass(Ote);class Mte extends Cte{constructor(e){super(3,e),Mte.verifyArgs(e)}getConfig(){const e=super.getConfig();return delete e.rank,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&(!Array.isArray(e.kernelSize)||1!==e.kernelSize.length&&3!==e.kernelSize.length))throw new U6(`Conv3D expects config.kernelSize to be number or [number, number, number], but received ${JSON.stringify(e.kernelSize)}.`)}}Mte.className="Conv3D",v3.serialization.registerClass(Mte);class kte extends Ote{constructor(e){if(super(e),this.inputSpec=[new C9({ndim:4})],"same"!==this.padding&&"valid"!==this.padding)throw new U6(`Conv2DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(e){if(4!==(e=x9(e)).length)throw new U6("Input should have rank 4; Received input shape: "+JSON.stringify(e));const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new U6("The channel dimension of the inputs should be defined. Found `None`.");const n=e[t],i=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight("kernel",i,"float32",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],"float32",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new C9({ndim:4,axes:{[t]:n}})],this.built=!0}call(e,t){return v3.tidy(()=>{let t=T9(e);if(4!==t.shape.length)throw new U6(`Conv2DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${t.shape.length}`);const n=t.shape,i=n[0];let r,s;"channelsFirst"===this.dataFormat?(r=2,s=3):(r=1,s=2);const o=n[r],a=n[s],l=this.kernelSize[0],u=this.kernelSize[1],c=this.strides[0],d=this.strides[1],h=[i,Tte(o,c,l,this.padding),Tte(a,d,u,this.padding),this.filters];"channelsLast"!==this.dataFormat&&(t=v3.transpose(t,[0,2,3,1]));let p=v3.conv2dTranspose(t,this.kernel.read(),h,this.strides,this.padding);return"channelsLast"!==this.dataFormat&&(p=v3.transpose(p,[0,3,1,2])),null!=this.bias&&(p=X8(p,this.bias.read(),this.dataFormat)),null!=this.activation&&(p=this.activation.apply(p)),p})}computeOutputShape(e){const t=(e=x9(e)).slice();let n,i,r;"channelsFirst"===this.dataFormat?(n=1,i=2,r=3):(n=3,i=1,r=2);const s=this.kernelSize[0],o=this.kernelSize[1],a=this.strides[0],l=this.strides[1];return t[n]=this.filters,t[i]=Tte(t[i],a,s,this.padding),t[r]=Tte(t[r],l,o,this.padding),t}getConfig(){const e=super.getConfig();return delete e.dilationRate,e}}kte.className="Conv2DTranspose",v3.serialization.registerClass(kte);class Rte extends Mte{constructor(e){if(super(e),this.inputSpec=[new C9({ndim:5})],"same"!==this.padding&&"valid"!==this.padding)throw new U6(`Conv3DTranspose currently supports only padding modes 'same' and 'valid', but received padding mode ${this.padding}`)}build(e){if(5!==(e=x9(e)).length)throw new U6("Input should have rank 5; Received input shape: "+JSON.stringify(e));const t="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[t])throw new U6("The channel dimension of the inputs should be defined. Found `None`.");const n=e[t],i=this.kernelSize.concat([this.filters,n]);this.kernel=this.addWeight("kernel",i,"float32",this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.filters],"float32",this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint)),this.inputSpec=[new C9({ndim:5,axes:{[t]:n}})],this.built=!0}call(e,t){return v3.tidy(()=>{let t=T9(e);if(5!==t.shape.length)throw new U6(`Conv3DTranspose.call() expects input tensor to be rank-4, but received a tensor of rank-${t.shape.length}`);const n=t.shape,i=n[0];let r,s,o;"channelsFirst"===this.dataFormat?(o=2,r=3,s=4):(o=1,r=2,s=3);const a=n[o],l=n[r],u=n[s],c=this.kernelSize[0],d=this.kernelSize[1],h=this.kernelSize[2],p=this.strides[0],f=this.strides[1],m=this.strides[2],g=[i,Tte(a,p,c,this.padding),Tte(l,f,d,this.padding),Tte(u,m,h,this.padding),this.filters];"channelsLast"!==this.dataFormat&&(t=v3.transpose(t,[0,2,3,4,1]));let _=v3.conv3dTranspose(t,this.kernel.read(),g,this.strides,this.padding);return"channelsLast"!==this.dataFormat&&(_=v3.transpose(_,[0,4,1,2,3])),null!==this.bias&&(_=X8(_,this.bias.read(),this.dataFormat)),null!==this.activation&&(_=this.activation.apply(_)),_})}computeOutputShape(e){const t=(e=x9(e)).slice();let n,i,r,s;"channelsFirst"===this.dataFormat?(n=1,i=2,r=3,s=4):(n=4,i=1,r=2,s=3);const o=this.kernelSize[0],a=this.kernelSize[1],l=this.kernelSize[2],u=this.strides[0],c=this.strides[1],d=this.strides[2];return t[n]=this.filters,t[i]=Tte(t[i],u,o,this.padding),t[r]=Tte(t[r],c,a,this.padding),t[s]=Tte(t[s],d,l,this.padding),t}getConfig(){const e=super.getConfig();return delete e.dilationRate,e}}Rte.className="Conv3DTranspose",v3.serialization.registerClass(Rte);class Nte extends Cte{constructor(e,t){if(super(e,t),this.DEFAULT_DEPTHWISE_INITIALIZER="glorotUniform",this.DEFAULT_POINTWISE_INITIALIZER="glorotUniform",this.depthwiseKernel=null,this.pointwiseKernel=null,null==t.filters)throw new U6("The `filters` configuration field is required by SeparableConv, but is unspecified.");if(null!=t.kernelInitializer||null!=t.kernelRegularizer||null!=t.kernelConstraint)throw new U6("Fields kernelInitializer, kernelRegularizer and kernelConstraint are invalid for SeparableConv2D. Use depthwiseInitializer, depthwiseRegularizer, depthwiseConstraint, pointwiseInitializer, pointwiseRegularizer and pointwiseConstraint instead.");if(null!=t.padding&&"same"!==t.padding&&"valid"!==t.padding)throw new U6(`SeparableConv${this.rank}D supports only padding modes: 'same' and 'valid', but received ${JSON.stringify(t.padding)}`);this.depthMultiplier=null==t.depthMultiplier?1:t.depthMultiplier,this.depthwiseInitializer=y9(t.depthwiseInitializer||this.DEFAULT_DEPTHWISE_INITIALIZER),this.depthwiseRegularizer=hte(t.depthwiseRegularizer),this.depthwiseConstraint=J9(t.depthwiseConstraint),this.pointwiseInitializer=y9(t.depthwiseInitializer||this.DEFAULT_POINTWISE_INITIALIZER),this.pointwiseRegularizer=hte(t.pointwiseRegularizer),this.pointwiseConstraint=J9(t.pointwiseConstraint)}build(e){if((e=x9(e)).length{let t;if(e=T9(e),1===this.rank)throw new V6("1D separable convolution is not implemented yet.");return 2===this.rank&&("channelsFirst"===this.dataFormat&&(e=v3.transpose(e,[0,2,3,1])),t=v3.separableConv2d(e,this.depthwiseKernel.read(),this.pointwiseKernel.read(),this.strides,this.padding,this.dilationRate,"NHWC")),this.useBias&&(t=X8(t,this.bias.read(),this.dataFormat)),null!=this.activation&&(t=this.activation.apply(t)),"channelsFirst"===this.dataFormat&&(t=v3.transpose(t,[0,3,1,2])),t})}getConfig(){const e=super.getConfig();return delete e.rank,delete e.kernelInitializer,delete e.kernelRegularizer,delete e.kernelConstraint,e.depthwiseInitializer=_9(this.depthwiseInitializer),e.pointwiseInitializer=_9(this.pointwiseInitializer),e.depthwiseRegularizer=cte(this.depthwiseRegularizer),e.pointwiseRegularizer=cte(this.pointwiseRegularizer),e.depthwiseConstraint=Z9(this.depthwiseConstraint),e.pointwiseConstraint=Z9(this.pointwiseConstraint),e}}Nte.className="SeparableConv";class Dte extends Nte{constructor(e){super(2,e)}}Dte.className="SeparableConv2D",v3.serialization.registerClass(Dte);class Fte extends Cte{constructor(e){super(1,e),Fte.verifyArgs(e),this.inputSpec=[{ndim:3}]}getConfig(){const e=super.getConfig();return delete e.rank,delete e.dataFormat,e}static verifyArgs(e){if("number"!=typeof e.kernelSize&&!s8(e.kernelSize,"number",1,1))throw new U6(`Conv1D expects config.kernelSize to be number or number[] with length 1, but received ${JSON.stringify(e.kernelSize)}.`)}}Fte.className="Conv1D",v3.serialization.registerClass(Fte);class Lte extends N9{constructor(e){super(e),"number"==typeof e.cropping?this.cropping=[[e.cropping,e.cropping],[e.cropping,e.cropping]]:"number"==typeof e.cropping[0]?this.cropping=[[e.cropping[0],e.cropping[0]],[e.cropping[1],e.cropping[1]]]:this.cropping=e.cropping,this.dataFormat=void 0===e.dataFormat?"channelsLast":e.dataFormat,this.inputSpec=[{ndim:4}]}computeOutputShape(e){return"channelsFirst"===this.dataFormat?[e[0],e[1],e[2]-this.cropping[0][0]-this.cropping[0][1],e[3]-this.cropping[1][0]-this.cropping[1][1]]:[e[0],e[1]-this.cropping[0][0]-this.cropping[0][1],e[2]-this.cropping[1][0]-this.cropping[1][1],e[3]]}call(e,t){return(0,v3.tidy)(()=>{if(e=T9(e),"channelsLast"===this.dataFormat){const t=$8(e,this.cropping[0][0],e.shape[1]-this.cropping[0][0]-this.cropping[0][1],2);return $8(t,this.cropping[1][0],e.shape[2]-this.cropping[1][1]-this.cropping[1][0],3)}{const t=$8(e,this.cropping[0][0],e.shape[2]-this.cropping[0][0]-this.cropping[0][1],3);return $8(t,this.cropping[1][0],e.shape[3]-this.cropping[1][1]-this.cropping[1][0],4)}})}getConfig(){const e={cropping:this.cropping,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}Lte.className="Cropping2D",v3.serialization.registerClass(Lte);class Pte extends N9{constructor(e){var t;super(e),this.DEFAULT_SIZE=[2,2],this.inputSpec=[{ndim:4}],this.size=null==e.size?this.DEFAULT_SIZE:e.size,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,v8(this.dataFormat),this.interpolation=null==e.interpolation?"nearest":e.interpolation,t=this.interpolation,r8(f8,"InterpolationFormat",t)}computeOutputShape(e){if("channelsFirst"===this.dataFormat){const t=null==e[2]?null:this.size[0]*e[2],n=null==e[3]?null:this.size[1]*e[3];return[e[0],e[1],t,n]}{const t=null==e[1]?null:this.size[0]*e[1],n=null==e[2]?null:this.size[1]*e[2];return[e[0],t,n,e[3]]}}call(e,t){return v3.tidy(()=>{let t=T9(e);const n=t.shape;if("channelsFirst"===this.dataFormat){t=v3.transpose(t,[0,2,3,1]);const e=this.size[0]*n[2],i=this.size[1]*n[3],r="nearest"===this.interpolation?v3.image.resizeNearestNeighbor(t,[e,i]):v3.image.resizeBilinear(t,[e,i]);return v3.transpose(r,[0,3,1,2])}{const e=this.size[0]*n[1],i=this.size[1]*n[2];return"nearest"===this.interpolation?v3.image.resizeNearestNeighbor(t,[e,i]):v3.image.resizeBilinear(t,[e,i])}})}getConfig(){const e={size:this.size,dataFormat:this.dataFormat,interpolation:this.interpolation},t=super.getConfig();return Object.assign(e,t),e}}Pte.className="UpSampling2D",v3.serialization.registerClass(Pte);class Bte extends Ste{constructor(e){super(2,e),this.depthwiseKernel=null,this.depthMultiplier=null==e.depthMultiplier?1:e.depthMultiplier,this.depthwiseInitializer=y9(e.depthwiseInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.depthwiseConstraint=J9(e.depthwiseConstraint),this.depthwiseRegularizer=hte(e.depthwiseRegularizer)}build(e){if((e=x9(e)).length<4)throw new U6(`Inputs to DepthwiseConv2D should have rank 4. Received input shape: ${JSON.stringify(e)}.`);const t="channelsFirst"===this.dataFormat?1:3;if(null==e[t]||e[t]<0)throw new U6(`The channel dimension of the inputs to DepthwiseConv2D should be defined, but is not (${e[t]}).`);const n=e[t],i=[this.kernelSize[0],this.kernelSize[1],n,this.depthMultiplier];this.depthwiseKernel=this.addWeight("depthwise_kernel",i,null,this.depthwiseInitializer,this.depthwiseRegularizer,!0,this.depthwiseConstraint),this.useBias?this.bias=this.addWeight("bias",[n*this.depthMultiplier],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return(0,v3.tidy)(()=>{let t= /** * @license * Copyright 2018 Google LLC @@ -11372,7 +11372,7 @@ function gte(e,t){return(0,p3.tidy)(()=>(p8(t),"channelsFirst"===t?p3.transpose( * https://opensource.org/licenses/MIT. * ============================================================================= */ -function(e,t,n=[1,1],i="valid",r,s){return(0,p3.tidy)(()=>{null==r&&(r="channelsLast"),p8(r);let o=gte(e,r);if(4!==e.rank)throw new D6(`Input for depthwiseConv2d is required to be 4-D, but is instead ${e.rank}-D`);if(4!==t.rank)throw new D6(`depthwiseKernel is required to be 4-D, but is instead ${t.rank}-D`);return o=p3.depthwiseConv2d(o,t,n,"same"===i?"same":"valid","NHWC",s),"channelsFirst"===r&&(o=p3.transpose(o,[0,3,1,2])),o})}(e=m9(e),this.depthwiseKernel.read(),this.strides,this.padding,this.dataFormat,null);return this.useBias&&(t=z8(t,this.bias.read(),this.dataFormat)),null!=this.activation&&(t=this.activation.apply(t)),t})}computeOutputShape(e){e=g9(e);const t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2],i="channelsFirst"===this.dataFormat?e[1]*this.depthMultiplier:e[3]*this.depthMultiplier,r=fte(t,this.kernelSize[0],this.padding,this.strides[0]),s=fte(n,this.kernelSize[1],this.padding,this.strides[1]);return"channelsFirst"===this.dataFormat?[e[0],i,r,s]:[e[0],r,s,i]}getConfig(){const e=super.getConfig();return e.depthMultiplier=this.depthMultiplier,e.depthwiseInitializer=d9(this.depthwiseInitializer),e.depthwiseRegularizer=rte(this.depthwiseRegularizer),e.depthwiseConstraint=G9(this.depthwiseRegularizer),e}} +function(e,t,n=[1,1],i="valid",r,s){return(0,v3.tidy)(()=>{null==r&&(r="channelsLast"),v8(r);let o=xte(e,r);if(4!==e.rank)throw new U6(`Input for depthwiseConv2d is required to be 4-D, but is instead ${e.rank}-D`);if(4!==t.rank)throw new U6(`depthwiseKernel is required to be 4-D, but is instead ${t.rank}-D`);return o=v3.depthwiseConv2d(o,t,n,"same"===i?"same":"valid","NHWC",s),"channelsFirst"===r&&(o=v3.transpose(o,[0,3,1,2])),o})}(e=T9(e),this.depthwiseKernel.read(),this.strides,this.padding,this.dataFormat,null);return this.useBias&&(t=X8(t,this.bias.read(),this.dataFormat)),null!=this.activation&&(t=this.activation.apply(t)),t})}computeOutputShape(e){e=x9(e);const t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2],i="channelsFirst"===this.dataFormat?e[1]*this.depthMultiplier:e[3]*this.depthMultiplier,r=bte(t,this.kernelSize[0],this.padding,this.strides[0]),s=bte(n,this.kernelSize[1],this.padding,this.strides[1]);return"channelsFirst"===this.dataFormat?[e[0],i,r,s]:[e[0],r,s,i]}getConfig(){const e=super.getConfig();return e.depthMultiplier=this.depthMultiplier,e.depthwiseInitializer=_9(this.depthwiseInitializer),e.depthwiseRegularizer=cte(this.depthwiseRegularizer),e.depthwiseConstraint=Z9(this.depthwiseRegularizer),e}} /** * @license * Copyright 2018 Google LLC @@ -11382,7 +11382,7 @@ function(e,t,n=[1,1],i="valid",r,s){return(0,p3.tidy)(()=>{null==r&&(r="channels * https://opensource.org/licenses/MIT. * ============================================================================= */ -function Nte(e,t,n,i){if(Array.isArray(e)){if(null!=t||null!=n)throw new D6("When inputs is an array, neither initialState or constants should be provided");null!=i&&(n=e.slice(e.length-i,e.length),e=e.slice(0,e.length-i)),e.length>1&&(t=e.slice(1,e.length)),e=e[0]}function r(e){return null==e||Array.isArray(e)?e:[e]}return{inputs:e,initialState:t=r(t),constants:n=r(n)}}function Dte(e,t,n,i=!1,r,s,o=!1,a=!1){return p3.tidy(()=>{const l=t.shape.length;if(l<3)throw new D6(`Input should be at least 3D, but is ${l}D.`);const u=[1,0].concat(A8(2,l));if(t=p3.transpose(t,u),null!=s)throw new F6("The rnn() functoin of the deeplearn.js backend does not support constants yet.");o&&console.warn("Backend rnn(): the unroll = true option is not applicable to the imperative deeplearn.js backend."),null!=r&&((r=p3.cast(p3.cast(r,"bool"),"float32")).rank===l-1&&(r=p3.expandDims(r,-1)),r=p3.transpose(r,u)),i&&(t=p3.reverse(t,0),null!=r&&(r=p3.reverse(r,0)));const c=[];let d,h=n;const p=t.shape[0],f=p3.unstack(t);let m,g;null!=r&&(m=p3.unstack(r));for(let t=0;te(n,h));if(null==r)d=i[0],h=i[1];else{const e=p3.tidy(()=>{const e=m[t],n=p3.sub(p3.onesLike(e),e);return{output:p3.add(p3.mul(i[0],e),p3.mul(h[0],n)),newStates:h.map((t,r)=>p3.add(p3.mul(i[1][r],e),p3.mul(t,n)))}});d=e.output,h=e.newStates}a&&c.push(d)}if(a){const e=1;g=p3.stack(c,e)}return[d,g,h]})}Rte.className="DepthwiseConv2D",p3.serialization.registerClass(Rte);class Fte extends S9{constructor(e){let t;if(super(e),null==e.cell)throw new D6("cell property is missing for the constructor of RNN.");if(t=Array.isArray(e.cell)?new jte({cells:e.cell}):e.cell,null==t.stateSize)throw new D6("The RNN cell should have an attribute `stateSize` (tuple of integers, one integer per RNN state).");this.cell=t,this.returnSequences=null!=e.returnSequences&&e.returnSequences,this.returnState=null!=e.returnState&&e.returnState,this.goBackwards=null!=e.goBackwards&&e.goBackwards,this._stateful=null!=e.stateful&&e.stateful,this.unroll=null!=e.unroll&&e.unroll,this.supportsMasking=!0,this.inputSpec=[new x9({ndim:3})],this.stateSpec=null,this.states_=null,this.numConstants=null,this.keptStates=[]}getStates(){if(null==this.states_){return A8(0,Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1).map(e=>null)}return this.states_}setStates(e){this.states_=e}computeOutputShape(e){p9(e)&&(e=e[0]);let t=this.cell.stateSize;Array.isArray(t)||(t=[t]);const n=t[0];let i;if(i=this.returnSequences?[e[0],e[1],n]:[e[0],n],this.returnState){const n=[];for(const i of t)n.push([e[0],i]);return[i].concat(n)}return i}computeMask(e,t){return p3.tidy(()=>{Array.isArray(t)&&(t=t[0]);const e=this.returnSequences?t:null;if(this.returnState){const t=this.states.map(e=>null);return[e].concat(t)}return e})}get states(){if(null==this.states_){const e=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1,t=[];for(let n=0;ne.shape[e.shape.length-1]),r))throw new D6(`An initialState was passed that is not compatible with cell.stateSize. Received stateSpec=${this.stateSpec}; However cell.stateSize is ${this.cell.stateSize}`)}else this.stateSpec=r.map(e=>new x9({shape:[null,e]}));this.stateful&&this.resetStates()}resetStates(e,t=!1){(0,p3.tidy)(()=>{if(!this.stateful)throw new R6("Cannot call resetStates() on an RNN Layer that is not stateful.");const n=this.inputSpec[0].shape[0];if(null==n)throw new D6("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(null==this.states_)Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(e=>p3.zeros([n,e])):this.states_=[p3.zeros([n,this.cell.stateSize])];else if(null==e)p3.dispose(this.states_),null!=this.keptStates&&(p3.dispose(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(e=>p3.zeros([n,e])):this.states_[0]=p3.zeros([n,this.cell.stateSize]);else{if(Array.isArray(e)||(e=[e]),e.length!==this.states_.length)throw new D6(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${e.length} state value(s). Input received: ${e}`);!0===t?this.keptStates.push(this.states_.slice()):p3.dispose(this.states_);for(let t=0;tp3.keep(e.clone()))})}apply(e,t){let n=null==t?null:t.initialState,i=null==t?null:t.constants;null==t&&(t={});const r=Nte(e,n,i,this.numConstants);e=r.inputs,n=r.initialState,i=r.constants;let s=[],o=[];if(null!=n){t.initialState=n,s=s.concat(n),this.stateSpec=[];for(const e of n)this.stateSpec.push(new x9({shape:e.shape}));o=o.concat(this.stateSpec)}null!=i&&(t.constants=i,s=s.concat(i),this.numConstants=i.length);if(s[0]instanceof E9){const n=[e].concat(s),i=this.inputSpec.concat(o),r=this.inputSpec;this.inputSpec=i;const a=super.apply(n,t);return this.inputSpec=r,a}return super.apply(e,t)}call(e,t){return(0,p3.tidy)(()=>{const n=null==t?null:t.mask,i=null==t?null:t.training;let r=null==t?null:t.initialState;e=m9(e),null==r&&(r=this.stateful?this.states_:this.getInitialState(e));const s=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;if(r.length!==s)throw new D6(`RNN Layer has ${s} state(s) but was passed ${r.length} initial state(s).`);this.unroll&&console.warn("Ignoring unroll = true for RNN layer, due to imperative backend.");const o={training:i},a=Dte((e,t)=>{const n=this.cell.call([e].concat(t),o);return[n[0],n.slice(1)]},e,r,this.goBackwards,n,null,this.unroll,this.returnSequences),l=a[0],u=a[1],c=a[2];this.stateful&&this.resetStates(c,i);const d=this.returnSequences?u:l;return this.returnState?[d].concat(c):d})}getInitialState(e){return(0,p3.tidy)(()=>{let t=p3.zeros(e.shape);return t=p3.sum(t,[1,2]),t=M8(t),Array.isArray(this.cell.stateSize)?this.cell.stateSize.map(e=>e>1?L8(t,[1,e]):t):this.cell.stateSize>1?[L8(t,[1,this.cell.stateSize])]:[t]})}get trainableWeights(){return this.trainable?this.cell.trainableWeights:[]}get nonTrainableWeights(){return this.trainable?this.cell.nonTrainableWeights:this.cell.weights}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.cell&&this.cell.setFastWeightInitDuringBuild(e)}getConfig(){const e=super.getConfig(),t={returnSequences:this.returnSequences,returnState:this.returnState,goBackwards:this.goBackwards,stateful:this.stateful,unroll:this.unroll};null!=this.numConstants&&(t.numConstants=this.numConstants);const n=this.cell.getConfig();return this.getClassName()===Fte.className&&(t.cell={className:this.cell.getClassName(),config:n}),Object.assign(Object.assign(Object.assign({},n),e),t)}static fromConfig(e,t,n={}){const i=w7(t.cell,n);return new e(Object.assign(t,{cell:i}))}}Fte.className="RNN",p3.serialization.registerClass(Fte);class Lte extends S9{}class Pte extends Lte{constructor(e){super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=e.units,e8(this.units,"units"),this.activation=Jee(null==e.activation?this.DEFAULT_ACTIVATION:e.activation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=h9(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=h9(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=h9(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=ote(e.kernelRegularizer),this.recurrentRegularizer=ote(e.recurrentRegularizer),this.biasRegularizer=ote(e.biasRegularizer),this.kernelConstraint=W9(e.kernelConstraint),this.recurrentConstraint=W9(e.recurrentConstraint),this.biasConstraint=W9(e.biasConstraint),this.dropout=w8([1,I8([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=w8([1,I8([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){e=g9(e),this.kernel=this.addWeight("kernel",[e[e.length-1],this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return(0,p3.tidy)(()=>{if(2!==e.length)throw new D6(`SimpleRNNCell expects 2 input Tensors, got ${e.length}.`);let n=e[1];e=e[0];const i=null!=t.training&&t.training;let r;0p3.onesLike(e),rate:this.dropout,training:i,dropoutFunc:this.dropoutFunc})),0p3.onesLike(n),rate:this.recurrentDropout,training:i,dropoutFunc:this.dropoutFunc}));const s=this.dropoutMask,o=this.recurrentDropoutMask;r=B8(null!=s?p3.mul(e,s):e,this.kernel.read()),null!=this.bias&&(r=z8(r,this.bias.read())),null!=o&&(n=p3.mul(n,o));let a=p3.add(r,B8(n,this.recurrentKernel.read()));return null!=this.activation&&(a=this.activation.apply(a)),[a,a]})}getConfig(){const e=super.getConfig(),t={units:this.units,activation:Zee(this.activation),useBias:this.useBias,kernelInitializer:d9(this.kernelInitializer),recurrentInitializer:d9(this.recurrentInitializer),biasInitializer:d9(this.biasInitializer),kernelRegularizer:rte(this.kernelRegularizer),recurrentRegularizer:rte(this.recurrentRegularizer),biasRegularizer:rte(this.biasRegularizer),activityRegularizer:rte(this.activityRegularizer),kernelConstraint:G9(this.kernelConstraint),recurrentConstraint:G9(this.recurrentConstraint),biasConstraint:G9(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout};return Object.assign(Object.assign({},e),t)}}Pte.className="SimpleRNNCell",p3.serialization.registerClass(Pte);class Bte extends Fte{constructor(e){e.cell=new Pte(e),super(e)}call(e,t){return(0,p3.tidy)(()=>{null!=this.cell.dropoutMask&&(p3.dispose(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(p3.dispose(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,i=null==t?null:t.training,r=null==t?null:t.initialState;return super.call(e,{mask:n,training:i,initialState:r})})}static fromConfig(e,t){return new e(t)}}Bte.className="SimpleRNN",p3.serialization.registerClass(Bte);class $te extends Lte{constructor(e){if(super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",e.resetAfter)throw new D6("GRUCell does not support reset_after parameter set to true.");this.units=e.units,e8(this.units,"units"),this.activation=Jee(void 0===e.activation?this.DEFAULT_ACTIVATION:e.activation),this.recurrentActivation=Jee(void 0===e.recurrentActivation?this.DEFAULT_RECURRENT_ACTIVATION:e.recurrentActivation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=h9(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=h9(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=h9(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=ote(e.kernelRegularizer),this.recurrentRegularizer=ote(e.recurrentRegularizer),this.biasRegularizer=ote(e.biasRegularizer),this.kernelConstraint=W9(e.kernelConstraint),this.recurrentConstraint=W9(e.recurrentConstraint),this.biasConstraint=W9(e.biasConstraint),this.dropout=w8([1,I8([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=w8([1,I8([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.implementation=e.implementation,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){const t=(e=g9(e))[e.length-1];this.kernel=this.addWeight("kernel",[t,3*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,3*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[3*this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return(0,p3.tidy)(()=>{if(2!==e.length)throw new D6(`GRUCell expects 2 input Tensors (inputs, h, c), got ${e.length}.`);const n=null!=t.training&&t.training;let i=e[1];e=e[0],0p3.onesLike(e),rate:this.dropout,training:n,count:3,dropoutFunc:this.dropoutFunc})),0p3.onesLike(i),rate:this.recurrentDropout,training:n,count:3,dropoutFunc:this.dropoutFunc}));const r=this.dropoutMask,s=this.recurrentDropoutMask;let o,a,l;0{null!=this.cell.dropoutMask&&(p3.dispose(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(p3.dispose(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,i=null==t?null:t.training,r=null==t?null:t.initialState;return super.call(e,{mask:n,training:i,initialState:r})})}static fromConfig(e,t){return 0===t.implmentation&&(t.implementation=1),new e(t)}}Ute.className="GRU",p3.serialization.registerClass(Ute);class Vte extends Lte{constructor(e){super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=e.units,e8(this.units,"units"),this.activation=Jee(void 0===e.activation?this.DEFAULT_ACTIVATION:e.activation),this.recurrentActivation=Jee(void 0===e.recurrentActivation?this.DEFAULT_RECURRENT_ACTIVATION:e.recurrentActivation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=h9(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=h9(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=h9(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.unitForgetBias=e.unitForgetBias,this.kernelRegularizer=ote(e.kernelRegularizer),this.recurrentRegularizer=ote(e.recurrentRegularizer),this.biasRegularizer=ote(e.biasRegularizer),this.kernelConstraint=W9(e.kernelConstraint),this.recurrentConstraint=W9(e.recurrentConstraint),this.biasConstraint=W9(e.biasConstraint),this.dropout=w8([1,I8([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=w8([1,I8([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.implementation=e.implementation,this.stateSize=[this.units,this.units],this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){var t;const n=(e=g9(e))[e.length-1];let i;if(this.kernel=this.addWeight("kernel",[n,4*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,4*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){if(this.unitForgetBias){const e=this.biasInitializer,n=this.units;i=new((t=class extends W8{apply(t,i){const r=e.apply([n]),s=(new q8).apply([n]),o=e.apply([2*n]);return F8(F8(r,s),o)}}).className="CustomInit",t)}else i=this.biasInitializer;this.bias=this.addWeight("bias",[4*this.units],null,i,this.biasRegularizer,!0,this.biasConstraint)}else this.bias=null;this.built=!0}call(e,t){return(0,p3.tidy)(()=>{const n=null!=t.training&&t.training;if(3!==e.length)throw new D6(`LSTMCell expects 3 input Tensors (inputs, h, c), got ${e.length}.`);let i=e[1];const r=e[2];e=e[0],0p3.onesLike(e),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc})),0p3.onesLike(i),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const s=this.dropoutMask,o=this.recurrentDropoutMask;let a,l,u,c;0{null!=this.cell.dropoutMask&&(p3.dispose(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(p3.dispose(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,i=null==t?null:t.training,r=null==t?null:t.initialState;return super.call(e,{mask:n,training:i,initialState:r})})}static fromConfig(e,t){return 0===t.implmentation&&(t.implementation=1),new e(t)}}zte.className="LSTM",p3.serialization.registerClass(zte);class jte extends Lte{constructor(e){super(e),this.cells=e.cells}get stateSize(){const e=[];for(const t of this.cells.slice().reverse())Array.isArray(t.stateSize)?e.push(...t.stateSize):e.push(t.stateSize);return e}call(e,t){return(0,p3.tidy)(()=>{let n=e.slice(1);const i=[];for(const e of this.cells.slice().reverse())Array.isArray(e.stateSize)?i.push(n.splice(0,e.stateSize.length)):i.push(n.splice(0,1));i.reverse();const r=[];let s;for(let o=0;o{_8(`RNNCell_${i}`,()=>{n.build(e),t=Array.isArray(n.stateSize)?n.stateSize[0]:n.stateSize,e=[e[0],t]})}),this.built=!0}getConfig(){const e=super.getConfig(),t={cells:this.cells.map(e=>({className:e.getClassName(),config:e.getConfig()}))};return Object.assign(Object.assign({},e),t)}static fromConfig(e,t,n={}){const i=[];for(const e of t.cells)i.push(w7(e,n));return new e({cells:i})}get trainableWeights(){if(!this.trainable)return[];const e=[];for(const t of this.cells)e.push(...t.trainableWeights);return e}get nonTrainableWeights(){const e=[];for(const t of this.cells)e.push(...t.nonTrainableWeights);if(!this.trainable){const t=[];for(const e of this.cells)t.push(...e.trainableWeights);return t.concat(e)}return e}getWeights(){const e=[];for(const t of this.cells)e.push(...t.weights);return b9(e)}setWeights(e){const t=[];for(const n of this.cells){const i=n.weights.length,r=e.splice(i);for(let e=0;enull!=s?s(t(),n):j8(t(),n),a=()=>Y8(o,t,i);if(!r||r<=1)return p3.keep(a().clone());return Array(r).fill(void 0).map(a).map(e=>p3.keep(e.clone()))}jte.className="StackedRNNCells",p3.serialization.registerClass(jte); +function $te(e,t,n,i){if(Array.isArray(e)){if(null!=t||null!=n)throw new U6("When inputs is an array, neither initialState or constants should be provided");null!=i&&(n=e.slice(e.length-i,e.length),e=e.slice(0,e.length-i)),e.length>1&&(t=e.slice(1,e.length)),e=e[0]}function r(e){return null==e||Array.isArray(e)?e:[e]}return{inputs:e,initialState:t=r(t),constants:n=r(n)}}function Ute(e,t,n,i=!1,r,s,o=!1,a=!1){return v3.tidy(()=>{const l=t.shape.length;if(l<3)throw new U6(`Input should be at least 3D, but is ${l}D.`);const u=[1,0].concat(R8(2,l));if(t=v3.transpose(t,u),null!=s)throw new V6("The rnn() functoin of the deeplearn.js backend does not support constants yet.");o&&console.warn("Backend rnn(): the unroll = true option is not applicable to the imperative deeplearn.js backend."),null!=r&&((r=v3.cast(v3.cast(r,"bool"),"float32")).rank===l-1&&(r=v3.expandDims(r,-1)),r=v3.transpose(r,u)),i&&(t=v3.reverse(t,0),null!=r&&(r=v3.reverse(r,0)));const c=[];let d,h=n;const p=t.shape[0],f=v3.unstack(t);let m,g;null!=r&&(m=v3.unstack(r));for(let t=0;te(n,h));if(null==r)d=i[0],h=i[1];else{const e=v3.tidy(()=>{const e=m[t],n=v3.sub(v3.onesLike(e),e);return{output:v3.add(v3.mul(i[0],e),v3.mul(h[0],n)),newStates:h.map((t,r)=>v3.add(v3.mul(i[1][r],e),v3.mul(t,n)))}});d=e.output,h=e.newStates}a&&c.push(d)}if(a){const e=1;g=v3.stack(c,e)}return[d,g,h]})}Bte.className="DepthwiseConv2D",v3.serialization.registerClass(Bte);class Vte extends N9{constructor(e){let t;if(super(e),null==e.cell)throw new U6("cell property is missing for the constructor of RNN.");if(t=Array.isArray(e.cell)?new qte({cells:e.cell}):e.cell,null==t.stateSize)throw new U6("The RNN cell should have an attribute `stateSize` (tuple of integers, one integer per RNN state).");this.cell=t,this.returnSequences=null!=e.returnSequences&&e.returnSequences,this.returnState=null!=e.returnState&&e.returnState,this.goBackwards=null!=e.goBackwards&&e.goBackwards,this._stateful=null!=e.stateful&&e.stateful,this.unroll=null!=e.unroll&&e.unroll,this.supportsMasking=!0,this.inputSpec=[new C9({ndim:3})],this.stateSpec=null,this.states_=null,this.numConstants=null,this.keptStates=[]}getStates(){if(null==this.states_){return R8(0,Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1).map(e=>null)}return this.states_}setStates(e){this.states_=e}computeOutputShape(e){v9(e)&&(e=e[0]);let t=this.cell.stateSize;Array.isArray(t)||(t=[t]);const n=t[0];let i;if(i=this.returnSequences?[e[0],e[1],n]:[e[0],n],this.returnState){const n=[];for(const i of t)n.push([e[0],i]);return[i].concat(n)}return i}computeMask(e,t){return v3.tidy(()=>{Array.isArray(t)&&(t=t[0]);const e=this.returnSequences?t:null;if(this.returnState){const t=this.states.map(e=>null);return[e].concat(t)}return e})}get states(){if(null==this.states_){const e=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1,t=[];for(let n=0;ne.shape[e.shape.length-1]),r))throw new U6(`An initialState was passed that is not compatible with cell.stateSize. Received stateSpec=${this.stateSpec}; However cell.stateSize is ${this.cell.stateSize}`)}else this.stateSpec=r.map(e=>new C9({shape:[null,e]}));this.stateful&&this.resetStates()}resetStates(e,t=!1){(0,v3.tidy)(()=>{if(!this.stateful)throw new B6("Cannot call resetStates() on an RNN Layer that is not stateful.");const n=this.inputSpec[0].shape[0];if(null==n)throw new U6("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(null==this.states_)Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(e=>v3.zeros([n,e])):this.states_=[v3.zeros([n,this.cell.stateSize])];else if(null==e)v3.dispose(this.states_),null!=this.keptStates&&(v3.dispose(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(e=>v3.zeros([n,e])):this.states_[0]=v3.zeros([n,this.cell.stateSize]);else{if(Array.isArray(e)||(e=[e]),e.length!==this.states_.length)throw new U6(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${e.length} state value(s). Input received: ${e}`);!0===t?this.keptStates.push(this.states_.slice()):v3.dispose(this.states_);for(let t=0;tv3.keep(e.clone()))})}apply(e,t){let n=null==t?null:t.initialState,i=null==t?null:t.constants;null==t&&(t={});const r=$te(e,n,i,this.numConstants);e=r.inputs,n=r.initialState,i=r.constants;let s=[],o=[];if(null!=n){t.initialState=n,s=s.concat(n),this.stateSpec=[];for(const e of n)this.stateSpec.push(new C9({shape:e.shape}));o=o.concat(this.stateSpec)}null!=i&&(t.constants=i,s=s.concat(i),this.numConstants=i.length);if(s[0]instanceof O9){const n=[e].concat(s),i=this.inputSpec.concat(o),r=this.inputSpec;this.inputSpec=i;const a=super.apply(n,t);return this.inputSpec=r,a}return super.apply(e,t)}call(e,t){return(0,v3.tidy)(()=>{const n=null==t?null:t.mask,i=null==t?null:t.training;let r=null==t?null:t.initialState;e=T9(e),null==r&&(r=this.stateful?this.states_:this.getInitialState(e));const s=Array.isArray(this.cell.stateSize)?this.cell.stateSize.length:1;if(r.length!==s)throw new U6(`RNN Layer has ${s} state(s) but was passed ${r.length} initial state(s).`);this.unroll&&console.warn("Ignoring unroll = true for RNN layer, due to imperative backend.");const o={training:i},a=Ute((e,t)=>{const n=this.cell.call([e].concat(t),o);return[n[0],n.slice(1)]},e,r,this.goBackwards,n,null,this.unroll,this.returnSequences),l=a[0],u=a[1],c=a[2];this.stateful&&this.resetStates(c,i);const d=this.returnSequences?u:l;return this.returnState?[d].concat(c):d})}getInitialState(e){return(0,v3.tidy)(()=>{let t=v3.zeros(e.shape);return t=v3.sum(t,[1,2]),t=L8(t),Array.isArray(this.cell.stateSize)?this.cell.stateSize.map(e=>e>1?z8(t,[1,e]):t):this.cell.stateSize>1?[z8(t,[1,this.cell.stateSize])]:[t]})}get trainableWeights(){return this.trainable?this.cell.trainableWeights:[]}get nonTrainableWeights(){return this.trainable?this.cell.nonTrainableWeights:this.cell.weights}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.cell&&this.cell.setFastWeightInitDuringBuild(e)}getConfig(){const e=super.getConfig(),t={returnSequences:this.returnSequences,returnState:this.returnState,goBackwards:this.goBackwards,stateful:this.stateful,unroll:this.unroll};null!=this.numConstants&&(t.numConstants=this.numConstants);const n=this.cell.getConfig();return this.getClassName()===Vte.className&&(t.cell={className:this.cell.getClassName(),config:n}),Object.assign(Object.assign(Object.assign({},n),e),t)}static fromConfig(e,t,n={}){const i=M7(t.cell,n);return new e(Object.assign(t,{cell:i}))}}Vte.className="RNN",v3.serialization.registerClass(Vte);class zte extends N9{}class jte extends zte{constructor(e){super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=e.units,o8(this.units,"units"),this.activation=ste(null==e.activation?this.DEFAULT_ACTIVATION:e.activation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=y9(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=y9(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=y9(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=hte(e.kernelRegularizer),this.recurrentRegularizer=hte(e.recurrentRegularizer),this.biasRegularizer=hte(e.biasRegularizer),this.kernelConstraint=J9(e.kernelConstraint),this.recurrentConstraint=J9(e.recurrentConstraint),this.biasConstraint=J9(e.biasConstraint),this.dropout=M8([1,k8([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=M8([1,k8([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){e=x9(e),this.kernel=this.addWeight("kernel",[e[e.length-1],this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return(0,v3.tidy)(()=>{if(2!==e.length)throw new U6(`SimpleRNNCell expects 2 input Tensors, got ${e.length}.`);let n=e[1];e=e[0];const i=null!=t.training&&t.training;let r;0v3.onesLike(e),rate:this.dropout,training:i,dropoutFunc:this.dropoutFunc})),0v3.onesLike(n),rate:this.recurrentDropout,training:i,dropoutFunc:this.dropoutFunc}));const s=this.dropoutMask,o=this.recurrentDropoutMask;r=Y8(null!=s?v3.mul(e,s):e,this.kernel.read()),null!=this.bias&&(r=X8(r,this.bias.read())),null!=o&&(n=v3.mul(n,o));let a=v3.add(r,Y8(n,this.recurrentKernel.read()));return null!=this.activation&&(a=this.activation.apply(a)),[a,a]})}getConfig(){const e=super.getConfig(),t={units:this.units,activation:ite(this.activation),useBias:this.useBias,kernelInitializer:_9(this.kernelInitializer),recurrentInitializer:_9(this.recurrentInitializer),biasInitializer:_9(this.biasInitializer),kernelRegularizer:cte(this.kernelRegularizer),recurrentRegularizer:cte(this.recurrentRegularizer),biasRegularizer:cte(this.biasRegularizer),activityRegularizer:cte(this.activityRegularizer),kernelConstraint:Z9(this.kernelConstraint),recurrentConstraint:Z9(this.recurrentConstraint),biasConstraint:Z9(this.biasConstraint),dropout:this.dropout,recurrentDropout:this.recurrentDropout};return Object.assign(Object.assign({},e),t)}}jte.className="SimpleRNNCell",v3.serialization.registerClass(jte);class Yte extends Vte{constructor(e){e.cell=new jte(e),super(e)}call(e,t){return(0,v3.tidy)(()=>{null!=this.cell.dropoutMask&&(v3.dispose(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(v3.dispose(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,i=null==t?null:t.training,r=null==t?null:t.initialState;return super.call(e,{mask:n,training:i,initialState:r})})}static fromConfig(e,t){return new e(t)}}Yte.className="SimpleRNN",v3.serialization.registerClass(Yte);class Gte extends zte{constructor(e){if(super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",e.resetAfter)throw new U6("GRUCell does not support reset_after parameter set to true.");this.units=e.units,o8(this.units,"units"),this.activation=ste(void 0===e.activation?this.DEFAULT_ACTIVATION:e.activation),this.recurrentActivation=ste(void 0===e.recurrentActivation?this.DEFAULT_RECURRENT_ACTIVATION:e.recurrentActivation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=y9(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=y9(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=y9(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelRegularizer=hte(e.kernelRegularizer),this.recurrentRegularizer=hte(e.recurrentRegularizer),this.biasRegularizer=hte(e.biasRegularizer),this.kernelConstraint=J9(e.kernelConstraint),this.recurrentConstraint=J9(e.recurrentConstraint),this.biasConstraint=J9(e.biasConstraint),this.dropout=M8([1,k8([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=M8([1,k8([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.implementation=e.implementation,this.stateSize=this.units,this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){const t=(e=x9(e))[e.length-1];this.kernel=this.addWeight("kernel",[t,3*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,3*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias?this.bias=this.addWeight("bias",[3*this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint):this.bias=null,this.built=!0}call(e,t){return(0,v3.tidy)(()=>{if(2!==e.length)throw new U6(`GRUCell expects 2 input Tensors (inputs, h, c), got ${e.length}.`);const n=null!=t.training&&t.training;let i=e[1];e=e[0],0v3.onesLike(e),rate:this.dropout,training:n,count:3,dropoutFunc:this.dropoutFunc})),0v3.onesLike(i),rate:this.recurrentDropout,training:n,count:3,dropoutFunc:this.dropoutFunc}));const r=this.dropoutMask,s=this.recurrentDropoutMask;let o,a,l;0{null!=this.cell.dropoutMask&&(v3.dispose(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(v3.dispose(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,i=null==t?null:t.training,r=null==t?null:t.initialState;return super.call(e,{mask:n,training:i,initialState:r})})}static fromConfig(e,t){return 0===t.implmentation&&(t.implementation=1),new e(t)}}Hte.className="GRU",v3.serialization.registerClass(Hte);class Wte extends zte{constructor(e){super(e),this.DEFAULT_ACTIVATION="tanh",this.DEFAULT_RECURRENT_ACTIVATION="hardSigmoid",this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_RECURRENT_INITIALIZER="orthogonal",this.DEFAULT_BIAS_INITIALIZER="zeros",this.units=e.units,o8(this.units,"units"),this.activation=ste(void 0===e.activation?this.DEFAULT_ACTIVATION:e.activation),this.recurrentActivation=ste(void 0===e.recurrentActivation?this.DEFAULT_RECURRENT_ACTIVATION:e.recurrentActivation),this.useBias=null==e.useBias||e.useBias,this.kernelInitializer=y9(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.recurrentInitializer=y9(e.recurrentInitializer||this.DEFAULT_RECURRENT_INITIALIZER),this.biasInitializer=y9(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.unitForgetBias=e.unitForgetBias,this.kernelRegularizer=hte(e.kernelRegularizer),this.recurrentRegularizer=hte(e.recurrentRegularizer),this.biasRegularizer=hte(e.biasRegularizer),this.kernelConstraint=J9(e.kernelConstraint),this.recurrentConstraint=J9(e.recurrentConstraint),this.biasConstraint=J9(e.biasConstraint),this.dropout=M8([1,k8([0,null==e.dropout?0:e.dropout])]),this.recurrentDropout=M8([1,k8([0,null==e.recurrentDropout?0:e.recurrentDropout])]),this.dropoutFunc=e.dropoutFunc,this.implementation=e.implementation,this.stateSize=[this.units,this.units],this.dropoutMask=null,this.recurrentDropoutMask=null}build(e){var t;const n=(e=x9(e))[e.length-1];let i;if(this.kernel=this.addWeight("kernel",[n,4*this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.recurrentKernel=this.addWeight("recurrent_kernel",[this.units,4*this.units],null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){if(this.unitForgetBias){const e=this.biasInitializer,n=this.units;i=new((t=class extends J8{apply(t,i){const r=e.apply([n]),s=(new t9).apply([n]),o=e.apply([2*n]);return V8(V8(r,s),o)}}).className="CustomInit",t)}else i=this.biasInitializer;this.bias=this.addWeight("bias",[4*this.units],null,i,this.biasRegularizer,!0,this.biasConstraint)}else this.bias=null;this.built=!0}call(e,t){return(0,v3.tidy)(()=>{const n=null!=t.training&&t.training;if(3!==e.length)throw new U6(`LSTMCell expects 3 input Tensors (inputs, h, c), got ${e.length}.`);let i=e[1];const r=e[2];e=e[0],0v3.onesLike(e),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc})),0v3.onesLike(i),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const s=this.dropoutMask,o=this.recurrentDropoutMask;let a,l,u,c;0{null!=this.cell.dropoutMask&&(v3.dispose(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(v3.dispose(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null);const n=null==t?null:t.mask,i=null==t?null:t.training,r=null==t?null:t.initialState;return super.call(e,{mask:n,training:i,initialState:r})})}static fromConfig(e,t){return 0===t.implmentation&&(t.implementation=1),new e(t)}}Xte.className="LSTM",v3.serialization.registerClass(Xte);class qte extends zte{constructor(e){super(e),this.cells=e.cells}get stateSize(){const e=[];for(const t of this.cells.slice().reverse())Array.isArray(t.stateSize)?e.push(...t.stateSize):e.push(t.stateSize);return e}call(e,t){return(0,v3.tidy)(()=>{let n=e.slice(1);const i=[];for(const e of this.cells.slice().reverse())Array.isArray(e.stateSize)?i.push(n.splice(0,e.stateSize.length)):i.push(n.splice(0,1));i.reverse();const r=[];let s;for(let o=0;o{E8(`RNNCell_${i}`,()=>{n.build(e),t=Array.isArray(n.stateSize)?n.stateSize[0]:n.stateSize,e=[e[0],t]})}),this.built=!0}getConfig(){const e=super.getConfig(),t={cells:this.cells.map(e=>({className:e.getClassName(),config:e.getConfig()}))};return Object.assign(Object.assign({},e),t)}static fromConfig(e,t,n={}){const i=[];for(const e of t.cells)i.push(M7(e,n));return new e({cells:i})}get trainableWeights(){if(!this.trainable)return[];const e=[];for(const t of this.cells)e.push(...t.trainableWeights);return e}get nonTrainableWeights(){const e=[];for(const t of this.cells)e.push(...t.nonTrainableWeights);if(!this.trainable){const t=[];for(const e of this.cells)t.push(...e.trainableWeights);return t.concat(e)}return e}getWeights(){const e=[];for(const t of this.cells)e.push(...t.weights);return A9(e)}setWeights(e){const t=[];for(const n of this.cells){const i=n.weights.length,r=e.splice(i);for(let e=0;enull!=s?s(t(),n):q8(t(),n),a=()=>K8(o,t,i);if(!r||r<=1)return v3.keep(a().clone());return Array(r).fill(void 0).map(a).map(e=>v3.keep(e.clone()))}qte.className="StackedRNNCells",v3.serialization.registerClass(qte); /** * @license * Copyright 2020 Google LLC @@ -11392,7 +11392,7 @@ function Nte(e,t,n,i){if(Array.isArray(e)){if(null!=t||null!=n)throw new D6("Whe * https://opensource.org/licenses/MIT. * ============================================================================= */ -var Gte=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r{if(null!=this.cell.dropoutMask&&(p3.dispose(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(p3.dispose(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null),t&&t.constants)throw new D6("ConvRNN2D cell does not support constants");const n=null==t?null:t.mask,i=null==t?null:t.training,r=null==t?null:t.initialState;return super.call(e,{mask:n,training:i,initialState:r})})}computeOutputShape(e){let t=this.computeSingleOutputShape(e);return this.returnSequences||(t=[t[0],...t.slice(2)]),this.returnState&&(t=[t,...Array(2).fill([e[0],...t.slice(-3)])]),t}getInitialState(e){return p3.tidy(()=>{const{stateSize:t}=this.cell,n=e.shape,i=this.computeSingleOutputShape(n),r=[i[0],...i.slice(2)],s=p3.zeros(r);return Array.isArray(t)?Array(t.length).fill(s):[s]})}resetStates(e,t=!1){p3.tidy(()=>{if(!this.stateful)throw new R6("Cannot call resetStates() on an RNN Layer that is not stateful.");const n=this.inputSpec[0].shape,i=this.computeSingleOutputShape(n),r=[i[0],...i.slice(2)];if(null==n[0])throw new D6("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(null==this.getStates())Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(()=>p3.zeros(r)):this.states_=[p3.zeros(r)];else if(null==e)p3.dispose(this.states_),null!=this.keptStates&&(p3.dispose(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(()=>p3.zeros(r)):this.states_[0]=p3.zeros(r);else{if(Array.isArray(e)||(e=[e]),e.length!==this.states_.length)throw new D6(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${e.length} state value(s). Input received: ${e}`);t?this.keptStates.push(this.states_.slice()):p3.dispose(this.states_);for(let t=0;tp3.keep(e.clone()))})}computeSingleOutputShape(e){const{dataFormat:t,filters:n,kernelSize:i,padding:r,strides:s,dilationRate:o}=this.cell,a="channelsFirst"===t,l=e[a?3:2],u=e[a?4:3],c=fte(l,i[0],r,s[0],o[0]),d=fte(u,i[1],r,s[1],o[1]);return[...e.slice(0,2),...a?[n,c,d]:[c,d,n]]}}Hte.className="ConvRNN2D";class Wte extends Vte{constructor(e){const{filters:t,kernelSize:n,strides:i,padding:r,dataFormat:s,dilationRate:o}=e;super(Object.assign(Object.assign({},e),{units:t})),this.filters=t,e8(this.filters,"filters"),this.kernelSize=pte(n,2,"kernelSize"),this.kernelSize.forEach(e=>e8(e,"kernelSize")),this.strides=pte(i||1,2,"strides"),this.strides.forEach(e=>e8(e,"strides")),this.padding=r||"valid",f8(this.padding),this.dataFormat=s||"channelsLast",p8(this.dataFormat),this.dilationRate=pte(o||1,2,"dilationRate"),this.dilationRate.forEach(e=>e8(e,"dilationRate"))}build(e){var t;e=g9(e);const n="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[n])throw new D6(`The channel dimension of the input should be defined. Found ${e[n]}`);const i=e[n],r=this.kernelSize.concat([i,4*this.filters]);this.kernel=this.addWeight("kernel",r,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint);const s=this.kernelSize.concat([this.filters,4*this.filters]);if(this.recurrentKernel=this.addWeight("recurrent_kernel",s,null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){let e;if(this.unitForgetBias){const n=this.biasInitializer,i=this.filters;e=new((t=class extends W8{apply(e,t){return D8([n.apply([i]),p3.ones([i]),n.apply([2*i])])}}).className="CustomInit",t)}else e=this.biasInitializer;this.bias=this.addWeight("bias",[4*this.filters],null,e,this.biasRegularizer,!0,this.biasConstraint)}this.built=!0}call(e,t){return p3.tidy(()=>{if(3!==e.length)throw new D6(`ConvLSTM2DCell expects 3 input Tensors (inputs, h, c), got ${e.length}.`);const n=t.training||!1,i=e[0],r=e[1],s=e[2];0p3.onesLike(i),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const o=this.dropoutMask,a=(e,t,n)=>t&&t[n]?p3.mul(t[n],e):e;let l=a(i,o,0),u=a(i,o,1),c=a(i,o,2),d=a(i,o,3);0p3.onesLike(r),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const h=this.recurrentDropoutMask;let p=a(r,h,0),f=a(r,h,1),m=a(r,h,2),g=a(r,h,3);const[_,y,v,b]=p3.split(this.kernel.read(),4,3),[T,x,E,w]=this.useBias?p3.split(this.bias.read(),4):[null,null,null,null];l=this.inputConv(l,_,T,this.padding),u=this.inputConv(u,y,x,this.padding),c=this.inputConv(c,v,E,this.padding),d=this.inputConv(d,b,w,this.padding);const[I,A,S,C]=p3.split(this.recurrentKernel.read(),4,3);p=this.recurrentConv(p,I),f=this.recurrentConv(f,A),m=this.recurrentConv(m,S),g=this.recurrentConv(g,C);const O=this.recurrentActivation.apply(p3.add(l,p)),M=this.recurrentActivation.apply(p3.add(u,f)),k=p3.add(p3.mul(M,s),p3.mul(O,this.activation.apply(p3.add(c,m)))),R=p3.mul(this.recurrentActivation.apply(p3.add(d,g)),this.activation.apply(k));return[R,R,k]})}getConfig(){const e=super.getConfig(),{units:t}=e,n=Gte(e,["units"]),i={filters:this.filters,kernelSize:this.kernelSize,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,strides:this.strides};return Object.assign(Object.assign({},n),i)}inputConv(e,t,n,i){const r=p3.conv2d(e,t,this.strides,i||"valid","channelsFirst"===this.dataFormat?"NCHW":"NHWC",this.dilationRate);return n?z8(r,n,this.dataFormat):r}recurrentConv(e,t){return p3.conv2d(e,t,1,"same","channelsFirst"===this.dataFormat?"NCHW":"NHWC")}}Wte.className="ConvLSTM2DCell",p3.serialization.registerClass(Wte);class Xte extends Hte{constructor(e){const t=new Wte(e);super(Object.assign(Object.assign({},e),{cell:t}))}static fromConfig(e,t){return new e(t)}}Xte.className="ConvLSTM2D",p3.serialization.registerClass(Xte); +var Zte=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r{if(null!=this.cell.dropoutMask&&(v3.dispose(this.cell.dropoutMask),this.cell.dropoutMask=null),null!=this.cell.recurrentDropoutMask&&(v3.dispose(this.cell.recurrentDropoutMask),this.cell.recurrentDropoutMask=null),t&&t.constants)throw new U6("ConvRNN2D cell does not support constants");const n=null==t?null:t.mask,i=null==t?null:t.training,r=null==t?null:t.initialState;return super.call(e,{mask:n,training:i,initialState:r})})}computeOutputShape(e){let t=this.computeSingleOutputShape(e);return this.returnSequences||(t=[t[0],...t.slice(2)]),this.returnState&&(t=[t,...Array(2).fill([e[0],...t.slice(-3)])]),t}getInitialState(e){return v3.tidy(()=>{const{stateSize:t}=this.cell,n=e.shape,i=this.computeSingleOutputShape(n),r=[i[0],...i.slice(2)],s=v3.zeros(r);return Array.isArray(t)?Array(t.length).fill(s):[s]})}resetStates(e,t=!1){v3.tidy(()=>{if(!this.stateful)throw new B6("Cannot call resetStates() on an RNN Layer that is not stateful.");const n=this.inputSpec[0].shape,i=this.computeSingleOutputShape(n),r=[i[0],...i.slice(2)];if(null==n[0])throw new U6("If an RNN is stateful, it needs to know its batch size. Specify the batch size of your input tensors: \n- If using a Sequential model, specify the batch size by passing a `batchInputShape` option to your first layer.\n- If using the functional API, specify the batch size by passing a `batchShape` option to your Input layer.");if(null==this.getStates())Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(()=>v3.zeros(r)):this.states_=[v3.zeros(r)];else if(null==e)v3.dispose(this.states_),null!=this.keptStates&&(v3.dispose(this.keptStates),this.keptStates=[]),Array.isArray(this.cell.stateSize)?this.states_=this.cell.stateSize.map(()=>v3.zeros(r)):this.states_[0]=v3.zeros(r);else{if(Array.isArray(e)||(e=[e]),e.length!==this.states_.length)throw new U6(`Layer ${this.name} expects ${this.states_.length} state(s), but it received ${e.length} state value(s). Input received: ${e}`);t?this.keptStates.push(this.states_.slice()):v3.dispose(this.states_);for(let t=0;tv3.keep(e.clone()))})}computeSingleOutputShape(e){const{dataFormat:t,filters:n,kernelSize:i,padding:r,strides:s,dilationRate:o}=this.cell,a="channelsFirst"===t,l=e[a?3:2],u=e[a?4:3],c=bte(l,i[0],r,s[0],o[0]),d=bte(u,i[1],r,s[1],o[1]);return[...e.slice(0,2),...a?[n,c,d]:[c,d,n]]}}Qte.className="ConvRNN2D";class Jte extends Wte{constructor(e){const{filters:t,kernelSize:n,strides:i,padding:r,dataFormat:s,dilationRate:o}=e;super(Object.assign(Object.assign({},e),{units:t})),this.filters=t,o8(this.filters,"filters"),this.kernelSize=vte(n,2,"kernelSize"),this.kernelSize.forEach(e=>o8(e,"kernelSize")),this.strides=vte(i||1,2,"strides"),this.strides.forEach(e=>o8(e,"strides")),this.padding=r||"valid",b8(this.padding),this.dataFormat=s||"channelsLast",v8(this.dataFormat),this.dilationRate=vte(o||1,2,"dilationRate"),this.dilationRate.forEach(e=>o8(e,"dilationRate"))}build(e){var t;e=x9(e);const n="channelsFirst"===this.dataFormat?1:e.length-1;if(null==e[n])throw new U6(`The channel dimension of the input should be defined. Found ${e[n]}`);const i=e[n],r=this.kernelSize.concat([i,4*this.filters]);this.kernel=this.addWeight("kernel",r,null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint);const s=this.kernelSize.concat([this.filters,4*this.filters]);if(this.recurrentKernel=this.addWeight("recurrent_kernel",s,null,this.recurrentInitializer,this.recurrentRegularizer,!0,this.recurrentConstraint),this.useBias){let e;if(this.unitForgetBias){const n=this.biasInitializer,i=this.filters;e=new((t=class extends J8{apply(e,t){return U8([n.apply([i]),v3.ones([i]),n.apply([2*i])])}}).className="CustomInit",t)}else e=this.biasInitializer;this.bias=this.addWeight("bias",[4*this.filters],null,e,this.biasRegularizer,!0,this.biasConstraint)}this.built=!0}call(e,t){return v3.tidy(()=>{if(3!==e.length)throw new U6(`ConvLSTM2DCell expects 3 input Tensors (inputs, h, c), got ${e.length}.`);const n=t.training||!1,i=e[0],r=e[1],s=e[2];0v3.onesLike(i),rate:this.dropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const o=this.dropoutMask,a=(e,t,n)=>t&&t[n]?v3.mul(t[n],e):e;let l=a(i,o,0),u=a(i,o,1),c=a(i,o,2),d=a(i,o,3);0v3.onesLike(r),rate:this.recurrentDropout,training:n,count:4,dropoutFunc:this.dropoutFunc}));const h=this.recurrentDropoutMask;let p=a(r,h,0),f=a(r,h,1),m=a(r,h,2),g=a(r,h,3);const[_,y,v,b]=v3.split(this.kernel.read(),4,3),[T,x,E,w]=this.useBias?v3.split(this.bias.read(),4):[null,null,null,null];l=this.inputConv(l,_,T,this.padding),u=this.inputConv(u,y,x,this.padding),c=this.inputConv(c,v,E,this.padding),d=this.inputConv(d,b,w,this.padding);const[I,A,S,C]=v3.split(this.recurrentKernel.read(),4,3);p=this.recurrentConv(p,I),f=this.recurrentConv(f,A),m=this.recurrentConv(m,S),g=this.recurrentConv(g,C);const O=this.recurrentActivation.apply(v3.add(l,p)),M=this.recurrentActivation.apply(v3.add(u,f)),k=v3.add(v3.mul(M,s),v3.mul(O,this.activation.apply(v3.add(c,m)))),R=v3.mul(this.recurrentActivation.apply(v3.add(d,g)),this.activation.apply(k));return[R,R,k]})}getConfig(){const e=super.getConfig(),{units:t}=e,n=Zte(e,["units"]),i={filters:this.filters,kernelSize:this.kernelSize,padding:this.padding,dataFormat:this.dataFormat,dilationRate:this.dilationRate,strides:this.strides};return Object.assign(Object.assign({},n),i)}inputConv(e,t,n,i){const r=v3.conv2d(e,t,this.strides,i||"valid","channelsFirst"===this.dataFormat?"NCHW":"NHWC",this.dilationRate);return n?X8(r,n,this.dataFormat):r}recurrentConv(e,t){return v3.conv2d(e,t,1,"same","channelsFirst"===this.dataFormat?"NCHW":"NHWC")}}Jte.className="ConvLSTM2DCell",v3.serialization.registerClass(Jte);class ene extends Qte{constructor(e){const t=new Jte(e);super(Object.assign(Object.assign({},e),{cell:t}))}static fromConfig(e,t){return new e(t)}}ene.className="ConvLSTM2D",v3.serialization.registerClass(ene); /** * @license * Copyright 2018 Google LLC @@ -11402,7 +11402,7 @@ var Gte=function(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.ca * https://opensource.org/licenses/MIT. * ============================================================================= */ -class qte extends S9{constructor(e){super(e),this.rate=Math.max(Math.min(e.rate,1),0),this.noiseShape=e.noiseShape,this.seed=e.seed,this.supportsMasking=!0}getNoiseShape(e){if(null==this.noiseShape)return this.noiseShape;const t=e.shape,n=[];for(let e=0;e{this.invokeCallHook(e,t);const n=m9(e);if(0j8(n,this.rate,i,this.seed),()=>n,e)}return e})}getConfig(){const e={rate:this.rate,noiseShape:this.noiseShape,seed:this.seed},t=super.getConfig();return Object.assign(e,t),e}dispose(){return super.dispose()}}qte.className="Dropout",p3.serialization.registerClass(qte);class Kte extends qte{constructor(e){super(e),this.inputSpec=[{ndim:3}]}getNoiseShape(e){const t=e.shape;return[t[0],1,t[2]]}}Kte.className="SpatialDropout1D",p3.serialization.registerClass(Kte);class Zte extends S9{constructor(e){if(super(e),this.activation=null,this.useBias=!0,this.kernel=null,this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",null==e.batchInputShape&&null==e.inputShape&&null!=e.inputDim){let t=null;null!=e.batchSize&&(t=e.batchSize),this.batchInputShape=[t,e.inputDim]}this.units=e.units,e8(this.units,"units"),this.activation=Jee(e.activation),null!=e.useBias&&(this.useBias=e.useBias),this.kernelInitializer=h9(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.biasInitializer=h9(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelConstraint=W9(e.kernelConstraint),this.biasConstraint=W9(e.biasConstraint),this.kernelRegularizer=ote(e.kernelRegularizer),this.biasRegularizer=ote(e.biasRegularizer),this.activityRegularizer=ote(e.activityRegularizer),this.supportsMasking=!0,this.inputSpec=[{minNDim:2}]}build(e){const t=(e=g9(e))[e.length-1];null==this.kernel&&(this.kernel=this.addWeight("kernel",[t,this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint))),this.inputSpec=[{minNDim:2,axes:{[-1]:t}}],this.built=!0}computeOutputShape(e){const t=(e=g9(e)).slice();return t[t.length-1]=this.units,t}call(e,t){return(0,p3.tidy)(()=>{this.invokeCallHook(e,t);const n=m9(e),i=n8(this.activation.getClassName());let r;return null!=i?r=B8(n,this.kernel.read(),i,this.bias?this.bias.read():null):(r=B8(n,this.kernel.read()),null!=this.bias&&(r=z8(r,this.bias.read())),null!=this.activation&&(r=this.activation.apply(r))),r})}getConfig(){const e={units:this.units,activation:Zee(this.activation),useBias:this.useBias,kernelInitializer:d9(this.kernelInitializer),biasInitializer:d9(this.biasInitializer),kernelRegularizer:rte(this.kernelRegularizer),biasRegularizer:rte(this.biasRegularizer),activityRegularizer:rte(this.activityRegularizer),kernelConstraint:G9(this.kernelConstraint),biasConstraint:G9(this.biasConstraint)},t=super.getConfig();return Object.assign(e,t),e}}Zte.className="Dense",p3.serialization.registerClass(Zte);class Qte extends S9{constructor(e){super(e=e||{}),this.inputSpec=[{minNDim:3}],this.dataFormat=e.dataFormat}computeOutputShape(e){e=g9(e);for(const t of e.slice(1))if(null==t)throw new D6(`The shape of the input to "Flatten" is not fully defined (got ${e.slice(1)}). Make sure to pass a complete "input_shape" or "batch_input_shape" argument to the first layer in your model.`);return[e[0],E8(e,1)]}call(e,t){return(0,p3.tidy)(()=>{this.invokeCallHook(e,t);let n=m9(e);if("channelsFirst"===this.dataFormat&&n.rank>1){const e=[0];for(let t=2;t{this.invokeCallHook(e,t);const n=m9(e);return this.activation.apply(n)})}getConfig(){const e={activation:Zee(this.activation)},t=super.getConfig();return Object.assign(e,t),e}}Jte.className="Activation",p3.serialization.registerClass(Jte);class ene extends S9{constructor(e){super(e),this.n=e.n,this.inputSpec=[{ndim:2}]}computeOutputShape(e){return[e[0],this.n,e[1]]}call(e,t){return(0,p3.tidy)(()=>{return e=m9(e),t=e,n=this.n,(0,p3.tidy)(()=>{if(2!==t.shape.length)throw new D6(`repeat() expects a rank-2 tensor, but received a rank-${t.shape.length} tensor.`);return L8(M8(t,1),[1,n,1])});var t,n})}getConfig(){const e={n:this.n},t=super.getConfig();return Object.assign(e,t),e}}ene.className="RepeatVector",p3.serialization.registerClass(ene);class tne extends S9{constructor(e){super(e),this.targetShape=e.targetShape;for(let e=0;e{this.invokeCallHook(e,t);const n=m9(e),i=n.shape,r=i.slice(0,1).concat(this.fixUnknownDimension(i.slice(1),this.targetShape));return(0,p3.reshape)(n,r)})}getConfig(){const e={targetShape:this.targetShape},t=super.getConfig();return Object.assign(e,t),e}}tne.className="Reshape",p3.serialization.registerClass(tne);class nne extends S9{constructor(e){if(super(e),null==e.dims)throw new Error("Required configuration field `dims` is missing during Permute constructor call.");if(!Array.isArray(e.dims))throw new Error(`Permute constructor requires \`dims\` to be an Array, but received ${e.dims} instead.`);const t=A8(1,e.dims.length+1);if(!p3.util.arraysEqual(e.dims.slice().sort(),t))throw new Error("Invalid permutation `dims`: "+JSON.stringify(e.dims)+" `dims` must contain consecutive integers starting from 1.");this.dims=e.dims,this.dimsIncludingBatch=[0].concat(this.dims),this.inputSpec=[new x9({ndim:this.dims.length+1})]}computeOutputShape(e){const t=(e=g9(e)).slice();return this.dims.forEach((n,i)=>{t[i+1]=e[n]}),t}call(e,t){return(0,p3.transpose)(m9(e),this.dimsIncludingBatch)}getConfig(){const e={dims:this.dims},t=super.getConfig();return Object.assign(e,t),e}}nne.className="Permute",p3.serialization.registerClass(nne);class ine extends S9{constructor(e){super(null==e?{}:e),this.supportsMasking=!0,this.maskValue=null!=e?null==e.maskValue?0:e.maskValue:0}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={maskValue:this.maskValue};return Object.assign(t,e),t}computeMask(e,t){const n=m9(e);return(0,p3.any)((0,p3.notEqual)(n,this.maskValue),-1)}call(e,t){return(0,p3.tidy)(()=>{this.invokeCallHook(e,t);const n=m9(e),i=(0,p3.any)((0,p3.notEqual)(n,this.maskValue),-1,!0);return(0,p3.mul)(n,(0,p3.cast)(i,n.dtype))})}}ine.className="Masking",p3.serialization.registerClass(ine); +class tne extends N9{constructor(e){super(e),this.rate=Math.max(Math.min(e.rate,1),0),this.noiseShape=e.noiseShape,this.seed=e.seed,this.supportsMasking=!0}getNoiseShape(e){if(null==this.noiseShape)return this.noiseShape;const t=e.shape,n=[];for(let e=0;e{this.invokeCallHook(e,t);const n=T9(e);if(0q8(n,this.rate,i,this.seed),()=>n,e)}return e})}getConfig(){const e={rate:this.rate,noiseShape:this.noiseShape,seed:this.seed},t=super.getConfig();return Object.assign(e,t),e}dispose(){return super.dispose()}}tne.className="Dropout",v3.serialization.registerClass(tne);class nne extends tne{constructor(e){super(e),this.inputSpec=[{ndim:3}]}getNoiseShape(e){const t=e.shape;return[t[0],1,t[2]]}}nne.className="SpatialDropout1D",v3.serialization.registerClass(nne);class ine extends N9{constructor(e){if(super(e),this.activation=null,this.useBias=!0,this.kernel=null,this.bias=null,this.DEFAULT_KERNEL_INITIALIZER="glorotNormal",this.DEFAULT_BIAS_INITIALIZER="zeros",null==e.batchInputShape&&null==e.inputShape&&null!=e.inputDim){let t=null;null!=e.batchSize&&(t=e.batchSize),this.batchInputShape=[t,e.inputDim]}this.units=e.units,o8(this.units,"units"),this.activation=ste(e.activation),null!=e.useBias&&(this.useBias=e.useBias),this.kernelInitializer=y9(e.kernelInitializer||this.DEFAULT_KERNEL_INITIALIZER),this.biasInitializer=y9(e.biasInitializer||this.DEFAULT_BIAS_INITIALIZER),this.kernelConstraint=J9(e.kernelConstraint),this.biasConstraint=J9(e.biasConstraint),this.kernelRegularizer=hte(e.kernelRegularizer),this.biasRegularizer=hte(e.biasRegularizer),this.activityRegularizer=hte(e.activityRegularizer),this.supportsMasking=!0,this.inputSpec=[{minNDim:2}]}build(e){const t=(e=x9(e))[e.length-1];null==this.kernel&&(this.kernel=this.addWeight("kernel",[t,this.units],null,this.kernelInitializer,this.kernelRegularizer,!0,this.kernelConstraint),this.useBias&&(this.bias=this.addWeight("bias",[this.units],null,this.biasInitializer,this.biasRegularizer,!0,this.biasConstraint))),this.inputSpec=[{minNDim:2,axes:{[-1]:t}}],this.built=!0}computeOutputShape(e){const t=(e=x9(e)).slice();return t[t.length-1]=this.units,t}call(e,t){return(0,v3.tidy)(()=>{this.invokeCallHook(e,t);const n=T9(e),i=l8(this.activation.getClassName());let r;return null!=i?r=Y8(n,this.kernel.read(),i,this.bias?this.bias.read():null):(r=Y8(n,this.kernel.read()),null!=this.bias&&(r=X8(r,this.bias.read())),null!=this.activation&&(r=this.activation.apply(r))),r})}getConfig(){const e={units:this.units,activation:ite(this.activation),useBias:this.useBias,kernelInitializer:_9(this.kernelInitializer),biasInitializer:_9(this.biasInitializer),kernelRegularizer:cte(this.kernelRegularizer),biasRegularizer:cte(this.biasRegularizer),activityRegularizer:cte(this.activityRegularizer),kernelConstraint:Z9(this.kernelConstraint),biasConstraint:Z9(this.biasConstraint)},t=super.getConfig();return Object.assign(e,t),e}}ine.className="Dense",v3.serialization.registerClass(ine);class rne extends N9{constructor(e){super(e=e||{}),this.inputSpec=[{minNDim:3}],this.dataFormat=e.dataFormat}computeOutputShape(e){e=x9(e);for(const t of e.slice(1))if(null==t)throw new U6(`The shape of the input to "Flatten" is not fully defined (got ${e.slice(1)}). Make sure to pass a complete "input_shape" or "batch_input_shape" argument to the first layer in your model.`);return[e[0],O8(e,1)]}call(e,t){return(0,v3.tidy)(()=>{this.invokeCallHook(e,t);let n=T9(e);if("channelsFirst"===this.dataFormat&&n.rank>1){const e=[0];for(let t=2;t{this.invokeCallHook(e,t);const n=T9(e);return this.activation.apply(n)})}getConfig(){const e={activation:ite(this.activation)},t=super.getConfig();return Object.assign(e,t),e}}sne.className="Activation",v3.serialization.registerClass(sne);class one extends N9{constructor(e){super(e),this.n=e.n,this.inputSpec=[{ndim:2}]}computeOutputShape(e){return[e[0],this.n,e[1]]}call(e,t){return(0,v3.tidy)(()=>{return e=T9(e),t=e,n=this.n,(0,v3.tidy)(()=>{if(2!==t.shape.length)throw new U6(`repeat() expects a rank-2 tensor, but received a rank-${t.shape.length} tensor.`);return z8(L8(t,1),[1,n,1])});var t,n})}getConfig(){const e={n:this.n},t=super.getConfig();return Object.assign(e,t),e}}one.className="RepeatVector",v3.serialization.registerClass(one);class ane extends N9{constructor(e){super(e),this.targetShape=e.targetShape;for(let e=0;e{this.invokeCallHook(e,t);const n=T9(e),i=n.shape,r=i.slice(0,1).concat(this.fixUnknownDimension(i.slice(1),this.targetShape));return(0,v3.reshape)(n,r)})}getConfig(){const e={targetShape:this.targetShape},t=super.getConfig();return Object.assign(e,t),e}}ane.className="Reshape",v3.serialization.registerClass(ane);class lne extends N9{constructor(e){if(super(e),null==e.dims)throw new Error("Required configuration field `dims` is missing during Permute constructor call.");if(!Array.isArray(e.dims))throw new Error(`Permute constructor requires \`dims\` to be an Array, but received ${e.dims} instead.`);const t=R8(1,e.dims.length+1);if(!v3.util.arraysEqual(e.dims.slice().sort(),t))throw new Error("Invalid permutation `dims`: "+JSON.stringify(e.dims)+" `dims` must contain consecutive integers starting from 1.");this.dims=e.dims,this.dimsIncludingBatch=[0].concat(this.dims),this.inputSpec=[new C9({ndim:this.dims.length+1})]}computeOutputShape(e){const t=(e=x9(e)).slice();return this.dims.forEach((n,i)=>{t[i+1]=e[n]}),t}call(e,t){return(0,v3.transpose)(T9(e),this.dimsIncludingBatch)}getConfig(){const e={dims:this.dims},t=super.getConfig();return Object.assign(e,t),e}}lne.className="Permute",v3.serialization.registerClass(lne);class une extends N9{constructor(e){super(null==e?{}:e),this.supportsMasking=!0,this.maskValue=null!=e?null==e.maskValue?0:e.maskValue:0}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={maskValue:this.maskValue};return Object.assign(t,e),t}computeMask(e,t){const n=T9(e);return(0,v3.any)((0,v3.notEqual)(n,this.maskValue),-1)}call(e,t){return(0,v3.tidy)(()=>{this.invokeCallHook(e,t);const n=T9(e),i=(0,v3.any)((0,v3.notEqual)(n,this.maskValue),-1,!0);return(0,v3.mul)(n,(0,v3.cast)(i,n.dtype))})}}une.className="Masking",v3.serialization.registerClass(une); /** * @license * Copyright 2018 Google LLC @@ -11412,7 +11412,7 @@ class qte extends S9{constructor(e){super(e),this.rate=Math.max(Math.min(e.rate, * https://opensource.org/licenses/MIT. * ============================================================================= */ -class rne extends S9{constructor(e){if(super(e),this.embeddings=null,this.DEFAULT_EMBEDDINGS_INITIALIZER="randomUniform",null==e.batchInputShape&&null==e.inputShape){let t=null;null!=e.batchSize&&(t=e.batchSize),null==e.inputLength?this.batchInputShape=[t,null]:this.batchInputShape=[t].concat(z6(e.inputLength))}this.inputDim=e.inputDim,e8(this.inputDim,"inputDim"),this.outputDim=e.outputDim,e8(this.outputDim,"outputDim"),this.embeddingsInitializer=h9(e.embeddingsInitializer||this.DEFAULT_EMBEDDINGS_INITIALIZER),this.embeddingsRegularizer=ote(e.embeddingsRegularizer),this.activityRegularizer=ote(e.activityRegularizer),this.embeddingsConstraint=W9(e.embeddingsConstraint),this.maskZero=e.maskZero,this.supportsMasking=e.maskZero,this.inputLength=e.inputLength}build(e){this.embeddings=this.addWeight("embeddings",[this.inputDim,this.outputDim],this.dtype,this.embeddingsInitializer,this.embeddingsRegularizer,!0,this.embeddingsConstraint),this.built=!0}warnOnIncompatibleInputShape(e){}computeMask(e,t){return(0,p3.tidy)(()=>this.maskZero?(e=m9(e),(0,p3.notEqual)(e,(0,p3.zerosLike)(e))):null)}computeOutputShape(e){if(e=g9(e),null==this.inputLength)return[...e,this.outputDim];const t=z6(this.inputLength);if(t.length!==e.length-1)throw new D6(`"inputLength" is ${this.inputLength}, but received input shape has shape ${e}`);{let n=0;for(let i=0;i{this.invokeCallHook(e,t);let n=m9(e);"int32"!==n.dtype&&(n=O8(n,"int32"));const i=$8(this.embeddings.read(),(0,p3.reshape)(n,[n.size]));return(0,p3.reshape)(i,g9(this.computeOutputShape(n.shape)))})}getConfig(){const e={inputDim:this.inputDim,outputDim:this.outputDim,embeddingsInitializer:d9(this.embeddingsInitializer),embeddingsRegularizer:rte(this.embeddingsRegularizer),activityRegularizer:rte(this.activityRegularizer),embeddingsConstraint:G9(this.embeddingsConstraint),maskZero:this.maskZero,inputLength:this.inputLength},t=super.getConfig();return Object.assign(e,t),e}}rne.className="Embedding",p3.serialization.registerClass(rne); +class cne extends N9{constructor(e){if(super(e),this.embeddings=null,this.DEFAULT_EMBEDDINGS_INITIALIZER="randomUniform",null==e.batchInputShape&&null==e.inputShape){let t=null;null!=e.batchSize&&(t=e.batchSize),null==e.inputLength?this.batchInputShape=[t,null]:this.batchInputShape=[t].concat(X6(e.inputLength))}this.inputDim=e.inputDim,o8(this.inputDim,"inputDim"),this.outputDim=e.outputDim,o8(this.outputDim,"outputDim"),this.embeddingsInitializer=y9(e.embeddingsInitializer||this.DEFAULT_EMBEDDINGS_INITIALIZER),this.embeddingsRegularizer=hte(e.embeddingsRegularizer),this.activityRegularizer=hte(e.activityRegularizer),this.embeddingsConstraint=J9(e.embeddingsConstraint),this.maskZero=e.maskZero,this.supportsMasking=e.maskZero,this.inputLength=e.inputLength}build(e){this.embeddings=this.addWeight("embeddings",[this.inputDim,this.outputDim],this.dtype,this.embeddingsInitializer,this.embeddingsRegularizer,!0,this.embeddingsConstraint),this.built=!0}warnOnIncompatibleInputShape(e){}computeMask(e,t){return(0,v3.tidy)(()=>this.maskZero?(e=T9(e),(0,v3.notEqual)(e,(0,v3.zerosLike)(e))):null)}computeOutputShape(e){if(e=x9(e),null==this.inputLength)return[...e,this.outputDim];const t=X6(this.inputLength);if(t.length!==e.length-1)throw new U6(`"inputLength" is ${this.inputLength}, but received input shape has shape ${e}`);{let n=0;for(let i=0;i{this.invokeCallHook(e,t);let n=T9(e);"int32"!==n.dtype&&(n=F8(n,"int32"));const i=G8(this.embeddings.read(),(0,v3.reshape)(n,[n.size]));return(0,v3.reshape)(i,x9(this.computeOutputShape(n.shape)))})}getConfig(){const e={inputDim:this.inputDim,outputDim:this.outputDim,embeddingsInitializer:_9(this.embeddingsInitializer),embeddingsRegularizer:cte(this.embeddingsRegularizer),activityRegularizer:cte(this.activityRegularizer),embeddingsConstraint:Z9(this.embeddingsConstraint),maskZero:this.maskZero,inputLength:this.inputLength},t=super.getConfig();return Object.assign(e,t),e}}cne.className="Embedding",v3.serialization.registerClass(cne); /** * @license * Copyright 2018 Google LLC @@ -11422,7 +11422,7 @@ class rne extends S9{constructor(e){if(super(e),this.embeddings=null,this.DEFAUL * https://opensource.org/licenses/MIT. * ============================================================================= */ -class sne extends S9{constructor(e){super(e||{}),this.supportsMasking=!0}mergeFunction(e){throw new F6}computeElementwiseOpOutputShape(e,t){if(null==e||null==t)return null;if(e.length1)throw new D6(`Can not merge tensors with different batch sizes. Got tensors with shapes: ${JSON.stringify(e)}.`);let n=null==e[0]?null:e[0].slice(1);for(let t=1;te.length);-1===e.indexOf(null)&&1===K6(i).length?this.reshapeRequired=!1:this.reshapeRequired=!0}call(e,t){return(0,p3.tidy)(()=>{if(this.reshapeRequired){const t=[],n=e.map(e=>e.rank);if(-1===n.indexOf(null)){const i=I8(n);for(let n of e){const e=n.rank;for(let t=0;t1){const r=A8(1,e).concat([0]);t.push(p3.transpose(i,r)),n=!0}else t.push(i)}let i=this.mergeFunction(t);const r=i.rank;if(n)if(null==r){const e=i.shape,t=e[e.length-1],n=[t].concat(e.slice(0,e.length-1));i=p3.reshape(p3.transpose(p3.reshape(i,[-1,t]),[1,0]),n)}else if(r>1){const e=[r-1].concat(A8(0,r-1));i=p3.transpose(i,e)}return i}}return this.mergeFunction(e)})}computeOutputShape(e){let t;t=null==e[0]?null:e[0].slice(1);for(let n=1;n{if(null==t)return null;if(!Array.isArray(t))throw new D6("`mask` should be an Array");if(!Array.isArray(e))throw new D6("`inputs` should be an Array");if(t.length!==e.length)throw new D6(`The Array 'inputs' and 'mask' are expected to have the same length, but have different lengths (${e.length} vs ${t.length})`);if(t.every(e=>null==e))return null;let n=(t=t.map(e=>null==e?e:p3.expandDims(e,0)))[0];for(let e=1;e{let t=e[0].clone();for(let n=1;n{let t=e[0].clone();for(let n=1;n{let t=e[0].clone();for(let n=1;n{let t=e[0];for(let n=1;n{let t=e[0];for(let n=1;n1)throw new D6("A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got input shapes: "+JSON.stringify(e))}mergeFunction(e){return(0,p3.tidy)(()=>D8(e,this.axis))}computeOutputShape(e){if(!Array.isArray(e)||!Array.isArray(e[0]))throw new D6("A `Concatenate` layer should be called on a list of inputs.");const t=e,n=t[0].slice(),i=this.axis<0?n.length+this.axis:this.axis;for(const e of t.slice(1)){if(null==n[i]||null==e[i]){n[i]=null;break}n[i]+=e[i]}return n}computeMask(e,t){if(null==t)return null;if(!Array.isArray(t))throw new D6("`mask` should be an array for Concatenate");if(!Array.isArray(e))throw new D6("`inputs` should be an array for Concatenate");if(t.length!==e.length)throw new D6(`Mismatch in the length of mask (${t.length}) and the legnth of inputs (${e.length})`);return p3.tidy(()=>{let n=!0;if(t.forEach(e=>{null==e||(n=!1)}),n)return null;const i=[];for(let n=0;n"A `Dot` layer should be called on a list of exactly 2 inputs.");const t=e[0],n=e[1];if(t.length>3||n.length>3)throw new F6("Dot layer does not support tensors of 4D or higher rank yet.");const i=this.interpretAxes(t,n);if(t[i[0]]!==n[i[1]])throw new D6(`Dimension incompatibility: ${t[i[0]]} !== ${n[i[1]]}`)}mergeFunction(e){if(2!==e.length)throw new D6(`A \`Dot\` layer must be called on exactly 2 inputs, but received ${e.length} input(s).`);let t,n=e[0],i=e[1];return t=Array.isArray(this.axes)?this.axes.map((t,n)=>hne(t,e[n].shape.length)):[hne(this.axes,n.shape.length),hne(this.axes,i.shape.length)],this.normalize&&(n=I7(n,t[0]),i=I7(i,t[1])),function(e,t,n){if(e.shape.length>3||t.shape.length>3)throw new F6("batchDot is not implemented for tensors of 4D or higher rank yet");if(p3.util.assert(e.shape.length>=2,()=>`batchDot requires the rank of x to be >= 2, but got ${e.shape.length}`),p3.util.assert(e.shape.length>=2,()=>`batchDot requires the rank of y to be >= 2, but got ${t.shape.length}`),"number"==typeof n&&(n=[n,n]),"complex64"===e.dtype||"complex64"===t.dtype)throw new F6("batchDot is not implemented for complex64-type Tensors yet.");const i=e.shape.length,r=t.shape.length;null==n&&(n=[i-1,r-2]);const s=n;return p3.tidy(()=>{let n,o;if(i>r){n=i-r;const e=[];for(let t=0;ti){n=r-i;const t=[];for(let e=0;e0){let e;e=i>r?i+r-3:i-1;const t=[];for(let i=e;i"A `Dot` layer should be called on a list of exactly 2 inputs.");const t=e[0].slice(),n=e[1].slice();if(t.length>3||n.length>3)throw new F6("Dot layer does not support tensors of 4D or higher rank yet.");const i=this.interpretAxes(t,n);t.splice(i[0],1),n.splice(i[1],1),n.splice(0,1);const r=t.concat(n);return 1===r.length&&r.push(1),r}computeMask(e,t){return null}getConfig(){const e={axes:this.axes,normalize:this.normalize},t=super.getConfig();return Object.assign(e,t),e}}pne.className="Dot",p3.serialization.registerClass(pne); +class dne extends N9{constructor(e){super(e||{}),this.supportsMasking=!0}mergeFunction(e){throw new V6}computeElementwiseOpOutputShape(e,t){if(null==e||null==t)return null;if(e.length1)throw new U6(`Can not merge tensors with different batch sizes. Got tensors with shapes: ${JSON.stringify(e)}.`);let n=null==e[0]?null:e[0].slice(1);for(let t=1;te.length);-1===e.indexOf(null)&&1===n8(i).length?this.reshapeRequired=!1:this.reshapeRequired=!0}call(e,t){return(0,v3.tidy)(()=>{if(this.reshapeRequired){const t=[],n=e.map(e=>e.rank);if(-1===n.indexOf(null)){const i=k8(n);for(let n of e){const e=n.rank;for(let t=0;t1){const r=R8(1,e).concat([0]);t.push(v3.transpose(i,r)),n=!0}else t.push(i)}let i=this.mergeFunction(t);const r=i.rank;if(n)if(null==r){const e=i.shape,t=e[e.length-1],n=[t].concat(e.slice(0,e.length-1));i=v3.reshape(v3.transpose(v3.reshape(i,[-1,t]),[1,0]),n)}else if(r>1){const e=[r-1].concat(R8(0,r-1));i=v3.transpose(i,e)}return i}}return this.mergeFunction(e)})}computeOutputShape(e){let t;t=null==e[0]?null:e[0].slice(1);for(let n=1;n{if(null==t)return null;if(!Array.isArray(t))throw new U6("`mask` should be an Array");if(!Array.isArray(e))throw new U6("`inputs` should be an Array");if(t.length!==e.length)throw new U6(`The Array 'inputs' and 'mask' are expected to have the same length, but have different lengths (${e.length} vs ${t.length})`);if(t.every(e=>null==e))return null;let n=(t=t.map(e=>null==e?e:v3.expandDims(e,0)))[0];for(let e=1;e{let t=e[0].clone();for(let n=1;n{let t=e[0].clone();for(let n=1;n{let t=e[0].clone();for(let n=1;n{let t=e[0];for(let n=1;n{let t=e[0];for(let n=1;n1)throw new U6("A `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got input shapes: "+JSON.stringify(e))}mergeFunction(e){return(0,v3.tidy)(()=>U8(e,this.axis))}computeOutputShape(e){if(!Array.isArray(e)||!Array.isArray(e[0]))throw new U6("A `Concatenate` layer should be called on a list of inputs.");const t=e,n=t[0].slice(),i=this.axis<0?n.length+this.axis:this.axis;for(const e of t.slice(1)){if(null==n[i]||null==e[i]){n[i]=null;break}n[i]+=e[i]}return n}computeMask(e,t){if(null==t)return null;if(!Array.isArray(t))throw new U6("`mask` should be an array for Concatenate");if(!Array.isArray(e))throw new U6("`inputs` should be an array for Concatenate");if(t.length!==e.length)throw new U6(`Mismatch in the length of mask (${t.length}) and the legnth of inputs (${e.length})`);return v3.tidy(()=>{let n=!0;if(t.forEach(e=>{null==e||(n=!1)}),n)return null;const i=[];for(let n=0;n"A `Dot` layer should be called on a list of exactly 2 inputs.");const t=e[0],n=e[1];if(t.length>3||n.length>3)throw new V6("Dot layer does not support tensors of 4D or higher rank yet.");const i=this.interpretAxes(t,n);if(t[i[0]]!==n[i[1]])throw new U6(`Dimension incompatibility: ${t[i[0]]} !== ${n[i[1]]}`)}mergeFunction(e){if(2!==e.length)throw new U6(`A \`Dot\` layer must be called on exactly 2 inputs, but received ${e.length} input(s).`);let t,n=e[0],i=e[1];return t=Array.isArray(this.axes)?this.axes.map((t,n)=>yne(t,e[n].shape.length)):[yne(this.axes,n.shape.length),yne(this.axes,i.shape.length)],this.normalize&&(n=k7(n,t[0]),i=k7(i,t[1])),function(e,t,n){if(e.shape.length>3||t.shape.length>3)throw new V6("batchDot is not implemented for tensors of 4D or higher rank yet");if(v3.util.assert(e.shape.length>=2,()=>`batchDot requires the rank of x to be >= 2, but got ${e.shape.length}`),v3.util.assert(e.shape.length>=2,()=>`batchDot requires the rank of y to be >= 2, but got ${t.shape.length}`),"number"==typeof n&&(n=[n,n]),"complex64"===e.dtype||"complex64"===t.dtype)throw new V6("batchDot is not implemented for complex64-type Tensors yet.");const i=e.shape.length,r=t.shape.length;null==n&&(n=[i-1,r-2]);const s=n;return v3.tidy(()=>{let n,o;if(i>r){n=i-r;const e=[];for(let t=0;ti){n=r-i;const t=[];for(let e=0;e0){let e;e=i>r?i+r-3:i-1;const t=[];for(let i=e;i"A `Dot` layer should be called on a list of exactly 2 inputs.");const t=e[0].slice(),n=e[1].slice();if(t.length>3||n.length>3)throw new V6("Dot layer does not support tensors of 4D or higher rank yet.");const i=this.interpretAxes(t,n);t.splice(i[0],1),n.splice(i[1],1),n.splice(0,1);const r=t.concat(n);return 1===r.length&&r.push(1),r}computeMask(e,t){return null}getConfig(){const e={axes:this.axes,normalize:this.normalize},t=super.getConfig();return Object.assign(e,t),e}}vne.className="Dot",v3.serialization.registerClass(vne); /** * @license * Copyright 2018 Google LLC @@ -11432,7 +11432,7 @@ class sne extends S9{constructor(e){super(e||{}),this.supportsMasking=!0}mergeFu * https://opensource.org/licenses/MIT. * ============================================================================= */ -class fne extends S9{constructor(e){super(e),this.supportsMasking=!0,this.stddev=e.stddev}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={stddev:this.stddev};return Object.assign(t,e),t}call(e,t){return(0,p3.tidy)(()=>{this.invokeCallHook(e,t);const n=m9(e);return Y8(()=>(0,p3.add)(P8(n.shape,0,this.stddev),n),()=>n,t.training||!1)})}}fne.className="GaussianNoise",p3.serialization.registerClass(fne);class mne extends S9{constructor(e){super(e),this.supportsMasking=!0,this.rate=e.rate}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={rate:this.rate};return Object.assign(t,e),t}call(e,t){return(0,p3.tidy)(()=>{this.invokeCallHook(e,t);const n=m9(e);if(this.rate>0&&this.rate<1){return Y8(()=>{const e=Math.sqrt(this.rate/(1-this.rate));return(0,p3.mul)(n,P8(n.shape,1,e))},()=>n,t.training||!1)}return n})}}mne.className="GaussianDropout",p3.serialization.registerClass(mne);class gne extends S9{constructor(e){super(e),this.supportsMasking=!0,this.rate=e.rate,this.noiseShape=e.noiseShape}_getNoiseShape(e){return this.noiseShape||m9(e).shape}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={rate:this.rate};return Object.assign(t,e),t}call(e,t){return(0,p3.tidy)(()=>{if(this.rate<1&&this.rate>0){const n=this._getNoiseShape(e),i=()=>{const t=m9(e),i=-1.7580993408473766;let r=(0,p3.greaterEqual)((0,p3.randomUniform)(n),this.rate);r=O8(r,"float32");const s=((1-this.rate)*(1+this.rate*i**2))**-.5,o=-s*i*this.rate,a=(0,p3.add)((0,p3.mul)(t,r),(0,p3.mul)((0,p3.add)(r,-1),i));return(0,p3.add)((0,p3.mul)(a,s),o)};return Y8(i,()=>m9(e),t.training||!1)}return e})}} +class bne extends N9{constructor(e){super(e),this.supportsMasking=!0,this.stddev=e.stddev}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={stddev:this.stddev};return Object.assign(t,e),t}call(e,t){return(0,v3.tidy)(()=>{this.invokeCallHook(e,t);const n=T9(e);return K8(()=>(0,v3.add)(j8(n.shape,0,this.stddev),n),()=>n,t.training||!1)})}}bne.className="GaussianNoise",v3.serialization.registerClass(bne);class Tne extends N9{constructor(e){super(e),this.supportsMasking=!0,this.rate=e.rate}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={rate:this.rate};return Object.assign(t,e),t}call(e,t){return(0,v3.tidy)(()=>{this.invokeCallHook(e,t);const n=T9(e);if(this.rate>0&&this.rate<1){return K8(()=>{const e=Math.sqrt(this.rate/(1-this.rate));return(0,v3.mul)(n,j8(n.shape,1,e))},()=>n,t.training||!1)}return n})}}Tne.className="GaussianDropout",v3.serialization.registerClass(Tne);class xne extends N9{constructor(e){super(e),this.supportsMasking=!0,this.rate=e.rate,this.noiseShape=e.noiseShape}_getNoiseShape(e){return this.noiseShape||T9(e).shape}computeOutputShape(e){return e}getConfig(){const e=super.getConfig(),t={rate:this.rate};return Object.assign(t,e),t}call(e,t){return(0,v3.tidy)(()=>{if(this.rate<1&&this.rate>0){const n=this._getNoiseShape(e),i=()=>{const t=T9(e),i=-1.7580993408473766;let r=(0,v3.greaterEqual)((0,v3.randomUniform)(n),this.rate);r=F8(r,"float32");const s=((1-this.rate)*(1+this.rate*i**2))**-.5,o=-s*i*this.rate,a=(0,v3.add)((0,v3.mul)(t,r),(0,v3.mul)((0,v3.add)(r,-1),i));return(0,v3.add)((0,v3.mul)(a,s),o)};return K8(i,()=>T9(e),t.training||!1)}return e})}} /** * @license * Copyright 2018 Google LLC @@ -11442,7 +11442,7 @@ class fne extends S9{constructor(e){super(e),this.supportsMasking=!0,this.stddev * https://opensource.org/licenses/MIT. * ============================================================================= */ -function _ne(e,t,n,i,r,s=.001){let o;if(2===e.rank)o=p3.batchNorm2d(e,t,n,i,r,s);else if(3===e.rank)o=p3.batchNorm3d(e,t,n,i,r,s);else{if(4!==e.rank)throw new F6(`batchNormalization is not implemented for array of rank ${e.rank} yet`);o=p3.batchNorm4d(e,t,n,i,r,s)}return o}function yne(e,t,n,i,r=.001){return p3.util.arraysEqual(i.slice().sort(),A8(0,e.rank-1))?function(e,t,n,i,r=.001){return(0,p3.tidy)(()=>{const s=p3.moments(e,i),o=s.mean,a=s.variance;return[_ne(e,o,a,n,t,r),o,a]})}(e,t,n,i,r):function(e,t,n,i,r=.001){return(0,p3.tidy)(()=>{const s=p3.moments(e,i),o=s.mean,a=s.variance,l=[];for(const t of A8(0,e.rank))-1!==i.indexOf(t)?l.push(1):l.push(e.shape[t]);const u=(0,p3.reshape)(o,l),c=(0,p3.reshape)(a,l),d=null==t?null:(0,p3.reshape)(t,l),h=null==n?null:(0,p3.reshape)(n,l);return[_ne(e,u,c,h,d,r),o,a]})}(e,t,n,i,r)}gne.className="AlphaDropout",p3.serialization.registerClass(gne);class vne extends S9{constructor(e){null==e&&(e={}),super(e),this.supportsMasking=!0,this.axis=null==e.axis?-1:e.axis,this.momentum=null==e.momentum?.99:e.momentum,this.epsilon=null==e.epsilon?.001:e.epsilon,this.center=null==e.center||e.center,this.scale=null==e.scale||e.scale,this.betaInitializer=h9(e.betaInitializer||"zeros"),this.gammaInitializer=h9(e.gammaInitializer||"ones"),this.movingMeanInitializer=h9(e.movingMeanInitializer||"zeros"),this.movingVarianceInitializer=h9(e.movingVarianceInitializer||"ones"),this.betaConstraint=W9(e.betaConstraint),this.gammaConstraint=W9(e.gammaConstraint),this.betaRegularizer=ote(e.betaRegularizer),this.gammaRegularizer=ote(e.gammaRegularizer)}build(e){e=g9(e);const t=this.axis>=0?this.axis:this.axis+e.length,n=e[t];if(null==n)throw new D6(`Axis ${t} of input tensor should have a defined dimension but the layer received an input with shape ${JSON.stringify(e)}.`);this.inputSpec=[new x9({ndim:e.length,axes:{[t]:n}})];const i=[n];this.scale&&(this.gamma=this.addWeight("gamma",i,null,this.gammaInitializer,this.gammaRegularizer,!0,this.gammaConstraint)),this.center&&(this.beta=this.addWeight("beta",i,null,this.betaInitializer,this.betaRegularizer,!0,this.betaConstraint)),this.movingMean=this.addWeight("moving_mean",i,null,this.movingMeanInitializer,null,!1),this.movingVariance=this.addWeight("moving_variance",i,null,this.movingVarianceInitializer,null,!1),this.built=!0}call(e,t){return(0,p3.tidy)(()=>{const n=null!=t.training&&t.training,i=m9(e),r=i.shape,s=r.length,o=A8(0,s),a=this.axis>=0?this.axis:this.axis+s;o.splice(a,1);const l=B6(1,s);l[a]=r[a];const u=o.slice();u.sort();const c=!p3.util.arraysEqual(u,A8(0,s).slice(0,s-1));if(!n)return(()=>{if(c){const e=(0,p3.reshape)(this.movingMean.read(),l),t=(0,p3.reshape)(this.movingVariance.read(),l),n=this.center?(0,p3.reshape)(this.beta.read(),l):null,r=this.scale?(0,p3.reshape)(this.gamma.read(),l):null;return _ne(i,e,t,n,r,this.epsilon)}return _ne(i,this.movingMean.read(),this.movingVariance.read(),null==this.beta?null:this.beta.read(),null==this.gamma?null:this.gamma.read(),this.epsilon)})();const[d,h,p]=yne(i,this.gamma.read(),this.beta.read(),o,this.epsilon),f=(e,t,n)=>{p3.tidy(()=>{const i=1-n,r=e.read(),s=p3.mul(p3.sub(r,t),i);e.write(p3.sub(r,s))})};return(()=>{f(this.movingMean,h,this.momentum),f(this.movingVariance,p,this.momentum)})(),d})}getConfig(){const e={axis:this.axis,momentum:this.momentum,epsilon:this.epsilon,center:this.center,scale:this.scale,betaInitializer:d9(this.betaInitializer),gammaInitializer:d9(this.gammaInitializer),movingMeanInitializer:d9(this.movingMeanInitializer),movingVarianceInitializer:d9(this.movingVarianceInitializer),betaRegularizer:rte(this.betaRegularizer),gammaRegularizer:rte(this.gammaRegularizer),betaConstraint:G9(this.betaConstraint),gammaConstraint:G9(this.gammaConstraint)},t=super.getConfig();return Object.assign(e,t),e}}vne.className="BatchNormalization",p3.serialization.registerClass(vne);class bne extends S9{constructor(e){if(null==e&&(e={}),super(e),this.axis=null==e.axis?-1:e.axis,"number"==typeof this.axis){if(!Number.isInteger(this.axis))throw new Error(`Expected axis to be an integer, but received ${this.axis}`)}else{if(!Array.isArray(this.axis))throw new Error(`Expected axis to be an integer or an array of integers, but received ${JSON.stringify(this.axis)}`);for(const e of this.axis)if(!Number.isInteger(e))throw new Error(`Expected axis to be an array of integers, but received ${JSON.stringify(this.axis)}`)}this.epsilon=null==e.epsilon?.001:e.epsilon,this.center=null==e.center||e.center,this.scale=null==e.scale||e.scale,this.betaInitializer=h9(e.betaInitializer||"zeros"),this.gammaInitializer=h9(e.gammaInitializer||"ones"),this.betaRegularizer=ote(e.betaRegularizer),this.gammaRegularizer=ote(e.gammaRegularizer),this.supportsMasking=!0}build(e){const t=(e=g9(e)).length;"number"==typeof this.axis&&(this.axis=[this.axis]);for(let e=0;e=t)throw new Error(`Invalid axis: ${e}`);if(this.axis.length!==K6(this.axis).length)throw new Error(`Found duplicate axes in: ${this.axis}`);const n=this.axis.map(t=>e[t]),i=!0;this.scale?this.gamma=this.addWeight("gamma",n,"float32",this.gammaInitializer,this.gammaRegularizer,i):this.gamma=null,this.center?this.beta=this.addWeight("beta",n,"float32",this.betaInitializer,this.betaRegularizer,i):this.beta=null,this.built=!0}call(e,t){const n=m9(e),i=n.shape,r=i.length;return(0,p3.tidy)(()=>{let{mean:e,variance:t}=(0,p3.moments)(n,this.axis,!0);const s=B6(1,r);for(const e of this.axis)s[e]=i[e];const o=e=>null!=e&&e.shape.length!==r?p3.reshape(e,s):e;let a=this.scale?o(this.gamma.read()):null,l=this.center?o(this.beta.read()):null;const u=[],c=[];for(let e=0;e=0?e[2]+this.padding[0][0]+this.padding[0][1]:null,n=null!=e[3]&&e[3]>=0?e[3]+this.padding[1][0]+this.padding[1][1]:null,[e[0],e[1],t,n]):(t=null!=e[1]&&e[1]>=0?e[1]+this.padding[0][0]+this.padding[0][1]:null,n=null!=e[2]&&e[2]>=0?e[2]+this.padding[1][0]+this.padding[1][1]:null,[e[0],t,n,e[3]])}call(e,t){return(0,p3.tidy)(()=>{return t=m9(e),n=this.padding,i=this.dataFormat,(0,p3.tidy)(()=>{if(4!==t.rank)throw new D6(`temporalPadding expects input tensor to be 4-D, but received a ${t.rank}-D tensor.`);if(null==n&&(n=[[1,1],[1,1]]),2!==n.length||2!==n[0].length||2!==n[1].length)throw new D6("spatial2dPadding expects `padding` to be an Array of two Arrays, each of which is an Array of two integers.");if(null==i&&(i="channelsLast"),"channelsLast"!==i&&"channelsFirst"!==i)throw new D6(`Unknown data format: ${i}. Supported data formats are 'channelsLast' and 'channelsFirst.`);let e;return e="channelsFirst"===i?[[0,0],[0,0],n[0],n[1]]:[[0,0],n[0],n[1],[0,0]],p3.pad(t,e)});var t,n,i})}getConfig(){const e={padding:this.padding,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}} +function Ene(e,t,n,i,r,s=.001){let o;if(2===e.rank)o=v3.batchNorm2d(e,t,n,i,r,s);else if(3===e.rank)o=v3.batchNorm3d(e,t,n,i,r,s);else{if(4!==e.rank)throw new V6(`batchNormalization is not implemented for array of rank ${e.rank} yet`);o=v3.batchNorm4d(e,t,n,i,r,s)}return o}function wne(e,t,n,i,r=.001){return v3.util.arraysEqual(i.slice().sort(),R8(0,e.rank-1))?function(e,t,n,i,r=.001){return(0,v3.tidy)(()=>{const s=v3.moments(e,i),o=s.mean,a=s.variance;return[Ene(e,o,a,n,t,r),o,a]})}(e,t,n,i,r):function(e,t,n,i,r=.001){return(0,v3.tidy)(()=>{const s=v3.moments(e,i),o=s.mean,a=s.variance,l=[];for(const t of R8(0,e.rank))-1!==i.indexOf(t)?l.push(1):l.push(e.shape[t]);const u=(0,v3.reshape)(o,l),c=(0,v3.reshape)(a,l),d=null==t?null:(0,v3.reshape)(t,l),h=null==n?null:(0,v3.reshape)(n,l);return[Ene(e,u,c,h,d,r),o,a]})}(e,t,n,i,r)}xne.className="AlphaDropout",v3.serialization.registerClass(xne);class Ine extends N9{constructor(e){null==e&&(e={}),super(e),this.supportsMasking=!0,this.axis=null==e.axis?-1:e.axis,this.momentum=null==e.momentum?.99:e.momentum,this.epsilon=null==e.epsilon?.001:e.epsilon,this.center=null==e.center||e.center,this.scale=null==e.scale||e.scale,this.betaInitializer=y9(e.betaInitializer||"zeros"),this.gammaInitializer=y9(e.gammaInitializer||"ones"),this.movingMeanInitializer=y9(e.movingMeanInitializer||"zeros"),this.movingVarianceInitializer=y9(e.movingVarianceInitializer||"ones"),this.betaConstraint=J9(e.betaConstraint),this.gammaConstraint=J9(e.gammaConstraint),this.betaRegularizer=hte(e.betaRegularizer),this.gammaRegularizer=hte(e.gammaRegularizer)}build(e){e=x9(e);const t=this.axis>=0?this.axis:this.axis+e.length,n=e[t];if(null==n)throw new U6(`Axis ${t} of input tensor should have a defined dimension but the layer received an input with shape ${JSON.stringify(e)}.`);this.inputSpec=[new C9({ndim:e.length,axes:{[t]:n}})];const i=[n];this.scale&&(this.gamma=this.addWeight("gamma",i,null,this.gammaInitializer,this.gammaRegularizer,!0,this.gammaConstraint)),this.center&&(this.beta=this.addWeight("beta",i,null,this.betaInitializer,this.betaRegularizer,!0,this.betaConstraint)),this.movingMean=this.addWeight("moving_mean",i,null,this.movingMeanInitializer,null,!1),this.movingVariance=this.addWeight("moving_variance",i,null,this.movingVarianceInitializer,null,!1),this.built=!0}call(e,t){return(0,v3.tidy)(()=>{const n=null!=t.training&&t.training,i=T9(e),r=i.shape,s=r.length,o=R8(0,s),a=this.axis>=0?this.axis:this.axis+s;o.splice(a,1);const l=Y6(1,s);l[a]=r[a];const u=o.slice();u.sort();const c=!v3.util.arraysEqual(u,R8(0,s).slice(0,s-1));if(!n)return(()=>{if(c){const e=(0,v3.reshape)(this.movingMean.read(),l),t=(0,v3.reshape)(this.movingVariance.read(),l),n=this.center?(0,v3.reshape)(this.beta.read(),l):null,r=this.scale?(0,v3.reshape)(this.gamma.read(),l):null;return Ene(i,e,t,n,r,this.epsilon)}return Ene(i,this.movingMean.read(),this.movingVariance.read(),null==this.beta?null:this.beta.read(),null==this.gamma?null:this.gamma.read(),this.epsilon)})();const[d,h,p]=wne(i,this.gamma.read(),this.beta.read(),o,this.epsilon),f=(e,t,n)=>{v3.tidy(()=>{const i=1-n,r=e.read(),s=v3.mul(v3.sub(r,t),i);e.write(v3.sub(r,s))})};return(()=>{f(this.movingMean,h,this.momentum),f(this.movingVariance,p,this.momentum)})(),d})}getConfig(){const e={axis:this.axis,momentum:this.momentum,epsilon:this.epsilon,center:this.center,scale:this.scale,betaInitializer:_9(this.betaInitializer),gammaInitializer:_9(this.gammaInitializer),movingMeanInitializer:_9(this.movingMeanInitializer),movingVarianceInitializer:_9(this.movingVarianceInitializer),betaRegularizer:cte(this.betaRegularizer),gammaRegularizer:cte(this.gammaRegularizer),betaConstraint:Z9(this.betaConstraint),gammaConstraint:Z9(this.gammaConstraint)},t=super.getConfig();return Object.assign(e,t),e}}Ine.className="BatchNormalization",v3.serialization.registerClass(Ine);class Ane extends N9{constructor(e){if(null==e&&(e={}),super(e),this.axis=null==e.axis?-1:e.axis,"number"==typeof this.axis){if(!Number.isInteger(this.axis))throw new Error(`Expected axis to be an integer, but received ${this.axis}`)}else{if(!Array.isArray(this.axis))throw new Error(`Expected axis to be an integer or an array of integers, but received ${JSON.stringify(this.axis)}`);for(const e of this.axis)if(!Number.isInteger(e))throw new Error(`Expected axis to be an array of integers, but received ${JSON.stringify(this.axis)}`)}this.epsilon=null==e.epsilon?.001:e.epsilon,this.center=null==e.center||e.center,this.scale=null==e.scale||e.scale,this.betaInitializer=y9(e.betaInitializer||"zeros"),this.gammaInitializer=y9(e.gammaInitializer||"ones"),this.betaRegularizer=hte(e.betaRegularizer),this.gammaRegularizer=hte(e.gammaRegularizer),this.supportsMasking=!0}build(e){const t=(e=x9(e)).length;"number"==typeof this.axis&&(this.axis=[this.axis]);for(let e=0;e=t)throw new Error(`Invalid axis: ${e}`);if(this.axis.length!==n8(this.axis).length)throw new Error(`Found duplicate axes in: ${this.axis}`);const n=this.axis.map(t=>e[t]),i=!0;this.scale?this.gamma=this.addWeight("gamma",n,"float32",this.gammaInitializer,this.gammaRegularizer,i):this.gamma=null,this.center?this.beta=this.addWeight("beta",n,"float32",this.betaInitializer,this.betaRegularizer,i):this.beta=null,this.built=!0}call(e,t){const n=T9(e),i=n.shape,r=i.length;return(0,v3.tidy)(()=>{let{mean:e,variance:t}=(0,v3.moments)(n,this.axis,!0);const s=Y6(1,r);for(const e of this.axis)s[e]=i[e];const o=e=>null!=e&&e.shape.length!==r?v3.reshape(e,s):e;let a=this.scale?o(this.gamma.read()):null,l=this.center?o(this.beta.read()):null;const u=[],c=[];for(let e=0;e=0?e[2]+this.padding[0][0]+this.padding[0][1]:null,n=null!=e[3]&&e[3]>=0?e[3]+this.padding[1][0]+this.padding[1][1]:null,[e[0],e[1],t,n]):(t=null!=e[1]&&e[1]>=0?e[1]+this.padding[0][0]+this.padding[0][1]:null,n=null!=e[2]&&e[2]>=0?e[2]+this.padding[1][0]+this.padding[1][1]:null,[e[0],t,n,e[3]])}call(e,t){return(0,v3.tidy)(()=>{return t=T9(e),n=this.padding,i=this.dataFormat,(0,v3.tidy)(()=>{if(4!==t.rank)throw new U6(`temporalPadding expects input tensor to be 4-D, but received a ${t.rank}-D tensor.`);if(null==n&&(n=[[1,1],[1,1]]),2!==n.length||2!==n[0].length||2!==n[1].length)throw new U6("spatial2dPadding expects `padding` to be an Array of two Arrays, each of which is an Array of two integers.");if(null==i&&(i="channelsLast"),"channelsLast"!==i&&"channelsFirst"!==i)throw new U6(`Unknown data format: ${i}. Supported data formats are 'channelsLast' and 'channelsFirst.`);let e;return e="channelsFirst"===i?[[0,0],[0,0],n[0],n[1]]:[[0,0],n[0],n[1],[0,0]],v3.pad(t,e)});var t,n,i})}getConfig(){const e={padding:this.padding,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}} /** * @license * Copyright 2018 Google LLC @@ -11452,7 +11452,7 @@ function _ne(e,t,n,i,r,s=.001){let o;if(2===e.rank)o=p3.batchNorm2d(e,t,n,i,r,s) * https://opensource.org/licenses/MIT. * ============================================================================= */ -function xne(e,t,n,i,r,s){return(0,p3.tidy)(()=>{let o;p8(r),m8(s),f8(i),null==n&&(n=[1,1]),null==i&&(i="valid"),null==r&&(r="channelsLast"),null==s&&(s="max"),e=gte(e,r);const a="same"===i?"same":"valid";return o="max"===s?p3.maxPool(e,t,n,a):p3.avgPool(e,t,n,a),"channelsFirst"===r&&(o=p3.transpose(o,[0,3,1,2])),o})}function Ene(e,t,n,i,r,s){return(0,p3.tidy)(()=>{let o;p8(r),m8(s),f8(i),null==n&&(n=[1,1,1]),null==i&&(i="valid"),null==r&&(r="channelsLast"),null==s&&(s="max"),e=_te(e,r);const a="same"===i?"same":"valid";return o="max"===s?p3.maxPool3d(e,t,n,a):p3.avgPool3d(e,t,n,a),"channelsFirst"===r&&(o=p3.transpose(o,[0,4,1,2,3])),o})}Tne.className="ZeroPadding2D",p3.serialization.registerClass(Tne);class wne extends S9{constructor(e){if(null==e.poolSize&&(e.poolSize=2),super(e),"number"==typeof e.poolSize)this.poolSize=[e.poolSize];else{if(!Array.isArray(e.poolSize)||1!==e.poolSize.length||"number"!=typeof e.poolSize[0])throw new D6(`poolSize for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(e.poolSize)}`);this.poolSize=e.poolSize}if(e8(this.poolSize,"poolSize"),null==e.strides)this.strides=this.poolSize;else if("number"==typeof e.strides)this.strides=[e.strides];else{if(!Array.isArray(e.strides)||1!==e.strides.length||"number"!=typeof e.strides[0])throw new D6(`strides for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(e.strides)}`);this.strides=e.strides}e8(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,f8(this.padding),this.inputSpec=[new x9({ndim:3})]}computeOutputShape(e){const t=fte((e=g9(e))[1],this.poolSize[0],this.padding,this.strides[0]);return[e[0],t,e[2]]}call(e,t){return(0,p3.tidy)(()=>{this.invokeCallHook(e,t),e=M8(m9(e),2);const n=this.poolingFunction(m9(e),[this.poolSize[0],1],[this.strides[0],1],this.padding,"channelsLast");return p3.squeeze(n,[2])})}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides},t=super.getConfig();return Object.assign(e,t),e}}class Ine extends wne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return p8(r),f8(i),xne(e,t,n,i,r,"max")}}Ine.className="MaxPooling1D",p3.serialization.registerClass(Ine);class Ane extends wne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return p8(r),f8(i),xne(e,t,n,i,r,"avg")}}Ane.className="AveragePooling1D",p3.serialization.registerClass(Ane);class Sne extends S9{constructor(e){if(null==e.poolSize&&(e.poolSize=[2,2]),super(e),this.poolSize=Array.isArray(e.poolSize)?e.poolSize:[e.poolSize,e.poolSize],null==e.strides)this.strides=this.poolSize;else if(Array.isArray(e.strides)){if(2!==e.strides.length)throw new D6(`If the strides property of a 2D pooling layer is an Array, it is expected to have a length of 2, but received length ${e.strides.length}.`);this.strides=e.strides}else this.strides=[e.strides,e.strides];e8(this.poolSize,"poolSize"),e8(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,p8(this.dataFormat),f8(this.padding),this.inputSpec=[new x9({ndim:4})]}computeOutputShape(e){e=g9(e);let t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2];return t=fte(t,this.poolSize[0],this.padding,this.strides[0]),n=fte(n,this.poolSize[1],this.padding,this.strides[1]),"channelsFirst"===this.dataFormat?[e[0],e[1],t,n]:[e[0],t,n,e[3]]}call(e,t){return(0,p3.tidy)(()=>(this.invokeCallHook(e,t),this.poolingFunction(m9(e),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class Cne extends Sne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return p8(r),f8(i),xne(e,t,n,i,r,"max")}}Cne.className="MaxPooling2D",p3.serialization.registerClass(Cne);class One extends Sne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return p8(r),f8(i),xne(e,t,n,i,r,"avg")}}One.className="AveragePooling2D",p3.serialization.registerClass(One);class Mne extends S9{constructor(e){if(null==e.poolSize&&(e.poolSize=[2,2,2]),super(e),this.poolSize=Array.isArray(e.poolSize)?e.poolSize:[e.poolSize,e.poolSize,e.poolSize],null==e.strides)this.strides=this.poolSize;else if(Array.isArray(e.strides)){if(3!==e.strides.length)throw new D6(`If the strides property of a 3D pooling layer is an Array, it is expected to have a length of 3, but received length ${e.strides.length}.`);this.strides=e.strides}else this.strides=[e.strides,e.strides,e.strides];e8(this.poolSize,"poolSize"),e8(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,p8(this.dataFormat),f8(this.padding),this.inputSpec=[new x9({ndim:5})]}computeOutputShape(e){e=g9(e);let t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2],i="channelsFirst"===this.dataFormat?e[4]:e[3];return t=fte(t,this.poolSize[0],this.padding,this.strides[0]),n=fte(n,this.poolSize[1],this.padding,this.strides[1]),i=fte(i,this.poolSize[2],this.padding,this.strides[2]),"channelsFirst"===this.dataFormat?[e[0],e[1],t,n,i]:[e[0],t,n,i,e[4]]}call(e,t){return(0,p3.tidy)(()=>(this.invokeCallHook(e,t),this.poolingFunction(m9(e),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class kne extends Mne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return p8(r),f8(i),Ene(e,t,n,i,r,"max")}}kne.className="MaxPooling3D",p3.serialization.registerClass(kne);class Rne extends Mne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return p8(r),f8(i),Ene(e,t,n,i,r,"avg")}}Rne.className="AveragePooling3D",p3.serialization.registerClass(Rne);class Nne extends S9{constructor(e){super(e),this.inputSpec=[new x9({ndim:3})]}computeOutputShape(e){return[e[0],e[2]]}call(e,t){throw new F6}}class Dne extends Nne{constructor(e){super(e||{})}call(e,t){return(0,p3.tidy)(()=>{const t=m9(e);return p3.mean(t,1)})}}Dne.className="GlobalAveragePooling1D",p3.serialization.registerClass(Dne);class Fne extends Nne{constructor(e){super(e||{})}call(e,t){return(0,p3.tidy)(()=>{const t=m9(e);return p3.max(t,1)})}}Fne.className="GlobalMaxPooling1D",p3.serialization.registerClass(Fne);class Lne extends S9{constructor(e){super(e),this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,p8(this.dataFormat),this.inputSpec=[new x9({ndim:4})]}computeOutputShape(e){return"channelsLast"===this.dataFormat?[e[0],e[3]]:[e[0],e[1]]}call(e,t){throw new F6}getConfig(){const e={dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class Pne extends Lne{call(e,t){return(0,p3.tidy)(()=>{const t=m9(e);return"channelsLast"===this.dataFormat?p3.mean(t,[1,2]):p3.mean(t,[2,3])})}}Pne.className="GlobalAveragePooling2D",p3.serialization.registerClass(Pne);class Bne extends Lne{call(e,t){return(0,p3.tidy)(()=>{const t=m9(e);return"channelsLast"===this.dataFormat?p3.max(t,[1,2]):p3.max(t,[2,3])})}}Bne.className="GlobalMaxPooling2D",p3.serialization.registerClass(Bne); +function Cne(e,t,n,i,r,s){return(0,v3.tidy)(()=>{let o;v8(r),T8(s),b8(i),null==n&&(n=[1,1]),null==i&&(i="valid"),null==r&&(r="channelsLast"),null==s&&(s="max"),e=xte(e,r);const a="same"===i?"same":"valid";return o="max"===s?v3.maxPool(e,t,n,a):v3.avgPool(e,t,n,a),"channelsFirst"===r&&(o=v3.transpose(o,[0,3,1,2])),o})}function One(e,t,n,i,r,s){return(0,v3.tidy)(()=>{let o;v8(r),T8(s),b8(i),null==n&&(n=[1,1,1]),null==i&&(i="valid"),null==r&&(r="channelsLast"),null==s&&(s="max"),e=Ete(e,r);const a="same"===i?"same":"valid";return o="max"===s?v3.maxPool3d(e,t,n,a):v3.avgPool3d(e,t,n,a),"channelsFirst"===r&&(o=v3.transpose(o,[0,4,1,2,3])),o})}Sne.className="ZeroPadding2D",v3.serialization.registerClass(Sne);class Mne extends N9{constructor(e){if(null==e.poolSize&&(e.poolSize=2),super(e),"number"==typeof e.poolSize)this.poolSize=[e.poolSize];else{if(!Array.isArray(e.poolSize)||1!==e.poolSize.length||"number"!=typeof e.poolSize[0])throw new U6(`poolSize for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(e.poolSize)}`);this.poolSize=e.poolSize}if(o8(this.poolSize,"poolSize"),null==e.strides)this.strides=this.poolSize;else if("number"==typeof e.strides)this.strides=[e.strides];else{if(!Array.isArray(e.strides)||1!==e.strides.length||"number"!=typeof e.strides[0])throw new U6(`strides for 1D convolutional layer must be a number or an Array of a single number, but received ${JSON.stringify(e.strides)}`);this.strides=e.strides}o8(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,b8(this.padding),this.inputSpec=[new C9({ndim:3})]}computeOutputShape(e){const t=bte((e=x9(e))[1],this.poolSize[0],this.padding,this.strides[0]);return[e[0],t,e[2]]}call(e,t){return(0,v3.tidy)(()=>{this.invokeCallHook(e,t),e=L8(T9(e),2);const n=this.poolingFunction(T9(e),[this.poolSize[0],1],[this.strides[0],1],this.padding,"channelsLast");return v3.squeeze(n,[2])})}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides},t=super.getConfig();return Object.assign(e,t),e}}class kne extends Mne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return v8(r),b8(i),Cne(e,t,n,i,r,"max")}}kne.className="MaxPooling1D",v3.serialization.registerClass(kne);class Rne extends Mne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return v8(r),b8(i),Cne(e,t,n,i,r,"avg")}}Rne.className="AveragePooling1D",v3.serialization.registerClass(Rne);class Nne extends N9{constructor(e){if(null==e.poolSize&&(e.poolSize=[2,2]),super(e),this.poolSize=Array.isArray(e.poolSize)?e.poolSize:[e.poolSize,e.poolSize],null==e.strides)this.strides=this.poolSize;else if(Array.isArray(e.strides)){if(2!==e.strides.length)throw new U6(`If the strides property of a 2D pooling layer is an Array, it is expected to have a length of 2, but received length ${e.strides.length}.`);this.strides=e.strides}else this.strides=[e.strides,e.strides];o8(this.poolSize,"poolSize"),o8(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,v8(this.dataFormat),b8(this.padding),this.inputSpec=[new C9({ndim:4})]}computeOutputShape(e){e=x9(e);let t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2];return t=bte(t,this.poolSize[0],this.padding,this.strides[0]),n=bte(n,this.poolSize[1],this.padding,this.strides[1]),"channelsFirst"===this.dataFormat?[e[0],e[1],t,n]:[e[0],t,n,e[3]]}call(e,t){return(0,v3.tidy)(()=>(this.invokeCallHook(e,t),this.poolingFunction(T9(e),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class Dne extends Nne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return v8(r),b8(i),Cne(e,t,n,i,r,"max")}}Dne.className="MaxPooling2D",v3.serialization.registerClass(Dne);class Fne extends Nne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return v8(r),b8(i),Cne(e,t,n,i,r,"avg")}}Fne.className="AveragePooling2D",v3.serialization.registerClass(Fne);class Lne extends N9{constructor(e){if(null==e.poolSize&&(e.poolSize=[2,2,2]),super(e),this.poolSize=Array.isArray(e.poolSize)?e.poolSize:[e.poolSize,e.poolSize,e.poolSize],null==e.strides)this.strides=this.poolSize;else if(Array.isArray(e.strides)){if(3!==e.strides.length)throw new U6(`If the strides property of a 3D pooling layer is an Array, it is expected to have a length of 3, but received length ${e.strides.length}.`);this.strides=e.strides}else this.strides=[e.strides,e.strides,e.strides];o8(this.poolSize,"poolSize"),o8(this.strides,"strides"),this.padding=null==e.padding?"valid":e.padding,this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,v8(this.dataFormat),b8(this.padding),this.inputSpec=[new C9({ndim:5})]}computeOutputShape(e){e=x9(e);let t="channelsFirst"===this.dataFormat?e[2]:e[1],n="channelsFirst"===this.dataFormat?e[3]:e[2],i="channelsFirst"===this.dataFormat?e[4]:e[3];return t=bte(t,this.poolSize[0],this.padding,this.strides[0]),n=bte(n,this.poolSize[1],this.padding,this.strides[1]),i=bte(i,this.poolSize[2],this.padding,this.strides[2]),"channelsFirst"===this.dataFormat?[e[0],e[1],t,n,i]:[e[0],t,n,i,e[4]]}call(e,t){return(0,v3.tidy)(()=>(this.invokeCallHook(e,t),this.poolingFunction(T9(e),this.poolSize,this.strides,this.padding,this.dataFormat)))}getConfig(){const e={poolSize:this.poolSize,padding:this.padding,strides:this.strides,dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class Pne extends Lne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return v8(r),b8(i),One(e,t,n,i,r,"max")}}Pne.className="MaxPooling3D",v3.serialization.registerClass(Pne);class Bne extends Lne{constructor(e){super(e)}poolingFunction(e,t,n,i,r){return v8(r),b8(i),One(e,t,n,i,r,"avg")}}Bne.className="AveragePooling3D",v3.serialization.registerClass(Bne);class $ne extends N9{constructor(e){super(e),this.inputSpec=[new C9({ndim:3})]}computeOutputShape(e){return[e[0],e[2]]}call(e,t){throw new V6}}class Une extends $ne{constructor(e){super(e||{})}call(e,t){return(0,v3.tidy)(()=>{const t=T9(e);return v3.mean(t,1)})}}Une.className="GlobalAveragePooling1D",v3.serialization.registerClass(Une);class Vne extends $ne{constructor(e){super(e||{})}call(e,t){return(0,v3.tidy)(()=>{const t=T9(e);return v3.max(t,1)})}}Vne.className="GlobalMaxPooling1D",v3.serialization.registerClass(Vne);class zne extends N9{constructor(e){super(e),this.dataFormat=null==e.dataFormat?"channelsLast":e.dataFormat,v8(this.dataFormat),this.inputSpec=[new C9({ndim:4})]}computeOutputShape(e){return"channelsLast"===this.dataFormat?[e[0],e[3]]:[e[0],e[1]]}call(e,t){throw new V6}getConfig(){const e={dataFormat:this.dataFormat},t=super.getConfig();return Object.assign(e,t),e}}class jne extends zne{call(e,t){return(0,v3.tidy)(()=>{const t=T9(e);return"channelsLast"===this.dataFormat?v3.mean(t,[1,2]):v3.mean(t,[2,3])})}}jne.className="GlobalAveragePooling2D",v3.serialization.registerClass(jne);class Yne extends zne{call(e,t){return(0,v3.tidy)(()=>{const t=T9(e);return"channelsLast"===this.dataFormat?v3.max(t,[1,2]):v3.max(t,[2,3])})}}Yne.className="GlobalMaxPooling2D",v3.serialization.registerClass(Yne); /** * @license * Copyright 2018 Google LLC @@ -11462,7 +11462,7 @@ function xne(e,t,n,i,r,s){return(0,p3.tidy)(()=>{let o;p8(r),m8(s),f8(i),null==n * https://opensource.org/licenses/MIT. * ============================================================================= */ -class $ne extends S9{constructor(e){super(e),this.layer=e.layer}build(e){this.built=!0}get trainable(){return null!=this.layer&&this.layer.trainable}set trainable(e){null!=this.layer&&(this.layer.trainable=e)}get trainableWeights(){return this.layer.trainableWeights}get nonTrainableWeights(){return this.layer.nonTrainableWeights}get updates(){return this.layer._updates}get losses(){return this.layer.losses}getWeights(){return this.layer.getWeights()}setWeights(e){this.layer.setWeights(e)}getConfig(){const e={layer:{className:this.layer.getClassName(),config:this.layer.getConfig()}},t=super.getConfig();return Object.assign(e,t),e}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.layer&&this.layer.setFastWeightInitDuringBuild(e)}static fromConfig(e,t,n={}){const i=w7(t.layer,n);delete t.layer;const r={layer:i};return Object.assign(r,t),new e(r)}}class Une extends $ne{constructor(e){super(e),this.supportsMasking=!0}build(e){if((e=g9(e)).length<3)throw new D6(`TimeDistributed layer expects an input shape >= 3D, but received input shape ${JSON.stringify(e)}`);this.inputSpec=[{shape:e}];const t=[e[0]].concat(e.slice(2));this.layer.built||(this.layer.build(t),this.layer.built=!0),super.build(e)}computeOutputShape(e){const t=[(e=g9(e))[0]].concat(e.slice(2)),n=this.layer.computeOutputShape(t),i=e[1];return[n[0],i].concat(n.slice(1))}call(e,t){return(0,p3.tidy)(()=>Dte((e,n)=>[m9(this.layer.call(e,t)),[]],e=m9(e),[],!1,null,null,!1,!0)[1])}}Une.className="TimeDistributed",p3.serialization.registerClass(Une);class Vne extends $ne{constructor(e){super(e);const t=e.layer.getConfig(),n={};n.className=e.layer.getClassName(),n.config=t,this.forwardLayer=w7(n),t.goBackwards=!0!==t.goBackwards;const i={};var r;if(i.className=e.layer.getClassName(),i.config=t,this.backwardLayer=w7(i),this.forwardLayer.name="forward_"+this.forwardLayer.name,this.backwardLayer.name="backward_"+this.backwardLayer.name,this.mergeMode=void 0===e.mergeMode?"concat":e.mergeMode,r=this.mergeMode,Q6(d8,"BidirectionalMergeMode",r),e.weights)throw new F6("weights support is not implemented for Bidirectional layer yet.");this._stateful=e.layer.stateful,this.returnSequences=e.layer.returnSequences,this.returnState=e.layer.returnState,this.supportsMasking=!0,this._trainable=!0,this.inputSpec=e.layer.inputSpec,this.numConstants=null}get trainable(){return this._trainable}set trainable(e){this._trainable=e,null!=this.forwardLayer&&(this.forwardLayer.trainable=e),null!=this.backwardLayer&&(this.backwardLayer.trainable=e)}getWeights(){return this.forwardLayer.getWeights().concat(this.backwardLayer.getWeights())}setWeights(e){const t=e.length,n=Math.floor(t/2);this.forwardLayer.setWeights(e.slice(0,n)),this.backwardLayer.setWeights(e.slice(n))}computeOutputShape(e){let t,n,i,r=this.forwardLayer.computeOutputShape(e);return Array.isArray(r)&&Array.isArray(r[0])||(r=[r]),this.returnState?(i=r.slice(1),t=r[0]):t=r[0],"concat"===this.mergeMode?(t[t.length-1]*=2,n=[t]):n=null==this.mergeMode?[t,t.slice()]:[t],this.returnState?null==this.mergeMode?n.concat(i).concat(i.slice()):[t].concat(i).concat(i.slice()):V6(n)}apply(e,t){let n=null==t?null:t.initialState,i=null==t?null:t.constants;null==t&&(t={});const r=Nte(e,n,i,this.numConstants);if(e=r.inputs,n=r.initialState,i=r.constants,Array.isArray(e)&&(n=e.slice(1),e=e[0]),(null==n||0===n.length)&&null==i)return super.apply(e,t);const s=[],o=[];if(null!=n){const e=n.length;if(e%2>0)throw new D6("When passing `initialState` to a Bidrectional RNN, the state should be an Array containing the states of the underlying RNNs.");t.initialState=n,s.push(...n);const i=n.map(e=>new x9({shape:e.shape}));this.forwardLayer.stateSpec=i.slice(0,e/2),this.backwardLayer.stateSpec=i.slice(e/2),o.push(...i)}if(null!=i)throw new F6("Support for constants in Bidirectional layers is not implemented yet.");const a=s[0]instanceof E9;for(const e of s)if(e instanceof E9!==a)throw new D6("The initial state of a Bidirectional layer cannot be specified as a mix of symbolic and non-symbolic tensors");if(a){const n=[e].concat(s),i=this.inputSpec.concat(o),r=this.inputSpec;this.inputSpec=i;const a=super.apply(n,t);return this.inputSpec=r,a}return super.apply(e,t)}call(e,t){return(0,p3.tidy)(()=>{const n=t.initialState;let i,r,s,o;if(null==n)i=this.forwardLayer.call(e,t),r=this.backwardLayer.call(e,t);else{const s=n.slice(0,n.length/2),o=n.slice(n.length/2);i=this.forwardLayer.call(e,Object.assign(t,{initialState:s})),r=this.backwardLayer.call(e,Object.assign(t,{initialState:o}))}return this.returnState&&(Array.isArray(i)&&(s=i.slice(1).concat(r.slice(1))),i=i[0],r=r[0]),this.returnSequences&&(r=p3.reverse(r,1)),"concat"===this.mergeMode?o=D8([i,r]):"sum"===this.mergeMode?o=p3.add(i,r):"ave"===this.mergeMode?o=p3.mul(.5,p3.add(i,r)):"mul"===this.mergeMode?o=p3.mul(i,r):null==this.mergeMode&&(o=[i,r]),this.returnState?null==this.mergeMode?o.concat(s):[o].concat(s):o})}resetStates(e){this.forwardLayer.resetStates(),this.backwardLayer.resetStates()}build(e){_8(this.forwardLayer.name,()=>{this.forwardLayer.build(e)}),_8(this.backwardLayer.name,()=>{this.backwardLayer.build(e)}),this.built=!0}computeMask(e,t){let n;if(Array.isArray(t)&&(t=t[0]),n=this.returnSequences?null==this.mergeMode?[t,t]:t:null==this.mergeMode?[null,null]:null,this.returnState){const e=this.forwardLayer.states.map(e=>null);return Array.isArray(n)?n.concat(e).concat(e):[n].concat(e).concat(e)}return n}get trainableWeights(){return this.forwardLayer.trainableWeights.concat(this.backwardLayer.trainableWeights)}get nonTrainableWeights(){return this.forwardLayer.nonTrainableWeights.concat(this.backwardLayer.nonTrainableWeights)}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.forwardLayer&&this.forwardLayer.setFastWeightInitDuringBuild(e),null!=this.backwardLayer&&this.backwardLayer.setFastWeightInitDuringBuild(e)}getConfig(){const e={mergeMode:this.mergeMode},t=super.getConfig();return Object.assign(e,t),e}static fromConfig(e,t){const n=w7(t.layer);if(delete t.layer,null!=t.numConstants)throw new F6("Deserialization of a Bidirectional layer with numConstants present is not supported yet.");const i=t;return i.layer=n,new e(i)}}Vne.className="Bidirectional",p3.serialization.registerClass(Vne); +class Gne extends N9{constructor(e){super(e),this.layer=e.layer}build(e){this.built=!0}get trainable(){return null!=this.layer&&this.layer.trainable}set trainable(e){null!=this.layer&&(this.layer.trainable=e)}get trainableWeights(){return this.layer.trainableWeights}get nonTrainableWeights(){return this.layer.nonTrainableWeights}get updates(){return this.layer._updates}get losses(){return this.layer.losses}getWeights(){return this.layer.getWeights()}setWeights(e){this.layer.setWeights(e)}getConfig(){const e={layer:{className:this.layer.getClassName(),config:this.layer.getConfig()}},t=super.getConfig();return Object.assign(e,t),e}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.layer&&this.layer.setFastWeightInitDuringBuild(e)}static fromConfig(e,t,n={}){const i=M7(t.layer,n);delete t.layer;const r={layer:i};return Object.assign(r,t),new e(r)}}class Hne extends Gne{constructor(e){super(e),this.supportsMasking=!0}build(e){if((e=x9(e)).length<3)throw new U6(`TimeDistributed layer expects an input shape >= 3D, but received input shape ${JSON.stringify(e)}`);this.inputSpec=[{shape:e}];const t=[e[0]].concat(e.slice(2));this.layer.built||(this.layer.build(t),this.layer.built=!0),super.build(e)}computeOutputShape(e){const t=[(e=x9(e))[0]].concat(e.slice(2)),n=this.layer.computeOutputShape(t),i=e[1];return[n[0],i].concat(n.slice(1))}call(e,t){return(0,v3.tidy)(()=>Ute((e,n)=>[T9(this.layer.call(e,t)),[]],e=T9(e),[],!1,null,null,!1,!0)[1])}}Hne.className="TimeDistributed",v3.serialization.registerClass(Hne);class Wne extends Gne{constructor(e){super(e);const t=e.layer.getConfig(),n={};n.className=e.layer.getClassName(),n.config=t,this.forwardLayer=M7(n),t.goBackwards=!0!==t.goBackwards;const i={};var r;if(i.className=e.layer.getClassName(),i.config=t,this.backwardLayer=M7(i),this.forwardLayer.name="forward_"+this.forwardLayer.name,this.backwardLayer.name="backward_"+this.backwardLayer.name,this.mergeMode=void 0===e.mergeMode?"concat":e.mergeMode,r=this.mergeMode,r8(_8,"BidirectionalMergeMode",r),e.weights)throw new V6("weights support is not implemented for Bidirectional layer yet.");this._stateful=e.layer.stateful,this.returnSequences=e.layer.returnSequences,this.returnState=e.layer.returnState,this.supportsMasking=!0,this._trainable=!0,this.inputSpec=e.layer.inputSpec,this.numConstants=null}get trainable(){return this._trainable}set trainable(e){this._trainable=e,null!=this.forwardLayer&&(this.forwardLayer.trainable=e),null!=this.backwardLayer&&(this.backwardLayer.trainable=e)}getWeights(){return this.forwardLayer.getWeights().concat(this.backwardLayer.getWeights())}setWeights(e){const t=e.length,n=Math.floor(t/2);this.forwardLayer.setWeights(e.slice(0,n)),this.backwardLayer.setWeights(e.slice(n))}computeOutputShape(e){let t,n,i,r=this.forwardLayer.computeOutputShape(e);return Array.isArray(r)&&Array.isArray(r[0])||(r=[r]),this.returnState?(i=r.slice(1),t=r[0]):t=r[0],"concat"===this.mergeMode?(t[t.length-1]*=2,n=[t]):n=null==this.mergeMode?[t,t.slice()]:[t],this.returnState?null==this.mergeMode?n.concat(i).concat(i.slice()):[t].concat(i).concat(i.slice()):W6(n)}apply(e,t){let n=null==t?null:t.initialState,i=null==t?null:t.constants;null==t&&(t={});const r=$te(e,n,i,this.numConstants);if(e=r.inputs,n=r.initialState,i=r.constants,Array.isArray(e)&&(n=e.slice(1),e=e[0]),(null==n||0===n.length)&&null==i)return super.apply(e,t);const s=[],o=[];if(null!=n){const e=n.length;if(e%2>0)throw new U6("When passing `initialState` to a Bidrectional RNN, the state should be an Array containing the states of the underlying RNNs.");t.initialState=n,s.push(...n);const i=n.map(e=>new C9({shape:e.shape}));this.forwardLayer.stateSpec=i.slice(0,e/2),this.backwardLayer.stateSpec=i.slice(e/2),o.push(...i)}if(null!=i)throw new V6("Support for constants in Bidirectional layers is not implemented yet.");const a=s[0]instanceof O9;for(const e of s)if(e instanceof O9!==a)throw new U6("The initial state of a Bidirectional layer cannot be specified as a mix of symbolic and non-symbolic tensors");if(a){const n=[e].concat(s),i=this.inputSpec.concat(o),r=this.inputSpec;this.inputSpec=i;const a=super.apply(n,t);return this.inputSpec=r,a}return super.apply(e,t)}call(e,t){return(0,v3.tidy)(()=>{const n=t.initialState;let i,r,s,o;if(null==n)i=this.forwardLayer.call(e,t),r=this.backwardLayer.call(e,t);else{const s=n.slice(0,n.length/2),o=n.slice(n.length/2);i=this.forwardLayer.call(e,Object.assign(t,{initialState:s})),r=this.backwardLayer.call(e,Object.assign(t,{initialState:o}))}return this.returnState&&(Array.isArray(i)&&(s=i.slice(1).concat(r.slice(1))),i=i[0],r=r[0]),this.returnSequences&&(r=v3.reverse(r,1)),"concat"===this.mergeMode?o=U8([i,r]):"sum"===this.mergeMode?o=v3.add(i,r):"ave"===this.mergeMode?o=v3.mul(.5,v3.add(i,r)):"mul"===this.mergeMode?o=v3.mul(i,r):null==this.mergeMode&&(o=[i,r]),this.returnState?null==this.mergeMode?o.concat(s):[o].concat(s):o})}resetStates(e){this.forwardLayer.resetStates(),this.backwardLayer.resetStates()}build(e){E8(this.forwardLayer.name,()=>{this.forwardLayer.build(e)}),E8(this.backwardLayer.name,()=>{this.backwardLayer.build(e)}),this.built=!0}computeMask(e,t){let n;if(Array.isArray(t)&&(t=t[0]),n=this.returnSequences?null==this.mergeMode?[t,t]:t:null==this.mergeMode?[null,null]:null,this.returnState){const e=this.forwardLayer.states.map(e=>null);return Array.isArray(n)?n.concat(e).concat(e):[n].concat(e).concat(e)}return n}get trainableWeights(){return this.forwardLayer.trainableWeights.concat(this.backwardLayer.trainableWeights)}get nonTrainableWeights(){return this.forwardLayer.nonTrainableWeights.concat(this.backwardLayer.nonTrainableWeights)}setFastWeightInitDuringBuild(e){super.setFastWeightInitDuringBuild(e),null!=this.forwardLayer&&this.forwardLayer.setFastWeightInitDuringBuild(e),null!=this.backwardLayer&&this.backwardLayer.setFastWeightInitDuringBuild(e)}getConfig(){const e={mergeMode:this.mergeMode},t=super.getConfig();return Object.assign(e,t),e}static fromConfig(e,t){const n=M7(t.layer);if(delete t.layer,null!=t.numConstants)throw new V6("Deserialization of a Bidirectional layer with numConstants present is not supported yet.");const i=t;return i.layer=n,new e(i)}}Wne.className="Bidirectional",v3.serialization.registerClass(Wne); /** * @license * Copyright 2022 CodeSmith LLC @@ -11472,7 +11472,7 @@ class $ne extends S9{constructor(e){super(e),this.layer=e.layer}build(e){this.bu * https://opensource.org/licenses/MIT. * ============================================================================= */ -class zne extends S9{constructor(e){super(e),this.scale=e.scale,e.offset?this.offset=e.offset:this.offset=0}getConfig(){const e={scale:this.scale,offset:this.offset},t=super.getConfig();return Object.assign(e,t),e}call(e,t){return(0,p3.tidy)(()=>("float32"!==(e=m9(e)).dtype&&(e=O8(e,"float32")),(0,p3.add)((0,p3.mul)(e,this.scale),this.offset)))}}zne.className="Rescaling",p3.serialization.registerClass(zne); +class Xne extends N9{constructor(e){super(e),this.scale=e.scale,e.offset?this.offset=e.offset:this.offset=0}getConfig(){const e={scale:this.scale,offset:this.offset},t=super.getConfig();return Object.assign(e,t),e}call(e,t){return(0,v3.tidy)(()=>("float32"!==(e=T9(e)).dtype&&(e=F8(e,"float32")),(0,v3.add)((0,v3.mul)(e,this.scale),this.offset)))}}Xne.className="Rescaling",v3.serialization.registerClass(Xne); /** * @license * Copyright 2022 CodeSmith LLC @@ -11482,7 +11482,7 @@ class zne extends S9{constructor(e){super(e),this.scale=e.scale,e.offset?this.of * https://opensource.org/licenses/MIT. * ============================================================================= */ -const{resizeBilinear:jne,cropAndResize:Yne}=p3.image;class Gne extends S9{constructor(e){super(e),this.height=e.height,this.width=e.width}centerCrop(e,t,n,i,r,s,o,a){return(0,p3.tidy)(()=>{let l,u=!1;const c=[t/s,n/o,(i+t)/s,(r+n)/o],d=[];3===e.rank?(u=!0,l=(0,p3.stack)([e])):l=e;for(let e=0;eO8(jne(e,[t,n]),i))}call(e,t){return(0,p3.tidy)(()=>{const t=m9(e),n=t.dtype,i=t.shape,r=i[i.length-3],s=i[i.length-2];let o=0;r!==this.height&&(o=Math.floor((r-this.height)/2));let a=0;return s!==this.width&&(a=Math.floor((s-this.width)/2),0===a&&(a=1)),o>=0&&a>=0?this.centerCrop(t,o,a,this.height,this.width,r,s,n):this.upsize(e,this.height,this.width,n)})}getConfig(){const e={height:this.height,width:this.width},t=super.getConfig();return Object.assign(e,t),e}computeOutputShape(e){const t=(e=g9(e)).length-3,n=e.length-2;return e[t]=this.height,e[n]=this.width,e}}Gne.className="CenterCrop",p3.serialization.registerClass(Gne); +const{resizeBilinear:qne,cropAndResize:Kne}=v3.image;class Zne extends N9{constructor(e){super(e),this.height=e.height,this.width=e.width}centerCrop(e,t,n,i,r,s,o,a){return(0,v3.tidy)(()=>{let l,u=!1;const c=[t/s,n/o,(i+t)/s,(r+n)/o],d=[];3===e.rank?(u=!0,l=(0,v3.stack)([e])):l=e;for(let e=0;eF8(qne(e,[t,n]),i))}call(e,t){return(0,v3.tidy)(()=>{const t=T9(e),n=t.dtype,i=t.shape,r=i[i.length-3],s=i[i.length-2];let o=0;r!==this.height&&(o=Math.floor((r-this.height)/2));let a=0;return s!==this.width&&(a=Math.floor((s-this.width)/2),0===a&&(a=1)),o>=0&&a>=0?this.centerCrop(t,o,a,this.height,this.width,r,s,n):this.upsize(e,this.height,this.width,n)})}getConfig(){const e={height:this.height,width:this.width},t=super.getConfig();return Object.assign(e,t),e}computeOutputShape(e){const t=(e=x9(e)).length-3,n=e.length-2;return e[t]=this.height,e[n]=this.width,e}}Zne.className="CenterCrop",v3.serialization.registerClass(Zne); /** * @license * Copyright 2022 CodeSmith LLC @@ -11492,7 +11492,7 @@ const{resizeBilinear:jne,cropAndResize:Yne}=p3.image;class Gne extends S9{constr * https://opensource.org/licenses/MIT. * ============================================================================= */ -class Hne extends S9{constructor(e){super(e),this.numTokens=e.numTokens,e.outputMode?this.outputMode=e.outputMode:this.outputMode="multiHot"}getConfig(){const e={numTokens:this.numTokens,outputMode:this.outputMode},t=super.getConfig();return Object.assign(e,t),e}computeOutputShape(e){return null==(e=g9(e))?[this.numTokens]:"oneHot"===this.outputMode&&1!==e[e.length-1]?(e.push(this.numTokens),e):(e[e.length-1]=this.numTokens,e)}call(e,t){return(0,p3.tidy)(()=>{let n;if("int32"!==(e=m9(e)).dtype&&(e=O8(e,"int32")),void 0!==t.countWeights){if("count"!==this.outputMode)throw new D6(`countWeights is not used when outputMode !== count.\n Received countWeights=${t.countWeights}`);n=m9(t.countWeights)}const i=(0,p3.max)(e),r=(0,p3.min)(e),s=(0,p3.greater)(this.numTokens,i).bufferSync().get(0),o=(0,p3.greaterEqual)(r,0).bufferSync().get(0);if(!s||!o)throw new D6(`Input values must be between 0 < values <= numTokens with numTokens=${this.numTokens}`); +class Qne extends N9{constructor(e){super(e),this.numTokens=e.numTokens,e.outputMode?this.outputMode=e.outputMode:this.outputMode="multiHot"}getConfig(){const e={numTokens:this.numTokens,outputMode:this.outputMode},t=super.getConfig();return Object.assign(e,t),e}computeOutputShape(e){return null==(e=x9(e))?[this.numTokens]:"oneHot"===this.outputMode&&1!==e[e.length-1]?(e.push(this.numTokens),e):(e[e.length-1]=this.numTokens,e)}call(e,t){return(0,v3.tidy)(()=>{let n;if("int32"!==(e=T9(e)).dtype&&(e=F8(e,"int32")),void 0!==t.countWeights){if("count"!==this.outputMode)throw new U6(`countWeights is not used when outputMode !== count.\n Received countWeights=${t.countWeights}`);n=T9(t.countWeights)}const i=(0,v3.max)(e),r=(0,v3.min)(e),s=(0,v3.greater)(this.numTokens,i).bufferSync().get(0),o=(0,v3.greaterEqual)(r,0).bufferSync().get(0);if(!s||!o)throw new U6(`Input values must be between 0 < values <= numTokens with numTokens=${this.numTokens}`); /** * @license * Copyright 2022 CodeSmith LLC @@ -11502,7 +11502,7 @@ class Hne extends S9{constructor(e){super(e),this.numTokens=e.numTokens,e.output * https://opensource.org/licenses/MIT. * ============================================================================= */ -return function(e,t,n,i){let r=m9(e);if("int32"!==r.dtype&&(r=O8(r,"int32")),"int"===t)return r;const s=r.shape;if(0===r.rank&&(r=(0,p3.expandDims)(r,-1)),"oneHot"===t&&1!==r.shape[r.shape.length-1]&&(r=(0,p3.expandDims)(r,-1)),r.rank>2)throw new D6(`When outputMode is not int, maximum output rank is 2 Received outputMode ${t} and input shape ${s} which would result in output rank ${r.rank}.`);const o=["multiHot","oneHot"].includes(t),a=r;let l;if(l=void 0!==i&&"count"===t?(0,p3.denseBincount)(a,i,n,o):(0,p3.denseBincount)(a,[],n,o),"tfIdf"!==t)return l;if(i)return(0,p3.mul)(l,i);throw new D6("When outputMode is 'tfIdf', weights must be provided.")}(e,this.outputMode,this.numTokens,n)})}}Hne.className="CategoryEncoding",p3.serialization.registerClass(Hne); +return function(e,t,n,i){let r=T9(e);if("int32"!==r.dtype&&(r=F8(r,"int32")),"int"===t)return r;const s=r.shape;if(0===r.rank&&(r=(0,v3.expandDims)(r,-1)),"oneHot"===t&&1!==r.shape[r.shape.length-1]&&(r=(0,v3.expandDims)(r,-1)),r.rank>2)throw new U6(`When outputMode is not int, maximum output rank is 2 Received outputMode ${t} and input shape ${s} which would result in output rank ${r.rank}.`);const o=["multiHot","oneHot"].includes(t),a=r;let l;if(l=void 0!==i&&"count"===t?(0,v3.denseBincount)(a,i,n,o):(0,v3.denseBincount)(a,[],n,o),"tfIdf"!==t)return l;if(i)return(0,v3.mul)(l,i);throw new U6("When outputMode is 'tfIdf', weights must be provided.")}(e,this.outputMode,this.numTokens,n)})}}Qne.className="CategoryEncoding",v3.serialization.registerClass(Qne); /** * @license * Copyright 2022 CodeSmith LLC @@ -11512,7 +11512,7 @@ return function(e,t,n,i){let r=m9(e);if("int32"!==r.dtype&&(r=O8(r,"int32")),"in * https://opensource.org/licenses/MIT. * ============================================================================= */ -const Wne=new Set(["bilinear","nearest"]);class Xne extends S9{constructor(e){if(super(e),this.height=e.height,this.width=e.width,e.interpolation){if(!Wne.has(e.interpolation))throw new D6(`Invalid interpolation parameter: ${e.interpolation} is not implemented`);this.interpolation=e.interpolation}else this.interpolation="bilinear";this.cropToAspectRatio=Boolean(e.cropToAspectRatio)}computeOutputShape(e){const t=(e=g9(e))[2];return[this.height,this.width,t]}getConfig(){const e={height:this.height,width:this.width,interpolation:this.interpolation,cropToAspectRatio:this.cropToAspectRatio},t=super.getConfig();return Object.assign(e,t),e}call(e,t){return(0,p3.tidy)(()=>{const t=[this.height,this.width];if("bilinear"===this.interpolation)return p3.image.resizeBilinear(e,t,!this.cropToAspectRatio);if("nearest"===this.interpolation)return p3.image.resizeNearestNeighbor(e,t,!this.cropToAspectRatio);throw new Error(`Interpolation is ${this.interpolation} but only ${[...Wne]} are supported`)})}}Xne.className="Resizing",p3.serialization.registerClass(Xne); +const Jne=new Set(["bilinear","nearest"]);class eie extends N9{constructor(e){if(super(e),this.height=e.height,this.width=e.width,e.interpolation){if(!Jne.has(e.interpolation))throw new U6(`Invalid interpolation parameter: ${e.interpolation} is not implemented`);this.interpolation=e.interpolation}else this.interpolation="bilinear";this.cropToAspectRatio=Boolean(e.cropToAspectRatio)}computeOutputShape(e){const t=(e=x9(e))[2];return[this.height,this.width,t]}getConfig(){const e={height:this.height,width:this.width,interpolation:this.interpolation,cropToAspectRatio:this.cropToAspectRatio},t=super.getConfig();return Object.assign(e,t),e}call(e,t){return(0,v3.tidy)(()=>{const t=[this.height,this.width];if("bilinear"===this.interpolation)return v3.image.resizeBilinear(e,t,!this.cropToAspectRatio);if("nearest"===this.interpolation)return v3.image.resizeNearestNeighbor(e,t,!this.cropToAspectRatio);throw new Error(`Interpolation is ${this.interpolation} but only ${[...Jne]} are supported`)})}}eie.className="Resizing",v3.serialization.registerClass(eie); /** * @license * Copyright 2023 CodeSmith LLC @@ -11522,7 +11522,7 @@ const Wne=new Set(["bilinear","nearest"]);class Xne extends S9{constructor(e){if * https://opensource.org/licenses/MIT. * ============================================================================= */ -class qne{constructor(e){this.seed=e}next(){if(void 0!==this.seed)return this.seed++}}qne.className="RandomSeed"; +class tie{constructor(e){this.seed=e}next(){if(void 0!==this.seed)return this.seed++}}tie.className="RandomSeed"; /** * @license * Copyright 2023 CodeSmith LLC @@ -11532,7 +11532,7 @@ class qne{constructor(e){this.seed=e}next(){if(void 0!==this.seed)return this.se * https://opensource.org/licenses/MIT. * ============================================================================= */ -class Kne extends S9{constructor(e){super(e),this.randomGenerator=new qne(e.seed)}getConfig(){const e={seed:this.randomGenerator.seed},t=super.getConfig();return Object.assign(e,t),e}}Kne.className="BaseRandomLayer"; +class nie extends N9{constructor(e){super(e),this.randomGenerator=new tie(e.seed)}getConfig(){const e={seed:this.randomGenerator.seed},t=super.getConfig();return Object.assign(e,t),e}}nie.className="BaseRandomLayer"; /** * @license * Copyright 2023 CodeSmith LLC @@ -11542,7 +11542,7 @@ class Kne extends S9{constructor(e){super(e),this.randomGenerator=new qne(e.seed * https://opensource.org/licenses/MIT. * ============================================================================= */ -const Zne=new Set(["bilinear","nearest"]);class Qne extends Kne{constructor(e){super(e);const{factor:t,interpolation:n="bilinear"}=e;if(this.factor=t,Array.isArray(this.factor)&&2===this.factor.length)this.widthLower=this.factor[0],this.widthUpper=this.factor[1];else{if(Array.isArray(this.factor)||!(this.factor>0))throw new D6(`Invalid factor: ${this.factor}. Must be positive number or tuple of 2 numbers`);this.widthLower=-this.factor,this.widthUpper=this.factor}if(this.widthLower<-1||this.widthUpper<-1)throw new D6(`factor must have values larger than -1. Got: ${this.factor}`);if(this.widthUpper{const t=m9(e);this.imgHeight=t.shape[t.shape.length-3];const n=t.shape[t.shape.length-2];this.widthFactor=(0,p3.randomUniform)([1],1+this.widthLower,1+this.widthUpper,"float32",this.randomGenerator.next());let i=this.widthFactor.dataSync()[0]*n;i=Math.round(i);const r=[this.imgHeight,i];switch(this.interpolation){case"bilinear":return p3.image.resizeBilinear(e,r);case"nearest":return p3.image.resizeNearestNeighbor(e,r);default:throw new Error(`Interpolation is ${this.interpolation}\n but only ${[...Zne]} are supported`)}})}} +const iie=new Set(["bilinear","nearest"]);class rie extends nie{constructor(e){super(e);const{factor:t,interpolation:n="bilinear"}=e;if(this.factor=t,Array.isArray(this.factor)&&2===this.factor.length)this.widthLower=this.factor[0],this.widthUpper=this.factor[1];else{if(Array.isArray(this.factor)||!(this.factor>0))throw new U6(`Invalid factor: ${this.factor}. Must be positive number or tuple of 2 numbers`);this.widthLower=-this.factor,this.widthUpper=this.factor}if(this.widthLower<-1||this.widthUpper<-1)throw new U6(`factor must have values larger than -1. Got: ${this.factor}`);if(this.widthUpper{const t=T9(e);this.imgHeight=t.shape[t.shape.length-3];const n=t.shape[t.shape.length-2];this.widthFactor=(0,v3.randomUniform)([1],1+this.widthLower,1+this.widthUpper,"float32",this.randomGenerator.next());let i=this.widthFactor.dataSync()[0]*n;i=Math.round(i);const r=[this.imgHeight,i];switch(this.interpolation){case"bilinear":return v3.image.resizeBilinear(e,r);case"nearest":return v3.image.resizeNearestNeighbor(e,r);default:throw new Error(`Interpolation is ${this.interpolation}\n but only ${[...iie]} are supported`)}})}} /** * @license * Copyright 2018 Google LLC @@ -11552,7 +11552,7 @@ const Zne=new Set(["bilinear","nearest"]);class Qne extends Kne{constructor(e){s * https://opensource.org/licenses/MIT. * ============================================================================= */ -function Jne(e){return new O9(e)}function eie(e){return new cte(e)}function tie(e){return new ate(e)}function nie(e){return new lte(e)}function iie(e){return new ute(e)}function rie(e){return new hte(e)}function sie(e){return new dte(e)}function oie(e){return new Ote(e)}function aie(e){return new Ete(e)}function lie(e){return new Ite(e)}function uie(e){return new wte(e)}function cie(e){return new Ate(e)}function die(e){return new Cte(e)}function hie(e){return new Mte(e)}function pie(e){return new kte(e)}function fie(e){return new Rte(e)}function mie(e){return new Jte(e)}function gie(e){return new Zte(e)}function _ie(e){return new qte(e)}function yie(e){return new Kte(e)}function vie(e){return new Qte(e)}function bie(e){return new ene(e)}function Tie(e){return new tne(e)}function xie(e){return new nne(e)}function Eie(e){return new rne(e)}function wie(e){return new one(e)}function Iie(e){return new lne(e)}function Aie(e){return new dne(e)}function Sie(e){return new une(e)}function Cie(e){return new cne(e)}function Oie(e){return new ane(e)}function Mie(e){return new pne(e)}function kie(e){return new vne(e)}function Rie(e){return new bne(e)}function Nie(e){return new Tne(e)}function Die(e){return new Ane(e)}function Fie(e){return Die(e)}function Lie(e){return Die(e)}function Pie(e){return new One(e)}function Bie(e){return Pie(e)}function $ie(e){return Pie(e)}function Uie(e){return new Rne(e)}function Vie(e){return Uie(e)}function zie(e){return Uie(e)}function jie(e){return new Dne(e)}function Yie(e){return new Pne(e)}function Gie(e){return new Fne(e)}function Hie(e){return new Bne(e)}function Wie(e){return new Ine(e)}function Xie(e){return new Cne(e)}function qie(e){return new kne(e)}function Kie(e){return new Ute(e)}function Zie(e){return new $te(e)}function Qie(e){return new zte(e)}function Jie(e){return new Vte(e)}function ere(e){return new Bte(e)}function tre(e){return new Pte(e)}function nre(e){return new Xte(e)}function ire(e){return new Wte(e)}function rre(e){return new Fte(e)}function sre(e){return new jte(e)}function ore(e){return new Vne(e)}function are(e){return new Une(e)}Qne.className="RandomWidth",p3.serialization.registerClass(Qne);const lre=Gie,ure=Hie,cre=Wie,dre=Xie;function hre(e){return new fne(e)}function pre(e){return new mne(e)}function fre(e){return new gne(e)}function mre(e){return new ine(e)}function gre(e){return new zne(e)}function _re(e){return new Gne(e)}function yre(e){return new Xne(e)}function vre(e){return new Hne(e)}function bre(e){return new Qne(e)}function Tre(e,t){return P7(e,t)}function xre(e,t){return z7(e,t)}function Ere(e,t){return j7(e,t)}function wre(e,t){return B7(e,t)}function Ire(e,t){return Y7(e,t)}function Are(e,t){return U7(e,t)}function Sre(e,t){return V7(e,t)}function Cre(e,t){return D7(e,t)}function Ore(e,t){return S7(e,t)}function Mre(e,t){return C7(e,t)}function kre(e,t){return C7(e,t)}function Rre(e,t){return C7(e,t)}function Nre(e,t){return A7(e,t)}function Dre(e,t){return A7(e,t)}function Fre(e,t){return A7(e,t)}function Lre(e,t){return function(e,t){return(0,p3.tidy)(()=>{const n=e.sub(t).square().sum(),i=e.sub(e.mean()).square().sum();return p3.scalar(1).sub(n.div(i))})}(e,t)} +function sie(e){return new F9(e)}function oie(e){return new gte(e)}function aie(e){return new pte(e)}function lie(e){return new fte(e)}function uie(e){return new mte(e)}function cie(e){return new yte(e)}function die(e){return new _te(e)}function hie(e){return new Fte(e)}function pie(e){return new Ote(e)}function fie(e){return new kte(e)}function mie(e){return new Mte(e)}function gie(e){return new Rte(e)}function _ie(e){return new Dte(e)}function yie(e){return new Lte(e)}function vie(e){return new Pte(e)}function bie(e){return new Bte(e)}function Tie(e){return new sne(e)}function xie(e){return new ine(e)}function Eie(e){return new tne(e)}function wie(e){return new nne(e)}function Iie(e){return new rne(e)}function Aie(e){return new one(e)}function Sie(e){return new ane(e)}function Cie(e){return new lne(e)}function Oie(e){return new cne(e)}function Mie(e){return new hne(e)}function kie(e){return new fne(e)}function Rie(e){return new _ne(e)}function Nie(e){return new mne(e)}function Die(e){return new gne(e)}function Fie(e){return new pne(e)}function Lie(e){return new vne(e)}function Pie(e){return new Ine(e)}function Bie(e){return new Ane(e)}function $ie(e){return new Sne(e)}function Uie(e){return new Rne(e)}function Vie(e){return Uie(e)}function zie(e){return Uie(e)}function jie(e){return new Fne(e)}function Yie(e){return jie(e)}function Gie(e){return jie(e)}function Hie(e){return new Bne(e)}function Wie(e){return Hie(e)}function Xie(e){return Hie(e)}function qie(e){return new Une(e)}function Kie(e){return new jne(e)}function Zie(e){return new Vne(e)}function Qie(e){return new Yne(e)}function Jie(e){return new kne(e)}function ere(e){return new Dne(e)}function tre(e){return new Pne(e)}function nre(e){return new Hte(e)}function ire(e){return new Gte(e)}function rre(e){return new Xte(e)}function sre(e){return new Wte(e)}function ore(e){return new Yte(e)}function are(e){return new jte(e)}function lre(e){return new ene(e)}function ure(e){return new Jte(e)}function cre(e){return new Vte(e)}function dre(e){return new qte(e)}function hre(e){return new Wne(e)}function pre(e){return new Hne(e)}rie.className="RandomWidth",v3.serialization.registerClass(rie);const fre=Zie,mre=Qie,gre=Jie,_re=ere;function yre(e){return new bne(e)}function vre(e){return new Tne(e)}function bre(e){return new xne(e)}function Tre(e){return new une(e)}function xre(e){return new Xne(e)}function Ere(e){return new Zne(e)}function wre(e){return new eie(e)}function Ire(e){return new Qne(e)}function Are(e){return new rie(e)}function Sre(e,t){return j7(e,t)}function Cre(e,t){return X7(e,t)}function Ore(e,t){return q7(e,t)}function Mre(e,t){return Y7(e,t)}function kre(e,t){return K7(e,t)}function Rre(e,t){return H7(e,t)}function Nre(e,t){return W7(e,t)}function Dre(e,t){return U7(e,t)}function Fre(e,t){return N7(e,t)}function Lre(e,t){return D7(e,t)}function Pre(e,t){return D7(e,t)}function Bre(e,t){return D7(e,t)}function $re(e,t){return R7(e,t)}function Ure(e,t){return R7(e,t)}function Vre(e,t){return R7(e,t)}function zre(e,t){return function(e,t){return(0,v3.tidy)(()=>{const n=e.sub(t).square().sum(),i=e.sub(e.mean()).square().sum();return v3.scalar(1).sub(n.div(i))})}(e,t)} /** * @license * Copyright 2018 Google LLC @@ -11562,7 +11562,7 @@ function Jne(e){return new O9(e)}function eie(e){return new cte(e)}function tie( * https://opensource.org/licenses/MIT. * ============================================================================= */ -function Pre(e){return new nte(e)}function Bre(e){return ete(t=e),new nte({l1:null!=t?t.l1:null,l2:0});var t}function $re(e){return ete(t=e),new nte({l2:null!=t?t.l2:null,l1:0});var t} +function jre(e){return new lte(e)}function Yre(e){return ote(t=e),new lte({l1:null!=t?t.l1:null,l2:0});var t}function Gre(e){return ote(t=e),new lte({l2:null!=t?t.l2:null,l1:0});var t} /** * @license * Copyright 2018 Google LLC @@ -11572,7 +11572,7 @@ function Pre(e){return new nte(e)}function Bre(e){return ete(t=e),new nte({l1:nu * https://opensource.org/licenses/MIT. * ============================================================================= */ -class Ure extends g7{constructor(){super(...arguments),this.model=null}setModel(e){if(!(e instanceof Iee))throw new Error("model must be a LayersModel, not some other Container");this.model=e}}function Vre(e,t){return et}class jre extends Ure{constructor(e){if(super(),null==e&&(e={}),e.restoreBestWeights)throw new F6("restoreBestWeights = True is not implemented in EarlyStopping yet.");this.monitor=e.monitor||"val_loss",this.minDelta=Math.abs(e.minDelta||0),this.patience=e.patience||0,this.verbose=e.verbose||0,this.mode=e.mode||"auto",this.baseline=e.baseline,-1===["auto","min","max"].indexOf(this.mode)&&(console.warn(`EarlyStopping mode '${this.mode}' is invalid. Falling back to mode 'auto'.`),this.mode="auto"),"min"===this.mode?this.monitorFunc=Vre:"max"===this.mode||-1!==this.monitor.indexOf("acc")?this.monitorFunc=zre:this.monitorFunc=Vre,this.monitorFunc===Vre&&(this.minDelta*=-1)}async onTrainBegin(e){this.wait=0,this.stoppedEpoch=0,null!=this.baseline?this.best=this.baseline:this.best=this.monitorFunc===Vre?1/0:-1/0}async onEpochEnd(e,t){await p7(t);const n=this.getMonitorValue(t);null!=n&&(this.monitorFunc(n-this.minDelta,this.best)?(this.best=n,this.wait=0):(this.wait++,this.wait>=this.patience&&(this.stoppedEpoch=e,this.model.stopTraining=!0)))}async onTrainEnd(e){this.stoppedEpoch>0&&this.verbose&&console.log(`Epoch ${this.stoppedEpoch}: early stopping.`)}getMonitorValue(e){null==e&&(e={});const t=e[this.monitor];return null==t&&console.warn(`Metric for EarlyStopping ${this.monitor} is not available. Available metrics are: ${Object.keys(e)}`),t}}const Yre={earlyStopping:function(e){return new jre(e)}}; +class Hre extends x7{constructor(){super(...arguments),this.model=null}setModel(e){if(!(e instanceof kee))throw new Error("model must be a LayersModel, not some other Container");this.model=e}}function Wre(e,t){return et}class qre extends Hre{constructor(e){if(super(),null==e&&(e={}),e.restoreBestWeights)throw new V6("restoreBestWeights = True is not implemented in EarlyStopping yet.");this.monitor=e.monitor||"val_loss",this.minDelta=Math.abs(e.minDelta||0),this.patience=e.patience||0,this.verbose=e.verbose||0,this.mode=e.mode||"auto",this.baseline=e.baseline,-1===["auto","min","max"].indexOf(this.mode)&&(console.warn(`EarlyStopping mode '${this.mode}' is invalid. Falling back to mode 'auto'.`),this.mode="auto"),"min"===this.mode?this.monitorFunc=Wre:"max"===this.mode||-1!==this.monitor.indexOf("acc")?this.monitorFunc=Xre:this.monitorFunc=Wre,this.monitorFunc===Wre&&(this.minDelta*=-1)}async onTrainBegin(e){this.wait=0,this.stoppedEpoch=0,null!=this.baseline?this.best=this.baseline:this.best=this.monitorFunc===Wre?1/0:-1/0}async onEpochEnd(e,t){await v7(t);const n=this.getMonitorValue(t);null!=n&&(this.monitorFunc(n-this.minDelta,this.best)?(this.best=n,this.wait=0):(this.wait++,this.wait>=this.patience&&(this.stoppedEpoch=e,this.model.stopTraining=!0)))}async onTrainEnd(e){this.stoppedEpoch>0&&this.verbose&&console.log(`Epoch ${this.stoppedEpoch}: early stopping.`)}getMonitorValue(e){null==e&&(e={});const t=e[this.monitor];return null==t&&console.warn(`Metric for EarlyStopping ${this.monitor} is not available. Available metrics are: ${Object.keys(e)}`),t}}const Kre={earlyStopping:function(e){return new qre(e)}}; /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -11590,7 +11590,7 @@ class Ure extends g7{constructor(){super(...arguments),this.model=null}setModel( * * ============================================================================= */ -var Gre,Hre;(0,p3.env)().registerFlag("KEEP_INTERMEDIATE_TENSORS",()=>!1,e=>{e&&console.warn("Keep intermediate tensors is ON. This will print the values of all intermediate tensors during model inference. Not all models support this mode. For details, check e2e/benchmarks/ model_config.js. This significantly impacts performance.")}),function(e){e[e.DT_INVALID=0]="DT_INVALID",e[e.DT_FLOAT=1]="DT_FLOAT",e[e.DT_DOUBLE=2]="DT_DOUBLE",e[e.DT_INT32=3]="DT_INT32",e[e.DT_UINT8=4]="DT_UINT8",e[e.DT_INT16=5]="DT_INT16",e[e.DT_INT8=6]="DT_INT8",e[e.DT_STRING=7]="DT_STRING",e[e.DT_COMPLEX64=8]="DT_COMPLEX64",e[e.DT_INT64=9]="DT_INT64",e[e.DT_BOOL=10]="DT_BOOL",e[e.DT_QINT8=11]="DT_QINT8",e[e.DT_QUINT8=12]="DT_QUINT8",e[e.DT_QINT32=13]="DT_QINT32",e[e.DT_BFLOAT16=14]="DT_BFLOAT16",e[e.DT_QINT16=15]="DT_QINT16",e[e.DT_QUINT16=16]="DT_QUINT16",e[e.DT_UINT16=17]="DT_UINT16",e[e.DT_COMPLEX128=18]="DT_COMPLEX128",e[e.DT_HALF=19]="DT_HALF",e[e.DT_RESOURCE=20]="DT_RESOURCE",e[e.DT_VARIANT=21]="DT_VARIANT",e[e.DT_UINT32=22]="DT_UINT32",e[e.DT_UINT64=23]="DT_UINT64",e[e.DT_FLOAT_REF=101]="DT_FLOAT_REF",e[e.DT_DOUBLE_REF=102]="DT_DOUBLE_REF",e[e.DT_INT32_REF=103]="DT_INT32_REF",e[e.DT_UINT8_REF=104]="DT_UINT8_REF",e[e.DT_INT16_REF=105]="DT_INT16_REF",e[e.DT_INT8_REF=106]="DT_INT8_REF",e[e.DT_STRING_REF=107]="DT_STRING_REF",e[e.DT_COMPLEX64_REF=108]="DT_COMPLEX64_REF",e[e.DT_INT64_REF=109]="DT_INT64_REF",e[e.DT_BOOL_REF=110]="DT_BOOL_REF",e[e.DT_QINT8_REF=111]="DT_QINT8_REF",e[e.DT_QUINT8_REF=112]="DT_QUINT8_REF",e[e.DT_QINT32_REF=113]="DT_QINT32_REF",e[e.DT_BFLOAT16_REF=114]="DT_BFLOAT16_REF",e[e.DT_QINT16_REF=115]="DT_QINT16_REF",e[e.DT_QUINT16_REF=116]="DT_QUINT16_REF",e[e.DT_UINT16_REF=117]="DT_UINT16_REF",e[e.DT_COMPLEX128_REF=118]="DT_COMPLEX128_REF",e[e.DT_HALF_REF=119]="DT_HALF_REF",e[e.DT_RESOURCE_REF=120]="DT_RESOURCE_REF",e[e.DT_VARIANT_REF=121]="DT_VARIANT_REF",e[e.DT_UINT32_REF=122]="DT_UINT32_REF",e[e.DT_UINT64_REF=123]="DT_UINT64_REF"}(Gre||(Gre={})),function(e){let t;!function(e){e[e.LEGACY=0]="LEGACY",e[e.V1=1]="V1",e[e.V2=2]="V2"}(t=e.CheckpointFormatVersion||(e.CheckpointFormatVersion={}))}(Hre||(Hre={})); +var Zre,Qre;(0,v3.env)().registerFlag("KEEP_INTERMEDIATE_TENSORS",()=>!1,e=>{e&&console.warn("Keep intermediate tensors is ON. This will print the values of all intermediate tensors during model inference. Not all models support this mode. For details, check e2e/benchmarks/ model_config.js. This significantly impacts performance.")}),function(e){e[e.DT_INVALID=0]="DT_INVALID",e[e.DT_FLOAT=1]="DT_FLOAT",e[e.DT_DOUBLE=2]="DT_DOUBLE",e[e.DT_INT32=3]="DT_INT32",e[e.DT_UINT8=4]="DT_UINT8",e[e.DT_INT16=5]="DT_INT16",e[e.DT_INT8=6]="DT_INT8",e[e.DT_STRING=7]="DT_STRING",e[e.DT_COMPLEX64=8]="DT_COMPLEX64",e[e.DT_INT64=9]="DT_INT64",e[e.DT_BOOL=10]="DT_BOOL",e[e.DT_QINT8=11]="DT_QINT8",e[e.DT_QUINT8=12]="DT_QUINT8",e[e.DT_QINT32=13]="DT_QINT32",e[e.DT_BFLOAT16=14]="DT_BFLOAT16",e[e.DT_QINT16=15]="DT_QINT16",e[e.DT_QUINT16=16]="DT_QUINT16",e[e.DT_UINT16=17]="DT_UINT16",e[e.DT_COMPLEX128=18]="DT_COMPLEX128",e[e.DT_HALF=19]="DT_HALF",e[e.DT_RESOURCE=20]="DT_RESOURCE",e[e.DT_VARIANT=21]="DT_VARIANT",e[e.DT_UINT32=22]="DT_UINT32",e[e.DT_UINT64=23]="DT_UINT64",e[e.DT_FLOAT_REF=101]="DT_FLOAT_REF",e[e.DT_DOUBLE_REF=102]="DT_DOUBLE_REF",e[e.DT_INT32_REF=103]="DT_INT32_REF",e[e.DT_UINT8_REF=104]="DT_UINT8_REF",e[e.DT_INT16_REF=105]="DT_INT16_REF",e[e.DT_INT8_REF=106]="DT_INT8_REF",e[e.DT_STRING_REF=107]="DT_STRING_REF",e[e.DT_COMPLEX64_REF=108]="DT_COMPLEX64_REF",e[e.DT_INT64_REF=109]="DT_INT64_REF",e[e.DT_BOOL_REF=110]="DT_BOOL_REF",e[e.DT_QINT8_REF=111]="DT_QINT8_REF",e[e.DT_QUINT8_REF=112]="DT_QUINT8_REF",e[e.DT_QINT32_REF=113]="DT_QINT32_REF",e[e.DT_BFLOAT16_REF=114]="DT_BFLOAT16_REF",e[e.DT_QINT16_REF=115]="DT_QINT16_REF",e[e.DT_QUINT16_REF=116]="DT_QUINT16_REF",e[e.DT_UINT16_REF=117]="DT_UINT16_REF",e[e.DT_COMPLEX128_REF=118]="DT_COMPLEX128_REF",e[e.DT_HALF_REF=119]="DT_HALF_REF",e[e.DT_RESOURCE_REF=120]="DT_RESOURCE_REF",e[e.DT_VARIANT_REF=121]="DT_VARIANT_REF",e[e.DT_UINT32_REF=122]="DT_UINT32_REF",e[e.DT_UINT64_REF=123]="DT_UINT64_REF"}(Zre||(Zre={})),function(e){let t;!function(e){e[e.LEGACY=0]="LEGACY",e[e.V1=1]="V1",e[e.V2=2]="V2"}(t=e.CheckpointFormatVersion||(e.CheckpointFormatVersion={}))}(Qre||(Qre={})); /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -11607,7 +11607,7 @@ var Gre,Hre;(0,p3.env)().registerFlag("KEEP_INTERMEDIATE_TENSORS",()=>!1,e=>{e&& * limitations under the License. * ============================================================================= */ -const Wre={};function Xre(e,t){const n={tfOpName:e,category:"custom",inputs:[],attrs:[],customExecutor:t};Wre[e]=n}function qre(e){return Wre[e]}function Kre(e){delete Wre[e]} +const Jre={};function ese(e,t){const n={tfOpName:e,category:"custom",inputs:[],attrs:[],customExecutor:t};Jre[e]=n}function tse(e){return Jre[e]}function nse(e){delete Jre[e]} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11624,7 +11624,7 @@ const Wre={};function Xre(e,t){const n={tfOpName:e,category:"custom",inputs:[],a * limitations under the License. * ============================================================================= */ -function Zre(e,t,n,i,r){const s=t.inputParams[e];if(s&&void 0!==s.inputIndexStart){const e=s.inputIndexStart,o=0===s.inputIndexEnd?void 0:void 0===s.inputIndexEnd?e+1:s.inputIndexEnd,a=e<0?t.inputNames.length+e:e;if("tensor"===s.type)return Qre(t.inputNames[a],n,i,r);if("tensors"===s.type){const s=t.inputs.slice(e,o),a=t.inputNames.slice(e,o).filter((e,t)=>{var n;return"NoOp"!==(null===(n=s[t])||void 0===n?void 0:n.op)});return a.map(e=>Qre(e,n,i,r))}const l=Qre(t.inputNames[a],n,i,r),u=l.dataSync();return"number"===s.type?u[0]:p3.util.toNestedArray(l.shape,u)}const o=t.attrParams[e];return o&&o.value}function Qre(e,t,n,i){const[r,s]=nse(e,n);if(null!=i){const e=i.getHashTableHandleByName(r);if(null!=e)return e}const o=n.currentContextIds.find(e=>!!t[tse(r,e)]);return void 0!==o?t[tse(r,o)][s]:void 0}function Jre(e,t,n){return t[tse(e,n.currentContextId)]}function ese(e,t){const[n,i,r]=nse(e,t);return[tse(n,t&&t.currentContextId),i,r]}function tse(e,t){return t?`${e}-${t}`:e}function nse(e,t){if(""===e)return["",0,void 0];const n=null!=t&&null!=t.parseNodeNameCache;if(n){const n=t.parseNodeNameCache.get(e);if(null!=n)return n}const i=e.split(":");let r;if(1===i.length)r=[e,0,void 0];else{const e=i[0],t=3===i.length?i[1]:void 0;r=[e,Number(i[i.length-1]),t]}return n&&t.parseNodeNameCache.set(e,r),r}function ise(e,t,n){let i=Zre("pad",e,t,n);if("explicit"===i){i=Zre("explicitPaddings",e,t,n);const r=[[0,0],[0,0],[0,0],[0,0]];for(let e=0;e<4;e++)r[e][0]=i[2*e],r[e][1]=i[2*e+1];return r}return i}function rse(e){return e.kept?e:(0,p3.clone)(e)} +function ise(e,t,n,i,r){const s=t.inputParams[e];if(s&&void 0!==s.inputIndexStart){const e=s.inputIndexStart,o=0===s.inputIndexEnd?void 0:void 0===s.inputIndexEnd?e+1:s.inputIndexEnd,a=e<0?t.inputNames.length+e:e;if("tensor"===s.type)return rse(t.inputNames[a],n,i,r);if("tensors"===s.type){const s=t.inputs.slice(e,o),a=t.inputNames.slice(e,o).filter((e,t)=>{var n;return"NoOp"!==(null===(n=s[t])||void 0===n?void 0:n.op)});return a.map(e=>rse(e,n,i,r))}const l=rse(t.inputNames[a],n,i,r),u=l.dataSync();return"number"===s.type?u[0]:v3.util.toNestedArray(l.shape,u)}const o=t.attrParams[e];return o&&o.value}function rse(e,t,n,i){const[r,s]=lse(e,n);if(null!=i){const e=i.getHashTableHandleByName(r);if(null!=e)return e}const o=n.currentContextIds.find(e=>!!t[ase(r,e)]);return void 0!==o?t[ase(r,o)][s]:void 0}function sse(e,t,n){return t[ase(e,n.currentContextId)]}function ose(e,t){const[n,i,r]=lse(e,t);return[ase(n,t&&t.currentContextId),i,r]}function ase(e,t){return t?`${e}-${t}`:e}function lse(e,t){if(""===e)return["",0,void 0];const n=null!=t&&null!=t.parseNodeNameCache;if(n){const n=t.parseNodeNameCache.get(e);if(null!=n)return n}const i=e.split(":");let r;if(1===i.length)r=[e,0,void 0];else{const e=i[0],t=3===i.length?i[1]:void 0;r=[e,Number(i[i.length-1]),t]}return n&&t.parseNodeNameCache.set(e,r),r}function use(e,t,n){let i=ise("pad",e,t,n);if("explicit"===i){i=ise("explicitPaddings",e,t,n);const r=[[0,0],[0,0],[0,0],[0,0]];for(let e=0;e<4;e++)r[e][0]=i[2*e],r[e][1]=i[2*e+1];return r}return i}function cse(e){return e.kept?e:(0,v3.clone)(e)} /** * @license * Copyright 2023 Google LLC. All Rights Reserved. @@ -11641,7 +11641,7 @@ function Zre(e,t,n,i,r){const s=t.inputParams[e];if(s&&void 0!==s.inputIndexStar * limitations under the License. * ============================================================================= */ -const sse=[{tfOpName:"Add",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddV2",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddN",category:"arithmetic",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"BiasAdd",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"Sub",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"RealDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Div",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"DivNoNan",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mul",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Maximum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Minimum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Pow",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SquaredDifference",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorMod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],ose=[{tfOpName:"Abs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan2",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Ceil",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ClipByValue",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"clipValueMin",type:"number"},{start:2,name:"clipValueMax",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Complex",category:"basic_math",inputs:[{start:0,name:"real",type:"tensor"},{start:1,name:"imag",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ComplexAbs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Elu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Exp",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Floor",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Imag",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Neg",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Real",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Prelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"alpha",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu6",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Selu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sigmoid",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Rsqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Square",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sign",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Round",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Expm1",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log1p",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Reciprocal",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Softplus",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Erf",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LeakyRelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"alpha",name:"alpha",type:"number",defaultValue:.2},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"IsNan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"IsFinite",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"IsInf",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],ase=[{tfOpName:"EmptyTensorList",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"maxNumElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"LoopCond",category:"control",inputs:[{start:0,name:"pred",type:"tensor"}]},{tfOpName:"Switch",category:"control",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"pred",type:"tensor"}]},{tfOpName:"Merge",category:"control",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"Enter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"frame_name",name:"frameName",type:"string"},{tfName:"is_constant",name:"isConstant",type:"bool"}]},{tfOpName:"Exit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NextIteration",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayV3",category:"control",inputs:[{start:0,name:"size",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"dynamic_size",name:"dynamicSize",type:"bool"},{tfName:"clear_after_read",name:"clearAfterRead",type:"bool"},{tfName:"identical_element_shapes",name:"identicalElementShapes",type:"bool"},{tfName:"tensor_array_name",name:"name",type:"string"}]},{tfOpName:"TensorArrayWriteV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayReadV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayGatherV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"}]},{tfOpName:"TensorArrayScatterV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArrayConcatV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape_except0",name:"elementShapeExcept0",type:"shape",notSupported:!0}]},{tfOpName:"TensorArraySplitV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"tensor",type:"tensor"},{start:2,name:"lengths",type:"number[]"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArraySizeV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}]},{tfOpName:"TensorArrayCloseV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"}]},{tfOpName:"StatelessIf",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"If",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"StatelessWhile",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"While",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"TensorListScatter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListScatterV2",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"},{start:3,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGather",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListSetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListReserve",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListFromTensor",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListStack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"},{tfName:"num_elements",name:"numElements",type:"dtype"}]},{tfOpName:"TensorListSplit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"},{start:2,name:"lengths",type:"number[]"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListConcat",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"}],attrs:[{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListConcatV2",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"}],attrs:[{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPopBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPushBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListLength",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"}]},{tfOpName:"TensorListResize",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"size",type:"number"}]}],lse=[{tfOpName:"AvgPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[],notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPoolWithArgmax",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"include_batch_in_index",name:"includeBatchInIndex",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AvgPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Conv1D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"stride",name:"stride",type:"number"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NWC"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"dilation",name:"dilation",type:"number",defaultValue:1}]},{tfOpName:"Conv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"useCudnnOnGpu",name:"useCudnnOnGpu",type:"bool"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"_FusedConv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"use_cudnn_on_gpu",name:"useCudnnOnGpu",type:"bool",defaultValue:!0},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"leakyrelu_alpha",name:"leakyreluAlpha",type:"number",defaultValue:.2}]},{tfOpName:"Conv2DBackpropInput",category:"convolution",inputs:[{start:2,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:0,name:"outputShape",type:"number[]"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]",notSupported:!0}]},{tfOpName:"DepthwiseConv2d",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"DepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"FusedDepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]}]},{tfOpName:"Conv3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"Dilation2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"rates",name:"dilations",type:"number[]"},{tfName:"padding",name:"pad",type:"string"}]}],use=[{tfOpName:"Fill",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"},{start:1,name:"value",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"LinSpace",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"num",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"OneHot",category:"creation",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"depth",type:"number"},{start:2,name:"onValue",type:"number",defaultValue:1},{start:3,name:"offValue",type:"number",defaultValue:0}],attrs:[{tfName:"axis",name:"axis",type:"number",notSupported:!0},{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"Ones",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"OnesLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"RandomStandardNormal",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"seed",name:"seed",type:"number",defaultValue:0},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"RandomUniform",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"minval",name:"minval",type:"number",defaultValue:0},{tfName:"maxval",name:"maxval",type:"number",defaultValue:1},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"seed",name:"seed",type:"number",defaultValue:0},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"RandomUniformInt",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"minval",name:"minval",type:"number"},{tfName:"maxval",name:"maxval",type:"number"},{tfName:"seed",name:"seed",type:"number",defaultValue:0},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0}]},{tfOpName:"Range",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"step",type:"number",defaultValue:0}],attrs:[{tfName:"Tidx",name:"dtype",type:"dtype"}]},{tfOpName:"TruncatedNormal",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"means",name:"mean",type:"number",defaultValue:0},{tfName:"stddev",name:"stdDev",type:"number",defaultValue:1},{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"Zeros",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"ZerosLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"Multinomial",category:"creation",inputs:[{start:0,name:"logits",type:"tensor"},{start:1,name:"numSamples",type:"number"}],attrs:[{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number"},{tfName:"T",name:"dtype",type:"dtype"},{tfName:"output_dtype",name:"output_dtype",type:"dtype"}]}],cse=[{tfOpName:"NonMaxSuppressionV2",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV3",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV4",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"T_threshold",name:"threshold",type:"dtype",notSupported:!0},{tfName:"pad_to_max_output_size",name:"padToMaxOutputSize",type:"bool"}]},{tfOpName:"NonMaxSuppressionV5",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"},{start:5,name:"softNmsSigma",type:"number"}]},{tfOpName:"Where",category:"dynamic",inputs:[{start:0,name:"condition",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ListDiff",category:"dynamic",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],dse=[{tfOpName:"LowerBound",category:"evaluation",inputs:[{start:0,name:"sortedSequence",type:"tensor"},{start:1,name:"values",type:"tensor"}]},{tfOpName:"TopKV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"k",type:"number"}],attrs:[{tfName:"sorted",name:"sorted",type:"bool"}]},{tfOpName:"UpperBound",category:"evaluation",inputs:[{start:0,name:"sortedSequence",type:"tensor"},{start:1,name:"values",type:"tensor"}]},{tfOpName:"Unique",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"UniqueV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]}],hse=[{tfOpName:"PlaceholderWithDefault",category:"graph",inputs:[{start:0,name:"default",type:"tensor"}],attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Placeholder",category:"graph",attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Const",category:"graph"},{tfOpName:"Identity",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IdentityN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Snapshot",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Rank",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Size",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Shape",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"ShapeN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Print",category:"graph",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"data",type:"tensors"}],attrs:[{tfName:"message",name:"message",type:"string"},{tfName:"first_n",name:"firstN",type:"number",notSupported:!0},{tfName:"summarize",name:"summarize",type:"number",defaultValue:3}]},{tfOpName:"NoOp",category:"graph",inputs:[]},{tfOpName:"StopGradient",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"FakeQuantWithMinMaxVars",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"min",name:"min",type:"number"},{tfName:"max",name:"max",type:"number"}]}],pse=[{tfOpName:"HashTable",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"HashTableV2",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"LookupTableImport",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableImportV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFind",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFindV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableSize",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"}]},{tfOpName:"LookupTableSizeV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"}]},{tfOpName:"InitializeTable",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}]},{tfOpName:"InitializeTableV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}]}],fse=[{tfOpName:"ResizeBilinear",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ResizeNearestNeighbor",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"CropAndResize",category:"image",inputs:[{start:0,name:"image",type:"tensor"},{start:1,name:"boxes",type:"tensor"},{start:2,name:"boxInd",type:"tensor"},{start:3,name:"cropSize",type:"number[]"}],attrs:[{tfName:"method",name:"method",type:"string"},{tfName:"extrapolation_value",name:"extrapolationValue",type:"number"}]},{tfOpName:"ImageProjectiveTransformV3",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"transforms",type:"tensor"},{start:2,name:"outputShape",type:"number[]"},{start:3,name:"fillValue",type:"number"}],attrs:[{tfName:"interpolation",name:"interpolation",type:"string"},{tfName:"fill_mode",name:"fillMode",type:"string"}]}],mse=[{tfOpName:"Equal",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NotEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Greater",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"GreaterEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Less",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LessEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalAnd",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalNot",category:"logical",inputs:[{start:0,name:"a",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalOr",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Select",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SelectV2",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BitwiseAnd",category:"logical",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}]}],gse=[{tfOpName:"_FusedMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"leakyrelu_alpha",name:"leakyreluAlpha",type:"number",defaultValue:.2},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMulV2",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Transpose",category:"matrices",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"perm",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Einsum",category:"matrices",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}],attrs:[{tfName:"equation",name:"equation",type:"string"},{tfName:"N",name:"n",type:"number",defaultValue:2},{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"MatrixBandPart",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"numLower",type:"tensor"},{start:1,name:"numUpper",type:"tensor"}]}],_se=[{tfOpName:"EuclideanNorm",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool",defaultValue:!1}]},{tfOpName:"FusedBatchNorm",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV2",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV3",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"LRN",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"depth_radius",name:"radius",type:"number",defaultValue:5},{tfName:"bias",name:"bias",type:"number",defaultValue:1},{tfName:"alpha",name:"alpha",type:"number",defaultValue:1},{tfName:"beta",name:"beta",type:"number",defaultValue:.5}]},{tfOpName:"Softmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"LogSoftmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]}],yse=[{tfOpName:"Bincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}]},{tfOpName:"DenseBincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}],attrs:[{tfName:"binary_output",name:"binaryOutput",type:"bool"}]},{tfOpName:"Max",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Mean",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Min",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Sum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"All",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Any",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"ArgMax",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"ArgMin",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"Prod",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cumprod",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}],attrs:[{tfName:"exclusive",name:"exclusive",type:"bool"},{tfName:"reverse",name:"reverse",type:"bool"}]},{tfOpName:"Cumsum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}],attrs:[{tfName:"exclusive",name:"exclusive",type:"bool"},{tfName:"reverse",name:"reverse",type:"bool"}]}],vse=[{tfOpName:"ConcatV2",category:"slice_join",inputs:[{start:0,end:-1,name:"tensors",type:"tensors"},{start:-1,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"Concat",category:"slice_join",inputs:[{start:1,end:0,name:"tensors",type:"tensors"},{start:0,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"GatherV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"axis",type:"number",defaultValue:0}],attrs:[{tfName:"batch_dims",name:"batchDims",type:"number",defaultValue:0}]},{tfOpName:"Gather",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",notSupported:!0}]},{tfOpName:"Reverse",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"dims",type:"bool[]"}]},{tfOpName:"ReverseV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}]},{tfOpName:"Slice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"size",type:"number[]"}]},{tfOpName:"StridedSlice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"end",type:"number[]"},{start:3,name:"strides",type:"number[]"}],attrs:[{tfName:"begin_mask",name:"beginMask",type:"number",defaultValue:0},{tfName:"end_mask",name:"endMask",type:"number",defaultValue:0},{tfName:"new_axis_mask",name:"newAxisMask",type:"number",defaultValue:0},{tfName:"ellipsis_mask",name:"ellipsisMask",type:"number",defaultValue:0},{tfName:"shrink_axis_mask",name:"shrinkAxisMask",type:"number",defaultValue:0}]},{tfOpName:"Pack",category:"slice_join",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0}]},{tfOpName:"Unpack",category:"slice_join",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0},{tfName:"num",name:"num",type:"number",defaultValue:0,notSupported:!0}]},{tfOpName:"Tile",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"reps",type:"number[]"}]},{tfOpName:"Split",category:"slice_join",inputs:[{start:0,name:"axis",type:"number",defaultValue:0},{start:1,name:"x",type:"tensor"}],attrs:[{tfName:"num_split",name:"numOrSizeSplits",type:"number",defaultValue:1}]},{tfOpName:"SplitV",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"numOrSizeSplits",type:"number[]"},{start:2,name:"axis",type:"number",defaultValue:0}]},{tfOpName:"ScatterNd",category:"slice_join",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"values",type:"tensor"},{start:2,name:"shape",type:"number[]"}]},{tfOpName:"GatherNd",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}]},{tfOpName:"SparseToDense",category:"slice_join",inputs:[{start:0,name:"sparseIndices",type:"tensor"},{start:1,name:"outputShape",type:"number[]"},{start:2,name:"sparseValues",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",defaultValue:!1,notSupported:!0}]},{tfOpName:"TensorScatterUpdate",category:"slice_join",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"values",type:"tensor"}]}],bse=[{tfOpName:"SparseFillEmptyRows",category:"sparse",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"values",type:"tensor"},{start:2,name:"denseShape",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}]},{tfOpName:"SparseReshape",category:"sparse",inputs:[{start:0,name:"inputIndices",type:"tensor"},{start:1,name:"inputShape",type:"tensor"},{start:2,name:"newShape",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SparseSegmentMean",category:"sparse",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"segmentIds",type:"tensor"}]},{tfOpName:"SparseSegmentSum",category:"sparse",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"segmentIds",type:"tensor"}]}],Tse=[{tfOpName:"FFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"RFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]},{tfOpName:"IRFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]}],xse=[{tfOpName:"StaticRegexReplace",category:"string",inputs:[{start:0,name:"input",type:"tensor"}],attrs:[{tfName:"pattern",name:"pattern",type:"string"},{tfName:"rewrite",name:"rewrite",type:"string"},{tfName:"replace_global",name:"replaceGlobal",type:"bool"}]},{tfOpName:"StringNGrams",category:"string",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"dataSplits",type:"tensor"}],attrs:[{tfName:"separator",name:"separator",type:"string"},{tfName:"ngram_widths",name:"nGramWidths",type:"number[]"},{tfName:"left_pad",name:"leftPad",type:"string"},{tfName:"right_pad",name:"rightPad",type:"string"},{tfName:"pad_width",name:"padWidth",type:"number"},{tfName:"preserve_short_sequences",name:"preserveShortSequences",type:"bool"}],outputs:["ngrams","ngrams_splits"]},{tfOpName:"StringSplit",category:"string",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"delimiter",type:"tensor"}],attrs:[{tfName:"skip_empty",name:"skipEmpty",type:"bool"}],outputs:["indices","values","shape"]},{tfOpName:"StringToHashBucketFast",category:"string",inputs:[{start:0,name:"input",type:"tensor"}],attrs:[{tfName:"num_buckets",name:"numBuckets",type:"number"}]}],Ese=[{tfOpName:"Cast",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"SrcT",name:"sdtype",type:"dtype",notSupported:!0},{tfName:"DstT",name:"dtype",type:"dtype"}]},{tfOpName:"ExpandDims",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"MirrorPad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"mode",name:"mode",type:"string"}]},{tfOpName:"Pad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"constant_value",name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"PadV2",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"},{start:2,name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"Reshape",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}]},{tfOpName:"EnsureShape",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}]},{tfOpName:"Squeeze",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"axis",tfDeprecatedName:"squeeze_dims",name:"axis",type:"number[]"}]},{tfOpName:"SpaceToBatchND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"paddings",type:"number[]"}]},{tfOpName:"BatchToSpaceND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"crops",type:"number[]"}]},{tfOpName:"DepthToSpace",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"block_size",name:"blockSize",type:"number"},{tfName:"data_format",name:"dataFormat",type:"string"}]},{tfOpName:"BroadcastTo",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}],attrs:[]},{tfOpName:"BroadcastArgs",category:"transformation",inputs:[{start:0,name:"s0",type:"tensor"},{start:1,name:"s1",type:"tensor"}],attrs:[]}]; +const dse=[{tfOpName:"Add",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddV2",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AddN",category:"arithmetic",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"BiasAdd",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"Sub",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"RealDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Div",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"DivNoNan",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorDiv",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mul",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Maximum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Minimum",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Pow",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SquaredDifference",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Mod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"FloorMod",category:"arithmetic",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],hse=[{tfOpName:"Abs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atan2",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Ceil",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ClipByValue",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"clipValueMin",type:"number"},{start:2,name:"clipValueMax",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Complex",category:"basic_math",inputs:[{start:0,name:"real",type:"tensor"},{start:1,name:"imag",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ComplexAbs",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cos",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Elu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Exp",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Floor",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Imag",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Neg",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Real",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"Tout",name:"outputType",type:"dtype",notSupported:!0}]},{tfOpName:"Prelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"alpha",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Relu6",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Selu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sigmoid",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sin",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Rsqrt",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Square",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Tanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Sign",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Round",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Expm1",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Log1p",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Reciprocal",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Softplus",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Asinh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Acosh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Atanh",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Erf",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LeakyRelu",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"alpha",name:"alpha",type:"number",defaultValue:.2},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"IsNan",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"IsFinite",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"IsInf",category:"basic_math",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],pse=[{tfOpName:"EmptyTensorList",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"maxNumElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"LoopCond",category:"control",inputs:[{start:0,name:"pred",type:"tensor"}]},{tfOpName:"Switch",category:"control",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"pred",type:"tensor"}]},{tfOpName:"Merge",category:"control",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}]},{tfOpName:"Enter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"frame_name",name:"frameName",type:"string"},{tfName:"is_constant",name:"isConstant",type:"bool"}]},{tfOpName:"Exit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NextIteration",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayV3",category:"control",inputs:[{start:0,name:"size",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"dynamic_size",name:"dynamicSize",type:"bool"},{tfName:"clear_after_read",name:"clearAfterRead",type:"bool"},{tfName:"identical_element_shapes",name:"identicalElementShapes",type:"bool"},{tfName:"tensor_array_name",name:"name",type:"string"}]},{tfOpName:"TensorArrayWriteV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayReadV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"TensorArrayGatherV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape",name:"elementShape",type:"shape"}]},{tfOpName:"TensorArrayScatterV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"tensor",type:"tensor"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArrayConcatV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"element_shape_except0",name:"elementShapeExcept0",type:"shape",notSupported:!0}]},{tfOpName:"TensorArraySplitV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"tensor",type:"tensor"},{start:2,name:"lengths",type:"number[]"},{start:3,name:"flowIn",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"TensorArraySizeV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"},{start:1,name:"flowIn",type:"number"}]},{tfOpName:"TensorArrayCloseV3",category:"control",inputs:[{start:0,name:"tensorArrayId",type:"tensor"}]},{tfOpName:"StatelessIf",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"If",category:"control",inputs:[{start:0,name:"cond",type:"tensor"},{start:1,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"then_branch",name:"thenBranch",type:"func"},{tfName:"else_branch",name:"elseBranch",type:"func"}]},{tfOpName:"StatelessWhile",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"While",category:"control",inputs:[{start:0,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"cond",name:"cond",type:"func"},{tfName:"body",name:"body",type:"func"}]},{tfOpName:"TensorListScatter",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListScatterV2",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"},{start:3,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGather",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"indices",type:"number[]"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListGetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListSetItem",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"index",type:"number"},{start:2,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListReserve",category:"control",inputs:[{start:0,name:"elementShape",type:"shape"},{start:1,name:"numElements",type:"number"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListFromTensor",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListStack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"},{tfName:"num_elements",name:"numElements",type:"dtype"}]},{tfOpName:"TensorListSplit",category:"control",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"elementShape",type:"shape"},{start:2,name:"lengths",type:"number[]"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListConcat",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"}],attrs:[{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListConcatV2",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"}],attrs:[{tfName:"element_shape",name:"elementShape",type:"shape"},{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPopBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"elementShape",type:"shape"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListPushBack",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"tensor",type:"tensor"}],attrs:[{tfName:"element_dtype",name:"elementDType",type:"dtype"}]},{tfOpName:"TensorListLength",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"}]},{tfOpName:"TensorListResize",category:"control",inputs:[{start:0,name:"tensorListId",type:"tensor"},{start:1,name:"size",type:"number"}]}],fse=[{tfOpName:"AvgPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[],notSupported:!0},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPoolWithArgmax",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"include_batch_in_index",name:"includeBatchInIndex",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"AvgPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MaxPool3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"ksize",name:"kernelSize",type:"number[]"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Conv1D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"stride",name:"stride",type:"number"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NWC"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"dilation",name:"dilation",type:"number",defaultValue:1}]},{tfOpName:"Conv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"useCudnnOnGpu",name:"useCudnnOnGpu",type:"bool"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"_FusedConv2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"use_cudnn_on_gpu",name:"useCudnnOnGpu",type:"bool",defaultValue:!0},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"leakyrelu_alpha",name:"leakyreluAlpha",type:"number",defaultValue:.2}]},{tfOpName:"Conv2DBackpropInput",category:"convolution",inputs:[{start:2,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:0,name:"outputShape",type:"number[]"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]",notSupported:!0}]},{tfOpName:"DepthwiseConv2d",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"DepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"FusedDepthwiseConv2dNative",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]",defaultValue:[1,1,1,1]},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"explicit_paddings",name:"explicitPaddings",type:"number[]",defaultValue:[]}]},{tfOpName:"Conv3D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"padding",name:"pad",type:"string"},{tfName:"data_format",name:"dataFormat",type:"string",defaultValue:"NHWC"},{tfName:"dilations",name:"dilations",type:"number[]"}]},{tfOpName:"Dilation2D",category:"convolution",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"filter",type:"tensor"}],attrs:[{tfName:"strides",name:"strides",type:"number[]"},{tfName:"rates",name:"dilations",type:"number[]"},{tfName:"padding",name:"pad",type:"string"}]}],mse=[{tfOpName:"Fill",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"},{start:1,name:"value",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"LinSpace",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"num",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"OneHot",category:"creation",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"depth",type:"number"},{start:2,name:"onValue",type:"number",defaultValue:1},{start:3,name:"offValue",type:"number",defaultValue:0}],attrs:[{tfName:"axis",name:"axis",type:"number",notSupported:!0},{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"Ones",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"OnesLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"RandomStandardNormal",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"seed",name:"seed",type:"number",defaultValue:0},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"RandomUniform",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"minval",name:"minval",type:"number",defaultValue:0},{tfName:"maxval",name:"maxval",type:"number",defaultValue:1},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"seed",name:"seed",type:"number",defaultValue:0},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"RandomUniformInt",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"minval",name:"minval",type:"number"},{tfName:"maxval",name:"maxval",type:"number"},{tfName:"seed",name:"seed",type:"number",defaultValue:0},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0}]},{tfOpName:"Range",category:"creation",inputs:[{start:0,name:"start",type:"number"},{start:1,name:"stop",type:"number"},{start:2,name:"step",type:"number",defaultValue:0}],attrs:[{tfName:"Tidx",name:"dtype",type:"dtype"}]},{tfOpName:"TruncatedNormal",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"means",name:"mean",type:"number",defaultValue:0},{tfName:"stddev",name:"stdDev",type:"number",defaultValue:1},{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number",defaultValue:0,notSupported:!0},{tfName:"dtype",name:"dtype",type:"dtype"},{tfName:"T",name:"T",type:"number",notSupported:!0}]},{tfOpName:"Zeros",category:"creation",inputs:[{start:0,name:"shape",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"ZerosLike",category:"creation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"Multinomial",category:"creation",inputs:[{start:0,name:"logits",type:"tensor"},{start:1,name:"numSamples",type:"number"}],attrs:[{tfName:"seed",name:"seed",type:"number"},{tfName:"seed2",name:"seed2",type:"number"},{tfName:"T",name:"dtype",type:"dtype"},{tfName:"output_dtype",name:"output_dtype",type:"dtype"}]}],gse=[{tfOpName:"NonMaxSuppressionV2",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV3",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}]},{tfOpName:"NonMaxSuppressionV4",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0},{tfName:"T_threshold",name:"threshold",type:"dtype",notSupported:!0},{tfName:"pad_to_max_output_size",name:"padToMaxOutputSize",type:"bool"}]},{tfOpName:"NonMaxSuppressionV5",category:"dynamic",inputs:[{start:0,name:"boxes",type:"tensor"},{start:1,name:"scores",type:"tensor"},{start:2,name:"maxOutputSize",type:"number"},{start:3,name:"iouThreshold",type:"number"},{start:4,name:"scoreThreshold",type:"number"},{start:5,name:"softNmsSigma",type:"number"}]},{tfOpName:"Where",category:"dynamic",inputs:[{start:0,name:"condition",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ListDiff",category:"dynamic",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]}],_se=[{tfOpName:"LowerBound",category:"evaluation",inputs:[{start:0,name:"sortedSequence",type:"tensor"},{start:1,name:"values",type:"tensor"}]},{tfOpName:"TopKV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"k",type:"number"}],attrs:[{tfName:"sorted",name:"sorted",type:"bool"}]},{tfOpName:"UpperBound",category:"evaluation",inputs:[{start:0,name:"sortedSequence",type:"tensor"},{start:1,name:"values",type:"tensor"}]},{tfOpName:"Unique",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"UniqueV2",category:"evaluation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]}],yse=[{tfOpName:"PlaceholderWithDefault",category:"graph",inputs:[{start:0,name:"default",type:"tensor"}],attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Placeholder",category:"graph",attrs:[{tfName:"shape",name:"shape",type:"shape"},{tfName:"dtype",name:"dtype",type:"dtype"}]},{tfOpName:"Const",category:"graph"},{tfOpName:"Identity",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IdentityN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Snapshot",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Rank",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Size",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"Shape",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"ShapeN",category:"graph",inputs:[{start:0,end:0,name:"x",type:"tensors"}]},{tfOpName:"Print",category:"graph",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"data",type:"tensors"}],attrs:[{tfName:"message",name:"message",type:"string"},{tfName:"first_n",name:"firstN",type:"number",notSupported:!0},{tfName:"summarize",name:"summarize",type:"number",defaultValue:3}]},{tfOpName:"NoOp",category:"graph",inputs:[]},{tfOpName:"StopGradient",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"FakeQuantWithMinMaxVars",category:"graph",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"min",name:"min",type:"number"},{tfName:"max",name:"max",type:"number"}]}],vse=[{tfOpName:"HashTable",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"HashTableV2",category:"hash_table",inputs:[],attrs:[{tfName:"shared_name",name:"sharedName",type:"string"},{tfName:"use_node_name_sharing",name:"useNodeNameSharing",type:"bool"},{tfName:"key_dtype",name:"keyDType",type:"dtype"},{tfName:"value_dtype",name:"valueDType",type:"dtype"}]},{tfOpName:"LookupTableImport",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableImportV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFind",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableFindV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"Tin",name:"tIn",type:"dtype",notSupported:!0},{tfName:"Tout",name:"tOut",type:"dtype",notSupported:!0}]},{tfOpName:"LookupTableSize",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"}]},{tfOpName:"LookupTableSizeV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"}]},{tfOpName:"InitializeTable",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}]},{tfOpName:"InitializeTableV2",category:"hash_table",inputs:[{start:0,name:"tableHandle",type:"tensor"},{start:1,name:"keys",type:"tensor"},{start:2,name:"values",type:"tensor"}]}],bse=[{tfOpName:"ResizeBilinear",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"ResizeNearestNeighbor",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"size",type:"number[]"}],attrs:[{tfName:"align_corners",name:"alignCorners",type:"bool"},{tfName:"half_pixel_centers",name:"halfPixelCenters",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"CropAndResize",category:"image",inputs:[{start:0,name:"image",type:"tensor"},{start:1,name:"boxes",type:"tensor"},{start:2,name:"boxInd",type:"tensor"},{start:3,name:"cropSize",type:"number[]"}],attrs:[{tfName:"method",name:"method",type:"string"},{tfName:"extrapolation_value",name:"extrapolationValue",type:"number"}]},{tfOpName:"ImageProjectiveTransformV3",category:"image",inputs:[{start:0,name:"images",type:"tensor"},{start:1,name:"transforms",type:"tensor"},{start:2,name:"outputShape",type:"number[]"},{start:3,name:"fillValue",type:"number"}],attrs:[{tfName:"interpolation",name:"interpolation",type:"string"},{tfName:"fill_mode",name:"fillMode",type:"string"}]}],Tse=[{tfOpName:"Equal",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"NotEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Greater",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"GreaterEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Less",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LessEqual",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalAnd",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalNot",category:"logical",inputs:[{start:0,name:"a",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"LogicalOr",category:"logical",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Select",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SelectV2",category:"logical",inputs:[{start:0,name:"condition",type:"tensor"},{start:1,name:"a",type:"tensor"},{start:2,name:"b",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BitwiseAnd",category:"logical",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"y",type:"tensor"}]}],xse=[{tfOpName:"_FusedMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"},{start:2,end:0,name:"args",type:"tensors"}],attrs:[{tfName:"num_args",name:"numArgs",type:"number"},{tfName:"fused_ops",name:"fusedOps",type:"string[]",defaultValue:[]},{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:1e-4},{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"leakyrelu_alpha",name:"leakyreluAlpha",type:"number",defaultValue:.2},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"MatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"transpose_a",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"transpose_b",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMul",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"BatchMatMulV2",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"b",type:"tensor"}],attrs:[{tfName:"adj_x",name:"transposeA",type:"bool",defaultValue:!1},{tfName:"adj_y",name:"transposeB",type:"bool",defaultValue:!1},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Transpose",category:"matrices",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"perm",type:"number[]"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Einsum",category:"matrices",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}],attrs:[{tfName:"equation",name:"equation",type:"string"},{tfName:"N",name:"n",type:"number",defaultValue:2},{tfName:"T",name:"dtype",type:"dtype"}]},{tfOpName:"MatrixBandPart",category:"matrices",inputs:[{start:0,name:"a",type:"tensor"},{start:1,name:"numLower",type:"tensor"},{start:1,name:"numUpper",type:"tensor"}]}],Ese=[{tfOpName:"EuclideanNorm",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool",defaultValue:!1}]},{tfOpName:"FusedBatchNorm",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV2",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"FusedBatchNormV3",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"scale",type:"tensor"},{start:2,name:"offset",type:"tensor"},{start:3,name:"mean",type:"tensor"},{start:4,name:"variance",type:"tensor"}],attrs:[{tfName:"epsilon",name:"epsilon",type:"number",defaultValue:.001},{tfName:"data_format",name:"dataFormat",type:"string",notSupported:!0}]},{tfOpName:"LRN",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"depth_radius",name:"radius",type:"number",defaultValue:5},{tfName:"bias",name:"bias",type:"number",defaultValue:1},{tfName:"alpha",name:"alpha",type:"number",defaultValue:1},{tfName:"beta",name:"beta",type:"number",defaultValue:.5}]},{tfOpName:"Softmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"LogSoftmax",category:"normalization",inputs:[{start:0,name:"x",type:"tensor"}]}],wse=[{tfOpName:"Bincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}]},{tfOpName:"DenseBincount",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"size",type:"number"},{start:2,name:"weights",type:"tensor"}],attrs:[{tfName:"binary_output",name:"binaryOutput",type:"bool"}]},{tfOpName:"Max",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Mean",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Min",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Sum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"All",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"Any",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"}]},{tfOpName:"ArgMax",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"ArgMin",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"Prod",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}],attrs:[{tfName:"keep_dims",name:"keepDims",type:"bool"},{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"Cumprod",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}],attrs:[{tfName:"exclusive",name:"exclusive",type:"bool"},{tfName:"reverse",name:"reverse",type:"bool"}]},{tfOpName:"Cumsum",category:"reduction",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}],attrs:[{tfName:"exclusive",name:"exclusive",type:"bool"},{tfName:"reverse",name:"reverse",type:"bool"}]}],Ise=[{tfOpName:"ConcatV2",category:"slice_join",inputs:[{start:0,end:-1,name:"tensors",type:"tensors"},{start:-1,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"Concat",category:"slice_join",inputs:[{start:1,end:0,name:"tensors",type:"tensors"},{start:0,name:"axis",type:"number"}],attrs:[{tfName:"N",name:"n",type:"number",defaultValue:2}]},{tfOpName:"GatherV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"axis",type:"number",defaultValue:0}],attrs:[{tfName:"batch_dims",name:"batchDims",type:"number",defaultValue:0}]},{tfOpName:"Gather",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",notSupported:!0}]},{tfOpName:"Reverse",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"dims",type:"bool[]"}]},{tfOpName:"ReverseV2",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number[]"}]},{tfOpName:"Slice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"size",type:"number[]"}]},{tfOpName:"StridedSlice",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"begin",type:"number[]"},{start:2,name:"end",type:"number[]"},{start:3,name:"strides",type:"number[]"}],attrs:[{tfName:"begin_mask",name:"beginMask",type:"number",defaultValue:0},{tfName:"end_mask",name:"endMask",type:"number",defaultValue:0},{tfName:"new_axis_mask",name:"newAxisMask",type:"number",defaultValue:0},{tfName:"ellipsis_mask",name:"ellipsisMask",type:"number",defaultValue:0},{tfName:"shrink_axis_mask",name:"shrinkAxisMask",type:"number",defaultValue:0}]},{tfOpName:"Pack",category:"slice_join",inputs:[{start:0,end:0,name:"tensors",type:"tensors"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0}]},{tfOpName:"Unpack",category:"slice_join",inputs:[{start:0,name:"tensor",type:"tensor"}],attrs:[{tfName:"axis",name:"axis",type:"number",defaultValue:0},{tfName:"num",name:"num",type:"number",defaultValue:0,notSupported:!0}]},{tfOpName:"Tile",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"reps",type:"number[]"}]},{tfOpName:"Split",category:"slice_join",inputs:[{start:0,name:"axis",type:"number",defaultValue:0},{start:1,name:"x",type:"tensor"}],attrs:[{tfName:"num_split",name:"numOrSizeSplits",type:"number",defaultValue:1}]},{tfOpName:"SplitV",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"numOrSizeSplits",type:"number[]"},{start:2,name:"axis",type:"number",defaultValue:0}]},{tfOpName:"ScatterNd",category:"slice_join",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"values",type:"tensor"},{start:2,name:"shape",type:"number[]"}]},{tfOpName:"GatherNd",category:"slice_join",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"indices",type:"tensor"}]},{tfOpName:"SparseToDense",category:"slice_join",inputs:[{start:0,name:"sparseIndices",type:"tensor"},{start:1,name:"outputShape",type:"number[]"},{start:2,name:"sparseValues",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}],attrs:[{tfName:"validate_indices",name:"validateIndices",type:"bool",defaultValue:!1,notSupported:!0}]},{tfOpName:"TensorScatterUpdate",category:"slice_join",inputs:[{start:0,name:"tensor",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"values",type:"tensor"}]}],Ase=[{tfOpName:"SparseFillEmptyRows",category:"sparse",inputs:[{start:0,name:"indices",type:"tensor"},{start:1,name:"values",type:"tensor"},{start:2,name:"denseShape",type:"tensor"},{start:3,name:"defaultValue",type:"tensor"}]},{tfOpName:"SparseReshape",category:"sparse",inputs:[{start:0,name:"inputIndices",type:"tensor"},{start:1,name:"inputShape",type:"tensor"},{start:2,name:"newShape",type:"tensor"}],attrs:[{tfName:"T",name:"dtype",type:"dtype",notSupported:!0}]},{tfOpName:"SparseSegmentMean",category:"sparse",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"segmentIds",type:"tensor"}]},{tfOpName:"SparseSegmentSum",category:"sparse",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"indices",type:"tensor"},{start:2,name:"segmentIds",type:"tensor"}]}],Sse=[{tfOpName:"FFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"IFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"}]},{tfOpName:"RFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]},{tfOpName:"IRFFT",category:"spectral",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"fft_length",type:"number",notSupported:!0}]}],Cse=[{tfOpName:"StaticRegexReplace",category:"string",inputs:[{start:0,name:"input",type:"tensor"}],attrs:[{tfName:"pattern",name:"pattern",type:"string"},{tfName:"rewrite",name:"rewrite",type:"string"},{tfName:"replace_global",name:"replaceGlobal",type:"bool"}]},{tfOpName:"StringNGrams",category:"string",inputs:[{start:0,name:"data",type:"tensor"},{start:1,name:"dataSplits",type:"tensor"}],attrs:[{tfName:"separator",name:"separator",type:"string"},{tfName:"ngram_widths",name:"nGramWidths",type:"number[]"},{tfName:"left_pad",name:"leftPad",type:"string"},{tfName:"right_pad",name:"rightPad",type:"string"},{tfName:"pad_width",name:"padWidth",type:"number"},{tfName:"preserve_short_sequences",name:"preserveShortSequences",type:"bool"}],outputs:["ngrams","ngrams_splits"]},{tfOpName:"StringSplit",category:"string",inputs:[{start:0,name:"input",type:"tensor"},{start:1,name:"delimiter",type:"tensor"}],attrs:[{tfName:"skip_empty",name:"skipEmpty",type:"bool"}],outputs:["indices","values","shape"]},{tfOpName:"StringToHashBucketFast",category:"string",inputs:[{start:0,name:"input",type:"tensor"}],attrs:[{tfName:"num_buckets",name:"numBuckets",type:"number"}]}],Ose=[{tfOpName:"Cast",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"SrcT",name:"sdtype",type:"dtype",notSupported:!0},{tfName:"DstT",name:"dtype",type:"dtype"}]},{tfOpName:"ExpandDims",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"axis",type:"number"}]},{tfOpName:"MirrorPad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"mode",name:"mode",type:"string"}]},{tfOpName:"Pad",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"}],attrs:[{tfName:"constant_value",name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"PadV2",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"padding",type:"number[]"},{start:2,name:"constantValue",type:"number",defaultValue:0}]},{tfOpName:"Reshape",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}]},{tfOpName:"EnsureShape",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}]},{tfOpName:"Squeeze",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"axis",tfDeprecatedName:"squeeze_dims",name:"axis",type:"number[]"}]},{tfOpName:"SpaceToBatchND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"paddings",type:"number[]"}]},{tfOpName:"BatchToSpaceND",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"blockShape",type:"number[]"},{start:2,name:"crops",type:"number[]"}]},{tfOpName:"DepthToSpace",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"}],attrs:[{tfName:"block_size",name:"blockSize",type:"number"},{tfName:"data_format",name:"dataFormat",type:"string"}]},{tfOpName:"BroadcastTo",category:"transformation",inputs:[{start:0,name:"x",type:"tensor"},{start:1,name:"shape",type:"number[]"}],attrs:[]},{tfOpName:"BroadcastArgs",category:"transformation",inputs:[{start:0,name:"s0",type:"tensor"},{start:1,name:"s1",type:"tensor"}],attrs:[]}]; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11658,7 +11658,7 @@ const sse=[{tfOpName:"Add",category:"arithmetic",inputs:[{start:0,name:"a",type: * limitations under the License. * ============================================================================= */ -class wse{static get Instance(){return this._instance||(this._instance=new this)}constructor(){const e=[].concat(...[ge,_e,ye,ve,be,Te,xe,Ee,we,Ie,Ae,Se,Ce,Oe,Me,ke,Re,Ne,De].map(e=>e.json));this.opMappers=e.reduce((e,t)=>(e[t.tfOpName]=t,e),{})}transformGraph(e,t={}){const n=e.node,i=[],r=[],s=[],o=n.reduce((e,t)=>(e[t.name]=this.mapNode(t),t.op.startsWith("Placeholder")?i.push(e[t.name]):"Const"===t.op?r.push(e[t.name]):null!=t.input&&0!==t.input.length||s.push(e[t.name]),e),{});let a=[];const l=[];let u={},c={};null!=t&&(u=this.mapSignatureEntries(t.inputs),c=this.mapSignatureEntries(t.outputs));const d=Object.keys(o);d.forEach(e=>{const t=o[e];t.inputNames.forEach((e,n)=>{const[i,,r]=ese(e),s=o[i];if(null!=s.outputs){const e=s.outputs.indexOf(r);if(-1!==e){const r=`${i}:${e}`;t.inputNames[n]=r}}t.inputs.push(s),s.children.push(t)})}),0===Object.keys(c).length?d.forEach(e=>{const t=o[e];0===t.children.length&&l.push(t)}):Object.keys(c).forEach(e=>{const[t]=ese(e),n=o[t];null!=n&&(n.signatureKey=c[e],l.push(n))}),Object.keys(u).length>0?Object.keys(u).forEach(e=>{const[t]=ese(e),n=o[t];n&&(n.signatureKey=u[e],a.push(n))}):a=i;let h={};null!=e.library&&null!=e.library.function&&(h=e.library.function.reduce((e,t)=>(e[t.signature.name]=this.mapFunction(t),e),{}));const p={nodes:o,inputs:a,outputs:l,weights:r,placeholders:i,signature:t,functions:h};return s.length>0&&(p.initNodes=s),p}mapSignatureEntries(e){return Object.keys(e||{}).reduce((t,n)=>(t[e[n].name]=n,t),{})}mapNode(e){const t=qre(e.op)||this.opMappers[e.op]||{};null==e.attr&&(e.attr={});const n={name:e.name,op:e.op,category:t.category,inputNames:(e.input||[]).map(e=>e.startsWith("^")?e.slice(1):e),inputs:[],children:[],inputParams:{},attrParams:{},rawAttrs:e.attr,outputs:t.outputs};return null!=t.inputs&&(n.inputParams=t.inputs.reduce((e,t)=>(e[t.name]={type:t.type,inputIndexStart:t.start,inputIndexEnd:t.end},e),{})),null!=t.attrs&&(n.attrParams=t.attrs.reduce((t,n)=>{const i=n.type;let r;switch(n.type){case"string":r=Ase(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Ase(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"string[]":r=Lse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Lse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"number":r=Cse(e.attr,n.tfName,n.defaultValue||0),void 0===r&&n.tfDeprecatedName&&(r=Cse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"number[]":r=Fse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Fse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"bool":r=Sse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Sse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"bool[]":r=Bse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Bse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"shape":r=Dse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Dse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"shape[]":r=Pse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Pse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"dtype":r=kse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=kse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"dtype[]":r=Rse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Rse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"func":r=Mse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Mse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"tensor":case"tensors":break;default:throw new Error(`Unsupported param type: ${n.type} for op: ${e.op}`)}return t[n.name]={value:r,type:i},t},{})),n}mapFunction(e){const t=e.nodeDef,n=[];let i={};null!=t&&(i=t.reduce((e,t)=>(e[t.name]=this.mapNode(t),"Const"===t.op&&n.push(e[t.name]),e),{}));const r=[],s=[];e.signature.inputArg.forEach(e=>{const[t]=ese(e.name),n={name:t,op:"Placeholder",inputs:[],inputNames:[],category:"graph",inputParams:{},attrParams:{dtype:{value:Ose(e.type),type:"dtype"}},children:[]};n.signatureKey=e.name,r.push(n),i[t]=n});Object.keys(i).forEach(e=>{const t=i[e];t.inputNames.forEach((e,n)=>{const[r,,s]=ese(e),o=i[r];if(null!=o.outputs){const e=o.outputs.indexOf(s);if(-1!==e){const i=`${r}:${e}`;t.inputNames[n]=i}}t.inputs.push(o),o.children.push(t)})});const o=e.ret;e.signature.outputArg.forEach(e=>{const[t,n]=ese(o[e.name]),r=i[t];null!=r&&(r.defaultOutput=n,s.push(r))});const a=this.mapArgsToSignature(e);return{nodes:i,inputs:r,outputs:s,weights:n,placeholders:[],signature:a}}mapArgsToSignature(e){return{methodName:e.signature.name,inputs:e.signature.inputArg.reduce((e,t)=>(e[t.name]=this.mapArgToTensorInfo(t),e),{}),outputs:e.signature.outputArg.reduce((t,n)=>(t[n.name]=this.mapArgToTensorInfo(n,e.ret),t),{})}}mapArgToTensorInfo(e,t){let n=e.name;return null!=t&&(n=t[n]),{name:n,dtype:e.type}}}function Ise(e,t){const n=Array.isArray(e)?String.fromCharCode.apply(null,e):function(e){const t=(0,p3.env)().global;if(void 0!==t.atob)return t.atob(e);if("undefined"!=typeof Buffer)return new Buffer(e,"base64").toString();throw new Error("Unable to decode base64 in this environment. Missing built-in atob() or Buffer()")}(e);return t?n:n.toLowerCase()}function Ase(e,t,n,i=!1){const r=e[t];return null!=r?Ise(r.s,i):n}function Sse(e,t,n){const i=e[t];return i?i.b:n}function Cse(e,t,n){const i=e[t]||{},r=null!=i.i?i.i:null!=i.f?i.f:n;return"number"==typeof r?r:parseInt(r,10)}function Ose(e){switch("string"==typeof e&&(e=Gre[e]),e){case Gre.DT_FLOAT:case Gre.DT_HALF:return"float32";case Gre.DT_INT32:case Gre.DT_INT64:case Gre.DT_INT8:case Gre.DT_UINT8:return"int32";case Gre.DT_BOOL:return"bool";case Gre.DT_DOUBLE:return"float32";case Gre.DT_STRING:return"string";case Gre.DT_COMPLEX64:case Gre.DT_COMPLEX128:return"complex64";default:return null}}function Mse(e,t,n){const i=e[t];return i&&i.func?i.func.name:n}function kse(e,t,n){const i=e[t];return i&&i.type?Ose(i.type):n}function Rse(e,t,n){const i=e[t];return i&&i.list&&i.list.type?i.list.type.map(e=>Ose(e)):n}function Nse(e){if(!e.unknownRank)return null!=e.dim?e.dim.map(e=>"number"==typeof e.size?e.size:parseInt(e.size,10)):[]}function Dse(e,t,n){const i=e[t];return i&&i.shape?Nse(i.shape):n}function Fse(e,t,n){const i=e[t];return i?((i.list.f&&i.list.f.length?i.list.f:i.list.i)||[]).map(e=>"number"==typeof e?e:parseInt(e,10)):n}function Lse(e,t,n,i=!1){const r=e[t];return r&&r.list&&r.list.s?r.list.s.map(e=>Ise(e,i)):n}function Pse(e,t,n){const i=e[t];return i&&i.list&&i.list.shape?i.list.shape.map(e=>Nse(e)):n}function Bse(e,t,n){const i=e[t];return i&&i.list&&i.list.b?i.list.b:n} +class Mse{static get Instance(){return this._instance||(this._instance=new this)}constructor(){const e=[].concat(...[ge,_e,ye,ve,be,Te,xe,Ee,we,Ie,Ae,Se,Ce,Oe,Me,ke,Re,Ne,De].map(e=>e.json));this.opMappers=e.reduce((e,t)=>(e[t.tfOpName]=t,e),{})}transformGraph(e,t={}){const n=e.node,i=[],r=[],s=[],o=n.reduce((e,t)=>(e[t.name]=this.mapNode(t),t.op.startsWith("Placeholder")?i.push(e[t.name]):"Const"===t.op?r.push(e[t.name]):null!=t.input&&0!==t.input.length||s.push(e[t.name]),e),{});let a=[];const l=[];let u={},c={};null!=t&&(u=this.mapSignatureEntries(t.inputs),c=this.mapSignatureEntries(t.outputs));const d=Object.keys(o);d.forEach(e=>{const t=o[e];t.inputNames.forEach((e,n)=>{const[i,,r]=ose(e),s=o[i];if(null!=s.outputs){const e=s.outputs.indexOf(r);if(-1!==e){const r=`${i}:${e}`;t.inputNames[n]=r}}t.inputs.push(s),s.children.push(t)})}),0===Object.keys(c).length?d.forEach(e=>{const t=o[e];0===t.children.length&&l.push(t)}):Object.keys(c).forEach(e=>{const[t]=ose(e),n=o[t];null!=n&&(n.signatureKey=c[e],l.push(n))}),Object.keys(u).length>0?Object.keys(u).forEach(e=>{const[t]=ose(e),n=o[t];n&&(n.signatureKey=u[e],a.push(n))}):a=i;let h={};null!=e.library&&null!=e.library.function&&(h=e.library.function.reduce((e,t)=>(e[t.signature.name]=this.mapFunction(t),e),{}));const p={nodes:o,inputs:a,outputs:l,weights:r,placeholders:i,signature:t,functions:h};return s.length>0&&(p.initNodes=s),p}mapSignatureEntries(e){return Object.keys(e||{}).reduce((t,n)=>(t[e[n].name]=n,t),{})}mapNode(e){const t=tse(e.op)||this.opMappers[e.op]||{};null==e.attr&&(e.attr={});const n={name:e.name,op:e.op,category:t.category,inputNames:(e.input||[]).map(e=>e.startsWith("^")?e.slice(1):e),inputs:[],children:[],inputParams:{},attrParams:{},rawAttrs:e.attr,outputs:t.outputs};return null!=t.inputs&&(n.inputParams=t.inputs.reduce((e,t)=>(e[t.name]={type:t.type,inputIndexStart:t.start,inputIndexEnd:t.end},e),{})),null!=t.attrs&&(n.attrParams=t.attrs.reduce((t,n)=>{const i=n.type;let r;switch(n.type){case"string":r=Rse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Rse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"string[]":r=zse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=zse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"number":r=Dse(e.attr,n.tfName,n.defaultValue||0),void 0===r&&n.tfDeprecatedName&&(r=Dse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"number[]":r=Vse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Vse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"bool":r=Nse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Nse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"bool[]":r=Yse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Yse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"shape":r=Use(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Use(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"shape[]":r=jse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=jse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"dtype":r=Pse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Pse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"dtype[]":r=Bse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Bse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"func":r=Lse(e.attr,n.tfName,n.defaultValue),void 0===r&&n.tfDeprecatedName&&(r=Lse(e.attr,n.tfDeprecatedName,n.defaultValue));break;case"tensor":case"tensors":break;default:throw new Error(`Unsupported param type: ${n.type} for op: ${e.op}`)}return t[n.name]={value:r,type:i},t},{})),n}mapFunction(e){const t=e.nodeDef,n=[];let i={};null!=t&&(i=t.reduce((e,t)=>(e[t.name]=this.mapNode(t),"Const"===t.op&&n.push(e[t.name]),e),{}));const r=[],s=[];e.signature.inputArg.forEach(e=>{const[t]=ose(e.name),n={name:t,op:"Placeholder",inputs:[],inputNames:[],category:"graph",inputParams:{},attrParams:{dtype:{value:Fse(e.type),type:"dtype"}},children:[]};n.signatureKey=e.name,r.push(n),i[t]=n});Object.keys(i).forEach(e=>{const t=i[e];t.inputNames.forEach((e,n)=>{const[r,,s]=ose(e),o=i[r];if(null!=o.outputs){const e=o.outputs.indexOf(s);if(-1!==e){const i=`${r}:${e}`;t.inputNames[n]=i}}t.inputs.push(o),o.children.push(t)})});const o=e.ret;e.signature.outputArg.forEach(e=>{const[t,n]=ose(o[e.name]),r=i[t];null!=r&&(r.defaultOutput=n,s.push(r))});const a=this.mapArgsToSignature(e);return{nodes:i,inputs:r,outputs:s,weights:n,placeholders:[],signature:a}}mapArgsToSignature(e){return{methodName:e.signature.name,inputs:e.signature.inputArg.reduce((e,t)=>(e[t.name]=this.mapArgToTensorInfo(t),e),{}),outputs:e.signature.outputArg.reduce((t,n)=>(t[n.name]=this.mapArgToTensorInfo(n,e.ret),t),{})}}mapArgToTensorInfo(e,t){let n=e.name;return null!=t&&(n=t[n]),{name:n,dtype:e.type}}}function kse(e,t){const n=Array.isArray(e)?String.fromCharCode.apply(null,e):function(e){const t=(0,v3.env)().global;if(void 0!==t.atob)return t.atob(e);if("undefined"!=typeof Buffer)return new Buffer(e,"base64").toString();throw new Error("Unable to decode base64 in this environment. Missing built-in atob() or Buffer()")}(e);return t?n:n.toLowerCase()}function Rse(e,t,n,i=!1){const r=e[t];return null!=r?kse(r.s,i):n}function Nse(e,t,n){const i=e[t];return i?i.b:n}function Dse(e,t,n){const i=e[t]||{},r=null!=i.i?i.i:null!=i.f?i.f:n;return"number"==typeof r?r:parseInt(r,10)}function Fse(e){switch("string"==typeof e&&(e=Zre[e]),e){case Zre.DT_FLOAT:case Zre.DT_HALF:return"float32";case Zre.DT_INT32:case Zre.DT_INT64:case Zre.DT_INT8:case Zre.DT_UINT8:return"int32";case Zre.DT_BOOL:return"bool";case Zre.DT_DOUBLE:return"float32";case Zre.DT_STRING:return"string";case Zre.DT_COMPLEX64:case Zre.DT_COMPLEX128:return"complex64";default:return null}}function Lse(e,t,n){const i=e[t];return i&&i.func?i.func.name:n}function Pse(e,t,n){const i=e[t];return i&&i.type?Fse(i.type):n}function Bse(e,t,n){const i=e[t];return i&&i.list&&i.list.type?i.list.type.map(e=>Fse(e)):n}function $se(e){if(!e.unknownRank)return null!=e.dim?e.dim.map(e=>"number"==typeof e.size?e.size:parseInt(e.size,10)):[]}function Use(e,t,n){const i=e[t];return i&&i.shape?$se(i.shape):n}function Vse(e,t,n){const i=e[t];return i?((i.list.f&&i.list.f.length?i.list.f:i.list.i)||[]).map(e=>"number"==typeof e?e:parseInt(e,10)):n}function zse(e,t,n,i=!1){const r=e[t];return r&&r.list&&r.list.s?r.list.s.map(e=>kse(e,i)):n}function jse(e,t,n){const i=e[t];return i&&i.list&&i.list.shape?i.list.shape.map(e=>$se(e)):n}function Yse(e,t,n){const i=e[t];return i&&i.list&&i.list.b?i.list.b:n} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -11675,7 +11675,7 @@ class wse{static get Instance(){return this._instance||(this._instance=new this) * limitations under the License. * ============================================================================= */ -class $se{constructor(e,t,n){this.node=e,this.tensorMap=t,this.context=n,this.inputs=[],this.attrs={},this.inputs=e.inputNames.map(e=>this.getInput(e)),null!=e.rawAttrs&&(this.attrs=Object.keys(e.rawAttrs).reduce((e,t)=>(e[t]=this.getAttr(t),e),{}))}getInput(e){return Qre(e,this.tensorMap,this.context)}getAttr(e,t){const n=this.node.rawAttrs[e];if(null!=n.tensor)return Qre(e,this.tensorMap,this.context);if(null!=n.i||null!=n.f)return Cse(this.node.rawAttrs,e,t);if(null!=n.s)return Ase(this.node.rawAttrs,e,t);if(null!=n.b)return Sse(this.node.rawAttrs,e,t);if(null!=n.shape)return Dse(this.node.rawAttrs,e,t);if(null!=n.type)return kse(this.node.rawAttrs,e,t);if(null!=n.list){if(null!=n.list.i||null!=n.list.f)return Fse(this.node.rawAttrs,e,t);if(null!=n.list.s)return Lse(this.node.rawAttrs,e,t);if(null!=n.list.shape)return Pse(this.node.rawAttrs,e,t);if(null!=n.list.b)return Bse(this.node.rawAttrs,e,t);if(null!=n.list.type)return Rse(this.node.rawAttrs,e,t)}return t}}var Use=__webpack_require__(67270); +class Gse{constructor(e,t,n){this.node=e,this.tensorMap=t,this.context=n,this.inputs=[],this.attrs={},this.inputs=e.inputNames.map(e=>this.getInput(e)),null!=e.rawAttrs&&(this.attrs=Object.keys(e.rawAttrs).reduce((e,t)=>(e[t]=this.getAttr(t),e),{}))}getInput(e){return rse(e,this.tensorMap,this.context)}getAttr(e,t){const n=this.node.rawAttrs[e];if(null!=n.tensor)return rse(e,this.tensorMap,this.context);if(null!=n.i||null!=n.f)return Dse(this.node.rawAttrs,e,t);if(null!=n.s)return Rse(this.node.rawAttrs,e,t);if(null!=n.b)return Nse(this.node.rawAttrs,e,t);if(null!=n.shape)return Use(this.node.rawAttrs,e,t);if(null!=n.type)return Pse(this.node.rawAttrs,e,t);if(null!=n.list){if(null!=n.list.i||null!=n.list.f)return Vse(this.node.rawAttrs,e,t);if(null!=n.list.s)return zse(this.node.rawAttrs,e,t);if(null!=n.list.shape)return jse(this.node.rawAttrs,e,t);if(null!=n.list.b)return Yse(this.node.rawAttrs,e,t);if(null!=n.list.type)return Bse(this.node.rawAttrs,e,t)}return t}}var Hse=__webpack_require__(67270); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -11692,7 +11692,7 @@ class $se{constructor(e,t,n){this.node=e,this.tensorMap=t,this.context=n,this.in * limitations under the License. * ============================================================================= */ -function Vse(e,t,n=""){if("number"!=typeof e&&"number"!=typeof t){p3.util.assert(e.length===t.length,()=>n+` Shapes ${e} and ${t} must match`);for(let i=0;in+` Shapes ${e} and ${t} must match`)}}}function zse(e){return"number"!=typeof e&&!e.some(e=>e<0)}function jse(e,t,n){let i=Yse(e,n);const r=!zse(i);if(r&&0===t.length)throw new Error(`Tried to calculate elements of an empty list with non-fully-defined elementShape: ${i}`);if(r&&t.forEach(e=>{i=Yse(e.shape,i)}),!zse(i))throw new Error(`Non-fully-defined elementShape: ${i}`);return i}function Yse(e,t){if("number"==typeof e)return t;if("number"==typeof t)return e;if(e.length!==t.length)throw new Error(`Incompatible ranks during merge: ${e} vs. ${t}`);const n=[];for(let i=0;i=0&&s>=0&&r!==s)throw new Error(`Incompatible shape during merge: ${e} vs. ${t}`);n[i]=r>=0?r:s}return n} +function Wse(e,t,n=""){if("number"!=typeof e&&"number"!=typeof t){v3.util.assert(e.length===t.length,()=>n+` Shapes ${e} and ${t} must match`);for(let i=0;in+` Shapes ${e} and ${t} must match`)}}}function Xse(e){return"number"!=typeof e&&!e.some(e=>e<0)}function qse(e,t,n){let i=Kse(e,n);const r=!Xse(i);if(r&&0===t.length)throw new Error(`Tried to calculate elements of an empty list with non-fully-defined elementShape: ${i}`);if(r&&t.forEach(e=>{i=Kse(e.shape,i)}),!Xse(i))throw new Error(`Non-fully-defined elementShape: ${i}`);return i}function Kse(e,t){if("number"==typeof e)return t;if("number"==typeof t)return e;if(e.length!==t.length)throw new Error(`Incompatible ranks during merge: ${e} vs. ${t}`);const n=[];for(let i=0;i=0&&s>=0&&r!==s)throw new Error(`Incompatible shape during merge: ${e} vs. ${t}`);n[i]=r>=0?r:s}return n} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11709,7 +11709,7 @@ function Vse(e,t,n=""){if("number"!=typeof e&&"number"!=typeof t){p3.util.assert * limitations under the License. * ============================================================================= */ -class Gse{constructor(e,t,n,i,r,s,o){this.name=e,this.dtype=t,this.maxSize=n,this.elementShape=i,this.identicalElementShapes=r,this.dynamicSize=s,this.clearAfterRead=o,this.tensors=[],this.closed_=!1,this.idTensor=(0,p3.scalar)(0),(0,p3.keep)(this.idTensor)}get id(){return this.idTensor.id}get closed(){return this.closed_}clearAndClose(e){this.tensors.forEach(t=>{null!=e&&e.has(t.tensor.id)||t.tensor.dispose()}),this.tensors=[],this.closed_=!0,this.idTensor.dispose()}size(){return this.tensors.length}read(e){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||e>=this.size())throw new Error(`Tried to read from index ${e}, but array size is: ${this.size()}`);const t=this.tensors[e];if(t.cleared)throw new Error(`TensorArray ${this.name}: Could not read index ${e} twice because it was cleared after a previous read (perhaps try setting clear_after_read = false?).`);return this.clearAfterRead&&(t.cleared=!0),t.read=!0,t.tensor}readMany(e){return e.map(e=>this.read(e))}write(e,t){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||!this.dynamicSize&&e>=this.maxSize)throw new Error(`Tried to write to index ${e}, but array is not resizeable and size is: ${this.maxSize}`);const n=this.tensors[e]||{};if(t.dtype!==this.dtype)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e},\n because the value dtype is ${t.dtype}, but TensorArray dtype is ${this.dtype}.`);if(0!==this.size()||null!=this.elementShape&&0!==this.elementShape.length||(this.elementShape=t.shape),Vse(this.elementShape,t.shape,`TensorArray ${this.name}: Could not write to TensorArray index ${e}.`),n.read)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been read.`);if(n.written)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been written.`);n.tensor=t,(0,p3.keep)(t),n.written=!0,this.tensors[e]=n}writeMany(e,t){if(e.length!==t.length)throw new Error(`TensorArray ${this.name}: could not write multiple tensors,because the index size: ${e.length} is not the same as tensors size: ${t.length}.`);e.forEach((e,n)=>this.write(e,t[n]))}gather(e,t){if(t&&t!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but gather requested dtype ${t}`);if(e)e=e.slice(0,this.size());else{e=[];for(let t=0;t=this.maxSize)throw new Error(`Max index must be < array size (${n} vs. ${this.maxSize})`);this.writeMany(e,(0,p3.unstack)(t,0))}split(e,t){if(t.dtype!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but tensor has dtype ${t.dtype}`);let n=0;const i=e.map(e=>(n+=e,n));if(n!==t.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${n}, and tensor's shape is: ${t.shape}`);if(!this.dynamicSize&&e.length!==this.maxSize)throw new Error(`TensorArray's size is not equal to the size of lengths (${this.maxSize} vs. ${e.length}), and the TensorArray is not marked as dynamically resizeable`);const r=0===n?0:t.size/n,s=[];(0,p3.tidy)(()=>{t=(0,p3.reshape)(t,[1,n,r]);for(let n=0;n{null!=e&&e.has(t.tensor.id)||t.tensor.dispose()}),this.tensors=[],this.closed_=!0,this.idTensor.dispose()}size(){return this.tensors.length}read(e){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||e>=this.size())throw new Error(`Tried to read from index ${e}, but array size is: ${this.size()}`);const t=this.tensors[e];if(t.cleared)throw new Error(`TensorArray ${this.name}: Could not read index ${e} twice because it was cleared after a previous read (perhaps try setting clear_after_read = false?).`);return this.clearAfterRead&&(t.cleared=!0),t.read=!0,t.tensor}readMany(e){return e.map(e=>this.read(e))}write(e,t){if(this.closed_)throw new Error(`TensorArray ${this.name} has already been closed.`);if(e<0||!this.dynamicSize&&e>=this.maxSize)throw new Error(`Tried to write to index ${e}, but array is not resizeable and size is: ${this.maxSize}`);const n=this.tensors[e]||{};if(t.dtype!==this.dtype)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e},\n because the value dtype is ${t.dtype}, but TensorArray dtype is ${this.dtype}.`);if(0!==this.size()||null!=this.elementShape&&0!==this.elementShape.length||(this.elementShape=t.shape),Wse(this.elementShape,t.shape,`TensorArray ${this.name}: Could not write to TensorArray index ${e}.`),n.read)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been read.`);if(n.written)throw new Error(`TensorArray ${this.name}: Could not write to TensorArray index ${e}, because it has already been written.`);n.tensor=t,(0,v3.keep)(t),n.written=!0,this.tensors[e]=n}writeMany(e,t){if(e.length!==t.length)throw new Error(`TensorArray ${this.name}: could not write multiple tensors,because the index size: ${e.length} is not the same as tensors size: ${t.length}.`);e.forEach((e,n)=>this.write(e,t[n]))}gather(e,t){if(t&&t!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but gather requested dtype ${t}`);if(e)e=e.slice(0,this.size());else{e=[];for(let t=0;t=this.maxSize)throw new Error(`Max index must be < array size (${n} vs. ${this.maxSize})`);this.writeMany(e,(0,v3.unstack)(t,0))}split(e,t){if(t.dtype!==this.dtype)throw new Error(`TensorArray dtype is ${this.dtype} but tensor has dtype ${t.dtype}`);let n=0;const i=e.map(e=>(n+=e,n));if(n!==t.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${n}, and tensor's shape is: ${t.shape}`);if(!this.dynamicSize&&e.length!==this.maxSize)throw new Error(`TensorArray's size is not equal to the size of lengths (${this.maxSize} vs. ${e.length}), and the TensorArray is not marked as dynamically resizeable`);const r=0===n?0:t.size/n,s=[];(0,v3.tidy)(()=>{t=(0,v3.reshape)(t,[1,n,r]);for(let n=0;n{if(n!==e.dtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${e.dtype}`);Vse(t,e.shape,"TensorList shape mismatch: "),(0,p3.keep)(e)}),this.idTensor=(0,p3.scalar)(0),this.maxNumElements=i,(0,p3.keep)(this.idTensor)}copy(){return new Hse([...this.tensors],this.elementShape,this.elementDtype)}clearAndClose(e){this.tensors.forEach(t=>{null!=e&&e.has(t.id)||t.dispose()}),this.tensors.length=0,this.idTensor.dispose()}size(){return this.tensors.length}stack(e,t,n=-1){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(-1!==n&&this.tensors.length!==n)throw new Error(`Operation expected a list with ${n} elements but got a list with ${this.tensors.length} elements.`);Vse(e,this.elementShape,"TensorList shape mismatch: ");const i=jse(this.elementShape,this.tensors,e);return(0,p3.tidy)(()=>{const e=this.tensors.map(e=>(0,p3.reshape)(e,i));return(0,p3.stack)(e,0)})}popBack(e,t){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(0===this.size())throw new Error("Trying to pop from an empty list.");const n=jse(this.elementShape,this.tensors,e),i=this.tensors.pop();return i.kept=!1,Vse(i.shape,e,"TensorList shape mismatch: "),(0,p3.reshape)(i,n)}pushBack(e){if(e.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${this.elementDtype}`);if(Vse(e.shape,this.elementShape,"TensorList shape mismatch: "),this.maxNumElements===this.size())throw new Error("Trying to push element into a full list.");(0,p3.keep)(e),this.tensors.push(e)}resize(e){if(e<0)throw new Error(`TensorListResize expects size to be non-negative. Got: ${e}`);if(-1!==this.maxNumElements&&e>this.maxNumElements)throw new Error(`TensorListResize input size ${e} is greater maxNumElement ${this.maxNumElements}.`);const t=new Hse([],this.elementShape,this.elementDtype,this.maxNumElements);t.tensors.length=e;for(let n=0;nthis.tensors.length)throw new Error(`Trying to access element ${e} in a list with ${this.tensors.length} elements.`);if(null==this.tensors[e])throw new Error(`element at index ${e} is null.`);Vse(this.tensors[e].shape,t,"TensorList shape mismatch: ");const i=jse(this.elementShape,this.tensors,t);return(0,p3.reshape)(this.tensors[e],i)}setItem(e,t){if(t.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t.dtype}, but list elements ${this.elementDtype}`);if(e<0||-1!==this.maxNumElements&&e>=this.maxNumElements)throw new Error(`Trying to set element ${e} in a list with max ${this.maxNumElements} elements.`);Vse(this.elementShape,t.shape,"TensorList shape mismatch: "),(0,p3.keep)(t),null!=this.tensors[e]&&(this.tensors[e].kept=!1),this.tensors[e]=t}gather(e,t,n){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);Vse(this.elementShape,n,"TensorList shape mismatch: "),e=e.slice(0,this.size());const i=jse(this.elementShape,this.tensors,n);return 0===e.length?(0,p3.tensor)([],[0].concat(i)):(0,p3.tidy)(()=>{const t=e.map(e=>(0,p3.reshape)(this.tensors[e],i));return(0,p3.stack)(t,0)})}concat(e,t){if(e&&e!==this.elementDtype)throw new Error(`TensorList dtype is ${this.elementDtype} but concat requested dtype ${e}`);Vse(this.elementShape,t,"TensorList shape mismatch: ");const n=jse(this.elementShape,this.tensors,t);return 0===this.size()?(0,p3.tensor)([],[0].concat(n)):(0,p3.tidy)(()=>{const e=this.tensors.map(e=>(0,p3.reshape)(e,n));return(0,p3.concat)(e,0)})}} +class Qse{get id(){return this.idTensor.id}constructor(e,t,n,i=-1){this.tensors=e,this.elementShape=t,this.elementDtype=n,null!=e&&e.forEach(e=>{if(n!==e.dtype)throw new Error(`Invalid data types; op elements ${n}, but list elements ${e.dtype}`);Wse(t,e.shape,"TensorList shape mismatch: "),(0,v3.keep)(e)}),this.idTensor=(0,v3.scalar)(0),this.maxNumElements=i,(0,v3.keep)(this.idTensor)}copy(){return new Qse([...this.tensors],this.elementShape,this.elementDtype)}clearAndClose(e){this.tensors.forEach(t=>{null!=e&&e.has(t.id)||t.dispose()}),this.tensors.length=0,this.idTensor.dispose()}size(){return this.tensors.length}stack(e,t,n=-1){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(-1!==n&&this.tensors.length!==n)throw new Error(`Operation expected a list with ${n} elements but got a list with ${this.tensors.length} elements.`);Wse(e,this.elementShape,"TensorList shape mismatch: ");const i=qse(this.elementShape,this.tensors,e);return(0,v3.tidy)(()=>{const e=this.tensors.map(e=>(0,v3.reshape)(e,i));return(0,v3.stack)(e,0)})}popBack(e,t){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);if(0===this.size())throw new Error("Trying to pop from an empty list.");const n=qse(this.elementShape,this.tensors,e),i=this.tensors.pop();return i.kept=!1,Wse(i.shape,e,"TensorList shape mismatch: "),(0,v3.reshape)(i,n)}pushBack(e){if(e.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${this.elementDtype}`);if(Wse(e.shape,this.elementShape,"TensorList shape mismatch: "),this.maxNumElements===this.size())throw new Error("Trying to push element into a full list.");(0,v3.keep)(e),this.tensors.push(e)}resize(e){if(e<0)throw new Error(`TensorListResize expects size to be non-negative. Got: ${e}`);if(-1!==this.maxNumElements&&e>this.maxNumElements)throw new Error(`TensorListResize input size ${e} is greater maxNumElement ${this.maxNumElements}.`);const t=new Qse([],this.elementShape,this.elementDtype,this.maxNumElements);t.tensors.length=e;for(let n=0;nthis.tensors.length)throw new Error(`Trying to access element ${e} in a list with ${this.tensors.length} elements.`);if(null==this.tensors[e])throw new Error(`element at index ${e} is null.`);Wse(this.tensors[e].shape,t,"TensorList shape mismatch: ");const i=qse(this.elementShape,this.tensors,t);return(0,v3.reshape)(this.tensors[e],i)}setItem(e,t){if(t.dtype!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t.dtype}, but list elements ${this.elementDtype}`);if(e<0||-1!==this.maxNumElements&&e>=this.maxNumElements)throw new Error(`Trying to set element ${e} in a list with max ${this.maxNumElements} elements.`);Wse(this.elementShape,t.shape,"TensorList shape mismatch: "),(0,v3.keep)(t),null!=this.tensors[e]&&(this.tensors[e].kept=!1),this.tensors[e]=t}gather(e,t,n){if(t!==this.elementDtype)throw new Error(`Invalid data types; op elements ${t}, but list elements ${this.elementDtype}`);Wse(this.elementShape,n,"TensorList shape mismatch: "),e=e.slice(0,this.size());const i=qse(this.elementShape,this.tensors,n);return 0===e.length?(0,v3.tensor)([],[0].concat(i)):(0,v3.tidy)(()=>{const t=e.map(e=>(0,v3.reshape)(this.tensors[e],i));return(0,v3.stack)(t,0)})}concat(e,t){if(e&&e!==this.elementDtype)throw new Error(`TensorList dtype is ${this.elementDtype} but concat requested dtype ${e}`);Wse(this.elementShape,t,"TensorList shape mismatch: ");const n=qse(this.elementShape,this.tensors,t);return 0===this.size()?(0,v3.tensor)([],[0].concat(n)):(0,v3.tidy)(()=>{const e=this.tensors.map(e=>(0,v3.reshape)(e,n));return(0,v3.concat)(e,0)})}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11743,7 +11743,7 @@ class Hse{get id(){return this.idTensor.id}constructor(e,t,n,i=-1){this.tensors= * limitations under the License. * ============================================================================= */ -const Wse=async(e,t,n)=>{switch(e.op){case"If":case"StatelessIf":{const i=Zre("thenBranch",e,t,n),r=Zre("elseBranch",e,t,n),s=Zre("cond",e,t,n),o=Zre("args",e,t,n);return(await s.data())[0]?n.functionMap[i].executeFunctionAsync(o,n.tensorArrayMap,n.tensorListMap):n.functionMap[r].executeFunctionAsync(o,n.tensorArrayMap,n.tensorListMap)}case"While":case"StatelessWhile":{const i=Zre("body",e,t,n),r=Zre("cond",e,t,n),s=Zre("args",e,t,n),o=await n.functionMap[r].executeFunctionAsync(s,n.tensorArrayMap,n.tensorListMap),a=s.map(e=>e.id);let l=await o[0].data();o.forEach(e=>{e.kept||-1!==a.indexOf(e.id)||e.dispose()});let u=s;for(;l[0];){const e=u;u=await n.functionMap[i].executeFunctionAsync(u,n.tensorArrayMap,n.tensorListMap);const t=u.map(e=>e.id);e.forEach(e=>{e.kept||-1!==a.indexOf(e.id)||-1!==t.indexOf(e.id)||e.dispose()});const s=await n.functionMap[r].executeFunctionAsync(u,n.tensorArrayMap,n.tensorListMap);l=await s[0].data(),s.forEach(e=>{e.kept||-1!==a.indexOf(e.id)||-1!==t.indexOf(e.id)||e.dispose()})}return u}case"LoopCond":return[rse(Zre("pred",e,t,n))];case"Switch":{const i=Zre("pred",e,t,n);let r=Zre("data",e,t,n);return r.kept||(r=rse(r)),(await i.data())[0]?[void 0,r]:[r,void 0]}case"Merge":{const i=e.inputNames.find(e=>void 0!==Qre(e,t,n));if(i){return[rse(Qre(i,t,n))]}return}case"Enter":{const i=Zre("frameName",e,t,n),r=Zre("tensor",e,t,n);return n.enterFrame(i),[rse(r)]}case"Exit":{const i=Zre("tensor",e,t,n);return n.exitFrame(),[rse(i)]}case"NextIteration":{const i=Zre("tensor",e,t,n);return n.nextIteration(),[rse(i)]}case"TensorArrayV3":{const i=Zre("size",e,t,n),r=Zre("dtype",e,t,n),s=Zre("elementShape",e,t,n),o=Zre("dynamicSize",e,t,n),a=Zre("clearAfterRead",e,t,n),l=Zre("identicalElementShapes",e,t,n),u=Zre("name",e,t,n),c=new Gse(u,r,i,s,l,o,a);return n.addTensorArray(c),[c.idTensor,(0,p3.scalar)(1)]}case"TensorArrayWriteV3":{const i=Zre("tensorArrayId",e,t,n),r=Zre("index",e,t,n),s=Zre("tensor",e,t,n),o=n.getTensorArray(i.id);return o.write(r,s),[o.idTensor]}case"TensorArrayReadV3":{const i=Zre("tensorArrayId",e,t,n),r=Zre("index",e,t,n);return[n.getTensorArray(i.id).read(r)]}case"TensorArrayGatherV3":{const i=Zre("tensorArrayId",e,t,n),r=Zre("indices",e,t,n),s=Zre("dtype",e,t,n);return[n.getTensorArray(i.id).gather(r,s)]}case"TensorArrayScatterV3":{const i=Zre("tensorArrayId",e,t,n),r=Zre("indices",e,t,n),s=Zre("tensor",e,t,n),o=n.getTensorArray(i.id);return o.scatter(r,s),[o.idTensor]}case"TensorArrayConcatV3":{const i=Zre("tensorArrayId",e,t,n),r=n.getTensorArray(i.id),s=Zre("dtype",e,t,n);return[r.concat(s)]}case"TensorArraySplitV3":{const i=Zre("tensorArrayId",e,t,n),r=Zre("tensor",e,t,n),s=Zre("lengths",e,t,n),o=n.getTensorArray(i.id);return o.split(s,r),[o.idTensor]}case"TensorArraySizeV3":{const i=Zre("tensorArrayId",e,t,n),r=n.getTensorArray(i.id);return[(0,p3.scalar)(r.size(),"int32")]}case"TensorArrayCloseV3":{const i=Zre("tensorArrayId",e,t,n),r=n.getTensorArray(i.id);return r.clearAndClose(),[r.idTensor]}case"TensorListSetItem":{const i=Zre("tensorListId",e,t,n),r=Zre("index",e,t,n),s=Zre("tensor",e,t,n),o=n.getTensorList(i.id);return o.setItem(r,s),[o.idTensor]}case"TensorListGetItem":{const i=Zre("tensorListId",e,t,n),r=Zre("index",e,t,n),s=Zre("elementShape",e,t,n),o=Zre("elementDType",e,t,n);return[n.getTensorList(i.id).getItem(r,s,o)]}case"TensorListScatterV2":case"TensorListScatter":{const i=Zre("indices",e,t,n),r=function(e,t,n,i){if(t.length!==e.shape[0])throw new Error(`Expected len(indices) == tensor.shape[0], but saw: ${t.length} vs. ${e.shape[0]}`);const r=Math.max(...t);if(null!=i&&-1!==i&&r>=i)throw new Error(`Max index must be < array size (${r} vs. ${i})`);const s=new Hse([],n,e.dtype,i),o=(0,p3.unstack)(e,0);return t.forEach((e,t)=>{s.setItem(e,o[t])}),s}(Zre("tensor",e,t,n),i,Zre("elementShape",e,t,n),Zre("numElements",e,t,n));return n.addTensorList(r),[r.idTensor]}case"TensorListReserve":case"EmptyTensorList":{const i=Zre("elementShape",e,t,n),r=Zre("elementDType",e,t,n);let s;s="TensorListReserve"===e.op?"numElements":"maxNumElements";const o=Zre(s,e,t,n),a=function(e,t,n,i){return new Hse([],e,t,i)}(i,r,0,"TensorListReserve"===e.op?-1:o);return n.addTensorList(a),[a.idTensor]}case"TensorListGather":{const i=Zre("tensorListId",e,t,n),r=Zre("indices",e,t,n),s=Zre("elementShape",e,t,n),o=Zre("elementDType",e,t,n);return[n.getTensorList(i.id).gather(r,o,s)]}case"TensorListStack":{const i=Zre("tensorListId",e,t,n),r=Zre("elementShape",e,t,n),s=Zre("elementDType",e,t,n),o=Zre("numElements",e,t,n);return[n.getTensorList(i.id).stack(r,s,o)]}case"TensorListFromTensor":{const i=function(e,t,n){const i=e.dtype;if(e.shape.length<1)throw new Error(`Tensor must be at least a vector, but saw shape: ${e.shape}`);if(e.dtype!==n)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${n}`);Vse(e.shape.slice(1),t,"TensorList shape mismatch: ");const r=(0,p3.unstack)(e);return new Hse(r,t,i)}(Zre("tensor",e,t,n),Zre("elementShape",e,t,n),Zre("elementDType",e,t,n));return n.addTensorList(i),[i.idTensor]}case"TensorListConcat":case"TensorListConcatV2":{const i=Zre("tensorListId",e,t,n),r=n.getTensorList(i.id),s=Zre("dtype",e,t,n),o=Zre("elementShape",e,t,n);return[r.concat(s,o)]}case"TensorListPushBack":{const i=Zre("tensorListId",e,t,n),r=Zre("tensor",e,t,n),s=n.getTensorList(i.id);return s.pushBack(r),[s.idTensor]}case"TensorListPopBack":{const i=Zre("tensorListId",e,t,n),r=Zre("elementShape",e,t,n),s=Zre("elementDType",e,t,n);return[n.getTensorList(i.id).popBack(r,s)]}case"TensorListSplit":{const i=Zre("tensor",e,t,n),r=Zre("elementShape",e,t,n),s=function(e,t,n){let i=0;const r=t.map(e=>(i+=e,i));if(i!==e.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${i}, and tensor's shape is: ${e.shape}`);const s=Yse(e.shape.slice(1),n),o=0===i?0:e.size/i,a=(0,p3.tidy)(()=>{const n=[];e=(0,p3.reshape)(e,[1,i,o]);for(let i=0;i{switch(e.op){case"If":case"StatelessIf":{const i=ise("thenBranch",e,t,n),r=ise("elseBranch",e,t,n),s=ise("cond",e,t,n),o=ise("args",e,t,n);return(await s.data())[0]?n.functionMap[i].executeFunctionAsync(o,n.tensorArrayMap,n.tensorListMap):n.functionMap[r].executeFunctionAsync(o,n.tensorArrayMap,n.tensorListMap)}case"While":case"StatelessWhile":{const i=ise("body",e,t,n),r=ise("cond",e,t,n),s=ise("args",e,t,n),o=await n.functionMap[r].executeFunctionAsync(s,n.tensorArrayMap,n.tensorListMap),a=s.map(e=>e.id);let l=await o[0].data();o.forEach(e=>{e.kept||-1!==a.indexOf(e.id)||e.dispose()});let u=s;for(;l[0];){const e=u;u=await n.functionMap[i].executeFunctionAsync(u,n.tensorArrayMap,n.tensorListMap);const t=u.map(e=>e.id);e.forEach(e=>{e.kept||-1!==a.indexOf(e.id)||-1!==t.indexOf(e.id)||e.dispose()});const s=await n.functionMap[r].executeFunctionAsync(u,n.tensorArrayMap,n.tensorListMap);l=await s[0].data(),s.forEach(e=>{e.kept||-1!==a.indexOf(e.id)||-1!==t.indexOf(e.id)||e.dispose()})}return u}case"LoopCond":return[cse(ise("pred",e,t,n))];case"Switch":{const i=ise("pred",e,t,n);let r=ise("data",e,t,n);return r.kept||(r=cse(r)),(await i.data())[0]?[void 0,r]:[r,void 0]}case"Merge":{const i=e.inputNames.find(e=>void 0!==rse(e,t,n));if(i){return[cse(rse(i,t,n))]}return}case"Enter":{const i=ise("frameName",e,t,n),r=ise("tensor",e,t,n);return n.enterFrame(i),[cse(r)]}case"Exit":{const i=ise("tensor",e,t,n);return n.exitFrame(),[cse(i)]}case"NextIteration":{const i=ise("tensor",e,t,n);return n.nextIteration(),[cse(i)]}case"TensorArrayV3":{const i=ise("size",e,t,n),r=ise("dtype",e,t,n),s=ise("elementShape",e,t,n),o=ise("dynamicSize",e,t,n),a=ise("clearAfterRead",e,t,n),l=ise("identicalElementShapes",e,t,n),u=ise("name",e,t,n),c=new Zse(u,r,i,s,l,o,a);return n.addTensorArray(c),[c.idTensor,(0,v3.scalar)(1)]}case"TensorArrayWriteV3":{const i=ise("tensorArrayId",e,t,n),r=ise("index",e,t,n),s=ise("tensor",e,t,n),o=n.getTensorArray(i.id);return o.write(r,s),[o.idTensor]}case"TensorArrayReadV3":{const i=ise("tensorArrayId",e,t,n),r=ise("index",e,t,n);return[n.getTensorArray(i.id).read(r)]}case"TensorArrayGatherV3":{const i=ise("tensorArrayId",e,t,n),r=ise("indices",e,t,n),s=ise("dtype",e,t,n);return[n.getTensorArray(i.id).gather(r,s)]}case"TensorArrayScatterV3":{const i=ise("tensorArrayId",e,t,n),r=ise("indices",e,t,n),s=ise("tensor",e,t,n),o=n.getTensorArray(i.id);return o.scatter(r,s),[o.idTensor]}case"TensorArrayConcatV3":{const i=ise("tensorArrayId",e,t,n),r=n.getTensorArray(i.id),s=ise("dtype",e,t,n);return[r.concat(s)]}case"TensorArraySplitV3":{const i=ise("tensorArrayId",e,t,n),r=ise("tensor",e,t,n),s=ise("lengths",e,t,n),o=n.getTensorArray(i.id);return o.split(s,r),[o.idTensor]}case"TensorArraySizeV3":{const i=ise("tensorArrayId",e,t,n),r=n.getTensorArray(i.id);return[(0,v3.scalar)(r.size(),"int32")]}case"TensorArrayCloseV3":{const i=ise("tensorArrayId",e,t,n),r=n.getTensorArray(i.id);return r.clearAndClose(),[r.idTensor]}case"TensorListSetItem":{const i=ise("tensorListId",e,t,n),r=ise("index",e,t,n),s=ise("tensor",e,t,n),o=n.getTensorList(i.id);return o.setItem(r,s),[o.idTensor]}case"TensorListGetItem":{const i=ise("tensorListId",e,t,n),r=ise("index",e,t,n),s=ise("elementShape",e,t,n),o=ise("elementDType",e,t,n);return[n.getTensorList(i.id).getItem(r,s,o)]}case"TensorListScatterV2":case"TensorListScatter":{const i=ise("indices",e,t,n),r=function(e,t,n,i){if(t.length!==e.shape[0])throw new Error(`Expected len(indices) == tensor.shape[0], but saw: ${t.length} vs. ${e.shape[0]}`);const r=Math.max(...t);if(null!=i&&-1!==i&&r>=i)throw new Error(`Max index must be < array size (${r} vs. ${i})`);const s=new Qse([],n,e.dtype,i),o=(0,v3.unstack)(e,0);return t.forEach((e,t)=>{s.setItem(e,o[t])}),s}(ise("tensor",e,t,n),i,ise("elementShape",e,t,n),ise("numElements",e,t,n));return n.addTensorList(r),[r.idTensor]}case"TensorListReserve":case"EmptyTensorList":{const i=ise("elementShape",e,t,n),r=ise("elementDType",e,t,n);let s;s="TensorListReserve"===e.op?"numElements":"maxNumElements";const o=ise(s,e,t,n),a=function(e,t,n,i){return new Qse([],e,t,i)}(i,r,0,"TensorListReserve"===e.op?-1:o);return n.addTensorList(a),[a.idTensor]}case"TensorListGather":{const i=ise("tensorListId",e,t,n),r=ise("indices",e,t,n),s=ise("elementShape",e,t,n),o=ise("elementDType",e,t,n);return[n.getTensorList(i.id).gather(r,o,s)]}case"TensorListStack":{const i=ise("tensorListId",e,t,n),r=ise("elementShape",e,t,n),s=ise("elementDType",e,t,n),o=ise("numElements",e,t,n);return[n.getTensorList(i.id).stack(r,s,o)]}case"TensorListFromTensor":{const i=function(e,t,n){const i=e.dtype;if(e.shape.length<1)throw new Error(`Tensor must be at least a vector, but saw shape: ${e.shape}`);if(e.dtype!==n)throw new Error(`Invalid data types; op elements ${e.dtype}, but list elements ${n}`);Wse(e.shape.slice(1),t,"TensorList shape mismatch: ");const r=(0,v3.unstack)(e);return new Qse(r,t,i)}(ise("tensor",e,t,n),ise("elementShape",e,t,n),ise("elementDType",e,t,n));return n.addTensorList(i),[i.idTensor]}case"TensorListConcat":case"TensorListConcatV2":{const i=ise("tensorListId",e,t,n),r=n.getTensorList(i.id),s=ise("dtype",e,t,n),o=ise("elementShape",e,t,n);return[r.concat(s,o)]}case"TensorListPushBack":{const i=ise("tensorListId",e,t,n),r=ise("tensor",e,t,n),s=n.getTensorList(i.id);return s.pushBack(r),[s.idTensor]}case"TensorListPopBack":{const i=ise("tensorListId",e,t,n),r=ise("elementShape",e,t,n),s=ise("elementDType",e,t,n);return[n.getTensorList(i.id).popBack(r,s)]}case"TensorListSplit":{const i=ise("tensor",e,t,n),r=ise("elementShape",e,t,n),s=function(e,t,n){let i=0;const r=t.map(e=>(i+=e,i));if(i!==e.shape[0])throw new Error(`Expected sum of lengths to be equal to\n tensor.shape[0], but sum of lengths is\n ${i}, and tensor's shape is: ${e.shape}`);const s=Kse(e.shape.slice(1),n),o=0===i?0:e.size/i,a=(0,v3.tidy)(()=>{const n=[];e=(0,v3.reshape)(e,[1,i,o]);for(let i=0;i{switch(e.op){case"If":case"StatelessIf":{const i=Zre("t * limitations under the License. * ============================================================================= */ -function Xse(e,t,n){const[i,r]=Zre("fusedOps",e,t,n),s="biasadd"===i,o=!s,a="prelu"===r,l="fusedbatchnorm"===i,u=Zre("numArgs",e,t,n);if(s){if(a&&2!==u)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!a&&s&&1!==u)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd must have one extra argument: bias.")}if(l)throw new Error("FusedConv2d and DepthwiseConv2d with FusedBatchNorm is not supported");const c=Zre("strides",e,t,n),d=ise(e,t,n),h=Zre("dataFormat",e,t,n).toUpperCase(),p=Zre("dilations",e,t,n);let[f,m]=Zre("args",e,t,n);o&&(m=f,f=void 0);return{stride:c,pad:d,dataFormat:h,dilations:p,biasArg:f,preluArg:m,activationFunc:r,leakyreluAlpha:Zre("leakyreluAlpha",e,t,n)}} +function eoe(e,t,n){const[i,r]=ise("fusedOps",e,t,n),s="biasadd"===i,o=!s,a="prelu"===r,l="fusedbatchnorm"===i,u=ise("numArgs",e,t,n);if(s){if(a&&2!==u)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!a&&s&&1!==u)throw new Error("FusedConv2d and DepthwiseConv2d with BiasAdd must have one extra argument: bias.")}if(l)throw new Error("FusedConv2d and DepthwiseConv2d with FusedBatchNorm is not supported");const c=ise("strides",e,t,n),d=use(e,t,n),h=ise("dataFormat",e,t,n).toUpperCase(),p=ise("dilations",e,t,n);let[f,m]=ise("args",e,t,n);o&&(m=f,f=void 0);return{stride:c,pad:d,dataFormat:h,dilations:p,biasArg:f,preluArg:m,activationFunc:r,leakyreluAlpha:ise("leakyreluAlpha",e,t,n)}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11777,7 +11777,7 @@ function Xse(e,t,n){const[i,r]=Zre("fusedOps",e,t,n),s="biasadd"===i,o=!s,a="pre * limitations under the License. * ============================================================================= */ -function qse(e,t,n){return{boxes:Zre("boxes",e,t,n),scores:Zre("scores",e,t,n),maxOutputSize:Zre("maxOutputSize",e,t,n),iouThreshold:Zre("iouThreshold",e,t,n),scoreThreshold:Zre("scoreThreshold",e,t,n),softNmsSigma:Zre("softNmsSigma",e,t,n)}} +function toe(e,t,n){return{boxes:ise("boxes",e,t,n),scores:ise("scores",e,t,n),maxOutputSize:ise("maxOutputSize",e,t,n),iouThreshold:ise("iouThreshold",e,t,n),scoreThreshold:ise("scoreThreshold",e,t,n),softNmsSigma:ise("softNmsSigma",e,t,n)}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -11794,7 +11794,7 @@ function qse(e,t,n){return{boxes:Zre("boxes",e,t,n),scores:Zre("scores",e,t,n),m * limitations under the License. * ============================================================================= */ -class Kse{get id(){return this.handle.id}constructor(e,t){this.keyDType=e,this.valueDType=t,this.handle=(0,p3.scalar)(0),this.tensorMap=new Map,(0,p3.keep)(this.handle)}clearAndClose(){this.tensorMap.forEach(e=>e.dispose()),this.tensorMap.clear(),this.handle.dispose()}size(){return this.tensorMap.size}tensorSize(){return T3.d(this.size(),"int32")}async import(e,t){this.checkKeyAndValueTensor(e,t);const n=await e.data();return this.tensorMap.forEach(e=>e.dispose()),this.tensorMap.clear(),(0,p3.tidy)(()=>{const e=(0,p3.unstack)(t),i=n.length,r=e.length;p3.util.assert(i===r,()=>`The number of elements doesn't match, keys has ${i} elements, the values has ${r} elements.`);for(let t=0;t{const e=[];for(let i=0;ie.dispose()),this.tensorMap.clear(),this.handle.dispose()}size(){return this.tensorMap.size}tensorSize(){return S3.d(this.size(),"int32")}async import(e,t){this.checkKeyAndValueTensor(e,t);const n=await e.data();return this.tensorMap.forEach(e=>e.dispose()),this.tensorMap.clear(),(0,v3.tidy)(()=>{const e=(0,v3.unstack)(t),i=n.length,r=e.length;v3.util.assert(i===r,()=>`The number of elements doesn't match, keys has ${i} elements, the values has ${r} elements.`);for(let t=0;t{const e=[];for(let i=0;i{switch(e.category){case"arithmetic":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"BiasAdd":case"AddV2":case"Add":return[i.add(Zre("a",e,t,n),Zre("b",e,t,n))];case"AddN":return[i.addN(Zre("tensors",e,t,n))];case"FloorMod":case"Mod":return[i.mod(Zre("a",e,t,n),Zre("b",e,t,n))];case"Mul":return[i.mul(Zre("a",e,t,n),Zre("b",e,t,n))];case"RealDiv":case"Div":return[i.div(Zre("a",e,t,n),Zre("b",e,t,n))];case"DivNoNan":return[i.divNoNan(Zre("a",e,t,n),Zre("b",e,t,n))];case"FloorDiv":return[i.floorDiv(Zre("a",e,t,n),Zre("b",e,t,n))];case"Sub":return[i.sub(Zre("a",e,t,n),Zre("b",e,t,n))];case"Minimum":return[i.minimum(Zre("a",e,t,n),Zre("b",e,t,n))];case"Maximum":return[i.maximum(Zre("a",e,t,n),Zre("b",e,t,n))];case"Pow":return[i.pow(Zre("a",e,t,n),Zre("b",e,t,n))];case"SquaredDifference":return[i.squaredDifference(Zre("a",e,t,n),Zre("b",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"basic_math":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Abs":case"ComplexAbs":return[i.abs(Zre("x",e,t,n))];case"Acos":return[i.acos(Zre("x",e,t,n))];case"Acosh":return[i.acosh(Zre("x",e,t,n))];case"Asin":return[i.asin(Zre("x",e,t,n))];case"Asinh":return[i.asinh(Zre("x",e,t,n))];case"Atan":return[i.atan(Zre("x",e,t,n))];case"Atan2":return[i.atan2(Zre("x",e,t,n),Zre("y",e,t,n))];case"Atanh":return[i.atanh(Zre("x",e,t,n))];case"Ceil":return[i.ceil(Zre("x",e,t,n))];case"Complex":return[i.complex(Zre("real",e,t,n),Zre("imag",e,t,n))];case"Cos":return[i.cos(Zre("x",e,t,n))];case"Cosh":return[i.cosh(Zre("x",e,t,n))];case"Elu":return[i.elu(Zre("x",e,t,n))];case"Erf":return[i.erf(Zre("x",e,t,n))];case"Exp":return[i.exp(Zre("x",e,t,n))];case"Expm1":return[i.expm1(Zre("x",e,t,n))];case"Floor":return[i.floor(Zre("x",e,t,n))];case"Log":return[i.log(Zre("x",e,t,n))];case"Log1p":return[i.log1p(Zre("x",e,t,n))];case"Imag":return[i.imag(Zre("x",e,t,n))];case"Neg":return[i.neg(Zre("x",e,t,n))];case"Reciprocal":return[i.reciprocal(Zre("x",e,t,n))];case"Real":return[i.real(Zre("x",e,t,n))];case"Relu":return[i.relu(Zre("x",e,t,n))];case"Round":return[i.round(Zre("x",e,t,n))];case"Selu":return[i.selu(Zre("x",e,t,n))];case"Sigmoid":return[i.sigmoid(Zre("x",e,t,n))];case"Sin":return[i.sin(Zre("x",e,t,n))];case"Sign":return[i.sign(Zre("x",e,t,n))];case"Sinh":return[i.sinh(Zre("x",e,t,n))];case"Softplus":return[i.softplus(Zre("x",e,t,n))];case"Sqrt":return[i.sqrt(Zre("x",e,t,n))];case"Square":return[i.square(Zre("x",e,t,n))];case"Tanh":return[i.tanh(Zre("x",e,t,n))];case"Tan":return[i.tan(Zre("x",e,t,n))];case"ClipByValue":return[i.clipByValue(Zre("x",e,t,n),Zre("clipValueMin",e,t,n),Zre("clipValueMax",e,t,n))];case"Relu6":return[i.relu6(Zre("x",e,t,n))];case"Rsqrt":return[i.rsqrt(Qre(e.inputNames[0],t,n))];case"LeakyRelu":return[i.leakyRelu(Zre("x",e,t,n),Zre("alpha",e,t,n))];case"Prelu":return[i.prelu(Zre("x",e,t,n),Zre("alpha",e,t,n))];case"IsNan":return[i.isNaN(Qre(e.inputNames[0],t,n))];case"IsInf":return[i.isInf(Qre(e.inputNames[0],t,n))];case"IsFinite":return[i.isFinite(Qre(e.inputNames[0],t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"control":return Wse(e,t,n);case"convolution":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Conv1D":{const r=Zre("stride",e,t,n),s=Zre("pad",e,t,n),o=Zre("dataFormat",e,t,n).toUpperCase(),a=Zre("dilation",e,t,n);return[i.conv1d(Zre("x",e,t,n),Zre("filter",e,t,n),r,s,o,a)]}case"Conv2D":{const r=Zre("strides",e,t,n),s=ise(e,t,n),o=Zre("dataFormat",e,t,n).toUpperCase(),a=Zre("dilations",e,t,n);return[i.conv2d(Zre("x",e,t,n),Zre("filter",e,t,n),[r[1],r[2]],s,o,[a[1],a[2]])]}case"_FusedConv2D":{const{stride:r,pad:s,dataFormat:o,dilations:a,biasArg:l,preluArg:u,activationFunc:c,leakyreluAlpha:d}=Xse(e,t,n);return[i.fused.conv2d({x:Zre("x",e,t,n),filter:Zre("filter",e,t,n),strides:[r[1],r[2]],pad:s,dataFormat:o,dilations:[a[1],a[2]],bias:l,activation:c,preluActivationWeights:u,leakyreluAlpha:d})]}case"FusedDepthwiseConv2dNative":{const{stride:r,pad:s,dataFormat:o,dilations:a,biasArg:l,preluArg:u,activationFunc:c,leakyreluAlpha:d}=Xse(e,t,n);return[i.fused.depthwiseConv2d({x:Zre("x",e,t,n),filter:Zre("filter",e,t,n),strides:[r[1],r[2]],pad:s,dataFormat:o,dilations:[a[1],a[2]],bias:l,activation:c,preluActivationWeights:u,leakyreluAlpha:d})]}case"Conv2DBackpropInput":case"Conv2dTranspose":{const r=Zre("outputShape",e,t,n),s=Zre("strides",e,t,n),o=ise(e,t,n);return[i.conv2dTranspose(Zre("x",e,t,n),Zre("filter",e,t,n),r,[s[1],s[2]],o)]}case"DepthwiseConv2dNative":case"DepthwiseConv2d":{const r=Zre("strides",e,t,n),s=ise(e,t,n),o=Zre("dilations",e,t,n),a=Zre("dataFormat",e,t,n).toUpperCase();return[i.depthwiseConv2d(Zre("input",e,t,n),Zre("filter",e,t,n),[r[1],r[2]],s,a,[o[1],o[2]])]}case"Conv3D":{const r=Zre("strides",e,t,n),s=Zre("pad",e,t,n),o=Zre("dataFormat",e,t,n).toUpperCase(),a=Zre("dilations",e,t,n);return[i.conv3d(Zre("x",e,t,n),Zre("filter",e,t,n),[r[1],r[2],r[3]],s,o,[a[1],a[2],a[3]])]}case"AvgPool":{const r=Zre("strides",e,t,n),s=Zre("pad",e,t,n),o=Zre("kernelSize",e,t,n);return[i.avgPool(Zre("x",e,t,n),[o[1],o[2]],[r[1],r[2]],s)]}case"MaxPool":{const r=Zre("strides",e,t,n),s=Zre("pad",e,t,n),o=Zre("kernelSize",e,t,n);return[i.maxPool(Zre("x",e,t,n),[o[1],o[2]],[r[1],r[2]],s)]}case"MaxPoolWithArgmax":{const r=Zre("strides",e,t,n),s=Zre("pad",e,t,n),o=Zre("kernelSize",e,t,n),a=Zre("includeBatchInIndex",e,t,n),{result:l,indexes:u}=i.maxPoolWithArgmax(Zre("x",e,t,n),[o[1],o[2]],[r[1],r[2]],s,a);return[l,u]}case"AvgPool3D":{const r=Zre("strides",e,t,n),s=Zre("pad",e,t,n),o=Zre("kernelSize",e,t,n);return[i.avgPool3d(Zre("x",e,t,n),[o[1],o[2],o[3]],[r[1],r[2],r[3]],s)]}case"MaxPool3D":{const r=Zre("strides",e,t,n),s=Zre("pad",e,t,n),o=Zre("kernelSize",e,t,n);return[i.maxPool3d(Zre("x",e,t,n),[o[1],o[2],o[3]],[r[1],r[2],r[3]],s)]}case"Dilation2D":{const r=Zre("strides",e,t,n),s=Zre("pad",e,t,n),o=Zre("dilations",e,t,n),a=r[1],l=r[2],u=o[1],c=o[2];return[i.dilation2d(Zre("x",e,t,n),Zre("filter",e,t,n),[a,l],s,[u,c],"NHWC")]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"creation":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Fill":{const r=Zre("shape",e,t,n),s=Zre("dtype",e,t,n),o=Zre("value",e,t,n);return[i.fill(r,o,s)]}case"LinSpace":{const r=Zre("start",e,t,n),s=Zre("stop",e,t,n),o=Zre("num",e,t,n);return[i.linspace(r,s,o)]}case"Multinomial":{const r=Zre("logits",e,t,n),s=Zre("numSamples",e,t,n),o=Zre("seed",e,t,n);return[i.multinomial(r,s,o)]}case"OneHot":{const r=Zre("indices",e,t,n),s=Zre("depth",e,t,n),o=Zre("onValue",e,t,n),a=Zre("offValue",e,t,n),l=Zre("dtype",e,t,n);return[i.oneHot(r,s,o,a,l)]}case"Ones":return[i.ones(Zre("shape",e,t,n),Zre("dtype",e,t,n))];case"OnesLike":return[i.onesLike(Zre("x",e,t,n))];case"RandomStandardNormal":return[i.randomStandardNormal(Zre("shape",e,t,n),Zre("dtype",e,t,n),Zre("seed",e,t,n))];case"RandomUniform":return[i.randomUniform(Zre("shape",e,t,n),Zre("minval",e,t,n),Zre("maxval",e,t,n),Zre("dtype",e,t,n))];case"RandomUniformInt":return[i.randomUniformInt(Zre("shape",e,t,n),Zre("minval",e,t,n),Zre("maxval",e,t,n),Zre("seed",e,t,n))];case"Range":{const r=Zre("start",e,t,n),s=Zre("stop",e,t,n),o=Zre("step",e,t,n);return[i.range(r,s,o,Zre("dtype",e,t,n))]}case"TruncatedNormal":{const r=Zre("shape",e,t,n),s=Zre("mean",e,t,n),o=Zre("stdDev",e,t,n),a=Zre("seed",e,t,n);return[i.truncatedNormal(r,s,o,Zre("dtype",e,t,n),a)]}case"Zeros":return[i.zeros(Zre("shape",e,t,n),Zre("dtype",e,t,n))];case"ZerosLike":return[i.zerosLike(Zre("x",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"dynamic":return(async(e,t,n,i,r=Fe)=>{switch(e.op){case"NonMaxSuppressionV5":{const{boxes:i,scores:s,maxOutputSize:o,iouThreshold:a,scoreThreshold:l,softNmsSigma:u}=qse(e,t,n),c=await r.image.nonMaxSuppressionWithScoreAsync(i,s,o,a,l,u);return[c.selectedIndices,c.selectedScores]}case"NonMaxSuppressionV4":{const{boxes:i,scores:s,maxOutputSize:o,iouThreshold:a,scoreThreshold:l}=qse(e,t,n),u=Zre("padToMaxOutputSize",e,t,n),c=await r.image.nonMaxSuppressionPaddedAsync(i,s,o,a,l,u);return[c.selectedIndices,c.validOutputs]}case"NonMaxSuppressionV3":case"NonMaxSuppressionV2":{const{boxes:i,scores:s,maxOutputSize:o,iouThreshold:a,scoreThreshold:l}=qse(e,t,n);return[await r.image.nonMaxSuppressionAsync(i,s,o,a,l)]}case"Where":{const i=r.cast(Zre("condition",e,t,n),"bool"),s=[await r.whereAsync(i)];return i.dispose(),s}case"ListDiff":return r.setdiff1dAsync(Zre("x",e,t,n),Zre("y",e,t,n));default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n);case"evaluation":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"LowerBound":{const r=Zre("sortedSequence",e,t,n),s=Zre("values",e,t,n);return[i.lowerBound(r,s)]}case"TopKV2":{const r=Zre("x",e,t,n),s=Zre("k",e,t,n),o=Zre("sorted",e,t,n),a=i.topk(r,s,o);return[a.values,a.indices]}case"UpperBound":{const r=Zre("sortedSequence",e,t,n),s=Zre("values",e,t,n);return[i.upperBound(r,s)]}case"Unique":{const r=Zre("x",e,t,n),s=i.unique(r);return[s.values,s.indices]}case"UniqueV2":{const r=Zre("x",e,t,n),s=Zre("axis",e,t,n),o=i.unique(r,s);return[o.values,o.indices]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"image":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"ResizeBilinear":{const r=Zre("images",e,t,n),s=Zre("size",e,t,n),o=Zre("alignCorners",e,t,n),a=Zre("halfPixelCenters",e,t,n);return[i.image.resizeBilinear(r,[s[0],s[1]],o,a)]}case"ResizeNearestNeighbor":{const r=Zre("images",e,t,n),s=Zre("size",e,t,n),o=Zre("alignCorners",e,t,n),a=Zre("halfPixelCenters",e,t,n);return[i.image.resizeNearestNeighbor(r,[s[0],s[1]],o,a)]}case"CropAndResize":{const r=Zre("image",e,t,n),s=Zre("boxes",e,t,n),o=Zre("boxInd",e,t,n),a=Zre("cropSize",e,t,n),l=Zre("method",e,t,n),u=Zre("extrapolationValue",e,t,n);return[i.image.cropAndResize(r,s,o,a,l,u)]}case"ImageProjectiveTransformV3":{const r=Zre("images",e,t,n),s=Zre("transforms",e,t,n),o=Zre("outputShape",e,t,n),a=Zre("fillValue",e,t,n),l=Zre("interpolation",e,t,n),u=Zre("fillMode",e,t,n);return[i.image.transform(r,s,l.toLowerCase(),u.toLowerCase(),a,o)]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"graph":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Const":return t[e.name];case"PlaceholderWithDefault":const r=Zre("default",e,t,n);return[Qre(e.name,t,n)||r];case"Placeholder":return[Qre(e.name,t,n)];case"Identity":case"StopGradient":case"FakeQuantWithMinMaxVars":case"Snapshot":return[rse(Zre("x",e,t,n))];case"IdentityN":return Zre("x",e,t,n).map(e=>rse(e));case"Shape":return[i.tensor1d(Zre("x",e,t,n).shape,"int32")];case"ShapeN":return Zre("x",e,t,n).map(e=>i.tensor1d(e.shape));case"Size":return[i.scalar(Zre("x",e,t,n).size,"int32")];case"Rank":return[i.scalar(Zre("x",e,t,n).rank,"int32")];case"NoOp":return[i.scalar(1)];case"Print":const s=Zre("x",e,t,n),o=Zre("data",e,t,n),a=Zre("message",e,t,n),l=Zre("summarize",e,t,n);console.warn("The graph has a tf.print() operation,usually used for debugging, which slows down performance."),console.log(a);for(let e=0;e((e,t,n,i=Fe)=>{switch(e.op){case"Equal":return[i.equal(Zre("a",e,t,n),Zre("b",e,t,n))];case"NotEqual":return[i.notEqual(Zre("a",e,t,n),Zre("b",e,t,n))];case"Greater":return[i.greater(Zre("a",e,t,n),Zre("b",e,t,n))];case"GreaterEqual":return[i.greaterEqual(Zre("a",e,t,n),Zre("b",e,t,n))];case"Less":return[i.less(Zre("a",e,t,n),Zre("b",e,t,n))];case"LessEqual":return[i.lessEqual(Zre("a",e,t,n),Zre("b",e,t,n))];case"LogicalAnd":return[i.logicalAnd(Zre("a",e,t,n),Zre("b",e,t,n))];case"LogicalNot":return[i.logicalNot(Zre("a",e,t,n))];case"LogicalOr":return[i.logicalOr(Zre("a",e,t,n),Zre("b",e,t,n))];case"Select":case"SelectV2":return[i.where(Zre("condition",e,t,n),Zre("a",e,t,n),Zre("b",e,t,n))];case"BitwiseAnd":return[i.bitwiseAnd(Zre("a",e,t,n),Zre("b",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"matrices":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"BatchMatMul":case"BatchMatMulV2":case"MatMul":return[i.matMul(Zre("a",e,t,n),Zre("b",e,t,n),Zre("transposeA",e,t,n),Zre("transposeB",e,t,n))];case"Einsum":return[i.einsum(Zre("equation",e,t,n),...Zre("tensors",e,t,n))];case"Transpose":return[i.transpose(Zre("x",e,t,n),Zre("perm",e,t,n))];case"_FusedMatMul":const[r,s]=Zre("fusedOps",e,t,n),o="biasadd"===r,a="prelu"===s,l=Zre("numArgs",e,t,n),u=Zre("leakyreluAlpha",e,t,n);if(o){if(a&&2!==l)throw new Error("Fused MatMul with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!a&&1!==l)throw new Error("Fused MatMul with BiasAdd must have one extra argument: bias.")}const[c,d]=Zre("args",e,t,n);return[i.fused.matMul({a:Zre("a",e,t,n),b:Zre("b",e,t,n),transposeA:Zre("transposeA",e,t,n),transposeB:Zre("transposeB",e,t,n),bias:c,activation:s,preluActivationWeights:d,leakyreluAlpha:u})];case"MatrixBandPart":return[i.linalg.bandPart(Zre("a",e,t,n),Zre("numLower",e,t,n),Zre("numUpper",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"normalization":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"EuclideanNorm":return[i.euclideanNorm(Zre("x",e,t,n),Zre("axis",e,t,n),Zre("keepDims",e,t,n))];case"FusedBatchNorm":case"FusedBatchNormV2":case"FusedBatchNormV3":return[i.batchNorm(Zre("x",e,t,n),Zre("mean",e,t,n),Zre("variance",e,t,n),Zre("offset",e,t,n),Zre("scale",e,t,n),Zre("epsilon",e,t,n))];case"LRN":return[i.localResponseNormalization(Zre("x",e,t,n),Zre("radius",e,t,n),Zre("bias",e,t,n),Zre("alpha",e,t,n),Zre("beta",e,t,n))];case"Softmax":return[i.softmax(Zre("x",e,t,n))];case"LogSoftmax":return[i.logSoftmax(Zre("x",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"ragged":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"RaggedGather":{const{outputNestedSplits:r,outputDenseValues:s}=i.raggedGather(Zre("paramsNestedSplits",e,t,n),Zre("paramsDenseValues",e,t,n),Zre("indices",e,t,n),Zre("outputRaggedRank",e,t,n));return r.concat(s)}case"RaggedRange":{const{rtNestedSplits:r,rtDenseValues:s}=i.raggedRange(Zre("starts",e,t,n),Zre("limits",e,t,n),Zre("splits",e,t,n));return[r,s]}case"RaggedTensorToTensor":return[i.raggedTensorToTensor(Zre("shape",e,t,n),Zre("values",e,t,n),Zre("defaultValue",e,t,n),Zre("rowPartitionTensors",e,t,n),Zre("rowPartitionTypes",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"reduction":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Max":{const r=Zre("axis",e,t,n),s=Zre("keepDims",e,t,n);return[i.max(Zre("x",e,t,n),r,s)]}case"Mean":{const r=Zre("axis",e,t,n),s=Zre("keepDims",e,t,n);return[i.mean(Zre("x",e,t,n),r,s)]}case"Min":{const r=Zre("axis",e,t,n),s=Zre("keepDims",e,t,n);return[i.min(Zre("x",e,t,n),r,s)]}case"Sum":{const r=Zre("axis",e,t,n),s=Zre("keepDims",e,t,n);return[i.sum(Zre("x",e,t,n),r,s)]}case"All":{const r=Zre("axis",e,t,n),s=Zre("keepDims",e,t,n);return[i.all(Zre("x",e,t,n),r,s)]}case"Any":{const r=Zre("axis",e,t,n),s=Zre("keepDims",e,t,n);return[i.any(Zre("x",e,t,n),r,s)]}case"ArgMax":{const r=Zre("axis",e,t,n);return[i.argMax(Zre("x",e,t,n),r)]}case"ArgMin":{const r=Zre("axis",e,t,n);return[i.argMin(Zre("x",e,t,n),r)]}case"Prod":{const r=Zre("axis",e,t,n),s=Zre("keepDims",e,t,n);return[i.prod(Zre("x",e,t,n),r,s)]}case"Cumprod":{const r=Zre("axis",e,t,n),s=Zre("exclusive",e,t,n),o=Zre("reverse",e,t,n);return[i.cumprod(Zre("x",e,t,n),r,s,o)]}case"Cumsum":{const r=Zre("axis",e,t,n),s=Zre("exclusive",e,t,n),o=Zre("reverse",e,t,n);return[i.cumsum(Zre("x",e,t,n),r,s,o)]}case"Bincount":const r=Zre("x",e,t,n),s=Zre("weights",e,t,n),o=Zre("size",e,t,n);return[i.bincount(r,s,o)];case"DenseBincount":{const r=Zre("x",e,t,n),s=Zre("weights",e,t,n),o=Zre("size",e,t,n),a=Zre("binaryOutput",e,t,n);return[i.denseBincount(r,s,o,a)]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"slice_join":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"ConcatV2":case"Concat":{const r=Zre("n",e,t,n),s=Zre("axis",e,t,n);let o=Zre("tensors",e,t,n);return o=o.slice(0,r),[i.concat(o,s)]}case"Gather":{const r=Zre("x",e,t,n),s=Zre("indices",e,t,n);return[i.gather(r,i.cast(s,"int32"),0)]}case"GatherV2":{const r=Zre("axis",e,t,n),s=Zre("batchDims",e,t,n),o=Zre("x",e,t,n),a=Zre("indices",e,t,n);return[i.gather(o,i.cast(a,"int32"),r,s)]}case"Reverse":{const r=Zre("dims",e,t,n),s=[];for(let e=0;e{const r=Zre("axis",e,t,n),s=Zre("tensors",e,t,n),o=s[0].shape,a=i.squeeze(s[0]).shape,l=s.map(e=>{const t=p3.util.arraysEqual(e.shape,o);if(!t&&!p3.util.arraysEqual(i.squeeze(e).shape,a))throw new Error("the input tensors shape does not match");return t?e:i.reshape(e,o)});return[i.stack(l,r)]});case"Unpack":{const r=Zre("axis",e,t,n),s=Zre("tensor",e,t,n);return i.unstack(s,r)}case"Tile":{const r=Zre("reps",e,t,n);return[i.tile(Zre("x",e,t,n),r)]}case"Split":case"SplitV":{const r=Zre("axis",e,t,n),s=Zre("numOrSizeSplits",e,t,n),o=Zre("x",e,t,n);return i.split(o,s,r)}case"ScatterNd":{const r=Zre("indices",e,t,n),s=Zre("values",e,t,n),o=Zre("shape",e,t,n);return[i.scatterND(r,s,o)]}case"GatherNd":{const r=Zre("x",e,t,n),s=Zre("indices",e,t,n);return[i.gatherND(r,s)]}case"SparseToDense":{const r=Zre("sparseIndices",e,t,n),s=Zre("outputShape",e,t,n),o=Zre("sparseValues",e,t,n),a=Zre("defaultValue",e,t,n);return[i.sparseToDense(r,o,s,o.dtype===a.dtype?a:i.cast(a,o.dtype))]}case"TensorScatterUpdate":{const r=Zre("indices",e,t,n),s=Zre("values",e,t,n),o=Zre("tensor",e,t,n);return[i.tensorScatterUpdate(o,r,s)]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"sparse":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"SparseFillEmptyRows":{const{outputIndices:r,outputValues:s,emptyRowIndicator:o,reverseIndexMap:a}=i.sparse.sparseFillEmptyRows(Zre("indices",e,t,n),Zre("values",e,t,n),Zre("denseShape",e,t,n),Zre("defaultValue",e,t,n));return[r,s,o,a]}case"SparseReshape":{const{outputIndices:r,outputShape:s}=i.sparse.sparseReshape(Zre("inputIndices",e,t,n),Zre("inputShape",e,t,n),Zre("newShape",e,t,n));return[r,s]}case"SparseSegmentMean":return[i.sparse.sparseSegmentMean(Zre("data",e,t,n),Zre("indices",e,t,n),Zre("segmentIds",e,t,n))];case"SparseSegmentSum":return[i.sparse.sparseSegmentSum(Zre("data",e,t,n),Zre("indices",e,t,n),Zre("segmentIds",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"spectral":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"FFT":return[i.fft(Zre("x",e,t,n))];case"IFFT":return[i.ifft(Zre("x",e,t,n))];case"RFFT":return[i.rfft(Zre("x",e,t,n))];case"IRFFT":return[i.irfft(Zre("x",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"string":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"StaticRegexReplace":return[i.string.staticRegexReplace(Zre("input",e,t,n),Zre("pattern",e,t,n),Zre("rewrite",e,t,n),Zre("replaceGlobal",e,t,n))];case"StringNGrams":{const{nGrams:r,nGramsSplits:s}=i.string.stringNGrams(Zre("data",e,t,n),Zre("dataSplits",e,t,n),Zre("separator",e,t,n),Zre("nGramWidths",e,t,n),Zre("leftPad",e,t,n),Zre("rightPad",e,t,n),Zre("padWidth",e,t,n),Zre("preserveShortSequences",e,t,n));return[r,s]}case"StringSplit":{const{indices:r,values:s,shape:o}=i.string.stringSplit(Zre("input",e,t,n),Zre("delimiter",e,t,n),Zre("skipEmpty",e,t,n));return[r,s,o]}case"StringToHashBucketFast":return[i.string.stringToHashBucketFast(Zre("input",e,t,n),Zre("numBuckets",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"transformation":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Cast":return[i.cast(Zre("x",e,t,n),Zre("dtype",e,t,n))];case"ExpandDims":{const r=Zre("axis",e,t,n);return[i.expandDims(Zre("x",e,t,n),r)]}case"Squeeze":{const r=Zre("axis",e,t,n);return[i.squeeze(Zre("x",e,t,n),r)]}case"Reshape":return[i.reshape(Zre("x",e,t,n),Zre("shape",e,t,n))];case"EnsureShape":return[i.ensureShape(Zre("x",e,t,n),Zre("shape",e,t,n))];case"MirrorPad":return[i.mirrorPad(Zre("x",e,t,n),Zre("padding",e,t,n),Zre("mode",e,t,n))];case"PadV2":case"Pad":return[i.pad(Zre("x",e,t,n),Zre("padding",e,t,n),Zre("constantValue",e,t,n))];case"SpaceToBatchND":{const r=Zre("blockShape",e,t,n),s=Zre("paddings",e,t,n);return[i.spaceToBatchND(Zre("x",e,t,n),r,s)]}case"BatchToSpaceND":{const r=Zre("blockShape",e,t,n),s=Zre("crops",e,t,n);return[i.batchToSpaceND(Zre("x",e,t,n),r,s)]}case"DepthToSpace":{const r=Zre("blockSize",e,t,n),s=Zre("dataFormat",e,t,n).toUpperCase();return[i.depthToSpace(Zre("x",e,t,n),r,s)]}case"BroadcastTo":return[i.broadcastTo(Zre("x",e,t,n),Zre("shape",e,t,n))];case"BroadcastArgs":return[i.broadcastArgs(Zre("s0",e,t,n),Zre("s1",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"hash_table":return(async(e,t,n,i)=>{switch(e.op){case"HashTable":case"HashTableV2":{const r=i.getHashTableHandleByName(e.name);if(null!=r)return[r];{const r=Zre("keyDType",e,t,n),s=Zre("valueDType",e,t,n),o=new Kse(r,s);return i.addHashTable(e.name,o),[o.handle]}}case"InitializeTable":case"InitializeTableV2":case"LookupTableImport":case"LookupTableImportV2":{const r=Zre("tableHandle",e,t,n,i),s=Zre("keys",e,t,n),o=Zre("values",e,t,n),a=i.getHashTableById(r.id);return[await a.import(s,o)]}case"LookupTableFind":case"LookupTableFindV2":{const r=Zre("tableHandle",e,t,n,i),s=Zre("keys",e,t,n),o=Zre("defaultValue",e,t,n),a=i.getHashTableById(r.id);return[await a.find(s,o)]}case"LookupTableSize":case"LookupTableSizeV2":{const r=Zre("tableHandle",e,t,n,i);return[i.getHashTableById(r.id).tensorSize()]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n,i);case"custom":const s=qre(e.op);if(s&&s.customExecutor)return s.customExecutor(new $se(e,t,n));throw TypeError(`Custom op ${e.op} is not registered.`);default:throw TypeError(`Unknown op '${e.op}'. File an issue at https://github.com/tensorflow/tfjs/issues so we can add it, or register a custom execution with tf.registerOp()`)}})(e,t,n);return p3.util.isPromise(s)?s.then(e=>[].concat(e)):[].concat(s)}class Qse{constructor(e={},t={},n={},i={},r){this.weightMap=e,this.tensorArrayMap=t,this.tensorListMap=n,this.functionMap=i,this.parseNodeNameCache=r,this.rootContext={id:0,frameName:"",iterationId:0},this.contexts=[this.rootContext],this.lastId=0,this.generateCurrentContextIds()}newFrame(e,t){return{id:e,frameName:t,iterationId:0}}set currentContext(e){this.contexts!==e&&(this.contexts=e,this.generateCurrentContextIds())}get currentContext(){return this.contexts}get currentContextId(){return this._currentContextIds[0]}get currentContextIds(){return this._currentContextIds}generateCurrentContextIds(){const e=[];for(let t=0;t0===e.id&&0===e.iterationId?"":`${e.frameName}-${e.iterationId}`).join("/"):""}enterFrame(e){this.contexts&&(this.lastId++,this.contexts=this.contexts.slice(),this.contexts.push(this.newFrame(this.lastId,e)),this._currentContextIds.unshift(this.contextIdforContexts(this.contexts)))}exitFrame(){if(!(this.contexts&&this.contexts.length>1))throw new Error("Cannot exit frame, the context is empty");this.contexts=this.contexts.slice(),this.contexts.splice(-1),this.currentContextIds.shift()}nextIteration(){if(!(this.contexts&&this.contexts.length>0))throw new Error("Cannot increase frame iteration, the context is empty");{this.contexts=this.contexts.slice(),this.lastId++;const e=Object.assign({},this.contexts[this.contexts.length-1]);e.iterationId+=1,e.id=this.lastId,this.contexts.splice(-1,1,e),this._currentContextIds.splice(0,1,this.contextIdforContexts(this.contexts))}}getWeight(e){return this.weightMap[e]}addTensorArray(e){this.tensorArrayMap[e.id]=e}getTensorArray(e){return this.tensorArrayMap[e]}addTensorList(e){this.tensorListMap[e.id]=e}getTensorList(e){return this.tensorListMap[e]}dispose(e){for(const t in this.tensorArrayMap)this.tensorArrayMap[t].clearAndClose(e);for(const t in this.tensorListMap)this.tensorListMap[t].clearAndClose(e)}} +function ioe(e,t,n,i,r=v3.tidy){const s=((e,t,n)=>{switch(e.category){case"arithmetic":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"BiasAdd":case"AddV2":case"Add":return[i.add(ise("a",e,t,n),ise("b",e,t,n))];case"AddN":return[i.addN(ise("tensors",e,t,n))];case"FloorMod":case"Mod":return[i.mod(ise("a",e,t,n),ise("b",e,t,n))];case"Mul":return[i.mul(ise("a",e,t,n),ise("b",e,t,n))];case"RealDiv":case"Div":return[i.div(ise("a",e,t,n),ise("b",e,t,n))];case"DivNoNan":return[i.divNoNan(ise("a",e,t,n),ise("b",e,t,n))];case"FloorDiv":return[i.floorDiv(ise("a",e,t,n),ise("b",e,t,n))];case"Sub":return[i.sub(ise("a",e,t,n),ise("b",e,t,n))];case"Minimum":return[i.minimum(ise("a",e,t,n),ise("b",e,t,n))];case"Maximum":return[i.maximum(ise("a",e,t,n),ise("b",e,t,n))];case"Pow":return[i.pow(ise("a",e,t,n),ise("b",e,t,n))];case"SquaredDifference":return[i.squaredDifference(ise("a",e,t,n),ise("b",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"basic_math":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Abs":case"ComplexAbs":return[i.abs(ise("x",e,t,n))];case"Acos":return[i.acos(ise("x",e,t,n))];case"Acosh":return[i.acosh(ise("x",e,t,n))];case"Asin":return[i.asin(ise("x",e,t,n))];case"Asinh":return[i.asinh(ise("x",e,t,n))];case"Atan":return[i.atan(ise("x",e,t,n))];case"Atan2":return[i.atan2(ise("x",e,t,n),ise("y",e,t,n))];case"Atanh":return[i.atanh(ise("x",e,t,n))];case"Ceil":return[i.ceil(ise("x",e,t,n))];case"Complex":return[i.complex(ise("real",e,t,n),ise("imag",e,t,n))];case"Cos":return[i.cos(ise("x",e,t,n))];case"Cosh":return[i.cosh(ise("x",e,t,n))];case"Elu":return[i.elu(ise("x",e,t,n))];case"Erf":return[i.erf(ise("x",e,t,n))];case"Exp":return[i.exp(ise("x",e,t,n))];case"Expm1":return[i.expm1(ise("x",e,t,n))];case"Floor":return[i.floor(ise("x",e,t,n))];case"Log":return[i.log(ise("x",e,t,n))];case"Log1p":return[i.log1p(ise("x",e,t,n))];case"Imag":return[i.imag(ise("x",e,t,n))];case"Neg":return[i.neg(ise("x",e,t,n))];case"Reciprocal":return[i.reciprocal(ise("x",e,t,n))];case"Real":return[i.real(ise("x",e,t,n))];case"Relu":return[i.relu(ise("x",e,t,n))];case"Round":return[i.round(ise("x",e,t,n))];case"Selu":return[i.selu(ise("x",e,t,n))];case"Sigmoid":return[i.sigmoid(ise("x",e,t,n))];case"Sin":return[i.sin(ise("x",e,t,n))];case"Sign":return[i.sign(ise("x",e,t,n))];case"Sinh":return[i.sinh(ise("x",e,t,n))];case"Softplus":return[i.softplus(ise("x",e,t,n))];case"Sqrt":return[i.sqrt(ise("x",e,t,n))];case"Square":return[i.square(ise("x",e,t,n))];case"Tanh":return[i.tanh(ise("x",e,t,n))];case"Tan":return[i.tan(ise("x",e,t,n))];case"ClipByValue":return[i.clipByValue(ise("x",e,t,n),ise("clipValueMin",e,t,n),ise("clipValueMax",e,t,n))];case"Relu6":return[i.relu6(ise("x",e,t,n))];case"Rsqrt":return[i.rsqrt(rse(e.inputNames[0],t,n))];case"LeakyRelu":return[i.leakyRelu(ise("x",e,t,n),ise("alpha",e,t,n))];case"Prelu":return[i.prelu(ise("x",e,t,n),ise("alpha",e,t,n))];case"IsNan":return[i.isNaN(rse(e.inputNames[0],t,n))];case"IsInf":return[i.isInf(rse(e.inputNames[0],t,n))];case"IsFinite":return[i.isFinite(rse(e.inputNames[0],t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"control":return Jse(e,t,n);case"convolution":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Conv1D":{const r=ise("stride",e,t,n),s=ise("pad",e,t,n),o=ise("dataFormat",e,t,n).toUpperCase(),a=ise("dilation",e,t,n);return[i.conv1d(ise("x",e,t,n),ise("filter",e,t,n),r,s,o,a)]}case"Conv2D":{const r=ise("strides",e,t,n),s=use(e,t,n),o=ise("dataFormat",e,t,n).toUpperCase(),a=ise("dilations",e,t,n);return[i.conv2d(ise("x",e,t,n),ise("filter",e,t,n),[r[1],r[2]],s,o,[a[1],a[2]])]}case"_FusedConv2D":{const{stride:r,pad:s,dataFormat:o,dilations:a,biasArg:l,preluArg:u,activationFunc:c,leakyreluAlpha:d}=eoe(e,t,n);return[i.fused.conv2d({x:ise("x",e,t,n),filter:ise("filter",e,t,n),strides:[r[1],r[2]],pad:s,dataFormat:o,dilations:[a[1],a[2]],bias:l,activation:c,preluActivationWeights:u,leakyreluAlpha:d})]}case"FusedDepthwiseConv2dNative":{const{stride:r,pad:s,dataFormat:o,dilations:a,biasArg:l,preluArg:u,activationFunc:c,leakyreluAlpha:d}=eoe(e,t,n);return[i.fused.depthwiseConv2d({x:ise("x",e,t,n),filter:ise("filter",e,t,n),strides:[r[1],r[2]],pad:s,dataFormat:o,dilations:[a[1],a[2]],bias:l,activation:c,preluActivationWeights:u,leakyreluAlpha:d})]}case"Conv2DBackpropInput":case"Conv2dTranspose":{const r=ise("outputShape",e,t,n),s=ise("strides",e,t,n),o=use(e,t,n);return[i.conv2dTranspose(ise("x",e,t,n),ise("filter",e,t,n),r,[s[1],s[2]],o)]}case"DepthwiseConv2dNative":case"DepthwiseConv2d":{const r=ise("strides",e,t,n),s=use(e,t,n),o=ise("dilations",e,t,n),a=ise("dataFormat",e,t,n).toUpperCase();return[i.depthwiseConv2d(ise("input",e,t,n),ise("filter",e,t,n),[r[1],r[2]],s,a,[o[1],o[2]])]}case"Conv3D":{const r=ise("strides",e,t,n),s=ise("pad",e,t,n),o=ise("dataFormat",e,t,n).toUpperCase(),a=ise("dilations",e,t,n);return[i.conv3d(ise("x",e,t,n),ise("filter",e,t,n),[r[1],r[2],r[3]],s,o,[a[1],a[2],a[3]])]}case"AvgPool":{const r=ise("strides",e,t,n),s=ise("pad",e,t,n),o=ise("kernelSize",e,t,n);return[i.avgPool(ise("x",e,t,n),[o[1],o[2]],[r[1],r[2]],s)]}case"MaxPool":{const r=ise("strides",e,t,n),s=ise("pad",e,t,n),o=ise("kernelSize",e,t,n);return[i.maxPool(ise("x",e,t,n),[o[1],o[2]],[r[1],r[2]],s)]}case"MaxPoolWithArgmax":{const r=ise("strides",e,t,n),s=ise("pad",e,t,n),o=ise("kernelSize",e,t,n),a=ise("includeBatchInIndex",e,t,n),{result:l,indexes:u}=i.maxPoolWithArgmax(ise("x",e,t,n),[o[1],o[2]],[r[1],r[2]],s,a);return[l,u]}case"AvgPool3D":{const r=ise("strides",e,t,n),s=ise("pad",e,t,n),o=ise("kernelSize",e,t,n);return[i.avgPool3d(ise("x",e,t,n),[o[1],o[2],o[3]],[r[1],r[2],r[3]],s)]}case"MaxPool3D":{const r=ise("strides",e,t,n),s=ise("pad",e,t,n),o=ise("kernelSize",e,t,n);return[i.maxPool3d(ise("x",e,t,n),[o[1],o[2],o[3]],[r[1],r[2],r[3]],s)]}case"Dilation2D":{const r=ise("strides",e,t,n),s=ise("pad",e,t,n),o=ise("dilations",e,t,n),a=r[1],l=r[2],u=o[1],c=o[2];return[i.dilation2d(ise("x",e,t,n),ise("filter",e,t,n),[a,l],s,[u,c],"NHWC")]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"creation":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Fill":{const r=ise("shape",e,t,n),s=ise("dtype",e,t,n),o=ise("value",e,t,n);return[i.fill(r,o,s)]}case"LinSpace":{const r=ise("start",e,t,n),s=ise("stop",e,t,n),o=ise("num",e,t,n);return[i.linspace(r,s,o)]}case"Multinomial":{const r=ise("logits",e,t,n),s=ise("numSamples",e,t,n),o=ise("seed",e,t,n);return[i.multinomial(r,s,o)]}case"OneHot":{const r=ise("indices",e,t,n),s=ise("depth",e,t,n),o=ise("onValue",e,t,n),a=ise("offValue",e,t,n),l=ise("dtype",e,t,n);return[i.oneHot(r,s,o,a,l)]}case"Ones":return[i.ones(ise("shape",e,t,n),ise("dtype",e,t,n))];case"OnesLike":return[i.onesLike(ise("x",e,t,n))];case"RandomStandardNormal":return[i.randomStandardNormal(ise("shape",e,t,n),ise("dtype",e,t,n),ise("seed",e,t,n))];case"RandomUniform":return[i.randomUniform(ise("shape",e,t,n),ise("minval",e,t,n),ise("maxval",e,t,n),ise("dtype",e,t,n))];case"RandomUniformInt":return[i.randomUniformInt(ise("shape",e,t,n),ise("minval",e,t,n),ise("maxval",e,t,n),ise("seed",e,t,n))];case"Range":{const r=ise("start",e,t,n),s=ise("stop",e,t,n),o=ise("step",e,t,n);return[i.range(r,s,o,ise("dtype",e,t,n))]}case"TruncatedNormal":{const r=ise("shape",e,t,n),s=ise("mean",e,t,n),o=ise("stdDev",e,t,n),a=ise("seed",e,t,n);return[i.truncatedNormal(r,s,o,ise("dtype",e,t,n),a)]}case"Zeros":return[i.zeros(ise("shape",e,t,n),ise("dtype",e,t,n))];case"ZerosLike":return[i.zerosLike(ise("x",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"dynamic":return(async(e,t,n,i,r=Fe)=>{switch(e.op){case"NonMaxSuppressionV5":{const{boxes:i,scores:s,maxOutputSize:o,iouThreshold:a,scoreThreshold:l,softNmsSigma:u}=toe(e,t,n),c=await r.image.nonMaxSuppressionWithScoreAsync(i,s,o,a,l,u);return[c.selectedIndices,c.selectedScores]}case"NonMaxSuppressionV4":{const{boxes:i,scores:s,maxOutputSize:o,iouThreshold:a,scoreThreshold:l}=toe(e,t,n),u=ise("padToMaxOutputSize",e,t,n),c=await r.image.nonMaxSuppressionPaddedAsync(i,s,o,a,l,u);return[c.selectedIndices,c.validOutputs]}case"NonMaxSuppressionV3":case"NonMaxSuppressionV2":{const{boxes:i,scores:s,maxOutputSize:o,iouThreshold:a,scoreThreshold:l}=toe(e,t,n);return[await r.image.nonMaxSuppressionAsync(i,s,o,a,l)]}case"Where":{const i=r.cast(ise("condition",e,t,n),"bool"),s=[await r.whereAsync(i)];return i.dispose(),s}case"ListDiff":return r.setdiff1dAsync(ise("x",e,t,n),ise("y",e,t,n));default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n);case"evaluation":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"LowerBound":{const r=ise("sortedSequence",e,t,n),s=ise("values",e,t,n);return[i.lowerBound(r,s)]}case"TopKV2":{const r=ise("x",e,t,n),s=ise("k",e,t,n),o=ise("sorted",e,t,n),a=i.topk(r,s,o);return[a.values,a.indices]}case"UpperBound":{const r=ise("sortedSequence",e,t,n),s=ise("values",e,t,n);return[i.upperBound(r,s)]}case"Unique":{const r=ise("x",e,t,n),s=i.unique(r);return[s.values,s.indices]}case"UniqueV2":{const r=ise("x",e,t,n),s=ise("axis",e,t,n),o=i.unique(r,s);return[o.values,o.indices]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"image":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"ResizeBilinear":{const r=ise("images",e,t,n),s=ise("size",e,t,n),o=ise("alignCorners",e,t,n),a=ise("halfPixelCenters",e,t,n);return[i.image.resizeBilinear(r,[s[0],s[1]],o,a)]}case"ResizeNearestNeighbor":{const r=ise("images",e,t,n),s=ise("size",e,t,n),o=ise("alignCorners",e,t,n),a=ise("halfPixelCenters",e,t,n);return[i.image.resizeNearestNeighbor(r,[s[0],s[1]],o,a)]}case"CropAndResize":{const r=ise("image",e,t,n),s=ise("boxes",e,t,n),o=ise("boxInd",e,t,n),a=ise("cropSize",e,t,n),l=ise("method",e,t,n),u=ise("extrapolationValue",e,t,n);return[i.image.cropAndResize(r,s,o,a,l,u)]}case"ImageProjectiveTransformV3":{const r=ise("images",e,t,n),s=ise("transforms",e,t,n),o=ise("outputShape",e,t,n),a=ise("fillValue",e,t,n),l=ise("interpolation",e,t,n),u=ise("fillMode",e,t,n);return[i.image.transform(r,s,l.toLowerCase(),u.toLowerCase(),a,o)]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"graph":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Const":return t[e.name];case"PlaceholderWithDefault":const r=ise("default",e,t,n);return[rse(e.name,t,n)||r];case"Placeholder":return[rse(e.name,t,n)];case"Identity":case"StopGradient":case"FakeQuantWithMinMaxVars":case"Snapshot":return[cse(ise("x",e,t,n))];case"IdentityN":return ise("x",e,t,n).map(e=>cse(e));case"Shape":return[i.tensor1d(ise("x",e,t,n).shape,"int32")];case"ShapeN":return ise("x",e,t,n).map(e=>i.tensor1d(e.shape));case"Size":return[i.scalar(ise("x",e,t,n).size,"int32")];case"Rank":return[i.scalar(ise("x",e,t,n).rank,"int32")];case"NoOp":return[i.scalar(1)];case"Print":const s=ise("x",e,t,n),o=ise("data",e,t,n),a=ise("message",e,t,n),l=ise("summarize",e,t,n);console.warn("The graph has a tf.print() operation,usually used for debugging, which slows down performance."),console.log(a);for(let e=0;e((e,t,n,i=Fe)=>{switch(e.op){case"Equal":return[i.equal(ise("a",e,t,n),ise("b",e,t,n))];case"NotEqual":return[i.notEqual(ise("a",e,t,n),ise("b",e,t,n))];case"Greater":return[i.greater(ise("a",e,t,n),ise("b",e,t,n))];case"GreaterEqual":return[i.greaterEqual(ise("a",e,t,n),ise("b",e,t,n))];case"Less":return[i.less(ise("a",e,t,n),ise("b",e,t,n))];case"LessEqual":return[i.lessEqual(ise("a",e,t,n),ise("b",e,t,n))];case"LogicalAnd":return[i.logicalAnd(ise("a",e,t,n),ise("b",e,t,n))];case"LogicalNot":return[i.logicalNot(ise("a",e,t,n))];case"LogicalOr":return[i.logicalOr(ise("a",e,t,n),ise("b",e,t,n))];case"Select":case"SelectV2":return[i.where(ise("condition",e,t,n),ise("a",e,t,n),ise("b",e,t,n))];case"BitwiseAnd":return[i.bitwiseAnd(ise("a",e,t,n),ise("b",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"matrices":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"BatchMatMul":case"BatchMatMulV2":case"MatMul":return[i.matMul(ise("a",e,t,n),ise("b",e,t,n),ise("transposeA",e,t,n),ise("transposeB",e,t,n))];case"Einsum":return[i.einsum(ise("equation",e,t,n),...ise("tensors",e,t,n))];case"Transpose":return[i.transpose(ise("x",e,t,n),ise("perm",e,t,n))];case"_FusedMatMul":const[r,s]=ise("fusedOps",e,t,n),o="biasadd"===r,a="prelu"===s,l=ise("numArgs",e,t,n),u=ise("leakyreluAlpha",e,t,n);if(o){if(a&&2!==l)throw new Error("Fused MatMul with BiasAdd and Prelu must have two extra arguments: bias and alpha.");if(!a&&1!==l)throw new Error("Fused MatMul with BiasAdd must have one extra argument: bias.")}const[c,d]=ise("args",e,t,n);return[i.fused.matMul({a:ise("a",e,t,n),b:ise("b",e,t,n),transposeA:ise("transposeA",e,t,n),transposeB:ise("transposeB",e,t,n),bias:c,activation:s,preluActivationWeights:d,leakyreluAlpha:u})];case"MatrixBandPart":return[i.linalg.bandPart(ise("a",e,t,n),ise("numLower",e,t,n),ise("numUpper",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"normalization":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"EuclideanNorm":return[i.euclideanNorm(ise("x",e,t,n),ise("axis",e,t,n),ise("keepDims",e,t,n))];case"FusedBatchNorm":case"FusedBatchNormV2":case"FusedBatchNormV3":return[i.batchNorm(ise("x",e,t,n),ise("mean",e,t,n),ise("variance",e,t,n),ise("offset",e,t,n),ise("scale",e,t,n),ise("epsilon",e,t,n))];case"LRN":return[i.localResponseNormalization(ise("x",e,t,n),ise("radius",e,t,n),ise("bias",e,t,n),ise("alpha",e,t,n),ise("beta",e,t,n))];case"Softmax":return[i.softmax(ise("x",e,t,n))];case"LogSoftmax":return[i.logSoftmax(ise("x",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"ragged":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"RaggedGather":{const{outputNestedSplits:r,outputDenseValues:s}=i.raggedGather(ise("paramsNestedSplits",e,t,n),ise("paramsDenseValues",e,t,n),ise("indices",e,t,n),ise("outputRaggedRank",e,t,n));return r.concat(s)}case"RaggedRange":{const{rtNestedSplits:r,rtDenseValues:s}=i.raggedRange(ise("starts",e,t,n),ise("limits",e,t,n),ise("splits",e,t,n));return[r,s]}case"RaggedTensorToTensor":return[i.raggedTensorToTensor(ise("shape",e,t,n),ise("values",e,t,n),ise("defaultValue",e,t,n),ise("rowPartitionTensors",e,t,n),ise("rowPartitionTypes",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"reduction":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Max":{const r=ise("axis",e,t,n),s=ise("keepDims",e,t,n);return[i.max(ise("x",e,t,n),r,s)]}case"Mean":{const r=ise("axis",e,t,n),s=ise("keepDims",e,t,n);return[i.mean(ise("x",e,t,n),r,s)]}case"Min":{const r=ise("axis",e,t,n),s=ise("keepDims",e,t,n);return[i.min(ise("x",e,t,n),r,s)]}case"Sum":{const r=ise("axis",e,t,n),s=ise("keepDims",e,t,n);return[i.sum(ise("x",e,t,n),r,s)]}case"All":{const r=ise("axis",e,t,n),s=ise("keepDims",e,t,n);return[i.all(ise("x",e,t,n),r,s)]}case"Any":{const r=ise("axis",e,t,n),s=ise("keepDims",e,t,n);return[i.any(ise("x",e,t,n),r,s)]}case"ArgMax":{const r=ise("axis",e,t,n);return[i.argMax(ise("x",e,t,n),r)]}case"ArgMin":{const r=ise("axis",e,t,n);return[i.argMin(ise("x",e,t,n),r)]}case"Prod":{const r=ise("axis",e,t,n),s=ise("keepDims",e,t,n);return[i.prod(ise("x",e,t,n),r,s)]}case"Cumprod":{const r=ise("axis",e,t,n),s=ise("exclusive",e,t,n),o=ise("reverse",e,t,n);return[i.cumprod(ise("x",e,t,n),r,s,o)]}case"Cumsum":{const r=ise("axis",e,t,n),s=ise("exclusive",e,t,n),o=ise("reverse",e,t,n);return[i.cumsum(ise("x",e,t,n),r,s,o)]}case"Bincount":const r=ise("x",e,t,n),s=ise("weights",e,t,n),o=ise("size",e,t,n);return[i.bincount(r,s,o)];case"DenseBincount":{const r=ise("x",e,t,n),s=ise("weights",e,t,n),o=ise("size",e,t,n),a=ise("binaryOutput",e,t,n);return[i.denseBincount(r,s,o,a)]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"slice_join":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"ConcatV2":case"Concat":{const r=ise("n",e,t,n),s=ise("axis",e,t,n);let o=ise("tensors",e,t,n);return o=o.slice(0,r),[i.concat(o,s)]}case"Gather":{const r=ise("x",e,t,n),s=ise("indices",e,t,n);return[i.gather(r,i.cast(s,"int32"),0)]}case"GatherV2":{const r=ise("axis",e,t,n),s=ise("batchDims",e,t,n),o=ise("x",e,t,n),a=ise("indices",e,t,n);return[i.gather(o,i.cast(a,"int32"),r,s)]}case"Reverse":{const r=ise("dims",e,t,n),s=[];for(let e=0;e{const r=ise("axis",e,t,n),s=ise("tensors",e,t,n),o=s[0].shape,a=i.squeeze(s[0]).shape,l=s.map(e=>{const t=v3.util.arraysEqual(e.shape,o);if(!t&&!v3.util.arraysEqual(i.squeeze(e).shape,a))throw new Error("the input tensors shape does not match");return t?e:i.reshape(e,o)});return[i.stack(l,r)]});case"Unpack":{const r=ise("axis",e,t,n),s=ise("tensor",e,t,n);return i.unstack(s,r)}case"Tile":{const r=ise("reps",e,t,n);return[i.tile(ise("x",e,t,n),r)]}case"Split":case"SplitV":{const r=ise("axis",e,t,n),s=ise("numOrSizeSplits",e,t,n),o=ise("x",e,t,n);return i.split(o,s,r)}case"ScatterNd":{const r=ise("indices",e,t,n),s=ise("values",e,t,n),o=ise("shape",e,t,n);return[i.scatterND(r,s,o)]}case"GatherNd":{const r=ise("x",e,t,n),s=ise("indices",e,t,n);return[i.gatherND(r,s)]}case"SparseToDense":{const r=ise("sparseIndices",e,t,n),s=ise("outputShape",e,t,n),o=ise("sparseValues",e,t,n),a=ise("defaultValue",e,t,n);return[i.sparseToDense(r,o,s,o.dtype===a.dtype?a:i.cast(a,o.dtype))]}case"TensorScatterUpdate":{const r=ise("indices",e,t,n),s=ise("values",e,t,n),o=ise("tensor",e,t,n);return[i.tensorScatterUpdate(o,r,s)]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"sparse":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"SparseFillEmptyRows":{const{outputIndices:r,outputValues:s,emptyRowIndicator:o,reverseIndexMap:a}=i.sparse.sparseFillEmptyRows(ise("indices",e,t,n),ise("values",e,t,n),ise("denseShape",e,t,n),ise("defaultValue",e,t,n));return[r,s,o,a]}case"SparseReshape":{const{outputIndices:r,outputShape:s}=i.sparse.sparseReshape(ise("inputIndices",e,t,n),ise("inputShape",e,t,n),ise("newShape",e,t,n));return[r,s]}case"SparseSegmentMean":return[i.sparse.sparseSegmentMean(ise("data",e,t,n),ise("indices",e,t,n),ise("segmentIds",e,t,n))];case"SparseSegmentSum":return[i.sparse.sparseSegmentSum(ise("data",e,t,n),ise("indices",e,t,n),ise("segmentIds",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"spectral":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"FFT":return[i.fft(ise("x",e,t,n))];case"IFFT":return[i.ifft(ise("x",e,t,n))];case"RFFT":return[i.rfft(ise("x",e,t,n))];case"IRFFT":return[i.irfft(ise("x",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"string":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"StaticRegexReplace":return[i.string.staticRegexReplace(ise("input",e,t,n),ise("pattern",e,t,n),ise("rewrite",e,t,n),ise("replaceGlobal",e,t,n))];case"StringNGrams":{const{nGrams:r,nGramsSplits:s}=i.string.stringNGrams(ise("data",e,t,n),ise("dataSplits",e,t,n),ise("separator",e,t,n),ise("nGramWidths",e,t,n),ise("leftPad",e,t,n),ise("rightPad",e,t,n),ise("padWidth",e,t,n),ise("preserveShortSequences",e,t,n));return[r,s]}case"StringSplit":{const{indices:r,values:s,shape:o}=i.string.stringSplit(ise("input",e,t,n),ise("delimiter",e,t,n),ise("skipEmpty",e,t,n));return[r,s,o]}case"StringToHashBucketFast":return[i.string.stringToHashBucketFast(ise("input",e,t,n),ise("numBuckets",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"transformation":return r(()=>((e,t,n,i=Fe)=>{switch(e.op){case"Cast":return[i.cast(ise("x",e,t,n),ise("dtype",e,t,n))];case"ExpandDims":{const r=ise("axis",e,t,n);return[i.expandDims(ise("x",e,t,n),r)]}case"Squeeze":{const r=ise("axis",e,t,n);return[i.squeeze(ise("x",e,t,n),r)]}case"Reshape":return[i.reshape(ise("x",e,t,n),ise("shape",e,t,n))];case"EnsureShape":return[i.ensureShape(ise("x",e,t,n),ise("shape",e,t,n))];case"MirrorPad":return[i.mirrorPad(ise("x",e,t,n),ise("padding",e,t,n),ise("mode",e,t,n))];case"PadV2":case"Pad":return[i.pad(ise("x",e,t,n),ise("padding",e,t,n),ise("constantValue",e,t,n))];case"SpaceToBatchND":{const r=ise("blockShape",e,t,n),s=ise("paddings",e,t,n);return[i.spaceToBatchND(ise("x",e,t,n),r,s)]}case"BatchToSpaceND":{const r=ise("blockShape",e,t,n),s=ise("crops",e,t,n);return[i.batchToSpaceND(ise("x",e,t,n),r,s)]}case"DepthToSpace":{const r=ise("blockSize",e,t,n),s=ise("dataFormat",e,t,n).toUpperCase();return[i.depthToSpace(ise("x",e,t,n),r,s)]}case"BroadcastTo":return[i.broadcastTo(ise("x",e,t,n),ise("shape",e,t,n))];case"BroadcastArgs":return[i.broadcastArgs(ise("s0",e,t,n),ise("s1",e,t,n))];default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n));case"hash_table":return(async(e,t,n,i)=>{switch(e.op){case"HashTable":case"HashTableV2":{const r=i.getHashTableHandleByName(e.name);if(null!=r)return[r];{const r=ise("keyDType",e,t,n),s=ise("valueDType",e,t,n),o=new noe(r,s);return i.addHashTable(e.name,o),[o.handle]}}case"InitializeTable":case"InitializeTableV2":case"LookupTableImport":case"LookupTableImportV2":{const r=ise("tableHandle",e,t,n,i),s=ise("keys",e,t,n),o=ise("values",e,t,n),a=i.getHashTableById(r.id);return[await a.import(s,o)]}case"LookupTableFind":case"LookupTableFindV2":{const r=ise("tableHandle",e,t,n,i),s=ise("keys",e,t,n),o=ise("defaultValue",e,t,n),a=i.getHashTableById(r.id);return[await a.find(s,o)]}case"LookupTableSize":case"LookupTableSizeV2":{const r=ise("tableHandle",e,t,n,i);return[i.getHashTableById(r.id).tensorSize()]}default:throw TypeError(`Node type ${e.op} is not implemented`)}})(e,t,n,i);case"custom":const s=tse(e.op);if(s&&s.customExecutor)return s.customExecutor(new Gse(e,t,n));throw TypeError(`Custom op ${e.op} is not registered.`);default:throw TypeError(`Unknown op '${e.op}'. File an issue at https://github.com/tensorflow/tfjs/issues so we can add it, or register a custom execution with tf.registerOp()`)}})(e,t,n);return v3.util.isPromise(s)?s.then(e=>[].concat(e)):[].concat(s)}class roe{constructor(e={},t={},n={},i={},r){this.weightMap=e,this.tensorArrayMap=t,this.tensorListMap=n,this.functionMap=i,this.parseNodeNameCache=r,this.rootContext={id:0,frameName:"",iterationId:0},this.contexts=[this.rootContext],this.lastId=0,this.generateCurrentContextIds()}newFrame(e,t){return{id:e,frameName:t,iterationId:0}}set currentContext(e){this.contexts!==e&&(this.contexts=e,this.generateCurrentContextIds())}get currentContext(){return this.contexts}get currentContextId(){return this._currentContextIds[0]}get currentContextIds(){return this._currentContextIds}generateCurrentContextIds(){const e=[];for(let t=0;t0===e.id&&0===e.iterationId?"":`${e.frameName}-${e.iterationId}`).join("/"):""}enterFrame(e){this.contexts&&(this.lastId++,this.contexts=this.contexts.slice(),this.contexts.push(this.newFrame(this.lastId,e)),this._currentContextIds.unshift(this.contextIdforContexts(this.contexts)))}exitFrame(){if(!(this.contexts&&this.contexts.length>1))throw new Error("Cannot exit frame, the context is empty");this.contexts=this.contexts.slice(),this.contexts.splice(-1),this.currentContextIds.shift()}nextIteration(){if(!(this.contexts&&this.contexts.length>0))throw new Error("Cannot increase frame iteration, the context is empty");{this.contexts=this.contexts.slice(),this.lastId++;const e=Object.assign({},this.contexts[this.contexts.length-1]);e.iterationId+=1,e.id=this.lastId,this.contexts.splice(-1,1,e),this._currentContextIds.splice(0,1,this.contextIdforContexts(this.contexts))}}getWeight(e){return this.weightMap[e]}addTensorArray(e){this.tensorArrayMap[e.id]=e}getTensorArray(e){return this.tensorArrayMap[e]}addTensorList(e){this.tensorListMap[e.id]=e}getTensorList(e){return this.tensorListMap[e]}dispose(e){for(const t in this.tensorArrayMap)this.tensorArrayMap[t].clearAndClose(e);for(const t in this.tensorListMap)this.tensorListMap[t].clearAndClose(e)}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -11828,7 +11828,7 @@ function Zse(e,t,n,i,r=p3.tidy){const s=((e,t,n)=>{switch(e.category){case"arith * limitations under the License. * ============================================================================= */ -function Jse(e,t,n,i){const r=new Set,s=[];let o=null,a=null;const l=new Set,u=new Set(Object.keys(e).map(e=>nse(e)[0]));i=i||[];const c=new Set(i.map(e=>nse(e.name)[0])),d=[...t];for(;d.length>0;){const e=d.pop();(soe(e)||ooe(e)||aoe(e))&&null==o&&(o=e,a=o.children.map(e=>e.name).filter(e=>r.has(e))),r.add(e.name),null==n[e.name]&&(u.has(e.name)||c.has(e.name)||(0!==e.inputs.length?e.inputs.forEach(e=>{l.has(e.name)||(l.add(e.name),d.push(e))}):s.push(e.name)))}return{inputs:e,outputs:t,usedNodes:r,missingInputs:s,dynamicNode:o,syncInputs:a}}function eoe(e,t){const{usedNodes:n,inputs:i}=t,r=Object.keys(i).map(e=>nse(e)[0]).map(t=>e.nodes[t]),s=e.initNodes||[],o=e=>n.has("string"==typeof e?e:e.name);function a(e){return[...new Map(e.map(e=>[e.name,e])).values()]}const l=a([...r,...e.weights,...s]).filter(o),u=a([...l,...Object.values(e.nodes)]).filter(o),c=new Map(u.map(e=>[e.name,e])),d={};for(const e of u){d[e.name]=d[e.name]||0;for(const t of e.children)o(t)||(d[t.name]=Number.POSITIVE_INFINITY),d[t.name]=(d[t.name]||0)+1}const h=Object.entries(d).filter(([,e])=>0===e).map(([e])=>e),p=[...h];for(;h.length>0;){const e=h.pop(),t=c.get(e);for(const e of t.children.filter(o))0===--d[e.name]&&(p.push(e.name),h.push(e.name))}const f=function(e,t){const n=new Map(e.map(e=>[e.name,e])),i=t.map(e=>e.name),r=new Set(i);for(;i.length>0;){const e=i.pop(),t=n.get(e);for(const e of t.children)n.has(e.name)&&!r.has(e.name)&&(r.add(e.name),i.push(e.name))}const s=e.filter(e=>r.has(e.name));return s}(p.map(e=>c.get(e)),l);return function(e,t){const n=new Map(e.map((e,t)=>[e.name,t])),i=new Set(t.map(e=>e.name)),r=e=>i.has("string"==typeof e?e:e.name),s=new Set(e.map(e=>e.name)),o=e=>s.has("string"==typeof e?e:e.name);for(const t of e){for(const e of t.children.filter(o)){if(!n.has(e.name))throw new toe(`Child ${e.name} of node ${t.name} is unreachable.`);if(n.get(t.name)>n.get(e.name))throw new toe(`Node ${t.name} is scheduled to run after its child ${e.name}.`)}if(!r(t))for(const e of t.inputs){if(!n.has(e.name))throw new toe(`Input ${e.name} of node ${t.name} is unreachable.`);if(n.get(e.name)>n.get(t.name))throw new toe(`Node ${t.name} is scheduled to run before its input ${e.name}.`)}}}(f,l),f}class toe extends Error{constructor(e){super(`NodesExecutionOrderError: ${e}`)}}const noe=new Set(["Switch","Merge","Enter","Exit","NextIteration","StatelessIf","StatelessWhile","if","While"]),ioe=new Set(["NonMaxSuppressionV2","NonMaxSuppressionV3","NonMaxSuppressionV5","Where"]),roe=new Set(["HashTable","HashTableV2","LookupTableImport","LookupTableImportV2","LookupTableFind","LookupTableFindV2","LookupTableSize","LookupTableSizeV2"]);function soe(e){return noe.has(e.op)}function ooe(e){return ioe.has(e.op)}function aoe(e){return roe.has(e.op)} +function soe(e,t,n,i){const r=new Set,s=[];let o=null,a=null;const l=new Set,u=new Set(Object.keys(e).map(e=>lse(e)[0]));i=i||[];const c=new Set(i.map(e=>lse(e.name)[0])),d=[...t];for(;d.length>0;){const e=d.pop();(doe(e)||hoe(e)||poe(e))&&null==o&&(o=e,a=o.children.map(e=>e.name).filter(e=>r.has(e))),r.add(e.name),null==n[e.name]&&(u.has(e.name)||c.has(e.name)||(0!==e.inputs.length?e.inputs.forEach(e=>{l.has(e.name)||(l.add(e.name),d.push(e))}):s.push(e.name)))}return{inputs:e,outputs:t,usedNodes:r,missingInputs:s,dynamicNode:o,syncInputs:a}}function ooe(e,t){const{usedNodes:n,inputs:i}=t,r=Object.keys(i).map(e=>lse(e)[0]).map(t=>e.nodes[t]),s=e.initNodes||[],o=e=>n.has("string"==typeof e?e:e.name);function a(e){return[...new Map(e.map(e=>[e.name,e])).values()]}const l=a([...r,...e.weights,...s]).filter(o),u=a([...l,...Object.values(e.nodes)]).filter(o),c=new Map(u.map(e=>[e.name,e])),d={};for(const e of u){d[e.name]=d[e.name]||0;for(const t of e.children)o(t)||(d[t.name]=Number.POSITIVE_INFINITY),d[t.name]=(d[t.name]||0)+1}const h=Object.entries(d).filter(([,e])=>0===e).map(([e])=>e),p=[...h];for(;h.length>0;){const e=h.pop(),t=c.get(e);for(const e of t.children.filter(o))0===--d[e.name]&&(p.push(e.name),h.push(e.name))}const f=function(e,t){const n=new Map(e.map(e=>[e.name,e])),i=t.map(e=>e.name),r=new Set(i);for(;i.length>0;){const e=i.pop(),t=n.get(e);for(const e of t.children)n.has(e.name)&&!r.has(e.name)&&(r.add(e.name),i.push(e.name))}const s=e.filter(e=>r.has(e.name));return s}(p.map(e=>c.get(e)),l);return function(e,t){const n=new Map(e.map((e,t)=>[e.name,t])),i=new Set(t.map(e=>e.name)),r=e=>i.has("string"==typeof e?e:e.name),s=new Set(e.map(e=>e.name)),o=e=>s.has("string"==typeof e?e:e.name);for(const t of e){for(const e of t.children.filter(o)){if(!n.has(e.name))throw new aoe(`Child ${e.name} of node ${t.name} is unreachable.`);if(n.get(t.name)>n.get(e.name))throw new aoe(`Node ${t.name} is scheduled to run after its child ${e.name}.`)}if(!r(t))for(const e of t.inputs){if(!n.has(e.name))throw new aoe(`Input ${e.name} of node ${t.name} is unreachable.`);if(n.get(e.name)>n.get(t.name))throw new aoe(`Node ${t.name} is scheduled to run before its input ${e.name}.`)}}}(f,l),f}class aoe extends Error{constructor(e){super(`NodesExecutionOrderError: ${e}`)}}const loe=new Set(["Switch","Merge","Enter","Exit","NextIteration","StatelessIf","StatelessWhile","if","While"]),uoe=new Set(["NonMaxSuppressionV2","NonMaxSuppressionV3","NonMaxSuppressionV5","Where"]),coe=new Set(["HashTable","HashTableV2","LookupTableImport","LookupTableImportV2","LookupTableFind","LookupTableFindV2","LookupTableSize","LookupTableSizeV2"]);function doe(e){return loe.has(e.op)}function hoe(e){return uoe.has(e.op)}function poe(e){return coe.has(e.op)} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11845,7 +11845,7 @@ function Jse(e,t,n,i){const r=new Set,s=[];let o=null,a=null;const l=new Set,u=n * limitations under the License. * ============================================================================= */ -class loe{get weightIds(){return this.parent?this.parent.weightIds:this._weightIds}get functionExecutorMap(){return this.parent?this.parent.functionExecutorMap:this._functionExecutorMap}get weightMap(){return this.parent?this.parent.weightMap:this._weightMap}set weightMap(e){const t=Object.keys(e).map(t=>e[t].map(e=>e.id));this._weightIds=[].concat(...t),this._weightMap=e}set resourceManager(e){this._resourceManager=e}get inputs(){return this._inputs.map(e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0}))}get outputs(){return this._outputs.map(e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0}))}get inputNodes(){return this._inputs.map(e=>e.signatureKey||e.name)}get outputNodes(){return this._outputs.map(e=>{const t=e.signatureKey||e.name;return e.defaultOutput?`${t}:${e.defaultOutput}`:t})}get functions(){return Object.keys(this._functions).reduce((e,t)=>(e[t]=this._functions[t].signature,e),{})}constructor(e,t){this.graph=e,this.parent=t,this.compiledMap=new Map,this.parseNodeNameCache=new Map,this._weightMap={},this.SEPARATOR=",",this._functions={},this._functionExecutorMap={},this.keepIntermediateTensors=!1,this._outputs=e.outputs,this._inputs=e.inputs,this._initNodes=e.initNodes,this._signature=e.signature,this._functions=e.functions,null!=e.functions&&Object.keys(e.functions).forEach(t=>{this._functionExecutorMap[t]=new loe(e.functions[t],this)})}getCompilationKey(e,t){const n=e.map(e=>e.name).sort(),i=t.map(e=>e.name).sort();return n.join(this.SEPARATOR)+"--"+i.join(this.SEPARATOR)}compile(e,t){const n=Jse(e,t,this.weightMap,this._initNodes),{missingInputs:i,dynamicNode:r,syncInputs:s}=n;if(null!=r)throw new Error(`This execution contains the node '${r.name}', which has the dynamic op '${r.op}'. Please use model.executeAsync() instead. Alternatively, to avoid the dynamic ops, specify the inputs [${s}]`);if(i.length>0){const n=t.map(e=>e.name),r=Object.keys(e);throw new Error(`Cannot compute the outputs [${n}] from the provided inputs [${r}]. Missing the following inputs: [${i}]`)}const o=eoe(this.graph,n),a=function(e){const t=new Map(e.map((e,t)=>[e.name,t])),n=Number.MAX_SAFE_INTEGER,i=e.map((e,t)=>soe(e)?n:t),r=e=>{const n=i[t.get(e.name)];return null==n?-1:n},s=e.map((e,t)=>e.children.map(r).reduce((e,t)=>Math.max(e,t),i[t])),o=new Map;for(let t=0;tthis.cloneAndKeepTensor(e))}cloneTensorMap(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,this.cloneTensorList(t)]))}execute(e,t){this.disposeIntermediateTensors(),e=this.mapInputs(e);const n=Object.keys(e).sort();this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t);const i=n.map(e=>this.graph.nodes[nse(e)[0]]),r=t.map(e=>nse(e)[0]),s=new Set(r);let o=r.map(e=>this.graph.nodes[e]);0===o.length&&(o=this._outputs);const a=this.getCompilationKey(i,o);let l=this.compiledMap.get(a);null==l&&(l=this.compile(e,o),this.compiledMap.set(a,l));try{this.keepIntermediateTensors=(0,p3.env)().getBool("KEEP_INTERMEDIATE_TENSORS")}catch(e){this.keepIntermediateTensors=!1,console.warn(e.message)}const u={},c={};return(0,p3.tidy)(()=>{const n=new Qse(this.weightMap,u,c,this.functionExecutorMap,this.parseNodeNameCache),i=Object.assign({},this.weightMap);this.keepIntermediateTensors&&(this.clonedTensorsMap=this.cloneTensorMap(this.weightMap)),Object.keys(e).forEach(t=>{const[r,s]=nse(t,n),o=[];o[s]=e[t],i[r]=o,this.keepIntermediateTensors&&(this.clonedTensorsMap[r]=this.cloneTensorList(o))});const r=this.getFrozenTensorIds(i),{orderedNodes:o,nodeLiveUntilMap:a}=l;for(const e of o){if(i[e.name])continue;const t=Zse(e,i,n,this._resourceManager);if(p3.util.isPromise(t))throw new Error(`The execution of the op '${e.op}' returned a promise. Please use model.executeAsync() instead.`);i[e.name]=t,this.keepIntermediateTensors&&(this.clonedTensorsMap[e.name]=this.cloneTensorList(t)),this.checkTensorForDisposalWithNodeLiveUntilInfo(e,i,n,r,s,a.get(e.name))}return null==this.parent&&n.dispose(r),t.map(e=>Qre(e,i,n))})}getFrozenTensorIds(e){const t=[].concat.apply([],Object.keys(e).map(t=>e[t]).map(e=>e.map(e=>e.id)));return new Set(t)}checkTensorForDisposal(e,t,n,i,r,s,o){if(!soe(t)&&!s.has(e)){for(const i of n[e])null!=i&&(o[i.id]=(o[i.id]||0)+t.children.length);for(const e of t.inputs){if(soe(e))continue;const t=Jre(e.name,n,i);if(null!=t)for(const e of t){if(!e||e.kept||r.has(e.id))continue;const t=o[e.id];1===t?(e.dispose(),delete o[e.id]):null!=t&&o[e.id]--}}}}checkTensorForDisposalWithNodeLiveUntilInfo(e,t,n,i,r,s){function o(e){return soe(e)||r.has(e.name)}if(!soe(e)&&null!=s)for(const e of s){if(o(e))continue;const r=Jre(e.name,t,n);for(const e of r)!e||e.kept||i.has(e.id)||e.dispose()}}async executeAsync(e,t){return this._executeAsync(e,t)}disposeIntermediateTensors(){this.clonedTensorsMap&&(Object.values(this.clonedTensorsMap).forEach(e=>{for(const t of e)t&&!t.isDisposed&&t.dispose()}),this.clonedTensorsMap=null)}getIntermediateTensors(){return this.clonedTensorsMap}async _executeAsync(e,t,n=!1,i={},r={}){this.disposeIntermediateTensors(),n||(e=this.mapInputs(e),this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t));try{this.keepIntermediateTensors=(0,p3.env)().getBool("KEEP_INTERMEDIATE_TENSORS")}catch(e){this.keepIntermediateTensors=!1,console.warn(e.message)}const s=new Qse(this.weightMap,i,r,this.functionExecutorMap,this.parseNodeNameCache);this.keepIntermediateTensors&&(this.clonedTensorsMap=this.cloneTensorMap(this.weightMap));const o=await this.executeWithControlFlow(e,s,t,n),a=t.map(e=>Qre(e,o,s)),l=a.map(e=>e.id),u=Object.keys(e).map(t=>e[t].id),c=new Set([...l,...u,...this.weightIds]);return Object.values(o).forEach(e=>{e.forEach(e=>{!e||e.isDisposed||c.has(e.id)||e.dispose()})}),null==this.parent&&s.dispose(c),a}async executeFunctionAsync(e,t,n){const i=e.reduce((e,t,n)=>(e[this.inputs[n].name]=t,e),{});return this._executeAsync(i,this.outputNodes,!0,t,n)}async executeWithControlFlow(e,t,n,i){const r=Object.keys(e),s=r.map(e=>this.graph.nodes[nse(e)[0]]),o=n.map(e=>nse(e)[0]),a=new Set(o);let l=o.map(e=>this.graph.nodes[e]);0===l.length&&(l=this._outputs);const{usedNodes:u,missingInputs:c,dynamicNode:d,syncInputs:h}=Jse(e,l,this.weightMap,this._initNodes),p=[...s,...this.graph.weights,...this._initNodes||[]].map(e=>({node:e,contexts:t.currentContext})),f=Object.assign({},this.weightMap);Object.keys(e).forEach(t=>{const[n,i]=nse(t),r=[];r[i]=e[t],f[n]=r});const m={},g=this.getFrozenTensorIds(f),_={};for(;p.length>0;){const e=this.processStack(s,p,t,f,_,g,a,m,u);await Promise.all(e)}null!=d||i||console.warn("This model execution did not contain any nodes with control flow or dynamic output shapes. You can use model.execute() instead.");const y=l.filter(e=>!soe(e)&&!Qre(e.name,f,t)).map(e=>e.name);if(y.length>0){let e="";throw null!=d&&(e=`Alternatively, to avoid the dynamic ops, use model.execute() and specify the inputs [${h}]`),new Error(`Cannot compute the outputs [${y}] from the provided inputs [${r}]. Consider providing the following inputs: [${c}]. ${e}`)}return f}processStack(e,t,n,i,r,s,o,a,l){const u=[];for(;t.length>0;){const e=t.pop();n.currentContext=e.contexts;let c="";if("Enter"===e.node.op&&Zre("isConstant",e.node,i,n)&&([c]=ese(e.node.name,n)),null==i[e.node.name]){const d=Zse(e.node,i,n,this._resourceManager);c||([c]=ese(e.node.name,n));const h=n.currentContext;p3.util.isPromise(d)?u.push(d.then(u=>(i[c]=u,this.keepIntermediateTensors&&(this.clonedTensorsMap[c]=this.cloneTensorList(u)),n.currentContext=h,this.checkTensorForDisposal(c,e.node,i,n,s,o,a),this.processChildNodes(e.node,t,n,i,r,l),u))):(i[c]=d,this.keepIntermediateTensors&&(this.clonedTensorsMap[c]=this.cloneTensorList(d)),this.checkTensorForDisposal(c,e.node,i,n,s,o,a),this.processChildNodes(e.node,t,n,i,r,l))}else this.processChildNodes(e.node,t,n,i,r,l)}return u}processChildNodes(e,t,n,i,r,s){e.children.forEach(e=>{const[o]=ese(e.name,n);!r[o]&&s.has(e.name)&&("Merge"===e.op?e.inputNames.some(e=>!!Qre(e,i,n))&&(r[o]=!0,t.push({contexts:n.currentContext,node:e})):e.inputNames.every(e=>!!Qre(e,i,n))&&(r[o]=!0,t.push({contexts:n.currentContext,node:e})))})}dispose(){Object.keys(this.weightMap).forEach(e=>this.weightMap[e].forEach(e=>e.dispose()))}checkInputShapeAndType(e){Object.keys(e).forEach(t=>{const n=e[t],[i]=nse(t),r=this.graph.nodes[i];if(r.attrParams.shape&&r.attrParams.shape.value){const e=r.attrParams.shape.value,t=e.length===n.shape.length&&n.shape.every((t,n)=>-1===e[n]||e[n]===t);p3.util.assert(t,()=>`The shape of dict['${r.name}'] provided in model.execute(dict) must be [${e}], but was [${n.shape}]`)}r.attrParams.dtype&&r.attrParams.dtype.value&&p3.util.assert(n.dtype===r.attrParams.dtype.value,()=>`The dtype of dict['${r.name}'] provided in model.execute(dict) must be ${r.attrParams.dtype.value}, but was ${n.dtype}`)})}mapInputs(e){var t,n;const i={};for(const r in e){const s=null===(n=null===(t=this._signature)||void 0===t?void 0:t.inputs)||void 0===n?void 0:n[r];null!=s?i[s.name]=e[r]:i[r]=e[r]}return i}checkInputs(e){const t=Object.keys(e).filter(e=>{const[t]=nse(e);return null==this.graph.nodes[t]});if(t.length>0)throw new Error(`The dict provided in model.execute(dict) has keys: [${t}] that are not part of graph`)}mapOutputs(e){return e.map(e=>{var t,n;const i=null===(n=null===(t=this._signature)||void 0===t?void 0:t.outputs)||void 0===n?void 0:n[e];return null!=i?i.name:e},{})}checkOutputs(e){e.forEach(e=>{const[t]=nse(e);if(!this.graph.nodes[t])throw new Error(`The output '${e}' is not found in the graph`)})}}class uoe{constructor(e={},t={}){this.hashTableNameToHandle=e,this.hashTableMap=t}addHashTable(e,t){this.hashTableNameToHandle[e]=t.handle,this.hashTableMap[t.id]=t}getHashTableHandleByName(e){return this.hashTableNameToHandle[e]}getHashTableById(e){return this.hashTableMap[e]}dispose(){for(const e in this.hashTableMap)this.hashTableMap[e].clearAndClose(),delete this.hashTableMap[e];for(const e in this.hashTableNameToHandle)this.hashTableNameToHandle[e].dispose(),delete this.hashTableNameToHandle[e]}}var coe=__webpack_require__(77084); +class foe{get weightIds(){return this.parent?this.parent.weightIds:this._weightIds}get functionExecutorMap(){return this.parent?this.parent.functionExecutorMap:this._functionExecutorMap}get weightMap(){return this.parent?this.parent.weightMap:this._weightMap}set weightMap(e){const t=Object.keys(e).map(t=>e[t].map(e=>e.id));this._weightIds=[].concat(...t),this._weightMap=e}set resourceManager(e){this._resourceManager=e}get inputs(){return this._inputs.map(e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0}))}get outputs(){return this._outputs.map(e=>({name:e.name,shape:e.attrParams.shape?e.attrParams.shape.value:void 0,dtype:e.attrParams.dtype?e.attrParams.dtype.value:void 0}))}get inputNodes(){return this._inputs.map(e=>e.signatureKey||e.name)}get outputNodes(){return this._outputs.map(e=>{const t=e.signatureKey||e.name;return e.defaultOutput?`${t}:${e.defaultOutput}`:t})}get functions(){return Object.keys(this._functions).reduce((e,t)=>(e[t]=this._functions[t].signature,e),{})}constructor(e,t){this.graph=e,this.parent=t,this.compiledMap=new Map,this.parseNodeNameCache=new Map,this._weightMap={},this.SEPARATOR=",",this._functions={},this._functionExecutorMap={},this.keepIntermediateTensors=!1,this._outputs=e.outputs,this._inputs=e.inputs,this._initNodes=e.initNodes,this._signature=e.signature,this._functions=e.functions,null!=e.functions&&Object.keys(e.functions).forEach(t=>{this._functionExecutorMap[t]=new foe(e.functions[t],this)})}getCompilationKey(e,t){const n=e.map(e=>e.name).sort(),i=t.map(e=>e.name).sort();return n.join(this.SEPARATOR)+"--"+i.join(this.SEPARATOR)}compile(e,t){const n=soe(e,t,this.weightMap,this._initNodes),{missingInputs:i,dynamicNode:r,syncInputs:s}=n;if(null!=r)throw new Error(`This execution contains the node '${r.name}', which has the dynamic op '${r.op}'. Please use model.executeAsync() instead. Alternatively, to avoid the dynamic ops, specify the inputs [${s}]`);if(i.length>0){const n=t.map(e=>e.name),r=Object.keys(e);throw new Error(`Cannot compute the outputs [${n}] from the provided inputs [${r}]. Missing the following inputs: [${i}]`)}const o=ooe(this.graph,n),a=function(e){const t=new Map(e.map((e,t)=>[e.name,t])),n=Number.MAX_SAFE_INTEGER,i=e.map((e,t)=>doe(e)?n:t),r=e=>{const n=i[t.get(e.name)];return null==n?-1:n},s=e.map((e,t)=>e.children.map(r).reduce((e,t)=>Math.max(e,t),i[t])),o=new Map;for(let t=0;tthis.cloneAndKeepTensor(e))}cloneTensorMap(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,this.cloneTensorList(t)]))}execute(e,t){this.disposeIntermediateTensors(),e=this.mapInputs(e);const n=Object.keys(e).sort();this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t);const i=n.map(e=>this.graph.nodes[lse(e)[0]]),r=t.map(e=>lse(e)[0]),s=new Set(r);let o=r.map(e=>this.graph.nodes[e]);0===o.length&&(o=this._outputs);const a=this.getCompilationKey(i,o);let l=this.compiledMap.get(a);null==l&&(l=this.compile(e,o),this.compiledMap.set(a,l));try{this.keepIntermediateTensors=(0,v3.env)().getBool("KEEP_INTERMEDIATE_TENSORS")}catch(e){this.keepIntermediateTensors=!1,console.warn(e.message)}const u={},c={};return(0,v3.tidy)(()=>{const n=new roe(this.weightMap,u,c,this.functionExecutorMap,this.parseNodeNameCache),i=Object.assign({},this.weightMap);this.keepIntermediateTensors&&(this.clonedTensorsMap=this.cloneTensorMap(this.weightMap)),Object.keys(e).forEach(t=>{const[r,s]=lse(t,n),o=[];o[s]=e[t],i[r]=o,this.keepIntermediateTensors&&(this.clonedTensorsMap[r]=this.cloneTensorList(o))});const r=this.getFrozenTensorIds(i),{orderedNodes:o,nodeLiveUntilMap:a}=l;for(const e of o){if(i[e.name])continue;const t=ioe(e,i,n,this._resourceManager);if(v3.util.isPromise(t))throw new Error(`The execution of the op '${e.op}' returned a promise. Please use model.executeAsync() instead.`);i[e.name]=t,this.keepIntermediateTensors&&(this.clonedTensorsMap[e.name]=this.cloneTensorList(t)),this.checkTensorForDisposalWithNodeLiveUntilInfo(e,i,n,r,s,a.get(e.name))}return null==this.parent&&n.dispose(r),t.map(e=>rse(e,i,n))})}getFrozenTensorIds(e){const t=[].concat.apply([],Object.keys(e).map(t=>e[t]).map(e=>e.map(e=>e.id)));return new Set(t)}checkTensorForDisposal(e,t,n,i,r,s,o){if(!doe(t)&&!s.has(e)){for(const i of n[e])null!=i&&(o[i.id]=(o[i.id]||0)+t.children.length);for(const e of t.inputs){if(doe(e))continue;const t=sse(e.name,n,i);if(null!=t)for(const e of t){if(!e||e.kept||r.has(e.id))continue;const t=o[e.id];1===t?(e.dispose(),delete o[e.id]):null!=t&&o[e.id]--}}}}checkTensorForDisposalWithNodeLiveUntilInfo(e,t,n,i,r,s){function o(e){return doe(e)||r.has(e.name)}if(!doe(e)&&null!=s)for(const e of s){if(o(e))continue;const r=sse(e.name,t,n);for(const e of r)!e||e.kept||i.has(e.id)||e.dispose()}}async executeAsync(e,t){return this._executeAsync(e,t)}disposeIntermediateTensors(){this.clonedTensorsMap&&(Object.values(this.clonedTensorsMap).forEach(e=>{for(const t of e)t&&!t.isDisposed&&t.dispose()}),this.clonedTensorsMap=null)}getIntermediateTensors(){return this.clonedTensorsMap}async _executeAsync(e,t,n=!1,i={},r={}){this.disposeIntermediateTensors(),n||(e=this.mapInputs(e),this.checkInputs(e),this.checkInputShapeAndType(e),t=this.mapOutputs(t),this.checkOutputs(t));try{this.keepIntermediateTensors=(0,v3.env)().getBool("KEEP_INTERMEDIATE_TENSORS")}catch(e){this.keepIntermediateTensors=!1,console.warn(e.message)}const s=new roe(this.weightMap,i,r,this.functionExecutorMap,this.parseNodeNameCache);this.keepIntermediateTensors&&(this.clonedTensorsMap=this.cloneTensorMap(this.weightMap));const o=await this.executeWithControlFlow(e,s,t,n),a=t.map(e=>rse(e,o,s)),l=a.map(e=>e.id),u=Object.keys(e).map(t=>e[t].id),c=new Set([...l,...u,...this.weightIds]);return Object.values(o).forEach(e=>{e.forEach(e=>{!e||e.isDisposed||c.has(e.id)||e.dispose()})}),null==this.parent&&s.dispose(c),a}async executeFunctionAsync(e,t,n){const i=e.reduce((e,t,n)=>(e[this.inputs[n].name]=t,e),{});return this._executeAsync(i,this.outputNodes,!0,t,n)}async executeWithControlFlow(e,t,n,i){const r=Object.keys(e),s=r.map(e=>this.graph.nodes[lse(e)[0]]),o=n.map(e=>lse(e)[0]),a=new Set(o);let l=o.map(e=>this.graph.nodes[e]);0===l.length&&(l=this._outputs);const{usedNodes:u,missingInputs:c,dynamicNode:d,syncInputs:h}=soe(e,l,this.weightMap,this._initNodes),p=[...s,...this.graph.weights,...this._initNodes||[]].map(e=>({node:e,contexts:t.currentContext})),f=Object.assign({},this.weightMap);Object.keys(e).forEach(t=>{const[n,i]=lse(t),r=[];r[i]=e[t],f[n]=r});const m={},g=this.getFrozenTensorIds(f),_={};for(;p.length>0;){const e=this.processStack(s,p,t,f,_,g,a,m,u);await Promise.all(e)}null!=d||i||console.warn("This model execution did not contain any nodes with control flow or dynamic output shapes. You can use model.execute() instead.");const y=l.filter(e=>!doe(e)&&!rse(e.name,f,t)).map(e=>e.name);if(y.length>0){let e="";throw null!=d&&(e=`Alternatively, to avoid the dynamic ops, use model.execute() and specify the inputs [${h}]`),new Error(`Cannot compute the outputs [${y}] from the provided inputs [${r}]. Consider providing the following inputs: [${c}]. ${e}`)}return f}processStack(e,t,n,i,r,s,o,a,l){const u=[];for(;t.length>0;){const e=t.pop();n.currentContext=e.contexts;let c="";if("Enter"===e.node.op&&ise("isConstant",e.node,i,n)&&([c]=ose(e.node.name,n)),null==i[e.node.name]){const d=ioe(e.node,i,n,this._resourceManager);c||([c]=ose(e.node.name,n));const h=n.currentContext;v3.util.isPromise(d)?u.push(d.then(u=>(i[c]=u,this.keepIntermediateTensors&&(this.clonedTensorsMap[c]=this.cloneTensorList(u)),n.currentContext=h,this.checkTensorForDisposal(c,e.node,i,n,s,o,a),this.processChildNodes(e.node,t,n,i,r,l),u))):(i[c]=d,this.keepIntermediateTensors&&(this.clonedTensorsMap[c]=this.cloneTensorList(d)),this.checkTensorForDisposal(c,e.node,i,n,s,o,a),this.processChildNodes(e.node,t,n,i,r,l))}else this.processChildNodes(e.node,t,n,i,r,l)}return u}processChildNodes(e,t,n,i,r,s){e.children.forEach(e=>{const[o]=ose(e.name,n);!r[o]&&s.has(e.name)&&("Merge"===e.op?e.inputNames.some(e=>!!rse(e,i,n))&&(r[o]=!0,t.push({contexts:n.currentContext,node:e})):e.inputNames.every(e=>!!rse(e,i,n))&&(r[o]=!0,t.push({contexts:n.currentContext,node:e})))})}dispose(){Object.keys(this.weightMap).forEach(e=>this.weightMap[e].forEach(e=>e.dispose()))}checkInputShapeAndType(e){Object.keys(e).forEach(t=>{const n=e[t],[i]=lse(t),r=this.graph.nodes[i];if(r.attrParams.shape&&r.attrParams.shape.value){const e=r.attrParams.shape.value,t=e.length===n.shape.length&&n.shape.every((t,n)=>-1===e[n]||e[n]===t);v3.util.assert(t,()=>`The shape of dict['${r.name}'] provided in model.execute(dict) must be [${e}], but was [${n.shape}]`)}r.attrParams.dtype&&r.attrParams.dtype.value&&v3.util.assert(n.dtype===r.attrParams.dtype.value,()=>`The dtype of dict['${r.name}'] provided in model.execute(dict) must be ${r.attrParams.dtype.value}, but was ${n.dtype}`)})}mapInputs(e){var t,n;const i={};for(const r in e){const s=null===(n=null===(t=this._signature)||void 0===t?void 0:t.inputs)||void 0===n?void 0:n[r];null!=s?i[s.name]=e[r]:i[r]=e[r]}return i}checkInputs(e){const t=Object.keys(e).filter(e=>{const[t]=lse(e);return null==this.graph.nodes[t]});if(t.length>0)throw new Error(`The dict provided in model.execute(dict) has keys: [${t}] that are not part of graph`)}mapOutputs(e){return e.map(e=>{var t,n;const i=null===(n=null===(t=this._signature)||void 0===t?void 0:t.outputs)||void 0===n?void 0:n[e];return null!=i?i.name:e},{})}checkOutputs(e){e.forEach(e=>{const[t]=lse(e);if(!this.graph.nodes[t])throw new Error(`The output '${e}' is not found in the graph`)})}}class moe{constructor(e={},t={}){this.hashTableNameToHandle=e,this.hashTableMap=t}addHashTable(e,t){this.hashTableNameToHandle[e]=t.handle,this.hashTableMap[t.id]=t}getHashTableHandleByName(e){return this.hashTableNameToHandle[e]}getHashTableById(e){return this.hashTableMap[e]}dispose(){for(const e in this.hashTableMap)this.hashTableMap[e].clearAndClose(),delete this.hashTableMap[e];for(const e in this.hashTableNameToHandle)this.hashTableNameToHandle[e].dispose(),delete this.hashTableNameToHandle[e]}}var goe=__webpack_require__(77084); /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11862,9 +11862,9 @@ class loe{get weightIds(){return this.parent?this.parent.weightIds:this._weightI * limitations under the License. * ============================================================================= */ -const doe="?tfjs-format=file",hoe="model.json";class poe{get modelVersion(){return this.version}get inputNodes(){return this.executor.inputNodes}get outputNodes(){return this.executor.outputNodes}get inputs(){return this.executor.inputs}get outputs(){return this.executor.outputs}get weights(){return this.executor.weightMap}get metadata(){return this.artifacts.userDefinedMetadata}get modelSignature(){return this.signature}get modelStructuredOutputKeys(){return this.structuredOutputKeys}constructor(e,t={},n=p3.io){this.modelUrl=e,this.loadOptions=t,this.version="n/a",this.io=n,null==t&&(this.loadOptions={}),this.resourceManager=new uoe}findIOHandler(){const e=this.modelUrl;if(null!=e.load)this.handler=e;else if(null!=this.loadOptions.requestInit)this.handler=this.io.browserHTTPRequest(e,this.loadOptions);else{const t=this.io.getLoadHandlers(e,this.loadOptions);if(0===t.length)t.push(this.io.browserHTTPRequest(e,this.loadOptions));else if(t.length>1)throw new Error(`Found more than one (${t.length}) load handlers for URL '${[e]}'`);this.handler=t[0]}}load(){if(this.findIOHandler(),null==this.handler.load)throw new Error("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");const e=this.handler.load();return p3.util.isPromise(e)?e.then(e=>null==e.getWeightStream?this.loadSync(e):this.loadStreaming(e)):this.loadSync(e)}loadSync(e){const t=this.io.decodeWeights(e.weightData,e.weightSpecs);return this.loadWithWeightMap(e,t)}async loadStreaming(e){if(null==e.getWeightStream)throw new Error("Model artifacts missing streamWeights function");const t=await(0,coe.s5)(e.getWeightStream(),e.weightSpecs);return this.loadWithWeightMap(e,t)}loadWithWeightMap(e,t){this.artifacts=e;const n=this.artifacts.modelTopology;let i=this.artifacts.signature;if(null!=this.artifacts.userDefinedMetadata){const e=this.artifacts.userDefinedMetadata;null!=e.signature&&(i=e.signature),null!=e.structuredOutputKeys&&(this.structuredOutputKeys=e.structuredOutputKeys)}if(this.signature=i,this.version=`${n.versions.producer}.${n.versions.minConsumer}`,this.executor=new loe(wse.Instance.transformGraph(n,this.signature)),this.executor.weightMap=this.convertTensorMapToTensorsMap(t),this.executor.resourceManager=this.resourceManager,null!=e.modelInitializer&&null!=e.modelInitializer.node){const t=wse.Instance.transformGraph(e.modelInitializer);this.initializer=new loe(t),this.initializer.weightMap=this.executor.weightMap,this.initializer.resourceManager=this.resourceManager,this.initializerSignature=e.initializerSignature}return!0}async save(e,t){if("string"==typeof e){const t=this.io.getSaveHandlers(e);if(0===t.length)throw new Error(`Cannot find any save handlers for URL '${e}'`);if(t.length>1)throw new Error(`Found more than one (${t.length}) save handlers for URL '${e}'`);e=t[0]}if(null==e.save)throw new Error("GraphModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");return e.save(this.artifacts)}addStructuredOutputNames(e){if(this.structuredOutputKeys){const t=e instanceof p3.Tensor?[e]:e,n={};return t.forEach((e,t)=>n[this.structuredOutputKeys[t]]=e),n}return e}predict(e,t){const n=this.execute(e,this.outputNodes);return this.addStructuredOutputNames(n)}async predictAsync(e,t){const n=await this.executeAsync(e,this.outputNodes);return this.addStructuredOutputNames(n)}normalizeInputs(e){var t;if(!(e instanceof p3.Tensor||Array.isArray(e))){const n=null===(t=this.signature)||void 0===t?void 0:t.inputs;if(null!=n)for(const t in n){const i=n[t];null!=i.resourceId&&(e[t]=this.resourceIdToCapturedInput[i.resourceId])}return e}e=Array.isArray(e)?e:[e];const n=Object.keys(this.resourceIdToCapturedInput).length;if(e.length+n!==this.inputNodes.length)throw new Error(`Input tensor count mismatch, the graph model has ${this.inputNodes.length-n} non-resource placeholders, while there are ${e.length} input tensors provided.`);let i=0;return this.inputNodes.reduce((t,n)=>{var r,s,o;const a=null===(o=null===(s=null===(r=this.signature)||void 0===r?void 0:r.inputs)||void 0===s?void 0:s[n])||void 0===o?void 0:o.resourceId;return t[n]=null!=a?this.resourceIdToCapturedInput[a]:e[i++],t},{})}normalizeOutputs(e){return e=e||this.outputNodes,Array.isArray(e)?e:[e]}executeInitializerGraph(){return null==this.initializer?[]:null==this.initializerSignature?this.initializer.execute({},[]):this.initializer.execute({},Object.keys(this.initializerSignature.outputs))}async executeInitializerGraphAsync(){return null==this.initializer?[]:null==this.initializerSignature?this.initializer.executeAsync({},[]):this.initializer.executeAsync({},Object.keys(this.initializerSignature.outputs))}setResourceIdToCapturedInput(e){if(this.resourceIdToCapturedInput={},this.initializerSignature){const t=this.initializerSignature.outputs,n=Object.keys(t);for(let i=0;i1?n:n[0]}async executeAsync(e,t){null==this.resourceIdToCapturedInput&&this.setResourceIdToCapturedInput(await this.executeInitializerGraphAsync()),e=this.normalizeInputs(e),t=this.normalizeOutputs(t);const n=await this.executor.executeAsync(e,t);return n.length>1?n:n[0]}getIntermediateTensors(){return this.executor.getIntermediateTensors()}disposeIntermediateTensors(){this.executor.disposeIntermediateTensors()}convertTensorMapToTensorsMap(e){return Object.keys(e).reduce((t,n)=>(t[n]=[e[n]],t),{})}dispose(){this.executor.dispose(),this.initializer&&(this.initializer.dispose(),this.resourceIdToCapturedInput&&(0,p3.dispose)(this.resourceIdToCapturedInput)),this.resourceManager.dispose()}}async function foe(e,t={},n=p3.io){if(null==e)throw new Error("modelUrl in loadGraphModel() cannot be null. Please provide a url or an IOHandler that loads the model");null==t&&(t={}),t.fromTFHub&&"string"==typeof e&&(e=function(e){e.endsWith("/")||(e+="/");return`${e}${hoe}${doe}`}(e));const i=new poe(e,t,n);return await i.load(),i}function moe(e){if(null==e)throw new Error("modelUrl in loadGraphModelSync() cannot be null. Please provide model artifacts or an IOHandler that loads the model");let t;if(e instanceof Array){const[n,i]=e;if(!n)throw new Error("modelJSON must be the first element of the array");if(!(i&&i instanceof ArrayBuffer))throw new Error("An ArrayBuffer of weights must be the second element of the array");if(!("modelTopology"in n))throw new Error("Model JSON is missing 'modelTopology'");if(!("weightsManifest"in n))throw new Error("Model JSON is missing 'weightsManifest'");const r=p3.io.getWeightSpecs(n.weightsManifest),s=p3.io.getModelArtifactsForJSONSync(n,r,i);t=p3.io.fromMemorySync(s)}else if("load"in e)t=e;else{if(!("modelTopology"in e&&"weightSpecs"in e&&"weightData"in e))throw new Error("Unknown model format");t=p3.io.fromMemorySync(e)}const n=new poe(t);return n.load(),n} +const _oe="?tfjs-format=file",yoe="model.json";class voe{get modelVersion(){return this.version}get inputNodes(){return this.executor.inputNodes}get outputNodes(){return this.executor.outputNodes}get inputs(){return this.executor.inputs}get outputs(){return this.executor.outputs}get weights(){return this.executor.weightMap}get metadata(){return this.artifacts.userDefinedMetadata}get modelSignature(){return this.signature}get modelStructuredOutputKeys(){return this.structuredOutputKeys}constructor(e,t={},n=v3.io){this.modelUrl=e,this.loadOptions=t,this.version="n/a",this.io=n,null==t&&(this.loadOptions={}),this.resourceManager=new moe}findIOHandler(){const e=this.modelUrl;if(null!=e.load)this.handler=e;else if(null!=this.loadOptions.requestInit)this.handler=this.io.browserHTTPRequest(e,this.loadOptions);else{const t=this.io.getLoadHandlers(e,this.loadOptions);if(0===t.length)t.push(this.io.browserHTTPRequest(e,this.loadOptions));else if(t.length>1)throw new Error(`Found more than one (${t.length}) load handlers for URL '${[e]}'`);this.handler=t[0]}}load(){if(this.findIOHandler(),null==this.handler.load)throw new Error("Cannot proceed with model loading because the IOHandler provided does not have the `load` method implemented.");const e=this.handler.load();return v3.util.isPromise(e)?e.then(e=>null==e.getWeightStream?this.loadSync(e):this.loadStreaming(e)):this.loadSync(e)}loadSync(e){const t=this.io.decodeWeights(e.weightData,e.weightSpecs);return this.loadWithWeightMap(e,t)}async loadStreaming(e){if(null==e.getWeightStream)throw new Error("Model artifacts missing streamWeights function");const t=await(0,goe.s5)(e.getWeightStream(),e.weightSpecs);return this.loadWithWeightMap(e,t)}loadWithWeightMap(e,t){this.artifacts=e;const n=this.artifacts.modelTopology;let i=this.artifacts.signature;if(null!=this.artifacts.userDefinedMetadata){const e=this.artifacts.userDefinedMetadata;null!=e.signature&&(i=e.signature),null!=e.structuredOutputKeys&&(this.structuredOutputKeys=e.structuredOutputKeys)}if(this.signature=i,this.version=`${n.versions.producer}.${n.versions.minConsumer}`,this.executor=new foe(Mse.Instance.transformGraph(n,this.signature)),this.executor.weightMap=this.convertTensorMapToTensorsMap(t),this.executor.resourceManager=this.resourceManager,null!=e.modelInitializer&&null!=e.modelInitializer.node){const t=Mse.Instance.transformGraph(e.modelInitializer);this.initializer=new foe(t),this.initializer.weightMap=this.executor.weightMap,this.initializer.resourceManager=this.resourceManager,this.initializerSignature=e.initializerSignature}return!0}async save(e,t){if("string"==typeof e){const t=this.io.getSaveHandlers(e);if(0===t.length)throw new Error(`Cannot find any save handlers for URL '${e}'`);if(t.length>1)throw new Error(`Found more than one (${t.length}) save handlers for URL '${e}'`);e=t[0]}if(null==e.save)throw new Error("GraphModel.save() cannot proceed because the IOHandler provided does not have the `save` attribute defined.");return e.save(this.artifacts)}addStructuredOutputNames(e){if(this.structuredOutputKeys){const t=e instanceof v3.Tensor?[e]:e,n={};return t.forEach((e,t)=>n[this.structuredOutputKeys[t]]=e),n}return e}predict(e,t){const n=this.execute(e,this.outputNodes);return this.addStructuredOutputNames(n)}async predictAsync(e,t){const n=await this.executeAsync(e,this.outputNodes);return this.addStructuredOutputNames(n)}normalizeInputs(e){var t;if(!(e instanceof v3.Tensor||Array.isArray(e))){const n=null===(t=this.signature)||void 0===t?void 0:t.inputs;if(null!=n)for(const t in n){const i=n[t];null!=i.resourceId&&(e[t]=this.resourceIdToCapturedInput[i.resourceId])}return e}e=Array.isArray(e)?e:[e];const n=Object.keys(this.resourceIdToCapturedInput).length;if(e.length+n!==this.inputNodes.length)throw new Error(`Input tensor count mismatch, the graph model has ${this.inputNodes.length-n} non-resource placeholders, while there are ${e.length} input tensors provided.`);let i=0;return this.inputNodes.reduce((t,n)=>{var r,s,o;const a=null===(o=null===(s=null===(r=this.signature)||void 0===r?void 0:r.inputs)||void 0===s?void 0:s[n])||void 0===o?void 0:o.resourceId;return t[n]=null!=a?this.resourceIdToCapturedInput[a]:e[i++],t},{})}normalizeOutputs(e){return e=e||this.outputNodes,Array.isArray(e)?e:[e]}executeInitializerGraph(){return null==this.initializer?[]:null==this.initializerSignature?this.initializer.execute({},[]):this.initializer.execute({},Object.keys(this.initializerSignature.outputs))}async executeInitializerGraphAsync(){return null==this.initializer?[]:null==this.initializerSignature?this.initializer.executeAsync({},[]):this.initializer.executeAsync({},Object.keys(this.initializerSignature.outputs))}setResourceIdToCapturedInput(e){if(this.resourceIdToCapturedInput={},this.initializerSignature){const t=this.initializerSignature.outputs,n=Object.keys(t);for(let i=0;i1?n:n[0]}async executeAsync(e,t){null==this.resourceIdToCapturedInput&&this.setResourceIdToCapturedInput(await this.executeInitializerGraphAsync()),e=this.normalizeInputs(e),t=this.normalizeOutputs(t);const n=await this.executor.executeAsync(e,t);return n.length>1?n:n[0]}getIntermediateTensors(){return this.executor.getIntermediateTensors()}disposeIntermediateTensors(){this.executor.disposeIntermediateTensors()}convertTensorMapToTensorsMap(e){return Object.keys(e).reduce((t,n)=>(t[n]=[e[n]],t),{})}dispose(){this.executor.dispose(),this.initializer&&(this.initializer.dispose(),this.resourceIdToCapturedInput&&(0,v3.dispose)(this.resourceIdToCapturedInput)),this.resourceManager.dispose()}}async function boe(e,t={},n=v3.io){if(null==e)throw new Error("modelUrl in loadGraphModel() cannot be null. Please provide a url or an IOHandler that loads the model");null==t&&(t={}),t.fromTFHub&&"string"==typeof e&&(e=function(e){e.endsWith("/")||(e+="/");return`${e}${yoe}${_oe}`}(e));const i=new voe(e,t,n);return await i.load(),i}function Toe(e){if(null==e)throw new Error("modelUrl in loadGraphModelSync() cannot be null. Please provide model artifacts or an IOHandler that loads the model");let t;if(e instanceof Array){const[n,i]=e;if(!n)throw new Error("modelJSON must be the first element of the array");if(!(i&&i instanceof ArrayBuffer))throw new Error("An ArrayBuffer of weights must be the second element of the array");if(!("modelTopology"in n))throw new Error("Model JSON is missing 'modelTopology'");if(!("weightsManifest"in n))throw new Error("Model JSON is missing 'weightsManifest'");const r=v3.io.getWeightSpecs(n.weightsManifest),s=v3.io.getModelArtifactsForJSONSync(n,r,i);t=v3.io.fromMemorySync(s)}else if("load"in e)t=e;else{if(!("modelTopology"in e&&"weightSpecs"in e&&"weightData"in e))throw new Error("Unknown model format");t=v3.io.fromMemorySync(e)}const n=new voe(t);return n.load(),n} /** @license See the LICENSE file. */ -const goe="4.22.0"; +const xoe="4.22.0"; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11881,7 +11881,7 @@ const goe="4.22.0"; * limitations under the License. * ============================================================================= */ -var _oe,yoe=__webpack_require__(7391);function voe(e,t,n=new Map,i=new Set){if(null==e)return null;if("function"==typeof Blob&&e instanceof Blob)return e.slice();if(i.has(e))throw new Error("Circular references are not supported.");if(n.has(e))return n.get(e);const r=t(e);if(r.recurse&&null!==r.value)throw new Error("A deep map function may not return both a value and recurse=true.");if(r.recurse){if(woe(e)){const r=Array.isArray(e)?[]:{};i.add(e);for(const s in e){const o=voe(e[s],t,n,i);r[s]=o}return i.delete(e),e.__proto__&&(r.__proto__=e.__proto__),r}throw new Error(`Can't recurse into non-iterable type: ${e}`)}return n.set(e,r.value),r.value}function boe(e,t=xoe){return Toe(e,t)}function Toe(e,t,n=new Set){const i=e[0];if(n.has(i))throw new Error("Circular references are not supported.");const r=t(e);if(r.recurse&&null!==r.value)throw new Error("A deep zip function may not return both a value and recurse=true.");if(r.recurse){if(woe(i)){const r=Array.isArray(i)?[]:{};n.add(i);for(const s in i){const i=Toe(e.map(e=>e[s]),t,n);r[s]=i}return n.delete(i),r}throw new Error(`Can't recurse into non-iterable type: ${i}`)}return r.value}function xoe(e){return null===e?null:woe(e[0])?{value:null,recurse:!0}:{value:e,recurse:!1}}async function Eoe(e,t){const n=new Map;voe(e,t,n);for(const e of Array.from(n.keys())){const t=n.get(e);if(p3.util.isPromise(t)){const i=await t;n.set(e,i)}}return voe(e,t,n)}function woe(e){let t=!1;if(p3.env().get("IS_BROWSER"))t=e instanceof TextDecoder;else{const{StringDecoder:n}=__webpack_require__(80551);t=e instanceof n}return null!=e&&!ArrayBuffer.isView(e)&&(Array.isArray(e)||"object"==typeof e&&!(e instanceof p3.Tensor)&&!(e instanceof Promise)&&!t)} +var Eoe,woe=__webpack_require__(7391);function Ioe(e,t,n=new Map,i=new Set){if(null==e)return null;if("function"==typeof Blob&&e instanceof Blob)return e.slice();if(i.has(e))throw new Error("Circular references are not supported.");if(n.has(e))return n.get(e);const r=t(e);if(r.recurse&&null!==r.value)throw new Error("A deep map function may not return both a value and recurse=true.");if(r.recurse){if(Moe(e)){const r=Array.isArray(e)?[]:{};i.add(e);for(const s in e){const o=Ioe(e[s],t,n,i);r[s]=o}return i.delete(e),e.__proto__&&(r.__proto__=e.__proto__),r}throw new Error(`Can't recurse into non-iterable type: ${e}`)}return n.set(e,r.value),r.value}function Aoe(e,t=Coe){return Soe(e,t)}function Soe(e,t,n=new Set){const i=e[0];if(n.has(i))throw new Error("Circular references are not supported.");const r=t(e);if(r.recurse&&null!==r.value)throw new Error("A deep zip function may not return both a value and recurse=true.");if(r.recurse){if(Moe(i)){const r=Array.isArray(i)?[]:{};n.add(i);for(const s in i){const i=Soe(e.map(e=>e[s]),t,n);r[s]=i}return n.delete(i),r}throw new Error(`Can't recurse into non-iterable type: ${i}`)}return r.value}function Coe(e){return null===e?null:Moe(e[0])?{value:null,recurse:!0}:{value:e,recurse:!1}}async function Ooe(e,t){const n=new Map;Ioe(e,t,n);for(const e of Array.from(n.keys())){const t=n.get(e);if(v3.util.isPromise(t)){const i=await t;n.set(e,i)}}return Ioe(e,t,n)}function Moe(e){let t=!1;if(v3.env().get("IS_BROWSER"))t=e instanceof TextDecoder;else{const{StringDecoder:n}=__webpack_require__(80551);t=e instanceof n}return null!=e&&!ArrayBuffer.isView(e)&&(Array.isArray(e)||"object"==typeof e&&!(e instanceof v3.Tensor)&&!(e instanceof Promise)&&!t)} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11899,7 +11899,7 @@ var _oe,yoe=__webpack_require__(7391);function voe(e,t,n=new Map,i=new Set){if(n * * ============================================================================= */ -function Ioe(e){ +function koe(e){ /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11917,7 +11917,7 @@ function Ioe(e){ * * ============================================================================= */ -return function(e,t){return voe(e,t)}(e,Aoe)}function Aoe(e){return e instanceof p3.Tensor?{value:e.clone(),recurse:!1}:woe(e)?{value:null,recurse:!0}:{value:e,recurse:!1}} +return function(e,t){return Ioe(e,t)}(e,Roe)}function Roe(e){return e instanceof v3.Tensor?{value:e.clone(),recurse:!1}:Moe(e)?{value:null,recurse:!0}:{value:e,recurse:!1}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11935,7 +11935,7 @@ return function(e,t){return voe(e,t)}(e,Aoe)}function Aoe(e){return e instanceof * * ============================================================================= */ -class Soe{constructor(e){if(this.capacity=e,this.begin=0,this.end=0,null==e)throw new RangeError("Can't create a ring buffer of unknown capacity.");if(e<1)throw new RangeError("Can't create ring buffer of capacity < 1.");this.data=new Array(e),this.doubledCapacity=2*e}wrap(e){for(;e<0;)e+=this.doubledCapacity;return e%this.doubledCapacity}get(e){if(e<0)throw new RangeError("Can't get item at a negative index.");return this.data[e%this.capacity]}set(e,t){if(e<0)throw new RangeError("Can't set item at a negative index.");this.data[e%this.capacity]=t}length(){let e=this.end-this.begin;return e<0&&(e=this.doubledCapacity+e),e}isFull(){return this.length()===this.capacity}isEmpty(){return 0===this.length()}push(e){if(this.isFull())throw new RangeError("Ring buffer is full.");this.set(this.end,e),this.end=this.wrap(this.end+1)}pushAll(e){for(const t of e)this.push(t)}pop(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");this.end=this.wrap(this.end-1);const e=this.get(this.end);return this.set(this.end,void 0),e}unshift(e){if(this.isFull())throw new RangeError("Ring buffer is full.");this.begin=this.wrap(this.begin-1),this.set(this.begin,e)}shift(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");const e=this.get(this.begin);return this.set(this.begin,void 0),this.begin=this.wrap(this.begin+1),e}shuffleExcise(e){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");const t=this.wrap(this.begin+e),n=this.get(t);return this.set(t,this.pop()),n}} +class Noe{constructor(e){if(this.capacity=e,this.begin=0,this.end=0,null==e)throw new RangeError("Can't create a ring buffer of unknown capacity.");if(e<1)throw new RangeError("Can't create ring buffer of capacity < 1.");this.data=new Array(e),this.doubledCapacity=2*e}wrap(e){for(;e<0;)e+=this.doubledCapacity;return e%this.doubledCapacity}get(e){if(e<0)throw new RangeError("Can't get item at a negative index.");return this.data[e%this.capacity]}set(e,t){if(e<0)throw new RangeError("Can't set item at a negative index.");this.data[e%this.capacity]=t}length(){let e=this.end-this.begin;return e<0&&(e=this.doubledCapacity+e),e}isFull(){return this.length()===this.capacity}isEmpty(){return 0===this.length()}push(e){if(this.isFull())throw new RangeError("Ring buffer is full.");this.set(this.end,e),this.end=this.wrap(this.end+1)}pushAll(e){for(const t of e)this.push(t)}pop(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");this.end=this.wrap(this.end-1);const e=this.get(this.end);return this.set(this.end,void 0),e}unshift(e){if(this.isFull())throw new RangeError("Ring buffer is full.");this.begin=this.wrap(this.begin-1),this.set(this.begin,e)}shift(){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");const e=this.get(this.begin);return this.set(this.begin,void 0),this.begin=this.wrap(this.begin+1),e}shuffleExcise(e){if(this.isEmpty())throw new RangeError("Ring buffer is empty.");const t=this.wrap(this.begin+e),n=this.get(t);return this.set(t,this.pop()),n}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11953,7 +11953,7 @@ class Soe{constructor(e){if(this.capacity=e,this.begin=0,this.end=0,null==e)thro * * ============================================================================= */ -class Coe extends Soe{constructor(){super(Coe.INITIAL_CAPACITY)}isFull(){return!1}push(e){super.isFull()&&this.expand(),super.push(e)}unshift(e){super.isFull()&&this.expand(),super.unshift(e)}expand(){const e=2*this.capacity,t=new Array(e),n=this.length();for(let e=0;e!0===e)}rowMajorBatch(e,t=!0){return new Boe(this,e,t)}columnMajorBatch(e,t=!0,n=xoe){return this.rowMajorBatch(e,t).map(e=>boe(e,n))}concatenate(e,t){return new Goe(Ooe([this,e]),t)}take(e){return e<0||null==e?this:new Poe(this,e)}skip(e){return e<0||null==e?this:new Loe(this,e)}prefetch(e){return new Woe(this,e)}shuffle(e,t){return new Xoe(this,e,t)}serial(){return new Foe(this)}}class Noe extends Roe{constructor(e){super(),this.items=e,this.trav=0}summary(){return`Array of ${this.items.length} items`}async next(){if(this.trav>=this.items.length)return{value:null,done:!0};const e=this.items[this.trav];return this.trav++,{value:Ioe(e),done:!1}}}class Doe extends Roe{constructor(e){super(),this.nextFn=e}summary(){return"Function call"}async next(){try{return this.nextFn()}catch(e){throw e.message=`Error thrown while iterating through a dataset: ${e.message}`,e}}}class Foe extends Roe{constructor(e){super(),this.upstream=e,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Serial`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){return this.upstream.next()}}class Loe extends Roe{constructor(e,t){super(),this.upstream=e,this.maxCount=t,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Skip`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;this.count++ Take`}async next(){return this.count++>=this.maxCount?{value:null,done:!0}:this.upstream.next()}}class Boe extends Roe{constructor(e,t,n=!0){super(),this.upstream=e,this.batchSize=t,this.enableSmallLastBatch=n,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> RowMajorBatch`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){const e=[];for(;e.length0?{value:e,done:!1}:{value:null,done:!0};e.push(t.value)}return{value:e,done:!1}}}class $oe extends Roe{constructor(e,t){super(),this.upstream=e,this.predicate=t,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Filter`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;;){const e=await this.upstream.next();if(e.done||this.predicate(e.value))return e;p3.dispose(e.value)}}}class Uoe extends Roe{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> Map`}async next(){const e=await this.upstream.next();if(e.done)return{value:null,done:!0};const t=p3.tensor_util.getTensorsInContainer(e.value),n=this.transform(e.value),i=p3.tensor_util.getTensorsInContainer(n);for(const e of t)p3.tensor_util.isTensorInList(e,i)||e.dispose();return{value:n,done:!1}}}class Voe extends Roe{constructor(e,t){super(),this.upstream=e,this.handler=t,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> handleErrors`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;;)try{return await this.upstream.next()}catch(e){if(!this.handler(e))return{value:null,done:!0}}}}class zoe extends Roe{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> AsyncMap`}async next(){const e=await this.upstream.next();if(e.done)return{value:null,done:!0};const t=p3.tensor_util.getTensorsInContainer(e.value),n=await this.transform(e.value),i=p3.tensor_util.getTensorsInContainer(n);for(const e of t)p3.tensor_util.isTensorInList(e,i)||e.dispose();return{value:n,done:!1}}}class joe extends Roe{constructor(){super(),this.outputQueue=new Coe,this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;0===this.outputQueue.length();)if(!await this.pump())return{value:null,done:!0};return{value:this.outputQueue.shift(),done:!1}}}class Yoe extends joe{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> Flatmap`}async pump(){const e=await this.upstream.next();if(e.done)return!1;const t=p3.tensor_util.getTensorsInContainer(e.value),n=this.transform(e.value),i=p3.tensor_util.getTensorsInContainer(n);this.outputQueue.pushAll(n);for(const e of t)p3.tensor_util.isTensorInList(e,i)||e.dispose();return!0}}class Goe extends Roe{constructor(e,t){super(),this.baseErrorHandler=t,this.lastRead=null,this.iterator=null,this.moreIterators=e}summary(){return"TODO: fill in upstream of chained summaries -> Chained"}async next(){return this.lastRead=this.readFromChain(this.lastRead),this.lastRead}async readFromChain(e){if(await e,null==this.iterator){const e=await this.moreIterators.next();if(e.done)return{value:null,done:!0};this.iterator=e.value,null!=this.baseErrorHandler&&(this.iterator=this.iterator.handleErrors(this.baseErrorHandler))}const t=await this.iterator.next();return t.done?(this.iterator=null,this.readFromChain(e)):t}}!function(e){e[e.FAIL=0]="FAIL",e[e.SHORTEST=1]="SHORTEST",e[e.LONGEST=2]="LONGEST"}(_oe||(_oe={}));class Hoe extends Roe{constructor(e,t=_oe.FAIL){super(),this.iterators=e,this.mismatchMode=t,this.count=0,this.currentPromise=null}summary(){return"{TODO: fill in upstream of zip summaries} -> Zip"}async nextState(e){await e;let t=0,n=0;const i=await Eoe(this.iterators,function(e){if(e instanceof Roe){return{value:e.next().then(e=>(t++,e.done&&n++,e.value)),recurse:!1}}return{value:null,recurse:!0}});if(t===n)return{value:null,done:!0};if(n>0)switch(this.mismatchMode){case _oe.FAIL:throw new Error(`Zipped streams should have the same length. Mismatched at element ${this.count}.`);case _oe.SHORTEST:return{value:null,done:!0};case _oe.LONGEST:}return this.count++,{value:i,done:!1}}async next(){return this.currentPromise=this.nextState(this.currentPromise),this.currentPromise}}class Woe extends Roe{constructor(e,t){super(),this.upstream=e,this.bufferSize=t,this.buffer=new Soe(t)}summary(){return`${this.upstream.summary()} -> Prefetch`}refill(){for(;!this.buffer.isFull();){const e=this.upstream.next();this.buffer.push(e)}}next(){return this.refill(),this.buffer.shift()}}class Xoe extends Woe{constructor(e,t,n){super(e,t),this.upstream=e,this.windowSize=t,this.upstreamExhausted=!1,this.random=yoe.alea(n||p3.util.now().toString()),this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}randomInt(e){return Math.floor(this.random()*e)}chooseIndex(){return this.randomInt(this.buffer.length())}async serialNext(){for(this.upstreamExhausted||this.refill();!this.buffer.isEmpty();){const e=this.chooseIndex(),t=await this.buffer.shuffleExcise(e);if(!t.done)return this.refill(),t;this.upstreamExhausted=!0}return{value:null,done:!0}}} +function Foe(e){return new $oe(e)}function Loe(e){return new Uoe(e)}function Poe(e,t){return new Zoe(e,t)}Doe.INITIAL_CAPACITY=32;class Boe{async toArray(){const e=[];let t=await this.next();for(;!t.done;)e.push(t.value),t=await this.next();return e}async toArrayForTest(){const e=this.prefetch(100),t=[];let n=await e.next();for(;!n.done;)t.push(n.value),n=await e.next();return t}async resolveFully(){let e=await this.next();for(;!e.done;)e=await this.next()}async resolveWhile(e){let t=await this.next(),n=e(t.value);for(;!t.done&&n;)t=await this.next(),n=e(t.value)}handleErrors(e){return new Woe(this,e)}filter(e){return new Goe(this,e)}map(e){return new Hoe(this,e)}mapAsync(e){return new Xoe(this,e)}serialMapAsync(e){return new Xoe(this,e).serial()}flatmap(e){return new Koe(this,e)}async forEachAsync(e){return this.map(e).resolveFully()}async serialForEach(e){return this.serialMapAsync(e).resolveWhile(e=>!0===e)}rowMajorBatch(e,t=!0){return new Yoe(this,e,t)}columnMajorBatch(e,t=!0,n=Coe){return this.rowMajorBatch(e,t).map(e=>Aoe(e,n))}concatenate(e,t){return new Zoe(Foe([this,e]),t)}take(e){return e<0||null==e?this:new joe(this,e)}skip(e){return e<0||null==e?this:new zoe(this,e)}prefetch(e){return new Joe(this,e)}shuffle(e,t){return new eae(this,e,t)}serial(){return new Voe(this)}}class $oe extends Boe{constructor(e){super(),this.items=e,this.trav=0}summary(){return`Array of ${this.items.length} items`}async next(){if(this.trav>=this.items.length)return{value:null,done:!0};const e=this.items[this.trav];return this.trav++,{value:koe(e),done:!1}}}class Uoe extends Boe{constructor(e){super(),this.nextFn=e}summary(){return"Function call"}async next(){try{return this.nextFn()}catch(e){throw e.message=`Error thrown while iterating through a dataset: ${e.message}`,e}}}class Voe extends Boe{constructor(e){super(),this.upstream=e,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Serial`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){return this.upstream.next()}}class zoe extends Boe{constructor(e,t){super(),this.upstream=e,this.maxCount=t,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Skip`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;this.count++ Take`}async next(){return this.count++>=this.maxCount?{value:null,done:!0}:this.upstream.next()}}class Yoe extends Boe{constructor(e,t,n=!0){super(),this.upstream=e,this.batchSize=t,this.enableSmallLastBatch=n,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> RowMajorBatch`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){const e=[];for(;e.length0?{value:e,done:!1}:{value:null,done:!0};e.push(t.value)}return{value:e,done:!1}}}class Goe extends Boe{constructor(e,t){super(),this.upstream=e,this.predicate=t,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> Filter`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;;){const e=await this.upstream.next();if(e.done||this.predicate(e.value))return e;v3.dispose(e.value)}}}class Hoe extends Boe{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> Map`}async next(){const e=await this.upstream.next();if(e.done)return{value:null,done:!0};const t=v3.tensor_util.getTensorsInContainer(e.value),n=this.transform(e.value),i=v3.tensor_util.getTensorsInContainer(n);for(const e of t)v3.tensor_util.isTensorInList(e,i)||e.dispose();return{value:n,done:!1}}}class Woe extends Boe{constructor(e,t){super(),this.upstream=e,this.handler=t,this.count=0,this.lastRead=Promise.resolve({value:null,done:!1})}summary(){return`${this.upstream.summary()} -> handleErrors`}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;;)try{return await this.upstream.next()}catch(e){if(!this.handler(e))return{value:null,done:!0}}}}class Xoe extends Boe{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> AsyncMap`}async next(){const e=await this.upstream.next();if(e.done)return{value:null,done:!0};const t=v3.tensor_util.getTensorsInContainer(e.value),n=await this.transform(e.value),i=v3.tensor_util.getTensorsInContainer(n);for(const e of t)v3.tensor_util.isTensorInList(e,i)||e.dispose();return{value:n,done:!1}}}class qoe extends Boe{constructor(){super(),this.outputQueue=new Doe,this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}async serialNext(){for(;0===this.outputQueue.length();)if(!await this.pump())return{value:null,done:!0};return{value:this.outputQueue.shift(),done:!1}}}class Koe extends qoe{constructor(e,t){super(),this.upstream=e,this.transform=t}summary(){return`${this.upstream.summary()} -> Flatmap`}async pump(){const e=await this.upstream.next();if(e.done)return!1;const t=v3.tensor_util.getTensorsInContainer(e.value),n=this.transform(e.value),i=v3.tensor_util.getTensorsInContainer(n);this.outputQueue.pushAll(n);for(const e of t)v3.tensor_util.isTensorInList(e,i)||e.dispose();return!0}}class Zoe extends Boe{constructor(e,t){super(),this.baseErrorHandler=t,this.lastRead=null,this.iterator=null,this.moreIterators=e}summary(){return"TODO: fill in upstream of chained summaries -> Chained"}async next(){return this.lastRead=this.readFromChain(this.lastRead),this.lastRead}async readFromChain(e){if(await e,null==this.iterator){const e=await this.moreIterators.next();if(e.done)return{value:null,done:!0};this.iterator=e.value,null!=this.baseErrorHandler&&(this.iterator=this.iterator.handleErrors(this.baseErrorHandler))}const t=await this.iterator.next();return t.done?(this.iterator=null,this.readFromChain(e)):t}}!function(e){e[e.FAIL=0]="FAIL",e[e.SHORTEST=1]="SHORTEST",e[e.LONGEST=2]="LONGEST"}(Eoe||(Eoe={}));class Qoe extends Boe{constructor(e,t=Eoe.FAIL){super(),this.iterators=e,this.mismatchMode=t,this.count=0,this.currentPromise=null}summary(){return"{TODO: fill in upstream of zip summaries} -> Zip"}async nextState(e){await e;let t=0,n=0;const i=await Ooe(this.iterators,function(e){if(e instanceof Boe){return{value:e.next().then(e=>(t++,e.done&&n++,e.value)),recurse:!1}}return{value:null,recurse:!0}});if(t===n)return{value:null,done:!0};if(n>0)switch(this.mismatchMode){case Eoe.FAIL:throw new Error(`Zipped streams should have the same length. Mismatched at element ${this.count}.`);case Eoe.SHORTEST:return{value:null,done:!0};case Eoe.LONGEST:}return this.count++,{value:i,done:!1}}async next(){return this.currentPromise=this.nextState(this.currentPromise),this.currentPromise}}class Joe extends Boe{constructor(e,t){super(),this.upstream=e,this.bufferSize=t,this.buffer=new Noe(t)}summary(){return`${this.upstream.summary()} -> Prefetch`}refill(){for(;!this.buffer.isFull();){const e=this.upstream.next();this.buffer.push(e)}}next(){return this.refill(),this.buffer.shift()}}class eae extends Joe{constructor(e,t,n){super(e,t),this.upstream=e,this.windowSize=t,this.upstreamExhausted=!1,this.random=woe.alea(n||v3.util.now().toString()),this.lastRead=Promise.resolve({value:null,done:!1})}async next(){return this.lastRead=this.lastRead.then(()=>this.serialNext()),this.lastRead}randomInt(e){return Math.floor(this.random()*e)}chooseIndex(){return this.randomInt(this.buffer.length())}async serialNext(){for(this.upstreamExhausted||this.refill();!this.buffer.isEmpty();){const e=this.chooseIndex(),t=await this.buffer.shuffleExcise(e);if(!t.done)return this.refill(),t;this.upstreamExhausted=!0}return{value:null,done:!0}}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -11989,7 +11989,7 @@ function Ooe(e){return new Noe(e)}function Moe(e){return new Doe(e)}function koe * * ============================================================================= */ -class qoe{constructor(){this.size=null}batch(e,t=!0){const n=this;let i;return p3.util.assert(e>0,()=>`batchSize needs to be positive, but it is\n ${e}`),i=this.size===1/0||null==this.size?this.size:t?Math.ceil(this.size/e):Math.floor(this.size/e),Koe(async()=>(await n.iterator()).columnMajorBatch(e,t,Joe),i)}concatenate(e){const t=this;let n;return n=this.size===1/0||e.size===1/0?1/0:null!=this.size&&null!=e.size?this.size+e.size:null,Koe(async()=>(await t.iterator()).concatenate(await e.iterator()),n)}filter(e){const t=this;let n;return n=this.size===1/0?1/0:null,Koe(async()=>(await t.iterator()).filter(t=>p3.tidy(()=>e(t))),n)}async forEachAsync(e){return(await this.iterator()).forEachAsync(e)}map(e){const t=this;return Koe(async()=>(await t.iterator()).map(t=>p3.tidy(()=>e(t))),this.size)}mapAsync(e){const t=this;return Koe(async()=>(await t.iterator()).mapAsync(e),this.size)}prefetch(e){if(null==e)throw new RangeError("`Dataset.prefetch()` requires bufferSize to be specified.");const t=this;return Koe(async()=>(await t.iterator()).prefetch(e),this.size)}repeat(e){const t=this;let n;return n=null!=this.size&&e>0?this.size*e:0===e?0:null!=this.size&&(void 0===e||e<0)?1/0:null,Koe(async()=>koe(Moe(async()=>({value:await t.iterator(),done:!1})).take(e)),n)}skip(e){const t=this;let n;return n=null!=this.size&&e>=0&&this.size>=e?this.size-e:null!=this.size&&(this.size(await t.iterator()).skip(e),n)}shuffle(e,t,n=!0){if(null==e||e<0)throw null==this.size?new RangeError("`Dataset.shuffle()` requires bufferSize to be specified."):new RangeError(`\`Dataset.shuffle()\` requires bufferSize to be specified. If your data fits in main memory (for regular JS objects), and/or GPU memory (for \`tf.Tensor\`s), consider setting bufferSize to the dataset size (${this.size} elements)`);const i=this,r=yoe.alea(t||p3.util.now().toString());return Koe(async()=>{let t=r.int32();return n&&(t+=r.int32()),(await i.iterator()).shuffle(e,t.toString())},this.size)}take(e){const t=this;let n;return n=null!=this.size&&this.size>e?e:null!=this.size&&this.size<=e?this.size:null,Koe(async()=>(await t.iterator()).take(e),n)}async toArray(){if(this.size===1/0)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArray()}async toArrayForTest(){if(this.size===1/0)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArrayForTest()}}function Koe(e,t=null){return new class extends qoe{constructor(){super(...arguments),this.size=t}async iterator(){return e()}}}function Zoe(e){return Koe(async()=>Ooe(e),e.length)}function Qoe(e){if(!woe(e))throw new Error("The argument to zip() must be an object or array.");let t;if(Array.isArray(e))for(let n=0;nfunction(e,t=_oe.FAIL){return new Hoe(e,t)}(await Eoe(e,e=>{if(e instanceof qoe)return{value:e.iterator(),recurse:!1};if(woe(e))return{value:null,recurse:!0};throw new Error("Leaves of the structure passed to zip() must be Datasets, not primitives.")}),_oe.SHORTEST),t)}function Joe(e){if(null===e)return null;const t=e[0];if(null==(n=t)||null===(i=n)||"object"!=typeof i&&"function"!=typeof i||Array.isArray(n)||"object"==typeof n&&n instanceof p3.Tensor||p3.util.isTypedArray(n)){return{value:function(e){if(0===e.length)throw new Error("Can't make a batch of zero elements.");return e[0]instanceof p3.Tensor?p3.stack(e):p3.tensor(e)}(e),recurse:!1}}var n,i;return{value:null,recurse:!0}}qoe.MAX_BUFFER_SIZE=1e4; +class tae{constructor(){this.size=null}batch(e,t=!0){const n=this;let i;return v3.util.assert(e>0,()=>`batchSize needs to be positive, but it is\n ${e}`),i=this.size===1/0||null==this.size?this.size:t?Math.ceil(this.size/e):Math.floor(this.size/e),nae(async()=>(await n.iterator()).columnMajorBatch(e,t,sae),i)}concatenate(e){const t=this;let n;return n=this.size===1/0||e.size===1/0?1/0:null!=this.size&&null!=e.size?this.size+e.size:null,nae(async()=>(await t.iterator()).concatenate(await e.iterator()),n)}filter(e){const t=this;let n;return n=this.size===1/0?1/0:null,nae(async()=>(await t.iterator()).filter(t=>v3.tidy(()=>e(t))),n)}async forEachAsync(e){return(await this.iterator()).forEachAsync(e)}map(e){const t=this;return nae(async()=>(await t.iterator()).map(t=>v3.tidy(()=>e(t))),this.size)}mapAsync(e){const t=this;return nae(async()=>(await t.iterator()).mapAsync(e),this.size)}prefetch(e){if(null==e)throw new RangeError("`Dataset.prefetch()` requires bufferSize to be specified.");const t=this;return nae(async()=>(await t.iterator()).prefetch(e),this.size)}repeat(e){const t=this;let n;return n=null!=this.size&&e>0?this.size*e:0===e?0:null!=this.size&&(void 0===e||e<0)?1/0:null,nae(async()=>Poe(Loe(async()=>({value:await t.iterator(),done:!1})).take(e)),n)}skip(e){const t=this;let n;return n=null!=this.size&&e>=0&&this.size>=e?this.size-e:null!=this.size&&(this.size(await t.iterator()).skip(e),n)}shuffle(e,t,n=!0){if(null==e||e<0)throw null==this.size?new RangeError("`Dataset.shuffle()` requires bufferSize to be specified."):new RangeError(`\`Dataset.shuffle()\` requires bufferSize to be specified. If your data fits in main memory (for regular JS objects), and/or GPU memory (for \`tf.Tensor\`s), consider setting bufferSize to the dataset size (${this.size} elements)`);const i=this,r=woe.alea(t||v3.util.now().toString());return nae(async()=>{let t=r.int32();return n&&(t+=r.int32()),(await i.iterator()).shuffle(e,t.toString())},this.size)}take(e){const t=this;let n;return n=null!=this.size&&this.size>e?e:null!=this.size&&this.size<=e?this.size:null,nae(async()=>(await t.iterator()).take(e),n)}async toArray(){if(this.size===1/0)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArray()}async toArrayForTest(){if(this.size===1/0)throw new Error("Can not convert infinite data stream to array.");return(await this.iterator()).toArrayForTest()}}function nae(e,t=null){return new class extends tae{constructor(){super(...arguments),this.size=t}async iterator(){return e()}}}function iae(e){return nae(async()=>Foe(e),e.length)}function rae(e){if(!Moe(e))throw new Error("The argument to zip() must be an object or array.");let t;if(Array.isArray(e))for(let n=0;nfunction(e,t=Eoe.FAIL){return new Qoe(e,t)}(await Ooe(e,e=>{if(e instanceof tae)return{value:e.iterator(),recurse:!1};if(Moe(e))return{value:null,recurse:!0};throw new Error("Leaves of the structure passed to zip() must be Datasets, not primitives.")}),Eoe.SHORTEST),t)}function sae(e){if(null===e)return null;const t=e[0];if(null==(n=t)||null===(i=n)||"object"!=typeof i&&"function"!=typeof i||Array.isArray(n)||"object"==typeof n&&n instanceof v3.Tensor||v3.util.isTypedArray(n)){return{value:function(e){if(0===e.length)throw new Error("Can't make a batch of zero elements.");return e[0]instanceof v3.Tensor?v3.stack(e):v3.tensor(e)}(e),recurse:!1}}var n,i;return{value:null,recurse:!0}}tae.MAX_BUFFER_SIZE=1e4; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12007,7 +12007,7 @@ class qoe{constructor(){this.size=null}batch(e,t=!0){const n=this;let i;return p * * ============================================================================= */ -class eae extends qoe{constructor(e){super(),this.input=e}async iterator(){return(await this.input.iterator()).decodeUTF8().split("\n").map(e=>(e.endsWith("\r")&&(e=e.slice(0,-1)),e))}} +class oae extends tae{constructor(e){super(),this.input=e}async iterator(){return(await this.input.iterator()).decodeUTF8().split("\n").map(e=>(e.endsWith("\r")&&(e=e.slice(0,-1)),e))}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12025,7 +12025,7 @@ class eae extends qoe{constructor(e){super(),this.input=e}async iterator(){retur * * ============================================================================= */ -const tae='"',nae=Symbol("out"),iae=Symbol("field"),rae=Symbol("quote"),sae=Symbol("quoteafterquote"),oae=Symbol("quoteinquote");class aae extends qoe{async columnNames(){return this.columnNamesValidated||await this.setColumnNames(),this.configuredColumnsOnly?Object.keys(this.columnConfigs):this.fullColumnNames}async setColumnNames(){const e=await this.maybeReadHeaderLine();if(!this.fullColumnNames&&!e)throw new Error("Column names must be provided if there is no header line.");this.fullColumnNames&&e&&p3.util.assert(e.length===this.fullColumnNames.length,()=>"The length of provided columnNames ("+this.fullColumnNames.length.toString()+") does not match the length of the header line read from file ("+e.length.toString()+")."),this.fullColumnNames||(this.fullColumnNames=e);const t=this.fullColumnNames.reduce((e,t)=>(e[t]=e[t]+1||1,e),{}),n=Object.keys(t).filter(e=>t[e]>1);if(p3.util.assert(0===n.length,()=>"Duplicate column names found: "+n.toString()),this.columnConfigs)for(const e of Object.keys(this.columnConfigs)){if(-1===this.fullColumnNames.indexOf(e))throw new Error('The key "'+e+'" provided in columnConfigs does not match any of the column names ('+this.fullColumnNames.toString()+").")}this.columnNamesValidated=!0}async maybeReadHeaderLine(){if(this.hasHeader){const e=await this.base.iterator(),t=await e.next();if(t.done)throw new Error("No data was found for CSV parsing.");const n=t.value;return this.parseRow(n,!1)}return null}constructor(e,t){super(),this.input=e,this.hasHeader=!0,this.fullColumnNames=null,this.columnNamesValidated=!1,this.columnConfigs=null,this.configuredColumnsOnly=!1,this.delimiter=",",this.delimWhitespace=!1,this.base=new eae(e),t||(t={}),this.hasHeader=!1!==t.hasHeader,this.fullColumnNames=t.columnNames,this.columnConfigs=t.columnConfigs,this.configuredColumnsOnly=t.configuredColumnsOnly,t.delimWhitespace?(p3.util.assert(null==t.delimiter,()=>"Delimiter should not be provided when delimWhitespace is true."),this.delimWhitespace=!0,this.delimiter=" "):this.delimiter=t.delimiter?t.delimiter:","}async iterator(){this.columnNamesValidated||await this.setColumnNames();let e=await this.base.iterator();return this.hasHeader&&(e=e.skip(1)),e.map(e=>this.makeDataElement(e))}makeDataElement(e){const t=this.parseRow(e),n={},i={};for(let r=0;r"The length of provided columnNames ("+this.fullColumnNames.length.toString()+") does not match the length of the header line read from file ("+e.length.toString()+")."),this.fullColumnNames||(this.fullColumnNames=e);const t=this.fullColumnNames.reduce((e,t)=>(e[t]=e[t]+1||1,e),{}),n=Object.keys(t).filter(e=>t[e]>1);if(v3.util.assert(0===n.length,()=>"Duplicate column names found: "+n.toString()),this.columnConfigs)for(const e of Object.keys(this.columnConfigs)){if(-1===this.fullColumnNames.indexOf(e))throw new Error('The key "'+e+'" provided in columnConfigs does not match any of the column names ('+this.fullColumnNames.toString()+").")}this.columnNamesValidated=!0}async maybeReadHeaderLine(){if(this.hasHeader){const e=await this.base.iterator(),t=await e.next();if(t.done)throw new Error("No data was found for CSV parsing.");const n=t.value;return this.parseRow(n,!1)}return null}constructor(e,t){super(),this.input=e,this.hasHeader=!0,this.fullColumnNames=null,this.columnNamesValidated=!1,this.columnConfigs=null,this.configuredColumnsOnly=!1,this.delimiter=",",this.delimWhitespace=!1,this.base=new oae(e),t||(t={}),this.hasHeader=!1!==t.hasHeader,this.fullColumnNames=t.columnNames,this.columnConfigs=t.columnConfigs,this.configuredColumnsOnly=t.configuredColumnsOnly,t.delimWhitespace?(v3.util.assert(null==t.delimiter,()=>"Delimiter should not be provided when delimWhitespace is true."),this.delimWhitespace=!0,this.delimiter=" "):this.delimiter=t.delimiter?t.delimiter:","}async iterator(){this.columnNamesValidated||await this.setColumnNames();let e=await this.base.iterator();return this.hasHeader&&(e=e.skip(1)),e.map(e=>this.makeDataElement(e))}makeDataElement(e){const t=this.parseRow(e),n={},i={};for(let r=0;r14||!Number.isInteger(t))throw new Error(`Invalid fftSize: it must be a power of 2 between 2 to 4 and 2 to 14, but got ${this.fftSize}`);if(this.numFrames=e.numFramesPerSpectrogram||43,this.sampleRateHz=e.sampleRateHz,this.columnTruncateLength=e.columnTruncateLength||this.fftSize,this.audioTrackConstraints=e.audioTrackConstraints,this.smoothingTimeConstant=e.smoothingTimeConstant||0,this.includeSpectrogram=!1!==e.includeSpectrogram,this.includeWaveform=!0===e.includeWaveform,!this.includeSpectrogram&&!this.includeWaveform)throw new Error("Both includeSpectrogram and includeWaveform are false. At least one type of data should be returned.")}summary(){return"microphone"}static async create(e={}){if(!(0,p3.env)().get("IS_BROWSER"))throw new Error("microphone API is only supported in browser environment.");const t=new lae(e);return await t.start(),t}async start(){try{this.stream=await navigator.mediaDevices.getUserMedia({audio:null==this.audioTrackConstraints||this.audioTrackConstraints,video:!1})}catch(e){throw new Error(`Error thrown while initializing video stream: ${e.message}`)}if(!this.stream)throw new Error("Could not obtain audio from microphone.");const e=window.AudioContext||window.webkitAudioContext;if(this.audioContext=new e,this.sampleRateHz){if(this.audioContext.sampleRate!==this.sampleRateHz)throw new Error(`Mismatch in sampling rate: Expected: ${this.sampleRateHz}; Actual: ${this.audioContext.sampleRate}`)}else this.sampleRateHz=this.audioContext.sampleRate;const t=this.audioContext.createMediaStreamSource(this.stream);this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=2*this.fftSize,this.analyser.smoothingTimeConstant=this.smoothingTimeConstant,t.connect(this.analyser),this.freqData=new Float32Array(this.fftSize),this.timeData=new Float32Array(this.fftSize)}async next(){if(this.isClosed)return{value:null,done:!0};let e,t;const n=await this.getAudioData();if(this.includeSpectrogram){const t=this.flattenQueue(n.freqDataQueue);e=this.getTensorFromAudioDataArray(t,[this.numFrames,this.columnTruncateLength,1])}if(this.includeWaveform){const e=this.flattenQueue(n.timeDataQueue);t=this.getTensorFromAudioDataArray(e,[this.numFrames*this.fftSize,1])}return{value:{spectrogram:e,waveform:t},done:!1}}async capture(){return(await this.next()).value}async getAudioData(){const e=[],t=[];let n=0;return new Promise(i=>{const r=setInterval(()=>{this.includeSpectrogram&&(this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]===-1/0&&i({freqDataQueue:e,timeDataQueue:t}),e.push(this.freqData.slice(0,this.columnTruncateLength))),this.includeWaveform&&(this.analyser.getFloatTimeDomainData(this.timeData),t.push(this.timeData.slice())),++n===this.numFrames&&(clearInterval(r),i({freqDataQueue:e,timeDataQueue:t}))},this.fftSize/this.sampleRateHz*1e3)})}stop(){this.isClosed||(this.isClosed=!0,this.analyser.disconnect(),this.audioContext.close(),null!=this.stream&&this.stream.getTracks().length>0&&this.stream.getTracks()[0].stop())}toArray(){throw new Error("Can not convert infinite audio stream to array.")}getSampleRate(){return this.sampleRateHz}flattenQueue(e){const t=e[0].length,n=new Float32Array(e.length*t);return e.forEach((e,i)=>n.set(e,i*t)),n}getTensorFromAudioDataArray(e,t){const n=new Float32Array(p3.util.sizeFromShape(t));return n.set(e,n.length-e.length),(0,p3.tensor)(n,t)}} +class fae extends Boe{constructor(e){super(),this.microphoneConfig=e,this.isClosed=!1,this.fftSize=e.fftSize||1024;const t=Math.log2(this.fftSize);if(this.fftSize<0||t<4||t>14||!Number.isInteger(t))throw new Error(`Invalid fftSize: it must be a power of 2 between 2 to 4 and 2 to 14, but got ${this.fftSize}`);if(this.numFrames=e.numFramesPerSpectrogram||43,this.sampleRateHz=e.sampleRateHz,this.columnTruncateLength=e.columnTruncateLength||this.fftSize,this.audioTrackConstraints=e.audioTrackConstraints,this.smoothingTimeConstant=e.smoothingTimeConstant||0,this.includeSpectrogram=!1!==e.includeSpectrogram,this.includeWaveform=!0===e.includeWaveform,!this.includeSpectrogram&&!this.includeWaveform)throw new Error("Both includeSpectrogram and includeWaveform are false. At least one type of data should be returned.")}summary(){return"microphone"}static async create(e={}){if(!(0,v3.env)().get("IS_BROWSER"))throw new Error("microphone API is only supported in browser environment.");const t=new fae(e);return await t.start(),t}async start(){try{this.stream=await navigator.mediaDevices.getUserMedia({audio:null==this.audioTrackConstraints||this.audioTrackConstraints,video:!1})}catch(e){throw new Error(`Error thrown while initializing video stream: ${e.message}`)}if(!this.stream)throw new Error("Could not obtain audio from microphone.");const e=window.AudioContext||window.webkitAudioContext;if(this.audioContext=new e,this.sampleRateHz){if(this.audioContext.sampleRate!==this.sampleRateHz)throw new Error(`Mismatch in sampling rate: Expected: ${this.sampleRateHz}; Actual: ${this.audioContext.sampleRate}`)}else this.sampleRateHz=this.audioContext.sampleRate;const t=this.audioContext.createMediaStreamSource(this.stream);this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=2*this.fftSize,this.analyser.smoothingTimeConstant=this.smoothingTimeConstant,t.connect(this.analyser),this.freqData=new Float32Array(this.fftSize),this.timeData=new Float32Array(this.fftSize)}async next(){if(this.isClosed)return{value:null,done:!0};let e,t;const n=await this.getAudioData();if(this.includeSpectrogram){const t=this.flattenQueue(n.freqDataQueue);e=this.getTensorFromAudioDataArray(t,[this.numFrames,this.columnTruncateLength,1])}if(this.includeWaveform){const e=this.flattenQueue(n.timeDataQueue);t=this.getTensorFromAudioDataArray(e,[this.numFrames*this.fftSize,1])}return{value:{spectrogram:e,waveform:t},done:!1}}async capture(){return(await this.next()).value}async getAudioData(){const e=[],t=[];let n=0;return new Promise(i=>{const r=setInterval(()=>{this.includeSpectrogram&&(this.analyser.getFloatFrequencyData(this.freqData),this.freqData[0]===-1/0&&i({freqDataQueue:e,timeDataQueue:t}),e.push(this.freqData.slice(0,this.columnTruncateLength))),this.includeWaveform&&(this.analyser.getFloatTimeDomainData(this.timeData),t.push(this.timeData.slice())),++n===this.numFrames&&(clearInterval(r),i({freqDataQueue:e,timeDataQueue:t}))},this.fftSize/this.sampleRateHz*1e3)})}stop(){this.isClosed||(this.isClosed=!0,this.analyser.disconnect(),this.audioContext.close(),null!=this.stream&&this.stream.getTracks().length>0&&this.stream.getTracks()[0].stop())}toArray(){throw new Error("Can not convert infinite audio stream to array.")}getSampleRate(){return this.sampleRateHz}flattenQueue(e){const t=e[0].length,n=new Float32Array(e.length*t);return e.forEach((e,i)=>n.set(e,i*t)),n}getTensorFromAudioDataArray(e,t){const n=new Float32Array(v3.util.sizeFromShape(t));return n.set(e,n.length-e.length),(0,v3.tensor)(n,t)}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12061,7 +12061,7 @@ class lae extends Roe{constructor(e){super(),this.microphoneConfig=e,this.isClos * * ============================================================================= */ -class uae extends Roe{constructor(e,t){if(super(),this.webcamVideoElement=e,this.webcamConfig=t,this.isClosed=!0,this.resize=!1,this.needToResize())if(this.resize=!0,this.cropSize=[this.webcamConfig.resizeHeight,this.webcamConfig.resizeWidth],this.cropBoxInd=(0,p3.tensor1d)([0],"int32"),this.webcamConfig.centerCrop){const e=1*this.webcamConfig.resizeWidth/this.webcamVideoElement.width,t=1*this.webcamConfig.resizeHeight/this.webcamVideoElement.height,n=(1-e)/2,i=(1-t)/2,r=n+e,s=t+i;this.cropBox=(0,p3.tensor2d)([i,n,s,r],[1,4])}else this.cropBox=(0,p3.tensor2d)([0,0,1,1],[1,4])}summary(){return"webcam"}static async create(e,t={}){if(!(0,p3.env)().get("IS_BROWSER"))throw new Error("tf.data.webcam is only supported in browser environment.");if(!e){if(e=document.createElement("video"),!t.resizeWidth||!t.resizeHeight)throw new Error("Please provide webcam video element, or resizeWidth and resizeHeight to create a hidden video element.");e.width=t.resizeWidth,e.height=t.resizeHeight}const n=new uae(e,t);return await n.start(),n}async start(){this.webcamConfig.facingMode&&p3.util.assert("user"===this.webcamConfig.facingMode||"environment"===this.webcamConfig.facingMode,()=>`Invalid webcam facing mode: ${this.webcamConfig.facingMode}. Please provide 'user' or 'environment'`);try{this.stream=await navigator.mediaDevices.getUserMedia({video:{deviceId:this.webcamConfig.deviceId,facingMode:this.webcamConfig.facingMode?this.webcamConfig.facingMode:"user",width:this.webcamVideoElement.width,height:this.webcamVideoElement.height}})}catch(e){throw e.message=`Error thrown while initializing video stream: ${e.message}`,e}if(!this.stream)throw new Error("Could not obtain video from webcam.");try{this.webcamVideoElement.srcObject=this.stream}catch(e){console.log(e),this.webcamVideoElement.src=window.URL.createObjectURL(this.stream)}return this.webcamVideoElement.play(),this.isClosed=!1,new Promise(e=>{this.webcamVideoElement.onloadedmetadata=()=>{e()}})}async next(){if(this.isClosed)return{value:null,done:!0};let e;try{e=p3.browser.fromPixels(this.webcamVideoElement)}catch(e){throw new Error(`Error thrown converting video to pixels: ${JSON.stringify(e)}`)}if(!this.resize)return{value:e,done:!1};try{return{value:this.cropAndResizeFrame(e),done:!1}}catch(e){throw new Error(`Error thrown cropping the video: ${e.message}`)}finally{e.dispose()}}needToResize(){return!(!this.webcamConfig.resizeWidth||!this.webcamConfig.resizeHeight||this.webcamVideoElement.width===this.webcamConfig.resizeWidth&&this.webcamVideoElement.height===this.webcamConfig.resizeHeight)}cropAndResizeFrame(e){return(0,p3.tidy)(()=>{const t=(0,p3.expandDims)((0,p3.cast)(e,"float32"),0);let n;n=p3.image.cropAndResize(t,this.cropBox,this.cropBoxInd,this.cropSize,"bilinear");const i=n.shape;return(0,p3.reshape)(n,i.slice(1))})}async capture(){return(await this.next()).value}stop(){this.stream.getTracks().forEach(e=>e.stop());try{this.webcamVideoElement.srcObject=null}catch(e){console.log(e),this.webcamVideoElement.src=null}this.isClosed=!0}toArray(){throw new Error("Can not convert infinite video stream to array.")}} +class mae extends Boe{constructor(e,t){if(super(),this.webcamVideoElement=e,this.webcamConfig=t,this.isClosed=!0,this.resize=!1,this.needToResize())if(this.resize=!0,this.cropSize=[this.webcamConfig.resizeHeight,this.webcamConfig.resizeWidth],this.cropBoxInd=(0,v3.tensor1d)([0],"int32"),this.webcamConfig.centerCrop){const e=1*this.webcamConfig.resizeWidth/this.webcamVideoElement.width,t=1*this.webcamConfig.resizeHeight/this.webcamVideoElement.height,n=(1-e)/2,i=(1-t)/2,r=n+e,s=t+i;this.cropBox=(0,v3.tensor2d)([i,n,s,r],[1,4])}else this.cropBox=(0,v3.tensor2d)([0,0,1,1],[1,4])}summary(){return"webcam"}static async create(e,t={}){if(!(0,v3.env)().get("IS_BROWSER"))throw new Error("tf.data.webcam is only supported in browser environment.");if(!e){if(e=document.createElement("video"),!t.resizeWidth||!t.resizeHeight)throw new Error("Please provide webcam video element, or resizeWidth and resizeHeight to create a hidden video element.");e.width=t.resizeWidth,e.height=t.resizeHeight}const n=new mae(e,t);return await n.start(),n}async start(){this.webcamConfig.facingMode&&v3.util.assert("user"===this.webcamConfig.facingMode||"environment"===this.webcamConfig.facingMode,()=>`Invalid webcam facing mode: ${this.webcamConfig.facingMode}. Please provide 'user' or 'environment'`);try{this.stream=await navigator.mediaDevices.getUserMedia({video:{deviceId:this.webcamConfig.deviceId,facingMode:this.webcamConfig.facingMode?this.webcamConfig.facingMode:"user",width:this.webcamVideoElement.width,height:this.webcamVideoElement.height}})}catch(e){throw e.message=`Error thrown while initializing video stream: ${e.message}`,e}if(!this.stream)throw new Error("Could not obtain video from webcam.");try{this.webcamVideoElement.srcObject=this.stream}catch(e){console.log(e),this.webcamVideoElement.src=window.URL.createObjectURL(this.stream)}return this.webcamVideoElement.play(),this.isClosed=!1,new Promise(e=>{this.webcamVideoElement.onloadedmetadata=()=>{e()}})}async next(){if(this.isClosed)return{value:null,done:!0};let e;try{e=v3.browser.fromPixels(this.webcamVideoElement)}catch(e){throw new Error(`Error thrown converting video to pixels: ${JSON.stringify(e)}`)}if(!this.resize)return{value:e,done:!1};try{return{value:this.cropAndResizeFrame(e),done:!1}}catch(e){throw new Error(`Error thrown cropping the video: ${e.message}`)}finally{e.dispose()}}needToResize(){return!(!this.webcamConfig.resizeWidth||!this.webcamConfig.resizeHeight||this.webcamVideoElement.width===this.webcamConfig.resizeWidth&&this.webcamVideoElement.height===this.webcamConfig.resizeHeight)}cropAndResizeFrame(e){return(0,v3.tidy)(()=>{const t=(0,v3.expandDims)((0,v3.cast)(e,"float32"),0);let n;n=v3.image.cropAndResize(t,this.cropBox,this.cropBoxInd,this.cropSize,"bilinear");const i=n.shape;return(0,v3.reshape)(n,i.slice(1))})}async capture(){return(await this.next()).value}stop(){this.stream.getTracks().forEach(e=>e.stop());try{this.webcamVideoElement.srcObject=null}catch(e){console.log(e),this.webcamVideoElement.src=null}this.isClosed=!0}toArray(){throw new Error("Can not convert infinite video stream to array.")}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12079,7 +12079,7 @@ class uae extends Roe{constructor(e,t){if(super(),this.webcamVideoElement=e,this * * ============================================================================= */ -class cae{} +class gae{} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12097,7 +12097,7 @@ class cae{} * * ============================================================================= */ -class dae extends Roe{split(e){return new hae(this,e)}}class hae extends dae{constructor(e,t){super(),this.upstream=e,this.impl=new pae(e,t)}summary(){return this.impl.summary()}async next(){return this.impl.next()}}class pae extends joe{constructor(e,t){super(),this.upstream=e,this.separator=t,this.carryover=""}summary(){return`${this.upstream.summary()} -> Split('${this.separator}')`}async pump(){const e=await this.upstream.next();if(e.done)return""!==this.carryover&&(this.outputQueue.push(this.carryover),this.carryover="",!0);const t=e.value.split(this.separator);t[0]=this.carryover+t[0];for(const e of t.slice(0,-1))this.outputQueue.push(e);return this.carryover=t[t.length-1],!0}} +class _ae extends Boe{split(e){return new yae(this,e)}}class yae extends _ae{constructor(e,t){super(),this.upstream=e,this.impl=new vae(e,t)}summary(){return this.impl.summary()}async next(){return this.impl.next()}}class vae extends qoe{constructor(e,t){super(),this.upstream=e,this.separator=t,this.carryover=""}summary(){return`${this.upstream.summary()} -> Split('${this.separator}')`}async pump(){const e=await this.upstream.next();if(e.done)return""!==this.carryover&&(this.outputQueue.push(this.carryover),this.carryover="",!0);const t=e.value.split(this.separator);t[0]=this.carryover+t[0];for(const e of t.slice(0,-1))this.outputQueue.push(e);return this.carryover=t[t.length-1],!0}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12115,7 +12115,7 @@ class dae extends Roe{split(e){return new hae(this,e)}}class hae extends dae{con * * ============================================================================= */ -class fae extends Roe{decodeUTF8(){return new mae(this)}}class mae extends dae{constructor(e){super(),this.upstream=e,this.impl=new gae(e)}summary(){return this.impl.summary()}async next(){return this.impl.next()}}class gae extends joe{constructor(e){if(super(),this.upstream=e,(0,p3.env)().get("IS_BROWSER"))this.decoder=new TextDecoder("utf-8");else{const{StringDecoder:e}=__webpack_require__(4530);this.decoder=new e("utf8")}}summary(){return`${this.upstream.summary()} -> Utf8`}async pump(){const e=await this.upstream.next();let t,n;return!e.done&&(t=e.value,n=(0,p3.env)().get("IS_BROWSER")?this.decoder.decode(t,{stream:!0}):this.decoder.write(Buffer.from(t.buffer)),this.outputQueue.push(n),!0)}} +class bae extends Boe{decodeUTF8(){return new Tae(this)}}class Tae extends _ae{constructor(e){super(),this.upstream=e,this.impl=new xae(e)}summary(){return this.impl.summary()}async next(){return this.impl.next()}}class xae extends qoe{constructor(e){if(super(),this.upstream=e,(0,v3.env)().get("IS_BROWSER"))this.decoder=new TextDecoder("utf-8");else{const{StringDecoder:e}=__webpack_require__(4530);this.decoder=new e("utf8")}}summary(){return`${this.upstream.summary()} -> Utf8`}async pump(){const e=await this.upstream.next();let t,n;return!e.done&&(t=e.value,n=(0,v3.env)().get("IS_BROWSER")?this.decoder.decode(t,{stream:!0}):this.decoder.write(Buffer.from(t.buffer)),this.outputQueue.push(n),!0)}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12133,7 +12133,7 @@ class fae extends Roe{decodeUTF8(){return new mae(this)}}class mae extends dae{c * * ============================================================================= */ -class _ae extends fae{constructor(e,t={}){super(),this.file=e,this.options=t,p3.util.assert(e instanceof Uint8Array||!!(0,p3.env)().get("IS_BROWSER")&&(e instanceof File||e instanceof Blob),()=>"FileChunkIterator only supports File, Blob and Uint8Array right now."),this.offset=t.offset||0,this.chunkSize=t.chunkSize||1048576}summary(){return`FileChunks ${this.file}`}async next(){if(this.offset>=(this.file instanceof Uint8Array?this.file.byteLength:this.file.size))return{value:null,done:!0};const e=new Promise((e,t)=>{const n=this.offset+this.chunkSize;if(this.file instanceof Uint8Array)e(new Uint8Array(this.file.slice(this.offset,n)));else{const i=new FileReader;i.onload=n=>{let r=i.result;if(r instanceof ArrayBuffer&&(r=new Uint8Array(r)),!(r instanceof Uint8Array))return t(new TypeError("FileReader returned unknown type."));e(r)},i.onabort=e=>t(new Error("Aborted")),i.onerror=e=>t(new Error(e.type));const r=this.file.slice(this.offset,n);i.readAsArrayBuffer(r)}this.offset=n});return{value:await e,done:!1}}}const yae=e=>({method:e.method,headers:e.headers,body:e.body,mode:e.mode,credentials:e.credentials,cache:e.cache,redirect:e.redirect,referrer:e.referrer,integrity:e.integrity}); +class Eae extends bae{constructor(e,t={}){super(),this.file=e,this.options=t,v3.util.assert(e instanceof Uint8Array||!!(0,v3.env)().get("IS_BROWSER")&&(e instanceof File||e instanceof Blob),()=>"FileChunkIterator only supports File, Blob and Uint8Array right now."),this.offset=t.offset||0,this.chunkSize=t.chunkSize||1048576}summary(){return`FileChunks ${this.file}`}async next(){if(this.offset>=(this.file instanceof Uint8Array?this.file.byteLength:this.file.size))return{value:null,done:!0};const e=new Promise((e,t)=>{const n=this.offset+this.chunkSize;if(this.file instanceof Uint8Array)e(new Uint8Array(this.file.slice(this.offset,n)));else{const i=new FileReader;i.onload=n=>{let r=i.result;if(r instanceof ArrayBuffer&&(r=new Uint8Array(r)),!(r instanceof Uint8Array))return t(new TypeError("FileReader returned unknown type."));e(r)},i.onabort=e=>t(new Error("Aborted")),i.onerror=e=>t(new Error(e.type));const r=this.file.slice(this.offset,n);i.readAsArrayBuffer(r)}this.offset=n});return{value:await e,done:!1}}}const wae=e=>({method:e.method,headers:e.headers,body:e.body,mode:e.mode,credentials:e.credentials,cache:e.cache,redirect:e.redirect,referrer:e.referrer,integrity:e.integrity}); /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12151,7 +12151,7 @@ class _ae extends fae{constructor(e,t={}){super(),this.file=e,this.options=t,p3. * * ============================================================================= */ -function vae(e){return"string"==typeof e&&"file://"===e.slice(0,7)} +function Iae(e){return"string"==typeof e&&"file://"===e.slice(0,7)} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12169,7 +12169,7 @@ function vae(e){return"string"==typeof e&&"file://"===e.slice(0,7)} * * ============================================================================= */ -class bae extends cae{constructor(e,t={}){super(),this.input=e,this.options=t}async iterator(){if(vae(this.input)&&(0,p3.env)().get("IS_NODE")){const e=__webpack_require__(8108);this.input=e.readFileSync(this.input.slice(7))}return new _ae(this.input,this.options)}} +class Aae extends gae{constructor(e,t={}){super(),this.input=e,this.options=t}async iterator(){if(Iae(this.input)&&(0,v3.env)().get("IS_NODE")){const e=__webpack_require__(8108);this.input=e.readFileSync(this.input.slice(7))}return new Eae(this.input,this.options)}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12187,7 +12187,7 @@ class bae extends cae{constructor(e,t={}){super(),this.input=e,this.options=t}as * * ============================================================================= */ -class Tae extends cae{constructor(e,t={}){super(),this.url=e,this.fileOptions=t}async iterator(){return vae(this.url)?new bae(this.url,this.fileOptions).iterator(): +class Sae extends gae{constructor(e,t={}){super(),this.url=e,this.fileOptions=t}async iterator(){return Iae(this.url)?new Aae(this.url,this.fileOptions).iterator(): /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12205,7 +12205,7 @@ class Tae extends cae{constructor(e,t={}){super(),this.url=e,this.fileOptions=t} * * ============================================================================= */ -async function(e,t={},n){let i,r;"string"==typeof e?i=e:(i=e.url,r=yae(e));const s=await(n||p3.util.fetch)(i,r);if(s.ok){const e=new Uint8Array(await s.arrayBuffer());return new _ae(e,t)}throw new Error(s.statusText)}(this.url,this.fileOptions)}} +async function(e,t={},n){let i,r;"string"==typeof e?i=e:(i=e.url,r=wae(e));const s=await(n||v3.util.fetch)(i,r);if(s.ok){const e=new Uint8Array(await s.arrayBuffer());return new Eae(e,t)}throw new Error(s.statusText)}(this.url,this.fileOptions)}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -12223,9 +12223,9 @@ async function(e,t={},n){let i,r;"string"==typeof e?i=e:(i=e.url,r=yae(e));const * * ============================================================================= */ -function xae(e,t={}){return new aae(new Tae(e),t)}function Eae(e){const t=Moe(e);return Koe(async()=>t)}function wae(e){return Koe(async()=>{const t=await e();return Moe(()=>t.next())})}async function Iae(e,t){return uae.create(e,t)}async function Aae(e){return lae.create(e)} +function Cae(e,t={}){return new pae(new Sae(e),t)}function Oae(e){const t=Loe(e);return nae(async()=>t)}function Mae(e){return nae(async()=>{const t=await e();return Loe(()=>t.next())})}async function kae(e,t){return mae.create(e,t)}async function Rae(e){return fae.create(e)} /** @license See the LICENSE file. */ -const Sae="4.22.0"; +const Nae="4.22.0"; /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -12242,7 +12242,7 @@ const Sae="4.22.0"; * limitations under the License. * ============================================================================= */ -function Cae(e,t){Array.isArray(e)||(e=[e]),e.forEach(e=>{null!=e&&p3.util.assert("complex64"!==e.dtype,()=>`${t} does not support complex64 tensors in the CPU backend.`)})} +function Dae(e,t){Array.isArray(e)||(e=[e]),e.forEach(e=>{null!=e&&v3.util.assert("complex64"!==e.dtype,()=>`${t} does not support complex64 tensors in the CPU backend.`)})} /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -12259,7 +12259,7 @@ function Cae(e,t){Array.isArray(e)||(e=[e]),e.forEach(e=>{null!=e&&p3.util.asser * limitations under the License. * ============================================================================= */ -const Oae=p3.kernel_impls.whereImpl;class Mae extends p3.KernelBackend{nextDataId(){return Mae.nextDataId++}constructor(){super(),this.blockSize=48,this.firstUse=!0,this.data=new p3.DataStorage(this,(0,p3.engine)())}write(e,t,n){this.firstUse&&(this.firstUse=!1,(0,p3.env)().get("IS_NODE")&&p3.backend_util.warn("\n============================\nHi, looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, visit https://github.com/tensorflow/tfjs-node for more details. \n============================"));const i={id:this.nextDataId()};return this.data.set(i,{values:e,dtype:n,refCount:1}),i}makeTensorInfo(e,t,n){let i;if("string"===t&&null!=n&&n.length>0&&p3.util.isString(n[0])){const r=n.map(e=>p3.util.encodeString(e));i=this.write(r,e,t)}else i=this.write(n,e,t);return{dataId:i,shape:e,dtype:t}}refCount(e){if(this.data.has(e)){return this.data.get(e).refCount}return 0}incRef(e){this.data.get(e).refCount++}decRef(e){if(this.data.has(e)){this.data.get(e).refCount--}}move(e,t,n,i,r){this.data.set(e,{values:t,dtype:i,refCount:r})}numDataIds(){return this.data.numDataIds()}async read(e){return this.readSync(e)}readSync(e){const{dtype:t,complexTensorInfos:n}=this.data.get(e);if("complex64"===t){const e=this.readSync(n.real.dataId),t=this.readSync(n.imag.dataId);return p3.backend_util.mergeRealAndImagArrays(e,t)}return p3.util.convertBackendValuesAndArrayBuffer(this.data.get(e).values,t)}bufferSync(e){const t=this.readSync(e.dataId);if("string"===e.dtype)try{const n=t.map(e=>p3.util.decodeString(e));return(0,p3.buffer)(e.shape,e.dtype,n)}catch(e){throw new Error("Failed to decode encoded string bytes into utf-8")}return(0,p3.buffer)(e.shape,e.dtype,t)}makeOutput(e,t,n){return(0,p3.engine)().makeTensorFromTensorInfo(this.makeTensorInfo(t,n,e),this)}disposeData(e,t=!1){if(this.data.has(e)){if(this.data.get(e).refCount--,!t&&this.data.get(e).refCount>0)return!1;const{complexTensorInfos:n}=this.data.get(e);null!=n&&(this.disposeData(n.real.dataId,!0),this.disposeData(n.imag.dataId,!0)),this.data.delete(e)}return!0}disposeIntermediateTensorInfo(e){this.disposeData(e.dataId)}async time(e){const t=p3.util.now();e();return{kernelMs:p3.util.now()-t}}memory(){return{unreliable:!0,reasons:["The reported memory is an upper bound. Due to automatic garbage collection, the true allocated memory may be less."]}}where(e){Cae([e],"where");const t=this.readSync(e.dataId);return Oae(e.shape,t)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}} +const Fae=v3.kernel_impls.whereImpl;class Lae extends v3.KernelBackend{nextDataId(){return Lae.nextDataId++}constructor(){super(),this.blockSize=48,this.firstUse=!0,this.data=new v3.DataStorage(this,(0,v3.engine)())}write(e,t,n){this.firstUse&&(this.firstUse=!1,(0,v3.env)().get("IS_NODE")&&v3.backend_util.warn("\n============================\nHi, looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, visit https://github.com/tensorflow/tfjs-node for more details. \n============================"));const i={id:this.nextDataId()};return this.data.set(i,{values:e,dtype:n,refCount:1}),i}makeTensorInfo(e,t,n){let i;if("string"===t&&null!=n&&n.length>0&&v3.util.isString(n[0])){const r=n.map(e=>v3.util.encodeString(e));i=this.write(r,e,t)}else i=this.write(n,e,t);return{dataId:i,shape:e,dtype:t}}refCount(e){if(this.data.has(e)){return this.data.get(e).refCount}return 0}incRef(e){this.data.get(e).refCount++}decRef(e){if(this.data.has(e)){this.data.get(e).refCount--}}move(e,t,n,i,r){this.data.set(e,{values:t,dtype:i,refCount:r})}numDataIds(){return this.data.numDataIds()}async read(e){return this.readSync(e)}readSync(e){const{dtype:t,complexTensorInfos:n}=this.data.get(e);if("complex64"===t){const e=this.readSync(n.real.dataId),t=this.readSync(n.imag.dataId);return v3.backend_util.mergeRealAndImagArrays(e,t)}return v3.util.convertBackendValuesAndArrayBuffer(this.data.get(e).values,t)}bufferSync(e){const t=this.readSync(e.dataId);if("string"===e.dtype)try{const n=t.map(e=>v3.util.decodeString(e));return(0,v3.buffer)(e.shape,e.dtype,n)}catch(e){throw new Error("Failed to decode encoded string bytes into utf-8")}return(0,v3.buffer)(e.shape,e.dtype,t)}makeOutput(e,t,n){return(0,v3.engine)().makeTensorFromTensorInfo(this.makeTensorInfo(t,n,e),this)}disposeData(e,t=!1){if(this.data.has(e)){if(this.data.get(e).refCount--,!t&&this.data.get(e).refCount>0)return!1;const{complexTensorInfos:n}=this.data.get(e);null!=n&&(this.disposeData(n.real.dataId,!0),this.disposeData(n.imag.dataId,!0)),this.data.delete(e)}return!0}disposeIntermediateTensorInfo(e){this.disposeData(e.dataId)}async time(e){const t=v3.util.now();e();return{kernelMs:v3.util.now()-t}}memory(){return{unreliable:!0,reasons:["The reported memory is an upper bound. Due to automatic garbage collection, the true allocated memory may be less."]}}where(e){Dae([e],"where");const t=this.readSync(e.dataId);return Fae(e.shape,t)}dispose(){}floatPrecision(){return 32}epsilon(){return super.epsilon()}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12276,7 +12276,7 @@ const Oae=p3.kernel_impls.whereImpl;class Mae extends p3.KernelBackend{nextDataI * limitations under the License. * ============================================================================= */ -function kae(e){const t=new Float32Array(e.length);for(let n=0;n{const{x:t}=e.inputs,n=e.backend;Cae(t,"abs");let i=new Float32Array(p3.util.sizeFromShape(t.shape));return i=kae(n.data.get(t.dataId).values),n.makeOutput(i,t.shape,t.dtype)}}; +function Pae(e){const t=new Float32Array(e.length);for(let n=0;n{const{x:t}=e.inputs,n=e.backend;Dae(t,"abs");let i=new Float32Array(v3.util.sizeFromShape(t.shape));return i=Pae(n.data.get(t.dataId).values),n.makeOutput(i,t.shape,t.dtype)}}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12293,7 +12293,7 @@ function kae(e){const t=new Float32Array(e.length);for(let n=0;n{const o=p3.backend_util.assertAndGetBroadcastShape(t,n),a=o.length,l=p3.util.computeStrides(o),u=p3.util.sizeFromShape(o),c=p3.util.getTypedArrayFromDType(s,u),d=t.length,h=n.length,p=p3.util.computeStrides(t),f=p3.util.computeStrides(n),m=p3.backend_util.getBroadcastDims(t,o),g=p3.backend_util.getBroadcastDims(n,o);if(m.length+g.length===0)for(let t=0;ts[e]=0);const o=p3.util.locToIndex(s,d,p),u=n.slice(-h);g.forEach(e=>u[e]=0);const _=p3.util.locToIndex(u,h,f);c[t]=e(i[o],r[_])}return[c,o]}} +function $ae(e){return(t,n,i,r,s)=>{const o=v3.backend_util.assertAndGetBroadcastShape(t,n),a=o.length,l=v3.util.computeStrides(o),u=v3.util.sizeFromShape(o),c=v3.util.getTypedArrayFromDType(s,u),d=t.length,h=n.length,p=v3.util.computeStrides(t),f=v3.util.computeStrides(n),m=v3.backend_util.getBroadcastDims(t,o),g=v3.backend_util.getBroadcastDims(n,o);if(m.length+g.length===0)for(let t=0;ts[e]=0);const o=v3.util.locToIndex(s,d,p),u=n.slice(-h);g.forEach(e=>u[e]=0);const _=v3.util.locToIndex(u,h,f);c[t]=e(i[o],r[_])}return[c,o]}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12310,7 +12310,7 @@ function Nae(e){return(t,n,i,r,s)=>{const o=p3.backend_util.assertAndGetBroadcas * limitations under the License. * ============================================================================= */ -function Dae(e){const{inputs:t,backend:n}=e,{real:i,imag:r}=t,s=n.data.get(i.dataId).values,o=n.data.get(r.dataId).values,a=n.makeTensorInfo(i.shape,"complex64");return n.data.get(a.dataId).complexTensorInfos={real:n.makeTensorInfo(i.shape,"float32",s),imag:n.makeTensorInfo(r.shape,"float32",o)},a}const Fae={kernelName:p3.Complex,backendName:"cpu",kernelFunc:Dae}; +function Uae(e){const{inputs:t,backend:n}=e,{real:i,imag:r}=t,s=n.data.get(i.dataId).values,o=n.data.get(r.dataId).values,a=n.makeTensorInfo(i.shape,"complex64");return n.data.get(a.dataId).complexTensorInfos={real:n.makeTensorInfo(i.shape,"float32",s),imag:n.makeTensorInfo(r.shape,"float32",o)},a}const Vae={kernelName:v3.Complex,backendName:"cpu",kernelFunc:Uae}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12327,7 +12327,7 @@ function Dae(e){const{inputs:t,backend:n}=e,{real:i,imag:r}=t,s=n.data.get(i.dat * limitations under the License. * ============================================================================= */ -function Lae(e,t,n="float32"){if("complex64"===n){return Dae({inputs:{real:Lae(e,t,"float32"),imag:Lae(e,t,"float32")},backend:e})}const i=p3.util.makeZerosTypedArray(p3.util.sizeFromShape(t),n);return e.makeTensorInfo(t,n,i)} +function zae(e,t,n="float32"){if("complex64"===n){return Uae({inputs:{real:zae(e,t,"float32"),imag:zae(e,t,"float32")},backend:e})}const i=v3.util.makeZerosTypedArray(v3.util.sizeFromShape(t),n);return e.makeTensorInfo(t,n,i)} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12344,7 +12344,7 @@ function Lae(e,t,n="float32"){if("complex64"===n){return Dae({inputs:{real:Lae(e * limitations under the License. * ============================================================================= */ -function Pae(e){const{inputs:t,backend:n}=e,{x:i}=t;return n.incRef(i.dataId),{dataId:i.dataId,shape:i.shape,dtype:i.dtype}}const Bae={kernelName:p3.Identity,backendName:"cpu",kernelFunc:Pae}; +function jae(e){const{inputs:t,backend:n}=e,{x:i}=t;return n.incRef(i.dataId),{dataId:i.dataId,shape:i.shape,dtype:i.dtype}}const Yae={kernelName:v3.Identity,backendName:"cpu",kernelFunc:jae}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12361,7 +12361,7 @@ function Pae(e){const{inputs:t,backend:n}=e,{x:i}=t;return n.incRef(i.dataId),{d * limitations under the License. * ============================================================================= */ -function $ae(e){const{inputs:t,backend:n}=e,{input:i}=t,r=n.data.get(i.dataId).complexTensorInfos.real,s=n.data.get(r.dataId).values;return n.makeTensorInfo(r.shape,r.dtype,s)}const Uae={kernelName:p3.Real,backendName:"cpu",kernelFunc:$ae}; +function Gae(e){const{inputs:t,backend:n}=e,{input:i}=t,r=n.data.get(i.dataId).complexTensorInfos.real,s=n.data.get(r.dataId).values;return n.makeTensorInfo(r.shape,r.dtype,s)}const Hae={kernelName:v3.Real,backendName:"cpu",kernelFunc:Gae}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12378,7 +12378,7 @@ function $ae(e){const{inputs:t,backend:n}=e,{input:i}=t,r=n.data.get(i.dataId).c * limitations under the License. * ============================================================================= */ -function Vae(e,t,n,i){if("int32"===i){return[t,"int32",Int32Array.from(e)]}if("bool"===i){const i=p3.util.toTypedArray([0],n),[r,s]=Nae((e,t)=>e!==t?1:0)(t,[],e,i,"bool");return[s,"bool",r]}throw new Error(`Error in Cast: failed to cast ${n} to ${i}`)}function zae(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{dtype:s}=i;if("complex64"===s){if("complex64"===r.dtype)return Pae({inputs:{x:r},backend:n});const e=Lae(n,r.shape,r.dtype),t=zae({inputs:{x:r},backend:n,attrs:{dtype:"float32"}}),i=Dae({inputs:{real:t,imag:e},backend:n});return n.disposeIntermediateTensorInfo(e),n.disposeIntermediateTensorInfo(t),i}if("complex64"===r.dtype){const e=$ae({inputs:{input:r},backend:n}),t=zae({inputs:{x:e},backend:n,attrs:{dtype:s}});return n.disposeIntermediateTensorInfo(e),t}if(!p3.util.hasEncodingLoss(r.dtype,s)){const e=Pae({inputs:{x:r},backend:n});return{dataId:e.dataId,shape:e.shape,dtype:s}}const o=n.data.get(r.dataId).values,[a,l,u]=Vae(o,r.shape,r.dtype,s);return n.makeTensorInfo(a,l,u)}const jae={kernelName:p3.Cast,backendName:"cpu",kernelFunc:zae}; +function Wae(e,t,n,i){if("int32"===i){return[t,"int32",Int32Array.from(e)]}if("bool"===i){const i=v3.util.toTypedArray([0],n),[r,s]=$ae((e,t)=>e!==t?1:0)(t,[],e,i,"bool");return[s,"bool",r]}throw new Error(`Error in Cast: failed to cast ${n} to ${i}`)}function Xae(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{dtype:s}=i;if("complex64"===s){if("complex64"===r.dtype)return jae({inputs:{x:r},backend:n});const e=zae(n,r.shape,r.dtype),t=Xae({inputs:{x:r},backend:n,attrs:{dtype:"float32"}}),i=Uae({inputs:{real:t,imag:e},backend:n});return n.disposeIntermediateTensorInfo(e),n.disposeIntermediateTensorInfo(t),i}if("complex64"===r.dtype){const e=Gae({inputs:{input:r},backend:n}),t=Xae({inputs:{x:e},backend:n,attrs:{dtype:s}});return n.disposeIntermediateTensorInfo(e),t}if(!v3.util.hasEncodingLoss(r.dtype,s)){const e=jae({inputs:{x:r},backend:n});return{dataId:e.dataId,shape:e.shape,dtype:s}}const o=n.data.get(r.dataId).values,[a,l,u]=Wae(o,r.shape,r.dtype,s);return n.makeTensorInfo(a,l,u)}const qae={kernelName:v3.Cast,backendName:"cpu",kernelFunc:Xae}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12395,7 +12395,7 @@ function Vae(e,t,n,i){if("int32"===i){return[t,"int32",Int32Array.from(e)]}if("b * limitations under the License. * ============================================================================= */ -function Yae(e,t,n,i){return null==n?({inputs:n,backend:r})=>{const{a:s,b:o}=n,a=r;Cae([s,o],e);const l=a.data.get(s.dataId).values,u=a.data.get(o.dataId).values,c="string"===s.dtype?p3.backend_util.fromUint8ToStringArray(l):l,d="string"===s.dtype?p3.backend_util.fromUint8ToStringArray(u):u,h=i||s.dtype,[p,f]=t(s.shape,o.shape,c,d,h);return a.makeTensorInfo(f,h,p)}:({inputs:e,backend:r})=>{const{a:s,b:o}=e,a=r;if("complex64"===s.dtype||"complex64"===o.dtype){const e=zae({inputs:{x:s},backend:a,attrs:{dtype:"complex64"}}),t=a.data.get(e.dataId),i=t.complexTensorInfos.real,r=t.complexTensorInfos.imag,l=a.data.get(i.dataId).values,u=a.data.get(r.dataId).values,c=zae({inputs:{x:o},backend:a,attrs:{dtype:"complex64"}}),d=a.data.get(c.dataId),h=d.complexTensorInfos.real,p=d.complexTensorInfos.imag,f=a.data.get(h.dataId).values,m=a.data.get(p.dataId).values,[g,_,y]=n(s.shape,o.shape,l,u,f,m),v=a.makeTensorInfo(y,"float32",g),b=a.makeTensorInfo(y,"float32",_),T=Dae({inputs:{real:v,imag:b},backend:a});return a.disposeIntermediateTensorInfo(e),a.disposeIntermediateTensorInfo(c),a.disposeIntermediateTensorInfo(v),a.disposeIntermediateTensorInfo(b),T}{const e=a.data.get(s.dataId).values,n=a.data.get(o.dataId).values,r=i||s.dtype,[l,u]=t(s.shape,o.shape,e,n,r);return a.makeTensorInfo(u,r,l)}}}function Gae(e){return(t,n,i,r,s,o)=>{const a=p3.backend_util.assertAndGetBroadcastShape(t,n),l=p3.util.sizeFromShape(a),u=a.length,c=p3.util.computeStrides(a),d=p3.util.getTypedArrayFromDType("float32",l),h=p3.util.getTypedArrayFromDType("float32",l),p=p3.backend_util.getBroadcastDims(t,a),f=p3.backend_util.getBroadcastDims(n,a),m=p3.backend_util.mergeRealAndImagArrays(i,r),g=p3.backend_util.mergeRealAndImagArrays(s,o),_=t.length,y=p3.util.computeStrides(t),v=n.length,b=p3.util.computeStrides(n);if(p.length+f.length===0)for(let t=0;ti[e]=0);const r=p3.util.locToIndex(i,_,y),s=n.slice(-v);f.forEach(e=>s[e]=0);const o=p3.util.locToIndex(s,v,b),a=e(m[2*r],m[2*r+1],g[2*o],g[2*o+1]);d[t]=a.real,h[t]=a.imag}return[d,h,a]}} +function Kae(e,t,n,i){return null==n?({inputs:n,backend:r})=>{const{a:s,b:o}=n,a=r;Dae([s,o],e);const l=a.data.get(s.dataId).values,u=a.data.get(o.dataId).values,c="string"===s.dtype?v3.backend_util.fromUint8ToStringArray(l):l,d="string"===s.dtype?v3.backend_util.fromUint8ToStringArray(u):u,h=i||s.dtype,[p,f]=t(s.shape,o.shape,c,d,h);return a.makeTensorInfo(f,h,p)}:({inputs:e,backend:r})=>{const{a:s,b:o}=e,a=r;if("complex64"===s.dtype||"complex64"===o.dtype){const e=Xae({inputs:{x:s},backend:a,attrs:{dtype:"complex64"}}),t=a.data.get(e.dataId),i=t.complexTensorInfos.real,r=t.complexTensorInfos.imag,l=a.data.get(i.dataId).values,u=a.data.get(r.dataId).values,c=Xae({inputs:{x:o},backend:a,attrs:{dtype:"complex64"}}),d=a.data.get(c.dataId),h=d.complexTensorInfos.real,p=d.complexTensorInfos.imag,f=a.data.get(h.dataId).values,m=a.data.get(p.dataId).values,[g,_,y]=n(s.shape,o.shape,l,u,f,m),v=a.makeTensorInfo(y,"float32",g),b=a.makeTensorInfo(y,"float32",_),T=Uae({inputs:{real:v,imag:b},backend:a});return a.disposeIntermediateTensorInfo(e),a.disposeIntermediateTensorInfo(c),a.disposeIntermediateTensorInfo(v),a.disposeIntermediateTensorInfo(b),T}{const e=a.data.get(s.dataId).values,n=a.data.get(o.dataId).values,r=i||s.dtype,[l,u]=t(s.shape,o.shape,e,n,r);return a.makeTensorInfo(u,r,l)}}}function Zae(e){return(t,n,i,r,s,o)=>{const a=v3.backend_util.assertAndGetBroadcastShape(t,n),l=v3.util.sizeFromShape(a),u=a.length,c=v3.util.computeStrides(a),d=v3.util.getTypedArrayFromDType("float32",l),h=v3.util.getTypedArrayFromDType("float32",l),p=v3.backend_util.getBroadcastDims(t,a),f=v3.backend_util.getBroadcastDims(n,a),m=v3.backend_util.mergeRealAndImagArrays(i,r),g=v3.backend_util.mergeRealAndImagArrays(s,o),_=t.length,y=v3.util.computeStrides(t),v=n.length,b=v3.util.computeStrides(n);if(p.length+f.length===0)for(let t=0;ti[e]=0);const r=v3.util.locToIndex(i,_,y),s=n.slice(-v);f.forEach(e=>s[e]=0);const o=v3.util.locToIndex(s,v,b),a=e(m[2*r],m[2*r+1],g[2*o],g[2*o+1]);d[t]=a.real,h[t]=a.imag}return[d,h,a]}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12412,7 +12412,7 @@ function Yae(e,t,n,i){return null==n?({inputs:n,backend:r})=>{const{a:s,b:o}=n,a * limitations under the License. * ============================================================================= */ -const Hae=Nae((e,t)=>e+t),Wae=Gae((e,t,n,i)=>({real:e+n,imag:t+i})),Xae=Yae(p3.Add,Hae,Wae),qae={kernelName:p3.Add,backendName:"cpu",kernelFunc:Xae}; +const Qae=$ae((e,t)=>e+t),Jae=Zae((e,t,n,i)=>({real:e+n,imag:t+i})),ele=Kae(v3.Add,Qae,Jae),tle={kernelName:v3.Add,backendName:"cpu",kernelFunc:ele}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12429,7 +12429,7 @@ const Hae=Nae((e,t)=>e+t),Wae=Gae((e,t,n,i)=>({real:e+n,imag:t+i})),Xae=Yae(p3.A * limitations under the License. * ============================================================================= */ -function Kae(e,t,n,i,r){const s=p3.util.sizeFromShape(i),o=p3.util.makeZerosTypedArray(r,n);for(let n=0;n=r||(o[i]+=s>0?t[n]:1)}return o}function Zae(e,t,n,i=!1){const r=e.shape[0],s=e.shape[1],o=(0,p3.buffer)([r,n],t.dtype);for(let a=0;a=n||(i?o.set(1,a,s):t.size>0?o.set(o.get(a,s)+t.get(a,r),a,s):o.set(o.get(a,s)+1,a,s))}return o} +function nle(e,t,n,i,r){const s=v3.util.sizeFromShape(i),o=v3.util.makeZerosTypedArray(r,n);for(let n=0;n=r||(o[i]+=s>0?t[n]:1)}return o}function ile(e,t,n,i=!1){const r=e.shape[0],s=e.shape[1],o=(0,v3.buffer)([r,n],t.dtype);for(let a=0;a=n||(i?o.set(1,a,s):t.size>0?o.set(o.get(a,s)+t.get(a,r),a,s):o.set(o.get(a,s)+1,a,s))}return o} /** * @license * Copyright 2023 Google LLC. @@ -12446,7 +12446,7 @@ function Kae(e,t,n,i,r){const s=p3.util.sizeFromShape(i),o=p3.util.makeZerosType * limitations under the License. * ============================================================================= */ -const Qae=Nae((e,t)=>e&t),Jae=Yae(p3.BitwiseAnd,Qae),ele={kernelName:p3.BitwiseAnd,backendName:"cpu",kernelFunc:Jae}; +const rle=$ae((e,t)=>e&t),sle=Kae(v3.BitwiseAnd,rle),ole={kernelName:v3.BitwiseAnd,backendName:"cpu",kernelFunc:sle}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12463,7 +12463,7 @@ const Qae=Nae((e,t)=>e&t),Jae=Yae(p3.BitwiseAnd,Qae),ele={kernelName:p3.BitwiseA * limitations under the License. * ============================================================================= */ -function tle(e){return(t,n,i)=>{const r=p3.util.getArrayFromDType(n,t.length);for(let n=0;n{const r=v3.util.getArrayFromDType(n,t.length);for(let n=0;n{const r=p3.util.getArrayFromDType(n,t.length);fo * limitations under the License. * ============================================================================= */ -function nle(e,t,n){return ile(e,tle(t),n)}function ile(e,t,n){return({inputs:i,attrs:r,backend:s})=>{const{x:o}=i;Cae(o,e);const a=s,l=a.data.get(o.dataId).values;let u;if("string"===o.dtype){if(!Array.isArray(l))throw new Error("String tensor's value was not an instance of Array");u=p3.backend_util.fromUint8ToStringArray(l)}else u=l;const c=n||o.dtype,d=t(u,c,r);return a.makeTensorInfo(o.shape,c,d)}} +function lle(e,t,n){return ule(e,ale(t),n)}function ule(e,t,n){return({inputs:i,attrs:r,backend:s})=>{const{x:o}=i;Dae(o,e);const a=s,l=a.data.get(o.dataId).values;let u;if("string"===o.dtype){if(!Array.isArray(l))throw new Error("String tensor's value was not an instance of Array");u=v3.backend_util.fromUint8ToStringArray(l)}else u=l;const c=n||o.dtype,d=t(u,c,r);return a.makeTensorInfo(o.shape,c,d)}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12497,7 +12497,7 @@ function nle(e,t,n){return ile(e,tle(t),n)}function ile(e,t,n){return({inputs:i, * limitations under the License. * ============================================================================= */ -const rle=tle(e=>Math.ceil(e)),sle=ile(p3.Ceil,rle),ole={kernelName:p3.Ceil,backendName:"cpu",kernelFunc:sle}; +const cle=ale(e=>Math.ceil(e)),dle=ule(v3.Ceil,cle),hle={kernelName:v3.Ceil,backendName:"cpu",kernelFunc:dle}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12514,7 +12514,7 @@ const rle=tle(e=>Math.ceil(e)),sle=ile(p3.Ceil,rle),ole={kernelName:p3.Ceil,back * limitations under the License. * ============================================================================= */ -function ale(e,t,n,i){const r=p3.util.getArrayFromDType(n,p3.util.sizeFromShape(t));if(i&&"string"!==n){let t=0;e.forEach(e=>{const n=p3.util.sizeFromShape(e.shape);r.set(e.vals,t),t+=n})}else{let i=0;e.forEach(e=>{const s="string"===n?p3.backend_util.fromUint8ToStringArray(e.vals):e.vals;let o=0;for(let n=0;n{const n=v3.util.sizeFromShape(e.shape);r.set(e.vals,t),t+=n})}else{let i=0;e.forEach(e=>{const s="string"===n?v3.backend_util.fromUint8ToStringArray(e.vals):e.vals;let o=0;for(let n=0;ne===t?1:0),ule=Yae(p3.Equal,lle,null,"bool"),cle={kernelName:p3.Equal,backendName:"cpu",kernelFunc:ule},dle=tle(e=>Math.exp(e)),hle=ile(p3.Exp,dle,"float32"),ple={kernelName:p3.Exp,backendName:"cpu",kernelFunc:hle},fle=tle(e=>Math.expm1(e)),mle=ile(p3.Expm1,fle),gle={kernelName:p3.Expm1,backendName:"cpu",kernelFunc:mle},_le=tle(e=>Math.floor(e)),yle=ile(p3.Floor,_le),vle={kernelName:p3.Floor,backendName:"cpu",kernelFunc:yle},ble=Nae((e,t)=>Math.floor(e/t)),Tle=Yae(p3.FloorDiv,ble,null,"int32"),xle={kernelName:p3.FloorDiv,backendName:"cpu",kernelFunc:Tle}; +const fle=$ae((e,t)=>e===t?1:0),mle=Kae(v3.Equal,fle,null,"bool"),gle={kernelName:v3.Equal,backendName:"cpu",kernelFunc:mle},_le=ale(e=>Math.exp(e)),yle=ule(v3.Exp,_le,"float32"),vle={kernelName:v3.Exp,backendName:"cpu",kernelFunc:yle},ble=ale(e=>Math.expm1(e)),Tle=ule(v3.Expm1,ble),xle={kernelName:v3.Expm1,backendName:"cpu",kernelFunc:Tle},Ele=ale(e=>Math.floor(e)),wle=ule(v3.Floor,Ele),Ile={kernelName:v3.Floor,backendName:"cpu",kernelFunc:wle},Ale=$ae((e,t)=>Math.floor(e/t)),Sle=Kae(v3.FloorDiv,Ale,null,"int32"),Cle={kernelName:v3.FloorDiv,backendName:"cpu",kernelFunc:Sle}; /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -12548,7 +12548,7 @@ const lle=Nae((e,t)=>e===t?1:0),ule=Yae(p3.Equal,lle,null,"bool"),cle={kernelNam * limitations under the License. * ============================================================================= */ -function Ele(e,t,n,i,r,s,o,a,l){const u=(0,p3.buffer)([i,s],n);for(let n=0;n=l/s)throw new Error(`Invalid indices: ${i} does not index into ${a}`);for(let e=0;e=l/s)throw new Error(`Invalid indices: ${i} does not index into ${a}`);for(let e=0;ee>t?1:0),Ale=Yae(p3.Greater,Ile,null,"bool"),Sle={kernelName:p3.Greater,backendName:"cpu",kernelFunc:Ale},Cle=Nae((e,t)=>e>=t?1:0),Ole=Yae(p3.GreaterEqual,Cle,null,"bool"),Mle={kernelName:p3.GreaterEqual,backendName:"cpu",kernelFunc:Ole},kle=Nae((e,t)=>ee<=t?1:0),Fle=Yae(p3.LessEqual,Dle,null,"bool"),Lle={kernelName:p3.LessEqual,backendName:"cpu",kernelFunc:Fle}; +const kle=$ae((e,t)=>e>t?1:0),Rle=Kae(v3.Greater,kle,null,"bool"),Nle={kernelName:v3.Greater,backendName:"cpu",kernelFunc:Rle},Dle=$ae((e,t)=>e>=t?1:0),Fle=Kae(v3.GreaterEqual,Dle,null,"bool"),Lle={kernelName:v3.GreaterEqual,backendName:"cpu",kernelFunc:Fle},Ple=$ae((e,t)=>ee<=t?1:0),Vle=Kae(v3.LessEqual,Ule,null,"bool"),zle={kernelName:v3.LessEqual,backendName:"cpu",kernelFunc:Vle}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12599,7 +12599,7 @@ const Ile=Nae((e,t)=>e>t?1:0),Ale=Yae(p3.Greater,Ile,null,"bool"),Sle={kernelNam * limitations under the License. * ============================================================================= */ -function Ple(e,t,n){const i=(t-e)/(n-1),r=p3.util.makeZerosTypedArray(n,"float32");r[0]=e;for(let e=1;eMath.log(e)),$le=ile(p3.Log,Ble),Ule={kernelName:p3.Log,backendName:"cpu",kernelFunc:$le}; +const Yle=ale(e=>Math.log(e)),Gle=ule(v3.Log,Yle),Hle={kernelName:v3.Log,backendName:"cpu",kernelFunc:Gle}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12633,7 +12633,7 @@ const Ble=tle(e=>Math.log(e)),$le=ile(p3.Log,Ble),Ule={kernelName:p3.Log,backend * limitations under the License. * ============================================================================= */ -function Vle(e,t,n,i){const r=p3.util.getTypedArrayFromDType(i,p3.util.sizeFromShape(n));for(let n=0;ns)&&(s=t)}r[n]=s}return r} +function Wle(e,t,n,i){const r=v3.util.getTypedArrayFromDType(i,v3.util.sizeFromShape(n));for(let n=0;ns)&&(s=t)}r[n]=s}return r} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12650,7 +12650,7 @@ function Vle(e,t,n,i){const r=p3.util.getTypedArrayFromDType(i,p3.util.sizeFromS * limitations under the License. * ============================================================================= */ -const zle=Nae((e,t)=>Math.max(e,t)),jle=Yae(p3.Maximum,zle),Yle={kernelName:p3.Maximum,backendName:"cpu",kernelFunc:jle},Gle=Nae((e,t)=>Math.min(e,t)),Hle=Yae(p3.Minimum,Gle),Wle={kernelName:p3.Minimum,backendName:"cpu",kernelFunc:Hle},Xle=Nae((e,t)=>e*t),qle=Gae((e,t,n,i)=>({real:e*n-t*i,imag:e*i+t*n})),Kle=Yae(p3.Multiply,Xle,qle),Zle={kernelName:p3.Multiply,backendName:"cpu",kernelFunc:Kle}; +const Xle=$ae((e,t)=>Math.max(e,t)),qle=Kae(v3.Maximum,Xle),Kle={kernelName:v3.Maximum,backendName:"cpu",kernelFunc:qle},Zle=$ae((e,t)=>Math.min(e,t)),Qle=Kae(v3.Minimum,Zle),Jle={kernelName:v3.Minimum,backendName:"cpu",kernelFunc:Qle},eue=$ae((e,t)=>e*t),tue=Zae((e,t,n,i)=>({real:e*n-t*i,imag:e*i+t*n})),nue=Kae(v3.Multiply,eue,tue),iue={kernelName:v3.Multiply,backendName:"cpu",kernelFunc:nue}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12667,7 +12667,7 @@ const zle=Nae((e,t)=>Math.max(e,t)),jle=Yae(p3.Maximum,zle),Yle={kernelName:p3.M * limitations under the License. * ============================================================================= */ -function Qle(e,t,n){const i=p3.util.createScalarValue(-1,n);return Xle([],t,i,e,n)}const Jle={kernelName:p3.Neg,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i}=t;Cae(i,"neg");const r=n.data.get(i.dataId).values,[s,o]=Qle(r,i.shape,i.dtype);return n.makeTensorInfo(o,i.dtype,s)}},eue=Nae((e,t)=>e!==t?1:0),tue=Yae(p3.NotEqual,eue,null,"bool"),nue={kernelName:p3.NotEqual,backendName:"cpu",kernelFunc:tue}; +function rue(e,t,n){const i=v3.util.createScalarValue(-1,n);return eue([],t,i,e,n)}const sue={kernelName:v3.Neg,backendName:"cpu",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i}=t;Dae(i,"neg");const r=n.data.get(i.dataId).values,[s,o]=rue(r,i.shape,i.dtype);return n.makeTensorInfo(o,i.dtype,s)}},oue=$ae((e,t)=>e!==t?1:0),aue=Kae(v3.NotEqual,oue,null,"bool"),lue={kernelName:v3.NotEqual,backendName:"cpu",kernelFunc:aue}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12684,7 +12684,7 @@ function Qle(e,t,n){const i=p3.util.createScalarValue(-1,n);return Xle([],t,i,e, * limitations under the License. * ============================================================================= */ -function iue(e,t,n,i,r){const s=t.length,o=p3.util.sizeFromShape(t),a=p3.util.computeStrides(t),l=p3.util.computeStrides(r),u=p3.util.getTypedArrayFromDType(n,p3.util.sizeFromShape(r));for(let t=0;tn.disposeIntermediateTensorInfo(e)),n.makeTensorInfo(_,g,f)}};function lue(e,t,n,i){const r=[];let s=0;const o=t.length-1+n.length,a=new Array(o).fill(null).map(()=>[0]);!function(e,t){for(let n=0;nr)throw new Error("Ragged splits must not point past values");for(let e=1;ei[e])throw new Error("Ragged splits must be sorted in ascending order")}}(n,i);let l=1;for(let e=0;e=0){const e=a[r],t=e[e.length-1]-i[o];for(let e=o;en.disposeIntermediateTensorInfo(e)),n.makeTensorInfo(_,g,f)}};function fue(e,t,n,i){const r=[];let s=0;const o=t.length-1+n.length,a=new Array(o).fill(null).map(()=>[0]);!function(e,t){for(let n=0;nr)throw new Error("Ragged splits must not point past values");for(let e=1;ei[e])throw new Error("Ragged splits must be sorted in ascending order")}}(n,i);let l=1;for(let e=0;e=0){const e=a[r],t=e[e.length-1]-i[o];for(let e=o;e{if(e<0||e>=n){const r=p3.util.indexToLoc(i,t.length,p3.util.computeStrides(t)).join(",");throw new Error(`indices[${r}] = ${e} is not in [0, ${n})`)}})}(s,o,t[0][0]-1),0===i.length)throw new Error("params.rank must be nonzero");const l=i[0],{outSplits:u,valueSlices:c,numValues:d}=lue(s,o,e,l),h=function(e){const t=[];for(let n=0;nr[t]=e)}return t}(u),p=cue(n,i,r,c,d);return[h,p[0],p[1]]} +function(e,t,n){e.forEach((e,i)=>{if(e<0||e>=n){const r=v3.util.indexToLoc(i,t.length,v3.util.computeStrides(t)).join(",");throw new Error(`indices[${r}] = ${e} is not in [0, ${n})`)}})}(s,o,t[0][0]-1),0===i.length)throw new Error("params.rank must be nonzero");const l=i[0],{outSplits:u,valueSlices:c,numValues:d}=fue(s,o,e,l),h=function(e){const t=[];for(let n=0;nr[t]=e)}return t}(u),p=gue(n,i,r,c,d);return[h,p[0],p[1]]} /** * @license * Copyright 2022 Google LLC. @@ -12752,7 +12752,7 @@ function(e,t,n){e.forEach((e,i)=>{if(e<0||e>=n){const r=p3.util.indexToLoc(i,t.l * limitations under the License. * ============================================================================= */ -const hue=2147483647;function pue(e,t,n,i,r,s,o){if(t.length>1)throw new Error("starts must be a scalar or vector");if(r.length>1)throw new Error("limits must be a scalar or vector");if(o.length>1)throw new Error("deltas must be a scalar or vector");const a=0===t.length,l=0===r.length,u=0===o.length,c=[];a||c.push(t[0]),l||c.push(r[0]),u||c.push(o[0]);for(let e=1;e0&&rn)c=0;else if(c=Math.ceil(Math.abs((r-n)/o)),c>hue)throw new Error(`Requires ((limit - start) / delta) <= ${hue}`);h[t+1]=h[t]+c}const p=h[d],f=p3.util.getArrayFromDType(n,p);let m=0;for(let t=0;t1)throw new Error("starts must be a scalar or vector");if(r.length>1)throw new Error("limits must be a scalar or vector");if(o.length>1)throw new Error("deltas must be a scalar or vector");const a=0===t.length,l=0===r.length,u=0===o.length,c=[];a||c.push(t[0]),l||c.push(r[0]),u||c.push(o[0]);for(let e=1;e0&&rn)c=0;else if(c=Math.ceil(Math.abs((r-n)/o)),c>yue)throw new Error(`Requires ((limit - start) / delta) <= ${yue}`);h[t+1]=h[t]+c}const p=h[d],f=v3.util.getArrayFromDType(n,p);let m=0;for(let t=0;t1)throw new Error(" * limitations under the License. * ============================================================================= */ -var fue=p3.backend_util.RowPartitionType;class mue{constructor(e,t,n,i,r,s,o,a,l,u){this.shape=e,this.shapeShape=t,this.values=n,this.valuesShape=i,this.valuesDType=r,this.defaultValue=s,this.defaultValueShape=o,this.rowPartitionValues=a,this.rowPartitionValuesShapes=l,this.rowPartitionTypes=p3.backend_util.getRowPartitionTypesHelper(u),this.raggedRank=p3.backend_util.getRaggedRank(this.rowPartitionTypes)}getRowPartitionTypeByDimension(e){return this.rowPartitionTypes[0]===fue.FIRST_DIM_SIZE?this.rowPartitionTypes[e+1]:this.rowPartitionTypes[e]}getRowPartitionTensor(e){return this.rowPartitionTypes[0]===fue.FIRST_DIM_SIZE?this.rowPartitionValues[e+1]:this.rowPartitionValues[e]}getMaxWidth(e){const t=this.getRowPartitionTensor(e-1);switch(this.getRowPartitionTypeByDimension(e-1)){case fue.VALUE_ROWIDS:return mue.getMaxWidthValueRowID(t);case fue.ROW_SPLITS:return mue.getMaxWidthRowSplit(t);default:throw new Error(`Cannot handle partition type ${fue[this.getRowPartitionTypeByDimension(e-1)]}`)}}static getMaxWidthRowSplit(e){const t=e.length;if(0===t||1===t)return 0;let n=0;for(let i=0;in&&(n=t)}return n}static getMaxWidthValueRowID(e){const t=e.length;if(0===t)return 0;let n=0,i=e[0],r=0;for(let s=1;s"Final length of result must be equal to firstDimension."),r}calculateOutputIndexRowSplit(e,t,n,i){const r=e.length,s=[];for(let o=0;o0&&s.length!==e[r-1])throw new Error("Invalid row split size.");return s}calculateOutputIndexValueRowID(e,t,n,i){const r=e.length,s=[];if(0===r)return[];let o=0,a=e[0];if(a>=t.length)throw new Error(`Got currentValueRowId=${a}, which is not less than ${t.length}`);let l=t[a];s.push(l);for(let u=1;u=0&&(++o,o=t.length)throw new Error(`Got nextValueRowId=${r} which is not less than ${t.length}`);l=t[r]}s.push(l)}if(s.length!==e.length)throw new Error("Invalid row ids.");return s}calculateOutputIndex(e,t,n,i){const r=this.getRowPartitionTensor(e),s=this.getRowPartitionTypeByDimension(e);switch(s){case fue.VALUE_ROWIDS:return this.calculateOutputIndexValueRowID(r,t,n,i);case fue.ROW_SPLITS:if(r.length-1>t.length)throw new Error(`Row partition size is greater than output size: ${r.length-1} > ${t.length}`);return this.calculateOutputIndexRowSplit(r,t,n,i);default:throw new Error(`Unsupported partition type: ${fue[s]}`)}}getFirstDimensionSize(){const e=this.rowPartitionValues[0];if(0===this.rowPartitionTypes.length)throw new Error("No row_partition_types given.");const t=this.rowPartitionTypes[0];switch(t){case fue.FIRST_DIM_SIZE:return e[0];case fue.VALUE_ROWIDS:throw new Error("Cannot handle VALUE_ROWIDS in first dimension.");case fue.ROW_SPLITS:return this.rowPartitionValuesShapes[0][0]-1;default:throw new Error(`Cannot handle type ${fue[t]}`)}}compute(){if(this.rowPartitionValues[0].length<=0)throw new Error("Invalid first partition input. Tensor requires at least one element.");const e=this.getFirstDimensionSize(),t=this.calculateOutputSize(e),n=new Array(this.raggedRank+1);n[n.length-1]=1;for(let e=n.length-2;e>=0;--e)n[e]=n[e+1]*t[e+1];const i=_ue(t,!1),r=p3.util.getArrayFromDType(this.valuesDType,p3.util.sizeFromShape(i));if(n[0]*t[0]>0){let s=this.calculateFirstParentOutputIndex(e,n[0],t[0]);for(let e=1;e<=this.raggedRank;++e){s=this.calculateOutputIndex(e-1,s,n[e],t[e])}this.setOutput(this.raggedRank,s,r,i)}return[i,r]}setOutput(e,t,n,i){if(0===n.length)return;const r=this.values,s=n;let o=i.slice();o=o.slice(e+1);const a=p3.util.sizeFromShape(o),l=t.length;let u=this.defaultValue;if(u.length!==a&&1!==u.length){const e=this.defaultValueShape;(0,p3.tidy)(()=>{const t=(0,p3.reshape)(u,e),n=(0,p3.broadcastTo)(t,o);u=n.dataSync()})}let c=0,d=0,h=0;for(let e=0;e<=l;++e){let i=e=l){const e=n.length;i=Math.floor(e/a)}if(i>h)if(1===this.defaultValue.length)s.subarray(h*a,i*a).fill(this.defaultValue[0]),h=i;else for(;i>h;){gue(s.slice(h*a),u,a),++h}i<0?(c=e+1,d=h):(c=e,d=h,h=d+1)}else++h}}}function gue(e,t,n){for(let i=0;i= 0`);if(i<-1)throw new Error(`Dimension ${i} must be >= -1`);i=-1}n.push(i)}return n}function yue(e,t,n,i,r,s,o,a,l,u){return new mue(e,t,n,i,r,s,o,a,l,u).compute()} +var bue=v3.backend_util.RowPartitionType;class Tue{constructor(e,t,n,i,r,s,o,a,l,u){this.shape=e,this.shapeShape=t,this.values=n,this.valuesShape=i,this.valuesDType=r,this.defaultValue=s,this.defaultValueShape=o,this.rowPartitionValues=a,this.rowPartitionValuesShapes=l,this.rowPartitionTypes=v3.backend_util.getRowPartitionTypesHelper(u),this.raggedRank=v3.backend_util.getRaggedRank(this.rowPartitionTypes)}getRowPartitionTypeByDimension(e){return this.rowPartitionTypes[0]===bue.FIRST_DIM_SIZE?this.rowPartitionTypes[e+1]:this.rowPartitionTypes[e]}getRowPartitionTensor(e){return this.rowPartitionTypes[0]===bue.FIRST_DIM_SIZE?this.rowPartitionValues[e+1]:this.rowPartitionValues[e]}getMaxWidth(e){const t=this.getRowPartitionTensor(e-1);switch(this.getRowPartitionTypeByDimension(e-1)){case bue.VALUE_ROWIDS:return Tue.getMaxWidthValueRowID(t);case bue.ROW_SPLITS:return Tue.getMaxWidthRowSplit(t);default:throw new Error(`Cannot handle partition type ${bue[this.getRowPartitionTypeByDimension(e-1)]}`)}}static getMaxWidthRowSplit(e){const t=e.length;if(0===t||1===t)return 0;let n=0;for(let i=0;in&&(n=t)}return n}static getMaxWidthValueRowID(e){const t=e.length;if(0===t)return 0;let n=0,i=e[0],r=0;for(let s=1;s"Final length of result must be equal to firstDimension."),r}calculateOutputIndexRowSplit(e,t,n,i){const r=e.length,s=[];for(let o=0;o0&&s.length!==e[r-1])throw new Error("Invalid row split size.");return s}calculateOutputIndexValueRowID(e,t,n,i){const r=e.length,s=[];if(0===r)return[];let o=0,a=e[0];if(a>=t.length)throw new Error(`Got currentValueRowId=${a}, which is not less than ${t.length}`);let l=t[a];s.push(l);for(let u=1;u=0&&(++o,o=t.length)throw new Error(`Got nextValueRowId=${r} which is not less than ${t.length}`);l=t[r]}s.push(l)}if(s.length!==e.length)throw new Error("Invalid row ids.");return s}calculateOutputIndex(e,t,n,i){const r=this.getRowPartitionTensor(e),s=this.getRowPartitionTypeByDimension(e);switch(s){case bue.VALUE_ROWIDS:return this.calculateOutputIndexValueRowID(r,t,n,i);case bue.ROW_SPLITS:if(r.length-1>t.length)throw new Error(`Row partition size is greater than output size: ${r.length-1} > ${t.length}`);return this.calculateOutputIndexRowSplit(r,t,n,i);default:throw new Error(`Unsupported partition type: ${bue[s]}`)}}getFirstDimensionSize(){const e=this.rowPartitionValues[0];if(0===this.rowPartitionTypes.length)throw new Error("No row_partition_types given.");const t=this.rowPartitionTypes[0];switch(t){case bue.FIRST_DIM_SIZE:return e[0];case bue.VALUE_ROWIDS:throw new Error("Cannot handle VALUE_ROWIDS in first dimension.");case bue.ROW_SPLITS:return this.rowPartitionValuesShapes[0][0]-1;default:throw new Error(`Cannot handle type ${bue[t]}`)}}compute(){if(this.rowPartitionValues[0].length<=0)throw new Error("Invalid first partition input. Tensor requires at least one element.");const e=this.getFirstDimensionSize(),t=this.calculateOutputSize(e),n=new Array(this.raggedRank+1);n[n.length-1]=1;for(let e=n.length-2;e>=0;--e)n[e]=n[e+1]*t[e+1];const i=Eue(t,!1),r=v3.util.getArrayFromDType(this.valuesDType,v3.util.sizeFromShape(i));if(n[0]*t[0]>0){let s=this.calculateFirstParentOutputIndex(e,n[0],t[0]);for(let e=1;e<=this.raggedRank;++e){s=this.calculateOutputIndex(e-1,s,n[e],t[e])}this.setOutput(this.raggedRank,s,r,i)}return[i,r]}setOutput(e,t,n,i){if(0===n.length)return;const r=this.values,s=n;let o=i.slice();o=o.slice(e+1);const a=v3.util.sizeFromShape(o),l=t.length;let u=this.defaultValue;if(u.length!==a&&1!==u.length){const e=this.defaultValueShape;(0,v3.tidy)(()=>{const t=(0,v3.reshape)(u,e),n=(0,v3.broadcastTo)(t,o);u=n.dataSync()})}let c=0,d=0,h=0;for(let e=0;e<=l;++e){let i=e=l){const e=n.length;i=Math.floor(e/a)}if(i>h)if(1===this.defaultValue.length)s.subarray(h*a,i*a).fill(this.defaultValue[0]),h=i;else for(;i>h;){xue(s.slice(h*a),u,a),++h}i<0?(c=e+1,d=h):(c=e,d=h,h=d+1)}else++h}}}function xue(e,t,n){for(let i=0;i= 0`);if(i<-1)throw new Error(`Dimension ${i} must be >= -1`);i=-1}n.push(i)}return n}function wue(e,t,n,i,r,s,o,a,l,u){return new Tue(e,t,n,i,r,s,o,a,l,u).compute()} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12786,7 +12786,7 @@ var fue=p3.backend_util.RowPartitionType;class mue{constructor(e,t,n,i,r,s,o,a,l * limitations under the License. * ============================================================================= */ -function vue(e,t,n,i){if(e===t||e1)return p3.util.makeZerosTypedArray(0,i);const r=Math.abs(Math.ceil((t-e)/n)),s=p3.util.makeZerosTypedArray(r,i);t1)return v3.util.makeZerosTypedArray(0,i);const r=Math.abs(Math.ceil((t-e)/n)),s=v3.util.makeZerosTypedArray(r,i);t1)return p3.util.makeZerosTyped * limitations under the License. * ============================================================================= */ -const bue=tle(e=>1/Math.sqrt(e)),Tue=ile(p3.Rsqrt,bue),xue={kernelName:p3.Rsqrt,backendName:"cpu",kernelFunc:Tue}; +const Aue=ale(e=>1/Math.sqrt(e)),Sue=ule(v3.Rsqrt,Aue),Cue={kernelName:v3.Rsqrt,backendName:"cpu",kernelFunc:Sue}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12820,7 +12820,7 @@ const bue=tle(e=>1/Math.sqrt(e)),Tue=ile(p3.Rsqrt,bue),xue={kernelName:p3.Rsqrt, * limitations under the License. * ============================================================================= */ -function Eue(e,t,n,i,r,s,o,a,l,u){const c=[i/r,r],d=e.values,h=t.values;if(0===i)return(0,p3.buffer)(n,t.dtype);const p=l instanceof p3.TensorBuffer?l:(0,p3.buffer)(c,t.dtype);"string"==typeof l||"number"==typeof l?p.values.fill(l):"boolean"==typeof l&&p.values.fill(+l);for(let e=0;e=i/r)throw new Error(`Invalid indices: ${s} does not index into ${n}`);for(let n=0;n=i/r)throw new Error(`Invalid indices: ${s} does not index into ${n}`);for(let n=0;n1/(1+Math.exp(-e))),Iue=nle(p3.Sigmoid,e=>1/(1+Math.exp(-e))),Aue={kernelName:p3.Sigmoid,backendName:"cpu",kernelFunc:Iue}; +const Mue=ale(e=>1/(1+Math.exp(-e))),kue=lle(v3.Sigmoid,e=>1/(1+Math.exp(-e))),Rue={kernelName:v3.Sigmoid,backendName:"cpu",kernelFunc:kue}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12854,7 +12854,7 @@ const wue=tle(e=>1/(1+Math.exp(-e))),Iue=nle(p3.Sigmoid,e=>1/(1+Math.exp(-e))),A * limitations under the License. * ============================================================================= */ -function Sue(e,t,n,i,r){const s=p3.slice_util.isSliceContinous(i,t,n),o=p3.util.sizeFromShape(n),a=p3.util.computeStrides(i);if(s){const n=p3.slice_util.computeFlatOffset(t,a);return"string"===r?e.slice(n,n+o):e.subarray(n,n+o)}const l="string"===r?p3.backend_util.fromUint8ToStringArray(e):e,u=(0,p3.buffer)(i,r,l),c=(0,p3.buffer)(n,r);for(let e=0;ee+t[n]);c.set(u.get(...i),...n)}return"string"===r?p3.backend_util.fromStringArrayToUint8(c.values):c.values}function Cue(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,size:o}=i;Cae(r,"slice");const[a,l]=p3.slice_util.parseSliceParams(r,s,o);p3.slice_util.assertParamsValid(r,a,l);const u=Sue(n.data.get(r.dataId).values,a,l,r.shape,r.dtype);return n.makeTensorInfo(l,r.dtype,u)}const Oue={kernelName:p3.Slice,backendName:"cpu",kernelFunc:Cue}; +function Nue(e,t,n,i,r){const s=v3.slice_util.isSliceContinous(i,t,n),o=v3.util.sizeFromShape(n),a=v3.util.computeStrides(i);if(s){const n=v3.slice_util.computeFlatOffset(t,a);return"string"===r?e.slice(n,n+o):e.subarray(n,n+o)}const l="string"===r?v3.backend_util.fromUint8ToStringArray(e):e,u=(0,v3.buffer)(i,r,l),c=(0,v3.buffer)(n,r);for(let e=0;ee+t[n]);c.set(u.get(...i),...n)}return"string"===r?v3.backend_util.fromStringArrayToUint8(c.values):c.values}function Due(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,size:o}=i;Dae(r,"slice");const[a,l]=v3.slice_util.parseSliceParams(r,s,o);v3.slice_util.assertParamsValid(r,a,l);const u=Nue(n.data.get(r.dataId).values,a,l,r.shape,r.dtype);return n.makeTensorInfo(l,r.dtype,u)}const Fue={kernelName:v3.Slice,backendName:"cpu",kernelFunc:Due}; /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -12871,7 +12871,7 @@ function Sue(e,t,n,i,r){const s=p3.slice_util.isSliceContinous(i,t,n),o=p3.util. * limitations under the License. * ============================================================================= */ -function Mue(e,t,n,i,r,s,o){const a=t[0],l=s[0],u=new Array(l),c=new Array(a),d=t[1];if(0===l){if(0!==a)throw new Error(p3.backend_util.getSparseFillEmptyRowsIndicesDenseShapeMismatch(a));return[p3.util.getArrayFromDType(n,0),[0,d],p3.util.getArrayFromDType(r,0),u,c]}let h=!0,p=0;const f=new Array(l).fill(0);for(let t=0;t=l)throw new Error(p3.backend_util.getSparseFillEmptyRowsOutOfRangeIndexErrorMessage(t,n,l));++f[n],h=h&&n>=p,p=n}let m=!0;for(let e=0;e0&&(f[e]+=f[e-1])}if(m&&h){const t=e,n=i;for(let e=0;e=l)throw new Error(v3.backend_util.getSparseFillEmptyRowsOutOfRangeIndexErrorMessage(t,n,l));++f[n],h=h&&n>=p,p=n}let m=!0;for(let e=0;e0&&(f[e]+=f[e-1])}if(m&&h){const t=e,n=i;for(let e=0;e0){h[d-1]=1;for(let e=d-2;e>=0;--e)h[e]=h[e+1]*i[e+1]}const p=[];if(a>0){p[a-1]=1;for(let e=a-2;e>=0;--e)p[e]=p[e+1]*l[e+1]}const f=p3.util.getArrayFromDType(n,o*a);for(let t=0;t0){h[d-1]=1;for(let e=d-2;e>=0;--e)h[e]=h[e+1]*i[e+1]}const p=[];if(a>0){p[a-1]=1;for(let e=a-2;e>=0;--e)p[e]=p[e+1]*l[e+1]}const f=v3.util.getArrayFromDType(n,o*a);for(let t=0;t0?r[a-1]+1:0;if(c<0)throw new Error(p3.backend_util.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());const d=t.slice();d[0]=c;const h=d.reduce((e,t)=>e*t,1),p=p3.util.getArrayFromDType(n,h);if(0===a)return c>0&&p.fill(o),[p,d];if(c<=0)throw new Error(p3.backend_util.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let f=0,m=1,g=0,_=r[f];for(;;){let t=0;if(m=t)throw new Error(p3.backend_util.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage())}if(_<0||_>=c)throw new Error(p3.backend_util.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(_,c));_>g&&p.fill(o,g*u,_*u);for(let t=f;t=l[0])throw new Error(p3.backend_util.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(t,i[t],l[0]));for(let t=0;ta)break}return g0?r[a-1]+1:0;if(c<0)throw new Error(v3.backend_util.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());const d=t.slice();d[0]=c;const h=d.reduce((e,t)=>e*t,1),p=v3.util.getArrayFromDType(n,h);if(0===a)return c>0&&p.fill(o),[p,d];if(c<=0)throw new Error(v3.backend_util.getSparseSegmentReductionNegativeSegmentIdsErrorMessage());let f=0,m=1,g=0,_=r[f];for(;;){let t=0;if(m=t)throw new Error(v3.backend_util.getSparseSegmentReductionNonIncreasingSegmentIdsErrorMessage())}if(_<0||_>=c)throw new Error(v3.backend_util.getSparseSegmentReductionSegmentIdOutOfRangeErrorMessage(_,c));_>g&&p.fill(o,g*u,_*u);for(let t=f;t=l[0])throw new Error(v3.backend_util.getSparseSegmentReductionIndicesOutOfRangeErrorMessage(t,i[t],l[0]));for(let t=0;ta)break}return gMath.sqrt(e)),Due=nle(p3.Sqrt,e=>Math.sqrt(e)),Fue={kernelName:p3.Sqrt,backendName:"cpu",kernelFunc:Due},Lue=Nae((e,t)=>{const n=e-t;return n*n}),Pue=Yae(p3.SquaredDifference,Lue),Bue={kernelName:p3.SquaredDifference,backendName:"cpu",kernelFunc:Pue},$ue=tle((e,t)=>{const{pattern:n,replaceGlobal:i,rewrite:r}=t;return e.replace(new RegExp(n,i?"g":""),r)}),Uue=ile(p3.StaticRegexReplace,$ue),Vue={kernelName:p3.StaticRegexReplace,backendName:"cpu",kernelFunc:Uue}; +const $ue=ale(e=>Math.sqrt(e)),Uue=lle(v3.Sqrt,e=>Math.sqrt(e)),Vue={kernelName:v3.Sqrt,backendName:"cpu",kernelFunc:Uue},zue=$ae((e,t)=>{const n=e-t;return n*n}),jue=Kae(v3.SquaredDifference,zue),Yue={kernelName:v3.SquaredDifference,backendName:"cpu",kernelFunc:jue},Gue=ale((e,t)=>{const{pattern:n,replaceGlobal:i,rewrite:r}=t;return e.replace(new RegExp(n,i?"g":""),r)}),Hue=ule(v3.StaticRegexReplace,Gue),Wue={kernelName:v3.StaticRegexReplace,backendName:"cpu",kernelFunc:Hue}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -12939,7 +12939,7 @@ const Nue=tle(e=>Math.sqrt(e)),Due=nle(p3.Sqrt,e=>Math.sqrt(e)),Fue={kernelName: * limitations under the License. * ============================================================================= */ -function zue(e,t,n,i){const r=(0,p3.buffer)(e,t.dtype);for(let e=0;e0?0:o-a);let h=0;h+=l*this.leftPad.length;for(let t=0;te.forEach(e=>p[f++]=e);for(let e=0;e0){m(e[d+c-1]);for(let e=0;e0){let e=t[0];if(0!==e)throw new Error(`First split value must be 0, got ${e}`);for(let r=1;r=e;if(i=i&&t[r]<=n,!i)throw new Error(`Invalid split value ${t[r]}, must be in [${e}, ${n}]`);e=t[r]}if(e!==n)throw new Error(`Last split value must be data size. Expected ${n}, got ${e}`)}const r=i-1,s=p3.util.getArrayFromDType("int32",i);if(0===n||0===i){const e=new Array(n);for(let e=0;e<=r;++e)s[e]=0;return[e,s]}s[0]=0;for(let e=1;e<=r;++e){const n=t[e]-t[e-1];let i=0;this.nGramWidths.forEach(e=>{i+=this.getNumNGrams(n,e)}),this.preserveShort&&n>0&&0===i&&(i=1),s[e]=s[e-1]+i}const o=new Array(s[r]);for(let n=0;n{const a=t[n+1]-t[n],l=this.getNumNGrams(a,s);this.createNGrams(e,i,o,r,l,s),r+=l}),this.preserveShort&&r===s[n]){const s=t[n+1]-t[n];if(0===s)continue;const a=s+2*this.padWidth,l=1;this.createNGrams(e,i,o,r,l,a)}}return[o,s]}}function Yue(e,t,n,i,r,s,o,a){return new jue(n,i,r,s,o,a).compute(e,t)} +class que{constructor(e,t,n,i,r,s){this.separator=v3.util.encodeString(e),this.nGramWidths=t,this.leftPad=v3.util.encodeString(n),this.rightPad=v3.util.encodeString(i),this.padWidth=r,this.preserveShort=s}getPadWidth(e){return Math.min(this.padWidth<0?e-1:this.padWidth,e-1)}getNumNGrams(e,t){const n=this.getPadWidth(t);return Math.max(0,e+2*n-t+1)}createNGrams(e,t,n,i,r,s){for(let o=0;o0?0:o-a);let h=0;h+=l*this.leftPad.length;for(let t=0;te.forEach(e=>p[f++]=e);for(let e=0;e0){m(e[d+c-1]);for(let e=0;e0){let e=t[0];if(0!==e)throw new Error(`First split value must be 0, got ${e}`);for(let r=1;r=e;if(i=i&&t[r]<=n,!i)throw new Error(`Invalid split value ${t[r]}, must be in [${e}, ${n}]`);e=t[r]}if(e!==n)throw new Error(`Last split value must be data size. Expected ${n}, got ${e}`)}const r=i-1,s=v3.util.getArrayFromDType("int32",i);if(0===n||0===i){const e=new Array(n);for(let e=0;e<=r;++e)s[e]=0;return[e,s]}s[0]=0;for(let e=1;e<=r;++e){const n=t[e]-t[e-1];let i=0;this.nGramWidths.forEach(e=>{i+=this.getNumNGrams(n,e)}),this.preserveShort&&n>0&&0===i&&(i=1),s[e]=s[e-1]+i}const o=new Array(s[r]);for(let n=0;n{const a=t[n+1]-t[n],l=this.getNumNGrams(a,s);this.createNGrams(e,i,o,r,l,s),r+=l}),this.preserveShort&&r===s[n]){const s=t[n+1]-t[n];if(0===s)continue;const a=s+2*this.padWidth,l=1;this.createNGrams(e,i,o,r,l,a)}}return[o,s]}}function Kue(e,t,n,i,r,s,o,a){return new que(n,i,r,s,o,a).compute(e,t)} /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -12973,7 +12973,7 @@ class jue{constructor(e,t,n,i,r,s){this.separator=p3.util.encodeString(e),this.n * limitations under the License. * ============================================================================= */ -function Gue(e,t,n,i){if(!e.length)return;if(0===t.length){for(let t=0;te-t),que=Gae((e,t,n,i)=>({real:e-n,imag:t-i})),Kue=Yae(p3.Sub,Xue,que),Zue={kernelName:p3.Sub,backendName:"cpu",kernelFunc:Kue}; +const ece=$ae((e,t)=>e-t),tce=Zae((e,t,n,i)=>({real:e-n,imag:t-i})),nce=Kae(v3.Sub,ece,tce),ice={kernelName:v3.Sub,backendName:"cpu",kernelFunc:nce}; /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -13024,7 +13024,7 @@ const Xue=Nae((e,t)=>e-t),que=Gae((e,t,n,i)=>({real:e-n,imag:t-i})),Kue=Yae(p3.S * limitations under the License. * ============================================================================= */ -function Que(e,t){const n=new Array(e.rank);for(let i=0;i{const n=t.value-e.value;return 0===n?e.index-t.index:n};function ece(e,t,n=0,i=e.length-1){for(;i>n;){if(i-n>600){const r=i-n+1,s=t-n+1,o=Math.log(r),a=.5*Math.exp(2*o/3),l=.5*Math.sqrt(o*a*(r-a)/r)*Math.sign(s-r/2);ece(e,t,Math.max(n,Math.floor(t-s*a/r+l)),Math.min(i,Math.floor(t+(r-s)*a/r+l)))}const r=e[t];let s=n,o=i;for(p3.util.swap(e,n,t),Jue(e[i],r)>0&&p3.util.swap(e,n,i);s0;)o-=1}0===Jue(e[n],r)?p3.util.swap(e,n,o):(o+=1,p3.util.swap(e,o,i)),o<=t&&(n=o+1),t<=o&&(i=o-1)}}function tce(e,t,n,i,r){const s=t[t.length-1],[o,a]=[e.length/s,s],l=p3.util.getTypedArrayFromDType(n,o*i),u=p3.util.getTypedArrayFromDType("int32",o*i);for(let t=0;to[t]={value:e,index:t}),i{const n=t.value-e.value;return 0===n?e.index-t.index:n};function oce(e,t,n=0,i=e.length-1){for(;i>n;){if(i-n>600){const r=i-n+1,s=t-n+1,o=Math.log(r),a=.5*Math.exp(2*o/3),l=.5*Math.sqrt(o*a*(r-a)/r)*Math.sign(s-r/2);oce(e,t,Math.max(n,Math.floor(t-s*a/r+l)),Math.min(i,Math.floor(t+(r-s)*a/r+l)))}const r=e[t];let s=n,o=i;for(v3.util.swap(e,n,t),sce(e[i],r)>0&&v3.util.swap(e,n,i);s0;)o-=1}0===sce(e[n],r)?v3.util.swap(e,n,o):(o+=1,v3.util.swap(e,o,i)),o<=t&&(n=o+1),t<=o&&(i=o-1)}}function ace(e,t,n,i,r){const s=t[t.length-1],[o,a]=[e.length/s,s],l=v3.util.getTypedArrayFromDType(n,o*i),u=v3.util.getTypedArrayFromDType("int32",o*i);for(let t=0;to[t]={value:e,index:t}),i{const n=t.value-e.value;return 0===n?e.index-t.index:n};functi * limitations under the License. * ============================================================================= */ -function nce(e,t,n,i){const r=p3.util.parseAxisParam(t,n)[0],s=[1,n[0],1];for(let e=0;e{for(let n=0;n{for(let n=0;nnew Mae,1); +(0,v3.registerBackend)("cpu",()=>new Lae,1); /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13110,7 +13110,7 @@ const ice="4.22.0"; * limitations under the License. * ============================================================================= */ -const rce=nle(p3.Elu,e=>e>=0?e:Math.exp(e)-1),sce={kernelName:p3.Elu,backendName:"cpu",kernelFunc:rce}; +const cce=lle(v3.Elu,e=>e>=0?e:Math.exp(e)-1),dce={kernelName:v3.Elu,backendName:"cpu",kernelFunc:cce}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13127,7 +13127,7 @@ const rce=nle(p3.Elu,e=>e>=0?e:Math.exp(e)-1),sce={kernelName:p3.Elu,backendName * limitations under the License. * ============================================================================= */ -function oce(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{alpha:s}=i;Cae([r],"leakyRelu");const o=p3.util.sizeFromShape(r.shape),a=n.data.get(r.dataId).values,l=p3.util.getTypedArrayFromDType("float32",o);for(let e=0;ee<0?t*e:e);function uce(e){const{inputs:t,backend:n}=e,{x:i,alpha:r}=t;Cae([i,r],"prelu");const s=n.data.get(i.dataId).values,o=n.data.get(r.dataId).values,[a,l]=lce(i.shape,r.shape,s,o,"float32");return n.makeTensorInfo(l,"float32",a)}const cce={kernelName:p3.Prelu,backendName:"cpu",kernelFunc:uce},dce=nle(p3.Relu,e=>Math.max(0,e)),hce={kernelName:p3.Relu,backendName:"cpu",kernelFunc:dce},pce=nle(p3.Relu6,e=>Math.min(Math.max(0,e),6)),fce={kernelName:p3.Relu6,backendName:"cpu",kernelFunc:pce}; +function hce(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{alpha:s}=i;Dae([r],"leakyRelu");const o=v3.util.sizeFromShape(r.shape),a=n.data.get(r.dataId).values,l=v3.util.getTypedArrayFromDType("float32",o);for(let e=0;ee<0?t*e:e);function mce(e){const{inputs:t,backend:n}=e,{x:i,alpha:r}=t;Dae([i,r],"prelu");const s=n.data.get(i.dataId).values,o=n.data.get(r.dataId).values,[a,l]=fce(i.shape,r.shape,s,o,"float32");return n.makeTensorInfo(l,"float32",a)}const gce={kernelName:v3.Prelu,backendName:"cpu",kernelFunc:mce},_ce=lle(v3.Relu,e=>Math.max(0,e)),yce={kernelName:v3.Relu,backendName:"cpu",kernelFunc:_ce},vce=lle(v3.Relu6,e=>Math.min(Math.max(0,e),6)),bce={kernelName:v3.Relu6,backendName:"cpu",kernelFunc:vce}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13144,7 +13144,7 @@ function oce(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{alpha:s}=i;Cae([r], * limitations under the License. * ============================================================================= */ -function mce(e,t,n,i,r){if("linear"===n)return Pae({inputs:{x:t},backend:e});if("relu"===n)return dce({inputs:{x:t},backend:e});if("elu"===n)return rce({inputs:{x:t},backend:e});if("relu6"===n)return pce({inputs:{x:t},backend:e});if("prelu"===n)return uce({inputs:{x:t,alpha:i},backend:e});if("leakyrelu"===n)return oce({inputs:{x:t},backend:e,attrs:{alpha:r}});if("sigmoid"===n)return Iue({inputs:{x:t},backend:e});throw new Error(`Activation ${n} has not been implemented for the CPU backend.`)} +function Tce(e,t,n,i,r){if("linear"===n)return jae({inputs:{x:t},backend:e});if("relu"===n)return _ce({inputs:{x:t},backend:e});if("elu"===n)return cce({inputs:{x:t},backend:e});if("relu6"===n)return vce({inputs:{x:t},backend:e});if("prelu"===n)return mce({inputs:{x:t,alpha:i},backend:e});if("leakyrelu"===n)return hce({inputs:{x:t},backend:e,attrs:{alpha:r}});if("sigmoid"===n)return kue({inputs:{x:t},backend:e});throw new Error(`Activation ${n} has not been implemented for the CPU backend.`)} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13161,7 +13161,7 @@ function mce(e,t,n,i,r){if("linear"===n)return Pae({inputs:{x:t},backend:e});if( * limitations under the License. * ============================================================================= */ -function gce(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{shape:s}=i,o=p3.util.sizeFromShape(r.shape),a=p3.util.inferFromImplicitShape(s,o),l=p3.util.sizeFromShape(a);p3.util.assert(o===l,()=>`The new shape (${a}) has ${l} elements and the old shape (${r.shape}) has ${o} elements. The new shape and old shape must have the same number of elements.`),n.incRef(r.dataId);const u=n.data.get(r.dataId);if(null!=u.complexTensorInfos){const e=u.complexTensorInfos.real,t=u.complexTensorInfos.imag;e.shape=a,t.shape=a}return{dataId:r.dataId,shape:a,dtype:r.dtype}}const _ce={kernelName:p3.Reshape,backendName:"cpu",kernelFunc:gce}; +function xce(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{shape:s}=i,o=v3.util.sizeFromShape(r.shape),a=v3.util.inferFromImplicitShape(s,o),l=v3.util.sizeFromShape(a);v3.util.assert(o===l,()=>`The new shape (${a}) has ${l} elements and the old shape (${r.shape}) has ${o} elements. The new shape and old shape must have the same number of elements.`),n.incRef(r.dataId);const u=n.data.get(r.dataId);if(null!=u.complexTensorInfos){const e=u.complexTensorInfos.real,t=u.complexTensorInfos.imag;e.shape=a,t.shape=a}return{dataId:r.dataId,shape:a,dtype:r.dtype}}const Ece={kernelName:v3.Reshape,backendName:"cpu",kernelFunc:xce}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13178,7 +13178,7 @@ function gce(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{shape:s}=i,o=p3.uti * limitations under the License. * ============================================================================= */ -function yce(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s}=t,{transposeA:o,transposeB:a}=i;Cae([r,s],"matMul");const l=r.shape.length,u=s.shape.length,c=o?r.shape[l-2]:r.shape[l-1],d=a?s.shape[u-1]:s.shape[u-2],h=o?r.shape[l-1]:r.shape[l-2],p=a?s.shape[u-2]:s.shape[u-1],f=r.shape.slice(0,-2),m=s.shape.slice(0,-2),g=p3.util.sizeFromShape(f),_=p3.util.sizeFromShape(m),y=p3.broadcast_util.assertAndGetBroadcastShape(r.shape.slice(0,-2),s.shape.slice(0,-2)).concat([h,p]);p3.util.assert(c===d,()=>`Error in matMul: inner shapes (${c}) and (${d}) of Tensors with shapes ${r.shape} and ${s.shape} and transposeA=${o} and transposeB=${a} must match.`);const v=a?[_,p,d]:[_,d,p],b=gce({inputs:{x:r},backend:n,attrs:{shape:o?[g,c,h]:[g,h,c]}}),T=gce({inputs:{x:s},backend:n,attrs:{shape:v}}),x=o?b.shape[1]:b.shape[2],E=o?b.shape[2]:b.shape[1],w=a?T.shape[1]:T.shape[2],I=Math.max(g,_),A=n.data.get(b.dataId).values,S=n.data.get(T.dataId).values,C=p3.util.computeStrides(b.shape),O=p3.util.computeStrides(T.shape),[M,k,R]=o?[C[0],1,C[1]]:[C[0],C[1],1],[N,D,F]=a?[1,O[1],O[0]]:[O[1],1,O[0]],L=E*w,P=(0,p3.buffer)([I,E,w],b.dtype),B=P.values,$=n.blockSize;for(let e=0;e`Error in matMul: inner shapes (${c}) and (${d}) of Tensors with shapes ${r.shape} and ${s.shape} and transposeA=${o} and transposeB=${a} must match.`);const v=a?[_,p,d]:[_,d,p],b=xce({inputs:{x:r},backend:n,attrs:{shape:o?[g,c,h]:[g,h,c]}}),T=xce({inputs:{x:s},backend:n,attrs:{shape:v}}),x=o?b.shape[1]:b.shape[2],E=o?b.shape[2]:b.shape[1],w=a?T.shape[1]:T.shape[2],I=Math.max(g,_),A=n.data.get(b.dataId).values,S=n.data.get(T.dataId).values,C=v3.util.computeStrides(b.shape),O=v3.util.computeStrides(T.shape),[M,k,R]=o?[C[0],1,C[1]]:[C[0],C[1],1],[N,D,F]=a?[1,O[1],O[0]]:[O[1],1,O[0]],L=E*w,P=(0,v3.buffer)([I,E,w],b.dtype),B=P.values,$=n.blockSize;for(let e=0;eMath.acos(e)),xce={kernelName:p3.Acos,backendName:"cpu",kernelFunc:Tce},Ece=nle(p3.Acosh,e=>Math.acosh(e)),wce={kernelName:p3.Acosh,backendName:"cpu",kernelFunc:Ece};const Ice={kernelName:p3.AddN,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s,bias:o,preluActivationWeights:a}=t,{transposeA:l,transposeB:u,activation:c,leakyreluAlpha:d}=i;let h,p,f;const m=[];h=wce({inputs:{a:r,b:s},attrs:{transposeA:l,transposeB:u},backend:n}),o&&(p=ele({inputs:{a:h,b:o},backend:n}),m.push(h),h=p),c&&(f=Tce(n,h,c,a,d),m.push(h),h=f);for(const e of m)n.disposeIntermediateTensorInfo(e);return h}},Sce=lle(v3.Acos,e=>Math.acos(e)),Cce={kernelName:v3.Acos,backendName:"cpu",kernelFunc:Sce},Oce=lle(v3.Acosh,e=>Math.acosh(e)),Mce={kernelName:v3.Acosh,backendName:"cpu",kernelFunc:Oce};const kce={kernelName:v3.AddN,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13212,7 +13212,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s,bias:o,preluActivationW * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,i=t;Cae(t,"addN");const r=i.map(e=>n.data.get(e.dataId).values),s=(0,p3.buffer)(i[0].shape,i[0].dtype),o=s.values;for(let e=0;en.data.get(e.dataId).values),s=(0,v3.buffer)(i[0].shape,i[0].dtype),o=s.values;for(let e=0;en.dat * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i;Cae(r,"all");const a=p3.util.parseAxisParam(s,r.shape);let l=a;const u=p3.backend_util.getAxesPermutation(l,r.shape.length);let c=r;null!=u&&(c=rue({inputs:{x:r},backend:n,attrs:{perm:u}}),l=p3.backend_util.getInnerMostAxes(l.length,r.shape.length)),p3.backend_util.assertAxesAreInnerMostDims("all",l,c.shape.length);const[d,h]=p3.backend_util.computeOutAndReduceShapes(c.shape,l),p=p3.util.sizeFromShape(h),f=p3.util.makeZerosTypedArray(p3.util.sizeFromShape(d),c.dtype),m=n.data.get(c.dataId).values;for(let e=0;en&&(n=r,i=e)}p[e]=i}return u.forEach(e=>n.disposeIntermediateTensorInfo(e)),n.makeTensorInfo(c,"int32",p)}};const Oce={kernelName:p3.ArgMin,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;Dae(r,"argMax");let o=v3.util.parseAxisParam(s,r.shape);const a=v3.backend_util.getAxesPermutation(o,r.shape.length);let l=r;const u=[];null!=a&&(l=cue({inputs:{x:r},backend:n,attrs:{perm:a}}),u.push(l),o=v3.backend_util.getInnerMostAxes(o.length,l.shape.length)),o=[o[0]],v3.backend_util.assertAxesAreInnerMostDims("argMax",o,l.shape.length);const[c,d]=v3.backend_util.computeOutAndReduceShapes(l.shape,o),h=v3.util.sizeFromShape(c),p=v3.util.makeZerosTypedArray(h,"int32"),f=v3.util.sizeFromShape(d),m=n.data.get(l.dataId).values;for(let e=0;en&&(n=r,i=e)}p[e]=i}return u.forEach(e=>n.disposeIntermediateTensorInfo(e)),n.makeTensorInfo(c,"int32",p)}};const Fce={kernelName:v3.ArgMin,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13280,7 +13280,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;Cae(r,"argMax * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;Cae(r,"argMin");let o=p3.util.parseAxisParam(s,r.shape);const a=p3.backend_util.getAxesPermutation(o,r.shape.length);let l=r;const u=[];null!=a&&(l=rue({inputs:{x:r},backend:n,attrs:{perm:a}}),u.push(l),o=p3.backend_util.getInnerMostAxes(o.length,l.shape.length)),o=[o[0]],p3.backend_util.assertAxesAreInnerMostDims("argMin",o,l.shape.length);const[c,d]=p3.backend_util.computeOutAndReduceShapes(l.shape,o),h=p3.util.sizeFromShape(c),p=p3.util.makeZerosTypedArray(h,"int32"),f=p3.util.sizeFromShape(d),m=n.data.get(l.dataId).values;for(let e=0;en.disposeIntermediateTensorInfo(e)),n.makeTensorInfo(c,"int32",p)}},Mce=nle(p3.Asin,e=>Math.asin(e)),kce={kernelName:p3.Asin,backendName:"cpu",kernelFunc:Mce},Rce=nle(p3.Asinh,e=>Math.asinh(e)),Nce={kernelName:p3.Asinh,backendName:"cpu",kernelFunc:Rce},Dce=nle(p3.Atan,e=>Math.atan(e)),Fce={kernelName:p3.Atan,backendName:"cpu",kernelFunc:Dce},Lce=Nae((e,t)=>Math.atan2(e,t)),Pce=Yae(p3.Atan2,Lce),Bce={kernelName:p3.Atan2,backendName:"cpu",kernelFunc:Pce},$ce=nle(p3.Atanh,e=>Math.atanh(e)),Uce={kernelName:p3.Atanh,backendName:"cpu",kernelFunc:$ce}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;Dae(r,"argMin");let o=v3.util.parseAxisParam(s,r.shape);const a=v3.backend_util.getAxesPermutation(o,r.shape.length);let l=r;const u=[];null!=a&&(l=cue({inputs:{x:r},backend:n,attrs:{perm:a}}),u.push(l),o=v3.backend_util.getInnerMostAxes(o.length,l.shape.length)),o=[o[0]],v3.backend_util.assertAxesAreInnerMostDims("argMin",o,l.shape.length);const[c,d]=v3.backend_util.computeOutAndReduceShapes(l.shape,o),h=v3.util.sizeFromShape(c),p=v3.util.makeZerosTypedArray(h,"int32"),f=v3.util.sizeFromShape(d),m=n.data.get(l.dataId).values;for(let e=0;en.disposeIntermediateTensorInfo(e)),n.makeTensorInfo(c,"int32",p)}},Lce=lle(v3.Asin,e=>Math.asin(e)),Pce={kernelName:v3.Asin,backendName:"cpu",kernelFunc:Lce},Bce=lle(v3.Asinh,e=>Math.asinh(e)),$ce={kernelName:v3.Asinh,backendName:"cpu",kernelFunc:Bce},Uce=lle(v3.Atan,e=>Math.atan(e)),Vce={kernelName:v3.Atan,backendName:"cpu",kernelFunc:Uce},zce=$ae((e,t)=>Math.atan2(e,t)),jce=Kae(v3.Atan2,zce),Yce={kernelName:v3.Atan2,backendName:"cpu",kernelFunc:jce},Gce=lle(v3.Atanh,e=>Math.atanh(e)),Hce={kernelName:v3.Atanh,backendName:"cpu",kernelFunc:Gce}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13297,7 +13297,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;Cae(r,"argMin * limitations under the License. * ============================================================================= */ -function Vce(e,t,n,i,r,s){const o=r.strideHeight,a=r.strideWidth,l=r.dilationHeight,u=r.dilationWidth,c=r.effectiveFilterHeight,d=r.effectiveFilterWidth,h=r.padInfo.top,p=r.padInfo.left,f="max"===s?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,m=(0,p3.buffer)(r.outShape,n),g=m.values,_=r.outShape[1]*r.outShape[2]*r.outShape[3],y=r.outShape[2]*r.outShape[3],v=r.outShape[3];for(let t=0;t_?_=o:"avg"===s&&(y+=o,b++)}if(isNaN(_))break}g[E+n*v+t]="avg"===s?y/b:_}}}return m}function zce(e,t,n,i,r=!1,s=!1){const o=(0,p3.buffer)(i.outShape,"int32"),a=i.strideHeight,l=i.strideWidth,u=i.dilationHeight,c=i.dilationWidth,d=i.effectiveFilterHeight,h=i.effectiveFilterWidth,p=i.padInfo.top,f=i.padInfo.left,m=(0,p3.buffer)(t,n,e);for(let e=0;eb&&(b=u,T=r?s?((e*i.inHeight+n)*i.inWidth+a)*i.inChannels+t:(n*i.inWidth+a)*i.inChannels+t:o*h+l)}}o.set(T,e,n,a,t)}}return o}function jce(e,t,n,i,r,s){const o=r.strideDepth,a=r.strideHeight,l=r.strideWidth,u=r.dilationDepth,c=r.dilationHeight,d=r.dilationWidth,h=r.effectiveFilterDepth,p=r.effectiveFilterHeight,f=r.effectiveFilterWidth,m=r.padInfo.front,g=r.padInfo.top,_=r.padInfo.left,y="max"===s?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,v=(0,p3.buffer)(r.outShape,n),b=v.values,T=r.outShape[1]*r.outShape[2]*r.outShape[3]*r.outShape[4],x=r.outShape[2]*r.outShape[3]*r.outShape[4],E=r.outShape[3]*r.outShape[4],w=r.outShape[4];for(let t=0;tx?x=r:"avg"===s&&(E+=r,I++),isNaN(x))break}if(isNaN(x))break}if(isNaN(x))break}b[g+t]="avg"===s?E/Math.max(I,1):x}}}}return v}const Yce={kernelName:p3.AvgPool,backendName:"cpu",kernelFunc: +function Wce(e,t,n,i,r,s){const o=r.strideHeight,a=r.strideWidth,l=r.dilationHeight,u=r.dilationWidth,c=r.effectiveFilterHeight,d=r.effectiveFilterWidth,h=r.padInfo.top,p=r.padInfo.left,f="max"===s?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,m=(0,v3.buffer)(r.outShape,n),g=m.values,_=r.outShape[1]*r.outShape[2]*r.outShape[3],y=r.outShape[2]*r.outShape[3],v=r.outShape[3];for(let t=0;t_?_=o:"avg"===s&&(y+=o,b++)}if(isNaN(_))break}g[E+n*v+t]="avg"===s?y/b:_}}}return m}function Xce(e,t,n,i,r=!1,s=!1){const o=(0,v3.buffer)(i.outShape,"int32"),a=i.strideHeight,l=i.strideWidth,u=i.dilationHeight,c=i.dilationWidth,d=i.effectiveFilterHeight,h=i.effectiveFilterWidth,p=i.padInfo.top,f=i.padInfo.left,m=(0,v3.buffer)(t,n,e);for(let e=0;eb&&(b=u,T=r?s?((e*i.inHeight+n)*i.inWidth+a)*i.inChannels+t:(n*i.inWidth+a)*i.inChannels+t:o*h+l)}}o.set(T,e,n,a,t)}}return o}function qce(e,t,n,i,r,s){const o=r.strideDepth,a=r.strideHeight,l=r.strideWidth,u=r.dilationDepth,c=r.dilationHeight,d=r.dilationWidth,h=r.effectiveFilterDepth,p=r.effectiveFilterHeight,f=r.effectiveFilterWidth,m=r.padInfo.front,g=r.padInfo.top,_=r.padInfo.left,y="max"===s?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,v=(0,v3.buffer)(r.outShape,n),b=v.values,T=r.outShape[1]*r.outShape[2]*r.outShape[3]*r.outShape[4],x=r.outShape[2]*r.outShape[3]*r.outShape[4],E=r.outShape[3]*r.outShape[4],w=r.outShape[4];for(let t=0;tx?x=r:"avg"===s&&(E+=r,I++),isNaN(x))break}if(isNaN(x))break}if(isNaN(x))break}b[g+t]="avg"===s?E/Math.max(I,1):x}}}}return v}const Kce={kernelName:v3.AvgPool,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13314,7 +13314,7 @@ function Vce(e,t,n,i,r,s){const o=r.strideHeight,a=r.strideWidth,l=r.dilationHei * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;Cae(r,"avgPool");const{filterSize:s,strides:o,pad:a,dimRoundingMode:l}=i;p3.util.assert(p3.backend_util.eitherStridesOrDilationsAreOne(o,1),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${o} and dilations '1'`);const u=p3.backend_util.computePool2DInfo(r.shape,s,o,1,a,l);let c;if(1===u.filterWidth&&1===u.filterHeight&&p3.util.arraysEqual(u.inShape,u.outShape))c=Pae({inputs:{x:r},backend:n});else{const e=n.data.get(r.dataId).values,t=p3.util.computeStrides(r.shape),i=Vce(e,r.shape,r.dtype,t,u,"avg");c=n.makeTensorInfo(u.outShape,r.dtype,i.values)}return c}};const Gce={kernelName:p3.AvgPool3D,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;Dae(r,"avgPool");const{filterSize:s,strides:o,pad:a,dimRoundingMode:l}=i;v3.util.assert(v3.backend_util.eitherStridesOrDilationsAreOne(o,1),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${o} and dilations '1'`);const u=v3.backend_util.computePool2DInfo(r.shape,s,o,1,a,l);let c;if(1===u.filterWidth&&1===u.filterHeight&&v3.util.arraysEqual(u.inShape,u.outShape))c=jae({inputs:{x:r},backend:n});else{const e=n.data.get(r.dataId).values,t=v3.util.computeStrides(r.shape),i=Wce(e,r.shape,r.dtype,t,u,"avg");c=n.makeTensorInfo(u.outShape,r.dtype,i.values)}return c}};const Zce={kernelName:v3.AvgPool3D,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13331,7 +13331,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;Cae(r,"avgPool");const{f * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o,pad:a,dimRoundingMode:l,dataFormat:u}=i;Cae(r,"avgPool3d");const c=p3.backend_util.computePool3DInfo(r.shape,s,o,1,a,l,u),d=jce(n.data.get(r.dataId).values,r.shape,r.dtype,p3.util.computeStrides(r.shape),c,"avg");return n.makeTensorInfo(d.shape,"float32",d.values)}};const Hce={kernelName:p3.AvgPool3DGrad,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o,pad:a,dimRoundingMode:l,dataFormat:u}=i;Dae(r,"avgPool3d");const c=v3.backend_util.computePool3DInfo(r.shape,s,o,1,a,l,u),d=qce(n.data.get(r.dataId).values,r.shape,r.dtype,v3.util.computeStrides(r.shape),c,"avg");return n.makeTensorInfo(d.shape,"float32",d.values)}};const Qce={kernelName:v3.AvgPool3DGrad,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13348,7 +13348,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o, * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,{filterSize:o,strides:a,pad:l,dimRoundingMode:u}=i;Cae([r,s],"avgPool3DGrad");const c=p3.backend_util.computePool3DInfo(s.shape,o,a,1,l,u),d=c.strideDepth,h=c.strideHeight,p=c.strideWidth,f=c.filterDepth,m=c.filterHeight,g=c.filterWidth,_=c.dilationDepth,y=c.dilationHeight,v=c.dilationWidth,b=c.effectiveFilterDepth,T=c.effectiveFilterHeight,x=c.effectiveFilterWidth,E=b-1-c.padInfo.front,w=x-1-c.padInfo.left,I=T-1-c.padInfo.top,A=(0,p3.buffer)(s.shape,"float32"),S=1/(f*m*g),C=n.bufferSync(r);for(let e=0;e=c.outDepth||Math.floor(i)!==i))for(let n=0;n=c.outHeight||Math.floor(r)!==r))for(let n=0;n=c.outWidth||Math.floor(s)!==s)continue;l+=C.get(e,i,r,s,t)}}}A.set(l*S,e,n,i,r,t)}return n.makeTensorInfo(A.shape,A.dtype,A.values)}};const Wce={kernelName:p3.AvgPoolGrad,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,{filterSize:o,strides:a,pad:l,dimRoundingMode:u}=i;Dae([r,s],"avgPool3DGrad");const c=v3.backend_util.computePool3DInfo(s.shape,o,a,1,l,u),d=c.strideDepth,h=c.strideHeight,p=c.strideWidth,f=c.filterDepth,m=c.filterHeight,g=c.filterWidth,_=c.dilationDepth,y=c.dilationHeight,v=c.dilationWidth,b=c.effectiveFilterDepth,T=c.effectiveFilterHeight,x=c.effectiveFilterWidth,E=b-1-c.padInfo.front,w=x-1-c.padInfo.left,I=T-1-c.padInfo.top,A=(0,v3.buffer)(s.shape,"float32"),S=1/(f*m*g),C=n.bufferSync(r);for(let e=0;e=c.outDepth||Math.floor(i)!==i))for(let n=0;n=c.outHeight||Math.floor(r)!==r))for(let n=0;n=c.outWidth||Math.floor(s)!==s)continue;l+=C.get(e,i,r,s,t)}}}A.set(l*S,e,n,i,r,t)}return n.makeTensorInfo(A.shape,A.dtype,A.values)}};const Jce={kernelName:v3.AvgPoolGrad,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13365,7 +13365,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,{filterSize:o,s * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s;Cae([r,s],"avgPoolGrad");const{filterSize:a,strides:l,pad:u}=i,c=p3.backend_util.computePool2DInfo(o.shape,a,l,1,u),d=c.strideHeight,h=c.strideWidth,p=c.filterHeight,f=c.filterWidth,m=c.dilationHeight,g=c.dilationWidth,_=c.effectiveFilterHeight,y=c.effectiveFilterWidth,v=y-1-c.padInfo.left,b=_-1-c.padInfo.top,T=(0,p3.buffer)(o.shape,"float32"),x=1/(p*f),E=n.data.get(r.dataId).values,w=(0,p3.buffer)(r.shape,"float32",E);for(let e=0;e=c.outHeight||Math.floor(i)!==i))for(let n=0;n=c.outWidth||Math.floor(r)!==r)continue;o+=w.get(e,i,r,t)}}T.set(o*x,e,n,i,t)}return n.makeTensorInfo(T.shape,T.dtype,T.values)}};const Xce={kernelName:p3.FusedBatchNorm,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s;Dae([r,s],"avgPoolGrad");const{filterSize:a,strides:l,pad:u}=i,c=v3.backend_util.computePool2DInfo(o.shape,a,l,1,u),d=c.strideHeight,h=c.strideWidth,p=c.filterHeight,f=c.filterWidth,m=c.dilationHeight,g=c.dilationWidth,_=c.effectiveFilterHeight,y=c.effectiveFilterWidth,v=y-1-c.padInfo.left,b=_-1-c.padInfo.top,T=(0,v3.buffer)(o.shape,"float32"),x=1/(p*f),E=n.data.get(r.dataId).values,w=(0,v3.buffer)(r.shape,"float32",E);for(let e=0;e=c.outHeight||Math.floor(i)!==i))for(let n=0;n=c.outWidth||Math.floor(r)!==r)continue;o+=w.get(e,i,r,t)}}T.set(o*x,e,n,i,t)}return n.makeTensorInfo(T.shape,T.dtype,T.values)}};const ede={kernelName:v3.FusedBatchNorm,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13382,7 +13382,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s;Cae([r,s]," * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,scale:s,offset:o,mean:a,variance:l}=t;p3.util.assert(a.shape.length===l.shape.length,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),p3.util.assert(null==o||a.shape.length===o.shape.length,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),p3.util.assert(null==s||a.shape.length===s.shape.length,()=>"Batch normalization gradient requires mean and scale to have equal ranks."),Cae([r,a,l,s,o],"batchNorm");let{varianceEpsilon:u}=i;null==u&&(u=.001);const c=n.data.get(r.dataId).values,d=n.data.get(a.dataId).values,h=n.data.get(l.dataId).values,p=s?n.data.get(s.dataId).values:new Float32Array([1]),f=o?n.data.get(o.dataId).values:new Float32Array([0]),m=new Float32Array(c.length),g=f.length,_=p.length,y=h.length,v=d.length;let b=0,T=0,x=0,E=0;for(let e=0;e=g&&(b=0),T>=v&&(T=0),x>=_&&(x=0),E>=y&&(E=0);return n.makeTensorInfo(r.shape,r.dtype,m)}};const qce={kernelName:p3.BatchToSpaceND,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,scale:s,offset:o,mean:a,variance:l}=t;v3.util.assert(a.shape.length===l.shape.length,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),v3.util.assert(null==o||a.shape.length===o.shape.length,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),v3.util.assert(null==s||a.shape.length===s.shape.length,()=>"Batch normalization gradient requires mean and scale to have equal ranks."),Dae([r,a,l,s,o],"batchNorm");let{varianceEpsilon:u}=i;null==u&&(u=.001);const c=n.data.get(r.dataId).values,d=n.data.get(a.dataId).values,h=n.data.get(l.dataId).values,p=s?n.data.get(s.dataId).values:new Float32Array([1]),f=o?n.data.get(o.dataId).values:new Float32Array([0]),m=new Float32Array(c.length),g=f.length,_=p.length,y=h.length,v=d.length;let b=0,T=0,x=0,E=0;for(let e=0;e=g&&(b=0),T>=v&&(T=0),x>=_&&(x=0),E>=y&&(E=0);return n.makeTensorInfo(r.shape,r.dtype,m)}};const tde={kernelName:v3.BatchToSpaceND,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13399,7 +13399,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,scale:s,offset:o,mean:a,var * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockShape:s,crops:o}=i;Cae([r],"batchToSpaceND");const a=s.reduce((e,t)=>e*t),l=p3.backend_util.getReshaped(r.shape,s,a),u=p3.backend_util.getPermuted(l.length,s.length),c=p3.backend_util.getReshapedPermuted(r.shape,s,a),d=p3.backend_util.getSliceBeginCoords(o,s.length),h=p3.backend_util.getSliceSize(c,o,s.length),p=gce({inputs:{x:r},backend:n,attrs:{shape:l}}),f=rue({inputs:{x:p},backend:n,attrs:{perm:u}}),m=gce({inputs:{x:f},backend:n,attrs:{shape:c}}),g=Cue({inputs:{x:m},backend:n,attrs:{begin:d,size:h}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),g}};const Kce={kernelName:p3.Bincount,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockShape:s,crops:o}=i;Dae([r],"batchToSpaceND");const a=s.reduce((e,t)=>e*t),l=v3.backend_util.getReshaped(r.shape,s,a),u=v3.backend_util.getPermuted(l.length,s.length),c=v3.backend_util.getReshapedPermuted(r.shape,s,a),d=v3.backend_util.getSliceBeginCoords(o,s.length),h=v3.backend_util.getSliceSize(c,o,s.length),p=xce({inputs:{x:r},backend:n,attrs:{shape:l}}),f=cue({inputs:{x:p},backend:n,attrs:{perm:u}}),m=xce({inputs:{x:f},backend:n,attrs:{shape:c}}),g=Due({inputs:{x:m},backend:n,attrs:{begin:d,size:h}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),g}};const nde={kernelName:v3.Bincount,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13416,7 +13416,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockShape:s,crops:o}=i * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o}=i,a=Kae(n.data.get(r.dataId).values,n.data.get(s.dataId).values,s.dtype,s.shape,o);return n.makeTensorInfo([o],s.dtype,a)}};const Zce={kernelName:p3.BroadcastArgs,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o}=i,a=nle(n.data.get(r.dataId).values,n.data.get(s.dataId).values,s.dtype,s.shape,o);return n.makeTensorInfo([o],s.dtype,a)}};const ide={kernelName:v3.BroadcastArgs,backendName:"cpu",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -13433,7 +13433,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o}=i,a=K * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{s0:i,s1:r}=t,s=n.data.get(i.dataId).values,o=n.data.get(r.dataId).values,a=p3.backend_util.assertAndGetBroadcastShape(Array.from(s),Array.from(o));return n.makeTensorInfo([a.length],"int32",Int32Array.from(a))}},Qce=nle(p3.ClipByValue,(e,t)=>{const n=t;return e>n.clipValueMax?n.clipValueMax:e{const{x:t}=e.inputs,n=e.backend,i=new Float32Array(p3.util.sizeFromShape(t.shape)),r=n.data.get(t.dataId),s=r.complexTensorInfos.real,o=r.complexTensorInfos.imag,a=n.data.get(s.dataId).values,l=n.data.get(o.dataId).values;for(let e=0;e{const n=t;return e>n.clipValueMax?n.clipValueMax:e{const{x:t}=e.inputs,n=e.backend,i=new Float32Array(v3.util.sizeFromShape(t.shape)),r=n.data.get(t.dataId),s=r.complexTensorInfos.real,o=r.complexTensorInfos.imag,a=n.data.get(s.dataId).values,l=n.data.get(o.dataId).values;for(let e=0;ee.shape);p3.backend_util.assertParamsConsistent(o,s);let a=p3.backend_util.computeOutShape(t.map(e=>e.shape),s);if(0===p3.util.sizeFromShape(a))return n.makeTensorInfo(a,t[0].dtype,[]);const l=t.filter(e=>p3.util.sizeFromShape(e.shape)>0);if(1===l.length)return Pae({inputs:{x:l[0]},backend:n});if("complex64"===l[0].dtype){const e=l.map(e=>$ae({inputs:{input:e},backend:n})),t=l.map(e=>tde({inputs:{input:e},backend:n})),i=ide({inputs:e,backend:n,attrs:{axis:s}}),r=ide({inputs:t,backend:n,attrs:{axis:s}}),o=Dae({inputs:{real:i,imag:r},backend:n});return e.forEach(e=>n.disposeIntermediateTensorInfo(e)),t.forEach(e=>n.disposeIntermediateTensorInfo(e)),n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(r),o}const u=l.map(e=>{const t=p3.util.sizeFromShape(e.shape.slice(s));return gce({inputs:{x:e},backend:n,attrs:{shape:[-1,t]}})}),c=u.map(e=>({vals:n.data.get(e.dataId).values,shape:e.shape}));a=p3.backend_util.computeOutShape(u.map(e=>e.shape),1);const d=1===u[0].shape[0],h=ale(c,a,t[0].dtype,d),p=p3.backend_util.computeOutShape(l.map(e=>e.shape),s),f=n.makeTensorInfo(p,t[0].dtype,h);return u.forEach(e=>n.disposeIntermediateTensorInfo(e)),f}const rde={kernelName:p3.Concat,backendName:"cpu",kernelFunc:ide}; +function ude(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i,s=v3.util.parseAxisParam(r,t[0].shape)[0],o=t.map(e=>e.shape);v3.backend_util.assertParamsConsistent(o,s);let a=v3.backend_util.computeOutShape(t.map(e=>e.shape),s);if(0===v3.util.sizeFromShape(a))return n.makeTensorInfo(a,t[0].dtype,[]);const l=t.filter(e=>v3.util.sizeFromShape(e.shape)>0);if(1===l.length)return jae({inputs:{x:l[0]},backend:n});if("complex64"===l[0].dtype){const e=l.map(e=>Gae({inputs:{input:e},backend:n})),t=l.map(e=>ade({inputs:{input:e},backend:n})),i=ude({inputs:e,backend:n,attrs:{axis:s}}),r=ude({inputs:t,backend:n,attrs:{axis:s}}),o=Uae({inputs:{real:i,imag:r},backend:n});return e.forEach(e=>n.disposeIntermediateTensorInfo(e)),t.forEach(e=>n.disposeIntermediateTensorInfo(e)),n.disposeIntermediateTensorInfo(i),n.disposeIntermediateTensorInfo(r),o}const u=l.map(e=>{const t=v3.util.sizeFromShape(e.shape.slice(s));return xce({inputs:{x:e},backend:n,attrs:{shape:[-1,t]}})}),c=u.map(e=>({vals:n.data.get(e.dataId).values,shape:e.shape}));a=v3.backend_util.computeOutShape(u.map(e=>e.shape),1);const d=1===u[0].shape[0],h=ple(c,a,t[0].dtype,d),p=v3.backend_util.computeOutShape(l.map(e=>e.shape),s),f=n.makeTensorInfo(p,t[0].dtype,h);return u.forEach(e=>n.disposeIntermediateTensorInfo(e)),f}const cde={kernelName:v3.Concat,backendName:"cpu",kernelFunc:ude}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13484,7 +13484,7 @@ function ide(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i,s=p3.util.parseAx * limitations under the License. * ============================================================================= */ -function sde(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad:a,dataFormat:l,dilations:u,dimRoundingMode:c}=i;Cae([r,s],"conv2d");const d=p3.backend_util.convertConv2DDataFormat(l),h=p3.backend_util.computeConv2DInfo(r.shape,s.shape,o,u,a,c,!1,d),p=h.filterHeight,f=h.filterWidth,m=h.dilationHeight,g=h.dilationWidth,_=h.padInfo.left,y=h.padInfo.top,v="channelsLast"===h.dataFormat,b=new p3.TensorBuffer(h.outShape,r.dtype),T=p3.util.computeStrides(r.shape),x=p3.util.computeStrides(s.shape),E=T[0],w=v?T[1]:T[2],I=v?T[2]:1,A=v?1:T[1],S=b.strides[0],C=v?b.strides[1]:b.strides[2],O=v?b.strides[2]:1,M=v?1:b.strides[1],k=n.data.get(r.dataId).values,R=n.data.get(s.dataId).values,N=b.values;for(let e=0;e=h.inHeight)continue;const s=e*x[0],o=t+n*w;for(let e=0;e=h.inWidth)continue;const r=o+i*I;let a=s+e*x[1];for(let e=0;e=h.inHeight)continue;const s=e*x[0],o=t+n*w;for(let e=0;e=h.inWidth)continue;const r=o+i*I;let a=s+e*x[1];for(let e=0;e=u.inDepth)continue;const s=e*I[0],o=t+n*w[1];for(let e=0;e=u.inHeight)continue;const r=s+e*I[1],a=o+i*w[2];for(let e=0;e=u.inWidth)continue;const s=r+e*I[2],o=a+t*u.inChannels;let l=s;for(let e=0;e=u.inDepth)continue;const s=e*I[0],o=t+n*w[1];for(let e=0;e=u.inHeight)continue;const r=s+e*I[1],a=o+i*w[2];for(let e=0;e=u.inWidth)continue;const s=r+e*I[2],o=a+t*u.inChannels;let l=s;for(let e=0;eMath.cos(e)),pde={kernelName:p3.Cos,backendName:"cpu",kernelFunc:hde},fde=nle(p3.Cosh,e=>Math.cosh(e)),mde={kernelName:p3.Cosh,backendName:"cpu",kernelFunc:fde};const gde={kernelName:p3.CropAndResize,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{pad:o,strides:a,inputShape:l}=i;Dae([r],"conv3dBackpropInputV2");const u=v3.util.computeStrides(r.shape),c=v3.util.computeStrides(s.shape),d=v3.backend_util.computeConv3DInfo(l,s.shape,a,1,o),h=new v3.TensorBuffer(d.inShape,"float32"),p=h.values,[f,m,g,_]=h.strides,y=n.data.get(r.dataId).values,[v,b,T,x]=u,E=n.data.get(s.dataId).values,[w,I,A,S]=c,{batchSize:C,filterDepth:O,filterHeight:M,filterWidth:k,inChannels:R,inDepth:N,inHeight:D,inWidth:F,outChannels:L,outDepth:P,outHeight:B,outWidth:$,strideDepth:U,strideHeight:V,strideWidth:z}=d,j=O-1-d.padInfo.front,Y=M-1-d.padInfo.top,G=k-1-d.padInfo.left;for(let e=0;eMath.cos(e)),vde={kernelName:v3.Cos,backendName:"cpu",kernelFunc:yde},bde=lle(v3.Cosh,e=>Math.cosh(e)),Tde={kernelName:v3.Cosh,backendName:"cpu",kernelFunc:bde};const xde={kernelName:v3.CropAndResize,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13586,7 +13586,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{pad:o,strides * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{image:r,boxes:s,boxInd:o}=t,{cropSize:a,method:l,extrapolationValue:u}=i,[c,d,h,p]=r.shape,f=s.shape[0],[m,g]=a,_=(0,p3.buffer)([f,m,g,p],"float32"),y=n.data.get(s.dataId).values,v=n.data.get(o.dataId).values,b=n.data.get(r.dataId).values,T=p3.util.computeStrides(r.shape),x=p3.util.computeStrides(_.shape);for(let e=0;e=c)continue;const a=m>1?(r-n)*(d-1)/(m-1):0,f=g>1?(s-i)*(h-1)/(g-1):0;for(let t=0;t1?n*(d-1)+t*a:.5*(n+r)*(d-1);if(c<0||c>d-1)for(let n=0;n1?i*(h-1)+l*f:.5*(i+s)*(h-1);if(c<0||c>h-1){for(let n=0;n1?i*(h-1)+n*f:.5*(i+s)*(h-1);if(r<0||r>h-1){for(let i=0;i=c)continue;const a=m>1?(r-n)*(d-1)/(m-1):0,f=g>1?(s-i)*(h-1)/(g-1):0;for(let t=0;t1?n*(d-1)+t*a:.5*(n+r)*(d-1);if(c<0||c>d-1)for(let n=0;n1?i*(h-1)+l*f:.5*(i+s)*(h-1);if(c<0||c>h-1){for(let n=0;n1?i*(h-1)+n*f:.5*(i+s)*(h-1);if(r<0||r>h-1){for(let i=0;ie+f-t-1:(e,t)=>e+t;for(let e=0;ee+f-t-1:(e,t)=>e+t;for(let e=0;ee+f-t-1:(e,t)=>e+t;for(let e=0;ee+f-t-1:(e,t)=>e+t;for(let e=0;e`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${o}`);const a=r.shape[0],l=r.shape[1],u=r.shape[2],c=r.shape[3],d=l*s,h=u*s,p=c/(s*s),f=n.data.get(r.dataId).values,m=new Float32Array(a*d*h*p);let g=0;for(let e=0;e`Only NHWC dataFormat supported on CPU for depthToSpace. Got ${o}`);const a=r.shape[0],l=r.shape[1],u=r.shape[2],c=r.shape[3],d=l*s,h=u*s,p=c/(s*s),f=n.data.get(r.dataId).values,m=new Float32Array(a*d*h*p);let g=0;for(let e=0;e`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${o} and dilations '${h}'`);const p=p3.backend_util.computeConv2DInfo(r.shape,s.shape,o,h,a,u,!0),{filterHeight:f,filterWidth:m,dilationHeight:g,dilationWidth:_,padInfo:y}=p,v=y.left,b=y.top,T=p.outChannels/p.inChannels,x=new p3.TensorBuffer(p.outShape,r.dtype),E=n.data.get(r.dataId).values,w=n.data.get(s.dataId).values,I=x.values;for(let e=0;e=p.inHeight)continue;const s=e*d[0],o=t+n*c[1];for(let e=0;e=p.inWidth)continue;const r=s+e*d[1],a=o+i*p.inChannels;let l=t,u=r;for(let e=0;e`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${o} and dilations '${h}'`);const p=v3.backend_util.computeConv2DInfo(r.shape,s.shape,o,h,a,u,!0),{filterHeight:f,filterWidth:m,dilationHeight:g,dilationWidth:_,padInfo:y}=p,v=y.left,b=y.top,T=p.outChannels/p.inChannels,x=new v3.TensorBuffer(p.outShape,r.dtype),E=n.data.get(r.dataId).values,w=n.data.get(s.dataId).values,I=x.values;for(let e=0;e=p.inHeight)continue;const s=e*d[0],o=t+n*c[1];for(let e=0;e=p.inWidth)continue;const r=s+e*d[1],a=o+i*p.inChannels;let l=t,u=r;for(let e=0;e{const{x:i,filter:r}=e,{strides:s,pad:o,dilations:a}=n,l=t,u=l.data.get(i.dataId).values,c=i.shape.length,d=l.data.get(r.dataId).values,h=r.shape.length,{batchSize:p,inHeight:f,inWidth:m,inChannels:g,outHeight:_,outWidth:y,padInfo:v,strideHeight:b,strideWidth:T,filterHeight:x,filterWidth:E,dilationHeight:w,dilationWidth:I,outShape:A}=p3.backend_util.computeDilation2DInfo(i.shape,r.shape,s,o,"NHWC",a),S=p3.util.sizeFromShape(A),C=A.length,O=p3.util.getArrayFromDType(i.dtype,S);for(let e=0;e=0&&s=0&&pl&&(l=m)}}}O[p3.util.locToIndex([e,t,s,a],C,p3.util.computeStrides(A))]=l}}}return{dataId:l.write(p3.util.toTypedArray(O,i.dtype),A,i.dtype),shape:A,dtype:i.dtype}}},Sde={kernelName:p3.Dilation2DBackpropFilter,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:i,filter:r,dy:s}=e,{strides:o,pad:a,dilations:l}=n,u=t,c=p3.util.toNestedArray(i.shape,u.data.get(i.dataId).values),d=p3.util.toNestedArray(r.shape,u.data.get(r.dataId).values),{batchSize:h,inHeight:p,inWidth:f,inChannels:m,outHeight:g,outWidth:_,padInfo:y,strideHeight:v,strideWidth:b,filterHeight:T,filterWidth:x,dilationHeight:E,dilationWidth:w,outShape:I}=p3.backend_util.computeDilation2DInfo(i.shape,r.shape,o,a,"NHWC",l);p3.util.assert(s.rank===I.length,()=>`Error in ${p3.Dilation2DBackpropFilter}, dy must have the same rank as output ${I.length}, but got ${s.rank}`);const A=p3.util.toNestedArray(I,u.data.get(s.dataId).values),S=p3.util.makeZerosNestedTypedArray(r.shape,r.dtype);for(let e=0;e=0&&i=0&&uo&&(o=r,a=t,l=n)}}}S[a][l][s]+=A[e][t][i][s]}}}return{dataId:u.write(p3.util.toTypedArray(S,i.dtype),r.shape,r.dtype),shape:r.shape,dtype:r.dtype}}},Cde={kernelName:p3.Dilation2DBackpropInput,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:i,filter:r,dy:s}=e,{strides:o,pad:a,dilations:l}=n,u=t,c=p3.util.toNestedArray(i.shape,u.data.get(i.dataId).values),d=p3.util.toNestedArray(r.shape,u.data.get(r.dataId).values),{batchSize:h,inHeight:p,inWidth:f,inChannels:m,outHeight:g,outWidth:_,padInfo:y,strideHeight:v,strideWidth:b,filterHeight:T,filterWidth:x,dilationHeight:E,dilationWidth:w,outShape:I}=p3.backend_util.computeDilation2DInfo(i.shape,r.shape,o,a,"NHWC",l);p3.util.assert(s.rank===I.length,()=>`Error in ${p3.Dilation2DBackpropInput}, dy must have the same rank as output ${I.length}, but got ${s.rank}`);const A=p3.util.toNestedArray(I,u.data.get(s.dataId).values),S=p3.util.makeZerosNestedTypedArray(i.shape,i.dtype);for(let e=0;e=0&&i=0&&uo&&(o=r,a=i,l=u)}}}S[e][a][l][s]+=A[e][t][i][s]}}}return{dataId:u.write(p3.util.toTypedArray(S,i.dtype),i.shape,i.dtype),shape:i.shape,dtype:i.dtype}}};const Ode={kernelName:p3.Draw,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{x:i}=t,r=v3.util.sizeFromShape(i.shape),s=n.data.get(i.dataId).values,o=(0,v3.buffer)([r,r],i.dtype),a=o.values;for(let e=0;e{const{x:i,filter:r}=e,{strides:s,pad:o,dilations:a}=n,l=t,u=l.data.get(i.dataId).values,c=i.shape.length,d=l.data.get(r.dataId).values,h=r.shape.length,{batchSize:p,inHeight:f,inWidth:m,inChannels:g,outHeight:_,outWidth:y,padInfo:v,strideHeight:b,strideWidth:T,filterHeight:x,filterWidth:E,dilationHeight:w,dilationWidth:I,outShape:A}=v3.backend_util.computeDilation2DInfo(i.shape,r.shape,s,o,"NHWC",a),S=v3.util.sizeFromShape(A),C=A.length,O=v3.util.getArrayFromDType(i.dtype,S);for(let e=0;e=0&&s=0&&pl&&(l=m)}}}O[v3.util.locToIndex([e,t,s,a],C,v3.util.computeStrides(A))]=l}}}return{dataId:l.write(v3.util.toTypedArray(O,i.dtype),A,i.dtype),shape:A,dtype:i.dtype}}},Nde={kernelName:v3.Dilation2DBackpropFilter,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:i,filter:r,dy:s}=e,{strides:o,pad:a,dilations:l}=n,u=t,c=v3.util.toNestedArray(i.shape,u.data.get(i.dataId).values),d=v3.util.toNestedArray(r.shape,u.data.get(r.dataId).values),{batchSize:h,inHeight:p,inWidth:f,inChannels:m,outHeight:g,outWidth:_,padInfo:y,strideHeight:v,strideWidth:b,filterHeight:T,filterWidth:x,dilationHeight:E,dilationWidth:w,outShape:I}=v3.backend_util.computeDilation2DInfo(i.shape,r.shape,o,a,"NHWC",l);v3.util.assert(s.rank===I.length,()=>`Error in ${v3.Dilation2DBackpropFilter}, dy must have the same rank as output ${I.length}, but got ${s.rank}`);const A=v3.util.toNestedArray(I,u.data.get(s.dataId).values),S=v3.util.makeZerosNestedTypedArray(r.shape,r.dtype);for(let e=0;e=0&&i=0&&uo&&(o=r,a=t,l=n)}}}S[a][l][s]+=A[e][t][i][s]}}}return{dataId:u.write(v3.util.toTypedArray(S,i.dtype),r.shape,r.dtype),shape:r.shape,dtype:r.dtype}}},Dde={kernelName:v3.Dilation2DBackpropInput,backendName:"cpu",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:i,filter:r,dy:s}=e,{strides:o,pad:a,dilations:l}=n,u=t,c=v3.util.toNestedArray(i.shape,u.data.get(i.dataId).values),d=v3.util.toNestedArray(r.shape,u.data.get(r.dataId).values),{batchSize:h,inHeight:p,inWidth:f,inChannels:m,outHeight:g,outWidth:_,padInfo:y,strideHeight:v,strideWidth:b,filterHeight:T,filterWidth:x,dilationHeight:E,dilationWidth:w,outShape:I}=v3.backend_util.computeDilation2DInfo(i.shape,r.shape,o,a,"NHWC",l);v3.util.assert(s.rank===I.length,()=>`Error in ${v3.Dilation2DBackpropInput}, dy must have the same rank as output ${I.length}, but got ${s.rank}`);const A=v3.util.toNestedArray(I,u.data.get(s.dataId).values),S=v3.util.makeZerosNestedTypedArray(i.shape,i.dtype);for(let e=0;e=0&&i=0&&uo&&(o=r,a=i,l=u)}}}S[e][a][l][s]+=A[e][t][i][s]}}}return{dataId:u.write(v3.util.toTypedArray(S,i.dtype),i.shape,i.dtype),shape:i.shape,dtype:i.dtype}}};const Fde={kernelName:v3.Draw,backendName:"cpu",kernelFunc: /** * @license * Copyright 2023 Google LLC. @@ -13756,7 +13756,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{image:r}=t,{canvas:s,options:o} * limitations under the License. * ============================================================================= */ -function Mde(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i;let a;Cae(r,"sum"),a="bool"===r.dtype?zae({inputs:{x:r},backend:n,attrs:{dtype:"int32"}}):Pae({inputs:{x:r},backend:n});const l=a.shape.length,u=p3.util.parseAxisParam(s,a.shape),c=p3.backend_util.getAxesPermutation(u,l);let d=u,h=a;null!=c&&(h=rue({inputs:{x:a},backend:n,attrs:{perm:c}}),d=p3.backend_util.getInnerMostAxes(d.length,l)),p3.backend_util.assertAxesAreInnerMostDims("sum",d,h.shape.length);const[p,f]=p3.backend_util.computeOutAndReduceShapes(h.shape,d);let m=Lae(n,p,p3.backend_util.upcastType(h.dtype,"int32"));const g=p3.util.sizeFromShape(f),_=n.data.get(m.dataId).values,y=n.data.get(h.dataId).values;for(let e=0;e<_.length;++e){const t=e*g;let n=0;for(let e=0;e=0&&(h=Mde({inputs:{x:h},backend:n,attrs:{axis:u[e]-(o.length-p),keepDims:!1}}),f.push(h)),p--)}for(const e of f)e!==h&&n.disposeIntermediateTensorInfo(e);return h}};const Nde={kernelName:p3.EluGrad,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{equation:r}=i,s=t,{allDims:o,summedDims:a,idDims:l}=v3.backend_util.decodeEinsumEquation(r,s.length);v3.backend_util.checkEinsumDimSizes(o.length,l,s);const{path:u,steps:c}=v3.backend_util.getEinsumComputePath(a,l),d=c.length;let h=null,p=o.length;const f=[];for(let e=0;e=0&&(h=Lde({inputs:{x:h},backend:n,attrs:{axis:u[e]-(o.length-p),keepDims:!1}}),f.push(h)),p--)}for(const e of f)e!==h&&n.disposeIntermediateTensorInfo(e);return h}};const $de={kernelName:v3.EluGrad,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13790,7 +13790,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{equation:r}=i,s=t,{allDims:o,su * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{dy:i,y:r}=t;Cae([i,r],"eluGrad");const s=new Float32Array(p3.util.sizeFromShape(r.shape)),o=n.data.get(r.dataId).values,a=n.data.get(i.dataId).values;for(let e=0;e=0?a[e]:a[e]*(t+1)}return n.makeTensorInfo(r.shape,"float32",s)}},Dde=p3.backend_util.ERF_P,Fde=p3.backend_util.ERF_A1,Lde=p3.backend_util.ERF_A2,Pde=p3.backend_util.ERF_A3,Bde=p3.backend_util.ERF_A4,$de=p3.backend_util.ERF_A5,Ude=nle(p3.Erf,e=>{const t=Math.sign(e),n=Math.abs(e),i=1/(1+Dde*n);return t*(1-(((($de*i+Bde)*i+Pde)*i+Lde)*i+Fde)*i*Math.exp(-n*n))}),Vde={kernelName:p3.Erf,backendName:"cpu",kernelFunc:Ude}; +function(e){const{inputs:t,backend:n}=e,{dy:i,y:r}=t;Dae([i,r],"eluGrad");const s=new Float32Array(v3.util.sizeFromShape(r.shape)),o=n.data.get(r.dataId).values,a=n.data.get(i.dataId).values;for(let e=0;e=0?a[e]:a[e]*(t+1)}return n.makeTensorInfo(r.shape,"float32",s)}},Ude=v3.backend_util.ERF_P,Vde=v3.backend_util.ERF_A1,zde=v3.backend_util.ERF_A2,jde=v3.backend_util.ERF_A3,Yde=v3.backend_util.ERF_A4,Gde=v3.backend_util.ERF_A5,Hde=lle(v3.Erf,e=>{const t=Math.sign(e),n=Math.abs(e),i=1/(1+Ude*n);return t*(1-((((Gde*i+Yde)*i+jde)*i+zde)*i+Vde)*i*Math.exp(-n*n))}),Wde={kernelName:v3.Erf,backendName:"cpu",kernelFunc:Hde}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13807,7 +13807,7 @@ function(e){const{inputs:t,backend:n}=e,{dy:i,y:r}=t;Cae([i,r],"eluGrad");const * limitations under the License. * ============================================================================= */ -function zde(e){const{inputs:t,backend:n,attrs:i}=e,{input:r}=t,{dim:s}=i,o=r.shape.length,a=r.shape.slice();let l=s;return s<0&&(p3.util.assert(-(o+1)<=s,()=>`Axis must be in the interval [${-(o+1)}, ${o}]`),l=o+s+1),a.splice(l,0,1),gce({inputs:{x:r},backend:n,attrs:{shape:a}})}const jde={kernelName:p3.ExpandDims,backendName:"cpu",kernelFunc:zde},Yde=Nae((e,t)=>e/t),Gde=Yae(p3.RealDiv,Yde),Hde={kernelName:p3.RealDiv,backendName:"cpu",kernelFunc:Gde}; +function Xde(e){const{inputs:t,backend:n,attrs:i}=e,{input:r}=t,{dim:s}=i,o=r.shape.length,a=r.shape.slice();let l=s;return s<0&&(v3.util.assert(-(o+1)<=s,()=>`Axis must be in the interval [${-(o+1)}, ${o}]`),l=o+s+1),a.splice(l,0,1),xce({inputs:{x:r},backend:n,attrs:{shape:a}})}const qde={kernelName:v3.ExpandDims,backendName:"cpu",kernelFunc:Xde},Kde=$ae((e,t)=>e/t),Zde=Kae(v3.RealDiv,Kde),Qde={kernelName:v3.RealDiv,backendName:"cpu",kernelFunc:Zde}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13824,7 +13824,7 @@ function zde(e){const{inputs:t,backend:n,attrs:i}=e,{input:r}=t,{dim:s}=i,o=r.sh * limitations under the License. * ============================================================================= */ -function Wde(e,t,n){const i=e.shape,r=i[0],s=i[1],o=n.data.get(e.dataId),a=o.complexTensorInfos.real,l=o.complexTensorInfos.imag,u=[r,s],c=p3.util.sizeFromShape(u),d=p3.util.getTypedArrayFromDType("float32",c),h=p3.util.getTypedArrayFromDType("float32",c);for(let e=0;e{const{image:i}=e,r=n,s=p3.util.getTypedArrayFromDType(i.dtype,p3.util.sizeFromShape(i.shape)),[o,a,l,u]=i.shape,c=r.data.get(i.dataId).values;for(let e=0;e=0&&o{const{image:i}=e,r=n,s=v3.util.getTypedArrayFromDType(i.dtype,v3.util.sizeFromShape(i.shape)),[o,a,l,u]=i.shape,c=r.data.get(i.dataId).values;for(let e=0;e=0&&o=0,()=>`GatherV2: the index value ${t} is not in [0, ${c-1}]`)}let d=a;null==a&&(d=0);const h=p3.util.sizeFromShape(s.shape),p=p3.backend_util.segment_util.collectGatherOpShapeInfo(r,s,l,d),f=gce({inputs:{x:r},backend:n,attrs:{shape:[p.batchSize,p.outerSize,p.dimSize,p.sliceSize]}}),m=gce({inputs:{x:s},backend:n,attrs:{shape:[p.batchSize,h/p.batchSize]}}),g=[p.batchSize,p.outerSize,h/p.batchSize,p.sliceSize],_=n.bufferSync(m),y=wle(n.bufferSync(f),_,g);return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),n.makeTensorInfo(p.outputShape,y.dtype,y.values)}};const rhe={kernelName:p3.IFFT,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,indices:s}=t,{axis:o,batchDims:a}=i;Dae([r,s],"gatherV2");const l=v3.util.parseAxisParam(o,r.shape)[0],u=n.data.get(s.dataId).values,c=r.shape[l];for(let e=0;e=0,()=>`GatherV2: the index value ${t} is not in [0, ${c-1}]`)}let d=a;null==a&&(d=0);const h=v3.util.sizeFromShape(s.shape),p=v3.backend_util.segment_util.collectGatherOpShapeInfo(r,s,l,d),f=xce({inputs:{x:r},backend:n,attrs:{shape:[p.batchSize,p.outerSize,p.dimSize,p.sliceSize]}}),m=xce({inputs:{x:s},backend:n,attrs:{shape:[p.batchSize,h/p.batchSize]}}),g=[p.batchSize,p.outerSize,h/p.batchSize,p.sliceSize],_=n.bufferSync(m),y=Mle(n.bufferSync(f),_,g);return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),n.makeTensorInfo(p.outputShape,y.dtype,y.values)}};const che={kernelName:v3.IFFT,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13960,7 +13960,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,indices:s}=t,{axis:o,batchD * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{input:i}=t,r=p3.util.sizeFromShape(i.shape),s=i.shape[i.shape.length-1],o=gce({inputs:{x:i},backend:n,attrs:{shape:[r/s,s]}}),a=Wde(o,!0,n),l=gce({inputs:{x:a},backend:n,attrs:{shape:i.shape}});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(a),l}},she=nle(p3.IsFinite,e=>Number.isFinite(e)?1:0,"bool"),ohe={kernelName:p3.IsFinite,backendName:"cpu",kernelFunc:she},ahe=nle(p3.IsInf,e=>Math.abs(e)===1/0?1:0,"bool"),lhe={kernelName:p3.IsInf,backendName:"cpu",kernelFunc:ahe},uhe=nle(p3.IsNan,e=>Number.isNaN(e)?1:0,"bool"),che={kernelName:p3.IsNan,backendName:"cpu",kernelFunc:uhe};const dhe={kernelName:p3.LinSpace,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{input:i}=t,r=v3.util.sizeFromShape(i.shape),s=i.shape[i.shape.length-1],o=xce({inputs:{x:i},backend:n,attrs:{shape:[r/s,s]}}),a=Jde(o,!0,n),l=xce({inputs:{x:a},backend:n,attrs:{shape:i.shape}});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(a),l}},dhe=lle(v3.IsFinite,e=>Number.isFinite(e)?1:0,"bool"),hhe={kernelName:v3.IsFinite,backendName:"cpu",kernelFunc:dhe},phe=lle(v3.IsInf,e=>Math.abs(e)===1/0?1:0,"bool"),fhe={kernelName:v3.IsInf,backendName:"cpu",kernelFunc:phe},mhe=lle(v3.IsNan,e=>Number.isNaN(e)?1:0,"bool"),ghe={kernelName:v3.IsNan,backendName:"cpu",kernelFunc:mhe};const _he={kernelName:v3.LinSpace,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13977,7 +13977,7 @@ function(e){const{inputs:t,backend:n}=e,{input:i}=t,r=p3.util.sizeFromShape(i.sh * limitations under the License. * ============================================================================= */ -function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,num:s}=n,o=Ple(i,r,s);return t.makeTensorInfo([o.length],"float32",o)}},hhe=nle(p3.Log1p,e=>Math.log1p(e)),phe={kernelName:p3.Log1p,backendName:"cpu",kernelFunc:hhe},fhe=Nae((e,t)=>e&&t),mhe=Yae(p3.LogicalAnd,fhe,null,"bool"),ghe={kernelName:p3.LogicalAnd,backendName:"cpu",kernelFunc:mhe},_he=nle(p3.LogicalNot,e=>e?0:1,"bool"),yhe={kernelName:p3.LogicalNot,backendName:"cpu",kernelFunc:_he},vhe=Nae((e,t)=>e||t),bhe=Yae(p3.LogicalOr,vhe,null,"bool"),The={kernelName:p3.LogicalOr,backendName:"cpu",kernelFunc:bhe};const xhe={kernelName:p3.LRN,backendName:"cpu",kernelFunc: +function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,num:s}=n,o=jle(i,r,s);return t.makeTensorInfo([o.length],"float32",o)}},yhe=lle(v3.Log1p,e=>Math.log1p(e)),vhe={kernelName:v3.Log1p,backendName:"cpu",kernelFunc:yhe},bhe=$ae((e,t)=>e&&t),The=Kae(v3.LogicalAnd,bhe,null,"bool"),xhe={kernelName:v3.LogicalAnd,backendName:"cpu",kernelFunc:The},Ehe=lle(v3.LogicalNot,e=>e?0:1,"bool"),whe={kernelName:v3.LogicalNot,backendName:"cpu",kernelFunc:Ehe},Ihe=$ae((e,t)=>e||t),Ahe=Kae(v3.LogicalOr,Ihe,null,"bool"),She={kernelName:v3.LogicalOr,backendName:"cpu",kernelFunc:Ahe};const Che={kernelName:v3.LRN,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -13994,7 +13994,7 @@ function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,num:s}=n,o=Ple(i,r,s);ret * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{depthRadius:s,bias:o,alpha:a,beta:l}=i;Cae(r,"LRN");const u=r.shape[3],c=u-1,d=n.data.get(r.dataId).values,h=p3.util.sizeFromShape(r.shape),p=new Float32Array(h);function f(e){const t=e%u;let n=e-t+Math.max(0,t-s);const i=e-t+Math.min(t+s,c);let r=0;for(;n<=i;n++){const e=d[n];r+=e*e}return r}for(let e=0;e`Error in maxPool: Either strides or dilations must be 1. Got strides ${o} and dilations '1'`);const u=p3.backend_util.computePool2DInfo(r.shape,s,o,1,a,l);let c;if(1===u.filterWidth&&1===u.filterHeight&&p3.util.arraysEqual(u.inShape,u.outShape))c=Pae({inputs:{x:r},backend:n});else{const e=n.data.get(r.dataId).values,t=p3.util.computeStrides(r.shape),i=Vce(e,r.shape,r.dtype,t,u,"max");c=n.makeTensorInfo(u.outShape,r.dtype,i.values)}return c}};const She={kernelName:p3.MaxPool3D,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;Dae(r,"maxPool");const{filterSize:s,strides:o,pad:a,dimRoundingMode:l}=i;v3.util.assert(v3.backend_util.eitherStridesOrDilationsAreOne(o,1),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${o} and dilations '1'`);const u=v3.backend_util.computePool2DInfo(r.shape,s,o,1,a,l);let c;if(1===u.filterWidth&&1===u.filterHeight&&v3.util.arraysEqual(u.inShape,u.outShape))c=jae({inputs:{x:r},backend:n});else{const e=n.data.get(r.dataId).values,t=v3.util.computeStrides(r.shape),i=Wce(e,r.shape,r.dtype,t,u,"max");c=n.makeTensorInfo(u.outShape,r.dtype,i.values)}return c}};const Nhe={kernelName:v3.MaxPool3D,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14062,7 +14062,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;Cae(r,"maxPool");const{f * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o,pad:a,dimRoundingMode:l,dataFormat:u}=i;Cae(r,"maxPool3d");const c=p3.backend_util.computePool3DInfo(r.shape,s,o,1,a,l,u),d=jce(n.data.get(r.dataId).values,r.shape,r.dtype,p3.util.computeStrides(r.shape),c,"max");return n.makeTensorInfo(d.shape,"float32",d.values)}};const Che={kernelName:p3.MaxPool3DGrad,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o,pad:a,dimRoundingMode:l,dataFormat:u}=i;Dae(r,"maxPool3d");const c=v3.backend_util.computePool3DInfo(r.shape,s,o,1,a,l,u),d=qce(n.data.get(r.dataId).values,r.shape,r.dtype,v3.util.computeStrides(r.shape),c,"max");return n.makeTensorInfo(d.shape,"float32",d.values)}};const Dhe={kernelName:v3.MaxPool3DGrad,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14079,7 +14079,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o, * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,{filterSize:o,strides:a,pad:l,dimRoundingMode:u}=i;Cae([r,s],"maxPool3DGrad");const c=p3.backend_util.computePool3DInfo(s.shape,o,a,1,l,u),d=function(e,t){const n=(0,p3.buffer)(t.outShape,"int32"),i=t.strideDepth,r=t.strideHeight,s=t.strideWidth,o=t.dilationDepth,a=t.dilationHeight,l=t.dilationWidth,u=t.effectiveFilterDepth,c=t.effectiveFilterHeight,d=t.effectiveFilterWidth,h=t.padInfo.front,p=t.padInfo.top,f=t.padInfo.left;for(let m=0;m=w&&(w=a,I=n*c*d+r*c+o)}}}n.set(I,m,_,i,r,g)}}}return n}(n.bufferSync(s),c),h=c.strideDepth,p=c.strideHeight,f=c.strideWidth,m=c.dilationDepth,g=c.dilationHeight,_=c.dilationWidth,y=c.effectiveFilterDepth,v=c.effectiveFilterHeight,b=c.effectiveFilterWidth,T=y-1-c.padInfo.front,x=b-1-c.padInfo.left,E=v-1-c.padInfo.top,w=(0,p3.buffer)(s.shape,"float32"),I=n.bufferSync(r);for(let e=0;e=c.outDepth||Math.floor(i)!==i))for(let r=0;r=c.outHeight||Math.floor(s)!==s))for(let o=0;o=c.outWidth||Math.floor(u)!==u)continue;const h=y*v*b-1-d.get(e,i,s,u,t)===n*v*b+r*b+o?1:0;if(0===h)continue;l+=I.get(e,i,s,u,t)*h}}}w.set(l,e,n,i,r,t)}return n.makeTensorInfo(w.shape,w.dtype,w.values)}};const Ohe={kernelName:p3.MaxPoolGrad,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,{filterSize:o,strides:a,pad:l,dimRoundingMode:u}=i;Dae([r,s],"maxPool3DGrad");const c=v3.backend_util.computePool3DInfo(s.shape,o,a,1,l,u),d=function(e,t){const n=(0,v3.buffer)(t.outShape,"int32"),i=t.strideDepth,r=t.strideHeight,s=t.strideWidth,o=t.dilationDepth,a=t.dilationHeight,l=t.dilationWidth,u=t.effectiveFilterDepth,c=t.effectiveFilterHeight,d=t.effectiveFilterWidth,h=t.padInfo.front,p=t.padInfo.top,f=t.padInfo.left;for(let m=0;m=w&&(w=a,I=n*c*d+r*c+o)}}}n.set(I,m,_,i,r,g)}}}return n}(n.bufferSync(s),c),h=c.strideDepth,p=c.strideHeight,f=c.strideWidth,m=c.dilationDepth,g=c.dilationHeight,_=c.dilationWidth,y=c.effectiveFilterDepth,v=c.effectiveFilterHeight,b=c.effectiveFilterWidth,T=y-1-c.padInfo.front,x=b-1-c.padInfo.left,E=v-1-c.padInfo.top,w=(0,v3.buffer)(s.shape,"float32"),I=n.bufferSync(r);for(let e=0;e=c.outDepth||Math.floor(i)!==i))for(let r=0;r=c.outHeight||Math.floor(s)!==s))for(let o=0;o=c.outWidth||Math.floor(u)!==u)continue;const h=y*v*b-1-d.get(e,i,s,u,t)===n*v*b+r*b+o?1:0;if(0===h)continue;l+=I.get(e,i,s,u,t)*h}}}w.set(l,e,n,i,r,t)}return n.makeTensorInfo(w.shape,w.dtype,w.values)}};const Fhe={kernelName:v3.MaxPoolGrad,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14096,7 +14096,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,{filterSize:o,s * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s,output:o}=t,a=s;Cae([s,o],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:d}=i,h=p3.backend_util.computePool2DInfo(a.shape,l,u,1,c,d),p=n.data.get(a.dataId).values,f=(0,p3.buffer)(h.outShape,a.dtype,zce(p,a.shape,a.dtype,h).values),m=h.strideHeight,g=h.strideWidth,_=h.dilationHeight,y=h.dilationWidth,v=h.effectiveFilterHeight,b=h.effectiveFilterWidth,T=b-1-h.padInfo.left,x=v-1-h.padInfo.top,E=(0,p3.buffer)(a.shape,"float32"),w=n.data.get(r.dataId).values,I=(0,p3.buffer)(r.shape,"float32",w);for(let e=0;e=h.outHeight||Math.floor(i)!==i))for(let r=0;r=h.outWidth||Math.floor(a)!==a)continue;const l=v*b-1-f.get(e,i,a,t)===n*b+r?1:0;if(0===l)continue;o+=I.get(e,i,a,t)*l}}E.set(o,e,n,i,t)}return n.makeTensorInfo(E.shape,E.dtype,E.values)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s,output:o}=t,a=s;Dae([s,o],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:d}=i,h=v3.backend_util.computePool2DInfo(a.shape,l,u,1,c,d),p=n.data.get(a.dataId).values,f=(0,v3.buffer)(h.outShape,a.dtype,Xce(p,a.shape,a.dtype,h).values),m=h.strideHeight,g=h.strideWidth,_=h.dilationHeight,y=h.dilationWidth,v=h.effectiveFilterHeight,b=h.effectiveFilterWidth,T=b-1-h.padInfo.left,x=v-1-h.padInfo.top,E=(0,v3.buffer)(a.shape,"float32"),w=n.data.get(r.dataId).values,I=(0,v3.buffer)(r.shape,"float32",w);for(let e=0;e=h.outHeight||Math.floor(i)!==i))for(let r=0;r=h.outWidth||Math.floor(a)!==a)continue;const l=v*b-1-f.get(e,i,a,t)===n*b+r?1:0;if(0===l)continue;o+=I.get(e,i,a,t)*l}}E.set(o,e,n,i,t)}return n.makeTensorInfo(E.shape,E.dtype,E.values)}}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14113,7 +14113,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s,output:o}=t,a=s;Ca * limitations under the License. * ============================================================================= */ -const Mhe={kernelName:p3.MaxPoolWithArgmax,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:i}=e,{filterSize:r,strides:s,pad:o,includeBatchInIndex:a}=t,l=n;Cae(i,"MaxPoolWithArgmax");const u=l.data.get(i.dataId).values,c=p3.backend_util.computePool2DInfo(i.shape,r,s,[1,1],o),[d,h]= +const Lhe={kernelName:v3.MaxPoolWithArgmax,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:i}=e,{filterSize:r,strides:s,pad:o,includeBatchInIndex:a}=t,l=n;Dae(i,"MaxPoolWithArgmax");const u=l.data.get(i.dataId).values,c=v3.backend_util.computePool2DInfo(i.shape,r,s,[1,1],o),[d,h]= /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14130,7 +14130,7 @@ const Mhe={kernelName:p3.MaxPoolWithArgmax,backendName:"cpu",kernelFunc:({inputs * limitations under the License. * ============================================================================= */ -function(e,t,n,i,r){const s=Vce(e,0,n,p3.util.computeStrides(t),r,"max"),o=zce(e,t,n,r,!0,i);return[s.values,o.values]}(u,i.shape,i.dtype,a,c),p=l.write(d,c.outShape,i.dtype),f=l.write(h,c.outShape,i.dtype);return[{dataId:p,shape:c.outShape,dtype:i.dtype},{dataId:f,shape:c.outShape,dtype:"int32"}]}};const khe={kernelName:p3.Mean,backendName:"cpu",kernelFunc: +function(e,t,n,i,r){const s=Wce(e,0,n,v3.util.computeStrides(t),r,"max"),o=Xce(e,t,n,r,!0,i);return[s.values,o.values]}(u,i.shape,i.dtype,a,c),p=l.write(d,c.outShape,i.dtype),f=l.write(h,c.outShape,i.dtype);return[{dataId:p,shape:c.outShape,dtype:i.dtype},{dataId:f,shape:c.outShape,dtype:"int32"}]}};const Phe={kernelName:v3.Mean,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14147,7 +14147,7 @@ function(e,t,n,i,r){const s=Vce(e,0,n,p3.util.computeStrides(t),r,"max"),o=zce(e * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a=p3.util.parseAxisParam(s,r.shape),l=p3.backend_util.computeOutAndReduceShapes(r.shape,a)[1],u=p3.util.sizeFromShape(l),c=[],d=n.makeTensorInfo([],"float32",new Float32Array([u]));c.push(d);const h=zae({inputs:{x:r},backend:n,attrs:{dtype:"float32"}});c.push(h);const p=Gde({inputs:{a:h,b:d},backend:n});c.push(p);const f=Mde({inputs:{x:p},backend:n,attrs:{axis:s,keepDims:o}});return c.forEach(e=>n.disposeIntermediateTensorInfo(e)),f}};const Rhe={kernelName:p3.Min,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a=v3.util.parseAxisParam(s,r.shape),l=v3.backend_util.computeOutAndReduceShapes(r.shape,a)[1],u=v3.util.sizeFromShape(l),c=[],d=n.makeTensorInfo([],"float32",new Float32Array([u]));c.push(d);const h=Xae({inputs:{x:r},backend:n,attrs:{dtype:"float32"}});c.push(h);const p=Zde({inputs:{a:h,b:d},backend:n});c.push(p);const f=Lde({inputs:{x:p},backend:n,attrs:{axis:s,keepDims:o}});return c.forEach(e=>n.disposeIntermediateTensorInfo(e)),f}};const Bhe={kernelName:v3.Min,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14164,7 +14164,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a= * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i;Cae(r,"min");const a=p3.util.parseAxisParam(s,r.shape);let l=a;const u=p3.backend_util.getAxesPermutation(l,r.shape.length);let c=r;null!=u&&(c=rue({inputs:{x:r},backend:n,attrs:{perm:u}}),l=p3.backend_util.getInnerMostAxes(l.length,r.shape.length)),p3.backend_util.assertAxesAreInnerMostDims("min",l,c.shape.length);const[d,h]=p3.backend_util.computeOutAndReduceShapes(c.shape,l),p=p3.util.sizeFromShape(h),f=p3.util.makeZerosTypedArray(p3.util.sizeFromShape(d),c.dtype),m=n.data.get(c.dataId).values;for(let e=0;ee[0]+r.shape[t]+e[1]),l=s.map(e=>e[0]),u=s.map((e,t)=>e[0]+r.shape[t]),c="reflect"===o?0:1,d=n.data.get(r.dataId).values,h=r.shape.length,p=p3.util.computeStrides(r.shape),f=p3.util.sizeFromShape(a),m=a.length,g=p3.util.computeStrides(a),_=p3.util.getTypedArrayFromDType(r.dtype,f);for(let e=0;e=u[e]&&(t[e]=2*(u[e]-1)-t[e]+c);t=t.map((e,t)=>e-l[t]);const n=p3.util.locToIndex(t,h,p);_[e]=d[n]}return{dataId:n.write(_,a,r.dtype),shape:a,dtype:r.dtype}}},Dhe=Nae((e,t)=>{const n=e%t;return e<0&&t<0||e>=0&&t>=0?n:(n+t)%t}),Fhe=Yae(p3.Mod,Dhe),Lhe={kernelName:p3.Mod,backendName:"cpu",kernelFunc:Fhe}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{paddings:s,mode:o}=i;Dae(r,"mirrorPad");const a=s.map((e,t)=>e[0]+r.shape[t]+e[1]),l=s.map(e=>e[0]),u=s.map((e,t)=>e[0]+r.shape[t]),c="reflect"===o?0:1,d=n.data.get(r.dataId).values,h=r.shape.length,p=v3.util.computeStrides(r.shape),f=v3.util.sizeFromShape(a),m=a.length,g=v3.util.computeStrides(a),_=v3.util.getTypedArrayFromDType(r.dtype,f);for(let e=0;e=u[e]&&(t[e]=2*(u[e]-1)-t[e]+c);t=t.map((e,t)=>e-l[t]);const n=v3.util.locToIndex(t,h,p);_[e]=d[n]}return{dataId:n.write(_,a,r.dtype),shape:a,dtype:r.dtype}}},Uhe=$ae((e,t)=>{const n=e%t;return e<0&&t<0||e>=0&&t>=0?n:(n+t)%t}),Vhe=Kae(v3.Mod,Uhe),zhe={kernelName:v3.Mod,backendName:"cpu",kernelFunc:Vhe}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14198,7 +14198,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{paddings:s,mode:o}=i;Ca * limitations under the License. * ============================================================================= */ -function Phe(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{dim:s}=i,o=r.shape.length;let a=s;if(-1===a&&(a=o-1),a!==o-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${o} and dim was ${a}`);const l=p3.util.parseAxisParam([a],r.shape),u=whe({inputs:{x:r},backend:n,attrs:{reductionIndices:l,keepDims:!1}}),c=p3.backend_util.expandShapeToKeepDim(u.shape,l),d=gce({inputs:{x:u},backend:n,attrs:{shape:c}}),h=Kue({inputs:{a:r,b:d},backend:n}),p=hle({inputs:{x:h},backend:n}),f=Mde({inputs:{x:p},backend:n,attrs:{axis:l,keepDims:!1}}),m=gce({inputs:{x:f},backend:n,attrs:{shape:c}}),g=Gde({inputs:{a:p,b:m},backend:n});return n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),g}const Bhe={kernelName:p3.Softmax,backendName:"cpu",kernelFunc:Phe};const $he={kernelName:p3.Multinomial,backendName:"cpu",kernelFunc: +function jhe(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{dim:s}=i,o=r.shape.length;let a=s;if(-1===a&&(a=o-1),a!==o-1)throw Error(`Softmax along a non-last dimension is not yet supported. Logits was rank ${o} and dim was ${a}`);const l=v3.util.parseAxisParam([a],r.shape),u=Mhe({inputs:{x:r},backend:n,attrs:{reductionIndices:l,keepDims:!1}}),c=v3.backend_util.expandShapeToKeepDim(u.shape,l),d=xce({inputs:{x:u},backend:n,attrs:{shape:c}}),h=nce({inputs:{a:r,b:d},backend:n}),p=yle({inputs:{x:h},backend:n}),f=Lde({inputs:{x:p},backend:n,attrs:{axis:l,keepDims:!1}}),m=xce({inputs:{x:f},backend:n,attrs:{shape:c}}),g=Zde({inputs:{a:p,b:m},backend:n});return n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),g}const Yhe={kernelName:v3.Softmax,backendName:"cpu",kernelFunc:jhe};const Ghe={kernelName:v3.Multinomial,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14215,7 +14215,7 @@ function Phe(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{dim:s}=i,o=r.s * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{numSamples:s,seed:o,normalized:a}=i;Cae(r,"multinomial");const l=a?r:Phe({inputs:{logits:r},backend:n,attrs:{dim:-1}}),u=l.shape[0],c=l.shape[1],d=n.data.get(l.dataId).values,h=[u,s],p=p3.util.makeZerosTypedArray(p3.util.sizeFromShape(h),"int32");for(let e=0;e=0&&d[e]=0&&d[e]{p3.util.assertShapesMatch(s,e.shape,"All tensors passed to stack must have matching shapes"),p3.util.assert(o===e.dtype,()=>"All tensors passed to stack must have matching dtypes")});const a=[],l=ide({inputs:t.map(e=>{const t=zde({inputs:{input:e},backend:n,attrs:{dim:r}});return a.push(t),t}),backend:n,attrs:{axis:r}});return a.forEach(e=>n.disposeIntermediateTensorInfo(e)),l}const Zhe={kernelName:p3.Pack,backendName:"cpu",kernelFunc:Khe};const Qhe={kernelName:p3.PadV2,backendName:"cpu",kernelFunc: +function npe(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i;if(1===t.length)return Xde({inputs:{input:t[0]},backend:n,attrs:{dim:r}});const s=t[0].shape,o=t[0].dtype;t.forEach(e=>{v3.util.assertShapesMatch(s,e.shape,"All tensors passed to stack must have matching shapes"),v3.util.assert(o===e.dtype,()=>"All tensors passed to stack must have matching dtypes")});const a=[],l=ude({inputs:t.map(e=>{const t=Xde({inputs:{input:e},backend:n,attrs:{dim:r}});return a.push(t),t}),backend:n,attrs:{axis:r}});return a.forEach(e=>n.disposeIntermediateTensorInfo(e)),l}const ipe={kernelName:v3.Pack,backendName:"cpu",kernelFunc:npe};const rpe={kernelName:v3.PadV2,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14300,7 +14300,7 @@ function Khe(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i;if(1===t.length)r * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{paddings:s,constantValue:o}=i;Cae(r,"pad");const a=s.map((e,t)=>e[0]+r.shape[t]+e[1]),l=s.map(e=>e[0]),u=n.data.get(r.dataId).values,c=p3.util.sizeFromShape(r.shape),d=r.shape.length,h=p3.util.computeStrides(r.shape),p=p3.util.sizeFromShape(a),f=a.length,m=p3.util.computeStrides(a),g=p3.util.getTypedArrayFromDType(r.dtype,p);0!==o&&g.fill(o);for(let e=0;ee+l[t]);g[p3.util.locToIndex(t,f,m)]=u[e]}return{dataId:n.write(g,a,r.dtype),shape:a,dtype:r.dtype}}},Jhe=Nae((e,t)=>Math.pow(e,t)),epe=Yae(p3.Pow,Jhe),tpe={kernelName:p3.Pow,backendName:"cpu",kernelFunc:epe};const npe={kernelName:p3.RaggedGather,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{paddings:s,constantValue:o}=i;Dae(r,"pad");const a=s.map((e,t)=>e[0]+r.shape[t]+e[1]),l=s.map(e=>e[0]),u=n.data.get(r.dataId).values,c=v3.util.sizeFromShape(r.shape),d=r.shape.length,h=v3.util.computeStrides(r.shape),p=v3.util.sizeFromShape(a),f=a.length,m=v3.util.computeStrides(a),g=v3.util.getTypedArrayFromDType(r.dtype,p);0!==o&&g.fill(o);for(let e=0;ee+l[t]);g[v3.util.locToIndex(t,f,m)]=u[e]}return{dataId:n.write(g,a,r.dtype),shape:a,dtype:r.dtype}}},spe=$ae((e,t)=>Math.pow(e,t)),ope=Kae(v3.Pow,spe),ape={kernelName:v3.Pow,backendName:"cpu",kernelFunc:ope};const lpe={kernelName:v3.RaggedGather,backendName:"cpu",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -14317,7 +14317,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{paddings:s,constantValu * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{paramsNestedSplits:r,paramsDenseValues:s,indices:o}=t,{outputRaggedRank:a}=i,l=r.map(e=>n.data.get(e.dataId).values),u=r.map(e=>e.shape),c=n.data.get(s.dataId).values,d=n.data.get(o.dataId).values,[h,p,f]=due(l,u,c,s.shape,s.dtype,d,o.shape),m=h.map(e=>n.makeTensorInfo([e.length],"int32",e)),g=n.makeTensorInfo(f,s.dtype,p);return m.concat([g])}};const ipe={kernelName:p3.RaggedRange,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{paramsNestedSplits:r,paramsDenseValues:s,indices:o}=t,{outputRaggedRank:a}=i,l=r.map(e=>n.data.get(e.dataId).values),u=r.map(e=>e.shape),c=n.data.get(s.dataId).values,d=n.data.get(o.dataId).values,[h,p,f]=_ue(l,u,c,s.shape,s.dtype,d,o.shape),m=h.map(e=>n.makeTensorInfo([e.length],"int32",e)),g=n.makeTensorInfo(f,s.dtype,p);return m.concat([g])}};const upe={kernelName:v3.RaggedRange,backendName:"cpu",kernelFunc: /** * @license * Copyright 2022 Google LLC. @@ -14334,7 +14334,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{paramsNestedSplits:r,paramsDens * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{starts:i,limits:r,deltas:s}=t,o=n.data.get(i.dataId).values,a=n.data.get(r.dataId).values,l=n.data.get(s.dataId).values,[u,c]=pue(o,i.shape,i.dtype,a,r.shape,l,s.shape);return[n.makeTensorInfo([u.length],"int32",u),n.makeTensorInfo([c.length],i.dtype,c)]}};const rpe={kernelName:p3.RaggedTensorToTensor,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{starts:i,limits:r,deltas:s}=t,o=n.data.get(i.dataId).values,a=n.data.get(r.dataId).values,l=n.data.get(s.dataId).values,[u,c]=vue(o,i.shape,i.dtype,a,r.shape,l,s.shape);return[n.makeTensorInfo([u.length],"int32",u),n.makeTensorInfo([c.length],i.dtype,c)]}};const cpe={kernelName:v3.RaggedTensorToTensor,backendName:"cpu",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -14351,7 +14351,7 @@ function(e){const{inputs:t,backend:n}=e,{starts:i,limits:r,deltas:s}=t,o=n.data. * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{shape:r,values:s,defaultValue:o,rowPartitionTensors:a}=t,{rowPartitionTypes:l}=i,u=n.data.get(r.dataId).values,c=n.data.get(s.dataId).values,d=n.data.get(o.dataId).values,h=a.map(e=>n.data.get(e.dataId).values),p=a.map(e=>e.shape),[f,m]=yue(u,r.shape,c,s.shape,s.dtype,d,o.shape,h,p,l);return n.makeTensorInfo(f,s.dtype,m)}};const spe={kernelName:p3.Range,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{shape:r,values:s,defaultValue:o,rowPartitionTensors:a}=t,{rowPartitionTypes:l}=i,u=n.data.get(r.dataId).values,c=n.data.get(s.dataId).values,d=n.data.get(o.dataId).values,h=a.map(e=>n.data.get(e.dataId).values),p=a.map(e=>e.shape),[f,m]=wue(u,r.shape,c,s.shape,s.dtype,d,o.shape,h,p,l);return n.makeTensorInfo(f,s.dtype,m)}};const dpe={kernelName:v3.Range,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14368,7 +14368,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{shape:r,values:s,defaultValue:o * limitations under the License. * ============================================================================= */ -function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,dtype:s,step:o}=n,a=vue(i,r,o,s);return t.makeTensorInfo([a.length],s,a)}},ope=nle(p3.Reciprocal,e=>1/e),ape={kernelName:p3.Reciprocal,backendName:"cpu",kernelFunc:ope};const lpe={kernelName:p3.ResizeBilinear,backendName:"cpu",kernelFunc: +function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,dtype:s,step:o}=n,a=Iue(i,r,o,s);return t.makeTensorInfo([a.length],s,a)}},hpe=lle(v3.Reciprocal,e=>1/e),ppe={kernelName:v3.Reciprocal,backendName:"cpu",kernelFunc:hpe};const fpe={kernelName:v3.ResizeBilinear,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14385,7 +14385,7 @@ function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,dtype:s,step:o}=n,a=vue(i * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r}=t,{alignCorners:s,halfPixelCenters:o,size:a}=i;Cae(r,"resizeBilinear");const l=p3.util.computeStrides(r.shape),[u,c]=a,[d,h,p,f]=r.shape,m=n.data.get(r.dataId).values,g=new Float32Array(p3.util.sizeFromShape([d,u,c,f])),_=[s&&u>1?h-1:h,s&&c>1?p-1:p],y=[s&&u>1?u-1:u,s&&c>1?c-1:c];let v=0;const b=_[0]/y[0],T=_[1]/y[1];for(let e=0;e1?h-1:h,s&&c>1?p-1:p],y=[s&&u>1?u-1:u,s&&c>1?c-1:c];let v=0;const b=_[0]/y[0],T=_[1]/y[1];for(let e=0;e1?u-1:u,o&&p>1?c-1:c],g=[o&&h>1?h-1:h,o&&p>1?p-1:p],_=m[0]/g[0],y=m[1]/g[1],v=n.data.get(s.dataId).values;let b=0;for(let e=0;e1?u-1:u,o&&p>1?c-1:c],g=[o&&h>1?h-1:h,o&&p>1?p-1:p],_=m[0]/g[0],y=m[1]/g[1],v=n.data.get(s.dataId).values;let b=0;for(let e=0;e1?h-1:h,s&&c>1?p-1:p],y=[s&&u>1?u-1:u,s&&c>1?c-1:c],v=_[0]/y[0],b=_[1]/y[1];let T=0;for(let e=0;e1?h-1:h,s&&c>1?p-1:p],y=[s&&u>1?u-1:u,s&&c>1?c-1:c],v=_[0]/y[0],b=_[1]/y[1];let T=0;for(let e=0;e1?c-1:c,o&&f>1?d-1:d],y=[o&&p>1?p-1:p,o&&f>1?f-1:f],v=_[0]/y[0],b=_[1]/y[1],T=1/v,x=1/b,E=2*Math.ceil(T)+2,w=2*Math.ceil(x)+2;for(let e=0;e=p)continue;const h=t+u*l[1],m=u*v;if(e===Math.min(c-1,o?Math.round(m):Math.floor(m)))for(let e=0;e=f)continue;const r=h+t*l[2],s=t*b;i===Math.min(d-1,o?Math.round(s):Math.floor(s))&&(a+=g[r+n])}}m[s+n]=a}}}}return n.makeTensorInfo(r.shape,r.dtype,m)}};const hpe={kernelName:p3.Reverse,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r,dy:s}=t,{alignCorners:o}=i;Dae([s,r],"resizeNearestNeighborGrad");const a=v3.util.computeStrides(r.shape),l=v3.util.computeStrides(s.shape),[u,c,d,h]=r.shape,[,p,f]=s.shape,m=new Float32Array(u*c*d*h),g=n.data.get(s.dataId).values,_=[o&&p>1?c-1:c,o&&f>1?d-1:d],y=[o&&p>1?p-1:p,o&&f>1?f-1:f],v=_[0]/y[0],b=_[1]/y[1],T=1/v,x=1/b,E=2*Math.ceil(T)+2,w=2*Math.ceil(x)+2;for(let e=0;e=p)continue;const h=t+u*l[1],m=u*v;if(e===Math.min(c-1,o?Math.round(m):Math.floor(m)))for(let e=0;e=f)continue;const r=h+t*l[2],s=t*b;i===Math.min(d-1,o?Math.round(s):Math.floor(s))&&(a+=g[r+n])}}m[s+n]=a}}}}return n.makeTensorInfo(r.shape,r.dtype,m)}};const ype={kernelName:v3.Reverse,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14453,7 +14453,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r,dy:s}=t,{alignCorners: * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{dims:s}=i;Cae(r,"reverse");const o=r.shape.length,a=p3.util.parseAxisParam(s,r.shape);if(0===o)return Pae({inputs:{x:r},backend:n});const l=new p3.TensorBuffer(r.shape,r.dtype),u=n.bufferSync(r);for(let e=0;en[e]=r.shape[e]-1-n[e]),l.set(u.get(...n),...t)}return n.makeTensorInfo(l.shape,l.dtype,l.values)}},ppe={kernelName:p3.RotateWithOffset,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{image:i}=e,{radians:r,fillValue:s,center:o}=t,a=n,l=p3.util.getTypedArrayFromDType(i.dtype,p3.util.sizeFromShape(i.shape)),[u,c,d,h]=i.shape,[p,f]=p3.backend_util.getImageCenter(o,c,d),m=Math.sin(r),g=Math.cos(r),_=a.data.get(i.dataId).values;for(let e=0;e=0&&b=0&&T{const t=Math.floor(e);return e-t<.5?Math.floor(e):e-t>.5?Math.ceil(e):t%2==0?t:t+1}),mpe={kernelName:p3.Round,backendName:"cpu",kernelFunc:fpe};const gpe={kernelName:p3.ScatterNd,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{dims:s}=i;Dae(r,"reverse");const o=r.shape.length,a=v3.util.parseAxisParam(s,r.shape);if(0===o)return jae({inputs:{x:r},backend:n});const l=new v3.TensorBuffer(r.shape,r.dtype),u=n.bufferSync(r);for(let e=0;en[e]=r.shape[e]-1-n[e]),l.set(u.get(...n),...t)}return n.makeTensorInfo(l.shape,l.dtype,l.values)}},vpe={kernelName:v3.RotateWithOffset,backendName:"cpu",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{image:i}=e,{radians:r,fillValue:s,center:o}=t,a=n,l=v3.util.getTypedArrayFromDType(i.dtype,v3.util.sizeFromShape(i.shape)),[u,c,d,h]=i.shape,[p,f]=v3.backend_util.getImageCenter(o,c,d),m=Math.sin(r),g=Math.cos(r),_=a.data.get(i.dataId).values;for(let e=0;e=0&&b=0&&T{const t=Math.floor(e);return e-t<.5?Math.floor(e):e-t>.5?Math.ceil(e):t%2==0?t:t+1}),Tpe={kernelName:v3.Round,backendName:"cpu",kernelFunc:bpe};const xpe={kernelName:v3.ScatterNd,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14470,7 +14470,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{dims:s}=i;Cae(r,"revers * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{indices:r,updates:s}=t,{shape:o}=i,{sliceRank:a,numUpdates:l,sliceSize:u,strides:c,outputSize:d}=p3.backend_util.calculateShapes(s,r,o),h=Eue(n.bufferSync(r),n.bufferSync(s),o,d,u,l,a,c,0,!0);return n.makeTensorInfo(o,h.dtype,h.values)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{indices:r,updates:s}=t,{shape:o}=i,{sliceRank:a,numUpdates:l,sliceSize:u,strides:c,outputSize:d}=v3.backend_util.calculateShapes(s,r,o),h=Oue(n.bufferSync(r),n.bufferSync(s),o,d,u,l,a,c,0,!0);return n.makeTensorInfo(o,h.dtype,h.values)}}; /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -14487,7 +14487,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{indices:r,updates:s}=t,{shape:o * limitations under the License. * ============================================================================= */ -function _pe(e,t){let n=0,i=e.length,r=0;for(;n1||1===r.shape.length?1:p3.util.sizeFromShape(r.shape.slice(1));for(let e=0;ee>=0?xpe*e:Tpe*(Math.exp(e)-1)),wpe={kernelName:p3.Selu,backendName:"cpu",kernelFunc:Epe},Ipe=nle(p3.Sign,e=>e<0?-1:e>0?1:0),Ape={kernelName:p3.Sign,backendName:"cpu",kernelFunc:Ipe},Spe=nle(p3.Sin,e=>Math.sin(e)),Cpe={kernelName:p3.Sin,backendName:"cpu",kernelFunc:Spe},Ope=nle(p3.Sinh,e=>Math.sinh(e)),Mpe={kernelName:p3.Sinh,backendName:"cpu",kernelFunc:Ope},kpe=Math.log(1.1920928955078125e-7)+2,Rpe=nle(p3.Softplus,e=>{const t=e>-kpe,n=e1||1===r.shape.length?1:v3.util.sizeFromShape(r.shape.slice(1));for(let e=0;ee>=0?Cpe*e:Spe*(Math.exp(e)-1)),Mpe={kernelName:v3.Selu,backendName:"cpu",kernelFunc:Ope},kpe=lle(v3.Sign,e=>e<0?-1:e>0?1:0),Rpe={kernelName:v3.Sign,backendName:"cpu",kernelFunc:kpe},Npe=lle(v3.Sin,e=>Math.sin(e)),Dpe={kernelName:v3.Sin,backendName:"cpu",kernelFunc:Npe},Fpe=lle(v3.Sinh,e=>Math.sinh(e)),Lpe={kernelName:v3.Sinh,backendName:"cpu",kernelFunc:Fpe},Ppe=Math.log(1.1920928955078125e-7)+2,Bpe=lle(v3.Softplus,e=>{const t=e>-Ppe,n=eNumber(e)))),n.makeTensorInfo([m.length],i.dtype,new Int32Array(m))]}};const Lpe={kernelName:p3.SparseReshape,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{indices:i,values:r,denseShape:s,defaultValue:o}=t;if(1!==s.shape.length)throw new Error(`Dense shape must be a vector, saw:\n ${s.shape}`);if(2!==i.shape.length)throw new Error(`Indices must be a matrix, saw:\n ${i.shape}`);if(1!==r.shape.length)throw new Error(`Values must be a vector, saw:\n ${r.shape}`);if(0!==o.shape.length)throw new Error(`Default value must be a scalar, saw:\n ${o.shape}`);const a=n.data.get(i.dataId).values,l=n.data.get(r.dataId).values,u=n.data.get(s.dataId).values,c=n.data.get(o.dataId).values[0],[d,h,p,f,m]=Lue(a,i.shape,i.dtype,l,r.dtype,u,c);return[n.makeTensorInfo(h,i.dtype,d),n.makeTensorInfo([h[0]],r.dtype,p),n.makeTensorInfo([f.length],"bool",new Uint8Array(f.map(e=>Number(e)))),n.makeTensorInfo([m.length],i.dtype,new Int32Array(m))]}};const zpe={kernelName:v3.SparseReshape,backendName:"cpu",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -14572,7 +14572,7 @@ function(e){const{inputs:t,backend:n}=e,{indices:i,values:r,denseShape:s,default * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{inputIndices:i,inputShape:r,newShape:s}=t;if(2!==i.shape.length)throw new Error(`Input indices should be a matrix but received shape\n ${i.shape}`);if(1!==r.shape.length)throw new Error(`Input shape should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);const o=Array.from(n.data.get(r.dataId).values),a=n.data.get(i.dataId).values,l=Array.from(n.data.get(s.dataId).values),[u,c,d]=kue(a,i.shape,i.dtype,o,l);return[n.makeTensorInfo(c,i.dtype,u),n.makeTensorInfo([d.length],s.dtype,new Int32Array(d))]}};const Ppe={kernelName:p3.SparseSegmentMean,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{inputIndices:i,inputShape:r,newShape:s}=t;if(2!==i.shape.length)throw new Error(`Input indices should be a matrix but received shape\n ${i.shape}`);if(1!==r.shape.length)throw new Error(`Input shape should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);const o=Array.from(n.data.get(r.dataId).values),a=n.data.get(i.dataId).values,l=Array.from(n.data.get(s.dataId).values),[u,c,d]=Pue(a,i.shape,i.dtype,o,l);return[n.makeTensorInfo(c,i.dtype,u),n.makeTensorInfo([d.length],s.dtype,new Int32Array(d))]}};const jpe={kernelName:v3.SparseSegmentMean,backendName:"cpu",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -14589,7 +14589,7 @@ function(e){const{inputs:t,backend:n}=e,{inputIndices:i,inputShape:r,newShape:s} * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==r.shape.length)throw new Error(`Indices should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(r.shape[0]!==s.shape[0])throw new Error("segmentIds and indices should have same size.");const o=n.data.get(i.dataId).values,a=n.data.get(r.dataId).values,l=n.data.get(s.dataId).values,[u,c]=Rue(o,i.shape,i.dtype,a,l,!0);return n.makeTensorInfo(c,i.dtype,u)}};const Bpe={kernelName:p3.SparseSegmentSum,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==r.shape.length)throw new Error(`Indices should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(r.shape[0]!==s.shape[0])throw new Error("segmentIds and indices should have same size.");const o=n.data.get(i.dataId).values,a=n.data.get(r.dataId).values,l=n.data.get(s.dataId).values,[u,c]=Bue(o,i.shape,i.dtype,a,l,!0);return n.makeTensorInfo(c,i.dtype,u)}};const Ype={kernelName:v3.SparseSegmentSum,backendName:"cpu",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -14606,7 +14606,7 @@ function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.s * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==r.shape.length)throw new Error(`Indices should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(r.shape[0]!==s.shape[0])throw new Error("segmentIds and indices should have same size.");const o=n.data.get(i.dataId).values,a=n.data.get(r.dataId).values,l=n.data.get(s.dataId).values,[u,c]=Rue(o,i.shape,i.dtype,a,l);return n.makeTensorInfo(c,i.dtype,u)}};const $pe={kernelName:p3.SparseToDense,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==r.shape.length)throw new Error(`Indices should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);if(r.shape[0]!==s.shape[0])throw new Error("segmentIds and indices should have same size.");const o=n.data.get(i.dataId).values,a=n.data.get(r.dataId).values,l=n.data.get(s.dataId).values,[u,c]=Bue(o,i.shape,i.dtype,a,l);return n.makeTensorInfo(c,i.dtype,u)}};const Gpe={kernelName:v3.SparseToDense,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14623,7 +14623,7 @@ function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.s * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{sparseIndices:r,sparseValues:s,defaultValue:o}=t,{outputShape:a}=i,{sliceRank:l,numUpdates:u,sliceSize:c,strides:d,outputSize:h}=p3.backend_util.calculateShapes(s,r,a),p=!1,f=n.bufferSync(r);let m;switch(s.dtype){case"bool":m=Eue(f,n.bufferSync(s),a,h,c,u,l,d,Boolean(n.data.get(o.dataId).values[0]),p);break;case"float32":m=Eue(f,n.bufferSync(s),a,h,c,u,l,d,n.data.get(o.dataId).values[0],p);break;case"int32":m=Eue(f,n.bufferSync(s),a,h,c,u,l,d,n.data.get(o.dataId).values[0],p);break;case"string":m=Eue(f,n.bufferSync(s),a,h,c,u,l,d,p3.util.decodeString(n.data.get(o.dataId).values[0]),p);break;default:throw new Error(`Unsupported type ${s.dtype}`)}return n.makeTensorInfo(a,m.dtype,m.values)}};const Upe={kernelName:p3.SplitV,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{sparseIndices:r,sparseValues:s,defaultValue:o}=t,{outputShape:a}=i,{sliceRank:l,numUpdates:u,sliceSize:c,strides:d,outputSize:h}=v3.backend_util.calculateShapes(s,r,a),p=!1,f=n.bufferSync(r);let m;switch(s.dtype){case"bool":m=Oue(f,n.bufferSync(s),a,h,c,u,l,d,Boolean(n.data.get(o.dataId).values[0]),p);break;case"float32":m=Oue(f,n.bufferSync(s),a,h,c,u,l,d,n.data.get(o.dataId).values[0],p);break;case"int32":m=Oue(f,n.bufferSync(s),a,h,c,u,l,d,n.data.get(o.dataId).values[0],p);break;case"string":m=Oue(f,n.bufferSync(s),a,h,c,u,l,d,v3.util.decodeString(n.data.get(o.dataId).values[0]),p);break;default:throw new Error(`Unsupported type ${s.dtype}`)}return n.makeTensorInfo(a,m.dtype,m.values)}};const Hpe={kernelName:v3.SplitV,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14640,7 +14640,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{sparseIndices:r,sparseValues:s, * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{numOrSizeSplits:s,axis:o}=i,a=p3.util.parseAxisParam(o,r.shape)[0],l=p3.backend_util.prepareSplitSize(r,s,a),u=new Array(r.shape.length).fill(0),c=r.shape.slice();return l.map(e=>{const t=[...c];t[a]=e;const i=Cue({inputs:{x:r},backend:n,attrs:{begin:u,size:t}});return u[a]+=e,i})}},Vpe={kernelName:p3.Square,backendName:"cpu",kernelFunc:({inputs:e,backend:t})=>{const{x:n}=e,i=t;Cae(n,"square");const r=i.data.get(n.dataId).values,s=new Float32Array(r.length);for(let e=0;e{const n=t;return isNaN(e)?NaN:e>0?1:n.alpha}),jpe={kernelName:p3.Step,backendName:"cpu",kernelFunc:zpe};const Ype={kernelName:p3.StridedSlice,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{numOrSizeSplits:s,axis:o}=i,a=v3.util.parseAxisParam(o,r.shape)[0],l=v3.backend_util.prepareSplitSize(r,s,a),u=new Array(r.shape.length).fill(0),c=r.shape.slice();return l.map(e=>{const t=[...c];t[a]=e;const i=Due({inputs:{x:r},backend:n,attrs:{begin:u,size:t}});return u[a]+=e,i})}},Wpe={kernelName:v3.Square,backendName:"cpu",kernelFunc:({inputs:e,backend:t})=>{const{x:n}=e,i=t;Dae(n,"square");const r=i.data.get(n.dataId).values,s=new Float32Array(r.length);for(let e=0;e{const n=t;return isNaN(e)?NaN:e>0?1:n.alpha}),qpe={kernelName:v3.Step,backendName:"cpu",kernelFunc:Xpe};const Kpe={kernelName:v3.StridedSlice,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14657,7 +14657,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{numOrSizeSplits:s,axis: * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,end:o,strides:a,beginMask:l,endMask:u,ellipsisMask:c,newAxisMask:d,shrinkAxisMask:h}=i;Cae(r,"stridedSlice");const{finalShapeSparse:p,finalShape:f,isIdentity:m,sliceDim0:g,isSimpleSlice:_,begin:y,end:v,strides:b}=p3.slice_util.sliceInfo(r.shape,s,o,a,l,u,c,d,h);let T;if(m)T=gce({inputs:{x:r},backend:n,attrs:{shape:f}});else if(g||_){p3.util.assert(r.shape.length>=1,()=>`Input must have rank at least 1, got: ${r.shape.length}`);const e=p3.slice_util.computeOutShape(y,v,b),t=Cue({inputs:{x:r},backend:n,attrs:{begin:y,size:e}});T=gce({inputs:{x:t},backend:n,attrs:{shape:f}}),n.disposeIntermediateTensorInfo(t)}else{const e=zue(p,n.bufferSync(r),b,y);T=n.makeTensorInfo(f,e.dtype,e.values)}return T}};const Gpe={kernelName:p3.StringNGrams,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,end:o,strides:a,beginMask:l,endMask:u,ellipsisMask:c,newAxisMask:d,shrinkAxisMask:h}=i;Dae(r,"stridedSlice");const{finalShapeSparse:p,finalShape:f,isIdentity:m,sliceDim0:g,isSimpleSlice:_,begin:y,end:v,strides:b}=v3.slice_util.sliceInfo(r.shape,s,o,a,l,u,c,d,h);let T;if(m)T=xce({inputs:{x:r},backend:n,attrs:{shape:f}});else if(g||_){v3.util.assert(r.shape.length>=1,()=>`Input must have rank at least 1, got: ${r.shape.length}`);const e=v3.slice_util.computeOutShape(y,v,b),t=Due({inputs:{x:r},backend:n,attrs:{begin:y,size:e}});T=xce({inputs:{x:t},backend:n,attrs:{shape:f}}),n.disposeIntermediateTensorInfo(t)}else{const e=Xue(p,n.bufferSync(r),b,y);T=n.makeTensorInfo(f,e.dtype,e.values)}return T}};const Zpe={kernelName:v3.StringNGrams,backendName:"cpu",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -14674,7 +14674,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,end:o,strides:a * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{separator:r,nGramWidths:s,leftPad:o,rightPad:a,padWidth:l,preserveShortSequences:u}=i,{data:c,dataSplits:d}=t,h=n.data.get(c.dataId).values,p=n.data.get(d.dataId).values,[f,m]=Yue(h,p,r,s,o,a,l,u);return[n.makeTensorInfo([f.length],"string",f),n.makeTensorInfo(d.shape,"int32",m)]}};const Hpe={kernelName:p3.StringSplit,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{separator:r,nGramWidths:s,leftPad:o,rightPad:a,padWidth:l,preserveShortSequences:u}=i,{data:c,dataSplits:d}=t,h=n.data.get(c.dataId).values,p=n.data.get(d.dataId).values,[f,m]=Kue(h,p,r,s,o,a,l,u);return[n.makeTensorInfo([f.length],"string",f),n.makeTensorInfo(d.shape,"int32",m)]}};const Qpe={kernelName:v3.StringSplit,backendName:"cpu",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -14691,7 +14691,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{separator:r,nGramWidths:s,leftP * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{skipEmpty:r}=i,{input:s,delimiter:o}=t;if("string"!==s.dtype)throw new Error("Input must be of datatype string");if(1!==s.shape.length)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(0!==o.shape.length)throw new Error(`Delimiter must be a scalar, got shape: ${o.shape}`);const a=n.data.get(s.dataId).values,l=n.data.get(o.dataId).values[0],[u,c,d]=Hue(a,l,r),h=c.length;return[n.makeTensorInfo([h,2],"int32",u),n.makeTensorInfo([h],"string",c),n.makeTensorInfo([2],"int32",new Int32Array(d))]}};const Wpe={kernelName:p3.StringToHashBucketFast,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{skipEmpty:r}=i,{input:s,delimiter:o}=t;if("string"!==s.dtype)throw new Error("Input must be of datatype string");if(1!==s.shape.length)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(0!==o.shape.length)throw new Error(`Delimiter must be a scalar, got shape: ${o.shape}`);const a=n.data.get(s.dataId).values,l=n.data.get(o.dataId).values[0],[u,c,d]=Que(a,l,r),h=c.length;return[n.makeTensorInfo([h,2],"int32",u),n.makeTensorInfo([h],"string",c),n.makeTensorInfo([2],"int32",new Int32Array(d))]}};const Jpe={kernelName:v3.StringToHashBucketFast,backendName:"cpu",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -14708,7 +14708,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{skipEmpty:r}=i,{input:s,delimit * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{numBuckets:r}=i,{input:s}=t;if("string"!==s.dtype)throw new Error("Input must be of datatype string");if(r<=0)throw new Error("Number of buckets must be at least 1");const o=Wue(n.data.get(s.dataId).values,r);return n.makeTensorInfo(s.shape,"int32",o)}},Xpe=nle(p3.Tan,e=>Math.tan(e)),qpe={kernelName:p3.Tan,backendName:"cpu",kernelFunc:Xpe},Kpe=nle(p3.Tanh,e=>Math.tanh(e)),Zpe={kernelName:p3.Tanh,backendName:"cpu",kernelFunc:Kpe};const Qpe={kernelName:p3.TensorScatterUpdate,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{numBuckets:r}=i,{input:s}=t;if("string"!==s.dtype)throw new Error("Input must be of datatype string");if(r<=0)throw new Error("Number of buckets must be at least 1");const o=Jue(n.data.get(s.dataId).values,r);return n.makeTensorInfo(s.shape,"int32",o)}},efe=lle(v3.Tan,e=>Math.tan(e)),tfe={kernelName:v3.Tan,backendName:"cpu",kernelFunc:efe},nfe=lle(v3.Tanh,e=>Math.tanh(e)),ife={kernelName:v3.Tanh,backendName:"cpu",kernelFunc:nfe};const rfe={kernelName:v3.TensorScatterUpdate,backendName:"cpu",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -14725,7 +14725,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{numBuckets:r}=i,{input:s}=t;if( * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{tensor:i,indices:r,updates:s}=t,{sliceRank:o,numUpdates:a,sliceSize:l,strides:u,outputSize:c}=p3.backend_util.calculateShapes(s,r,i.shape),d=n.bufferSync(r),h=n.bufferSync(s),p=n.bufferSync(i),f=Eue(d,h,i.shape,c,l,a,o,u,p,!1);return n.makeTensorInfo(i.shape,f.dtype,f.values)}};const Jpe={kernelName:p3.Tile,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{tensor:i,indices:r,updates:s}=t,{sliceRank:o,numUpdates:a,sliceSize:l,strides:u,outputSize:c}=v3.backend_util.calculateShapes(s,r,i.shape),d=n.bufferSync(r),h=n.bufferSync(s),p=n.bufferSync(i),f=Oue(d,h,i.shape,c,l,a,o,u,p,!1);return n.makeTensorInfo(i.shape,f.dtype,f.values)}};const sfe={kernelName:v3.Tile,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14742,7 +14742,7 @@ function(e){const{inputs:t,backend:n}=e,{tensor:i,indices:r,updates:s}=t,{sliceR * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{reps:s}=i;Cae(r,"tile");const o=Que(n.bufferSync(r),s);return n.makeTensorInfo(o.shape,o.dtype,o.values)}};const efe={kernelName:p3.TopK,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{reps:s}=i;Dae(r,"tile");const o=rce(n.bufferSync(r),s);return n.makeTensorInfo(o.shape,o.dtype,o.values)}};const ofe={kernelName:v3.TopK,backendName:"cpu",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -14759,7 +14759,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{reps:s}=i;Cae(r,"tile") * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{k:s,sorted:o}=i;Cae(r,"topk");const a=n.data.get(r.dataId).values,[l,u]=tce(a,r.shape,r.dtype,s,o);return[n.makeTensorInfo(l.shape,l.dtype,l.values),n.makeTensorInfo(u.shape,u.dtype,u.values)]}};const tfe={kernelName:p3.Transform,backendName:"cpu",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{k:s,sorted:o}=i;Dae(r,"topk");const a=n.data.get(r.dataId).values,[l,u]=ace(a,r.shape,r.dtype,s,o);return[n.makeTensorInfo(l.shape,l.dtype,l.values),n.makeTensorInfo(u.shape,u.dtype,u.values)]}};const afe={kernelName:v3.Transform,backendName:"cpu",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -14776,7 +14776,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{k:s,sorted:o}=i;Cae(r," * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,attrs:n,backend:i}=e,{image:r,transforms:s}=t,{interpolation:o,fillMode:a,fillValue:l,outputShape:u}=n,[c,d,h,p]=r.shape,[f,m]=null!=u?u:[d,h],g=[c,f,m,p],_=p3.util.computeStrides(r.shape),y=_[0],v=_[1],b=_[2],T=p3.util.computeStrides(g),x=T[0],E=T[1],w=T[2],I=p3.util.getTypedArrayFromDType(r.dtype,p3.util.sizeFromShape(g));I.fill(l);const A=i.data.get(r.dataId).values,S=i.data.get(s.dataId).values;for(let e=0;et-1)if(t<=1)n=0;else{const e=2*t;n-=e*Math.trunc(n/e),n>=t&&(n=e-n-1)}return p3.util.clamp(0,n,t-1)}(e,t);case"wrap":return function(e,t){let n=e;if(n<0)if(t<=1)n=0;else{const e=t-1;n+=t*(Math.trunc(-n/e)+1)}else if(n>t-1)if(t<=1)n=0;else{const e=t-1;n-=t*Math.trunc(n/e)}return p3.util.clamp(0,n,t-1)}(e,t);case"nearest":return function(e,t){return p3.util.clamp(0,e,t-1)}(e,t);default:return function(e){return e}(e)}}function ife(e,t,n,i,r,s,o,a,l,u,c){return 0<=a&&at-1)if(t<=1)n=0;else{const e=2*t;n-=e*Math.trunc(n/e),n>=t&&(n=e-n-1)}return v3.util.clamp(0,n,t-1)}(e,t);case"wrap":return function(e,t){let n=e;if(n<0)if(t<=1)n=0;else{const e=t-1;n+=t*(Math.trunc(-n/e)+1)}else if(n>t-1)if(t<=1)n=0;else{const e=t-1;n-=t*Math.trunc(n/e)}return v3.util.clamp(0,n,t-1)}(e,t);case"nearest":return function(e,t){return v3.util.clamp(0,e,t-1)}(e,t);default:return function(e){return e}(e)}}function ufe(e,t,n,i,r,s,o,a,l,u,c){return 0<=a&&an.disposeIntermediateTensorInfo(e)),d}},ufe=[bce,Rae,xce,wce,qae,Ice,Ace,Sce,Cce,Oce,kce,Nce,Fce,Bce,Uce,Yce,Gce,Hce,Wce,vce,Xce,qce,Kce,ele,Zce,jae,ole,Jce,Fae,ede,rde,ode,ade,lde,ude,cde,dde,pde,mde,gde,_de,yde,vde,bde,xde,Ede,wde,Ide,Ade,Sde,Cde,Ode,Rde,sce,Nde,cle,Vde,ple,jde,gle,Kde,Qde,Jde,vle,xle,ehe,the,nhe,ihe,Sle,Mle,Bae,rhe,nde,ohe,lhe,che,ace,Nle,Lle,dhe,Ule,phe,ghe,yhe,The,xhe,Ehe,Ihe,Yle,Ahe,She,Che,Ohe,Mhe,khe,Rhe,Wle,Nhe,Lhe,$he,Zle,Jle,Vhe,jhe,Ghe,nue,Hhe,qhe,Zhe,Qhe,tpe,cce,aue,npe,ipe,rpe,spe,Uae,Hde,ape,hce,fce,_ce,lpe,upe,cpe,dpe,hpe,ppe,mpe,xue,gpe,vpe,bpe,wpe,Aue,Ape,Cpe,Mpe,Oue,Bhe,Npe,Dpe,Fpe,Lpe,Ppe,Bpe,$pe,Upe,Fue,Vpe,Bue,Vue,jpe,Ype,Gpe,Hpe,Wpe,Zue,kde,qpe,Zpe,Qpe,Jpe,efe,tfe,sue,ofe,afe,lfe,Xhe];for(const e of ufe)(0,p3.registerKernel)(e); +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,segmentIds:s}=t,{numSegments:o}=i;Dae(r,"unsortedSegmentSum");const a=[],l=[],u=r.shape.length-s.shape.length;let c=s;for(let e=0;en.disposeIntermediateTensorInfo(e)),d}},mfe=[Ace,Bae,Cce,Mce,tle,kce,Rce,Nce,Dce,Fce,Pce,$ce,Vce,Yce,Hce,Kce,Zce,Qce,Jce,Ice,ede,tde,nde,ole,ide,qae,hle,sde,Vae,ode,cde,hde,pde,fde,mde,gde,_de,vde,Tde,xde,Ede,wde,Ide,Ade,Cde,Ode,Mde,kde,Rde,Nde,Dde,Fde,Bde,dce,$de,gle,Wde,vle,qde,xle,nhe,rhe,she,Ile,Cle,ohe,ahe,lhe,uhe,Nle,Lle,Yae,che,lde,hhe,fhe,ghe,pce,$le,zle,_he,Hle,vhe,xhe,whe,She,Che,Ohe,khe,Kle,Rhe,Nhe,Dhe,Fhe,Lhe,Phe,Bhe,Jle,$he,zhe,Ghe,iue,sue,Whe,qhe,Zhe,lue,Qhe,tpe,ipe,rpe,ape,gce,pue,lpe,upe,cpe,dpe,Hae,Qde,ppe,yce,bce,Ece,fpe,mpe,gpe,_pe,ype,vpe,Tpe,Cue,xpe,Ipe,Ape,Mpe,Rue,Rpe,Dpe,Lpe,Fue,Yhe,$pe,Upe,Vpe,zpe,jpe,Ype,Gpe,Hpe,Vue,Wpe,Yue,Wue,qpe,Kpe,Zpe,Qpe,Jpe,ice,Pde,tfe,ife,rfe,sfe,ofe,afe,due,hfe,pfe,ffe,epe];for(const e of mfe)(0,v3.registerKernel)(e); /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -14844,7 +14844,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,segmentIds:s}=t,{numSegment * limitations under the License. * ============================================================================= */ -const cfe={},dfe={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function hfe(e,t){cfe[e]=t}function pfe(e,t){if(!(e in cfe)||null!=t){const n=function(e,t){if(1!==e&&2!==e)throw new Error("Cannot get WebGL rendering context, WebGL is disabled.");const n=null==t?function(e){if((0,p3.env)().getBool("IS_SAFARI")||"undefined"==typeof OffscreenCanvas||2!==e){if("undefined"!=typeof document)return document.createElement("canvas");throw new Error("Cannot create a canvas in this context")}return new OffscreenCanvas(300,150)}(e):t;n.addEventListener("webglcontextlost",t=>{t.preventDefault(),delete cfe[e]},!1),(0,p3.env)().getBool("SOFTWARE_WEBGL_ENABLED")&&(dfe.failIfMajorPerformanceCaveat=!1);if(1===e)return n.getContext("webgl",dfe)||n.getContext("experimental-webgl",dfe);return n.getContext("webgl2",dfe)}(e,t);if(null===n)return console.log("Could not get context for WebGL version",e),null;cfe[e]=n}const n=cfe[e];return null==n||n.isContextLost()?(delete cfe[e],pfe(e)):(n.disable(n.DEPTH_TEST),n.disable(n.STENCIL_TEST),n.disable(n.BLEND),n.disable(n.DITHER),n.disable(n.POLYGON_OFFSET_FILL),n.disable(n.SAMPLE_COVERAGE),n.enable(n.SCISSOR_TEST),n.enable(n.CULL_FACE),n.cullFace(n.BACK),cfe[e])} +const gfe={},_fe={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0};function yfe(e,t){gfe[e]=t}function vfe(e,t){if(!(e in gfe)||null!=t){const n=function(e,t){if(1!==e&&2!==e)throw new Error("Cannot get WebGL rendering context, WebGL is disabled.");const n=null==t?function(e){if((0,v3.env)().getBool("IS_SAFARI")||"undefined"==typeof OffscreenCanvas||2!==e){if("undefined"!=typeof document)return document.createElement("canvas");throw new Error("Cannot create a canvas in this context")}return new OffscreenCanvas(300,150)}(e):t;n.addEventListener("webglcontextlost",t=>{t.preventDefault(),delete gfe[e]},!1),(0,v3.env)().getBool("SOFTWARE_WEBGL_ENABLED")&&(_fe.failIfMajorPerformanceCaveat=!1);if(1===e)return n.getContext("webgl",_fe)||n.getContext("experimental-webgl",_fe);return n.getContext("webgl2",_fe)}(e,t);if(null===n)return console.log("Could not get context for WebGL version",e),null;gfe[e]=n}const n=gfe[e];return null==n||n.isContextLost()?(delete gfe[e],vfe(e)):(n.disable(n.DEPTH_TEST),n.disable(n.STENCIL_TEST),n.disable(n.BLEND),n.disable(n.DITHER),n.disable(n.POLYGON_OFFSET_FILL),n.disable(n.SAMPLE_COVERAGE),n.enable(n.SCISSOR_TEST),n.enable(n.CULL_FACE),n.cullFace(n.BACK),gfe[e])} /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -14861,7 +14861,7 @@ const cfe={},dfe={alpha:!1,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuf * limitations under the License. * ============================================================================= */ -var ffe,mfe,gfe;function _fe(e,t){return[t,e]}function yfe(e){const t=p3.util.sizeFromShape(e),n=Math.ceil(t/4);return p3.util.sizeToSquarishShape(n)}function vfe(e,t){return[Math.max(1,Math.ceil(t/2)),Math.max(1,Math.ceil(e/2))]}function bfe(e,t){const n=e;let i,r,s,o,a,l,u,c,d,h;return 2===(0,p3.env)().getNumber("WEBGL_VERSION")?(i=n.R32F,r=n.R16F,s=n.RGBA16F,o=n.RGBA32F,a=n.RED,u=4,c=1,d=n.HALF_FLOAT,h=n.FLOAT,l=n.RGBA8):(i=e.RGBA,r=e.RGBA,s=e.RGBA,o=n.RGBA,a=e.RGBA,u=4,c=4,d=null!=t?t.HALF_FLOAT_OES:null,h=e.FLOAT,l=e.RGBA),{internalFormatFloat:i,internalFormatHalfFloat:r,internalFormatPackedHalfFloat:s,internalFormatPackedFloat:o,textureFormatFloat:a,downloadTextureFormat:l,downloadUnpackNumChannels:u,defaultNumChannels:c,textureTypeHalfFloat:d,textureTypeFloat:h}} +var bfe,Tfe,xfe;function Efe(e,t){return[t,e]}function wfe(e){const t=v3.util.sizeFromShape(e),n=Math.ceil(t/4);return v3.util.sizeToSquarishShape(n)}function Ife(e,t){return[Math.max(1,Math.ceil(t/2)),Math.max(1,Math.ceil(e/2))]}function Afe(e,t){const n=e;let i,r,s,o,a,l,u,c,d,h;return 2===(0,v3.env)().getNumber("WEBGL_VERSION")?(i=n.R32F,r=n.R16F,s=n.RGBA16F,o=n.RGBA32F,a=n.RED,u=4,c=1,d=n.HALF_FLOAT,h=n.FLOAT,l=n.RGBA8):(i=e.RGBA,r=e.RGBA,s=e.RGBA,o=n.RGBA,a=e.RGBA,u=4,c=4,d=null!=t?t.HALF_FLOAT_OES:null,h=e.FLOAT,l=e.RGBA),{internalFormatFloat:i,internalFormatHalfFloat:r,internalFormatPackedHalfFloat:s,internalFormatPackedFloat:o,textureFormatFloat:a,downloadTextureFormat:l,downloadUnpackNumChannels:u,defaultNumChannels:c,textureTypeHalfFloat:d,textureTypeFloat:h}} /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -14878,7 +14878,7 @@ var ffe,mfe,gfe;function _fe(e,t){return[t,e]}function yfe(e){const t=p3.util.si * limitations under the License. * ============================================================================= */ -function Tfe(e,t){const n=t();return(0,p3.env)().getBool("DEBUG")&&function(e){const t=e.getError();if(t!==e.NO_ERROR)throw new Error("WebGL Error: "+Ife(e,t))}(e),n}!function(e){e[e.DENSE=0]="DENSE",e[e.SHARED_BATCH=1]="SHARED_BATCH"}(ffe||(ffe={})),function(e){e[e.RENDER=0]="RENDER",e[e.UPLOAD=1]="UPLOAD",e[e.PIXELS=2]="PIXELS",e[e.DOWNLOAD=3]="DOWNLOAD"}(mfe||(mfe={})),function(e){e[e.UNPACKED_FLOAT16=0]="UNPACKED_FLOAT16",e[e.UNPACKED_FLOAT32=1]="UNPACKED_FLOAT32",e[e.PACKED_4X1_UNSIGNED_BYTE=2]="PACKED_4X1_UNSIGNED_BYTE",e[e.PACKED_2X2_FLOAT32=3]="PACKED_2X2_FLOAT32",e[e.PACKED_2X2_FLOAT16=4]="PACKED_2X2_FLOAT16"}(gfe||(gfe={}));const xfe=5.96e-8,Efe=65504;function wfe(e){return!!((0,p3.env)().getBool("WEBGL_RENDER_FLOAT32_ENABLED")||0===e||xfee.getExtension(t),'Extension "'+t+'" not supported on this browser.')}function Sfe(e,t){const n=Zfe(e,()=>e.createShader(e.VERTEX_SHADER),"Unable to create vertex WebGLShader.");if(Tfe(e,()=>e.shaderSource(n,t)),Tfe(e,()=>e.compileShader(n)),!1===e.getShaderParameter(n,e.COMPILE_STATUS))throw console.log(e.getShaderInfoLog(n)),new Error("Failed to compile vertex shader.");return n}function Cfe(e,t){const n=Zfe(e,()=>e.createShader(e.FRAGMENT_SHADER),"Unable to create fragment WebGLShader.");if(Tfe(e,()=>e.shaderSource(n,t)),Tfe(e,()=>e.compileShader(n)),(0,p3.env)().get("ENGINE_COMPILE_ONLY"))return n;if(!1===e.getShaderParameter(n,e.COMPILE_STATUS))throw Mfe(t,e.getShaderInfoLog(n)),new Error("Failed to compile fragment shader.");return n}const Ofe=/ERROR: [0-9]+:([0-9]+):/g;function Mfe(e,t){const n=Ofe.exec(t);if(null==n)return console.log(`Couldn't parse line number in error: ${t}`),void console.log(e);const i=+n[1],r=e.split("\n"),s=r.length.toString().length+2,o=r.map((e,t)=>p3.util.rightPad((t+1).toString(),s)+e);let a=0;for(let e=0;ee.createProgram(),"Unable to create WebGLProgram.")}function Rfe(e,t){if(Tfe(e,()=>e.linkProgram(t)),!(0,p3.env)().get("ENGINE_COMPILE_ONLY")&&!1===e.getProgramParameter(t,e.LINK_STATUS))throw console.log(e.getProgramInfoLog(t)),new Error("Failed to link vertex and fragment shaders.")}function Nfe(e,t){if(Tfe(e,()=>e.validateProgram(t)),!1===e.getProgramParameter(t,e.VALIDATE_STATUS))throw console.log(e.getProgramInfoLog(t)),new Error("Shader program validation failed.")}function Dfe(e,t){const n=Zfe(e,()=>e.createBuffer(),"Unable to create WebGLBuffer");return Tfe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,n)),Tfe(e,()=>e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW)),n}function Ffe(e,t){const n=Zfe(e,()=>e.createBuffer(),"Unable to create WebGLBuffer");return Tfe(e,()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n)),Tfe(e,()=>e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW)),n}function Lfe(){return 2===(0,p3.env)().getNumber("WEBGL_VERSION")?1:4}function Pfe(e){return Zfe(e,()=>e.createTexture(),"Unable to create WebGLTexture.")}function Bfe(e,t){const n=(0,p3.env)().getNumber("WEBGL_MAX_TEXTURE_SIZE");if(e<=0||t<=0){throw new Error("Requested texture size "+`[${e}x${t}]`+" is invalid.")}if(e>n||t>n){throw new Error("Requested texture size "+`[${e}x${t}]`+" greater than WebGL maximum on this browser / GPU "+`[${n}x${n}]`+".")}}function $fe(e){return Zfe(e,()=>e.createFramebuffer(),"Unable to create WebGLFramebuffer.")}function Ufe(e,t,n,i,r,s,o){const a=e.getAttribLocation(t,n);return-1!==a&&(Tfe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,i)),Tfe(e,()=>e.vertexAttribPointer(a,r,e.FLOAT,!1,s,o)),Tfe(e,()=>e.enableVertexAttribArray(a)),!0)}function Vfe(e,t,n){Qfe(e,n),Tfe(e,()=>e.activeTexture(e.TEXTURE0+n)),Tfe(e,()=>e.bindTexture(e.TEXTURE_2D,t))}function zfe(e,t){Qfe(e,t),Tfe(e,()=>e.activeTexture(e.TEXTURE0+t)),Tfe(e,()=>e.bindTexture(e.TEXTURE_2D,null))}function jfe(e,t,n){return Zfe(e,()=>e.getUniformLocation(t,n),'uniform "'+n+'" not present in program.')}function Yfe(e,t,n){return e.getUniformLocation(t,n)}function Gfe(e,t,n,i){Tfe(e,()=>Vfe(e,t,i)),Tfe(e,()=>e.uniform1i(n,i))}function Hfe(e){Tfe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,null)),Tfe(e,()=>e.viewport(0,0,e.canvas.width,e.canvas.height)),Tfe(e,()=>e.scissor(0,0,e.canvas.width,e.canvas.height))}function Wfe(e,t,n){Tfe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,n)),Tfe(e,()=>e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0))}function Xfe(e,t){Tfe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,t)),Tfe(e,()=>e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,null,0))}function qfe(e){const t=e.checkFramebufferStatus(e.FRAMEBUFFER);if(t!==e.FRAMEBUFFER_COMPLETE)throw new Error("Error binding framebuffer: "+Kfe(e,t))}function Kfe(e,t){switch(t){case e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case e.FRAMEBUFFER_UNSUPPORTED:return"FRAMEBUFFER_UNSUPPORTED";default:return`unknown error ${t}`}}function Zfe(e,t,n){const i=Tfe(e,()=>t());if(null==i)throw new Error(n);return i}function Qfe(e,t){const n=e.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,i=t+e.TEXTURE0;if(in){throw new Error(`textureUnit must be in ${`[gl.TEXTURE0, gl.TEXTURE${n}]`}.`)}}function Jfe(e,t=2){return p3.util.sizeFromShape(e.slice(0,e.length-t))}function eme(e){if(0===e.length)throw Error("Cannot get rows and columns of an empty shape array.");return[e.length>1?e[e.length-2]:1,e[e.length-1]]}function tme(e){let t=[1,1,1];return 0===e.length||1===e.length&&1===e[0]||(t=[Jfe(e),...eme(e)]),t}function nme(e,t=!1){let n=(0,p3.env)().getNumber("WEBGL_MAX_TEXTURE_SIZE"),i=(0,p3.env)().getNumber("WEBGL_MAX_SIZE_FOR_NARROW_TEXTURE");if(i===1/0&&(0,p3.env)().getBool("WEBGL_AUTO_SQUARIFY_NARROW_TEXTURE_SHAPE")&&(i=n/2),t&&(n*=2,i*=2,1===(e=e.map((t,n)=>n>=e.length-2?p3.util.nearestLargerEven(e[n]):e[n])).length&&(e=[2,e[0]])),2!==e.length){const t=p3.util.squeezeShape(e);e=t.newShape}let r=p3.util.sizeFromShape(e),s=null;e.length<=1&&r<=n?s=[1,r]:2===e.length&&e[0]<=n&&e[1]<=n?s=e:3===e.length&&e[0]*e[1]<=n&&e[2]<=n?s=[e[0]*e[1],e[2]]:3===e.length&&e[0]<=n&&e[1]*e[2]<=n?s=[e[0],e[1]*e[2]]:4===e.length&&e[0]*e[1]*e[2]<=n&&e[3]<=n?s=[e[0]*e[1]*e[2],e[3]]:4===e.length&&e[0]<=n&&e[1]*e[2]*e[3]<=n&&(s=[e[0],e[1]*e[2]*e[3]]);const o=null!=s&&Math.max(...s)>i&&Math.min(...s)<=(t?2:1)&&Math.min(...s)>0;if(null==s||o)if(t){const t=Jfe(e);let n=2,i=2;e.length&&([n,i]=eme(e)),r=t*(n/2)*(i/2),s=p3.util.sizeToSquarishShape(r).map(e=>2*e)}else s=p3.util.sizeToSquarishShape(r);return s}function ime(e){return e%2==0}function rme(e,t){if(e=e.slice(-2),t=t.slice(-2),p3.util.arraysEqual(e,t))return!0;if(!e.length||!t.length)return!0;if(0===e[0]||0===e[1]||0===t[0]||0===t[1])return!0;if(e.length!==t.length){const n=e[e.length-1],i=t[t.length-1];if(n===i)return!0;if(ime(n)&&ime(i)&&(1===e[0]||1===t[0]))return!0}return e[1]===t[1]&&ime(e[0])&&ime(t[0])}let sme,ome;function ame(e){if(null==sme){const t=pfe(e);sme=t.getParameter(t.MAX_TEXTURE_SIZE)}return sme}function lme(){sme=null}function ume(){ome=null}function cme(e){if(null==ome){const t=pfe(e);ome=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS)}return Math.min(16,ome)}function dme(e){if(0===e)return 0;let t;const n=pfe(e);return t=hme(n,"EXT_disjoint_timer_query_webgl2")&&2===e?2:hme(n,"EXT_disjoint_timer_query")?1:0,t}function hme(e,t){return null!=e.getExtension(t)}function pme(e){try{if(null!=pfe(e))return!0}catch(e){return console.log("Error when getting WebGL context: ",e),!1}return!1}function fme(e){if(0===e)return!1;const t=pfe(e);if(1===e){if(!hme(t,"OES_texture_float"))return!1}else if(!hme(t,"EXT_color_buffer_float"))return!1;return gme(t)}function mme(e){if(0===e)return!1;const t=pfe(e);if(1!==e){if(hme(t,"EXT_color_buffer_float"))return gme(t);const e="EXT_color_buffer_half_float";if(hme(t,e)){const n=t.getExtension(e);return function(e,t){const n=bfe(e,t),i=e.createTexture();e.bindTexture(e.TEXTURE_2D,i);const r=1,s=1;e.texImage2D(e.TEXTURE_2D,0,n.internalFormatHalfFloat,r,s,0,n.textureFormatFloat,n.textureTypeHalfFloat,null);const o=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,o),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,i,0);const a=e.checkFramebufferStatus(e.FRAMEBUFFER)===e.FRAMEBUFFER_COMPLETE;return e.bindTexture(e.TEXTURE_2D,null),e.bindFramebuffer(e.FRAMEBUFFER,null),e.deleteTexture(i),e.deleteFramebuffer(o),a}(t,n)}return!1}if(!hme(t,"OES_texture_float"))return!1;if(!hme(t,"WEBGL_color_buffer_float"))return!1;return gme(t)}function gme(e){const t=bfe(e),n=e.createTexture();e.bindTexture(e.TEXTURE_2D,n);e.texImage2D(e.TEXTURE_2D,0,t.internalFormatFloat,1,1,0,t.textureFormatFloat,t.textureTypeFloat,null);const i=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,i),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,n,0);const r=e.checkFramebufferStatus(e.FRAMEBUFFER)===e.FRAMEBUFFER_COMPLETE;return e.bindTexture(e.TEXTURE_2D,null),e.bindFramebuffer(e.FRAMEBUFFER,null),e.deleteTexture(n),e.deleteFramebuffer(i),r}function _me(e){if(2!==e)return!1;return null!=pfe(e).fenceSync}function yme(e,t){Array.isArray(e)||(e=[e]),e.forEach(e=>{null!=e&&p3.util.assert("complex64"!==e.dtype,()=>`${t} does not support complex64 tensors in the WebGL backend.`)})} +function Sfe(e,t){const n=t();return(0,v3.env)().getBool("DEBUG")&&function(e){const t=e.getError();if(t!==e.NO_ERROR)throw new Error("WebGL Error: "+kfe(e,t))}(e),n}!function(e){e[e.DENSE=0]="DENSE",e[e.SHARED_BATCH=1]="SHARED_BATCH"}(bfe||(bfe={})),function(e){e[e.RENDER=0]="RENDER",e[e.UPLOAD=1]="UPLOAD",e[e.PIXELS=2]="PIXELS",e[e.DOWNLOAD=3]="DOWNLOAD"}(Tfe||(Tfe={})),function(e){e[e.UNPACKED_FLOAT16=0]="UNPACKED_FLOAT16",e[e.UNPACKED_FLOAT32=1]="UNPACKED_FLOAT32",e[e.PACKED_4X1_UNSIGNED_BYTE=2]="PACKED_4X1_UNSIGNED_BYTE",e[e.PACKED_2X2_FLOAT32=3]="PACKED_2X2_FLOAT32",e[e.PACKED_2X2_FLOAT16=4]="PACKED_2X2_FLOAT16"}(xfe||(xfe={}));const Cfe=5.96e-8,Ofe=65504;function Mfe(e){return!!((0,v3.env)().getBool("WEBGL_RENDER_FLOAT32_ENABLED")||0===e||Cfee.getExtension(t),'Extension "'+t+'" not supported on this browser.')}function Nfe(e,t){const n=ime(e,()=>e.createShader(e.VERTEX_SHADER),"Unable to create vertex WebGLShader.");if(Sfe(e,()=>e.shaderSource(n,t)),Sfe(e,()=>e.compileShader(n)),!1===e.getShaderParameter(n,e.COMPILE_STATUS))throw console.log(e.getShaderInfoLog(n)),new Error("Failed to compile vertex shader.");return n}function Dfe(e,t){const n=ime(e,()=>e.createShader(e.FRAGMENT_SHADER),"Unable to create fragment WebGLShader.");if(Sfe(e,()=>e.shaderSource(n,t)),Sfe(e,()=>e.compileShader(n)),(0,v3.env)().get("ENGINE_COMPILE_ONLY"))return n;if(!1===e.getShaderParameter(n,e.COMPILE_STATUS))throw Lfe(t,e.getShaderInfoLog(n)),new Error("Failed to compile fragment shader.");return n}const Ffe=/ERROR: [0-9]+:([0-9]+):/g;function Lfe(e,t){const n=Ffe.exec(t);if(null==n)return console.log(`Couldn't parse line number in error: ${t}`),void console.log(e);const i=+n[1],r=e.split("\n"),s=r.length.toString().length+2,o=r.map((e,t)=>v3.util.rightPad((t+1).toString(),s)+e);let a=0;for(let e=0;ee.createProgram(),"Unable to create WebGLProgram.")}function Bfe(e,t){if(Sfe(e,()=>e.linkProgram(t)),!(0,v3.env)().get("ENGINE_COMPILE_ONLY")&&!1===e.getProgramParameter(t,e.LINK_STATUS))throw console.log(e.getProgramInfoLog(t)),new Error("Failed to link vertex and fragment shaders.")}function $fe(e,t){if(Sfe(e,()=>e.validateProgram(t)),!1===e.getProgramParameter(t,e.VALIDATE_STATUS))throw console.log(e.getProgramInfoLog(t)),new Error("Shader program validation failed.")}function Ufe(e,t){const n=ime(e,()=>e.createBuffer(),"Unable to create WebGLBuffer");return Sfe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,n)),Sfe(e,()=>e.bufferData(e.ARRAY_BUFFER,t,e.STATIC_DRAW)),n}function Vfe(e,t){const n=ime(e,()=>e.createBuffer(),"Unable to create WebGLBuffer");return Sfe(e,()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n)),Sfe(e,()=>e.bufferData(e.ELEMENT_ARRAY_BUFFER,t,e.STATIC_DRAW)),n}function zfe(){return 2===(0,v3.env)().getNumber("WEBGL_VERSION")?1:4}function jfe(e){return ime(e,()=>e.createTexture(),"Unable to create WebGLTexture.")}function Yfe(e,t){const n=(0,v3.env)().getNumber("WEBGL_MAX_TEXTURE_SIZE");if(e<=0||t<=0){throw new Error("Requested texture size "+`[${e}x${t}]`+" is invalid.")}if(e>n||t>n){throw new Error("Requested texture size "+`[${e}x${t}]`+" greater than WebGL maximum on this browser / GPU "+`[${n}x${n}]`+".")}}function Gfe(e){return ime(e,()=>e.createFramebuffer(),"Unable to create WebGLFramebuffer.")}function Hfe(e,t,n,i,r,s,o){const a=e.getAttribLocation(t,n);return-1!==a&&(Sfe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,i)),Sfe(e,()=>e.vertexAttribPointer(a,r,e.FLOAT,!1,s,o)),Sfe(e,()=>e.enableVertexAttribArray(a)),!0)}function Wfe(e,t,n){rme(e,n),Sfe(e,()=>e.activeTexture(e.TEXTURE0+n)),Sfe(e,()=>e.bindTexture(e.TEXTURE_2D,t))}function Xfe(e,t){rme(e,t),Sfe(e,()=>e.activeTexture(e.TEXTURE0+t)),Sfe(e,()=>e.bindTexture(e.TEXTURE_2D,null))}function qfe(e,t,n){return ime(e,()=>e.getUniformLocation(t,n),'uniform "'+n+'" not present in program.')}function Kfe(e,t,n){return e.getUniformLocation(t,n)}function Zfe(e,t,n,i){Sfe(e,()=>Wfe(e,t,i)),Sfe(e,()=>e.uniform1i(n,i))}function Qfe(e){Sfe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,null)),Sfe(e,()=>e.viewport(0,0,e.canvas.width,e.canvas.height)),Sfe(e,()=>e.scissor(0,0,e.canvas.width,e.canvas.height))}function Jfe(e,t,n){Sfe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,n)),Sfe(e,()=>e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0))}function eme(e,t){Sfe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,t)),Sfe(e,()=>e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,null,0))}function tme(e){const t=e.checkFramebufferStatus(e.FRAMEBUFFER);if(t!==e.FRAMEBUFFER_COMPLETE)throw new Error("Error binding framebuffer: "+nme(e,t))}function nme(e,t){switch(t){case e.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case e.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:return"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case e.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:return"FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case e.FRAMEBUFFER_UNSUPPORTED:return"FRAMEBUFFER_UNSUPPORTED";default:return`unknown error ${t}`}}function ime(e,t,n){const i=Sfe(e,()=>t());if(null==i)throw new Error(n);return i}function rme(e,t){const n=e.MAX_COMBINED_TEXTURE_IMAGE_UNITS-1,i=t+e.TEXTURE0;if(in){throw new Error(`textureUnit must be in ${`[gl.TEXTURE0, gl.TEXTURE${n}]`}.`)}}function sme(e,t=2){return v3.util.sizeFromShape(e.slice(0,e.length-t))}function ome(e){if(0===e.length)throw Error("Cannot get rows and columns of an empty shape array.");return[e.length>1?e[e.length-2]:1,e[e.length-1]]}function ame(e){let t=[1,1,1];return 0===e.length||1===e.length&&1===e[0]||(t=[sme(e),...ome(e)]),t}function lme(e,t=!1){let n=(0,v3.env)().getNumber("WEBGL_MAX_TEXTURE_SIZE"),i=(0,v3.env)().getNumber("WEBGL_MAX_SIZE_FOR_NARROW_TEXTURE");if(i===1/0&&(0,v3.env)().getBool("WEBGL_AUTO_SQUARIFY_NARROW_TEXTURE_SHAPE")&&(i=n/2),t&&(n*=2,i*=2,1===(e=e.map((t,n)=>n>=e.length-2?v3.util.nearestLargerEven(e[n]):e[n])).length&&(e=[2,e[0]])),2!==e.length){const t=v3.util.squeezeShape(e);e=t.newShape}let r=v3.util.sizeFromShape(e),s=null;e.length<=1&&r<=n?s=[1,r]:2===e.length&&e[0]<=n&&e[1]<=n?s=e:3===e.length&&e[0]*e[1]<=n&&e[2]<=n?s=[e[0]*e[1],e[2]]:3===e.length&&e[0]<=n&&e[1]*e[2]<=n?s=[e[0],e[1]*e[2]]:4===e.length&&e[0]*e[1]*e[2]<=n&&e[3]<=n?s=[e[0]*e[1]*e[2],e[3]]:4===e.length&&e[0]<=n&&e[1]*e[2]*e[3]<=n&&(s=[e[0],e[1]*e[2]*e[3]]);const o=null!=s&&Math.max(...s)>i&&Math.min(...s)<=(t?2:1)&&Math.min(...s)>0;if(null==s||o)if(t){const t=sme(e);let n=2,i=2;e.length&&([n,i]=ome(e)),r=t*(n/2)*(i/2),s=v3.util.sizeToSquarishShape(r).map(e=>2*e)}else s=v3.util.sizeToSquarishShape(r);return s}function ume(e){return e%2==0}function cme(e,t){if(e=e.slice(-2),t=t.slice(-2),v3.util.arraysEqual(e,t))return!0;if(!e.length||!t.length)return!0;if(0===e[0]||0===e[1]||0===t[0]||0===t[1])return!0;if(e.length!==t.length){const n=e[e.length-1],i=t[t.length-1];if(n===i)return!0;if(ume(n)&&ume(i)&&(1===e[0]||1===t[0]))return!0}return e[1]===t[1]&&ume(e[0])&&ume(t[0])}let dme,hme;function pme(e){if(null==dme){const t=vfe(e);dme=t.getParameter(t.MAX_TEXTURE_SIZE)}return dme}function fme(){dme=null}function mme(){hme=null}function gme(e){if(null==hme){const t=vfe(e);hme=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS)}return Math.min(16,hme)}function _me(e){if(0===e)return 0;let t;const n=vfe(e);return t=yme(n,"EXT_disjoint_timer_query_webgl2")&&2===e?2:yme(n,"EXT_disjoint_timer_query")?1:0,t}function yme(e,t){return null!=e.getExtension(t)}function vme(e){try{if(null!=vfe(e))return!0}catch(e){return console.log("Error when getting WebGL context: ",e),!1}return!1}function bme(e){if(0===e)return!1;const t=vfe(e);if(1===e){if(!yme(t,"OES_texture_float"))return!1}else if(!yme(t,"EXT_color_buffer_float"))return!1;return xme(t)}function Tme(e){if(0===e)return!1;const t=vfe(e);if(1!==e){if(yme(t,"EXT_color_buffer_float"))return xme(t);const e="EXT_color_buffer_half_float";if(yme(t,e)){const n=t.getExtension(e);return function(e,t){const n=Afe(e,t),i=e.createTexture();e.bindTexture(e.TEXTURE_2D,i);const r=1,s=1;e.texImage2D(e.TEXTURE_2D,0,n.internalFormatHalfFloat,r,s,0,n.textureFormatFloat,n.textureTypeHalfFloat,null);const o=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,o),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,i,0);const a=e.checkFramebufferStatus(e.FRAMEBUFFER)===e.FRAMEBUFFER_COMPLETE;return e.bindTexture(e.TEXTURE_2D,null),e.bindFramebuffer(e.FRAMEBUFFER,null),e.deleteTexture(i),e.deleteFramebuffer(o),a}(t,n)}return!1}if(!yme(t,"OES_texture_float"))return!1;if(!yme(t,"WEBGL_color_buffer_float"))return!1;return xme(t)}function xme(e){const t=Afe(e),n=e.createTexture();e.bindTexture(e.TEXTURE_2D,n);e.texImage2D(e.TEXTURE_2D,0,t.internalFormatFloat,1,1,0,t.textureFormatFloat,t.textureTypeFloat,null);const i=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,i),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,n,0);const r=e.checkFramebufferStatus(e.FRAMEBUFFER)===e.FRAMEBUFFER_COMPLETE;return e.bindTexture(e.TEXTURE_2D,null),e.bindFramebuffer(e.FRAMEBUFFER,null),e.deleteTexture(n),e.deleteFramebuffer(i),r}function Eme(e){if(2!==e)return!1;return null!=vfe(e).fenceSync}function wme(e,t){Array.isArray(e)||(e=[e]),e.forEach(e=>{null!=e&&v3.util.assert("complex64"!==e.dtype,()=>`${t} does not support complex64 tensors in the WebGL backend.`)})} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -14895,7 +14895,7 @@ function Tfe(e,t){const n=t();return(0,p3.env)().getBool("DEBUG")&&function(e){c * limitations under the License. * ============================================================================= */ -const vme=(0,p3.env)(); +const Ime=(0,v3.env)(); /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -14912,7 +14912,7 @@ const vme=(0,p3.env)(); * limitations under the License. * ============================================================================= */ -function bme(){let e,t,n,i,r,s,o,a,l,u;return 2===(0,p3.env)().getNumber("WEBGL_VERSION")?(e="#version 300 es",t="in",n="out",i="in",r="texture",s="outputColor",o="out vec4 outputColor;",a=(0,p3.env)().getBool("WEBGL2_ISNAN_CUSTOM")?"\n bool isnan_custom(float val) {\n uint floatToUint = floatBitsToUint(val);\n return (floatToUint & 0x7fffffffu) > 0x7f800000u;\n }\n\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan_custom(val.x),\n isnan_custom(val.y), isnan_custom(val.z), isnan_custom(val.w));\n }\n\n #define isnan(value) isnan_custom(value)\n ":"",l="",u="\n #define round(value) newRound(value)\n int newRound(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 newRound(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n "):(e="",t="attribute",n="varying",i="varying",r="texture2D",s="gl_FragColor",o="",a="\n #define isnan(value) isnan_custom(value)\n bool isnan_custom(float val) {\n return (val > 0. || val < 1. || val == 0.) ? false : true;\n }\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan(val.x), isnan(val.y), isnan(val.z), isnan(val.w));\n }\n ",l="\n uniform float INFINITY;\n\n bool isinf(float val) {\n return abs(val) == INFINITY;\n }\n bvec4 isinf(vec4 val) {\n return equal(abs(val), vec4(INFINITY));\n }\n ",u="\n int round(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 round(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n "),{version:e,attribute:t,varyingVs:n,varyingFs:i,texture2D:r,output:s,defineOutput:o,defineSpecialNaN:a,defineSpecialInf:l,defineRound:u}} +function Ame(){let e,t,n,i,r,s,o,a,l,u;return 2===(0,v3.env)().getNumber("WEBGL_VERSION")?(e="#version 300 es",t="in",n="out",i="in",r="texture",s="outputColor",o="out vec4 outputColor;",a=(0,v3.env)().getBool("WEBGL2_ISNAN_CUSTOM")?"\n bool isnan_custom(float val) {\n uint floatToUint = floatBitsToUint(val);\n return (floatToUint & 0x7fffffffu) > 0x7f800000u;\n }\n\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan_custom(val.x),\n isnan_custom(val.y), isnan_custom(val.z), isnan_custom(val.w));\n }\n\n #define isnan(value) isnan_custom(value)\n ":"",l="",u="\n #define round(value) newRound(value)\n int newRound(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 newRound(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n "):(e="",t="attribute",n="varying",i="varying",r="texture2D",s="gl_FragColor",o="",a="\n #define isnan(value) isnan_custom(value)\n bool isnan_custom(float val) {\n return (val > 0. || val < 1. || val == 0.) ? false : true;\n }\n bvec4 isnan_custom(vec4 val) {\n return bvec4(isnan(val.x), isnan(val.y), isnan(val.z), isnan(val.w));\n }\n ",l="\n uniform float INFINITY;\n\n bool isinf(float val) {\n return abs(val) == INFINITY;\n }\n bvec4 isinf(vec4 val) {\n return equal(abs(val), vec4(INFINITY));\n }\n ",u="\n int round(float value) {\n return int(floor(value + 0.5));\n }\n\n ivec4 round(vec4 value) {\n return ivec4(floor(value + vec4(0.5)));\n }\n "),{version:e,attribute:t,varyingVs:n,varyingFs:i,texture2D:r,output:s,defineOutput:o,defineSpecialNaN:a,defineSpecialInf:l,defineRound:u}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -14929,7 +14929,7 @@ function bme(){let e,t,n,i,r,s,o,a,l,u;return 2===(0,p3.env)().getNumber("WEBGL_ * limitations under the License. * ============================================================================= */ -function Tme(e,t,n="index"){const i=p3.util.computeStrides(t);return i.map((t,r)=>`${`int ${e[r]} = ${n} / ${t}`}; ${r===i.length-1?`int ${e[r+1]} = ${n} - ${e[r]} * ${t}`:`index -= ${e[r]} * ${t}`};`).join("")}function xme(e,t,n="index"){const i=p3.util.computeStrides(t);return i.map((t,r)=>`${`int ${e[r]} = ${n} / outShapeStrides[${r}]`}; ${r===i.length-1?`int ${e[r+1]} = ${n} - ${e[r]} * outShapeStrides[${r}]`:`index -= ${e[r]} * outShapeStrides[${r}]`};`).join("")}function Eme(e,t,n="index"){const i=function(e,t){const n=e.length,i=e.map(e=>`${t}[${e}]`),r=new Array(n-1);r[n-2]=i[n-1];for(let e=n-3;e>=0;--e)r[e]=`(${r[e+1]} * ${i[e+1]})`;return r}(e.map((e,t)=>t),t);return i.map((t,r)=>`${`int ${e[r]} = ${n} / ${i[r]}`}; ${r===i.length-1?`int ${e[r+1]} = ${n} - ${e[r]} * ${i[r]}`:`index -= ${e[r]} * ${i[r]}`};`).join("")}function wme(e){const t=p3.util.computeStrides(e).map(e=>e.toString());return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * ${t[0]} + coords.y * ${t[1]} + coords.z;\n }\n`}vme.registerFlag("HAS_WEBGL",()=>vme.getNumber("WEBGL_VERSION")>0),vme.registerFlag("WEBGL_VERSION",()=>pme(2)?2:pme(1)?1:0),vme.registerFlag("WEBGL_CHECK_NUMERICAL_PROBLEMS",()=>!1),vme.registerFlag("WEBGL_BUFFER_SUPPORTED",()=>2===vme.get("WEBGL_VERSION")),vme.registerFlag("WEBGL_CPU_FORWARD",()=>!0),vme.registerFlag("WEBGL_FORCE_F16_TEXTURES",()=>!1),vme.registerFlag("WEBGL_PACK",()=>vme.getBool("HAS_WEBGL")),vme.registerFlag("WEBGL_PACK_NORMALIZATION",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_PACK_CLIP",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_PACK_DEPTHWISECONV",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_PACK_BINARY_OPERATIONS",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_PACK_UNARY_OPERATIONS",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_PACK_ARRAY_OPERATIONS",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_PACK_IMAGE_OPERATIONS",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_PACK_REDUCE",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_LAZILY_UNPACK",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_CONV_IM2COL",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_PACK_CONV2DTRANSPOSE",()=>vme.getBool("WEBGL_PACK")),vme.registerFlag("WEBGL_MAX_TEXTURE_SIZE",()=>ame(vme.getNumber("WEBGL_VERSION"))),vme.registerFlag("WEBGL_MAX_TEXTURES_IN_SHADER",()=>cme(vme.getNumber("WEBGL_VERSION"))),vme.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION",()=>{const e=vme.getNumber("WEBGL_VERSION");return 0===e?0:dme(e)}),vme.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE",()=>vme.getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0&&!p3.device_util.isMobile()),vme.registerFlag("WEBGL_RENDER_FLOAT32_CAPABLE",()=>fme(vme.getNumber("WEBGL_VERSION"))),vme.registerFlag("WEBGL_RENDER_FLOAT32_ENABLED",()=>!vme.getBool("WEBGL_FORCE_F16_TEXTURES")&&vme.getBool("WEBGL_RENDER_FLOAT32_CAPABLE")),vme.registerFlag("WEBGL_DOWNLOAD_FLOAT_ENABLED",()=>mme(vme.getNumber("WEBGL_VERSION"))),vme.registerFlag("WEBGL_FENCE_API_ENABLED",()=>_me(vme.getNumber("WEBGL_VERSION"))),vme.registerFlag("WEBGL_SIZE_UPLOAD_UNIFORM",()=>vme.getBool("WEBGL_RENDER_FLOAT32_ENABLED")?4:0),vme.registerFlag("WEBGL_DELETE_TEXTURE_THRESHOLD",()=>-1,e=>{if("number"!=typeof e)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be a number but got ${e}.`);if(e<0&&-1!==e)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be -1 (indicating never delete) or at least 0, but got ${e}.`)}),vme.registerFlag("WEBGL_FLUSH_THRESHOLD",()=>p3.device_util.isMobile()?1:-1,e=>{if("number"!=typeof e)throw new Error(`WEBGL_FLUSH_THRESHOLD must be a number but got ${e}.`);if(e<0&&-1!==e)throw new Error(`WEBGL_FLUSH_THRESHOLD must be -1 (indicating never manual flush) or at least 0, but got ${e}.`)}),vme.registerFlag("CPU_HANDOFF_SIZE_THRESHOLD",()=>128),vme.registerFlag("WEBGL_USE_SHAPES_UNIFORMS",()=>!1),vme.registerFlag("TOPK_LAST_DIM_CPU_HANDOFF_SIZE_THRESHOLD",()=>1e5),vme.registerFlag("TOPK_K_CPU_HANDOFF_THRESHOLD",()=>128),vme.registerFlag("WEBGL_EXP_CONV",()=>!1),vme.registerFlag("SOFTWARE_WEBGL_ENABLED",()=>vme.getBool("IS_TEST")),vme.registerFlag("WEBGL_MAX_SIZE_FOR_NARROW_TEXTURE",()=>1/0),vme.registerFlag("WEBGL_AUTO_SQUARIFY_NARROW_TEXTURE_SHAPE",()=>!1),vme.registerFlag("WEBGL2_ISNAN_CUSTOM",()=>!1),vme.registerFlag("ENGINE_COMPILE_ONLY",()=>!1);const Ime="\n const float FLOAT_MAX = 1.70141184e38;\n const float FLOAT_MIN = 1.17549435e-38;\n\n lowp vec4 encode_float(highp float v) {\n if (isnan(v)) {\n return vec4(255, 255, 255, 255);\n }\n\n highp float av = abs(v);\n\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 255.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n highp float e = floor(log2(av));\n highp float m = exp2(fract(log2(av))) - 1.0;\n\n c[2] = floor(128.0 * m);\n m -= c[2] / 128.0;\n c[1] = floor(32768.0 * m);\n m -= c[1] / 32768.0;\n c[0] = floor(8388608.0 * m);\n\n highp float ebias = e + 127.0;\n c[3] = floor(ebias / 2.0);\n ebias -= c[3] * 2.0;\n c[2] += floor(ebias) * 128.0;\n\n c[3] += 128.0 * step(0.0, -v);\n\n return c / 255.0;\n }\n",{getBroadcastDims:Ame}=p3.backend_util;function Sme(e,t,n){const i=[];if(e.forEach(e=>{const t=p3.util.sizeFromShape(e.shapeInfo.logicalShape);if(e.shapeInfo.isUniform?i.push(`uniform float ${e.name}${t>1?`[${t}]`:""};`):(i.push(`uniform sampler2D ${e.name};`),i.push(`uniform int offset${e.name};`)),n.enableShapeUniforms){const{uniformShape:t}=Bme(n.packedInputs,e.shapeInfo.logicalShape,e.shapeInfo.texShape);switch(t.length){case 1:i.push(`uniform int ${e.name}Shape;`);break;case 2:i.push(`uniform ivec2 ${e.name}Shape;`);break;case 3:i.push(`uniform ivec3 ${e.name}Shape;`);break;case 4:i.push(`uniform ivec4 ${e.name}Shape;`)}i.push(`uniform ivec2 ${e.name}TexShape;`)}}),n.enableShapeUniforms){switch(t.logicalShape.length){case 1:i.push("uniform int outShape;");break;case 2:i.push("uniform ivec2 outShape;"),i.push("uniform int outShapeStrides;");break;case 3:i.push("uniform ivec3 outShape;"),i.push("uniform ivec2 outShapeStrides;");break;case 4:i.push("uniform ivec4 outShape;"),i.push("uniform ivec3 outShapeStrides;")}i.push("uniform ivec2 outTexShape;")}n.customUniforms&&n.customUniforms.forEach(e=>{i.push(`uniform ${e.type} ${e.name}${e.arrayIndex?`[${e.arrayIndex}]`:""};`)});const r=i.join("\n"),s=e.map(e=>function(e,t,n=!1,i){let r="";r+=n?Ome(e,i):Cme(e,i);const s=e.shapeInfo.logicalShape,o=t.logicalShape;s.length<=o.length&&(r+=n?function(e,t){const n=e.name,i=n.charAt(0).toUpperCase()+n.slice(1),r="get"+i+"AtOutCoords",s=e.shapeInfo.logicalShape.length,o=t.logicalShape.length,a=Ame(e.shapeInfo.logicalShape,t.logicalShape),l=Pme(o),u=o-s;let c;const d=["x","y","z","w","u","v"];c=0===s?"":o<2&&a.length>=1?"coords = 0;":a.map(e=>`coords.${d[e+u]} = 0;`).join("\n");let h="";h=o<2&&s>0?"coords":e.shapeInfo.logicalShape.map((e,t)=>`coords.${d[t+u]}`).join(", ");let p="return outputValue;";const f=1===p3.util.sizeFromShape(e.shapeInfo.logicalShape),m=p3.util.sizeFromShape(t.logicalShape),g=1===m;if(1!==s||f||g){if(f&&!g)p=1===o?"\n return vec4(outputValue.x, outputValue.x, 0., 0.);\n ":"\n return vec4(outputValue.x);\n ";else if(a.length){const e=s-2,t=s-1;a.indexOf(e)>-1&&a.indexOf(t)>-1?p="return vec4(outputValue.x);":a.indexOf(e)>-1?p="return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);":a.indexOf(t)>-1&&(p="return vec4(outputValue.xx, outputValue.zz);")}}else p="\n return vec4(outputValue.xy, outputValue.xy);\n ";return`\n vec4 ${r}() {\n ${l} coords = getOutputCoords();\n ${c}\n vec4 outputValue = get${i}(${h});\n ${p}\n }\n `}(e,t):function(e,t){const n=e.name,i=n.charAt(0).toUpperCase()+n.slice(1),r="get"+i+"AtOutCoords",s=t.texShape,o=e.shapeInfo.texShape,a=e.shapeInfo.logicalShape.length,l=t.logicalShape.length;if(!e.shapeInfo.isUniform&&a===l&&null==e.shapeInfo.flatOffset&&p3.util.arraysEqual(o,s))return`\n float ${r}() {\n return sampleTexture(${n}, resultUV);\n }\n `;const u=Pme(l),c=Ame(e.shapeInfo.logicalShape,t.logicalShape),d=l-a;let h;const p=["x","y","z","w","u","v"];h=0===a?"":l<2&&c.length>=1?"coords = 0;":c.map(e=>`coords.${p[e+d]} = 0;`).join("\n");let f="";f=l<2&&a>0?"coords":e.shapeInfo.logicalShape.map((e,t)=>`coords.${p[t+d]}`).join(", ");return`\n float ${r}() {\n ${u} coords = getOutputCoords();\n ${h}\n return get${i}(${f});\n }\n `}(e,t));return r}(e,t,n.packedInputs,n.enableShapeUniforms)).join("\n"),o=t.texShape,a=bme(),l=function(e){return`\n float sampleTexture(sampler2D textureSampler, vec2 uv) {\n return ${e.texture2D}(textureSampler, uv).r;\n }\n `}(a);let u,c,d=function(e){const t=`${e.version}\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n ${e.varyingFs} vec2 resultUV;\n ${e.defineOutput}\n const vec2 halfCR = vec2(0.5, 0.5);\n\n struct ivec5\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n };\n\n struct ivec6\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n int v;\n };\n\n uniform float NAN;\n ${e.defineSpecialNaN}\n ${e.defineSpecialInf}\n ${e.defineRound}\n\n int imod(int x, int y) {\n return x - y * (x / y);\n }\n\n int idiv(int a, int b, float sign) {\n int res = a / b;\n int mod = imod(a, b);\n if (sign < 0. && mod != 0) {\n res -= 1;\n }\n return res;\n }\n\n //Based on the work of Dave Hoskins\n //https://www.shadertoy.com/view/4djSRW\n #define HASHSCALE1 443.8975\n float random(float seed){\n vec2 p = resultUV * seed;\n vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1);\n p3 += dot(p3, p3.yzx + 19.19);\n return fract((p3.x + p3.y) * p3.z);\n }\n\n ${Mme}\n ${kme}\n ${Rme}\n `;return t}(a);t.isPacked?(u=function(e,t,n){switch(e.length){case 0:return Dme();case 1:return function(e,t,n){const i=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)];if(1===i[0])return n?"\n int getOutputCoords() {\n return 2 * int(resultUV.x * ceil(float(outTexShape[1]) / 2.0));\n }\n ":`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ${i[1]}.0);\n }\n `;if(1===i[1])return n?"\n int getOutputCoords() {\n return 2 * int(resultUV.y * ceil(float(outTexShape[0]) / 2.0));\n }\n ":`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ${i[0]}.0);\n }\n `;if(n)return"\n int getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n return 2 * (resTexRC.x * packedTexShape[1] + resTexRC.y);\n }\n ";return`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${i[0]}, ${i[1]}));\n return 2 * (resTexRC.x * ${i[1]} + resTexRC.y);\n }\n `}(0,t,n);case 2:return function(e,t,n){const i=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)];if(p3.util.arraysEqual(e,t))return n?"\n ivec2 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n return 2 * ivec2(resultUV.yx * vec2(packedTexShape[0], packedTexShape[1]));\n }\n ":`\n ivec2 getOutputCoords() {\n return 2 * ivec2(resultUV.yx * vec2(${i[0]}, ${i[1]}));\n }\n `;const r=Math.ceil(e[1]/2);if(n)return"\n ivec2 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec2(r, c);\n }\n ";return`\n ivec2 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${i[0]}, ${i[1]}));\n\n int index = resTexRC.x * ${i[1]} + resTexRC.y;\n int r = 2 * (index / ${r});\n int c = imod(index, ${r}) * 2;\n\n return ivec2(r, c);\n }\n `}(e,t,n);case 3:return function(e,t,n){if(n)return"\n ivec3 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec3(b, r, c);\n }\n ";const i=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],r=Math.ceil(e[2]/2),s=r*Math.ceil(e[1]/2);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${i[0]}, ${i[1]}));\n int index = resTexRC.x * ${i[1]} + resTexRC.y;\n\n int b = index / ${s};\n index -= b * ${s};\n\n int r = 2 * (index / ${r});\n int c = imod(index, ${r}) * 2;\n\n return ivec3(b, r, c);\n }\n `}(e,t,n);default:return function(e,t,n){if(n)return"\n ivec4 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int texelsInLogicalRow = int(ceil(float(outShape[3]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatchN = texelsInBatch * outShape[1];\n\n int b2 = index / texelsInBatchN;\n index -= b2 * texelsInBatchN;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec4(b2, b, r, c);\n }\n ";const i=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],r=Math.ceil(e[e.length-1]/2),s=r*Math.ceil(e[e.length-2]/2);let o=s,a="",l="b, r, c";for(let t=2;t1&&!p3.util.arraysEqual(t,n)&&i.lengthe[t]).join(", ")}function Vme(e,t,n){const i=[],r=[];let s,o,a,l=null,u=null;u=e.getUniformLocation(n,"NAN",!1),1===(0,p3.env)().getNumber("WEBGL_VERSION")&&(l=e.getUniformLocation(n,"INFINITY",!1));const c=!1;for(const r of t.variableNames){const s={name:r,uniform:e.getUniformLocation(n,r,c),offset:e.getUniformLocation(n,`offset${r}`,c)};t.enableShapeUniforms&&(s.shape=e.getUniformLocation(n,`${r}Shape`,c),s.texShape=e.getUniformLocation(n,`${r}TexShape`,c)),i.push(s)}if(t.enableShapeUniforms&&(s=e.getUniformLocation(n,"outShape",c),a=e.getUniformLocation(n,"outShapeStrides",c),o=e.getUniformLocation(n,"outTexShape",c)),t.customUniforms)for(const i of t.customUniforms)r.push(e.getUniformLocation(n,i.name,c));return{variablesLocations:i,customUniformLocations:r,infLoc:l,nanLoc:u,outShapeLocation:s,outShapeStridesLocation:a,outTexShapeLocation:o}}function zme(e,t){if(e.length!==t.length)throw Error(`Binary was compiled with ${e.length} inputs, but was executed with ${t.length} inputs`);e.forEach((e,n)=>{const i=e.logicalShape,r=t[n],s=r.shape;if(!p3.util.arraysEqual(i,s))throw Error(`Binary was compiled with different shapes than the current args. Shapes ${i} and ${s} must match`);if(e.isUniform&&r.isUniform)return;const o=e.texShape,a=r.isUniform?null:r.texData.texShape;if(!p3.util.arraysEqual(o,a))throw Error(`Binary was compiled with different texture shapes than the current args. Shape ${o} and ${a} must match`)})}function jme(e){return(0,p3.env)().getBool("WEBGL_USE_SHAPES_UNIFORMS")&&e<=4} +function Sme(e,t,n="index"){const i=v3.util.computeStrides(t);return i.map((t,r)=>`${`int ${e[r]} = ${n} / ${t}`}; ${r===i.length-1?`int ${e[r+1]} = ${n} - ${e[r]} * ${t}`:`index -= ${e[r]} * ${t}`};`).join("")}function Cme(e,t,n="index"){const i=v3.util.computeStrides(t);return i.map((t,r)=>`${`int ${e[r]} = ${n} / outShapeStrides[${r}]`}; ${r===i.length-1?`int ${e[r+1]} = ${n} - ${e[r]} * outShapeStrides[${r}]`:`index -= ${e[r]} * outShapeStrides[${r}]`};`).join("")}function Ome(e,t,n="index"){const i=function(e,t){const n=e.length,i=e.map(e=>`${t}[${e}]`),r=new Array(n-1);r[n-2]=i[n-1];for(let e=n-3;e>=0;--e)r[e]=`(${r[e+1]} * ${i[e+1]})`;return r}(e.map((e,t)=>t),t);return i.map((t,r)=>`${`int ${e[r]} = ${n} / ${i[r]}`}; ${r===i.length-1?`int ${e[r+1]} = ${n} - ${e[r]} * ${i[r]}`:`index -= ${e[r]} * ${i[r]}`};`).join("")}function Mme(e){const t=v3.util.computeStrides(e).map(e=>e.toString());return`\n int getFlatIndex(ivec3 coords) {\n return coords.x * ${t[0]} + coords.y * ${t[1]} + coords.z;\n }\n`}Ime.registerFlag("HAS_WEBGL",()=>Ime.getNumber("WEBGL_VERSION")>0),Ime.registerFlag("WEBGL_VERSION",()=>vme(2)?2:vme(1)?1:0),Ime.registerFlag("WEBGL_CHECK_NUMERICAL_PROBLEMS",()=>!1),Ime.registerFlag("WEBGL_BUFFER_SUPPORTED",()=>2===Ime.get("WEBGL_VERSION")),Ime.registerFlag("WEBGL_CPU_FORWARD",()=>!0),Ime.registerFlag("WEBGL_FORCE_F16_TEXTURES",()=>!1),Ime.registerFlag("WEBGL_PACK",()=>Ime.getBool("HAS_WEBGL")),Ime.registerFlag("WEBGL_PACK_NORMALIZATION",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_PACK_CLIP",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_PACK_DEPTHWISECONV",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_PACK_BINARY_OPERATIONS",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_PACK_UNARY_OPERATIONS",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_PACK_ARRAY_OPERATIONS",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_PACK_IMAGE_OPERATIONS",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_PACK_REDUCE",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_LAZILY_UNPACK",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_CONV_IM2COL",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_PACK_CONV2DTRANSPOSE",()=>Ime.getBool("WEBGL_PACK")),Ime.registerFlag("WEBGL_MAX_TEXTURE_SIZE",()=>pme(Ime.getNumber("WEBGL_VERSION"))),Ime.registerFlag("WEBGL_MAX_TEXTURES_IN_SHADER",()=>gme(Ime.getNumber("WEBGL_VERSION"))),Ime.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION",()=>{const e=Ime.getNumber("WEBGL_VERSION");return 0===e?0:_me(e)}),Ime.registerFlag("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE",()=>Ime.getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0&&!v3.device_util.isMobile()),Ime.registerFlag("WEBGL_RENDER_FLOAT32_CAPABLE",()=>bme(Ime.getNumber("WEBGL_VERSION"))),Ime.registerFlag("WEBGL_RENDER_FLOAT32_ENABLED",()=>!Ime.getBool("WEBGL_FORCE_F16_TEXTURES")&&Ime.getBool("WEBGL_RENDER_FLOAT32_CAPABLE")),Ime.registerFlag("WEBGL_DOWNLOAD_FLOAT_ENABLED",()=>Tme(Ime.getNumber("WEBGL_VERSION"))),Ime.registerFlag("WEBGL_FENCE_API_ENABLED",()=>Eme(Ime.getNumber("WEBGL_VERSION"))),Ime.registerFlag("WEBGL_SIZE_UPLOAD_UNIFORM",()=>Ime.getBool("WEBGL_RENDER_FLOAT32_ENABLED")?4:0),Ime.registerFlag("WEBGL_DELETE_TEXTURE_THRESHOLD",()=>-1,e=>{if("number"!=typeof e)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be a number but got ${e}.`);if(e<0&&-1!==e)throw new Error(`WEBGL_DELETE_TEXTURE_THRESHOLD must be -1 (indicating never delete) or at least 0, but got ${e}.`)}),Ime.registerFlag("WEBGL_FLUSH_THRESHOLD",()=>v3.device_util.isMobile()?1:-1,e=>{if("number"!=typeof e)throw new Error(`WEBGL_FLUSH_THRESHOLD must be a number but got ${e}.`);if(e<0&&-1!==e)throw new Error(`WEBGL_FLUSH_THRESHOLD must be -1 (indicating never manual flush) or at least 0, but got ${e}.`)}),Ime.registerFlag("CPU_HANDOFF_SIZE_THRESHOLD",()=>128),Ime.registerFlag("WEBGL_USE_SHAPES_UNIFORMS",()=>!1),Ime.registerFlag("TOPK_LAST_DIM_CPU_HANDOFF_SIZE_THRESHOLD",()=>1e5),Ime.registerFlag("TOPK_K_CPU_HANDOFF_THRESHOLD",()=>128),Ime.registerFlag("WEBGL_EXP_CONV",()=>!1),Ime.registerFlag("SOFTWARE_WEBGL_ENABLED",()=>Ime.getBool("IS_TEST")),Ime.registerFlag("WEBGL_MAX_SIZE_FOR_NARROW_TEXTURE",()=>1/0),Ime.registerFlag("WEBGL_AUTO_SQUARIFY_NARROW_TEXTURE_SHAPE",()=>!1),Ime.registerFlag("WEBGL2_ISNAN_CUSTOM",()=>!1),Ime.registerFlag("ENGINE_COMPILE_ONLY",()=>!1);const kme="\n const float FLOAT_MAX = 1.70141184e38;\n const float FLOAT_MIN = 1.17549435e-38;\n\n lowp vec4 encode_float(highp float v) {\n if (isnan(v)) {\n return vec4(255, 255, 255, 255);\n }\n\n highp float av = abs(v);\n\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 127.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(0.0, 0.0, 128.0, 255.0) / 255.0;\n }\n\n highp vec4 c = vec4(0,0,0,0);\n\n highp float e = floor(log2(av));\n highp float m = exp2(fract(log2(av))) - 1.0;\n\n c[2] = floor(128.0 * m);\n m -= c[2] / 128.0;\n c[1] = floor(32768.0 * m);\n m -= c[1] / 32768.0;\n c[0] = floor(8388608.0 * m);\n\n highp float ebias = e + 127.0;\n c[3] = floor(ebias / 2.0);\n ebias -= c[3] * 2.0;\n c[2] += floor(ebias) * 128.0;\n\n c[3] += 128.0 * step(0.0, -v);\n\n return c / 255.0;\n }\n",{getBroadcastDims:Rme}=v3.backend_util;function Nme(e,t,n){const i=[];if(e.forEach(e=>{const t=v3.util.sizeFromShape(e.shapeInfo.logicalShape);if(e.shapeInfo.isUniform?i.push(`uniform float ${e.name}${t>1?`[${t}]`:""};`):(i.push(`uniform sampler2D ${e.name};`),i.push(`uniform int offset${e.name};`)),n.enableShapeUniforms){const{uniformShape:t}=Yme(n.packedInputs,e.shapeInfo.logicalShape,e.shapeInfo.texShape);switch(t.length){case 1:i.push(`uniform int ${e.name}Shape;`);break;case 2:i.push(`uniform ivec2 ${e.name}Shape;`);break;case 3:i.push(`uniform ivec3 ${e.name}Shape;`);break;case 4:i.push(`uniform ivec4 ${e.name}Shape;`)}i.push(`uniform ivec2 ${e.name}TexShape;`)}}),n.enableShapeUniforms){switch(t.logicalShape.length){case 1:i.push("uniform int outShape;");break;case 2:i.push("uniform ivec2 outShape;"),i.push("uniform int outShapeStrides;");break;case 3:i.push("uniform ivec3 outShape;"),i.push("uniform ivec2 outShapeStrides;");break;case 4:i.push("uniform ivec4 outShape;"),i.push("uniform ivec3 outShapeStrides;")}i.push("uniform ivec2 outTexShape;")}n.customUniforms&&n.customUniforms.forEach(e=>{i.push(`uniform ${e.type} ${e.name}${e.arrayIndex?`[${e.arrayIndex}]`:""};`)});const r=i.join("\n"),s=e.map(e=>function(e,t,n=!1,i){let r="";r+=n?Fme(e,i):Dme(e,i);const s=e.shapeInfo.logicalShape,o=t.logicalShape;s.length<=o.length&&(r+=n?function(e,t){const n=e.name,i=n.charAt(0).toUpperCase()+n.slice(1),r="get"+i+"AtOutCoords",s=e.shapeInfo.logicalShape.length,o=t.logicalShape.length,a=Rme(e.shapeInfo.logicalShape,t.logicalShape),l=jme(o),u=o-s;let c;const d=["x","y","z","w","u","v"];c=0===s?"":o<2&&a.length>=1?"coords = 0;":a.map(e=>`coords.${d[e+u]} = 0;`).join("\n");let h="";h=o<2&&s>0?"coords":e.shapeInfo.logicalShape.map((e,t)=>`coords.${d[t+u]}`).join(", ");let p="return outputValue;";const f=1===v3.util.sizeFromShape(e.shapeInfo.logicalShape),m=v3.util.sizeFromShape(t.logicalShape),g=1===m;if(1!==s||f||g){if(f&&!g)p=1===o?"\n return vec4(outputValue.x, outputValue.x, 0., 0.);\n ":"\n return vec4(outputValue.x);\n ";else if(a.length){const e=s-2,t=s-1;a.indexOf(e)>-1&&a.indexOf(t)>-1?p="return vec4(outputValue.x);":a.indexOf(e)>-1?p="return vec4(outputValue.x, outputValue.y, outputValue.x, outputValue.y);":a.indexOf(t)>-1&&(p="return vec4(outputValue.xx, outputValue.zz);")}}else p="\n return vec4(outputValue.xy, outputValue.xy);\n ";return`\n vec4 ${r}() {\n ${l} coords = getOutputCoords();\n ${c}\n vec4 outputValue = get${i}(${h});\n ${p}\n }\n `}(e,t):function(e,t){const n=e.name,i=n.charAt(0).toUpperCase()+n.slice(1),r="get"+i+"AtOutCoords",s=t.texShape,o=e.shapeInfo.texShape,a=e.shapeInfo.logicalShape.length,l=t.logicalShape.length;if(!e.shapeInfo.isUniform&&a===l&&null==e.shapeInfo.flatOffset&&v3.util.arraysEqual(o,s))return`\n float ${r}() {\n return sampleTexture(${n}, resultUV);\n }\n `;const u=jme(l),c=Rme(e.shapeInfo.logicalShape,t.logicalShape),d=l-a;let h;const p=["x","y","z","w","u","v"];h=0===a?"":l<2&&c.length>=1?"coords = 0;":c.map(e=>`coords.${p[e+d]} = 0;`).join("\n");let f="";f=l<2&&a>0?"coords":e.shapeInfo.logicalShape.map((e,t)=>`coords.${p[t+d]}`).join(", ");return`\n float ${r}() {\n ${u} coords = getOutputCoords();\n ${h}\n return get${i}(${f});\n }\n `}(e,t));return r}(e,t,n.packedInputs,n.enableShapeUniforms)).join("\n"),o=t.texShape,a=Ame(),l=function(e){return`\n float sampleTexture(sampler2D textureSampler, vec2 uv) {\n return ${e.texture2D}(textureSampler, uv).r;\n }\n `}(a);let u,c,d=function(e){const t=`${e.version}\n precision highp float;\n precision highp int;\n precision highp sampler2D;\n ${e.varyingFs} vec2 resultUV;\n ${e.defineOutput}\n const vec2 halfCR = vec2(0.5, 0.5);\n\n struct ivec5\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n };\n\n struct ivec6\n {\n int x;\n int y;\n int z;\n int w;\n int u;\n int v;\n };\n\n uniform float NAN;\n ${e.defineSpecialNaN}\n ${e.defineSpecialInf}\n ${e.defineRound}\n\n int imod(int x, int y) {\n return x - y * (x / y);\n }\n\n int idiv(int a, int b, float sign) {\n int res = a / b;\n int mod = imod(a, b);\n if (sign < 0. && mod != 0) {\n res -= 1;\n }\n return res;\n }\n\n //Based on the work of Dave Hoskins\n //https://www.shadertoy.com/view/4djSRW\n #define HASHSCALE1 443.8975\n float random(float seed){\n vec2 p = resultUV * seed;\n vec3 p3 = fract(vec3(p.xyx) * HASHSCALE1);\n p3 += dot(p3, p3.yzx + 19.19);\n return fract((p3.x + p3.y) * p3.z);\n }\n\n ${Lme}\n ${Pme}\n ${Bme}\n `;return t}(a);t.isPacked?(u=function(e,t,n){switch(e.length){case 0:return Ume();case 1:return function(e,t,n){const i=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)];if(1===i[0])return n?"\n int getOutputCoords() {\n return 2 * int(resultUV.x * ceil(float(outTexShape[1]) / 2.0));\n }\n ":`\n int getOutputCoords() {\n return 2 * int(resultUV.x * ${i[1]}.0);\n }\n `;if(1===i[1])return n?"\n int getOutputCoords() {\n return 2 * int(resultUV.y * ceil(float(outTexShape[0]) / 2.0));\n }\n ":`\n int getOutputCoords() {\n return 2 * int(resultUV.y * ${i[0]}.0);\n }\n `;if(n)return"\n int getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n return 2 * (resTexRC.x * packedTexShape[1] + resTexRC.y);\n }\n ";return`\n int getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${i[0]}, ${i[1]}));\n return 2 * (resTexRC.x * ${i[1]} + resTexRC.y);\n }\n `}(0,t,n);case 2:return function(e,t,n){const i=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)];if(v3.util.arraysEqual(e,t))return n?"\n ivec2 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n return 2 * ivec2(resultUV.yx * vec2(packedTexShape[0], packedTexShape[1]));\n }\n ":`\n ivec2 getOutputCoords() {\n return 2 * ivec2(resultUV.yx * vec2(${i[0]}, ${i[1]}));\n }\n `;const r=Math.ceil(e[1]/2);if(n)return"\n ivec2 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec2(r, c);\n }\n ";return`\n ivec2 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${i[0]}, ${i[1]}));\n\n int index = resTexRC.x * ${i[1]} + resTexRC.y;\n int r = 2 * (index / ${r});\n int c = imod(index, ${r}) * 2;\n\n return ivec2(r, c);\n }\n `}(e,t,n);case 3:return function(e,t,n){if(n)return"\n ivec3 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n int texelsInLogicalRow = int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec3(b, r, c);\n }\n ";const i=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],r=Math.ceil(e[2]/2),s=r*Math.ceil(e[1]/2);return`\n ivec3 getOutputCoords() {\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(${i[0]}, ${i[1]}));\n int index = resTexRC.x * ${i[1]} + resTexRC.y;\n\n int b = index / ${s};\n index -= b * ${s};\n\n int r = 2 * (index / ${r});\n int c = imod(index, ${r}) * 2;\n\n return ivec3(b, r, c);\n }\n `}(e,t,n);default:return function(e,t,n){if(n)return"\n ivec4 getOutputCoords() {\n ivec2 packedTexShape = ivec2(ceil(float(outTexShape[0]) / 2.0), ceil(float(outTexShape[1]) / 2.0));\n ivec2 resTexRC = ivec2(resultUV.yx *\n vec2(packedTexShape[0], packedTexShape[1]));\n int index = resTexRC.x * packedTexShape[1] + resTexRC.y;\n\n int texelsInLogicalRow = int(ceil(float(outShape[3]) / 2.0));\n int texelsInBatch = texelsInLogicalRow * int(ceil(float(outShape[2]) / 2.0));\n int texelsInBatchN = texelsInBatch * outShape[1];\n\n int b2 = index / texelsInBatchN;\n index -= b2 * texelsInBatchN;\n\n int b = index / texelsInBatch;\n index -= b * texelsInBatch;\n\n int r = 2 * (index / texelsInLogicalRow);\n int c = imod(index, texelsInLogicalRow) * 2;\n\n return ivec4(b2, b, r, c);\n }\n ";const i=[Math.ceil(t[0]/2),Math.ceil(t[1]/2)],r=Math.ceil(e[e.length-1]/2),s=r*Math.ceil(e[e.length-2]/2);let o=s,a="",l="b, r, c";for(let t=2;t1&&!v3.util.arraysEqual(t,n)&&i.lengthe[t]).join(", ")}function Wme(e,t,n){const i=[],r=[];let s,o,a,l=null,u=null;u=e.getUniformLocation(n,"NAN",!1),1===(0,v3.env)().getNumber("WEBGL_VERSION")&&(l=e.getUniformLocation(n,"INFINITY",!1));const c=!1;for(const r of t.variableNames){const s={name:r,uniform:e.getUniformLocation(n,r,c),offset:e.getUniformLocation(n,`offset${r}`,c)};t.enableShapeUniforms&&(s.shape=e.getUniformLocation(n,`${r}Shape`,c),s.texShape=e.getUniformLocation(n,`${r}TexShape`,c)),i.push(s)}if(t.enableShapeUniforms&&(s=e.getUniformLocation(n,"outShape",c),a=e.getUniformLocation(n,"outShapeStrides",c),o=e.getUniformLocation(n,"outTexShape",c)),t.customUniforms)for(const i of t.customUniforms)r.push(e.getUniformLocation(n,i.name,c));return{variablesLocations:i,customUniformLocations:r,infLoc:l,nanLoc:u,outShapeLocation:s,outShapeStridesLocation:a,outTexShapeLocation:o}}function Xme(e,t){if(e.length!==t.length)throw Error(`Binary was compiled with ${e.length} inputs, but was executed with ${t.length} inputs`);e.forEach((e,n)=>{const i=e.logicalShape,r=t[n],s=r.shape;if(!v3.util.arraysEqual(i,s))throw Error(`Binary was compiled with different shapes than the current args. Shapes ${i} and ${s} must match`);if(e.isUniform&&r.isUniform)return;const o=e.texShape,a=r.isUniform?null:r.texData.texShape;if(!v3.util.arraysEqual(o,a))throw Error(`Binary was compiled with different texture shapes than the current args. Shape ${o} and ${a} must match`)})}function qme(e){return(0,v3.env)().getBool("WEBGL_USE_SHAPES_UNIFORMS")&&e<=4} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -14946,7 +14946,7 @@ function Tme(e,t,n="index"){const i=p3.util.computeStrides(t);return i.map((t,r) * limitations under the License. * ============================================================================= */ -class Yme{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.outPackingScheme=ffe.DENSE,this.customUniforms=[{name:"texShape",type:"ivec2"}];const t=bme();this.outputShape=e,this.enableShapeUniforms=jme(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?xme(["r","c","d"],e):Tme(["r","c","d"],e)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getA(rc.x, rc.y, rc.z);\n }\n\n ${t.output} = result;\n }\n `}} +class Kme{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.outPackingScheme=bfe.DENSE,this.customUniforms=[{name:"texShape",type:"ivec2"}];const t=Ame();this.outputShape=e,this.enableShapeUniforms=qme(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?Cme(["r","c","d"],e):Sme(["r","c","d"],e)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getA(rc.x, rc.y, rc.z);\n }\n\n ${t.output} = result;\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -14963,7 +14963,7 @@ class Yme{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.pack * limitations under the License. * ============================================================================= */ -class Gme{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outPackingScheme=ffe.DENSE,this.customUniforms=[{name:"texShape",type:"ivec2"}];const t=bme();this.outputShape=e,this.enableShapeUniforms=jme(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?xme(["r","c","d"],e):Tme(["r","c","d"],e)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getChannel(getA(rc.x, rc.y, rc.z), vec2(rc.y, rc.z));\n }\n\n ${t.output} = result;\n }\n `}} +class Zme{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outPackingScheme=bfe.DENSE,this.customUniforms=[{name:"texShape",type:"ivec2"}];const t=Ame();this.outputShape=e,this.enableShapeUniforms=qme(this.outputShape.length),this.userCode=`\n ivec3 outCoordsFromFlatIndex(int index) {\n ${this.enableShapeUniforms?Cme(["r","c","d"],e):Sme(["r","c","d"],e)}\n return ivec3(r, c, d);\n }\n\n void main() {\n ivec2 resTexRC = ivec2(resultUV.yx * vec2(texShape[0], texShape[1]));\n int index = 4 * (resTexRC.x * texShape[1] + resTexRC.y);\n\n vec4 result = vec4(0.);\n\n for (int i=0; i<4; i++) {\n int flatIndex = index + i;\n ivec3 rc = outCoordsFromFlatIndex(flatIndex);\n result[i] = getChannel(getA(rc.x, rc.y, rc.z), vec2(rc.y, rc.z));\n }\n\n ${t.output} = result;\n }\n `}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -14980,7 +14980,7 @@ class Gme{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.pack * limitations under the License. * ============================================================================= */ -class Hme{constructor(e){this.variableNames=["A"],this.outTexUsage=mfe.DOWNLOAD;const t=bme();this.outputShape=e,this.userCode=`\n ${Ime}\n\n void main() {\n float x = getAAtOutCoords();\n ${t.output} = encode_float(x);\n }\n `}} +class Qme{constructor(e){this.variableNames=["A"],this.outTexUsage=Tfe.DOWNLOAD;const t=Ame();this.outputShape=e,this.userCode=`\n ${kme}\n\n void main() {\n float x = getAAtOutCoords();\n ${t.output} = encode_float(x);\n }\n `}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -14997,7 +14997,7 @@ class Hme{constructor(e){this.variableNames=["A"],this.outTexUsage=mfe.DOWNLOAD; * limitations under the License. * ============================================================================= */ -class Wme{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!1,this.outTexUsage=mfe.DOWNLOAD;const t=bme();this.outputShape=e,this.userCode=`\n ${Ime}\n\n void main() {\n ivec3 coords = getOutputCoords();\n float x = getChannel(getAAtOutCoords(), vec2(coords.y, coords.z));\n ${t.output} = encode_float(x);\n }\n `}} +class Jme{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!1,this.outTexUsage=Tfe.DOWNLOAD;const t=Ame();this.outputShape=e,this.userCode=`\n ${kme}\n\n void main() {\n ivec3 coords = getOutputCoords();\n float x = getChannel(getAAtOutCoords(), vec2(coords.y, coords.z));\n ${t.output} = encode_float(x);\n }\n `}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -15014,7 +15014,7 @@ class Wme{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.pack * limitations under the License. * ============================================================================= */ -const Xme={R:0,G:1,B:2,A:3};class qme{constructor(e,t=!1,n="RGBA"){this.variableNames=["A"],this.customUniforms=[{name:"texShape",type:"ivec2"}];const i=bme();this.outputShape=e,this.enableShapeUniforms=jme(this.outputShape.length);let r="result";t&&(r="floor(result * 255. + 0.5)");let s="";for(let e=0;ee.bindTexture(a,o)),Tfe(e,()=>e.texParameteri(a,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE)),Tfe(e,()=>e.texParameteri(a,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)),Tfe(e,()=>e.texParameteri(a,e.TEXTURE_MIN_FILTER,e.NEAREST)),Tfe(e,()=>e.texParameteri(a,e.TEXTURE_MAG_FILTER,e.NEAREST)),1===(0,p3.env)().getNumber("WEBGL_VERSION")?Tfe(e,()=>e.texImage2D(a,0,i,t,n,0,r,s,null)):Tfe(e,()=>e.texStorage2D(a,1,i,t,n)),Tfe(e,()=>e.bindTexture(e.TEXTURE_2D,null)),{texture:o,texShape:[n,t]}}function tge(e){return e.internalFormatFloat}function nge(e,t,n,i){const[r,s]=_fe(t,n);return ege(e,r,s,tge(i),i.textureFormatFloat,e.FLOAT)}function ige(e){return e.internalFormatHalfFloat}function rge(e,t,n,i){const[r,s]=_fe(t,n);return ege(e,r,s,ige(i),i.textureFormatFloat,i.textureTypeHalfFloat)}function sge(e){return e.downloadTextureFormat}function oge(e,t,n,i){const[r,s]=_fe(t,n);return ege(e,r,s,sge(i),e.RGBA,e.UNSIGNED_BYTE)}function age(e){return e.internalFormatPackedFloat}function lge(e,t,n,i){const[r,s]=vfe(t,n);return ege(e,r,s,age(i),e.RGBA,e.FLOAT)}function uge(e){return e.internalFormatPackedHalfFloat}function cge(e,t,n,i){const[r,s]=vfe(t,n);return ege(e,r,s,uge(i),e.RGBA,i.textureTypeHalfFloat)}function dge(e,t,n){Tfe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,n));return Ufe(e,t,"clipSpacePos",n,3,20,0)&&Ufe(e,t,"uv",n,2,20,12)}function hge(e,t,n,i,r,s){let o,a,l;Tfe(e,()=>e.bindTexture(e.TEXTURE_2D,t)),r instanceof Uint8Array?(o=new Uint8Array(n*i*4),a=e.UNSIGNED_BYTE,l=e.RGBA):(o=new Float32Array(n*i*4),a=e.FLOAT,l=s.internalFormatPackedFloat),o.set(r),2===(0,p3.env)().getNumber("WEBGL_VERSION")?Tfe(e,()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,n,i,e.RGBA,a,o)):Tfe(e,()=>e.texImage2D(e.TEXTURE_2D,0,l,n,i,0,e.RGBA,a,o)),Tfe(e,()=>e.bindTexture(e.TEXTURE_2D,null))}function pge(e,t,n){Tfe(e,()=>e.bindTexture(e.TEXTURE_2D,t)),n.data instanceof Uint8Array?2===(0,p3.env)().getNumber("WEBGL_VERSION")?Tfe(e,()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,n.width,n.height,e.RGBA,e.UNSIGNED_BYTE,n.data)):Tfe(e,()=>e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n.width,n.height,0,e.RGBA,e.UNSIGNED_BYTE,n.data)):2===(0,p3.env)().getNumber("WEBGL_VERSION")?Tfe(e,()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,n)):Tfe(e,()=>e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n)),Tfe(e,()=>e.bindTexture(e.TEXTURE_2D,null))}function fge(e,t,n,i){const r=e.createBuffer();Tfe(e,()=>e.bindBuffer(e.PIXEL_PACK_BUFFER,r));const s=16*t*n;return Tfe(e,()=>e.bufferData(e.PIXEL_PACK_BUFFER,s,e.STREAM_READ)),Tfe(e,()=>e.readPixels(0,0,n,t,e.RGBA,e.FLOAT,0)),Tfe(e,()=>e.bindBuffer(e.PIXEL_PACK_BUFFER,null)),r}function mge(e,t,n){const i=e,r=new Float32Array(n);return i.bindBuffer(i.PIXEL_PACK_BUFFER,t),i.getBufferSubData(i.PIXEL_PACK_BUFFER,0,r),i.bindBuffer(i.PIXEL_PACK_BUFFER,null),r}function gge(e,t,n,i){const[r,s]=_fe(t,n),o=new Uint8Array(t*n*4);return Tfe(e,()=>e.readPixels(0,0,r,s,i.downloadTextureFormat,e.UNSIGNED_BYTE,o)),new Float32Array(o.buffer)}function _ge(e,t,n,i,r,s,o,a){const l=e,u=new Float32Array(function(e,t){const[n,i]=vfe(e,t);return n*i*4}(s,o));return l.bindBuffer(l.PIXEL_PACK_BUFFER,t),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,u),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),u}function yge(e,t,n){const i=new Float32Array(t*n*4);return Tfe(e,()=>e.readPixels(0,0,n,t,e.RGBA,e.FLOAT,i)),i} +function ige(e){const t=Ame();return Nfe(e,`${t.version}\n precision highp float;\n ${t.attribute} vec3 clipSpacePos;\n ${t.attribute} vec2 uv;\n ${t.varyingVs} vec2 resultUV;\n\n void main() {\n gl_Position = vec4(clipSpacePos, 1);\n resultUV = uv;\n }`)}function rge(e){return Ufe(e,new Float32Array([-1,1,0,0,1,-1,-1,0,0,0,1,1,0,1,1,1,-1,0,1,0]))}function sge(e){return Vfe(e,new Uint16Array([0,1,2,2,1,3]))}function oge(e,t,n,i,r,s){Yfe(t,n);const o=jfe(e),a=e.TEXTURE_2D;return Sfe(e,()=>e.bindTexture(a,o)),Sfe(e,()=>e.texParameteri(a,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE)),Sfe(e,()=>e.texParameteri(a,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)),Sfe(e,()=>e.texParameteri(a,e.TEXTURE_MIN_FILTER,e.NEAREST)),Sfe(e,()=>e.texParameteri(a,e.TEXTURE_MAG_FILTER,e.NEAREST)),1===(0,v3.env)().getNumber("WEBGL_VERSION")?Sfe(e,()=>e.texImage2D(a,0,i,t,n,0,r,s,null)):Sfe(e,()=>e.texStorage2D(a,1,i,t,n)),Sfe(e,()=>e.bindTexture(e.TEXTURE_2D,null)),{texture:o,texShape:[n,t]}}function age(e){return e.internalFormatFloat}function lge(e,t,n,i){const[r,s]=Efe(t,n);return oge(e,r,s,age(i),i.textureFormatFloat,e.FLOAT)}function uge(e){return e.internalFormatHalfFloat}function cge(e,t,n,i){const[r,s]=Efe(t,n);return oge(e,r,s,uge(i),i.textureFormatFloat,i.textureTypeHalfFloat)}function dge(e){return e.downloadTextureFormat}function hge(e,t,n,i){const[r,s]=Efe(t,n);return oge(e,r,s,dge(i),e.RGBA,e.UNSIGNED_BYTE)}function pge(e){return e.internalFormatPackedFloat}function fge(e,t,n,i){const[r,s]=Ife(t,n);return oge(e,r,s,pge(i),e.RGBA,e.FLOAT)}function mge(e){return e.internalFormatPackedHalfFloat}function gge(e,t,n,i){const[r,s]=Ife(t,n);return oge(e,r,s,mge(i),e.RGBA,i.textureTypeHalfFloat)}function _ge(e,t,n){Sfe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,n));return Hfe(e,t,"clipSpacePos",n,3,20,0)&&Hfe(e,t,"uv",n,2,20,12)}function yge(e,t,n,i,r,s){let o,a,l;Sfe(e,()=>e.bindTexture(e.TEXTURE_2D,t)),r instanceof Uint8Array?(o=new Uint8Array(n*i*4),a=e.UNSIGNED_BYTE,l=e.RGBA):(o=new Float32Array(n*i*4),a=e.FLOAT,l=s.internalFormatPackedFloat),o.set(r),2===(0,v3.env)().getNumber("WEBGL_VERSION")?Sfe(e,()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,n,i,e.RGBA,a,o)):Sfe(e,()=>e.texImage2D(e.TEXTURE_2D,0,l,n,i,0,e.RGBA,a,o)),Sfe(e,()=>e.bindTexture(e.TEXTURE_2D,null))}function vge(e,t,n){Sfe(e,()=>e.bindTexture(e.TEXTURE_2D,t)),n.data instanceof Uint8Array?2===(0,v3.env)().getNumber("WEBGL_VERSION")?Sfe(e,()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,n.width,n.height,e.RGBA,e.UNSIGNED_BYTE,n.data)):Sfe(e,()=>e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n.width,n.height,0,e.RGBA,e.UNSIGNED_BYTE,n.data)):2===(0,v3.env)().getNumber("WEBGL_VERSION")?Sfe(e,()=>e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,n)):Sfe(e,()=>e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n)),Sfe(e,()=>e.bindTexture(e.TEXTURE_2D,null))}function bge(e,t,n,i){const r=e.createBuffer();Sfe(e,()=>e.bindBuffer(e.PIXEL_PACK_BUFFER,r));const s=16*t*n;return Sfe(e,()=>e.bufferData(e.PIXEL_PACK_BUFFER,s,e.STREAM_READ)),Sfe(e,()=>e.readPixels(0,0,n,t,e.RGBA,e.FLOAT,0)),Sfe(e,()=>e.bindBuffer(e.PIXEL_PACK_BUFFER,null)),r}function Tge(e,t,n){const i=e,r=new Float32Array(n);return i.bindBuffer(i.PIXEL_PACK_BUFFER,t),i.getBufferSubData(i.PIXEL_PACK_BUFFER,0,r),i.bindBuffer(i.PIXEL_PACK_BUFFER,null),r}function xge(e,t,n,i){const[r,s]=Efe(t,n),o=new Uint8Array(t*n*4);return Sfe(e,()=>e.readPixels(0,0,r,s,i.downloadTextureFormat,e.UNSIGNED_BYTE,o)),new Float32Array(o.buffer)}function Ege(e,t,n,i,r,s,o,a){const l=e,u=new Float32Array(function(e,t){const[n,i]=Ife(e,t);return n*i*4}(s,o));return l.bindBuffer(l.PIXEL_PACK_BUFFER,t),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,u),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),u}function wge(e,t,n){const i=new Float32Array(t*n*4);return Sfe(e,()=>e.readPixels(0,0,n,t,e.RGBA,e.FLOAT,i)),i} /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15065,7 +15065,7 @@ function Zme(e){const t=bme();return Sfe(e,`${t.version}\n precision highp fl * limitations under the License. * ============================================================================= */ -class vge{constructor(e){this.outputTexture=null,this.program=null,this.disposed=!1,this.itemsToPoll=[];const t=(0,p3.env)().getNumber("WEBGL_VERSION");if(null!=e?(this.gl=e,hfe(t,e)):this.gl=pfe(t),e=this.gl,2===(0,p3.env)().getNumber("WEBGL_VERSION")){const t=e;this.createVertexArray=()=>Tfe(t,()=>t.createVertexArray()),this.bindVertexArray=e=>Tfe(t,()=>t.bindVertexArray(e)),this.deleteVertexArray=e=>Tfe(t,()=>t.deleteVertexArray(e)),this.getVertexArray=()=>Tfe(t,()=>t.getParameter(t.VERTEX_ARRAY_BINDING))}else if(null!=e){const t=e.getExtension("OES_vertex_array_object");if(null==t)throw new Error("All WebGL1 implementations are expected to offer OES_vertex_array_object.");this.createVertexArray=()=>Tfe(e,()=>t.createVertexArrayOES()),this.bindVertexArray=n=>Tfe(e,()=>t.bindVertexArrayOES(n)),this.deleteVertexArray=n=>Tfe(e,()=>t.deleteVertexArrayOES(n)),this.getVertexArray=()=>Tfe(e,()=>e.getParameter(t.VERTEX_ARRAY_BINDING_OES))}let n="WEBGL_color_buffer_float";const i="EXT_color_buffer_half_float";if(this.parallelCompilationExtension=this.gl.getExtension("KHR_parallel_shader_compile"),1===(0,p3.env)().getNumber("WEBGL_VERSION")){const e="OES_texture_float",t="OES_texture_half_float";if(this.textureFloatExtension=Afe(this.gl,e),hme(this.gl,t))this.textureHalfFloatExtension=Afe(this.gl,t);else if((0,p3.env)().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support half float textures, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.");if(this.colorBufferFloatExtension=this.gl.getExtension(n),hme(this.gl,i))this.colorBufferHalfFloatExtension=Afe(this.gl,i);else if((0,p3.env)().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support color renderable half floats, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.")}else if(n="EXT_color_buffer_float",hme(this.gl,n))this.colorBufferFloatExtension=this.gl.getExtension(n);else{if(!hme(this.gl,i))throw new Error("GL context does not support color renderable floats");this.colorBufferHalfFloatExtension=this.gl.getExtension(i)}this.vertexBuffer=Qme(this.gl),this.indexBuffer=Jme(this.gl),this.framebuffer=$fe(this.gl),this.textureConfig=bfe(this.gl,this.textureHalfFloatExtension)}get debug(){return(0,p3.env)().getBool("DEBUG")}dispose(){if(this.disposed)return;null!=this.program&&console.warn("Disposing a GPGPUContext that still has a bound WebGLProgram. This is probably a resource leak, delete the program with GPGPUContext.deleteProgram before disposing."),null!=this.outputTexture&&console.warn("Disposing a GPGPUContext that still has a bound output matrix texture. This is probably a resource leak, delete the output matrix texture with GPGPUContext.deleteMatrixTexture before disposing.");const e=this.gl;Tfe(e,()=>e.finish()),Tfe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,null)),Tfe(e,()=>e.deleteFramebuffer(this.framebuffer)),Tfe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,null)),Tfe(e,()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null)),Tfe(e,()=>e.deleteBuffer(this.indexBuffer)),this.disposed=!0}createFloat32MatrixTexture(e,t){return this.throwIfDisposed(),nge(this.gl,e,t,this.textureConfig)}createFloat16MatrixTexture(e,t){return this.throwIfDisposed(),rge(this.gl,e,t,this.textureConfig)}createUnsignedBytesMatrixTexture(e,t){return this.throwIfDisposed(),oge(this.gl,e,t,this.textureConfig)}uploadPixelDataToTexture(e,t){this.throwIfDisposed(),pge(this.gl,e,t)}uploadDenseMatrixToTexture(e,t,n,i){this.throwIfDisposed(),hge(this.gl,e,t,n,i,this.textureConfig)}createFloat16PackedMatrixTexture(e,t){return this.throwIfDisposed(),cge(this.gl,e,t,this.textureConfig)}createPackedMatrixTexture(e,t){return this.throwIfDisposed(),lge(this.gl,e,t,this.textureConfig)}deleteMatrixTexture(e){this.throwIfDisposed(),this.outputTexture===e&&(Xfe(this.gl,this.framebuffer),this.outputTexture=null),Tfe(this.gl,()=>this.gl.deleteTexture(e))}downloadByteEncodedFloatMatrixFromOutputTexture(e,t,n){return this.downloadMatrixDriver(e,()=>gge(this.gl,t,n,this.textureConfig))}downloadPackedMatrixFromBuffer(e,t,n,i,r,s){return _ge(this.gl,e,0,0,0,r,s,this.textureConfig)}downloadFloat32MatrixFromBuffer(e,t){return mge(this.gl,e,t)}createBufferFromTexture(e,t,n){this.bindTextureToFrameBuffer(e);const i=fge(this.gl,t,n,this.textureConfig);return this.unbindTextureToFrameBuffer(),i}createAndWaitForFence(){const e=this.createFence(this.gl);return this.pollFence(e)}createFence(e){let t,n;if((0,p3.env)().getBool("WEBGL_FENCE_API_ENABLED")){const i=e,r=i.fenceSync(i.SYNC_GPU_COMMANDS_COMPLETE,0);e.flush(),n=()=>{const e=i.clientWaitSync(r,0,0);return e===i.ALREADY_SIGNALED||e===i.CONDITION_SATISFIED},t=r}else(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0?(t=this.beginQuery(),this.endQuery(),n=()=>this.isQueryAvailable(t,(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))):n=()=>!0;return{query:t,isFencePassed:n}}downloadMatrixFromPackedTexture(e,t,n){return this.downloadMatrixDriver(e,()=>yge(this.gl,t,n))}createProgram(e){this.throwIfDisposed();const t=this.gl;null==this.vertexShader&&(this.vertexShader=Zme(t));const n=kfe(t);Tfe(t,()=>t.attachShader(n,this.vertexShader)),Tfe(t,()=>t.attachShader(n,e)),Rfe(t,n);const i=Object.assign(n,{vao:this.createVertexArray()});return this.debug&&Nfe(t,i),i}buildVao(e){this.setProgram(e),this.bindVertexArray(e.vao);const t=this.gl;Tfe(t,()=>t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer)),dge(t,e,this.vertexBuffer)}deleteProgram(e){this.throwIfDisposed(),e===this.program&&(this.program=null),null!=e&&(Tfe(this.gl,()=>this.gl.deleteProgram(e)),this.deleteVertexArray(e.vao))}setProgram(e){this.throwIfDisposed(),this.program=e,null!=this.program&&this.debug&&Nfe(this.gl,this.program),Tfe(this.gl,()=>this.gl.useProgram(e))}getUniformLocation(e,t,n=!0){return this.throwIfDisposed(),n?jfe(this.gl,e,t):Yfe(this.gl,e,t)}getAttributeLocation(e,t){return this.throwIfDisposed(),Tfe(this.gl,()=>this.gl.getAttribLocation(e,t))}getUniformLocationNoThrow(e,t){return this.throwIfDisposed(),this.gl.getUniformLocation(e,t)}setInputMatrixTexture(e,t,n){this.throwIfDisposed(),this.throwIfNoProgram(),Gfe(this.gl,e,t,n)}setOutputMatrixTexture(e,t,n){this.setOutputMatrixTextureDriver(e,n,t)}setOutputPackedMatrixTexture(e,t,n){this.throwIfDisposed();const[i,r]=vfe(t,n);this.setOutputMatrixTextureDriver(e,i,r)}setOutputMatrixWriteRegion(e,t,n,i){this.setOutputMatrixWriteRegionDriver(n,e,i,t)}setOutputPackedMatrixWriteRegion(e,t,n,i){throw new Error("setOutputPackedMatrixWriteRegion not implemented.")}debugValidate(){null!=this.program&&Nfe(this.gl,this.program),qfe(this.gl)}executeProgram(){this.throwIfDisposed(),this.throwIfNoProgram();const e=this.gl;if(this.debug){const e=this.getVertexArray();console.assert(e===this.program.vao,"VAO changed between setProgram and executeProgram!"),this.debugValidate()}Tfe(e,()=>e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0))}blockUntilAllProgramsCompleted(){this.throwIfDisposed(),Tfe(this.gl,()=>this.gl.finish())}getQueryTimerExtension(){return null==this.disjointQueryTimerExtension&&(this.disjointQueryTimerExtension=Afe(this.gl,2===(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")?"EXT_disjoint_timer_query_webgl2":"EXT_disjoint_timer_query")),this.disjointQueryTimerExtension}getQueryTimerExtensionWebGL2(){return this.getQueryTimerExtension()}getQueryTimerExtensionWebGL1(){return this.getQueryTimerExtension()}beginQuery(){if(2===(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")){const e=this.gl,t=this.getQueryTimerExtensionWebGL2(),n=e.createQuery();return e.beginQuery(t.TIME_ELAPSED_EXT,n),n}const e=this.getQueryTimerExtensionWebGL1(),t=e.createQueryEXT();return e.beginQueryEXT(e.TIME_ELAPSED_EXT,t),t}endQuery(){if(2===(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")){const e=this.gl,t=this.getQueryTimerExtensionWebGL2();return void e.endQuery(t.TIME_ELAPSED_EXT)}const e=this.getQueryTimerExtensionWebGL1();e.endQueryEXT(e.TIME_ELAPSED_EXT)}async waitForQueryAndGetTime(e){return await p3.util.repeatedTry(()=>this.disposed||this.isQueryAvailable(e,(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))),this.getQueryTime(e,(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))}getQueryTime(e,t){if(0===t)return null;if(2===t){const t=this.gl;return t.getQueryParameter(e,t.QUERY_RESULT)/1e6}{const t=this.getQueryTimerExtensionWebGL1();return t.getQueryObjectEXT(e,t.QUERY_RESULT_EXT)/1e6}}isQueryAvailable(e,t){if(0===t)return!0;if(2===t){const t=this.gl,n=this.getQueryTimerExtensionWebGL2(),i=t.getQueryParameter(e,t.QUERY_RESULT_AVAILABLE);return null==this.disjoint&&(this.disjoint=this.gl.getParameter(n.GPU_DISJOINT_EXT)),i&&!this.disjoint}{const t=this.getQueryTimerExtensionWebGL1(),n=t.getQueryObjectEXT(e,t.QUERY_RESULT_AVAILABLE_EXT);return null==this.disjoint&&(this.disjoint=this.gl.getParameter(t.GPU_DISJOINT_EXT)),n&&!this.disjoint}}pollFence(e){return new Promise(t=>{this.addItemToPoll(()=>e.isFencePassed(),()=>t())})}pollItems(){const e=function(e){let t=0;for(;te.isDoneFn));for(let t=0;t<=e;++t){const{resolveFn:e}=this.itemsToPoll[t];e()}this.itemsToPoll=this.itemsToPoll.slice(e+1)}addItemToPoll(e,t){if(this.itemsToPoll.push({isDoneFn:e,resolveFn:t}),this.itemsToPoll.length>1)return;let n;"setTimeoutCustom"in(0,p3.env)().platform&&(n=(0,p3.env)().platform.setTimeoutCustom.bind((0,p3.env)().platform)),p3.util.repeatedTry(()=>(this.pollItems(),0===this.itemsToPoll.length),()=>0,null,n)}bindTextureToFrameBuffer(e){this.throwIfDisposed(),Wfe(this.gl,e,this.framebuffer),this.debug&&qfe(this.gl)}unbindTextureToFrameBuffer(){null!=this.outputTexture?(Wfe(this.gl,this.outputTexture,this.framebuffer),this.debug&&qfe(this.gl)):Xfe(this.gl,this.framebuffer)}downloadMatrixDriver(e,t){this.bindTextureToFrameBuffer(e);const n=t();return this.unbindTextureToFrameBuffer(),n}setOutputMatrixTextureDriver(e,t,n){this.throwIfDisposed();const i=this.gl;Wfe(i,e,this.framebuffer),this.debug&&qfe(i),this.outputTexture=e,Tfe(i,()=>i.viewport(0,0,t,n)),Tfe(i,()=>i.scissor(0,0,t,n))}setOutputMatrixWriteRegionDriver(e,t,n,i){this.throwIfDisposed(),Tfe(this.gl,()=>this.gl.scissor(e,t,n,i))}throwIfDisposed(){if(this.disposed)throw new Error("Attempted to use disposed GPGPUContext.")}throwIfNoProgram(){if(null==this.program)throw new Error("No GPU program is currently set.")}} +class Ige{constructor(e){this.outputTexture=null,this.program=null,this.disposed=!1,this.itemsToPoll=[];const t=(0,v3.env)().getNumber("WEBGL_VERSION");if(null!=e?(this.gl=e,yfe(t,e)):this.gl=vfe(t),e=this.gl,2===(0,v3.env)().getNumber("WEBGL_VERSION")){const t=e;this.createVertexArray=()=>Sfe(t,()=>t.createVertexArray()),this.bindVertexArray=e=>Sfe(t,()=>t.bindVertexArray(e)),this.deleteVertexArray=e=>Sfe(t,()=>t.deleteVertexArray(e)),this.getVertexArray=()=>Sfe(t,()=>t.getParameter(t.VERTEX_ARRAY_BINDING))}else if(null!=e){const t=e.getExtension("OES_vertex_array_object");if(null==t)throw new Error("All WebGL1 implementations are expected to offer OES_vertex_array_object.");this.createVertexArray=()=>Sfe(e,()=>t.createVertexArrayOES()),this.bindVertexArray=n=>Sfe(e,()=>t.bindVertexArrayOES(n)),this.deleteVertexArray=n=>Sfe(e,()=>t.deleteVertexArrayOES(n)),this.getVertexArray=()=>Sfe(e,()=>e.getParameter(t.VERTEX_ARRAY_BINDING_OES))}let n="WEBGL_color_buffer_float";const i="EXT_color_buffer_half_float";if(this.parallelCompilationExtension=this.gl.getExtension("KHR_parallel_shader_compile"),1===(0,v3.env)().getNumber("WEBGL_VERSION")){const e="OES_texture_float",t="OES_texture_half_float";if(this.textureFloatExtension=Rfe(this.gl,e),yme(this.gl,t))this.textureHalfFloatExtension=Rfe(this.gl,t);else if((0,v3.env)().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support half float textures, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.");if(this.colorBufferFloatExtension=this.gl.getExtension(n),yme(this.gl,i))this.colorBufferHalfFloatExtension=Rfe(this.gl,i);else if((0,v3.env)().get("WEBGL_FORCE_F16_TEXTURES"))throw new Error("GL context does not support color renderable half floats, yet the environment flag WEBGL_FORCE_F16_TEXTURES is set to true.")}else if(n="EXT_color_buffer_float",yme(this.gl,n))this.colorBufferFloatExtension=this.gl.getExtension(n);else{if(!yme(this.gl,i))throw new Error("GL context does not support color renderable floats");this.colorBufferHalfFloatExtension=this.gl.getExtension(i)}this.vertexBuffer=rge(this.gl),this.indexBuffer=sge(this.gl),this.framebuffer=Gfe(this.gl),this.textureConfig=Afe(this.gl,this.textureHalfFloatExtension)}get debug(){return(0,v3.env)().getBool("DEBUG")}dispose(){if(this.disposed)return;null!=this.program&&console.warn("Disposing a GPGPUContext that still has a bound WebGLProgram. This is probably a resource leak, delete the program with GPGPUContext.deleteProgram before disposing."),null!=this.outputTexture&&console.warn("Disposing a GPGPUContext that still has a bound output matrix texture. This is probably a resource leak, delete the output matrix texture with GPGPUContext.deleteMatrixTexture before disposing.");const e=this.gl;Sfe(e,()=>e.finish()),Sfe(e,()=>e.bindFramebuffer(e.FRAMEBUFFER,null)),Sfe(e,()=>e.deleteFramebuffer(this.framebuffer)),Sfe(e,()=>e.bindBuffer(e.ARRAY_BUFFER,null)),Sfe(e,()=>e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,null)),Sfe(e,()=>e.deleteBuffer(this.indexBuffer)),this.disposed=!0}createFloat32MatrixTexture(e,t){return this.throwIfDisposed(),lge(this.gl,e,t,this.textureConfig)}createFloat16MatrixTexture(e,t){return this.throwIfDisposed(),cge(this.gl,e,t,this.textureConfig)}createUnsignedBytesMatrixTexture(e,t){return this.throwIfDisposed(),hge(this.gl,e,t,this.textureConfig)}uploadPixelDataToTexture(e,t){this.throwIfDisposed(),vge(this.gl,e,t)}uploadDenseMatrixToTexture(e,t,n,i){this.throwIfDisposed(),yge(this.gl,e,t,n,i,this.textureConfig)}createFloat16PackedMatrixTexture(e,t){return this.throwIfDisposed(),gge(this.gl,e,t,this.textureConfig)}createPackedMatrixTexture(e,t){return this.throwIfDisposed(),fge(this.gl,e,t,this.textureConfig)}deleteMatrixTexture(e){this.throwIfDisposed(),this.outputTexture===e&&(eme(this.gl,this.framebuffer),this.outputTexture=null),Sfe(this.gl,()=>this.gl.deleteTexture(e))}downloadByteEncodedFloatMatrixFromOutputTexture(e,t,n){return this.downloadMatrixDriver(e,()=>xge(this.gl,t,n,this.textureConfig))}downloadPackedMatrixFromBuffer(e,t,n,i,r,s){return Ege(this.gl,e,0,0,0,r,s,this.textureConfig)}downloadFloat32MatrixFromBuffer(e,t){return Tge(this.gl,e,t)}createBufferFromTexture(e,t,n){this.bindTextureToFrameBuffer(e);const i=bge(this.gl,t,n,this.textureConfig);return this.unbindTextureToFrameBuffer(),i}createAndWaitForFence(){const e=this.createFence(this.gl);return this.pollFence(e)}createFence(e){let t,n;if((0,v3.env)().getBool("WEBGL_FENCE_API_ENABLED")){const i=e,r=i.fenceSync(i.SYNC_GPU_COMMANDS_COMPLETE,0);e.flush(),n=()=>{const e=i.clientWaitSync(r,0,0);return e===i.ALREADY_SIGNALED||e===i.CONDITION_SATISFIED},t=r}else(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")>0?(t=this.beginQuery(),this.endQuery(),n=()=>this.isQueryAvailable(t,(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))):n=()=>!0;return{query:t,isFencePassed:n}}downloadMatrixFromPackedTexture(e,t,n){return this.downloadMatrixDriver(e,()=>wge(this.gl,t,n))}createProgram(e){this.throwIfDisposed();const t=this.gl;null==this.vertexShader&&(this.vertexShader=ige(t));const n=Pfe(t);Sfe(t,()=>t.attachShader(n,this.vertexShader)),Sfe(t,()=>t.attachShader(n,e)),Bfe(t,n);const i=Object.assign(n,{vao:this.createVertexArray()});return this.debug&&$fe(t,i),i}buildVao(e){this.setProgram(e),this.bindVertexArray(e.vao);const t=this.gl;Sfe(t,()=>t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer)),_ge(t,e,this.vertexBuffer)}deleteProgram(e){this.throwIfDisposed(),e===this.program&&(this.program=null),null!=e&&(Sfe(this.gl,()=>this.gl.deleteProgram(e)),this.deleteVertexArray(e.vao))}setProgram(e){this.throwIfDisposed(),this.program=e,null!=this.program&&this.debug&&$fe(this.gl,this.program),Sfe(this.gl,()=>this.gl.useProgram(e))}getUniformLocation(e,t,n=!0){return this.throwIfDisposed(),n?qfe(this.gl,e,t):Kfe(this.gl,e,t)}getAttributeLocation(e,t){return this.throwIfDisposed(),Sfe(this.gl,()=>this.gl.getAttribLocation(e,t))}getUniformLocationNoThrow(e,t){return this.throwIfDisposed(),this.gl.getUniformLocation(e,t)}setInputMatrixTexture(e,t,n){this.throwIfDisposed(),this.throwIfNoProgram(),Zfe(this.gl,e,t,n)}setOutputMatrixTexture(e,t,n){this.setOutputMatrixTextureDriver(e,n,t)}setOutputPackedMatrixTexture(e,t,n){this.throwIfDisposed();const[i,r]=Ife(t,n);this.setOutputMatrixTextureDriver(e,i,r)}setOutputMatrixWriteRegion(e,t,n,i){this.setOutputMatrixWriteRegionDriver(n,e,i,t)}setOutputPackedMatrixWriteRegion(e,t,n,i){throw new Error("setOutputPackedMatrixWriteRegion not implemented.")}debugValidate(){null!=this.program&&$fe(this.gl,this.program),tme(this.gl)}executeProgram(){this.throwIfDisposed(),this.throwIfNoProgram();const e=this.gl;if(this.debug){const e=this.getVertexArray();console.assert(e===this.program.vao,"VAO changed between setProgram and executeProgram!"),this.debugValidate()}Sfe(e,()=>e.drawElements(e.TRIANGLES,6,e.UNSIGNED_SHORT,0))}blockUntilAllProgramsCompleted(){this.throwIfDisposed(),Sfe(this.gl,()=>this.gl.finish())}getQueryTimerExtension(){return null==this.disjointQueryTimerExtension&&(this.disjointQueryTimerExtension=Rfe(this.gl,2===(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")?"EXT_disjoint_timer_query_webgl2":"EXT_disjoint_timer_query")),this.disjointQueryTimerExtension}getQueryTimerExtensionWebGL2(){return this.getQueryTimerExtension()}getQueryTimerExtensionWebGL1(){return this.getQueryTimerExtension()}beginQuery(){if(2===(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")){const e=this.gl,t=this.getQueryTimerExtensionWebGL2(),n=e.createQuery();return e.beginQuery(t.TIME_ELAPSED_EXT,n),n}const e=this.getQueryTimerExtensionWebGL1(),t=e.createQueryEXT();return e.beginQueryEXT(e.TIME_ELAPSED_EXT,t),t}endQuery(){if(2===(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION")){const e=this.gl,t=this.getQueryTimerExtensionWebGL2();return void e.endQuery(t.TIME_ELAPSED_EXT)}const e=this.getQueryTimerExtensionWebGL1();e.endQueryEXT(e.TIME_ELAPSED_EXT)}async waitForQueryAndGetTime(e){return await v3.util.repeatedTry(()=>this.disposed||this.isQueryAvailable(e,(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))),this.getQueryTime(e,(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_VERSION"))}getQueryTime(e,t){if(0===t)return null;if(2===t){const t=this.gl;return t.getQueryParameter(e,t.QUERY_RESULT)/1e6}{const t=this.getQueryTimerExtensionWebGL1();return t.getQueryObjectEXT(e,t.QUERY_RESULT_EXT)/1e6}}isQueryAvailable(e,t){if(0===t)return!0;if(2===t){const t=this.gl,n=this.getQueryTimerExtensionWebGL2(),i=t.getQueryParameter(e,t.QUERY_RESULT_AVAILABLE);return null==this.disjoint&&(this.disjoint=this.gl.getParameter(n.GPU_DISJOINT_EXT)),i&&!this.disjoint}{const t=this.getQueryTimerExtensionWebGL1(),n=t.getQueryObjectEXT(e,t.QUERY_RESULT_AVAILABLE_EXT);return null==this.disjoint&&(this.disjoint=this.gl.getParameter(t.GPU_DISJOINT_EXT)),n&&!this.disjoint}}pollFence(e){return new Promise(t=>{this.addItemToPoll(()=>e.isFencePassed(),()=>t())})}pollItems(){const e=function(e){let t=0;for(;te.isDoneFn));for(let t=0;t<=e;++t){const{resolveFn:e}=this.itemsToPoll[t];e()}this.itemsToPoll=this.itemsToPoll.slice(e+1)}addItemToPoll(e,t){if(this.itemsToPoll.push({isDoneFn:e,resolveFn:t}),this.itemsToPoll.length>1)return;let n;"setTimeoutCustom"in(0,v3.env)().platform&&(n=(0,v3.env)().platform.setTimeoutCustom.bind((0,v3.env)().platform)),v3.util.repeatedTry(()=>(this.pollItems(),0===this.itemsToPoll.length),()=>0,null,n)}bindTextureToFrameBuffer(e){this.throwIfDisposed(),Jfe(this.gl,e,this.framebuffer),this.debug&&tme(this.gl)}unbindTextureToFrameBuffer(){null!=this.outputTexture?(Jfe(this.gl,this.outputTexture,this.framebuffer),this.debug&&tme(this.gl)):eme(this.gl,this.framebuffer)}downloadMatrixDriver(e,t){this.bindTextureToFrameBuffer(e);const n=t();return this.unbindTextureToFrameBuffer(),n}setOutputMatrixTextureDriver(e,t,n){this.throwIfDisposed();const i=this.gl;Jfe(i,e,this.framebuffer),this.debug&&tme(i),this.outputTexture=e,Sfe(i,()=>i.viewport(0,0,t,n)),Sfe(i,()=>i.scissor(0,0,t,n))}setOutputMatrixWriteRegionDriver(e,t,n,i){this.throwIfDisposed(),Sfe(this.gl,()=>this.gl.scissor(e,t,n,i))}throwIfDisposed(){if(this.disposed)throw new Error("Attempted to use disposed GPGPUContext.")}throwIfNoProgram(){if(null==this.program)throw new Error("No GPU program is currently set.")}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15082,7 +15082,7 @@ class vge{constructor(e){this.outputTexture=null,this.program=null,this.disposed * limitations under the License. * ============================================================================= */ -const{addImpl:bge,bincountImpl:Tge,bincountReduceImpl:xge,bitwiseAndImpl:Ege,castImpl:wge,ceilImpl:Ige,concatImpl:Age,equalImpl:Sge,expImpl:Cge,expm1Impl:Oge,floorImpl:Mge,gatherNdImpl:kge,gatherV2Impl:Rge,greaterImpl:Nge,greaterEqualImpl:Dge,lessImpl:Fge,lessEqualImpl:Lge,linSpaceImpl:Pge,logImpl:Bge,maxImpl:$ge,maximumImpl:Uge,minimumImpl:Vge,multiplyImpl:zge,negImpl:jge,notEqualImpl:Yge,prodImpl:Gge,raggedGatherImpl:Hge,raggedRangeImpl:Wge,raggedTensorToTensorImpl:Xge,rangeImpl:qge,rsqrtImpl:Kge,scatterImpl:Zge,sigmoidImpl:Qge,simpleAbsImpl:Jge,sliceImpl:e_e,sparseFillEmptyRowsImpl:t_e,sparseReshapeImpl:n_e,sparseSegmentReductionImpl:i_e,sqrtImpl:r_e,staticRegexReplaceImpl:s_e,stridedSliceImpl:o_e,stringNGramsImpl:a_e,stringSplitImpl:l_e,stringToHashBucketFastImpl:u_e,subImpl:c_e,tileImpl:d_e,topKImpl:h_e,transposeImpl:p_e,uniqueImpl:f_e}=Pe; +const{addImpl:Age,bincountImpl:Sge,bincountReduceImpl:Cge,bitwiseAndImpl:Oge,castImpl:Mge,ceilImpl:kge,concatImpl:Rge,equalImpl:Nge,expImpl:Dge,expm1Impl:Fge,floorImpl:Lge,gatherNdImpl:Pge,gatherV2Impl:Bge,greaterImpl:$ge,greaterEqualImpl:Uge,lessImpl:Vge,lessEqualImpl:zge,linSpaceImpl:jge,logImpl:Yge,maxImpl:Gge,maximumImpl:Hge,minimumImpl:Wge,multiplyImpl:Xge,negImpl:qge,notEqualImpl:Kge,prodImpl:Zge,raggedGatherImpl:Qge,raggedRangeImpl:Jge,raggedTensorToTensorImpl:e_e,rangeImpl:t_e,rsqrtImpl:n_e,scatterImpl:i_e,sigmoidImpl:r_e,simpleAbsImpl:s_e,sliceImpl:o_e,sparseFillEmptyRowsImpl:a_e,sparseReshapeImpl:l_e,sparseSegmentReductionImpl:u_e,sqrtImpl:c_e,staticRegexReplaceImpl:d_e,stridedSliceImpl:h_e,stringNGramsImpl:p_e,stringSplitImpl:f_e,stringToHashBucketFastImpl:m_e,subImpl:g_e,tileImpl:__e,topKImpl:y_e,transposeImpl:v_e,uniqueImpl:b_e}=Pe; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -15099,7 +15099,7 @@ const{addImpl:bge,bincountImpl:Tge,bincountReduceImpl:xge,bitwiseAndImpl:Ege,cas * limitations under the License. * ============================================================================= */ -function m_e(e,t){return["x","y","z","w","u","v"].slice(0,t).map(t=>`${e}.${t}`)}function g_e(e,t){return 1===t?[e]:m_e(e,t)} +function T_e(e,t){return["x","y","z","w","u","v"].slice(0,t).map(t=>`${e}.${t}`)}function x_e(e,t){return 1===t?[e]:T_e(e,t)} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -15116,7 +15116,7 @@ function m_e(e,t){return["x","y","z","w","u","v"].slice(0,t).map(t=>`${e}.${t}`) * limitations under the License. * ============================================================================= */ -class __e{constructor(e){if(this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.outputShape=e,this.rank=e.length,this.enableShapeUniforms=jme(this.outputShape.length),0===this.rank)this.userCode="\n void main() {\n setOutput(vec4(getA(), 0., 0., 0.));\n }\n ";else{const e=g_e("rc",this.rank),t=Pme(this.rank),n=this.getOutOfBoundsCondition(e),i=this.getSetup(e),r=this.getOutput(e);this.userCode=`\n void main() {\n ${t} rc = getOutputCoords();\n\n if(${n}) {\n setOutput(vec4(0));\n } else {\n ${i}\n\n setOutput(vec4(${r}));\n }\n }\n `}}getSourceCoordsArr(e){const t=[];for(let n=0;n<=1;n++)for(let i=0;i<=1;i++){let r=`${0===n?"r":"rp1"}, ${0===i?"c":"cp1"}`;for(let t=2;t ${this.enableShapeUniforms?"outShape":this.outputShape[0]}`;let t="";for(let n=this.rank-2;n= ${this.enableShapeUniforms?`outShape[${n}]`:this.outputShape[n]}`,n= ${n};\n bool rEdge = rp1 >= ${i};\n `}getOutput(e){const t=this.getSourceCoordsArr(e);if(1===this.rank){return`getA(rc), (rc + 1 >= ${this.enableShapeUniforms?"outShape":this.outputShape[0]} ? 0. : getA(rc + 1)), 0, 0`}return`getA(${t[0]}),\n cEdge ? 0. : getA(${t[1]}),\n rEdge ? 0. : getA(${t[2]}),\n rEdge || cEdge ? 0. : getA(${t[3]})`}} +class E_e{constructor(e){if(this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0,this.outputShape=e,this.rank=e.length,this.enableShapeUniforms=qme(this.outputShape.length),0===this.rank)this.userCode="\n void main() {\n setOutput(vec4(getA(), 0., 0., 0.));\n }\n ";else{const e=x_e("rc",this.rank),t=jme(this.rank),n=this.getOutOfBoundsCondition(e),i=this.getSetup(e),r=this.getOutput(e);this.userCode=`\n void main() {\n ${t} rc = getOutputCoords();\n\n if(${n}) {\n setOutput(vec4(0));\n } else {\n ${i}\n\n setOutput(vec4(${r}));\n }\n }\n `}}getSourceCoordsArr(e){const t=[];for(let n=0;n<=1;n++)for(let i=0;i<=1;i++){let r=`${0===n?"r":"rp1"}, ${0===i?"c":"cp1"}`;for(let t=2;t ${this.enableShapeUniforms?"outShape":this.outputShape[0]}`;let t="";for(let n=this.rank-2;n= ${this.enableShapeUniforms?`outShape[${n}]`:this.outputShape[n]}`,n= ${n};\n bool rEdge = rp1 >= ${i};\n `}getOutput(e){const t=this.getSourceCoordsArr(e);if(1===this.rank){return`getA(rc), (rc + 1 >= ${this.enableShapeUniforms?"outShape":this.outputShape[0]} ? 0. : getA(rc + 1)), 0, 0`}return`getA(${t[0]}),\n cEdge ? 0. : getA(${t[1]}),\n rEdge ? 0. : getA(${t[2]}),\n rEdge || cEdge ? 0. : getA(${t[3]})`}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -15133,7 +15133,7 @@ class __e{constructor(e){if(this.variableNames=["A"],this.packedInputs=!1,this.p * limitations under the License. * ============================================================================= */ -class y_e{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"inputShape",type:"ivec3"}],this.outputShape=e,this.enableShapeUniforms=jme(this.outputShape.length);let n="";for(let e=0;e<4;e++){let t="thisRC = rc;";e%2==1&&(t+="thisRC.z += 1;"),e>1&&(t+="thisRC.y += 1;"),n+=`\n ${t}\n ${e>0?"if(thisRC.y < rows && thisRC.z < cols){":""}\n int flatIndex = getFlatIndex(thisRC);\n\n ivec3 inputRC = inputCoordsFromReshapedOutCoords(flatIndex);\n vec2 inputRCInnerDims = vec2(float(inputRC.y),float(inputRC.z));\n\n result[${e}] =\n getChannel(getA(inputRC.x, inputRC.y, inputRC.z), inputRCInnerDims);\n ${e>0?"}":""}\n `}var i,r;this.userCode=`\n ${i=t,r=this.enableShapeUniforms,`\n ivec3 inputCoordsFromReshapedOutCoords(int index) {\n ${r?Eme(["r","c","d"],"inputShape"):Tme(["r","c","d"],i)}\n return ivec3(r, c, d);\n }\n `}\n ${this.enableShapeUniforms?"\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n":wme(e)}\n\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0.);\n\n ivec3 thisRC;\n int rows = ${this.enableShapeUniforms?"outShape[1]":e[1]};\n int cols = ${this.enableShapeUniforms?"outShape[2]":e[2]};\n\n ${n}\n\n setOutput(result);\n }\n `}} +class w_e{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"inputShape",type:"ivec3"}],this.outputShape=e,this.enableShapeUniforms=qme(this.outputShape.length);let n="";for(let e=0;e<4;e++){let t="thisRC = rc;";e%2==1&&(t+="thisRC.z += 1;"),e>1&&(t+="thisRC.y += 1;"),n+=`\n ${t}\n ${e>0?"if(thisRC.y < rows && thisRC.z < cols){":""}\n int flatIndex = getFlatIndex(thisRC);\n\n ivec3 inputRC = inputCoordsFromReshapedOutCoords(flatIndex);\n vec2 inputRCInnerDims = vec2(float(inputRC.y),float(inputRC.z));\n\n result[${e}] =\n getChannel(getA(inputRC.x, inputRC.y, inputRC.z), inputRCInnerDims);\n ${e>0?"}":""}\n `}var i,r;this.userCode=`\n ${i=t,r=this.enableShapeUniforms,`\n ivec3 inputCoordsFromReshapedOutCoords(int index) {\n ${r?Ome(["r","c","d"],"inputShape"):Sme(["r","c","d"],i)}\n return ivec3(r, c, d);\n }\n `}\n ${this.enableShapeUniforms?"\n int getFlatIndex(ivec3 coords) {\n return coords.x * outShapeStrides[0] + coords.y * outShapeStrides[1] + coords.z;\n }\n":Mme(e)}\n\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0.);\n\n ivec3 thisRC;\n int rows = ${this.enableShapeUniforms?"outShape[1]":e[1]};\n int cols = ${this.enableShapeUniforms?"outShape[2]":e[2]};\n\n ${n}\n\n setOutput(result);\n }\n `}} /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15150,7 +15150,7 @@ class y_e{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.pa * limitations under the License. * ============================================================================= */ -class v_e{constructor(e){this.gpgpu=e,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0,this.freeTextures={},this.usedTextures={},this.logEnabled=!1}acquireTexture(e,t,n){const i=T_e(t,n),r=x_e(e,i,n);r in this.freeTextures||(this.freeTextures[r]=[]),r in this.usedTextures||(this.usedTextures[r]=[]);const s=b_e(e,i,this.gpgpu.gl,this.gpgpu.textureConfig,n);if(this.freeTextures[r].length>0){this.numFreeTextures--,this.numUsedTextures++,this._numBytesFree-=s,this.log();const e=this.freeTextures[r].pop();return this.usedTextures[r].push(e),e}let o;return i===gfe.PACKED_2X2_FLOAT32?o=this.gpgpu.createPackedMatrixTexture(e[0],e[1]):i===gfe.PACKED_2X2_FLOAT16?o=this.gpgpu.createFloat16PackedMatrixTexture(e[0],e[1]):i===gfe.UNPACKED_FLOAT32?o=this.gpgpu.createFloat32MatrixTexture(e[0],e[1]):i===gfe.UNPACKED_FLOAT16?o=this.gpgpu.createFloat16MatrixTexture(e[0],e[1]):i===gfe.PACKED_4X1_UNSIGNED_BYTE&&(o=this.gpgpu.createUnsignedBytesMatrixTexture(e[0],e[1])),this.usedTextures[r].push(o),this.numUsedTextures++,this._numBytesAllocated+=s,this.log(),o}releaseTexture(e,t,n,i){if(null==this.freeTextures)return;const r=T_e(n,i),s=x_e(t,r,i);s in this.freeTextures||(this.freeTextures[s]=[]);const o=b_e(t,r,this.gpgpu.gl,this.gpgpu.textureConfig,i),a=(0,p3.env)().getNumber("WEBGL_DELETE_TEXTURE_THRESHOLD");-1!==a&&this._numBytesAllocated>a?(this.gpgpu.deleteMatrixTexture(e.texture),this._numBytesAllocated-=o):(this.freeTextures[s].push(e),this.numFreeTextures++,this._numBytesFree+=o),this.numUsedTextures--;const l=this.usedTextures[s],u=l&&l.indexOf(e);if(null==u||u<0)throw new Error("Cannot release a texture that was never provided by this texture manager");l[u]=l[l.length-1],l.pop(),this.log()}log(){if(!this.logEnabled)return;const e=this.numFreeTextures+this.numUsedTextures;console.log("Free/Used",`${this.numFreeTextures} / ${this.numUsedTextures}`,`(${e})`);const t=this._numBytesFree/this._numBytesAllocated;console.log(`Bytes allocated: ${this._numBytesAllocated}`),console.log(`Bytes unused: ${this._numBytesFree} (${Math.round(100*t)}%)`)}get numBytesAllocated(){return this._numBytesAllocated}get numBytesFree(){return this._numBytesFree}getNumUsedTextures(){return this.numUsedTextures}getNumFreeTextures(){return this.numFreeTextures}dispose(){if(null!=this.freeTextures){for(const e in this.freeTextures)this.freeTextures[e].forEach(e=>{this.gpgpu.deleteMatrixTexture(e.texture)});for(const e in this.usedTextures)this.usedTextures[e].forEach(e=>{this.gpgpu.deleteMatrixTexture(e.texture)});this.freeTextures=null,this.usedTextures=null,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0}}}function b_e(e,t,n,i,r){const s=function(e,t){switch(e){case gfe.PACKED_2X2_FLOAT32:return age(t);case gfe.PACKED_2X2_FLOAT16:return uge(t);case gfe.UNPACKED_FLOAT32:return tge(t);case gfe.UNPACKED_FLOAT16:return ige(t);case gfe.PACKED_4X1_UNSIGNED_BYTE:return sge(t);default:throw new Error(`Unknown physical texture type ${e}`)}}(t,i);let o;if(r){const[t,n]=vfe(e[0],e[1]);o=t*n}else{const[t,n]=_fe(e[0],e[1]);o=t*n}const a=function(e,t){const n=e;if(t===n.R32F)return 4;if(t===n.R16F)return 2;if(t===n.RGBA32F)return 16;if(t===e.RGBA)return 16;if(t===n.RGBA16F)return 8;if(t===n.RGBA8)return 4;throw new Error(`Unknown internal format ${t}`)}(n,s);return o*a}function T_e(e,t){if(e===mfe.UPLOAD)return gfe.PACKED_2X2_FLOAT32;if(e===mfe.RENDER||null==e)return function(e){return(0,p3.env)().getBool("WEBGL_RENDER_FLOAT32_ENABLED")?e?gfe.PACKED_2X2_FLOAT32:gfe.UNPACKED_FLOAT32:e?gfe.PACKED_2X2_FLOAT16:gfe.UNPACKED_FLOAT16}(t);if(e===mfe.DOWNLOAD||e===mfe.PIXELS)return gfe.PACKED_4X1_UNSIGNED_BYTE;throw new Error(`Unknown logical texture type ${e}`)}function x_e(e,t,n){return`${e[0]}_${e[1]}_${t}_${n}`} +class I_e{constructor(e){this.gpgpu=e,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0,this.freeTextures={},this.usedTextures={},this.logEnabled=!1}acquireTexture(e,t,n){const i=S_e(t,n),r=C_e(e,i,n);r in this.freeTextures||(this.freeTextures[r]=[]),r in this.usedTextures||(this.usedTextures[r]=[]);const s=A_e(e,i,this.gpgpu.gl,this.gpgpu.textureConfig,n);if(this.freeTextures[r].length>0){this.numFreeTextures--,this.numUsedTextures++,this._numBytesFree-=s,this.log();const e=this.freeTextures[r].pop();return this.usedTextures[r].push(e),e}let o;return i===xfe.PACKED_2X2_FLOAT32?o=this.gpgpu.createPackedMatrixTexture(e[0],e[1]):i===xfe.PACKED_2X2_FLOAT16?o=this.gpgpu.createFloat16PackedMatrixTexture(e[0],e[1]):i===xfe.UNPACKED_FLOAT32?o=this.gpgpu.createFloat32MatrixTexture(e[0],e[1]):i===xfe.UNPACKED_FLOAT16?o=this.gpgpu.createFloat16MatrixTexture(e[0],e[1]):i===xfe.PACKED_4X1_UNSIGNED_BYTE&&(o=this.gpgpu.createUnsignedBytesMatrixTexture(e[0],e[1])),this.usedTextures[r].push(o),this.numUsedTextures++,this._numBytesAllocated+=s,this.log(),o}releaseTexture(e,t,n,i){if(null==this.freeTextures)return;const r=S_e(n,i),s=C_e(t,r,i);s in this.freeTextures||(this.freeTextures[s]=[]);const o=A_e(t,r,this.gpgpu.gl,this.gpgpu.textureConfig,i),a=(0,v3.env)().getNumber("WEBGL_DELETE_TEXTURE_THRESHOLD");-1!==a&&this._numBytesAllocated>a?(this.gpgpu.deleteMatrixTexture(e.texture),this._numBytesAllocated-=o):(this.freeTextures[s].push(e),this.numFreeTextures++,this._numBytesFree+=o),this.numUsedTextures--;const l=this.usedTextures[s],u=l&&l.indexOf(e);if(null==u||u<0)throw new Error("Cannot release a texture that was never provided by this texture manager");l[u]=l[l.length-1],l.pop(),this.log()}log(){if(!this.logEnabled)return;const e=this.numFreeTextures+this.numUsedTextures;console.log("Free/Used",`${this.numFreeTextures} / ${this.numUsedTextures}`,`(${e})`);const t=this._numBytesFree/this._numBytesAllocated;console.log(`Bytes allocated: ${this._numBytesAllocated}`),console.log(`Bytes unused: ${this._numBytesFree} (${Math.round(100*t)}%)`)}get numBytesAllocated(){return this._numBytesAllocated}get numBytesFree(){return this._numBytesFree}getNumUsedTextures(){return this.numUsedTextures}getNumFreeTextures(){return this.numFreeTextures}dispose(){if(null!=this.freeTextures){for(const e in this.freeTextures)this.freeTextures[e].forEach(e=>{this.gpgpu.deleteMatrixTexture(e.texture)});for(const e in this.usedTextures)this.usedTextures[e].forEach(e=>{this.gpgpu.deleteMatrixTexture(e.texture)});this.freeTextures=null,this.usedTextures=null,this.numUsedTextures=0,this.numFreeTextures=0,this._numBytesAllocated=0,this._numBytesFree=0}}}function A_e(e,t,n,i,r){const s=function(e,t){switch(e){case xfe.PACKED_2X2_FLOAT32:return pge(t);case xfe.PACKED_2X2_FLOAT16:return mge(t);case xfe.UNPACKED_FLOAT32:return age(t);case xfe.UNPACKED_FLOAT16:return uge(t);case xfe.PACKED_4X1_UNSIGNED_BYTE:return dge(t);default:throw new Error(`Unknown physical texture type ${e}`)}}(t,i);let o;if(r){const[t,n]=Ife(e[0],e[1]);o=t*n}else{const[t,n]=Efe(e[0],e[1]);o=t*n}const a=function(e,t){const n=e;if(t===n.R32F)return 4;if(t===n.R16F)return 2;if(t===n.RGBA32F)return 16;if(t===e.RGBA)return 16;if(t===n.RGBA16F)return 8;if(t===n.RGBA8)return 4;throw new Error(`Unknown internal format ${t}`)}(n,s);return o*a}function S_e(e,t){if(e===Tfe.UPLOAD)return xfe.PACKED_2X2_FLOAT32;if(e===Tfe.RENDER||null==e)return function(e){return(0,v3.env)().getBool("WEBGL_RENDER_FLOAT32_ENABLED")?e?xfe.PACKED_2X2_FLOAT32:xfe.UNPACKED_FLOAT32:e?xfe.PACKED_2X2_FLOAT16:xfe.UNPACKED_FLOAT16}(t);if(e===Tfe.DOWNLOAD||e===Tfe.PIXELS)return xfe.PACKED_4X1_UNSIGNED_BYTE;throw new Error(`Unknown logical texture type ${e}`)}function C_e(e,t,n){return`${e[0]}_${e[1]}_${t}_${n}`} /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15167,7 +15167,7 @@ class v_e{constructor(e){this.gpgpu=e,this.numUsedTextures=0,this.numFreeTexture * limitations under the License. * ============================================================================= */ -class E_e{constructor(e,t){this.variableNames=["A"],this.outputShape=e,this.enableShapeUniforms=jme(this.outputShape.length),this.userCode=`\n float unaryOperation(float x) {\n ${t}\n }\n\n void main() {\n float x = getAAtOutCoords();\n float y = unaryOperation(x);\n\n setOutput(y);\n }\n `}}const w_e="if (isnan(x)) return x;",I_e="return abs(x);";const A_e=w_e+"\n return (x < 0.0) ? 0.0 : x;\n",S_e=w_e+"\n return (x < 0.0) ? 0.0 : min(6.0, x);\n",C_e="return x;";class O_e{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.enableShapeUniforms=jme(this.outputShape.length),this.userCode=`\n vec4 unaryOperation(vec4 x) {\n ${t}\n }\n\n void main() {\n vec4 x = getAAtOutCoords();\n vec4 y = unaryOperation(x);\n\n setOutput(y);\n }\n `}} +class O_e{constructor(e,t){this.variableNames=["A"],this.outputShape=e,this.enableShapeUniforms=qme(this.outputShape.length),this.userCode=`\n float unaryOperation(float x) {\n ${t}\n }\n\n void main() {\n float x = getAAtOutCoords();\n float y = unaryOperation(x);\n\n setOutput(y);\n }\n `}}const M_e="if (isnan(x)) return x;",k_e="return abs(x);";const R_e=M_e+"\n return (x < 0.0) ? 0.0 : x;\n",N_e=M_e+"\n return (x < 0.0) ? 0.0 : min(6.0, x);\n",D_e="return x;";class F_e{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.enableShapeUniforms=qme(this.outputShape.length),this.userCode=`\n vec4 unaryOperation(vec4 x) {\n ${t}\n }\n\n void main() {\n vec4 x = getAAtOutCoords();\n vec4 y = unaryOperation(x);\n\n setOutput(y);\n }\n `}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -15184,7 +15184,7 @@ class E_e{constructor(e,t){this.variableNames=["A"],this.outputShape=e,this.enab * limitations under the License. * ============================================================================= */ -class M_e{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!1,this.outputShape=e,this.enableShapeUniforms=jme(this.outputShape.length);const t=e.length,n=g_e("rc",t),i=Pme(t),r=function(e,t){if(1===e)return"rc";let n="";for(let i=0;it.push(e))}const t=this.texData.get(e),{values:n,shape:i,slice:r,dtype:s,complexTensorInfos:o,isPacked:a}=t;if(null!=r){let t;t=a?new O_e(i,C_e):new E_e(i,C_e);const n=this.runWebGLProgram(t,[{dataId:e,shape:i,dtype:s}],s),r=this.read(n.dataId);return this.disposeIntermediateTensorInfo(n),r}if(null!=n)return this.convertAndCacheOnCPU(e);if((0,p3.env)().getBool("DEBUG")&&!(0,p3.env)().getBool("WEBGL_DOWNLOAD_FLOAT_ENABLED")&&2===(0,p3.env)().getNumber("WEBGL_VERSION"))throw new Error("tensor.data() with WEBGL_DOWNLOAD_FLOAT_ENABLED=false and WEBGL_VERSION=2 not yet supported.");let l,u,c=null;if("complex64"!==s&&(0,p3.env)().get("WEBGL_BUFFER_SUPPORTED")){l=this.decode(e);const t=this.texData.get(l.dataId);c=this.gpgpu.createBufferFromTexture(t.texture.texture,...yfe(i))}if(this.pendingRead.set(e,[]),"complex64"!==s&&await this.gpgpu.createAndWaitForFence(),"complex64"===s){const e=await Promise.all([this.read(o.real.dataId),this.read(o.imag.dataId)]),t=e[0],n=e[1];u=p3.backend_util.mergeRealAndImagArrays(t,n)}else if(null==c)u=this.getValuesFromTexture(e);else{const e=p3.util.sizeFromShape(i);u=this.gpgpu.downloadFloat32MatrixFromBuffer(c,e)}if(null!=l&&this.disposeIntermediateTensorInfo(l),null!=c){const e=this.gpgpu.gl;Tfe(e,()=>e.deleteBuffer(c))}const d=this.convertAndCacheOnCPU(e,u),h=this.pendingRead.get(e);return this.pendingRead.delete(e),h.forEach(e=>e(d)),this.pendingDisposal.has(e)&&(this.pendingDisposal.delete(e),this.disposeData(e)&&(0,p3.engine)().removeDataId(e,this),this.pendingDeletes--),d}readToGPU(e,t={}){const n=this.texData.get(e),{values:i,shape:r,slice:s,dtype:o,isPacked:a,texture:l}=n;if("complex64"===o)throw new Error("Does not support reading texture for complex64 dtype.");if(null!=s){let n;n=a?new O_e(r,C_e):new E_e(r,C_e);const i=this.runWebGLProgram(n,[{dataId:e,shape:r,dtype:o}],o),s=this.readToGPU(i,t);return this.disposeIntermediateTensorInfo(i),s}if(null==l)throw null!=i?new Error("Data is not on GPU but on CPU."):new Error("There is no data on GPU or CPU.");const u=this.decode(e,t.customTexShape),c=(0,p3.engine)().makeTensorFromTensorInfo(u),d=this.texData.get(u.dataId);return Object.assign({tensorRef:c},d.texture)}bufferSync(e){const t=this.readSync(e.dataId);if("string"===e.dtype)try{const n=t.map(e=>p3.util.decodeString(e));return(0,p3.buffer)(e.shape,e.dtype,n)}catch(e){throw new Error("Failed to decode encoded string bytes into utf-8")}return(0,p3.buffer)(e.shape,e.dtype,t)}checkNumericalProblems(e){if(null!=e)for(let t=0;t0}time(e){const t=this.activeTimers,n=[];let i=!1;null==this.programTimersStack?(this.programTimersStack=n,i=!0):this.activeTimers.push(n),this.activeTimers=n,e();const r=p3.util.flatten(this.activeTimers.map(e=>e.query)).filter(e=>null!=e),s=p3.util.flatten(this.activeTimers.map(e=>e.name)).filter(e=>null!=e);this.activeTimers=t,i&&(this.programTimersStack=null);const o={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:null,wallMs:null};return(async()=>{if((0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0){const e=await Promise.all(r);o.kernelMs=p3.util.sum(e),o.getExtraProfileInfo=()=>e.map((e,t)=>({name:s[t],ms:e})).map(e=>`${e.name}: ${e.ms}`).join(", ")}else o.kernelMs={error:"WebGL query timers are not supported in this environment."};return this.uploadWaitMs=0,this.downloadWaitMs=0,o})()}memory(){return{unreliable:!1,numBytesInGPU:this.numBytesInGPU,numBytesInGPUAllocated:this.textureManager.numBytesAllocated,numBytesInGPUFree:this.textureManager.numBytesFree}}startTimer(){return(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?this.gpgpu.beginQuery():{startMs:p3.util.now(),endMs:null}}endTimer(e){return(0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?(this.gpgpu.endQuery(),e):(e.endMs=p3.util.now(),e)}async getQueryTime(e){if((0,p3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0)return this.gpgpu.waitForQueryAndGetTime(e);const t=e;return t.endMs-t.startMs}disposeData(e,t=!1){if(this.pendingDisposal.has(e))return!1;if(!this.texData.has(e))return!0;if(t?this.texData.get(e).refCount=0:this.texData.get(e).refCount--,!t&&this.texData.get(e).refCount>0)return!1;if(this.pendingRead.has(e))return this.pendingDisposal.add(e),this.pendingDeletes++,!1;this.releaseGPUData(e);const{complexTensorInfos:n}=this.texData.get(e);return null!=n&&(this.disposeData(n.real.dataId,t),this.disposeData(n.imag.dataId,t)),this.texData.delete(e),!0}releaseGPUData(e){const{texture:t,dtype:n,texShape:i,usage:r,isPacked:s,slice:o}=this.texData.get(e),a=o&&o.origDataId||e,l=this.dataRefCount.get(a);l>1?this.dataRefCount.set(a,l-1):(this.dataRefCount.delete(a),null!=t&&(this.numBytesInGPU-=this.computeBytes(i,n),this.textureManager.releaseTexture(t,i,r,s)));const u=this.texData.get(e);u.texture=null,u.texShape=null,u.isPacked=!1,u.slice=null}getTexture(e){return this.uploadToGPU(e),this.texData.get(e).texture.texture}getDataInfo(e){return this.texData.get(e)}shouldExecuteOnCPU(e,t=N_e){return(0,p3.env)().getBool("WEBGL_CPU_FORWARD")&&e.every(e=>null==this.texData.get(e.dataId).texture&&p3.util.sizeFromShape(e.shape)0&&p3.util.isString(n[0])){const r=n.map(e=>p3.util.encodeString(e));i=this.write(r,e,t)}else i=this.write(n,e,t);return this.texData.get(i).usage=null,{dataId:i,shape:e,dtype:t}}makeOutput(e,t,n){return(0,p3.engine)().makeTensorFromTensorInfo(this.makeTensorInfo(e,t,n),this)}unpackTensor(e){const t=new M_e(e.shape);return this.runWebGLProgram(t,[e],e.dtype)}packTensor(e){const t=new __e(e.shape);return this.runWebGLProgram(t,[e],e.dtype,null,!0)}packedReshape(e,t){const n=[Jfe(e.shape),...eme(e.shape)],i={dtype:e.dtype,shape:n,dataId:e.dataId},r=[Jfe(t),...eme(t)],s=new y_e(r,n),o=[n],a=this.runWebGLProgram(s,[i],e.dtype,o,!0);return{dataId:a.dataId,shape:t,dtype:a.dtype}}decode(e,t){const n=this.texData.get(e),{isPacked:i,shape:r,dtype:s}=n;if(null!=t){const e=p3.util.sizeFromShape(r),n=t[0]*t[1]*4;p3.util.assert(e<=n,()=>"customTexShape is too small. Row * Column * 4 should be equal or larger than the size of the tensor data.")}const o=tme(r);let a;a=i?new Gme(o):new Yme(o);const l=[null!=t?t:yfe(o)];return{dtype:s,shape:r,dataId:this.runWebGLProgram(a,[{shape:o,dtype:s,dataId:e}],s,l,!0,t).dataId}}runWebGLProgram(e,t,n,i,r=!1,s){const o=this.makeTensorInfo(e.outputShape,n),a=this.texData.get(o.dataId);if(e.packedOutput&&(a.isPacked=!0),e.outPackingScheme===ffe.DENSE){const t=null!=s?s:yfe(e.outputShape);a.texShape=t.map(e=>2*e)}if(null!=e.outTexUsage&&(a.usage=e.outTexUsage),0===p3.util.sizeFromShape(o.shape))return a.values=p3.util.getTypedArrayFromDType(o.dtype,0),o;const l=[],u=t.map(t=>{if("complex64"===t.dtype)throw new Error("GPGPUProgram does not support complex64 input. For complex64 dtypes, please separate the program into real and imaginary parts.");let n=this.texData.get(t.dataId);if(null==n.texture){if(!e.packedInputs&&p3.util.sizeFromShape(t.shape)<=(0,p3.env)().getNumber("WEBGL_SIZE_UPLOAD_UNIFORM"))return{shape:t.shape,texData:null,isUniform:!0,uniformValues:n.values};e.packedInputs&&(n.isPacked=!0,n.shape=t.shape)}if(this.uploadToGPU(t.dataId),!!n.isPacked!=!!e.packedInputs)t=n.isPacked?this.unpackTensor(t):this.packTensor(t),l.push(t),n=this.texData.get(t.dataId);else if(n.isPacked&&!rme(n.shape,t.shape)){const e=t,i=t.shape;t.shape=n.shape,t=this.packedReshape(t,i),l.push(t),n=this.texData.get(t.dataId),e.shape=i}return{shape:t.shape,texData:n,isUniform:!1}});this.uploadToGPU(o.dataId);const c={shape:o.shape,texData:a,isUniform:!1},d=function(e,t,n){let i="";t.concat(n).forEach(t=>{const r=null!=t.texData&&null!=t.texData.slice&&t.texData.slice.flatOffset>0;if(e.enableShapeUniforms&&!t.isUniform){const s=t.texData.texShape,{useSqueezeShape:o,uniformShape:a,keptDims:l}=Bme(e.packedInputs,t.shape,s);let u="",c="",d="";if(1===a.length&&e.packedInputs){const e=[Math.ceil(s[0]/2),Math.ceil(s[1]/2)];u=`${e[0]>1}_${e[1]>1}`}else if(2!==a.length||e.packedInputs){if(a.length>2&&!e.packedInputs){const e=p3.util.computeStrides(a);d=`${e[0]===s[1]}_${e[e.length-1]===s[1]}`}}else c=`${a[0]>1}_${a[1]>1}`;const h=t.shape.length,p=2===a.length&&p3.util.arraysEqual(t.shape,s),f=1===p3.util.sizeFromShape(t.shape),m=p3.backend_util.getBroadcastDims(t.shape,n.shape),g=!e.packedInputs&&h===n.shape.length&&p3.util.arraysEqual(s,n.texData.texShape),_=e.packedInputs||a.length>2?"":`${s[0]>1}_${s[1]>1}`;i+=`${h}_${g}_${o?l:""}_${a.length}_${f}_${m}_${p}_${u}_${c}_${d}_${_}_${r}`}else{const e=t.isUniform?"uniform":t.texData.texShape;i+=`${t.shape}_${e}_${r}`}});const r=e.userCode;let s=e.constructor.name;return s+="_"+i+"_"+r+`${(0,p3.env)().getNumber("WEBGL_VERSION")}`,s}(e,u,c),h=this.getAndSaveBinary(d,()=> +const P_e=v3.kernel_impls.whereImpl,B_e={};const $_e=(0,v3.env)().getNumber("CPU_HANDOFF_SIZE_THRESHOLD");class U_e extends v3.KernelBackend{nextDataId(){return U_e.nextDataId++}constructor(e){if(super(),this.pendingRead=new WeakMap,this.pendingDisposal=new WeakSet,this.dataRefCount=new WeakMap,this.numBytesInGPU=0,this.uploadWaitMs=0,this.downloadWaitMs=0,this.lastGlFlushTime=0,this.warnedAboutMemory=!1,this.pendingDeletes=0,this.disposed=!1,!(0,v3.env)().getBool("HAS_WEBGL"))throw new Error("WebGL is not supported on this device");let t;if(null!=e){if(e instanceof Ige)t=e;else{const n=vfe((0,v3.env)().getNumber("WEBGL_VERSION"),e);t=new Ige(n)}this.binaryCache={},this.gpgpuCreatedLocally=!1}else{const e=vfe((0,v3.env)().getNumber("WEBGL_VERSION"));t=new Ige(e),this.binaryCache=((n=(0,v3.env)().getNumber("WEBGL_VERSION"))in B_e||(B_e[n]={}),B_e[n]),this.gpgpuCreatedLocally=!0}var n;this.gpgpu=t,this.canvas=this.gpgpu.gl.canvas,this.textureManager=new I_e(this.gpgpu),this.numMBBeforeWarning=null==(0,v3.env)().global.screen?1024:(0,v3.env)().global.screen.height*(0,v3.env)().global.screen.width*window.devicePixelRatio*600/1024/1024,this.texData=new v3.DataStorage(this,(0,v3.engine)())}numDataIds(){return this.texData.numDataIds()-this.pendingDeletes}writeTexture(e,t,n,i,r,s){const o=this.makeTensorInfo(t,n),a=this.texData.get(o.dataId);a.isPacked=!1,a.texture={texture:e,texShape:[i,r]},a.texShape=[i,r];const l=ame(t),u=new tge(l,!1,s),c=this.runWebGLProgram(u,[o],n,[[i,r]]);return c.shape=t,a.texture=null,this.disposeIntermediateTensorInfo(o),c.dataId}write(e,t,n){if(((0,v3.env)().getBool("WEBGL_CHECK_NUMERICAL_PROBLEMS")||(0,v3.env)().getBool("DEBUG"))&&this.checkNumericalProblems(e),"complex64"===n&&null!=e)throw new Error("Cannot write to a complex64 dtype. Please use tf.complex(real, imag).");const i={id:this.nextDataId()};return this.texData.set(i,{shape:t,dtype:n,values:e,usage:Tfe.UPLOAD,refCount:1}),i}refCount(e){if(this.texData.has(e)){return this.texData.get(e).refCount}return 0}incRef(e){this.texData.get(e).refCount++}decRef(e){if(this.texData.has(e)){this.texData.get(e).refCount--}}move(e,t,n,i,r){if((0,v3.env)().getBool("DEBUG")&&this.checkNumericalProblems(t),"complex64"===i)throw new Error("Cannot write to a complex64 dtype. Please use tf.complex(real, imag).");this.texData.set(e,{shape:n,dtype:i,values:t,usage:Tfe.UPLOAD,refCount:r})}disposeIntermediateTensorInfo(e){this.disposeData(e.dataId)}readSync(e){const t=this.texData.get(e),{values:n,dtype:i,complexTensorInfos:r,slice:s,shape:o,isPacked:a}=t;if(null!=s){let t;t=a?new F_e(o,D_e):new O_e(o,D_e);const n=this.runWebGLProgram(t,[{dataId:e,shape:o,dtype:i}],i),r=this.readSync(n.dataId);return this.disposeIntermediateTensorInfo(n),r}if(null!=n)return this.convertAndCacheOnCPU(e);if("string"===i)return n;const l=null!=this.activeTimers;let u,c;if(l&&(u=v3.util.now()),"complex64"===i){const e=this.readSync(r.real.dataId),t=this.readSync(r.imag.dataId);c=v3.backend_util.mergeRealAndImagArrays(e,t)}else c=this.getValuesFromTexture(e);return l&&(this.downloadWaitMs+=v3.util.now()-u),this.convertAndCacheOnCPU(e,c)}async read(e){if(this.pendingRead.has(e)){const t=this.pendingRead.get(e);return new Promise(e=>t.push(e))}const t=this.texData.get(e),{values:n,shape:i,slice:r,dtype:s,complexTensorInfos:o,isPacked:a}=t;if(null!=r){let t;t=a?new F_e(i,D_e):new O_e(i,D_e);const n=this.runWebGLProgram(t,[{dataId:e,shape:i,dtype:s}],s),r=this.read(n.dataId);return this.disposeIntermediateTensorInfo(n),r}if(null!=n)return this.convertAndCacheOnCPU(e);if((0,v3.env)().getBool("DEBUG")&&!(0,v3.env)().getBool("WEBGL_DOWNLOAD_FLOAT_ENABLED")&&2===(0,v3.env)().getNumber("WEBGL_VERSION"))throw new Error("tensor.data() with WEBGL_DOWNLOAD_FLOAT_ENABLED=false and WEBGL_VERSION=2 not yet supported.");let l,u,c=null;if("complex64"!==s&&(0,v3.env)().get("WEBGL_BUFFER_SUPPORTED")){l=this.decode(e);const t=this.texData.get(l.dataId);c=this.gpgpu.createBufferFromTexture(t.texture.texture,...wfe(i))}if(this.pendingRead.set(e,[]),"complex64"!==s&&await this.gpgpu.createAndWaitForFence(),"complex64"===s){const e=await Promise.all([this.read(o.real.dataId),this.read(o.imag.dataId)]),t=e[0],n=e[1];u=v3.backend_util.mergeRealAndImagArrays(t,n)}else if(null==c)u=this.getValuesFromTexture(e);else{const e=v3.util.sizeFromShape(i);u=this.gpgpu.downloadFloat32MatrixFromBuffer(c,e)}if(null!=l&&this.disposeIntermediateTensorInfo(l),null!=c){const e=this.gpgpu.gl;Sfe(e,()=>e.deleteBuffer(c))}const d=this.convertAndCacheOnCPU(e,u),h=this.pendingRead.get(e);return this.pendingRead.delete(e),h.forEach(e=>e(d)),this.pendingDisposal.has(e)&&(this.pendingDisposal.delete(e),this.disposeData(e)&&(0,v3.engine)().removeDataId(e,this),this.pendingDeletes--),d}readToGPU(e,t={}){const n=this.texData.get(e),{values:i,shape:r,slice:s,dtype:o,isPacked:a,texture:l}=n;if("complex64"===o)throw new Error("Does not support reading texture for complex64 dtype.");if(null!=s){let n;n=a?new F_e(r,D_e):new O_e(r,D_e);const i=this.runWebGLProgram(n,[{dataId:e,shape:r,dtype:o}],o),s=this.readToGPU(i,t);return this.disposeIntermediateTensorInfo(i),s}if(null==l)throw null!=i?new Error("Data is not on GPU but on CPU."):new Error("There is no data on GPU or CPU.");const u=this.decode(e,t.customTexShape),c=(0,v3.engine)().makeTensorFromTensorInfo(u),d=this.texData.get(u.dataId);return Object.assign({tensorRef:c},d.texture)}bufferSync(e){const t=this.readSync(e.dataId);if("string"===e.dtype)try{const n=t.map(e=>v3.util.decodeString(e));return(0,v3.buffer)(e.shape,e.dtype,n)}catch(e){throw new Error("Failed to decode encoded string bytes into utf-8")}return(0,v3.buffer)(e.shape,e.dtype,t)}checkNumericalProblems(e){if(null!=e)for(let t=0;t0}time(e){const t=this.activeTimers,n=[];let i=!1;null==this.programTimersStack?(this.programTimersStack=n,i=!0):this.activeTimers.push(n),this.activeTimers=n,e();const r=v3.util.flatten(this.activeTimers.map(e=>e.query)).filter(e=>null!=e),s=v3.util.flatten(this.activeTimers.map(e=>e.name)).filter(e=>null!=e);this.activeTimers=t,i&&(this.programTimersStack=null);const o={uploadWaitMs:this.uploadWaitMs,downloadWaitMs:this.downloadWaitMs,kernelMs:null,wallMs:null};return(async()=>{if((0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0){const e=await Promise.all(r);o.kernelMs=v3.util.sum(e),o.getExtraProfileInfo=()=>e.map((e,t)=>({name:s[t],ms:e})).map(e=>`${e.name}: ${e.ms}`).join(", ")}else o.kernelMs={error:"WebGL query timers are not supported in this environment."};return this.uploadWaitMs=0,this.downloadWaitMs=0,o})()}memory(){return{unreliable:!1,numBytesInGPU:this.numBytesInGPU,numBytesInGPUAllocated:this.textureManager.numBytesAllocated,numBytesInGPUFree:this.textureManager.numBytesFree}}startTimer(){return(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?this.gpgpu.beginQuery():{startMs:v3.util.now(),endMs:null}}endTimer(e){return(0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0?(this.gpgpu.endQuery(),e):(e.endMs=v3.util.now(),e)}async getQueryTime(e){if((0,v3.env)().getNumber("WEBGL_DISJOINT_QUERY_TIMER_EXTENSION_RELIABLE")>0)return this.gpgpu.waitForQueryAndGetTime(e);const t=e;return t.endMs-t.startMs}disposeData(e,t=!1){if(this.pendingDisposal.has(e))return!1;if(!this.texData.has(e))return!0;if(t?this.texData.get(e).refCount=0:this.texData.get(e).refCount--,!t&&this.texData.get(e).refCount>0)return!1;if(this.pendingRead.has(e))return this.pendingDisposal.add(e),this.pendingDeletes++,!1;this.releaseGPUData(e);const{complexTensorInfos:n}=this.texData.get(e);return null!=n&&(this.disposeData(n.real.dataId,t),this.disposeData(n.imag.dataId,t)),this.texData.delete(e),!0}releaseGPUData(e){const{texture:t,dtype:n,texShape:i,usage:r,isPacked:s,slice:o}=this.texData.get(e),a=o&&o.origDataId||e,l=this.dataRefCount.get(a);l>1?this.dataRefCount.set(a,l-1):(this.dataRefCount.delete(a),null!=t&&(this.numBytesInGPU-=this.computeBytes(i,n),this.textureManager.releaseTexture(t,i,r,s)));const u=this.texData.get(e);u.texture=null,u.texShape=null,u.isPacked=!1,u.slice=null}getTexture(e){return this.uploadToGPU(e),this.texData.get(e).texture.texture}getDataInfo(e){return this.texData.get(e)}shouldExecuteOnCPU(e,t=$_e){return(0,v3.env)().getBool("WEBGL_CPU_FORWARD")&&e.every(e=>null==this.texData.get(e.dataId).texture&&v3.util.sizeFromShape(e.shape)0&&v3.util.isString(n[0])){const r=n.map(e=>v3.util.encodeString(e));i=this.write(r,e,t)}else i=this.write(n,e,t);return this.texData.get(i).usage=null,{dataId:i,shape:e,dtype:t}}makeOutput(e,t,n){return(0,v3.engine)().makeTensorFromTensorInfo(this.makeTensorInfo(e,t,n),this)}unpackTensor(e){const t=new L_e(e.shape);return this.runWebGLProgram(t,[e],e.dtype)}packTensor(e){const t=new E_e(e.shape);return this.runWebGLProgram(t,[e],e.dtype,null,!0)}packedReshape(e,t){const n=[sme(e.shape),...ome(e.shape)],i={dtype:e.dtype,shape:n,dataId:e.dataId},r=[sme(t),...ome(t)],s=new w_e(r,n),o=[n],a=this.runWebGLProgram(s,[i],e.dtype,o,!0);return{dataId:a.dataId,shape:t,dtype:a.dtype}}decode(e,t){const n=this.texData.get(e),{isPacked:i,shape:r,dtype:s}=n;if(null!=t){const e=v3.util.sizeFromShape(r),n=t[0]*t[1]*4;v3.util.assert(e<=n,()=>"customTexShape is too small. Row * Column * 4 should be equal or larger than the size of the tensor data.")}const o=ame(r);let a;a=i?new Zme(o):new Kme(o);const l=[null!=t?t:wfe(o)];return{dtype:s,shape:r,dataId:this.runWebGLProgram(a,[{shape:o,dtype:s,dataId:e}],s,l,!0,t).dataId}}runWebGLProgram(e,t,n,i,r=!1,s){const o=this.makeTensorInfo(e.outputShape,n),a=this.texData.get(o.dataId);if(e.packedOutput&&(a.isPacked=!0),e.outPackingScheme===bfe.DENSE){const t=null!=s?s:wfe(e.outputShape);a.texShape=t.map(e=>2*e)}if(null!=e.outTexUsage&&(a.usage=e.outTexUsage),0===v3.util.sizeFromShape(o.shape))return a.values=v3.util.getTypedArrayFromDType(o.dtype,0),o;const l=[],u=t.map(t=>{if("complex64"===t.dtype)throw new Error("GPGPUProgram does not support complex64 input. For complex64 dtypes, please separate the program into real and imaginary parts.");let n=this.texData.get(t.dataId);if(null==n.texture){if(!e.packedInputs&&v3.util.sizeFromShape(t.shape)<=(0,v3.env)().getNumber("WEBGL_SIZE_UPLOAD_UNIFORM"))return{shape:t.shape,texData:null,isUniform:!0,uniformValues:n.values};e.packedInputs&&(n.isPacked=!0,n.shape=t.shape)}if(this.uploadToGPU(t.dataId),!!n.isPacked!=!!e.packedInputs)t=n.isPacked?this.unpackTensor(t):this.packTensor(t),l.push(t),n=this.texData.get(t.dataId);else if(n.isPacked&&!cme(n.shape,t.shape)){const e=t,i=t.shape;t.shape=n.shape,t=this.packedReshape(t,i),l.push(t),n=this.texData.get(t.dataId),e.shape=i}return{shape:t.shape,texData:n,isUniform:!1}});this.uploadToGPU(o.dataId);const c={shape:o.shape,texData:a,isUniform:!1},d=function(e,t,n){let i="";t.concat(n).forEach(t=>{const r=null!=t.texData&&null!=t.texData.slice&&t.texData.slice.flatOffset>0;if(e.enableShapeUniforms&&!t.isUniform){const s=t.texData.texShape,{useSqueezeShape:o,uniformShape:a,keptDims:l}=Yme(e.packedInputs,t.shape,s);let u="",c="",d="";if(1===a.length&&e.packedInputs){const e=[Math.ceil(s[0]/2),Math.ceil(s[1]/2)];u=`${e[0]>1}_${e[1]>1}`}else if(2!==a.length||e.packedInputs){if(a.length>2&&!e.packedInputs){const e=v3.util.computeStrides(a);d=`${e[0]===s[1]}_${e[e.length-1]===s[1]}`}}else c=`${a[0]>1}_${a[1]>1}`;const h=t.shape.length,p=2===a.length&&v3.util.arraysEqual(t.shape,s),f=1===v3.util.sizeFromShape(t.shape),m=v3.backend_util.getBroadcastDims(t.shape,n.shape),g=!e.packedInputs&&h===n.shape.length&&v3.util.arraysEqual(s,n.texData.texShape),_=e.packedInputs||a.length>2?"":`${s[0]>1}_${s[1]>1}`;i+=`${h}_${g}_${o?l:""}_${a.length}_${f}_${m}_${p}_${u}_${c}_${d}_${_}_${r}`}else{const e=t.isUniform?"uniform":t.texData.texShape;i+=`${t.shape}_${e}_${r}`}});const r=e.userCode;let s=e.constructor.name;return s+="_"+i+"_"+r+`${(0,v3.env)().getNumber("WEBGL_VERSION")}`,s}(e,u,c),h=this.getAndSaveBinary(d,()=> /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15218,9 +15218,9 @@ const k_e=p3.kernel_impls.whereImpl,R_e={};const N_e=(0,p3.env)().getNumber("CPU * limitations under the License. * ============================================================================= */ -function(e,t,n,i){const r=n.map((e,n)=>{const i={logicalShape:e.shape,texShape:e.isUniform?null:e.texData.texShape,isUniform:e.isUniform,isPacked:!e.isUniform&&e.texData.isPacked,flatOffset:null};return null!=e.texData&&null!=e.texData.slice&&e.texData.slice.flatOffset>0&&(i.flatOffset=e.texData.slice.flatOffset),{name:t.variableNames[n],shapeInfo:i}}),s=r.map(e=>e.shapeInfo),o={logicalShape:i.shape,texShape:i.texData.texShape,isUniform:!1,isPacked:i.texData.isPacked,flatOffset:null},a=Sme(r,o,t),l=Cfe(e.gl,a),u=e.createProgram(l);return(0,p3.env)().get("ENGINE_COMPILE_ONLY")?{program:t,fragmentShader:l,source:a,webGLProgram:u,inShapeInfos:s,outShapeInfo:o,variablesLocations:null,customUniformLocations:null,infLoc:null,nanLoc:null,outShapeLocation:null,outShapeStridesLocation:null,outTexShapeLocation:null}:(e.buildVao(u),Object.assign({program:t,fragmentShader:l,source:a,webGLProgram:u,inShapeInfos:s,outShapeInfo:o},Vme(e,t,u)))}(this.gpgpu,e,u,c)),p=null!=this.activeTimers;let f;p&&(f=this.startTimer()),(0,p3.env)().get("ENGINE_COMPILE_ONLY")||function(e,t,n,i,r){t.program.enableShapeUniforms||(zme(t.inShapeInfos,n),zme([t.outShapeInfo],[i]));const s=i.texData.texture,o=i.texData.texShape;i.texData.isPacked?e.setOutputPackedMatrixTexture(s.texture,o[0],o[1]):e.setOutputMatrixTexture(s.texture,o[0],o[1]),e.setProgram(t.webGLProgram),e.bindVertexArray(t.webGLProgram.vao),1===(0,p3.env)().getNumber("WEBGL_VERSION")&&null!==t.infLoc&&e.gl.uniform1f(t.infLoc,1/0),null!==t.nanLoc&&e.gl.uniform1f(t.nanLoc,NaN);for(let i=0;ithis.disposeIntermediateTensorInfo(e)),p&&(f=this.endTimer(f),this.activeTimers.push({name:e.constructor.name,query:this.getQueryTime(f)}));const m=(0,p3.env)().getNumber("WEBGL_FLUSH_THRESHOLD");if(m>0){const e=p3.util.now();e-this.lastGlFlushTime>m&&(this.gpgpu.gl.flush(),this.lastGlFlushTime=e)}if(!(0,p3.env)().getBool("WEBGL_LAZILY_UNPACK")&&a.isPacked&&!1===r){const e=this.unpackTensor(o);return this.disposeIntermediateTensorInfo(o),e}return o}compileAndRun(e,t,n,i,r=!1){n=n||t[0].dtype;return this.runWebGLProgram(e,t,n,i,r)}getAndSaveBinary(e,t){return e in this.binaryCache||(this.binaryCache[e]=t()),this.binaryCache[e]}getTextureManager(){return this.textureManager}dispose(){if(!this.disposed){if(!(0,p3.env)().getBool("IS_TEST")){Object.keys(this.binaryCache).forEach(e=>{this.gpgpu.deleteProgram(this.binaryCache[e].webGLProgram),delete this.binaryCache[e]})}this.textureManager.dispose(),null!=this.canvas&&"undefined"!=typeof HTMLCanvasElement&&this.canvas instanceof HTMLCanvasElement?this.canvas.remove():this.canvas=null,this.gpgpuCreatedLocally&&(this.gpgpu.program=null,this.gpgpu.dispose()),this.disposed=!0}}floatPrecision(){return null==this.floatPrecisionValue&&(this.floatPrecisionValue=(0,p3.tidy)(()=>{if(!(0,p3.env)().get("WEBGL_RENDER_FLOAT32_ENABLED")){const e=(0,p3.env)().getBool("DEBUG");(0,p3.env)().set("DEBUG",!1);const t=this.abs((0,p3.scalar)(1e-8)).dataSync()[0];if((0,p3.env)().set("DEBUG",e),t>0)return 32}return 16})),this.floatPrecisionValue}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}uploadToGPU(e){const t=this.texData.get(e),{shape:n,dtype:i,values:r,texture:s,usage:o,isPacked:a}=t;if(null!=s)return;const l=null!=this.activeTimers;let u;l&&(u=p3.util.now());let c=t.texShape;if(null==c&&(c=nme(n,a),t.texShape=c),null!=r){const e=tme(n);let s,o=c[1],d=c[0];const h=r instanceof Uint8Array||r instanceof Uint8ClampedArray;!a&&h||([o,d]=vfe(c[0],c[1])),s=a?new Kme(e,h):new qme(e,h);const p=h?[d,o]:c,f=this.makeTensorInfo(p,i),m=this.texData.get(f.dataId);m.usage=h?mfe.PIXELS:mfe.UPLOAD,m.texShape=p,this.gpgpu.uploadDenseMatrixToTexture(this.getTexture(f.dataId),o,d,r);const g=[[d,o]],_=!0,y=this.runWebGLProgram(s,[f],i,g,_),v=this.texData.get(y.dataId);t.texShape=v.texShape,t.isPacked=v.isPacked,t.usage=v.usage,(0,p3.env)().get("ENGINE_COMPILE_ONLY")?this.disposeData(y.dataId):(t.texture=v.texture,t.values=null,this.texData.delete(y.dataId)),this.disposeIntermediateTensorInfo(f),l&&(this.uploadWaitMs+=p3.util.now()-u)}else{const e=this.acquireTexture(c,o,i,a);t.texture=e}}convertAndCacheOnCPU(e,t){const n=this.texData.get(e),{dtype:i}=n;return null!=t&&(n.values=function(e,t){if("float32"===t||"complex64"===t)return e;if("int32"===t||"bool"===t){const n="int32"===t?new Int32Array(e.length):new Uint8Array(e.length);for(let t=0;t1024*this.numMBBeforeWarning*1024){const e=(this.numBytesInGPU/1024/1024).toFixed(2);this.warnedAboutMemory=!0,console.warn(`High memory usage in GPU: ${e} MB, most likely due to a memory leak`)}return this.textureManager.acquireTexture(e,t,i)}computeBytes(e,t){return e[0]*e[1]*p3.util.bytesPerElement(t)}checkCompileCompletion(){for(const[,e]of Object.entries(this.binaryCache))this.checkCompletion_(e)}async checkCompileCompletionAsync(){const e=[];if(this.gpgpu.parallelCompilationExtension){for(const[,t]of Object.entries(this.binaryCache))e.push(this.checkCompletionAsync_(t));return Promise.all(e)}for(const[,t]of Object.entries(this.binaryCache)){const n=new Promise(e=>{try{this.checkCompletion_(t),e(!0)}catch(e){throw e}});e.push(n)}return Promise.all(e)}async checkCompletionAsync_(e){return this.gpgpu.gl.getProgramParameter(e.webGLProgram,this.gpgpu.parallelCompilationExtension.COMPLETION_STATUS_KHR)?this.checkCompletion_(e):(await(0,p3.nextFrame)(),this.checkCompletionAsync_(e))}checkCompletion_(e){if(!1===this.gpgpu.gl.getProgramParameter(e.webGLProgram,this.gpgpu.gl.LINK_STATUS)){if(console.log(this.gpgpu.gl.getProgramInfoLog(e.webGLProgram)),!1===this.gpgpu.gl.getShaderParameter(e.fragmentShader,this.gpgpu.gl.COMPILE_STATUS))throw Mfe(e.source,this.gpgpu.gl.getShaderInfoLog(e.fragmentShader)),new Error("Failed to compile fragment shader.");throw new Error("Failed to link vertex and fragment shaders.")}return!0}getUniformLocations(){for(const e of Object.values(this.binaryCache)){this.gpgpu.buildVao(e.webGLProgram);const{variablesLocations:t,customUniformLocations:n,infLoc:i,nanLoc:r,outShapeLocation:s,outShapeStridesLocation:o,outTexShapeLocation:a}=Vme(this.gpgpu,e.program,e.webGLProgram);e.variablesLocations=t,e.customUniformLocations=n,e.infLoc=i,e.nanLoc=r,e.outShapeLocation=s,e.outShapeStridesLocation=o,e.outTexShapeLocation=a}}createTensorFromGPUData(e,t,n){e.channels=e.channels||"RGBA";const{texture:i,height:r,width:s,channels:o}=e,a=(0,p3.engine)().backend;if(!a.gpgpu.gl.isTexture(i))throw new Error("The texture is invalid. Also, please make sure the texture and the TFJS WebGL backend are using the same canvas. If you want to use your own custom canvas, you have to create and use the custom TFJS WebGL backend created from the canvas through 'new tf.MathBackendWebGL(customCanvas)'.");const l=a.writeTexture(i,t,n,r,s,o);return(0,p3.engine)().makeTensorFromDataId(l,t,n,a)}}D_e.nextDataId=0; +function(e,t,n,i){const r=n.map((e,n)=>{const i={logicalShape:e.shape,texShape:e.isUniform?null:e.texData.texShape,isUniform:e.isUniform,isPacked:!e.isUniform&&e.texData.isPacked,flatOffset:null};return null!=e.texData&&null!=e.texData.slice&&e.texData.slice.flatOffset>0&&(i.flatOffset=e.texData.slice.flatOffset),{name:t.variableNames[n],shapeInfo:i}}),s=r.map(e=>e.shapeInfo),o={logicalShape:i.shape,texShape:i.texData.texShape,isUniform:!1,isPacked:i.texData.isPacked,flatOffset:null},a=Nme(r,o,t),l=Dfe(e.gl,a),u=e.createProgram(l);return(0,v3.env)().get("ENGINE_COMPILE_ONLY")?{program:t,fragmentShader:l,source:a,webGLProgram:u,inShapeInfos:s,outShapeInfo:o,variablesLocations:null,customUniformLocations:null,infLoc:null,nanLoc:null,outShapeLocation:null,outShapeStridesLocation:null,outTexShapeLocation:null}:(e.buildVao(u),Object.assign({program:t,fragmentShader:l,source:a,webGLProgram:u,inShapeInfos:s,outShapeInfo:o},Wme(e,t,u)))}(this.gpgpu,e,u,c)),p=null!=this.activeTimers;let f;p&&(f=this.startTimer()),(0,v3.env)().get("ENGINE_COMPILE_ONLY")||function(e,t,n,i,r){t.program.enableShapeUniforms||(Xme(t.inShapeInfos,n),Xme([t.outShapeInfo],[i]));const s=i.texData.texture,o=i.texData.texShape;i.texData.isPacked?e.setOutputPackedMatrixTexture(s.texture,o[0],o[1]):e.setOutputMatrixTexture(s.texture,o[0],o[1]),e.setProgram(t.webGLProgram),e.bindVertexArray(t.webGLProgram.vao),1===(0,v3.env)().getNumber("WEBGL_VERSION")&&null!==t.infLoc&&e.gl.uniform1f(t.infLoc,1/0),null!==t.nanLoc&&e.gl.uniform1f(t.nanLoc,NaN);for(let i=0;ithis.disposeIntermediateTensorInfo(e)),p&&(f=this.endTimer(f),this.activeTimers.push({name:e.constructor.name,query:this.getQueryTime(f)}));const m=(0,v3.env)().getNumber("WEBGL_FLUSH_THRESHOLD");if(m>0){const e=v3.util.now();e-this.lastGlFlushTime>m&&(this.gpgpu.gl.flush(),this.lastGlFlushTime=e)}if(!(0,v3.env)().getBool("WEBGL_LAZILY_UNPACK")&&a.isPacked&&!1===r){const e=this.unpackTensor(o);return this.disposeIntermediateTensorInfo(o),e}return o}compileAndRun(e,t,n,i,r=!1){n=n||t[0].dtype;return this.runWebGLProgram(e,t,n,i,r)}getAndSaveBinary(e,t){return e in this.binaryCache||(this.binaryCache[e]=t()),this.binaryCache[e]}getTextureManager(){return this.textureManager}dispose(){if(!this.disposed){if(!(0,v3.env)().getBool("IS_TEST")){Object.keys(this.binaryCache).forEach(e=>{this.gpgpu.deleteProgram(this.binaryCache[e].webGLProgram),delete this.binaryCache[e]})}this.textureManager.dispose(),null!=this.canvas&&"undefined"!=typeof HTMLCanvasElement&&this.canvas instanceof HTMLCanvasElement?this.canvas.remove():this.canvas=null,this.gpgpuCreatedLocally&&(this.gpgpu.program=null,this.gpgpu.dispose()),this.disposed=!0}}floatPrecision(){return null==this.floatPrecisionValue&&(this.floatPrecisionValue=(0,v3.tidy)(()=>{if(!(0,v3.env)().get("WEBGL_RENDER_FLOAT32_ENABLED")){const e=(0,v3.env)().getBool("DEBUG");(0,v3.env)().set("DEBUG",!1);const t=this.abs((0,v3.scalar)(1e-8)).dataSync()[0];if((0,v3.env)().set("DEBUG",e),t>0)return 32}return 16})),this.floatPrecisionValue}epsilon(){return 32===this.floatPrecision()?1e-7:1e-4}uploadToGPU(e){const t=this.texData.get(e),{shape:n,dtype:i,values:r,texture:s,usage:o,isPacked:a}=t;if(null!=s)return;const l=null!=this.activeTimers;let u;l&&(u=v3.util.now());let c=t.texShape;if(null==c&&(c=lme(n,a),t.texShape=c),null!=r){const e=ame(n);let s,o=c[1],d=c[0];const h=r instanceof Uint8Array||r instanceof Uint8ClampedArray;!a&&h||([o,d]=Ife(c[0],c[1])),s=a?new nge(e,h):new tge(e,h);const p=h?[d,o]:c,f=this.makeTensorInfo(p,i),m=this.texData.get(f.dataId);m.usage=h?Tfe.PIXELS:Tfe.UPLOAD,m.texShape=p,this.gpgpu.uploadDenseMatrixToTexture(this.getTexture(f.dataId),o,d,r);const g=[[d,o]],_=!0,y=this.runWebGLProgram(s,[f],i,g,_),v=this.texData.get(y.dataId);t.texShape=v.texShape,t.isPacked=v.isPacked,t.usage=v.usage,(0,v3.env)().get("ENGINE_COMPILE_ONLY")?this.disposeData(y.dataId):(t.texture=v.texture,t.values=null,this.texData.delete(y.dataId)),this.disposeIntermediateTensorInfo(f),l&&(this.uploadWaitMs+=v3.util.now()-u)}else{const e=this.acquireTexture(c,o,i,a);t.texture=e}}convertAndCacheOnCPU(e,t){const n=this.texData.get(e),{dtype:i}=n;return null!=t&&(n.values=function(e,t){if("float32"===t||"complex64"===t)return e;if("int32"===t||"bool"===t){const n="int32"===t?new Int32Array(e.length):new Uint8Array(e.length);for(let t=0;t1024*this.numMBBeforeWarning*1024){const e=(this.numBytesInGPU/1024/1024).toFixed(2);this.warnedAboutMemory=!0,console.warn(`High memory usage in GPU: ${e} MB, most likely due to a memory leak`)}return this.textureManager.acquireTexture(e,t,i)}computeBytes(e,t){return e[0]*e[1]*v3.util.bytesPerElement(t)}checkCompileCompletion(){for(const[,e]of Object.entries(this.binaryCache))this.checkCompletion_(e)}async checkCompileCompletionAsync(){const e=[];if(this.gpgpu.parallelCompilationExtension){for(const[,t]of Object.entries(this.binaryCache))e.push(this.checkCompletionAsync_(t));return Promise.all(e)}for(const[,t]of Object.entries(this.binaryCache)){const n=new Promise(e=>{try{this.checkCompletion_(t),e(!0)}catch(e){throw e}});e.push(n)}return Promise.all(e)}async checkCompletionAsync_(e){return this.gpgpu.gl.getProgramParameter(e.webGLProgram,this.gpgpu.parallelCompilationExtension.COMPLETION_STATUS_KHR)?this.checkCompletion_(e):(await(0,v3.nextFrame)(),this.checkCompletionAsync_(e))}checkCompletion_(e){if(!1===this.gpgpu.gl.getProgramParameter(e.webGLProgram,this.gpgpu.gl.LINK_STATUS)){if(console.log(this.gpgpu.gl.getProgramInfoLog(e.webGLProgram)),!1===this.gpgpu.gl.getShaderParameter(e.fragmentShader,this.gpgpu.gl.COMPILE_STATUS))throw Lfe(e.source,this.gpgpu.gl.getShaderInfoLog(e.fragmentShader)),new Error("Failed to compile fragment shader.");throw new Error("Failed to link vertex and fragment shaders.")}return!0}getUniformLocations(){for(const e of Object.values(this.binaryCache)){this.gpgpu.buildVao(e.webGLProgram);const{variablesLocations:t,customUniformLocations:n,infLoc:i,nanLoc:r,outShapeLocation:s,outShapeStridesLocation:o,outTexShapeLocation:a}=Wme(this.gpgpu,e.program,e.webGLProgram);e.variablesLocations=t,e.customUniformLocations=n,e.infLoc=i,e.nanLoc=r,e.outShapeLocation=s,e.outShapeStridesLocation=o,e.outTexShapeLocation=a}}createTensorFromGPUData(e,t,n){e.channels=e.channels||"RGBA";const{texture:i,height:r,width:s,channels:o}=e,a=(0,v3.engine)().backend;if(!a.gpgpu.gl.isTexture(i))throw new Error("The texture is invalid. Also, please make sure the texture and the TFJS WebGL backend are using the same canvas. If you want to use your own custom canvas, you have to create and use the custom TFJS WebGL backend created from the canvas through 'new tf.MathBackendWebGL(customCanvas)'.");const l=a.writeTexture(i,t,n,r,s,o);return(0,v3.engine)().makeTensorFromDataId(l,t,n,a)}}U_e.nextDataId=0; /** @license See the LICENSE file. */ -const F_e="4.22.0"; +const V_e="4.22.0"; /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -15237,7 +15237,7 @@ const F_e="4.22.0"; * limitations under the License. * ============================================================================= */ -function L_e(){(0,p3.env)().set("WEBGL_FORCE_F16_TEXTURES",!0)} +function z_e(){(0,v3.env)().set("WEBGL_FORCE_F16_TEXTURES",!0)} /** * @license * Copyright 2020 Google Inc. All Rights Reserved. @@ -15254,7 +15254,7 @@ function L_e(){(0,p3.env)().set("WEBGL_FORCE_F16_TEXTURES",!0)} * limitations under the License. * ============================================================================= */ -p3.device_util.isBrowser()&&(0,p3.registerBackend)("webgl",()=>new D_e,2);const P_e={forceHalfFloat:L_e},B_e="\n if (isnan(a)) return a;\n if (isnan(b)) return b;\n";class $_e{constructor(e,t,n){this.variableNames=["A","B"],this.outputShape=p3.backend_util.assertAndGetBroadcastShape(t,n),this.enableShapeUniforms=jme(this.outputShape.length),this.userCode=`\n float binaryOperation(float a, float b) {\n ${e}\n }\n\n void main() {\n float a = getAAtOutCoords();\n float b = getBAtOutCoords();\n setOutput(binaryOperation(a, b));\n }\n `}} +v3.device_util.isBrowser()&&(0,v3.registerBackend)("webgl",()=>new U_e,2);const j_e={forceHalfFloat:z_e},Y_e="\n if (isnan(a)) return a;\n if (isnan(b)) return b;\n";class G_e{constructor(e,t,n){this.variableNames=["A","B"],this.outputShape=v3.backend_util.assertAndGetBroadcastShape(t,n),this.enableShapeUniforms=qme(this.outputShape.length),this.userCode=`\n float binaryOperation(float a, float b) {\n ${e}\n }\n\n void main() {\n float a = getAAtOutCoords();\n float b = getBAtOutCoords();\n setOutput(binaryOperation(a, b));\n }\n `}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -15271,7 +15271,7 @@ p3.device_util.isBrowser()&&(0,p3.registerBackend)("webgl",()=>new D_e,2);const * limitations under the License. * ============================================================================= */ -const U_e="\n result.r = isNaN.r ? NAN : result.r;\n result.g = isNaN.g ? NAN : result.g;\n result.b = isNaN.b ? NAN : result.b;\n result.a = isNaN.a ? NAN : result.a;\n";class V_e{constructor(e,t,n,i=!1){this.variableNames=["A","B"],this.supportsBroadcasting=!0,this.packedInputs=!0,this.packedOutput=!0,this.outputShape=p3.backend_util.assertAndGetBroadcastShape(t,n);const r=this.outputShape.length;this.enableShapeUniforms=jme(r);let s="";if(i)if(0===r||1===p3.util.sizeFromShape(this.outputShape))s="\n result.y = 0.;\n result.z = 0.;\n result.w = 0.;\n ";else{if(s=`\n ${Pme(r)} coords = getOutputCoords();\n `,1===r)this.enableShapeUniforms?s+="\n result.y = (coords + 1) >= outShape ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n ":s+=`\n result.y = (coords + 1) >= ${this.outputShape[0]} ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `;else{const e=g_e("coords",r);this.enableShapeUniforms?s+=`\n bool nextRowOutOfBounds =\n (${e[r-2]} + 1) >= outShape[${r} - 2];\n bool nextColOutOfBounds =\n (${e[r-1]} + 1) >= outShape[${r} - 1];\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `:s+=`\n bool nextRowOutOfBounds =\n (${e[r-2]} + 1) >= ${this.outputShape[r-2]};\n bool nextColOutOfBounds =\n (${e[r-1]} + 1) >= ${this.outputShape[r-1]};\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `}}this.userCode=`\n vec4 binaryOperation(vec4 a, vec4 b) {\n ${e}\n }\n\n void main() {\n vec4 a = getAAtOutCoords();\n vec4 b = getBAtOutCoords();\n\n vec4 result = binaryOperation(a, b);\n ${s}\n\n setOutput(result);\n }\n `}} +const H_e="\n result.r = isNaN.r ? NAN : result.r;\n result.g = isNaN.g ? NAN : result.g;\n result.b = isNaN.b ? NAN : result.b;\n result.a = isNaN.a ? NAN : result.a;\n";class W_e{constructor(e,t,n,i=!1){this.variableNames=["A","B"],this.supportsBroadcasting=!0,this.packedInputs=!0,this.packedOutput=!0,this.outputShape=v3.backend_util.assertAndGetBroadcastShape(t,n);const r=this.outputShape.length;this.enableShapeUniforms=qme(r);let s="";if(i)if(0===r||1===v3.util.sizeFromShape(this.outputShape))s="\n result.y = 0.;\n result.z = 0.;\n result.w = 0.;\n ";else{if(s=`\n ${jme(r)} coords = getOutputCoords();\n `,1===r)this.enableShapeUniforms?s+="\n result.y = (coords + 1) >= outShape ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n ":s+=`\n result.y = (coords + 1) >= ${this.outputShape[0]} ? 0. : result.y;\n result.z = 0.;\n result.w = 0.;\n `;else{const e=x_e("coords",r);this.enableShapeUniforms?s+=`\n bool nextRowOutOfBounds =\n (${e[r-2]} + 1) >= outShape[${r} - 2];\n bool nextColOutOfBounds =\n (${e[r-1]} + 1) >= outShape[${r} - 1];\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `:s+=`\n bool nextRowOutOfBounds =\n (${e[r-2]} + 1) >= ${this.outputShape[r-2]};\n bool nextColOutOfBounds =\n (${e[r-1]} + 1) >= ${this.outputShape[r-1]};\n result.y = nextColOutOfBounds ? 0. : result.y;\n result.z = nextRowOutOfBounds ? 0. : result.z;\n result.w = nextColOutOfBounds || nextRowOutOfBounds ? 0. : result.w;\n `}}this.userCode=`\n vec4 binaryOperation(vec4 a, vec4 b) {\n ${e}\n }\n\n void main() {\n vec4 a = getAAtOutCoords();\n vec4 b = getBAtOutCoords();\n\n vec4 result = binaryOperation(a, b);\n ${s}\n\n setOutput(result);\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15288,7 +15288,7 @@ const U_e="\n result.r = isNaN.r ? NAN : result.r;\n result.g = isNaN.g ? NAN * limitations under the License. * ============================================================================= */ -function z_e(e){const{inputs:t,backend:n}=e,{x:i}=t;return n.incRef(i.dataId),{dataId:i.dataId,shape:i.shape,dtype:i.dtype}}const j_e={kernelName:p3.Identity,backendName:"webgl",kernelFunc:z_e}; +function X_e(e){const{inputs:t,backend:n}=e,{x:i}=t;return n.incRef(i.dataId),{dataId:i.dataId,shape:i.shape,dtype:i.dtype}}const q_e={kernelName:v3.Identity,backendName:"webgl",kernelFunc:X_e}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15305,7 +15305,7 @@ function z_e(e){const{inputs:t,backend:n}=e,{x:i}=t;return n.incRef(i.dataId),{d * limitations under the License. * ============================================================================= */ -function Y_e(e){const{inputs:t,backend:n}=e,{real:i,imag:r}=t,s=n.makeTensorInfo(i.shape,"complex64"),o=n.texData.get(s.dataId),a=z_e({inputs:{x:i},backend:n}),l=z_e({inputs:{x:r},backend:n});return o.complexTensorInfos={real:a,imag:l},s}const G_e={kernelName:p3.Complex,backendName:"webgl",kernelFunc:Y_e},H_e="return (a < 0.) ? b * a : a;",W_e="\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n";const X_e={kernelName:p3.LeakyRelu,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{alpha:s}=i,o=n.makeTensorInfo([],"float32",p3.util.createScalarValue(s,"float32")),a=(0,p3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new V_e(W_e,r.shape,o.shape):new $_e(H_e,r.shape,o.shape),l=n.runWebGLProgram(a,[r,o],"float32");return n.disposeIntermediateTensorInfo(o),l}},q_e="return (a < 0.) ? b * a : a;",K_e="\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n";const Z_e={kernelName:p3.Prelu,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i,alpha:r}=t,s=(0,p3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new V_e(K_e,i.shape,r.shape):new $_e(q_e,i.shape,r.shape);return n.runWebGLProgram(s,[i,r],"float32")}},Q_e="if (isnan(x)) return x;";function J_e({opSnippet:e,packedOpSnippet:t,cpuKernelImpl:n,dtype:i}){return({inputs:r,backend:s})=>{const{x:o}=r,a=s,l=i||o.dtype;if(a.shouldExecuteOnCPU([o])&&null!=n){const e=a.texData.get(o.dataId),t=n(e.values,l);return a.makeTensorInfo(o.shape,l,t)}let u;return u=(0,p3.env)().getBool("WEBGL_PACK_UNARY_OPERATIONS")&&null!=t?new O_e(o.shape,t):new E_e(o.shape,e),a.runWebGLProgram(u,[o],l)}}function eye({opSnippet:e,packedOpSnippet:t,checkOutOfBounds:n=!1,supportsComplex:i=!1,cpuKernelImpl:r,dtype:s}){return({inputs:o,backend:a})=>{const{a:l,b:u}=o,c=a;if(i&&"complex64"===l.dtype){const t=c.texData.get(l.dataId),n=c.texData.get(u.dataId),[i,r]=[[t.complexTensorInfos.real,n.complexTensorInfos.real],[t.complexTensorInfos.imag,n.complexTensorInfos.imag]].map(t=>{const[n,i]=t,r={dataId:n.dataId,dtype:n.dtype,shape:l.shape},s={dataId:i.dataId,dtype:i.dtype,shape:u.shape},o=new $_e(e,l.shape,u.shape);return c.runWebGLProgram(o,[r,s],(0,p3.upcastType)(n.dtype,i.dtype))}),s=Y_e({inputs:{real:i,imag:r},backend:c});return c.disposeIntermediateTensorInfo(i),c.disposeIntermediateTensorInfo(r),s}const d=s||(0,p3.upcastType)(l.dtype,u.dtype);if(("string"===l.dtype||"string"===u.dtype||c.shouldExecuteOnCPU([l,u]))&&null!=r){const e=c.texData.get(l.dataId).values,t=c.texData.get(u.dataId).values,n="string"===l.dtype?p3.backend_util.fromUint8ToStringArray(e):e,i="string"===l.dtype?p3.backend_util.fromUint8ToStringArray(t):t,[s,o]=r(l.shape,u.shape,n,i,d),a=c.makeTensorInfo(o,d);return c.texData.get(a.dataId).values=s,a}let h;return h=(0,p3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS")&&null!=t?new V_e(t,l.shape,u.shape,n):new $_e(e,l.shape,u.shape),c.runWebGLProgram(h,[l,u],d)}}function tye(e,t=!1){if("linear"===e)return"return x;";if("relu"===e)return t?"\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n":A_e;if("elu"===e)return t?"\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n":"return (x >= 0.0) ? x : (exp(x) - 1.0);";if("relu6"===e)return t?"\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n":S_e;if("prelu"===e)return t?K_e:q_e;if("leakyrelu"===e)return t?W_e:H_e;if("sigmoid"===e)return"return 1.0 / (1.0 + exp(-1.0 * x));";throw new Error(`Activation ${e} has not been implemented for the WebGL backend.`)} +function K_e(e){const{inputs:t,backend:n}=e,{real:i,imag:r}=t,s=n.makeTensorInfo(i.shape,"complex64"),o=n.texData.get(s.dataId),a=X_e({inputs:{x:i},backend:n}),l=X_e({inputs:{x:r},backend:n});return o.complexTensorInfos={real:a,imag:l},s}const Z_e={kernelName:v3.Complex,backendName:"webgl",kernelFunc:K_e},Q_e="return (a < 0.) ? b * a : a;",J_e="\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n";const eye={kernelName:v3.LeakyRelu,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{alpha:s}=i,o=n.makeTensorInfo([],"float32",v3.util.createScalarValue(s,"float32")),a=(0,v3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new W_e(J_e,r.shape,o.shape):new G_e(Q_e,r.shape,o.shape),l=n.runWebGLProgram(a,[r,o],"float32");return n.disposeIntermediateTensorInfo(o),l}},tye="return (a < 0.) ? b * a : a;",nye="\n vec4 aLessThanZero = vec4(lessThan(a, vec4(0.)));\n return (aLessThanZero * (b * a)) + ((vec4(1.0) - aLessThanZero) * a);\n";const iye={kernelName:v3.Prelu,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i,alpha:r}=t,s=(0,v3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new W_e(nye,i.shape,r.shape):new G_e(tye,i.shape,r.shape);return n.runWebGLProgram(s,[i,r],"float32")}},rye="if (isnan(x)) return x;";function sye({opSnippet:e,packedOpSnippet:t,cpuKernelImpl:n,dtype:i}){return({inputs:r,backend:s})=>{const{x:o}=r,a=s,l=i||o.dtype;if(a.shouldExecuteOnCPU([o])&&null!=n){const e=a.texData.get(o.dataId),t=n(e.values,l);return a.makeTensorInfo(o.shape,l,t)}let u;return u=(0,v3.env)().getBool("WEBGL_PACK_UNARY_OPERATIONS")&&null!=t?new F_e(o.shape,t):new O_e(o.shape,e),a.runWebGLProgram(u,[o],l)}}function oye({opSnippet:e,packedOpSnippet:t,checkOutOfBounds:n=!1,supportsComplex:i=!1,cpuKernelImpl:r,dtype:s}){return({inputs:o,backend:a})=>{const{a:l,b:u}=o,c=a;if(i&&"complex64"===l.dtype){const t=c.texData.get(l.dataId),n=c.texData.get(u.dataId),[i,r]=[[t.complexTensorInfos.real,n.complexTensorInfos.real],[t.complexTensorInfos.imag,n.complexTensorInfos.imag]].map(t=>{const[n,i]=t,r={dataId:n.dataId,dtype:n.dtype,shape:l.shape},s={dataId:i.dataId,dtype:i.dtype,shape:u.shape},o=new G_e(e,l.shape,u.shape);return c.runWebGLProgram(o,[r,s],(0,v3.upcastType)(n.dtype,i.dtype))}),s=K_e({inputs:{real:i,imag:r},backend:c});return c.disposeIntermediateTensorInfo(i),c.disposeIntermediateTensorInfo(r),s}const d=s||(0,v3.upcastType)(l.dtype,u.dtype);if(("string"===l.dtype||"string"===u.dtype||c.shouldExecuteOnCPU([l,u]))&&null!=r){const e=c.texData.get(l.dataId).values,t=c.texData.get(u.dataId).values,n="string"===l.dtype?v3.backend_util.fromUint8ToStringArray(e):e,i="string"===l.dtype?v3.backend_util.fromUint8ToStringArray(t):t,[s,o]=r(l.shape,u.shape,n,i,d),a=c.makeTensorInfo(o,d);return c.texData.get(a.dataId).values=s,a}let h;return h=(0,v3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS")&&null!=t?new W_e(t,l.shape,u.shape,n):new G_e(e,l.shape,u.shape),c.runWebGLProgram(h,[l,u],d)}}function aye(e,t=!1){if("linear"===e)return"return x;";if("relu"===e)return t?"\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n":R_e;if("elu"===e)return t?"\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n":"return (x >= 0.0) ? x : (exp(x) - 1.0);";if("relu6"===e)return t?"\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n":N_e;if("prelu"===e)return t?nye:tye;if("leakyrelu"===e)return t?J_e:Q_e;if("sigmoid"===e)return"return 1.0 / (1.0 + exp(-1.0 * x));";throw new Error(`Activation ${e} has not been implemented for the WebGL backend.`)} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -15322,7 +15322,7 @@ function Y_e(e){const{inputs:t,backend:n}=e,{real:i,imag:r}=t,s=n.makeTensorInfo * limitations under the License. * ============================================================================= */ -class nye{constructor(e,t,n,i=!1,r=!1,s=!1,o=null,a=!1,l=!1){this.variableNames=["matrixA","matrixB"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=n,this.enableShapeUniforms=jme(this.outputShape.length);const u=i?e[1]:e[2],c=Math.ceil(u/2),d=i?"i * 2, rc.y":"rc.y, i * 2",h=r?"rc.z, i * 2":"i * 2, rc.z",p=i?["a.xxyy","a.zzww"]:["a.xxzz","a.yyww"],f=r?["b.xzxz","b.ywyw"]:["b.xyxy","b.zwzw"];let m="",g="";o&&(m=a?`vec4 activation(vec4 a) {\n vec4 b = getPreluActivationWeightsAtOutCoords();\n ${o}\n }`:l?`vec4 activation(vec4 a) {\n vec4 b = getLeakyreluAlphaAtOutCoords();\n ${o}\n }`:`vec4 activation(vec4 x) {\n ${o}\n }`,g="result = activation(result);");const _=s?"result += getBiasAtOutCoords();":"";s&&this.variableNames.push("bias"),a&&this.variableNames.push("preluActivationWeights"),l&&this.variableNames.push("leakyreluAlpha");let y="rc.x",v="rc.x";e[0]`The new shape (${l}) has ${u} elements and the old shape (${r.shape}) has ${a} elements. The new shape and old shape must have the same number of elements.`);const c=o.texData.get(r.dataId);return!c.isPacked||rme(r.shape,l)||null!==c.texture&&rme(c.shape,l)?(o.incRef(r.dataId),{dataId:r.dataId,shape:l,dtype:r.dtype}): +function mye(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{shape:s}=i,o=n,a=v3.util.sizeFromShape(r.shape),l=v3.util.inferFromImplicitShape(s,a),u=v3.util.sizeFromShape(l);v3.util.assert(a===u,()=>`The new shape (${l}) has ${u} elements and the old shape (${r.shape}) has ${a} elements. The new shape and old shape must have the same number of elements.`);const c=o.texData.get(r.dataId);return!c.isPacked||cme(r.shape,l)||null!==c.texture&&cme(c.shape,l)?(o.incRef(r.dataId),{dataId:r.dataId,shape:l,dtype:r.dtype}): /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15390,7 +15390,7 @@ function uye(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{shape:s}=i,o=n,a=p3 * limitations under the License. * ============================================================================= */ -function(e,t,n){const i=[Jfe(e.shape),...eme(e.shape)],r={dtype:e.dtype,shape:i,dataId:e.dataId},s=[Jfe(t),...eme(t)],o=new y_e(s,i),a=[i],l=n.runWebGLProgram(o,[r],e.dtype,a,!0);return{dataId:l.dataId,shape:t,dtype:l.dtype}}(r,l,o)}const cye={kernelName:p3.Reshape,backendName:"webgl",kernelFunc:uye}; +function(e,t,n){const i=[sme(e.shape),...ome(e.shape)],r={dtype:e.dtype,shape:i,dataId:e.dataId},s=[sme(t),...ome(t)],o=new w_e(s,i),a=[i],l=n.runWebGLProgram(o,[r],e.dtype,a,!0);return{dataId:l.dataId,shape:t,dtype:l.dtype}}(r,l,o)}const gye={kernelName:v3.Reshape,backendName:"webgl",kernelFunc:mye}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15407,7 +15407,7 @@ function(e,t,n){const i=[Jfe(e.shape),...eme(e.shape)],r={dtype:e.dtype,shape:i, * limitations under the License. * ============================================================================= */ -class dye{constructor(e,t){this.variableNames=["x"];const{windowSize:n,batchSize:i,inSize:r,outSize:s}=e;this.outputShape=[i,s];const o=4*Math.floor(n/4),a=n%4;let l="sumValue += dot(values, ones);";if(null!=t){const e=1/t;l=`sumValue += dot(values * ${p3.util.isInt(e)?e.toPrecision(2):e}, ones);`}let u="";r%n>0&&(u=`\n if (inIdx < 0 || inIdx >= ${r}) {\n return 0.0;\n }\n `),this.userCode=`\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${u}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${o}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${l}\n }\n\n int inIdx = inOffset + ${o};\n if (${1===a}) {\n vec4 values = vec4(getValue(batch, inIdx), 0.0, 0.0, 0.0);\n\n ${l}\n } else if (${2===a}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1), 0.0, 0.0);\n\n ${l}\n } else if (${3===a}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2), 0.0);\n\n ${l}\n }\n setOutput(sumValue);\n }\n `}} +class _ye{constructor(e,t){this.variableNames=["x"];const{windowSize:n,batchSize:i,inSize:r,outSize:s}=e;this.outputShape=[i,s];const o=4*Math.floor(n/4),a=n%4;let l="sumValue += dot(values, ones);";if(null!=t){const e=1/t;l=`sumValue += dot(values * ${v3.util.isInt(e)?e.toPrecision(2):e}, ones);`}let u="";r%n>0&&(u=`\n if (inIdx < 0 || inIdx >= ${r}) {\n return 0.0;\n }\n `),this.userCode=`\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${u}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${o}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${l}\n }\n\n int inIdx = inOffset + ${o};\n if (${1===a}) {\n vec4 values = vec4(getValue(batch, inIdx), 0.0, 0.0, 0.0);\n\n ${l}\n } else if (${2===a}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1), 0.0, 0.0);\n\n ${l}\n } else if (${3===a}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2), 0.0);\n\n ${l}\n }\n setOutput(sumValue);\n }\n `}} /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15424,7 +15424,7 @@ class dye{constructor(e,t){this.variableNames=["x"];const{windowSize:n,batchSize * limitations under the License. * ============================================================================= */ -class hye{constructor(e,t){this.variableNames=["x"];const{windowSize:n,batchSize:i,inSize:r,outSize:s}=e;this.outputShape=[i,s];let o="0.0",a="";"prod"===t?o="1.0":"min"===t?(o="1.0 / 1e-20",a="min"):"max"===t&&(o="-1.0 / 1e-20",a="max");let l=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"sum"===t?l="sumValue":"prod"===t?l="prodValue":"all"===t?l="allValue":"any"===t&&(l="anyValue");const u=4*Math.floor(n/4),c=n%4;let d=`\n if (${"sum"===t}) {\n sumValue += dot(values, ones);\n } else if (${"prod"===t}) {\n vec2 tmp = vec2(values[0], values[1]) * vec2(values[2], values[3]);\n prodValue *= tmp[0] * tmp[1];\n } else {\n minMaxValue = ${a}(values, minMaxValue);\n if (${"min"===t} || ${"max"===t}) {\n minMaxValue = ${a}(values, minMaxValue);\n bvec4 isNaN = isnan(values);\n if (isNaN.r || isNaN.g || isNaN.b || isNaN.a) {\n minMaxValue = vec4(NAN);\n }\n }\n }\n `,h="vec4";"all"===t?(o="1.0",d="\n bool reducedAllValue = all(values);\n float floatedReducedAllValue = float(reducedAllValue);\n allValue = float(allValue >= 1.0 && floatedReducedAllValue >= 1.0);\n ",h="bvec4"):"any"===t&&(o="0.0",d="\n bool reducedAnyValue = any(values);\n float floatedReducedAnyValue = float(reducedAnyValue);\n anyValue = float(anyValue >= 1.0 || floatedReducedAnyValue >= 1.0);\n ",h="bvec4");let p="";r%n>0&&(p=`\n if (inIdx < 0 || inIdx >= ${r}) {\n return initializationValue;\n }\n `),this.userCode=`\n const float initializationValue = ${o};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${p}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n vec4 minMaxValue = vec4(${o});\n float prodValue = 1.0;\n float sumValue = 0.0;\n float allValue = 1.0;\n float anyValue = 0.0;\n\n for (int i = 0; i < ${u}; i += 4) {\n int inIdx = inOffset + i;\n ${h} values = ${h}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${d}\n }\n\n int inIdx = inOffset + ${u};\n if (${1===c}) {\n ${h} values = ${h}(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${d}\n } else if (${2===c}) {\n ${h} values = ${h}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n ${d}\n } else if (${3===c}) {\n ${h} values = ${h}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n ${d}\n }\n setOutput(${l});\n }\n `}}function pye(e,t,n,i){const r= +class yye{constructor(e,t){this.variableNames=["x"];const{windowSize:n,batchSize:i,inSize:r,outSize:s}=e;this.outputShape=[i,s];let o="0.0",a="";"prod"===t?o="1.0":"min"===t?(o="1.0 / 1e-20",a="min"):"max"===t&&(o="-1.0 / 1e-20",a="max");let l=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"sum"===t?l="sumValue":"prod"===t?l="prodValue":"all"===t?l="allValue":"any"===t&&(l="anyValue");const u=4*Math.floor(n/4),c=n%4;let d=`\n if (${"sum"===t}) {\n sumValue += dot(values, ones);\n } else if (${"prod"===t}) {\n vec2 tmp = vec2(values[0], values[1]) * vec2(values[2], values[3]);\n prodValue *= tmp[0] * tmp[1];\n } else {\n minMaxValue = ${a}(values, minMaxValue);\n if (${"min"===t} || ${"max"===t}) {\n minMaxValue = ${a}(values, minMaxValue);\n bvec4 isNaN = isnan(values);\n if (isNaN.r || isNaN.g || isNaN.b || isNaN.a) {\n minMaxValue = vec4(NAN);\n }\n }\n }\n `,h="vec4";"all"===t?(o="1.0",d="\n bool reducedAllValue = all(values);\n float floatedReducedAllValue = float(reducedAllValue);\n allValue = float(allValue >= 1.0 && floatedReducedAllValue >= 1.0);\n ",h="bvec4"):"any"===t&&(o="0.0",d="\n bool reducedAnyValue = any(values);\n float floatedReducedAnyValue = float(reducedAnyValue);\n anyValue = float(anyValue >= 1.0 || floatedReducedAnyValue >= 1.0);\n ",h="bvec4");let p="";r%n>0&&(p=`\n if (inIdx < 0 || inIdx >= ${r}) {\n return initializationValue;\n }\n `),this.userCode=`\n const float initializationValue = ${o};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float getValue(int batch, int inIdx) {\n ${p}\n return getX(batch, inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${n};\n\n vec4 minMaxValue = vec4(${o});\n float prodValue = 1.0;\n float sumValue = 0.0;\n float allValue = 1.0;\n float anyValue = 0.0;\n\n for (int i = 0; i < ${u}; i += 4) {\n int inIdx = inOffset + i;\n ${h} values = ${h}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n ${d}\n }\n\n int inIdx = inOffset + ${u};\n if (${1===c}) {\n ${h} values = ${h}(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${d}\n } else if (${2===c}) {\n ${h} values = ${h}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n ${d}\n } else if (${3===c}) {\n ${h} values = ${h}(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n ${d}\n }\n setOutput(${l});\n }\n `}}function vye(e,t,n,i){const r= /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15441,7 +15441,7 @@ class hye{constructor(e,t){this.variableNames=["x"];const{windowSize:n,batchSize * limitations under the License. * ============================================================================= */ -function(e){const t=[];for(;0===t.length||1!==t[t.length-1].outSize;){const n=t.length?t[t.length-1].outSize:e[1],i=p3.backend_util.computeOptimalWindowSize(n);t.push({inSize:n,windowSize:i,outSize:Math.ceil(n/i)})}return t}(e.shape);let s=e;for(let o=0;o6)throw Error(`Transpose for rank ${t} is not yet supported`);const n=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u","resRC.v"],i=new Array(t);for(let t=0;t6)throw Error(`Transpose for rank ${t} is not yet supported`);const n=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u","resRC.v"],i=new Array(t);for(let t=0;t6)throw Error(`Packed transpose for rank ${this.rank} is not yet supported.`);const i=Pme(this.rank),r=m_e("rc",this.rank),s=new Array(this.rank);for(let e=0;e6)throw Error(`Packed transpose for rank ${this.rank} is not yet supported.`);const i=jme(this.rank),r=T_e("rc",this.rank),s=new Array(this.rank);for(let e=0;e`Error in matMul: inner shapes (${d}) and (${h}) of Tensors with shapes ${e.shape} and ${t.shape} and transposeA=${n} and transposeB=${i} must match.`);const b=n?[_,d,p]:[_,p,d],T=i?[y,f,h]:[y,h,f],x=uye({inputs:{x:e},backend:r,attrs:{shape:b}}),E=uye({inputs:{x:t},backend:r,attrs:{shape:T}}),w=[x,E],I=Math.max(_,y),A=n?x.shape[1]:x.shape[2],S=null!=s,C=null!=o,O="leakyrelu"===l,M=null!=l?tye(l,!0):null;let k;if((1===p||1===f)&&A>1e3&&!1===(S||C||O||null!=M)){let e=x,t=E;n&&(e=vye({inputs:{x},backend:r,attrs:{perm:[0,2,1]}}),w.push(e)),i&&(t=vye({inputs:{x:E},backend:r,attrs:{perm:[0,2,1]}}),w.push(t));const s=1===f;let o=e;1!==f&&(o=uye({inputs:{x:e},backend:r,attrs:{shape:[I,A,1]}}),w.push(o));const a=1===f?2:1;let l=t;s&&(l=uye({inputs:{x:t},backend:r,attrs:{shape:[I,1,A]}}),w.push(l));const u=aye({inputs:{a:o,b:l},backend:r});k=_ye({inputs:{x:u},backend:r,attrs:{axis:a,keepDims:!0}}),w.push(u)}else{const l=(0,p3.upcastType)(e.dtype,t.dtype),u=new nye(b,T,[I,p,f],n,i,S,M,C,O),c=[x,E];if(null!=s&&c.push(s),C&&c.push(o),O){const e=r.makeTensorInfo([],"float32",p3.util.createScalarValue(a,"float32"));c.push(e),w.push(e)}k=r.runWebGLProgram(u,c,l)}const R=uye({inputs:{x:k},backend:r,attrs:{shape:v}});w.push(k);for(const e of w)r.disposeIntermediateTensorInfo(e);return R}const xye={kernelName:p3._FusedMatMul,backendName:"webgl",kernelFunc: +function Iye(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{perm:s}=i,o=n,a=r.shape.length,l=new Array(a);for(let e=0;e`Error in matMul: inner shapes (${d}) and (${h}) of Tensors with shapes ${e.shape} and ${t.shape} and transposeA=${n} and transposeB=${i} must match.`);const b=n?[_,d,p]:[_,p,d],T=i?[y,f,h]:[y,h,f],x=mye({inputs:{x:e},backend:r,attrs:{shape:b}}),E=mye({inputs:{x:t},backend:r,attrs:{shape:T}}),w=[x,E],I=Math.max(_,y),A=n?x.shape[1]:x.shape[2],S=null!=s,C=null!=o,O="leakyrelu"===l,M=null!=l?aye(l,!0):null;let k;if((1===p||1===f)&&A>1e3&&!1===(S||C||O||null!=M)){let e=x,t=E;n&&(e=Iye({inputs:{x},backend:r,attrs:{perm:[0,2,1]}}),w.push(e)),i&&(t=Iye({inputs:{x:E},backend:r,attrs:{perm:[0,2,1]}}),w.push(t));const s=1===f;let o=e;1!==f&&(o=mye({inputs:{x:e},backend:r,attrs:{shape:[I,A,1]}}),w.push(o));const a=1===f?2:1;let l=t;s&&(l=mye({inputs:{x:t},backend:r,attrs:{shape:[I,1,A]}}),w.push(l));const u=pye({inputs:{a:o,b:l},backend:r});k=Eye({inputs:{x:u},backend:r,attrs:{axis:a,keepDims:!0}}),w.push(u)}else{const l=(0,v3.upcastType)(e.dtype,t.dtype),u=new lye(b,T,[I,p,f],n,i,S,M,C,O),c=[x,E];if(null!=s&&c.push(s),C&&c.push(o),O){const e=r.makeTensorInfo([],"float32",v3.util.createScalarValue(a,"float32"));c.push(e),w.push(e)}k=r.runWebGLProgram(u,c,l)}const R=mye({inputs:{x:k},backend:r,attrs:{shape:v}});w.push(k);for(const e of w)r.disposeIntermediateTensorInfo(e);return R}const Cye={kernelName:v3._FusedMatMul,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15560,7 +15560,7 @@ function vye(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{perm:s}=i,o=n,a=r.s * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s,bias:o,preluActivationWeights:a}=t,{transposeA:l,transposeB:u,activation:c,leakyreluAlpha:d}=i;return Tye({a:r,b:s,transposeA:l,transposeB:u,backend:n,bias:o,preluActivationWeights:a,leakyreluAlpha:d,activation:c})}},Eye="return abs(x);";const wye={kernelName:p3.Abs,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i}=t;if(n.shouldExecuteOnCPU([i])&&"complex64"!==i.dtype){const e=n.texData.get(i.dataId),t=Jge(e.values);return n.makeTensorInfo(i.shape,i.dtype,t)}let r;return r=(0,p3.env)().getBool("WEBGL_PACK_UNARY_OPERATIONS")?new O_e(i.shape,Eye):new E_e(i.shape,Eye),n.runWebGLProgram(r,[i],i.dtype)}},Iye=J_e({opSnippet:w_e+"\n if (abs(x) > 1.) {\n return NAN;\n }\n return acos(x);\n"}),Aye={kernelName:p3.Acos,backendName:"webgl",kernelFunc:Iye},Sye=J_e({opSnippet:w_e+"\n if (x < 1.0) return NAN;\nreturn log(x + sqrt(x * x - 1.0));"}),Cye={kernelName:p3.Acosh,backendName:"webgl",kernelFunc:Sye},Oye="return a + b;",Mye=eye({opSnippet:Oye,packedOpSnippet:Oye,supportsComplex:!0,cpuKernelImpl:bge}),kye={kernelName:p3.Add,backendName:"webgl",kernelFunc:Mye}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s,bias:o,preluActivationWeights:a}=t,{transposeA:l,transposeB:u,activation:c,leakyreluAlpha:d}=i;return Sye({a:r,b:s,transposeA:l,transposeB:u,backend:n,bias:o,preluActivationWeights:a,leakyreluAlpha:d,activation:c})}},Oye="return abs(x);";const Mye={kernelName:v3.Abs,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i}=t;if(n.shouldExecuteOnCPU([i])&&"complex64"!==i.dtype){const e=n.texData.get(i.dataId),t=s_e(e.values);return n.makeTensorInfo(i.shape,i.dtype,t)}let r;return r=(0,v3.env)().getBool("WEBGL_PACK_UNARY_OPERATIONS")?new F_e(i.shape,Oye):new O_e(i.shape,Oye),n.runWebGLProgram(r,[i],i.dtype)}},kye=sye({opSnippet:M_e+"\n if (abs(x) > 1.) {\n return NAN;\n }\n return acos(x);\n"}),Rye={kernelName:v3.Acos,backendName:"webgl",kernelFunc:kye},Nye=sye({opSnippet:M_e+"\n if (x < 1.0) return NAN;\nreturn log(x + sqrt(x * x - 1.0));"}),Dye={kernelName:v3.Acosh,backendName:"webgl",kernelFunc:Nye},Fye="return a + b;",Lye=oye({opSnippet:Fye,packedOpSnippet:Fye,supportsComplex:!0,cpuKernelImpl:Age}),Pye={kernelName:v3.Add,backendName:"webgl",kernelFunc:Lye}; /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -15577,7 +15577,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s,bias:o,preluActivationW * limitations under the License. * ============================================================================= */ -class Rye{constructor(e,t){this.outputShape=[],this.outputShape=e,this.variableNames=t.map((e,t)=>`T${t}`);const n=[];this.variableNames.forEach(e=>{n.push(`float v${e} = get${e}AtOutCoords();`)});const i=this.variableNames.map(e=>`v${e}`).join(" + ");this.userCode=`\n void main() {\n ${n.join("\n ")}\n\n float result = ${i};\n setOutput(result);\n }\n `}} +class Bye{constructor(e,t){this.outputShape=[],this.outputShape=e,this.variableNames=t.map((e,t)=>`T${t}`);const n=[];this.variableNames.forEach(e=>{n.push(`float v${e} = get${e}AtOutCoords();`)});const i=this.variableNames.map(e=>`v${e}`).join(" + ");this.userCode=`\n void main() {\n ${n.join("\n ")}\n\n float result = ${i};\n setOutput(result);\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -15594,7 +15594,7 @@ class Rye{constructor(e,t){this.outputShape=[],this.outputShape=e,this.variableN * limitations under the License. * ============================================================================= */ -class Nye{constructor(e,t){this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.variableNames=t.map((e,t)=>`T${t}`);const n=[];this.variableNames.forEach(e=>{n.push(`vec4 v${e} = get${e}AtOutCoords();`)});const i=this.variableNames.map(e=>`v${e}`).join(" + ");this.userCode=`\n void main() {\n ${n.join("\n ")}\n\n vec4 result = ${i};\n setOutput(result);\n }\n `}}const Dye={kernelName:p3.AddN,backendName:"webgl",kernelFunc: +class $ye{constructor(e,t){this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.variableNames=t.map((e,t)=>`T${t}`);const n=[];this.variableNames.forEach(e=>{n.push(`vec4 v${e} = get${e}AtOutCoords();`)});const i=this.variableNames.map(e=>`v${e}`).join(" + ");this.userCode=`\n void main() {\n ${n.join("\n ")}\n\n vec4 result = ${i};\n setOutput(result);\n }\n `}}const Uye={kernelName:v3.AddN,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15611,7 +15611,7 @@ class Nye{constructor(e,t){this.outputShape=[],this.packedInputs=!0,this.packedO * limitations under the License. * ============================================================================= */ -function e(t){const{inputs:n,backend:i}=t,r=n;if(1===r.length)return z_e({inputs:{x:r[0]},backend:i});if(r.length>(0,p3.env)().getNumber("WEBGL_MAX_TEXTURES_IN_SHADER")){const t=Math.floor(r.length/2),n=e({inputs:r.slice(0,t),backend:i}),s=e({inputs:r.slice(t),backend:i});return e({inputs:[n,s],backend:i})}const s=r.map(e=>e.dtype).reduce((e,t)=>(0,p3.upcastType)(e,t)),o=r.map(e=>e.shape),a=(0,p3.env)().getBool("WEBGL_PACK")?new Nye(r[0].shape,o):new Rye(r[0].shape,o);return i.runWebGLProgram(a,r,s)}};const Fye={kernelName:p3.All,backendName:"webgl",kernelFunc: +function e(t){const{inputs:n,backend:i}=t,r=n;if(1===r.length)return X_e({inputs:{x:r[0]},backend:i});if(r.length>(0,v3.env)().getNumber("WEBGL_MAX_TEXTURES_IN_SHADER")){const t=Math.floor(r.length/2),n=e({inputs:r.slice(0,t),backend:i}),s=e({inputs:r.slice(t),backend:i});return e({inputs:[n,s],backend:i})}const s=r.map(e=>e.dtype).reduce((e,t)=>(0,v3.upcastType)(e,t)),o=r.map(e=>e.shape),a=(0,v3.env)().getBool("WEBGL_PACK")?new $ye(r[0].shape,o):new Bye(r[0].shape,o);return i.runWebGLProgram(a,r,s)}};const Vye={kernelName:v3.All,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15628,7 +15628,7 @@ function e(t){const{inputs:n,backend:i}=t,r=n;if(1===r.length)return z_e({inputs * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a=r.shape.length,l=p3.util.parseAxisParam(s,r.shape);let u=l;const c=p3.backend_util.getAxesPermutation(u,a);let d=r;null!=c&&(d=vye({inputs:{x:r},backend:n,attrs:{perm:c}}),u=p3.backend_util.getInnerMostAxes(u.length,a)),p3.backend_util.assertAxesAreInnerMostDims("all",u,a);const[h,p]=p3.backend_util.computeOutAndReduceShapes(d.shape,u),f=uye({inputs:{x:d},backend:n,attrs:{shape:[-1,p3.util.sizeFromShape(p)]}}),m=pye(f,f.dtype,"all",n);let g;if(o){g=uye({inputs:{x:m},backend:n,attrs:{shape:p3.backend_util.expandShapeToKeepDim(h,l)}})}else g=uye({inputs:{x:m},backend:n,attrs:{shape:h}});return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),null!=c&&n.disposeIntermediateTensorInfo(d),g}};const Lye={kernelName:p3.Any,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a=r.shape.length,l=v3.util.parseAxisParam(s,r.shape);let u=l;const c=v3.backend_util.getAxesPermutation(u,a);let d=r;null!=c&&(d=Iye({inputs:{x:r},backend:n,attrs:{perm:c}}),u=v3.backend_util.getInnerMostAxes(u.length,a)),v3.backend_util.assertAxesAreInnerMostDims("all",u,a);const[h,p]=v3.backend_util.computeOutAndReduceShapes(d.shape,u),f=mye({inputs:{x:d},backend:n,attrs:{shape:[-1,v3.util.sizeFromShape(p)]}}),m=vye(f,f.dtype,"all",n);let g;if(o){g=mye({inputs:{x:m},backend:n,attrs:{shape:v3.backend_util.expandShapeToKeepDim(h,l)}})}else g=mye({inputs:{x:m},backend:n,attrs:{shape:h}});return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),null!=c&&n.disposeIntermediateTensorInfo(d),g}};const zye={kernelName:v3.Any,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15645,7 +15645,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a= * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a=r.shape.length,l=p3.util.parseAxisParam(s,r.shape);let u=l;const c=p3.backend_util.getAxesPermutation(u,a);let d=r;null!=c&&(d=vye({inputs:{x:r},backend:n,attrs:{perm:c}}),u=p3.backend_util.getInnerMostAxes(u.length,a)),p3.backend_util.assertAxesAreInnerMostDims("any",u,a);const[h,p]=p3.backend_util.computeOutAndReduceShapes(d.shape,u),f=uye({inputs:{x:d},backend:n,attrs:{shape:[-1,p3.util.sizeFromShape(p)]}}),m=pye(f,f.dtype,"any",n);let g;if(o){g=uye({inputs:{x:m},backend:n,attrs:{shape:p3.backend_util.expandShapeToKeepDim(h,l)}})}else g=uye({inputs:{x:m},backend:n,attrs:{shape:h}});return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),null!=c&&n.disposeIntermediateTensorInfo(d),g}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a=r.shape.length,l=v3.util.parseAxisParam(s,r.shape);let u=l;const c=v3.backend_util.getAxesPermutation(u,a);let d=r;null!=c&&(d=Iye({inputs:{x:r},backend:n,attrs:{perm:c}}),u=v3.backend_util.getInnerMostAxes(u.length,a)),v3.backend_util.assertAxesAreInnerMostDims("any",u,a);const[h,p]=v3.backend_util.computeOutAndReduceShapes(d.shape,u),f=mye({inputs:{x:d},backend:n,attrs:{shape:[-1,v3.util.sizeFromShape(p)]}}),m=vye(f,f.dtype,"any",n);let g;if(o){g=mye({inputs:{x:m},backend:n,attrs:{shape:v3.backend_util.expandShapeToKeepDim(h,l)}})}else g=mye({inputs:{x:m},backend:n,attrs:{shape:h}});return n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),null!=c&&n.disposeIntermediateTensorInfo(d),g}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15662,7 +15662,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a= * limitations under the License. * ============================================================================= */ -class Pye{constructor(e,t,n){this.variableNames=["A"];const{windowSize:i,batchSize:r,outSize:s}=e;n||this.variableNames.push("bestIndicesA"),this.outputShape=[r,s];const o="max"===t?">":"<",a=n?"inOffset + i;":"round(getBestIndicesA(batch, inOffset + i));";this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${i};\n\n int bestIndex = inOffset;\n float bestValue = getA(batch, bestIndex);\n\n for (int i = 0; i < ${i}; i++) {\n int inIdx = ${a};\n float candidate = getA(batch, inIdx);\n if (candidate ${o} bestValue) {\n bestValue = candidate;\n bestIndex = inIdx;\n }\n }\n setOutput(float(bestIndex));\n }\n `}} +class jye{constructor(e,t,n){this.variableNames=["A"];const{windowSize:i,batchSize:r,outSize:s}=e;n||this.variableNames.push("bestIndicesA"),this.outputShape=[r,s];const o="max"===t?">":"<",a=n?"inOffset + i;":"round(getBestIndicesA(batch, inOffset + i));";this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = outIdx * ${i};\n\n int bestIndex = inOffset;\n float bestValue = getA(batch, bestIndex);\n\n for (int i = 0; i < ${i}; i++) {\n int inIdx = ${a};\n float candidate = getA(batch, inIdx);\n if (candidate ${o} bestValue) {\n bestValue = candidate;\n bestIndex = inIdx;\n }\n }\n setOutput(float(bestIndex));\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -15679,7 +15679,7 @@ class Pye{constructor(e,t,n){this.variableNames=["A"];const{windowSize:i,batchSi * limitations under the License. * ============================================================================= */ -class Bye{constructor(e,t,n,i){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,p3.util.assert(e.length>2,()=>`Packed arg${n.charAt(0).toUpperCase()+n.slice(1)} supports only inputs with rank above 2.`);const r=e[e.length-1],s=Math.ceil(r/t);this.outputShape=e.slice(0,-1),s>1&&this.outputShape.push(s),i||this.variableNames.push("bestIndicesA");const o=this.outputShape,a=o.length,l=Pme(a),u=g_e("coords",a);let c,d;if(1===s){d=a+1;const e=Pme(d);c=`\n ${e} sourceLocR = ${e}(${u.join()}, 0);\n ++${u[a-1]};\n ${e} sourceLocG = ${e}(${u.join()}, 0);\n ++${u[a-2]};\n ${e} sourceLocA = ${e}(${u.join()}, 0);\n --${u[a-1]};\n ${e} sourceLocB = ${e}(${u.join()}, 0);\n --${u[a-2]};`}else d=a,c=`\n ${l} sourceLocR = coords;\n ++${u[a-1]};\n ${l} sourceLocG = coords;\n ++${u[a-2]};\n ${l} sourceLocA = coords;\n --${u[a-1]};\n ${l} sourceLocB = coords;\n --${u[a-2]};`;const h=["x","y","z","w","u","v"].slice(0,d),p="."+h[d-1],f=h.map(e=>"int "+e),m=g_e("sourceLocR",d-1).concat("inIdx.r"),g=g_e("sourceLocG",d-1).concat("inIdx.g"),_=g_e("sourceLocB",d-1).concat("inIdx.b"),y=g_e("sourceLocA",d-1).concat("inIdx.a"),v="max"===n?"greaterThan":"lessThan",b=i?"":`\n inIdx = round(vec4(getBestIndicesAChannel(${m.join()}),\n getBestIndicesAChannel(${g.join()}),\n getBestIndicesAChannel(${_.join()}),\n getBestIndicesAChannel(${y.join()})));`,T=`vec4(\n getAChannel(${m.join()}),\n hasNextCol ? getAChannel(${g.join()}) : 0.,\n hasNextRow ? getAChannel(${_.join()}) : 0.,\n hasNextRow && hasNextCol ? getAChannel(${y.join()}) : 0.)`,x=i?"":`\n float getBestIndicesAChannel(${f.join()}) {\n return getChannel(getBestIndicesA(${h.join()}),\n vec2(${h.slice(-2).join()}));\n }`;this.userCode=`\n float getAChannel(${f.join()}) {\n return getChannel(getA(${h.join()}),\n vec2(${h.slice(-2).join()}));\n }\n ${x}\n void main() {\n ${l} coords = getOutputCoords();\n bool hasNextCol = ${u[a-1]} < ${o[a-1]-1};\n bool hasNextRow = ${u[a-2]} < ${o[a-2]-1};\n ${c}\n ivec4 srcIdx = ivec4(sourceLocR${p}, sourceLocG${p},\n sourceLocB${p}, sourceLocA${p}) * ${t};\n ivec4 inIdx = srcIdx;\n vec4 bestIndex = vec4(inIdx);\n vec4 bestValue = ${T};\n\n for (int i = 0; i < ${t}; i++) {\n inIdx = srcIdx;\n ${b}\n vec4 candidate = ${T};\n bvec4 nan = isnan(candidate);\n bvec4 replace = bvec4(\n vec4(${v}(candidate, bestValue)) * (vec4(1.0) - vec4(nan)));\n\n bestValue = vec4(replace.x ? candidate.x : bestValue.x,\n replace.y ? candidate.y : bestValue.y,\n replace.z ? candidate.z : bestValue.z,\n replace.w ? candidate.w : bestValue.w);\n bestIndex = mix(bestIndex, vec4(inIdx), vec4(replace));\n srcIdx++;\n }\n setOutput(bestIndex);\n }\n `}} +class Yye{constructor(e,t,n,i){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,v3.util.assert(e.length>2,()=>`Packed arg${n.charAt(0).toUpperCase()+n.slice(1)} supports only inputs with rank above 2.`);const r=e[e.length-1],s=Math.ceil(r/t);this.outputShape=e.slice(0,-1),s>1&&this.outputShape.push(s),i||this.variableNames.push("bestIndicesA");const o=this.outputShape,a=o.length,l=jme(a),u=x_e("coords",a);let c,d;if(1===s){d=a+1;const e=jme(d);c=`\n ${e} sourceLocR = ${e}(${u.join()}, 0);\n ++${u[a-1]};\n ${e} sourceLocG = ${e}(${u.join()}, 0);\n ++${u[a-2]};\n ${e} sourceLocA = ${e}(${u.join()}, 0);\n --${u[a-1]};\n ${e} sourceLocB = ${e}(${u.join()}, 0);\n --${u[a-2]};`}else d=a,c=`\n ${l} sourceLocR = coords;\n ++${u[a-1]};\n ${l} sourceLocG = coords;\n ++${u[a-2]};\n ${l} sourceLocA = coords;\n --${u[a-1]};\n ${l} sourceLocB = coords;\n --${u[a-2]};`;const h=["x","y","z","w","u","v"].slice(0,d),p="."+h[d-1],f=h.map(e=>"int "+e),m=x_e("sourceLocR",d-1).concat("inIdx.r"),g=x_e("sourceLocG",d-1).concat("inIdx.g"),_=x_e("sourceLocB",d-1).concat("inIdx.b"),y=x_e("sourceLocA",d-1).concat("inIdx.a"),v="max"===n?"greaterThan":"lessThan",b=i?"":`\n inIdx = round(vec4(getBestIndicesAChannel(${m.join()}),\n getBestIndicesAChannel(${g.join()}),\n getBestIndicesAChannel(${_.join()}),\n getBestIndicesAChannel(${y.join()})));`,T=`vec4(\n getAChannel(${m.join()}),\n hasNextCol ? getAChannel(${g.join()}) : 0.,\n hasNextRow ? getAChannel(${_.join()}) : 0.,\n hasNextRow && hasNextCol ? getAChannel(${y.join()}) : 0.)`,x=i?"":`\n float getBestIndicesAChannel(${f.join()}) {\n return getChannel(getBestIndicesA(${h.join()}),\n vec2(${h.slice(-2).join()}));\n }`;this.userCode=`\n float getAChannel(${f.join()}) {\n return getChannel(getA(${h.join()}),\n vec2(${h.slice(-2).join()}));\n }\n ${x}\n void main() {\n ${l} coords = getOutputCoords();\n bool hasNextCol = ${u[a-1]} < ${o[a-1]-1};\n bool hasNextRow = ${u[a-2]} < ${o[a-2]-1};\n ${c}\n ivec4 srcIdx = ivec4(sourceLocR${p}, sourceLocG${p},\n sourceLocB${p}, sourceLocA${p}) * ${t};\n ivec4 inIdx = srcIdx;\n vec4 bestIndex = vec4(inIdx);\n vec4 bestValue = ${T};\n\n for (int i = 0; i < ${t}; i++) {\n inIdx = srcIdx;\n ${b}\n vec4 candidate = ${T};\n bvec4 nan = isnan(candidate);\n bvec4 replace = bvec4(\n vec4(${v}(candidate, bestValue)) * (vec4(1.0) - vec4(nan)));\n\n bestValue = vec4(replace.x ? candidate.x : bestValue.x,\n replace.y ? candidate.y : bestValue.y,\n replace.z ? candidate.z : bestValue.z,\n replace.w ? candidate.w : bestValue.w);\n bestIndex = mix(bestIndex, vec4(inIdx), vec4(replace));\n srcIdx++;\n }\n setOutput(bestIndex);\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15696,7 +15696,7 @@ class Bye{constructor(e,t,n,i){this.variableNames=["A"],this.packedInputs=!0,thi * limitations under the License. * ============================================================================= */ -function $ye(e,t,n,i=null){let r=t.shape[0],s=t.shape[1];null!=i&&(r=i.shape[0],s=i.shape[1]);const o=p3.backend_util.computeOptimalWindowSize(s),a={windowSize:o,inSize:s,batchSize:r,outSize:Math.ceil(s/o)},l=new Pye(a,n,null==i),u=[t];null!=i&&u.push(i);const c=e.runWebGLProgram(l,u,"int32");if(1===c.shape[1])return c;const d=$ye(e,t,n,c);return e.disposeIntermediateTensorInfo(c),d}function Uye(e,t,n,i=null){const r=null!=i?i.shape:t.shape,s=r[r.length-1],o=p3.backend_util.computeOptimalWindowSize(s),a=new Bye(r,o,n,null==i),l=null==i?[t]:[t,i],u=e.runWebGLProgram(a,l,"int32");if(u.shape.length===t.shape.length){const i=Uye(e,t,n,u);return e.disposeIntermediateTensorInfo(u),i}return u}function Vye(e,t,n,i){const r=[n];if(p3.backend_util.assertAxesAreInnerMostDims("arg"+i.charAt(0).toUpperCase()+i.slice(1),r,t.shape.length),!(0,p3.env)().getBool("WEBGL_PACK_REDUCE")||t.shape.length<=2){const n=[],s=e.texData.get(t.dataId);let o=t;null!==s&&s.isPacked&&(o=e.unpackTensor(t),n.push(o));const[a,l]=p3.backend_util.computeOutAndReduceShapes(o.shape,r),u=p3.util.sizeFromShape(l),c=uye({inputs:{x:o},backend:e,attrs:{shape:[-1,u]}});n.push(c);const d=$ye(e,c,i);n.push(d);const h=uye({inputs:{x:d},backend:e,attrs:{shape:a}});return n.forEach(t=>e.disposeIntermediateTensorInfo(t)),h}return Uye(e,t,i)}const zye={kernelName:p3.ArgMax,backendName:"webgl",kernelFunc: +function Gye(e,t,n,i=null){let r=t.shape[0],s=t.shape[1];null!=i&&(r=i.shape[0],s=i.shape[1]);const o=v3.backend_util.computeOptimalWindowSize(s),a={windowSize:o,inSize:s,batchSize:r,outSize:Math.ceil(s/o)},l=new jye(a,n,null==i),u=[t];null!=i&&u.push(i);const c=e.runWebGLProgram(l,u,"int32");if(1===c.shape[1])return c;const d=Gye(e,t,n,c);return e.disposeIntermediateTensorInfo(c),d}function Hye(e,t,n,i=null){const r=null!=i?i.shape:t.shape,s=r[r.length-1],o=v3.backend_util.computeOptimalWindowSize(s),a=new Yye(r,o,n,null==i),l=null==i?[t]:[t,i],u=e.runWebGLProgram(a,l,"int32");if(u.shape.length===t.shape.length){const i=Hye(e,t,n,u);return e.disposeIntermediateTensorInfo(u),i}return u}function Wye(e,t,n,i){const r=[n];if(v3.backend_util.assertAxesAreInnerMostDims("arg"+i.charAt(0).toUpperCase()+i.slice(1),r,t.shape.length),!(0,v3.env)().getBool("WEBGL_PACK_REDUCE")||t.shape.length<=2){const n=[],s=e.texData.get(t.dataId);let o=t;null!==s&&s.isPacked&&(o=e.unpackTensor(t),n.push(o));const[a,l]=v3.backend_util.computeOutAndReduceShapes(o.shape,r),u=v3.util.sizeFromShape(l),c=mye({inputs:{x:o},backend:e,attrs:{shape:[-1,u]}});n.push(c);const d=Gye(e,c,i);n.push(d);const h=mye({inputs:{x:d},backend:e,attrs:{shape:a}});return n.forEach(t=>e.disposeIntermediateTensorInfo(t)),h}return Hye(e,t,i)}const Xye={kernelName:v3.ArgMax,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15713,7 +15713,7 @@ function $ye(e,t,n,i=null){let r=t.shape[0],s=t.shape[1];null!=i&&(r=i.shape[0], * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;let o=p3.util.parseAxisParam(s,r.shape);const a=p3.backend_util.getAxesPermutation(o,r.shape.length);let l=r;const u=[];null!=a&&(l=vye({inputs:{x:r},backend:n,attrs:{perm:a}}),u.push(l),o=p3.backend_util.getInnerMostAxes(o.length,l.shape.length)),p3.backend_util.assertAxesAreInnerMostDims("argMax",[o[0]],l.shape.length);const c=Vye(n,l,o[0],"max");return u.forEach(e=>n.disposeIntermediateTensorInfo(e)),c}};const jye={kernelName:p3.ArgMin,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;let o=v3.util.parseAxisParam(s,r.shape);const a=v3.backend_util.getAxesPermutation(o,r.shape.length);let l=r;const u=[];null!=a&&(l=Iye({inputs:{x:r},backend:n,attrs:{perm:a}}),u.push(l),o=v3.backend_util.getInnerMostAxes(o.length,l.shape.length)),v3.backend_util.assertAxesAreInnerMostDims("argMax",[o[0]],l.shape.length);const c=Wye(n,l,o[0],"max");return u.forEach(e=>n.disposeIntermediateTensorInfo(e)),c}};const qye={kernelName:v3.ArgMin,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15730,7 +15730,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;let o=p3.util * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;let o=p3.util.parseAxisParam(s,r.shape);const a=p3.backend_util.getAxesPermutation(o,r.shape.length);let l=r;const u=[];null!=a&&(l=vye({inputs:{x:r},backend:n,attrs:{perm:a}}),u.push(l),o=p3.backend_util.getInnerMostAxes(o.length,l.shape.length)),p3.backend_util.assertAxesAreInnerMostDims("argMin",[o[0]],l.shape.length);const c=Vye(n,l,o[0],"min");return u.forEach(e=>n.disposeIntermediateTensorInfo(e)),c}},Yye=J_e({opSnippet:w_e+"\n if (abs(x) > 1.) {\n return NAN;\n }\n return asin(x);\n"}),Gye={kernelName:p3.Asin,backendName:"webgl",kernelFunc:Yye},Hye=J_e({opSnippet:w_e+"return log(x + sqrt(x * x + 1.0));"}),Wye={kernelName:p3.Asinh,backendName:"webgl",kernelFunc:Hye},Xye=J_e({opSnippet:w_e+"\n return atan(x);\n"}),qye={kernelName:p3.Atan,backendName:"webgl",kernelFunc:Xye},Kye=eye({opSnippet:B_e+"\n return atan(a, b);\n",packedOpSnippet:"\n vec4 result = atan(a, b);\n bvec4 isNaNA = isnan(a);\n bvec4 isNaNB = isnan(b);\n bvec4 isNaN = bvec4(isNaNA.x || isNaNB.x, isNaNA.y || isNaNB.y, isNaNA.z || isNaNB.z, isNaNA.w || isNaNB.w);\n "+U_e+"\n return result;\n"}),Zye={kernelName:p3.Atan2,backendName:"webgl",kernelFunc:Kye},Qye=J_e({opSnippet:w_e+"\n if ((x < -1.0) || (x > 1.0)) return NAN;\nreturn (log(1.0 + x) - log(1.0 - x)) / 2.0;"}),Jye={kernelName:p3.Atanh,backendName:"webgl",kernelFunc:Qye}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;let o=v3.util.parseAxisParam(s,r.shape);const a=v3.backend_util.getAxesPermutation(o,r.shape.length);let l=r;const u=[];null!=a&&(l=Iye({inputs:{x:r},backend:n,attrs:{perm:a}}),u.push(l),o=v3.backend_util.getInnerMostAxes(o.length,l.shape.length)),v3.backend_util.assertAxesAreInnerMostDims("argMin",[o[0]],l.shape.length);const c=Wye(n,l,o[0],"min");return u.forEach(e=>n.disposeIntermediateTensorInfo(e)),c}},Kye=sye({opSnippet:M_e+"\n if (abs(x) > 1.) {\n return NAN;\n }\n return asin(x);\n"}),Zye={kernelName:v3.Asin,backendName:"webgl",kernelFunc:Kye},Qye=sye({opSnippet:M_e+"return log(x + sqrt(x * x + 1.0));"}),Jye={kernelName:v3.Asinh,backendName:"webgl",kernelFunc:Qye},eve=sye({opSnippet:M_e+"\n return atan(x);\n"}),tve={kernelName:v3.Atan,backendName:"webgl",kernelFunc:eve},nve=oye({opSnippet:Y_e+"\n return atan(a, b);\n",packedOpSnippet:"\n vec4 result = atan(a, b);\n bvec4 isNaNA = isnan(a);\n bvec4 isNaNB = isnan(b);\n bvec4 isNaN = bvec4(isNaNA.x || isNaNB.x, isNaNA.y || isNaNB.y, isNaNA.z || isNaNB.z, isNaNA.w || isNaNB.w);\n "+H_e+"\n return result;\n"}),ive={kernelName:v3.Atan2,backendName:"webgl",kernelFunc:nve},rve=sye({opSnippet:M_e+"\n if ((x < -1.0) || (x > 1.0)) return NAN;\nreturn (log(1.0 + x) - log(1.0 - x)) / 2.0;"}),sve={kernelName:v3.Atanh,backendName:"webgl",kernelFunc:rve}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15747,7 +15747,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s}=i;let o=p3.util * limitations under the License. * ============================================================================= */ -class eve{constructor(e,t,n,i=!1,r=!1){if(this.variableNames=["x"],"avg"===t&&n)throw new Error("Cannot compute positions for average pool.");const s=e.filterWidth,o=e.strideHeight,a=e.strideWidth,l=e.dilationHeight,u=e.dilationWidth,c=e.effectiveFilterHeight,d=e.effectiveFilterWidth,h=e.padInfo.top,p=e.padInfo.left;this.outputShape=e.outShape;const f="avg"===t,m=`((batch * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + d`,g=`(xR * ${e.inWidth} + xC) * ${e.inChannels} + d`;let _="0.0";if(f||(_="-1.0 / 1e-20"),n){const t=">=";return void(this.userCode=`\n const ivec2 strides = ivec2(${o}, ${a});\n const ivec2 pads = ivec2(${h}, ${p});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n float avgValue = 0.0;\n\n for (int wR = 0; wR < ${c};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${d};\n wC += ${u}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xR, xC, d);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${t} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${i?r?m:g:`wR * ${d} + wC`};\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `)}let y=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"avg"===t&&(y="avgValue / max(count, 1.0)");const v=4*Math.floor(s/4),b=s%4,T=`\n if (${f}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = max(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec2 strides = ivec2(${o}, ${a});\n const ivec2 pads = ivec2(${h}, ${p});\n const float initializationValue = ${_};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xR, int xC, int d) {\n if (xC < 0 || xC >= ${e.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xR, xC, d);\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n vec4 minMaxValue = vec4(${_});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wR = 0; wR < ${c};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${v}; wC += 4) {\n int xC = xCCorner + wC * ${u};\n\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n getValue(batch, xR, xC + 2 * ${u}, d),\n getValue(batch, xR, xC + 3 * ${u}, d)\n );\n\n ${T}\n }\n\n int xC = xCCorner + ${v};\n if (${1===b}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${T}\n } else if (${2===b}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n initializationValue,\n initializationValue\n );\n\n ${T}\n } else if (${3===b}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n getValue(batch, xR, xC + 2 * ${u}, d),\n initializationValue\n );\n\n ${T}\n }\n }\n setOutput(${y});\n }\n `}}class tve{constructor(e,t,n,i=!1,r=!1){if(this.variableNames=["x"],"avg"===t&&n)throw new Error("Cannot compute positions for average pool.");const s=e.filterWidth,o=e.strideDepth,a=e.strideHeight,l=e.strideWidth,u=e.dilationDepth,c=e.dilationHeight,d=e.dilationWidth,h=e.effectiveFilterDepth,p=e.effectiveFilterHeight,f=e.effectiveFilterWidth,m=e.padInfo.front,g=e.padInfo.top,_=e.padInfo.left;this.outputShape=e.outShape;const y="avg"===t;let v="0.0";if(y||(v="-1.0 / 1e-20"),n){const t=">=";return void(this.userCode=`\n const ivec3 strides =\n ivec3(${o}, ${a}, ${l});\n const ivec3 pads = ivec3(${m}, ${g}, ${_});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, ch) to get y(yD, yR, yC, ch).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n\n for (int wD = 0; wD < ${h};\n wD += ${u}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${p};\n wR += ${c}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${f};\n wC += ${d}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xD, xR, xC, ch);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${t} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${i?r?`(((batch * ${e.inDepth} + xD) * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`((xD * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`wD * ${p} * ${f} +\n wR * ${f} + wC`};\n }\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `)}let b=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"avg"===t&&(b="avgValue / max(count, 1.0)");const T=4*Math.floor(s/4),x=s%4,E=`\n if (${y}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = max(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec3 strides =\n ivec3(${o}, ${a}, ${l});\n const ivec3 pads = ivec3(${m}, ${g}, ${_});\n const float initializationValue = ${v};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xD, int xR, int xC, int ch) {\n if (xC < 0 || xC >= ${e.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xD, xR, xC, ch);\n }\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, d) to get y(yD, yR, yC, ch).\n // ? = to be determined\n vec4 minMaxValue = vec4(${v});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wD = 0; wD < ${h};\n wD += ${u}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${p};\n wR += ${c}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${T}; wC += 4) {\n int xC = xCCorner + wC * ${d};\n\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${d}, ch),\n getValue(batch, xD, xR, xC + 2 * ${d}, ch),\n getValue(batch, xD, xR, xC + 3 * ${d}, ch)\n );\n\n ${E}\n }\n\n int xC = xCCorner + ${T};\n if (${1===x}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${E}\n } else if (${2===x}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${d}, ch),\n initializationValue,\n initializationValue\n );\n\n ${E}\n } else if (${3===x}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${d}, ch),\n getValue(batch, xD, xR, xC + 2 * ${d}, ch),\n initializationValue\n );\n\n ${E}\n }\n }\n }\n setOutput(${b});\n }\n `}}const nve={kernelName:p3.AvgPool,backendName:"webgl",kernelFunc: +class ove{constructor(e,t,n,i=!1,r=!1){if(this.variableNames=["x"],"avg"===t&&n)throw new Error("Cannot compute positions for average pool.");const s=e.filterWidth,o=e.strideHeight,a=e.strideWidth,l=e.dilationHeight,u=e.dilationWidth,c=e.effectiveFilterHeight,d=e.effectiveFilterWidth,h=e.padInfo.top,p=e.padInfo.left;this.outputShape=e.outShape;const f="avg"===t,m=`((batch * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + d`,g=`(xR * ${e.inWidth} + xC) * ${e.inChannels} + d`;let _="0.0";if(f||(_="-1.0 / 1e-20"),n){const t=">=";return void(this.userCode=`\n const ivec2 strides = ivec2(${o}, ${a});\n const ivec2 pads = ivec2(${h}, ${p});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n float avgValue = 0.0;\n\n for (int wR = 0; wR < ${c};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${d};\n wC += ${u}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xR, xC, d);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${t} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${i?r?m:g:`wR * ${d} + wC`};\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `)}let y=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"avg"===t&&(y="avgValue / max(count, 1.0)");const v=4*Math.floor(s/4),b=s%4,T=`\n if (${f}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = max(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec2 strides = ivec2(${o}, ${a});\n const ivec2 pads = ivec2(${h}, ${p});\n const float initializationValue = ${_};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xR, int xC, int d) {\n if (xC < 0 || xC >= ${e.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xR, xC, d);\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d = coords[3];\n\n ivec2 xRCCorner = coords.yz * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // max/min x(?, ?, d) to get y(yR, yC, d).\n // ? = to be determined\n vec4 minMaxValue = vec4(${_});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wR = 0; wR < ${c};\n wR += ${l}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${v}; wC += 4) {\n int xC = xCCorner + wC * ${u};\n\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n getValue(batch, xR, xC + 2 * ${u}, d),\n getValue(batch, xR, xC + 3 * ${u}, d)\n );\n\n ${T}\n }\n\n int xC = xCCorner + ${v};\n if (${1===b}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${T}\n } else if (${2===b}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n initializationValue,\n initializationValue\n );\n\n ${T}\n } else if (${3===b}) {\n vec4 values = vec4(\n getValue(batch, xR, xC, d),\n getValue(batch, xR, xC + ${u}, d),\n getValue(batch, xR, xC + 2 * ${u}, d),\n initializationValue\n );\n\n ${T}\n }\n }\n setOutput(${y});\n }\n `}}class ave{constructor(e,t,n,i=!1,r=!1){if(this.variableNames=["x"],"avg"===t&&n)throw new Error("Cannot compute positions for average pool.");const s=e.filterWidth,o=e.strideDepth,a=e.strideHeight,l=e.strideWidth,u=e.dilationDepth,c=e.dilationHeight,d=e.dilationWidth,h=e.effectiveFilterDepth,p=e.effectiveFilterHeight,f=e.effectiveFilterWidth,m=e.padInfo.front,g=e.padInfo.top,_=e.padInfo.left;this.outputShape=e.outShape;const y="avg"===t;let v="0.0";if(y||(v="-1.0 / 1e-20"),n){const t=">=";return void(this.userCode=`\n const ivec3 strides =\n ivec3(${o}, ${a}, ${l});\n const ivec3 pads = ivec3(${m}, ${g}, ${_});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, ch) to get y(yD, yR, yC, ch).\n // ? = to be determined\n float minMaxValue = 0.0;\n float minMaxValueFound = 0.0;\n int minMaxPosition = 0;\n\n for (int wD = 0; wD < ${h};\n wD += ${u}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${p};\n wR += ${c}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${f};\n wC += ${d}) {\n int xC = xCCorner + wC;\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float value = getX(batch, xD, xR, xC, ch);\n\n // If a min / max value has already been found, use it. If not,\n // use the current value.\n float currMinMaxValue = mix(\n value, minMaxValue, minMaxValueFound);\n if (value ${t} currMinMaxValue) {\n minMaxValue = value;\n minMaxValueFound = 1.0;\n minMaxPosition = ${i?r?`(((batch * ${e.inDepth} + xD) * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`((xD * ${e.inHeight} + xR) * ${e.inWidth} + xC) * ${e.inChannels} + ch`:`wD * ${p} * ${f} +\n wR * ${f} + wC`};\n }\n }\n }\n }\n setOutput(float(minMaxPosition));\n }\n `)}let b=`${t}(${t}(${t}(minMaxValue[0], minMaxValue[1]), minMaxValue[2]), minMaxValue[3])`;"avg"===t&&(b="avgValue / max(count, 1.0)");const T=4*Math.floor(s/4),x=s%4,E=`\n if (${y}) {\n avgValue += dot(values, ones);\n } else {\n minMaxValue = max(values, minMaxValue);\n }\n `;this.userCode=`\n const ivec3 strides =\n ivec3(${o}, ${a}, ${l});\n const ivec3 pads = ivec3(${m}, ${g}, ${_});\n const float initializationValue = ${v};\n const vec4 ones = vec4(1.0, 1.0, 1.0, 1.0);\n\n float count = 0.0;\n\n float getValue(int batch, int xD, int xR, int xC, int ch) {\n if (xC < 0 || xC >= ${e.inWidth}) {\n return initializationValue;\n }\n count += 1.0;\n return getX(batch, xD, xR, xC, ch);\n }\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 xCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xDCorner = xCorner.x;\n int xRCorner = xCorner.y;\n int xCCorner = xCorner.z;\n\n // max/min x(?, ?, ?, d) to get y(yD, yR, yC, ch).\n // ? = to be determined\n vec4 minMaxValue = vec4(${v});\n float avgValue = 0.0;\n count = 0.0;\n\n for (int wD = 0; wD < ${h};\n wD += ${u}) {\n int xD = xDCorner + wD;\n\n if (xD < 0 || xD >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${p};\n wR += ${c}) {\n int xR = xRCorner + wR;\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${T}; wC += 4) {\n int xC = xCCorner + wC * ${d};\n\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${d}, ch),\n getValue(batch, xD, xR, xC + 2 * ${d}, ch),\n getValue(batch, xD, xR, xC + 3 * ${d}, ch)\n );\n\n ${E}\n }\n\n int xC = xCCorner + ${T};\n if (${1===x}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n ${E}\n } else if (${2===x}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${d}, ch),\n initializationValue,\n initializationValue\n );\n\n ${E}\n } else if (${3===x}) {\n vec4 values = vec4(\n getValue(batch, xD, xR, xC, ch),\n getValue(batch, xD, xR, xC + ${d}, ch),\n getValue(batch, xD, xR, xC + 2 * ${d}, ch),\n initializationValue\n );\n\n ${E}\n }\n }\n }\n setOutput(${b});\n }\n `}}const lve={kernelName:v3.AvgPool,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15764,7 +15764,7 @@ class eve{constructor(e,t,n,i=!1,r=!1){if(this.variableNames=["x"],"avg"===t&&n) * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;yme(r,"avgPool");const{filterSize:s,strides:o,pad:a,dimRoundingMode:l}=i;p3.util.assert(p3.backend_util.eitherStridesOrDilationsAreOne(o,1),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${o} and dilations '1'`);const u=p3.backend_util.computePool2DInfo(r.shape,s,o,1,a,l);if(1===u.filterWidth&&1===u.filterHeight&&p3.util.arraysEqual(u.inShape,u.outShape))return z_e({inputs:{x:r},backend:n});const c=new eve(u,"avg",!1);return n.runWebGLProgram(c,[r],"float32")}};const ive={kernelName:p3.AvgPool3D,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;wme(r,"avgPool");const{filterSize:s,strides:o,pad:a,dimRoundingMode:l}=i;v3.util.assert(v3.backend_util.eitherStridesOrDilationsAreOne(o,1),()=>`Error in avgPool: Either strides or dilations must be 1. Got strides ${o} and dilations '1'`);const u=v3.backend_util.computePool2DInfo(r.shape,s,o,1,a,l);if(1===u.filterWidth&&1===u.filterHeight&&v3.util.arraysEqual(u.inShape,u.outShape))return X_e({inputs:{x:r},backend:n});const c=new ove(u,"avg",!1);return n.runWebGLProgram(c,[r],"float32")}};const uve={kernelName:v3.AvgPool3D,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15781,7 +15781,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;yme(r,"avgPool");const{f * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o,pad:a,dimRoundingMode:l,dataFormat:u}=i,c=p3.backend_util.computePool3DInfo(r.shape,s,o,[1,1,1],a,l,u),d=new tve(c,"avg",!1);return n.runWebGLProgram(d,[r],"float32")}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o,pad:a,dimRoundingMode:l,dataFormat:u}=i,c=v3.backend_util.computePool3DInfo(r.shape,s,o,[1,1,1],a,l,u),d=new ave(c,"avg",!1);return n.runWebGLProgram(d,[r],"float32")}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15798,7 +15798,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o, * limitations under the License. * ============================================================================= */ -class rve{constructor(e){this.variableNames=["dy"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,i=e.strideHeight,r=e.strideWidth,s=e.dilationHeight,o=e.dilationWidth,a=e.effectiveFilterHeight,l=e.effectiveFilterWidth,u=a-1-e.padInfo.top,c=l-1-e.padInfo.left,d=1/(t*n);this.userCode=`\n const ivec2 pads = ivec2(${u}, ${c});\n const float avgMultiplier = float(${d});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${a};\n wR += ${s}) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${l};\n wC+= ${o}) {\n float dyC = float(dyCCorner + wC) / ${r}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n setOutput(dotProd);\n }\n `}}class sve{constructor(e){this.variableNames=["dy"],this.outputShape=e.inShape;const t=e.filterDepth,n=e.filterHeight,i=e.filterWidth,r=e.strideDepth,s=e.strideHeight,o=e.strideWidth,a=e.dilationDepth,l=e.dilationHeight,u=e.dilationWidth,c=e.effectiveFilterDepth,d=e.effectiveFilterHeight,h=e.effectiveFilterWidth,p=c-1-e.padInfo.front,f=d-1-e.padInfo.top,m=h-1-e.padInfo.left,g=1/(t*n*i);this.userCode=`\n const ivec3 pads = ivec3(${p}, ${f}, ${m});\n const float avgMultiplier = float(${g});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, d) with pos mask(:, :, :, ch) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${c};\n wD += ${a}) {\n float dyD = float(dyDCorner + wD) / ${r}.0;\n\n if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${d};\n wR += ${l}) {\n float dyR = float(dyRCorner + wR) / ${s}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${h};\n wC += ${u}) {\n float dyC = float(dyCCorner + wC) / ${o}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const ove={kernelName:p3.AvgPool3DGrad,backendName:"webgl",kernelFunc: +class cve{constructor(e){this.variableNames=["dy"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,i=e.strideHeight,r=e.strideWidth,s=e.dilationHeight,o=e.dilationWidth,a=e.effectiveFilterHeight,l=e.effectiveFilterWidth,u=a-1-e.padInfo.top,c=l-1-e.padInfo.left,d=1/(t*n);this.userCode=`\n const ivec2 pads = ivec2(${u}, ${c});\n const float avgMultiplier = float(${d});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${a};\n wR += ${s}) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${l};\n wC+= ${o}) {\n float dyC = float(dyCCorner + wC) / ${r}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n setOutput(dotProd);\n }\n `}}class dve{constructor(e){this.variableNames=["dy"],this.outputShape=e.inShape;const t=e.filterDepth,n=e.filterHeight,i=e.filterWidth,r=e.strideDepth,s=e.strideHeight,o=e.strideWidth,a=e.dilationDepth,l=e.dilationHeight,u=e.dilationWidth,c=e.effectiveFilterDepth,d=e.effectiveFilterHeight,h=e.effectiveFilterWidth,p=c-1-e.padInfo.front,f=d-1-e.padInfo.top,m=h-1-e.padInfo.left,g=1/(t*n*i);this.userCode=`\n const ivec3 pads = ivec3(${p}, ${f}, ${m});\n const float avgMultiplier = float(${g});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, d) with pos mask(:, :, :, ch) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${c};\n wD += ${a}) {\n float dyD = float(dyDCorner + wD) / ${r}.0;\n\n if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${d};\n wR += ${l}) {\n float dyR = float(dyRCorner + wR) / ${s}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${h};\n wC += ${u}) {\n float dyC = float(dyCCorner + wC) / ${o}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n\n dotProd += dyValue * avgMultiplier;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const hve={kernelName:v3.AvgPool3DGrad,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15815,7 +15815,7 @@ class rve{constructor(e){this.variableNames=["dy"],this.outputShape=e.inShape;co * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s,{filterSize:a,strides:l,pad:u,dimRoundingMode:c}=i,d=p3.backend_util.computePool3DInfo(o.shape,a,l,[1,1,1],u,c),h=new sve(d);return n.runWebGLProgram(h,[r],o.dtype)}};const ave={kernelName:p3.AvgPoolGrad,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s,{filterSize:a,strides:l,pad:u,dimRoundingMode:c}=i,d=v3.backend_util.computePool3DInfo(o.shape,a,l,[1,1,1],u,c),h=new dve(d);return n.runWebGLProgram(h,[r],o.dtype)}};const pve={kernelName:v3.AvgPoolGrad,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15832,7 +15832,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s,{filterSize * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s;yme([r,s],"avgPoolGrad");const{filterSize:a,strides:l,pad:u}=i,c=p3.backend_util.computePool2DInfo(o.shape,a,l,1,u),d=new rve(c);return n.runWebGLProgram(d,[r],o.dtype)}};const lve={kernelName:p3.BatchMatMul,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s;wme([r,s],"avgPoolGrad");const{filterSize:a,strides:l,pad:u}=i,c=v3.backend_util.computePool2DInfo(o.shape,a,l,1,u),d=new cve(c);return n.runWebGLProgram(d,[r],o.dtype)}};const fve={kernelName:v3.BatchMatMul,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15849,7 +15849,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s;yme([r,s]," * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s}=t,{transposeA:o,transposeB:a}=i;return Tye({a:r,b:s,transposeA:o,transposeB:a,backend:n})}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s}=t,{transposeA:o,transposeB:a}=i;return Sye({a:r,b:s,transposeA:o,transposeB:a,backend:n})}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15866,7 +15866,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{a:r,b:s}=t,{transposeA:o,transp * limitations under the License. * ============================================================================= */ -class uve{constructor(e,t,n,i,r,s){this.outputShape=[],this.variableNames=["x","mean","variance"],p3.backend_util.assertAndGetBroadcastShape(e,t),p3.backend_util.assertAndGetBroadcastShape(e,n);let o="0.0";null!=i&&(p3.backend_util.assertAndGetBroadcastShape(e,i),this.variableNames.push("offset"),o="getOffsetAtOutCoords()");let a="1.0";null!=r&&(p3.backend_util.assertAndGetBroadcastShape(e,r),this.variableNames.push("scale"),a="getScaleAtOutCoords()"),this.outputShape=e,this.userCode=`\n void main() {\n float x = getXAtOutCoords();\n float mean = getMeanAtOutCoords();\n float variance = getVarianceAtOutCoords();\n float offset = ${o};\n float scale = ${a};\n float inv = scale * inversesqrt(variance + float(${s}));\n setOutput(dot(vec3(x, -mean, offset), vec3(inv, inv, 1)));\n }\n `}} +class mve{constructor(e,t,n,i,r,s){this.outputShape=[],this.variableNames=["x","mean","variance"],v3.backend_util.assertAndGetBroadcastShape(e,t),v3.backend_util.assertAndGetBroadcastShape(e,n);let o="0.0";null!=i&&(v3.backend_util.assertAndGetBroadcastShape(e,i),this.variableNames.push("offset"),o="getOffsetAtOutCoords()");let a="1.0";null!=r&&(v3.backend_util.assertAndGetBroadcastShape(e,r),this.variableNames.push("scale"),a="getScaleAtOutCoords()"),this.outputShape=e,this.userCode=`\n void main() {\n float x = getXAtOutCoords();\n float mean = getMeanAtOutCoords();\n float variance = getVarianceAtOutCoords();\n float offset = ${o};\n float scale = ${a};\n float inv = scale * inversesqrt(variance + float(${s}));\n setOutput(dot(vec3(x, -mean, offset), vec3(inv, inv, 1)));\n }\n `}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -15883,7 +15883,7 @@ class uve{constructor(e,t,n,i,r,s){this.outputShape=[],this.variableNames=["x"," * limitations under the License. * ============================================================================= */ -class cve{constructor(e,t,n,i,r,s){this.packedInputs=!0,this.packedOutput=!0,this.variableNames=["x","mean","variance"],p3.backend_util.assertAndGetBroadcastShape(e,t),p3.backend_util.assertAndGetBroadcastShape(e,n);let o="vec4(0.0)";null!=i&&(p3.backend_util.assertAndGetBroadcastShape(e,i),this.variableNames.push("offset"),o="getOffsetAtOutCoords()");let a="vec4(1.0)";null!=r&&(p3.backend_util.assertAndGetBroadcastShape(e,r),this.variableNames.push("scale"),a="getScaleAtOutCoords()"),this.outputShape=e,this.userCode=`\n void main() {\n vec4 offset = ${o};\n vec4 scale = ${a};\n\n vec4 x = getXAtOutCoords();\n vec4 mean = getMeanAtOutCoords();\n vec4 variance = getVarianceAtOutCoords();\n\n vec4 inv = scale * inversesqrt(variance + vec4(${s}));\n\n setOutput((x - mean) * inv + offset);\n }\n `}} +class gve{constructor(e,t,n,i,r,s){this.packedInputs=!0,this.packedOutput=!0,this.variableNames=["x","mean","variance"],v3.backend_util.assertAndGetBroadcastShape(e,t),v3.backend_util.assertAndGetBroadcastShape(e,n);let o="vec4(0.0)";null!=i&&(v3.backend_util.assertAndGetBroadcastShape(e,i),this.variableNames.push("offset"),o="getOffsetAtOutCoords()");let a="vec4(1.0)";null!=r&&(v3.backend_util.assertAndGetBroadcastShape(e,r),this.variableNames.push("scale"),a="getScaleAtOutCoords()"),this.outputShape=e,this.userCode=`\n void main() {\n vec4 offset = ${o};\n vec4 scale = ${a};\n\n vec4 x = getXAtOutCoords();\n vec4 mean = getMeanAtOutCoords();\n vec4 variance = getVarianceAtOutCoords();\n\n vec4 inv = scale * inversesqrt(variance + vec4(${s}));\n\n setOutput((x - mean) * inv + offset);\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15900,7 +15900,7 @@ class cve{constructor(e,t,n,i,r,s){this.packedInputs=!0,this.packedOutput=!0,thi * limitations under the License. * ============================================================================= */ -const dve={kernelName:p3.FusedBatchNorm,backendName:"webgl",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:i,mean:r,variance:s,offset:o,scale:a}=e;p3.util.assert(r.shape.length===s.shape.length,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),p3.util.assert(null==o||r.shape.length===o.shape.length,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),p3.util.assert(null==a||r.shape.length===a.shape.length,()=>"Batch normalization gradient requires mean and scale to have equal ranks.");let{varianceEpsilon:l}=n;null==l&&(l=.001);const u=[i,r,s];let c=null;null!=o&&(c=o.shape,u.push(o));let d=null;null!=a&&(d=a.shape,u.push(a));const h=(0,p3.env)().getBool("WEBGL_PACK_NORMALIZATION")?new cve(i.shape,r.shape,s.shape,c,d,l):new uve(i.shape,r.shape,s.shape,c,d,l);return t.runWebGLProgram(h,u,u[0].dtype)}}; +const _ve={kernelName:v3.FusedBatchNorm,backendName:"webgl",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:i,mean:r,variance:s,offset:o,scale:a}=e;v3.util.assert(r.shape.length===s.shape.length,()=>"Batch normalization gradient requires mean and variance to have equal ranks."),v3.util.assert(null==o||r.shape.length===o.shape.length,()=>"Batch normalization gradient requires mean and offset to have equal ranks."),v3.util.assert(null==a||r.shape.length===a.shape.length,()=>"Batch normalization gradient requires mean and scale to have equal ranks.");let{varianceEpsilon:l}=n;null==l&&(l=.001);const u=[i,r,s];let c=null;null!=o&&(c=o.shape,u.push(o));let d=null;null!=a&&(d=a.shape,u.push(a));const h=(0,v3.env)().getBool("WEBGL_PACK_NORMALIZATION")?new gve(i.shape,r.shape,s.shape,c,d,l):new mve(i.shape,r.shape,s.shape,c,d,l);return t.runWebGLProgram(h,u,u[0].dtype)}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -15917,7 +15917,7 @@ const dve={kernelName:p3.FusedBatchNorm,backendName:"webgl",kernelFunc:({inputs: * limitations under the License. * ============================================================================= */ -class hve{constructor(e){this.variableNames=["source"],this.outputShape=e,this.rank=e.length;const t=Pme(this.rank);this.customUniforms=[{name:"start",arrayIndex:this.rank,type:"int"}];const n=function(e){if(1===e)return"sourceLoc";if(e<=6)return pve.slice(0,e).map(e=>"sourceLoc."+e).join(",");throw Error(`Slicing for rank ${e} is not yet supported`)}(this.rank);let i;i=`\n ${t} sourceLoc;\n ${t} coords = getOutputCoords();\n ${e.map((e,t)=>`sourceLoc.${pve[t]} = start[${t}] + coords.${pve[t]};`).join("\n")}\n `,this.userCode=`\n void main() {\n ${i}\n setOutput(getSource(${n}));\n }\n `}}const pve=["x","y","z","w","u","v"]; +class yve{constructor(e){this.variableNames=["source"],this.outputShape=e,this.rank=e.length;const t=jme(this.rank);this.customUniforms=[{name:"start",arrayIndex:this.rank,type:"int"}];const n=function(e){if(1===e)return"sourceLoc";if(e<=6)return vve.slice(0,e).map(e=>"sourceLoc."+e).join(",");throw Error(`Slicing for rank ${e} is not yet supported`)}(this.rank);let i;i=`\n ${t} sourceLoc;\n ${t} coords = getOutputCoords();\n ${e.map((e,t)=>`sourceLoc.${vve[t]} = start[${t}] + coords.${vve[t]};`).join("\n")}\n `,this.userCode=`\n void main() {\n ${i}\n setOutput(getSource(${n}));\n }\n `}}const vve=["x","y","z","w","u","v"]; /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -15934,7 +15934,7 @@ class hve{constructor(e){this.variableNames=["source"],this.outputShape=e,this.r * limitations under the License. * ============================================================================= */ -class fve{constructor(e){this.variableNames=["source"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.rank=e.length,this.customUniforms=[{name:"start",arrayIndex:this.rank,type:"int"}];const t=Pme(this.rank),n=g_e("coords",this.rank),i=g_e("sourceLoc",this.rank),r=1===this.rank?"sourceLoc":`vec2(${i.slice(-2).join()})`,s=`getChannel(getSource(${i.join()}), ${r})`,o=`\n result.x = ${s};\n if (++${n[this.rank-1]} < ${e[this.rank-1]}) {\n ++${i[this.rank-1]};\n result.y = ${s};\n --${i[this.rank-1]};\n }\n `,a=1===this.rank?"":`\n --${n[this.rank-1]};\n if (++${n[this.rank-2]} < ${e[this.rank-2]}) {\n ++${i[this.rank-2]};\n result.z = ${s};\n if (++${n[this.rank-1]} < ${e[this.rank-1]}) {\n ++${i[this.rank-1]};\n result.w = ${s};\n }\n }\n `,l=this.rank<=4?`sourceLoc = coords +\n ${t}(${e.map((e,t)=>`start[${t}]`).join()});`:e.map((e,t)=>`${i[t]} = ${n[t]} + start[${t}];`).join("\n");this.userCode=`\n void main() {\n ${t} coords = getOutputCoords();\n ${t} sourceLoc;\n ${l}\n vec4 result = vec4(0.);\n ${o}\n ${a}\n setOutput(result);\n }\n `}}function mve(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,size:o}=i,[a,l]=p3.slice_util.parseSliceParams(r,s,o);if(p3.slice_util.assertParamsValid(r,a,l),0===p3.util.sizeFromShape(l))return n.makeTensorInfo(l,r.dtype,[]);if(n.shouldExecuteOnCPU([r])||"string"===r.dtype){const e=n.texData.get(r.dataId),t=e_e(e.values,a,l,r.shape,r.dtype);return n.makeTensorInfo(l,r.dtype,t)}const{isPacked:u}=n.texData.get(r.dataId),c=p3.slice_util.isSliceContinous(r.shape,a,l);if(u||!c){const e=(0,p3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new fve(l):new hve(l),t=[a];return n.runWebGLProgram(e,[r],r.dtype,t)}return n.uploadToGPU(r.dataId), +class bve{constructor(e){this.variableNames=["source"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=e,this.rank=e.length,this.customUniforms=[{name:"start",arrayIndex:this.rank,type:"int"}];const t=jme(this.rank),n=x_e("coords",this.rank),i=x_e("sourceLoc",this.rank),r=1===this.rank?"sourceLoc":`vec2(${i.slice(-2).join()})`,s=`getChannel(getSource(${i.join()}), ${r})`,o=`\n result.x = ${s};\n if (++${n[this.rank-1]} < ${e[this.rank-1]}) {\n ++${i[this.rank-1]};\n result.y = ${s};\n --${i[this.rank-1]};\n }\n `,a=1===this.rank?"":`\n --${n[this.rank-1]};\n if (++${n[this.rank-2]} < ${e[this.rank-2]}) {\n ++${i[this.rank-2]};\n result.z = ${s};\n if (++${n[this.rank-1]} < ${e[this.rank-1]}) {\n ++${i[this.rank-1]};\n result.w = ${s};\n }\n }\n `,l=this.rank<=4?`sourceLoc = coords +\n ${t}(${e.map((e,t)=>`start[${t}]`).join()});`:e.map((e,t)=>`${i[t]} = ${n[t]} + start[${t}];`).join("\n");this.userCode=`\n void main() {\n ${t} coords = getOutputCoords();\n ${t} sourceLoc;\n ${l}\n vec4 result = vec4(0.);\n ${o}\n ${a}\n setOutput(result);\n }\n `}}function Tve(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,size:o}=i,[a,l]=v3.slice_util.parseSliceParams(r,s,o);if(v3.slice_util.assertParamsValid(r,a,l),0===v3.util.sizeFromShape(l))return n.makeTensorInfo(l,r.dtype,[]);if(n.shouldExecuteOnCPU([r])||"string"===r.dtype){const e=n.texData.get(r.dataId),t=o_e(e.values,a,l,r.shape,r.dtype);return n.makeTensorInfo(l,r.dtype,t)}const{isPacked:u}=n.texData.get(r.dataId),c=v3.slice_util.isSliceContinous(r.shape,a,l);if(u||!c){const e=(0,v3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new bve(l):new yve(l),t=[a];return n.runWebGLProgram(e,[r],r.dtype,t)}return n.uploadToGPU(r.dataId), /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15951,7 +15951,7 @@ class fve{constructor(e){this.variableNames=["source"],this.packedInputs=!0,this * limitations under the License. * ============================================================================= */ -function(e,t,n,i){const r=i.texData.get(e.dataId),s=i.makeTensorInfo(n,e.dtype),o=i.texData.get(s.dataId);Object.assign(o,r),o.refCount=1,o.shape=n,o.dtype=e.dtype;let a=p3.slice_util.computeFlatOffset(t,p3.util.computeStrides(e.shape));r.slice&&(a+=r.slice.flatOffset),o.slice={flatOffset:a,origDataId:r.slice&&r.slice.origDataId||e.dataId};const l=i.dataRefCount.get(o.slice.origDataId)||1;return i.dataRefCount.set(o.slice.origDataId,l+1),s}(r,a,l,n)}const gve={kernelName:p3.Slice,backendName:"webgl",kernelFunc:mve},_ve={kernelName:p3.BatchToSpaceND,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockShape:s,crops:o}=i;p3.util.assert(r.shape.length<=4,()=>"batchToSpaceND for rank > 4 with a WebGL backend not implemented yet");const a=s.reduce((e,t)=>e*t),l=p3.backend_util.getReshaped(r.shape,s,a),u=p3.backend_util.getPermuted(l.length,s.length),c=p3.backend_util.getReshapedPermuted(r.shape,s,a),d=p3.backend_util.getSliceBeginCoords(o,s.length),h=p3.backend_util.getSliceSize(c,o,s.length),p=[],f=uye({inputs:{x:r},backend:n,attrs:{shape:l}}),m=vye({inputs:{x:f},backend:n,attrs:{perm:u}}),g=uye({inputs:{x:m},backend:n,attrs:{shape:c}}),_=mve({inputs:{x:g},backend:n,attrs:{begin:d,size:h}});return p.push(f),p.push(m),p.push(g),p.forEach(e=>n.disposeIntermediateTensorInfo(e)),_}};const yve={kernelName:p3.Bincount,backendName:"webgl",kernelFunc: +function(e,t,n,i){const r=i.texData.get(e.dataId),s=i.makeTensorInfo(n,e.dtype),o=i.texData.get(s.dataId);Object.assign(o,r),o.refCount=1,o.shape=n,o.dtype=e.dtype;let a=v3.slice_util.computeFlatOffset(t,v3.util.computeStrides(e.shape));r.slice&&(a+=r.slice.flatOffset),o.slice={flatOffset:a,origDataId:r.slice&&r.slice.origDataId||e.dataId};const l=i.dataRefCount.get(o.slice.origDataId)||1;return i.dataRefCount.set(o.slice.origDataId,l+1),s}(r,a,l,n)}const xve={kernelName:v3.Slice,backendName:"webgl",kernelFunc:Tve},Eve={kernelName:v3.BatchToSpaceND,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockShape:s,crops:o}=i;v3.util.assert(r.shape.length<=4,()=>"batchToSpaceND for rank > 4 with a WebGL backend not implemented yet");const a=s.reduce((e,t)=>e*t),l=v3.backend_util.getReshaped(r.shape,s,a),u=v3.backend_util.getPermuted(l.length,s.length),c=v3.backend_util.getReshapedPermuted(r.shape,s,a),d=v3.backend_util.getSliceBeginCoords(o,s.length),h=v3.backend_util.getSliceSize(c,o,s.length),p=[],f=mye({inputs:{x:r},backend:n,attrs:{shape:l}}),m=Iye({inputs:{x:f},backend:n,attrs:{perm:u}}),g=mye({inputs:{x:m},backend:n,attrs:{shape:c}}),_=Tve({inputs:{x:g},backend:n,attrs:{begin:d,size:h}});return p.push(f),p.push(m),p.push(g),p.forEach(e=>n.disposeIntermediateTensorInfo(e)),_}};const wve={kernelName:v3.Bincount,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -15968,7 +15968,7 @@ function(e,t,n,i){const r=i.texData.get(e.dataId),s=i.makeTensorInfo(n,e.dtype), * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o}=i,a=n.readSync(r.dataId),l=n.readSync(s.dataId),u=Tge(a,l,s.dtype,s.shape,o);return n.makeTensorInfo([o],s.dtype,u)}};const vve={kernelName:p3.BitwiseAnd,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{a:i,b:r}=t,s=(0,p3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS"),o=(0,p3.env)().getNumber("WEBGL_VERSION");if(n.shouldExecuteOnCPU([i,r])||1===o){const e=n.texData.get(i.dataId).values,t=n.texData.get(r.dataId).values,[s,o]=Ege(i.shape,r.shape,e,t,i.dtype),a=n.makeTensorInfo(o,i.dtype);return n.texData.get(a.dataId).values=s,a}let a;return a=s?new V_e("\n int r = int(a.r) & int(b.r);\n int g = int(a.g) & int(b.g);\n int rb = int(a.b) & int(b.b);\n int ra = int(a.a) & int(b.a);\n return vec4(r, g, rb, ra);\n",i.shape,r.shape,!1):new $_e("\n return float(int(a.r) & int(b.r));\n",i.shape,r.shape),n.runWebGLProgram(a,[i,r],i.dtype)}};const bve={kernelName:p3.BroadcastArgs,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o}=i,a=n.readSync(r.dataId),l=n.readSync(s.dataId),u=Sge(a,l,s.dtype,s.shape,o);return n.makeTensorInfo([o],s.dtype,u)}};const Ive={kernelName:v3.BitwiseAnd,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{a:i,b:r}=t,s=(0,v3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS"),o=(0,v3.env)().getNumber("WEBGL_VERSION");if(n.shouldExecuteOnCPU([i,r])||1===o){const e=n.texData.get(i.dataId).values,t=n.texData.get(r.dataId).values,[s,o]=Oge(i.shape,r.shape,e,t,i.dtype),a=n.makeTensorInfo(o,i.dtype);return n.texData.get(a.dataId).values=s,a}let a;return a=s?new W_e("\n int r = int(a.r) & int(b.r);\n int g = int(a.g) & int(b.g);\n int rb = int(a.b) & int(b.b);\n int ra = int(a.a) & int(b.a);\n return vec4(r, g, rb, ra);\n",i.shape,r.shape,!1):new G_e("\n return float(int(a.r) & int(b.r));\n",i.shape,r.shape),n.runWebGLProgram(a,[i,r],i.dtype)}};const Ave={kernelName:v3.BroadcastArgs,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -15985,7 +15985,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o}=i,a=n * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{s0:i,s1:r}=t,s=n.readSync(i.dataId),o=n.readSync(r.dataId),a=p3.backend_util.assertAndGetBroadcastShape(Array.from(s),Array.from(o));return n.makeTensorInfo([a.length],"int32",Int32Array.from(a))}},Tve=eye({opSnippet:"return float(a != b);",cpuKernelImpl:Yge,dtype:"bool"}),xve={kernelName:p3.NotEqual,backendName:"webgl",kernelFunc:Tve}; +function(e){const{inputs:t,backend:n}=e,{s0:i,s1:r}=t,s=n.readSync(i.dataId),o=n.readSync(r.dataId),a=v3.backend_util.assertAndGetBroadcastShape(Array.from(s),Array.from(o));return n.makeTensorInfo([a.length],"int32",Int32Array.from(a))}},Sve=oye({opSnippet:"return float(a != b);",cpuKernelImpl:Kge,dtype:"bool"}),Cve={kernelName:v3.NotEqual,backendName:"webgl",kernelFunc:Sve}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16002,7 +16002,7 @@ function(e){const{inputs:t,backend:n}=e,{s0:i,s1:r}=t,s=n.readSync(i.dataId),o=n * limitations under the License. * ============================================================================= */ -function Eve(e){const{inputs:t,backend:n}=e,{input:i}=t;return z_e({inputs:{x:n.texData.get(i.dataId).complexTensorInfos.real},backend:n})}const wve={kernelName:p3.Real,backendName:"webgl",kernelFunc:Eve};const Ive={kernelName:p3.Cast,backendName:"webgl",kernelFunc: +function Ove(e){const{inputs:t,backend:n}=e,{input:i}=t;return X_e({inputs:{x:n.texData.get(i.dataId).complexTensorInfos.real},backend:n})}const Mve={kernelName:v3.Real,backendName:"webgl",kernelFunc:Ove};const kve={kernelName:v3.Cast,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16019,7 +16019,7 @@ function Eve(e){const{inputs:t,backend:n}=e,{input:i}=t;return z_e({inputs:{x:n. * limitations under the License. * ============================================================================= */ -function e(t){const{inputs:n,backend:i,attrs:r}=t,{x:s}=n,{dtype:o}=r;if("complex64"===o){if("complex64"===s.dtype)return z_e({inputs:{x:s},backend:i});const t=p3.zeros(s.shape),n=e({inputs:{x:s},backend:i,attrs:{dtype:"float32"}}),r=Y_e({inputs:{real:n,imag:t},backend:i});return t.dispose(),i.disposeIntermediateTensorInfo(n),r}if("complex64"===s.dtype){const t=Eve({inputs:{input:s},backend:i}),n=e({inputs:{x:t},backend:i,attrs:{dtype:o}});return i.disposeIntermediateTensorInfo(t),n}if(!p3.util.hasEncodingLoss(s.dtype,o)){const e=z_e({inputs:{x:s},backend:i});return{dataId:e.dataId,shape:e.shape,dtype:o}}if(i.shouldExecuteOnCPU([s])){const e=i.texData.get(s.dataId).values,[t,n,r]=wge(e,s.shape,s.dtype,o);return i.makeTensorInfo(t,n,r)}if("int32"===o)return function(e,t){const n=new E_e(e.shape,"return float(int(x));"),i=t.runWebGLProgram(n,[e],"int32");return{dataId:i.dataId,shape:i.shape,dtype:i.dtype}}(s,i);if("bool"===o){const e=i.makeTensorInfo([],"bool",p3.util.getTypedArrayFromDType("bool",1)),t=Tve({inputs:{a:s,b:e},backend:i});return i.disposeIntermediateTensorInfo(e),t}throw new Error(`Error in Cast: failed to cast ${s.dtype} to ${o}`)}},Ave="return ceil(x);",Sve=J_e({opSnippet:Ave,packedOpSnippet:Ave,cpuKernelImpl:Ige}),Cve={kernelName:p3.Ceil,backendName:"webgl",kernelFunc:Sve}; +function e(t){const{inputs:n,backend:i,attrs:r}=t,{x:s}=n,{dtype:o}=r;if("complex64"===o){if("complex64"===s.dtype)return X_e({inputs:{x:s},backend:i});const t=v3.zeros(s.shape),n=e({inputs:{x:s},backend:i,attrs:{dtype:"float32"}}),r=K_e({inputs:{real:n,imag:t},backend:i});return t.dispose(),i.disposeIntermediateTensorInfo(n),r}if("complex64"===s.dtype){const t=Ove({inputs:{input:s},backend:i}),n=e({inputs:{x:t},backend:i,attrs:{dtype:o}});return i.disposeIntermediateTensorInfo(t),n}if(!v3.util.hasEncodingLoss(s.dtype,o)){const e=X_e({inputs:{x:s},backend:i});return{dataId:e.dataId,shape:e.shape,dtype:o}}if(i.shouldExecuteOnCPU([s])){const e=i.texData.get(s.dataId).values,[t,n,r]=Mge(e,s.shape,s.dtype,o);return i.makeTensorInfo(t,n,r)}if("int32"===o)return function(e,t){const n=new O_e(e.shape,"return float(int(x));"),i=t.runWebGLProgram(n,[e],"int32");return{dataId:i.dataId,shape:i.shape,dtype:i.dtype}}(s,i);if("bool"===o){const e=i.makeTensorInfo([],"bool",v3.util.getTypedArrayFromDType("bool",1)),t=Sve({inputs:{a:s,b:e},backend:i});return i.disposeIntermediateTensorInfo(e),t}throw new Error(`Error in Cast: failed to cast ${s.dtype} to ${o}`)}},Rve="return ceil(x);",Nve=sye({opSnippet:Rve,packedOpSnippet:Rve,cpuKernelImpl:kge}),Dve={kernelName:v3.Ceil,backendName:"webgl",kernelFunc:Nve}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -16036,7 +16036,7 @@ function e(t){const{inputs:n,backend:i,attrs:r}=t,{x:s}=n,{dtype:o}=r;if("comple * limitations under the License. * ============================================================================= */ -class Ove{constructor(e){this.variableNames=["A"],this.customUniforms=[{name:"minVal",type:"float"},{name:"maxVal",type:"float"}],this.outputShape=e,this.userCode="\n\n void main() {\n float value = getAAtOutCoords();\n if (isnan(value)) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, minVal, maxVal));\n }\n "}} +class Fve{constructor(e){this.variableNames=["A"],this.customUniforms=[{name:"minVal",type:"float"},{name:"maxVal",type:"float"}],this.outputShape=e,this.userCode="\n\n void main() {\n float value = getAAtOutCoords();\n if (isnan(value)) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, minVal, maxVal));\n }\n "}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -16053,7 +16053,7 @@ class Ove{constructor(e){this.variableNames=["A"],this.customUniforms=[{name:"mi * limitations under the License. * ============================================================================= */ -class Mve{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"minVal",type:"float"},{name:"maxVal",type:"float"}],this.outputShape=e,this.userCode="\n void main() {\n vec4 value = getAAtOutCoords();\n\n if (any(isnan(value))) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, vec4(minVal), vec4(maxVal)));\n }\n "}}const kve={kernelName:p3.ClipByValue,backendName:"webgl",kernelFunc: +class Lve{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"minVal",type:"float"},{name:"maxVal",type:"float"}],this.outputShape=e,this.userCode="\n void main() {\n vec4 value = getAAtOutCoords();\n\n if (any(isnan(value))) {\n setOutput(value);\n return;\n }\n\n setOutput(clamp(value, vec4(minVal), vec4(maxVal)));\n }\n "}}const Pve={kernelName:v3.ClipByValue,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16070,7 +16070,7 @@ class Mve{constructor(e){this.variableNames=["A"],this.packedInputs=!0,this.pack * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{clipValueMin:s,clipValueMax:o}=i;let a;a=(0,p3.env)().getBool("WEBGL_PACK_CLIP")?new Mve(r.shape):new Ove(r.shape);const l=[[s],[o]];return n.runWebGLProgram(a,[r],r.dtype,l)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{clipValueMin:s,clipValueMax:o}=i;let a;a=(0,v3.env)().getBool("WEBGL_PACK_CLIP")?new Lve(r.shape):new Fve(r.shape);const l=[[s],[o]];return n.runWebGLProgram(a,[r],r.dtype,l)}}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -16087,7 +16087,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{clipValueMin:s,clipValu * limitations under the License. * ============================================================================= */ -class Rve{constructor(e){this.variableNames=["real","imag"],this.outputShape=e,this.userCode="\n void main() {\n float re = abs(getRealAtOutCoords());\n float im = abs(getImagAtOutCoords());\n float mx = max(re, im);\n\n // sadly the length function in glsl is not underflow-safe\n // (at least not on Intel GPUs). So the safe solution is\n // to ensure underflow-safety in all cases.\n setOutput(\n mx == 0.0 ? 0.0 : mx * length(vec2(1, min(re, im)/mx))\n );\n }\n "}} +class Bve{constructor(e){this.variableNames=["real","imag"],this.outputShape=e,this.userCode="\n void main() {\n float re = abs(getRealAtOutCoords());\n float im = abs(getImagAtOutCoords());\n float mx = max(re, im);\n\n // sadly the length function in glsl is not underflow-safe\n // (at least not on Intel GPUs). So the safe solution is\n // to ensure underflow-safety in all cases.\n setOutput(\n mx == 0.0 ? 0.0 : mx * length(vec2(1, min(re, im)/mx))\n );\n }\n "}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16104,7 +16104,7 @@ class Rve{constructor(e){this.variableNames=["real","imag"],this.outputShape=e,t * limitations under the License. * ============================================================================= */ -function Nve(e,t){return{dataId:t.dataId,dtype:t.dtype,shape:e.shape}}const Dve={kernelName:p3.ComplexAbs,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i}=t,r=n.texData.get(i.dataId),s=new Rve(i.shape),o=[Nve(i,r.complexTensorInfos.real),Nve(i,r.complexTensorInfos.imag)];return n.runWebGLProgram(s,o,o[0].dtype)}}; +function $ve(e,t){return{dataId:t.dataId,dtype:t.dtype,shape:e.shape}}const Uve={kernelName:v3.ComplexAbs,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i}=t,r=n.texData.get(i.dataId),s=new Bve(i.shape),o=[$ve(i,r.complexTensorInfos.real),$ve(i,r.complexTensorInfos.imag)];return n.runWebGLProgram(s,o,o[0].dtype)}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -16121,7 +16121,7 @@ function Nve(e,t){return{dataId:t.dataId,dtype:t.dtype,shape:e.shape}}const Dve= * limitations under the License. * ============================================================================= */ -class Fve{constructor(e){this.outputShape=[],this.outputShape=p3.backend_util.computeOutShape(e,1),this.variableNames=e.map((e,t)=>`T${t}`);const t=new Array(e.length-1);t[0]=e[0][1];for(let n=1;n`T${t}`);const t=new Array(e.length-1);t[0]=e[0][1];for(let n=1;n`T${t}`);const a=new Array(e.length-1);a[0]=e[0][t];for(let n=1;n= ${a[e-1]}) {\n return getChannel(\n getT${e}(${Pve(o,l,t)}),\n vec2(${Pve(u,l,t)}));\n }`}const h=a.length,p=a[a.length-1];d+=`\n return getChannel(\n getT${h}(${Pve(o,l,p)}),\n vec2(${Pve(u,l,p)}));`,this.userCode=`\n float getValue(${o.map(e=>"int "+e)}) {\n ${d}\n }\n\n void main() {\n ${r} coords = getOutputCoords();\n vec4 result = vec4(getValue(${s}), 0., 0., 0.);\n\n ${s[i-1]} = ${s[i-1]} + 1;\n if (${s[i-1]} < ${n[i-1]}) {\n result.g = getValue(${s});\n }\n\n ${s[i-2]} = ${s[i-2]} + 1;\n if (${s[i-2]} < ${n[i-2]}) {\n result.a = getValue(${s});\n }\n\n ${s[i-1]} = ${s[i-1]} - 1;\n if (${s[i-2]} < ${n[i-2]} &&\n ${s[i-1]} < ${n[i-1]}) {\n result.b = getValue(${s});\n }\n setOutput(result);\n }\n `}}function Pve(e,t,n){const i=e.indexOf(t);return e.map((e,t)=>t===i?`${e} - ${n}`:e).join()} +class zve{constructor(e,t){this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[],this.outputShape=v3.backend_util.computeOutShape(e,t);const n=this.outputShape,i=n.length,r=jme(i),s=x_e("coords",i),o=["x","y","z","w","u","v"].slice(0,i);this.variableNames=e.map((e,t)=>`T${t}`);const a=new Array(e.length-1);a[0]=e[0][t];for(let n=1;n= ${a[e-1]}) {\n return getChannel(\n getT${e}(${jve(o,l,t)}),\n vec2(${jve(u,l,t)}));\n }`}const h=a.length,p=a[a.length-1];d+=`\n return getChannel(\n getT${h}(${jve(o,l,p)}),\n vec2(${jve(u,l,p)}));`,this.userCode=`\n float getValue(${o.map(e=>"int "+e)}) {\n ${d}\n }\n\n void main() {\n ${r} coords = getOutputCoords();\n vec4 result = vec4(getValue(${s}), 0., 0., 0.);\n\n ${s[i-1]} = ${s[i-1]} + 1;\n if (${s[i-1]} < ${n[i-1]}) {\n result.g = getValue(${s});\n }\n\n ${s[i-2]} = ${s[i-2]} + 1;\n if (${s[i-2]} < ${n[i-2]}) {\n result.a = getValue(${s});\n }\n\n ${s[i-1]} = ${s[i-1]} - 1;\n if (${s[i-2]} < ${n[i-2]} &&\n ${s[i-1]} < ${n[i-1]}) {\n result.b = getValue(${s});\n }\n setOutput(result);\n }\n `}}function jve(e,t,n){const i=e.indexOf(t);return e.map((e,t)=>t===i?`${e} - ${n}`:e).join()} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16155,7 +16155,7 @@ class Lve{constructor(e,t){this.packedInputs=!0,this.packedOutput=!0,this.output * limitations under the License. * ============================================================================= */ -function Bve(e){const{inputs:t,backend:n}=e,{input:i}=t;return z_e({inputs:{x:n.texData.get(i.dataId).complexTensorInfos.imag},backend:n})}const $ve={kernelName:p3.Imag,backendName:"webgl",kernelFunc:Bve}; +function Yve(e){const{inputs:t,backend:n}=e,{input:i}=t;return X_e({inputs:{x:n.texData.get(i.dataId).complexTensorInfos.imag},backend:n})}const Gve={kernelName:v3.Imag,backendName:"webgl",kernelFunc:Yve}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16172,7 +16172,7 @@ function Bve(e){const{inputs:t,backend:n}=e,{input:i}=t;return z_e({inputs:{x:n. * limitations under the License. * ============================================================================= */ -function Uve(e,t,n){const i=e[0].dtype;if("complex64"===i){const i=e.map(e=>Eve({inputs:{input:e},backend:n})),r=e.map(e=>Bve({inputs:{input:e},backend:n})),s=Uve(i,t,n),o=Uve(r,t,n),a=Y_e({inputs:{real:s,imag:o},backend:n});return i.forEach(e=>n.disposeIntermediateTensorInfo(e)),r.forEach(e=>n.disposeIntermediateTensorInfo(e)),n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(o),a}let r=n.shouldExecuteOnCPU(e);if("string"===i&&(r=!0),r){const r=e.map(e=>{const i=p3.util.sizeFromShape(e.shape.slice(t));return uye({inputs:{x:e},backend:n,attrs:{shape:[-1,i]}})}),s=r.map(e=>({vals:n.readSync(e.dataId),shape:e.shape})),o=p3.backend_util.computeOutShape(r.map(e=>e.shape),1),a=1===r[0].shape[0],l=Age(s,o,i,a),u=p3.backend_util.computeOutShape(e.map(e=>e.shape),t),c=n.makeTensorInfo(u,i,l);return r.forEach(e=>n.disposeIntermediateTensorInfo(e)),c}const s=e.filter(e=>p3.util.sizeFromShape(e.shape)>0),o=(0,p3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")&&s[0].shape.length>1;if(1===s.length){const t=o?new E_e(e[0].shape,C_e):new O_e(e[0].shape,C_e);return n.runWebGLProgram(t,e,i)}const a=(0,p3.env)().getNumber("WEBGL_MAX_TEXTURES_IN_SHADER");if(s.length>a){const e=[];for(let i=0;ie.shape),t);return n.runWebGLProgram(e,s,i)}const{tensors2D:l,outShape:u}=function(e,t,n){const i=p3.backend_util.computeOutShape(e.map(e=>e.shape),t),r=e.map(e=>uye({inputs:{x:e},attrs:{shape:[-1,p3.util.sizeFromShape(e.shape.slice(t))]},backend:n}));return{tensors2D:r,outShape:i}}(s,t,n),c=new Fve(l.map(e=>e.shape)),d=n.runWebGLProgram(c,l,i);l.forEach(e=>n.disposeIntermediateTensorInfo(e));const h=uye({inputs:{x:d},attrs:{shape:u},backend:n});return n.disposeIntermediateTensorInfo(d),h} +function Hve(e,t,n){const i=e[0].dtype;if("complex64"===i){const i=e.map(e=>Ove({inputs:{input:e},backend:n})),r=e.map(e=>Yve({inputs:{input:e},backend:n})),s=Hve(i,t,n),o=Hve(r,t,n),a=K_e({inputs:{real:s,imag:o},backend:n});return i.forEach(e=>n.disposeIntermediateTensorInfo(e)),r.forEach(e=>n.disposeIntermediateTensorInfo(e)),n.disposeIntermediateTensorInfo(s),n.disposeIntermediateTensorInfo(o),a}let r=n.shouldExecuteOnCPU(e);if("string"===i&&(r=!0),r){const r=e.map(e=>{const i=v3.util.sizeFromShape(e.shape.slice(t));return mye({inputs:{x:e},backend:n,attrs:{shape:[-1,i]}})}),s=r.map(e=>({vals:n.readSync(e.dataId),shape:e.shape})),o=v3.backend_util.computeOutShape(r.map(e=>e.shape),1),a=1===r[0].shape[0],l=Rge(s,o,i,a),u=v3.backend_util.computeOutShape(e.map(e=>e.shape),t),c=n.makeTensorInfo(u,i,l);return r.forEach(e=>n.disposeIntermediateTensorInfo(e)),c}const s=e.filter(e=>v3.util.sizeFromShape(e.shape)>0),o=(0,v3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")&&s[0].shape.length>1;if(1===s.length){const t=o?new O_e(e[0].shape,D_e):new F_e(e[0].shape,D_e);return n.runWebGLProgram(t,e,i)}const a=(0,v3.env)().getNumber("WEBGL_MAX_TEXTURES_IN_SHADER");if(s.length>a){const e=[];for(let i=0;ie.shape),t);return n.runWebGLProgram(e,s,i)}const{tensors2D:l,outShape:u}=function(e,t,n){const i=v3.backend_util.computeOutShape(e.map(e=>e.shape),t),r=e.map(e=>mye({inputs:{x:e},attrs:{shape:[-1,v3.util.sizeFromShape(e.shape.slice(t))]},backend:n}));return{tensors2D:r,outShape:i}}(s,t,n),c=new Vve(l.map(e=>e.shape)),d=n.runWebGLProgram(c,l,i);l.forEach(e=>n.disposeIntermediateTensorInfo(e));const h=mye({inputs:{x:d},attrs:{shape:u},backend:n});return n.disposeIntermediateTensorInfo(d),h} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16189,7 +16189,7 @@ function Uve(e,t,n){const i=e[0].dtype;if("complex64"===i){const i=e.map(e=>Eve( * limitations under the License. * ============================================================================= */ -function Vve(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i,s=p3.util.parseAxisParam(r,t[0].shape)[0],o=t.map(e=>e.shape);p3.backend_util.assertParamsConsistent(o,s);const a=p3.backend_util.computeOutShape(t.map(e=>e.shape),s);if(0===p3.util.sizeFromShape(a))return n.makeTensorInfo(a,t[0].dtype,[]);const l=t.filter(e=>p3.util.sizeFromShape(e.shape)>0);return 1===l.length?z_e({inputs:{x:l[0]},backend:n}):Uve(l,s,n)}const zve={kernelName:p3.Concat,backendName:"webgl",kernelFunc:Vve}; +function Wve(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i,s=v3.util.parseAxisParam(r,t[0].shape)[0],o=t.map(e=>e.shape);v3.backend_util.assertParamsConsistent(o,s);const a=v3.backend_util.computeOutShape(t.map(e=>e.shape),s);if(0===v3.util.sizeFromShape(a))return n.makeTensorInfo(a,t[0].dtype,[]);const l=t.filter(e=>v3.util.sizeFromShape(e.shape)>0);return 1===l.length?X_e({inputs:{x:l[0]},backend:n}):Hve(l,s,n)}const Xve={kernelName:v3.Concat,backendName:"webgl",kernelFunc:Wve}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -16206,7 +16206,7 @@ function Vve(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i,s=p3.util.parseAx * limitations under the License. * ============================================================================= */ -class jve{constructor(e,t=!1,n=null,i=!1,r=!1){this.variableNames=["x","W"],this.outputShape=e.outShape;const s=e.padInfo.top,o=e.padInfo.left,a=e.strideHeight,l=e.strideWidth,u=e.dilationHeight,c=e.dilationWidth,d=e.filterHeight,h=e.filterWidth,p=4*Math.floor(e.inChannels/4),f=e.inChannels%4,m="channelsLast"===e.dataFormat,g=m?1:2,_=m?2:3,y=m?3:1;let v="",b="";n&&(v=i?`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:r?`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:`\n float activation(float x) {\n ${n}\n }\n `,b="result = activation(result);");const T=t?"result += getBiasAtOutCoords();":"";t&&this.variableNames.push("bias"),i&&this.variableNames.push("preluActivationWeights"),r&&this.variableNames.push("leakyreluAlpha"),this.userCode=`\n ${v}\n\n const ivec2 strides = ivec2(${a}, ${l});\n const ivec2 pads = ivec2(${s}, ${o});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d2 = coords[${y}];\n\n ivec2 xRCCorner =\n ivec2(coords[${g}], coords[${_}]) * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, d2) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${d}; wR++) {\n int xR = xRCorner + wR * ${u};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h}; wC++) {\n int xC = xCCorner + wC * ${c};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${p}; d1 += 4) {\n vec4 wValues = vec4(\n getW(wR, wC, d1, d2),\n getW(wR, wC, d1 + 1, d2),\n getW(wR, wC, d1 + 2, d2),\n getW(wR, wC, d1 + 3, d2)\n );\n\n if (${m}) {\n vec4 xValues = vec4(\n getX(batch, xR, xC, d1),\n getX(batch, xR, xC, d1 + 1),\n getX(batch, xR, xC, d1 + 2),\n getX(batch, xR, xC, d1 + 3)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec4 xValues = vec4(\n getX(batch, d1, xR, xC),\n getX(batch, d1 + 1, xR, xC),\n getX(batch, d1 + 2, xR, xC),\n getX(batch, d1 + 3, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n\n if (${1===f}) {\n\n if (${m}) {\n dotProd +=\n getX(batch, xR, xC, ${p}) *\n getW(wR, wC, ${p}, d2);\n } else {\n dotProd +=\n getX(batch, ${p}, xR, xC) *\n getW(wR, wC, ${p}, d2);\n }\n\n } else if (${2===f}) {\n vec2 wValues = vec2(\n getW(wR, wC, ${p}, d2),\n getW(wR, wC, ${p} + 1, d2)\n );\n\n if (${m}) {\n vec2 xValues = vec2(\n getX(batch, xR, xC, ${p}),\n getX(batch, xR, xC, ${p} + 1)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec2 xValues = vec2(\n getX(batch, ${p}, xR, xC),\n getX(batch, ${p} + 1, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n } else if (${3===f}) {\n vec3 wValues = vec3(\n getW(wR, wC, ${p}, d2),\n getW(wR, wC, ${p} + 1, d2),\n getW(wR, wC, ${p} + 2, d2)\n );\n\n if (${m}) {\n vec3 xValues = vec3(\n getX(batch, xR, xC, ${p}),\n getX(batch, xR, xC, ${p} + 1),\n getX(batch, xR, xC, ${p} + 2)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec3 xValues = vec3(\n getX(batch, ${p}, xR, xC),\n getX(batch, ${p} + 1, xR, xC),\n getX(batch, ${p} + 2, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n }\n }\n }\n\n float result = dotProd;\n ${T}\n ${b}\n setOutput(result);\n }\n `}}class Yve{constructor(e){this.variableNames=["x","W"],this.outputShape=e.outShape;const t=e.padInfo.front,n=e.padInfo.top,i=e.padInfo.left,r=e.strideDepth,s=e.strideHeight,o=e.strideWidth,a=e.dilationDepth,l=e.dilationHeight,u=e.dilationWidth,c=e.filterDepth,d=e.filterHeight,h=e.filterWidth,p=4*Math.floor(e.inChannels/4),f=e.inChannels%4;this.userCode=`\n const ivec3 strides = ivec3(${r}, ${s}, ${o});\n const ivec3 pads = ivec3(${t}, ${n}, ${i});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d2 = coords.u;\n\n ivec3 xFRCCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xFCorner = xFRCCorner.x;\n int xRCorner = xFRCCorner.y;\n int xCCorner = xFRCCorner.z;\n\n // Convolve x(?, ?, ?, d1) with w(:, :, :, d1, d2) to get\n // y(yF, yR, yC, d2). ? = to be determined. : = across all\n // values in that axis.\n float dotProd = 0.0;\n for (int wF = 0; wF < ${c}; wF++) {\n int xF = xFCorner + wF * ${a};\n\n if (xF < 0 || xF >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${d}; wR++) {\n int xR = xRCorner + wR * ${l};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h}; wC++) {\n int xC = xCCorner + wC * ${u};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${p}; d1 += 4) {\n vec4 xValues = vec4(\n getX(batch, xF, xR, xC, d1),\n getX(batch, xF, xR, xC, d1 + 1),\n getX(batch, xF, xR, xC, d1 + 2),\n getX(batch, xF, xR, xC, d1 + 3)\n );\n vec4 wValues = vec4(\n getW(wF, wR, wC, d1, d2),\n getW(wF, wR, wC, d1 + 1, d2),\n getW(wF, wR, wC, d1 + 2, d2),\n getW(wF, wR, wC, d1 + 3, d2)\n );\n\n dotProd += dot(xValues, wValues);\n }\n\n if (${1===f}) {\n dotProd +=\n getX(batch, xF, xR, xC, ${p}) *\n getW(wF, wR, wC, ${p}, d2);\n } else if (${2===f}) {\n vec2 xValues = vec2(\n getX(batch, xF, xR, xC, ${p}),\n getX(batch, xF, xR, xC, ${p} + 1)\n );\n vec2 wValues = vec2(\n getW(wF, wR, wC, ${p}, d2),\n getW(wF, wR, wC, ${p} + 1, d2)\n );\n dotProd += dot(xValues, wValues);\n } else if (${3===f}) {\n vec3 xValues = vec3(\n getX(batch, xF, xR, xC, ${p}),\n getX(batch, xF, xR, xC, ${p} + 1),\n getX(batch, xF, xR, xC, ${p} + 2)\n );\n vec3 wValues = vec3(\n getW(wF, wR, wC, ${p}, d2),\n getW(wF, wR, wC, ${p} + 1, d2),\n getW(wF, wR, wC, ${p} + 2, d2)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}} +class qve{constructor(e,t=!1,n=null,i=!1,r=!1){this.variableNames=["x","W"],this.outputShape=e.outShape;const s=e.padInfo.top,o=e.padInfo.left,a=e.strideHeight,l=e.strideWidth,u=e.dilationHeight,c=e.dilationWidth,d=e.filterHeight,h=e.filterWidth,p=4*Math.floor(e.inChannels/4),f=e.inChannels%4,m="channelsLast"===e.dataFormat,g=m?1:2,_=m?2:3,y=m?3:1;let v="",b="";n&&(v=i?`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:r?`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:`\n float activation(float x) {\n ${n}\n }\n `,b="result = activation(result);");const T=t?"result += getBiasAtOutCoords();":"";t&&this.variableNames.push("bias"),i&&this.variableNames.push("preluActivationWeights"),r&&this.variableNames.push("leakyreluAlpha"),this.userCode=`\n ${v}\n\n const ivec2 strides = ivec2(${a}, ${l});\n const ivec2 pads = ivec2(${s}, ${o});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d2 = coords[${y}];\n\n ivec2 xRCCorner =\n ivec2(coords[${g}], coords[${_}]) * strides - pads;\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, d2) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${d}; wR++) {\n int xR = xRCorner + wR * ${u};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h}; wC++) {\n int xC = xCCorner + wC * ${c};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${p}; d1 += 4) {\n vec4 wValues = vec4(\n getW(wR, wC, d1, d2),\n getW(wR, wC, d1 + 1, d2),\n getW(wR, wC, d1 + 2, d2),\n getW(wR, wC, d1 + 3, d2)\n );\n\n if (${m}) {\n vec4 xValues = vec4(\n getX(batch, xR, xC, d1),\n getX(batch, xR, xC, d1 + 1),\n getX(batch, xR, xC, d1 + 2),\n getX(batch, xR, xC, d1 + 3)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec4 xValues = vec4(\n getX(batch, d1, xR, xC),\n getX(batch, d1 + 1, xR, xC),\n getX(batch, d1 + 2, xR, xC),\n getX(batch, d1 + 3, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n\n if (${1===f}) {\n\n if (${m}) {\n dotProd +=\n getX(batch, xR, xC, ${p}) *\n getW(wR, wC, ${p}, d2);\n } else {\n dotProd +=\n getX(batch, ${p}, xR, xC) *\n getW(wR, wC, ${p}, d2);\n }\n\n } else if (${2===f}) {\n vec2 wValues = vec2(\n getW(wR, wC, ${p}, d2),\n getW(wR, wC, ${p} + 1, d2)\n );\n\n if (${m}) {\n vec2 xValues = vec2(\n getX(batch, xR, xC, ${p}),\n getX(batch, xR, xC, ${p} + 1)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec2 xValues = vec2(\n getX(batch, ${p}, xR, xC),\n getX(batch, ${p} + 1, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n } else if (${3===f}) {\n vec3 wValues = vec3(\n getW(wR, wC, ${p}, d2),\n getW(wR, wC, ${p} + 1, d2),\n getW(wR, wC, ${p} + 2, d2)\n );\n\n if (${m}) {\n vec3 xValues = vec3(\n getX(batch, xR, xC, ${p}),\n getX(batch, xR, xC, ${p} + 1),\n getX(batch, xR, xC, ${p} + 2)\n );\n dotProd += dot(xValues, wValues);\n } else {\n vec3 xValues = vec3(\n getX(batch, ${p}, xR, xC),\n getX(batch, ${p} + 1, xR, xC),\n getX(batch, ${p} + 2, xR, xC)\n );\n dotProd += dot(xValues, wValues);\n }\n\n }\n }\n }\n\n float result = dotProd;\n ${T}\n ${b}\n setOutput(result);\n }\n `}}class Kve{constructor(e){this.variableNames=["x","W"],this.outputShape=e.outShape;const t=e.padInfo.front,n=e.padInfo.top,i=e.padInfo.left,r=e.strideDepth,s=e.strideHeight,o=e.strideWidth,a=e.dilationDepth,l=e.dilationHeight,u=e.dilationWidth,c=e.filterDepth,d=e.filterHeight,h=e.filterWidth,p=4*Math.floor(e.inChannels/4),f=e.inChannels%4;this.userCode=`\n const ivec3 strides = ivec3(${r}, ${s}, ${o});\n const ivec3 pads = ivec3(${t}, ${n}, ${i});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d2 = coords.u;\n\n ivec3 xFRCCorner = ivec3(coords.y, coords.z, coords.w) * strides - pads;\n int xFCorner = xFRCCorner.x;\n int xRCorner = xFRCCorner.y;\n int xCCorner = xFRCCorner.z;\n\n // Convolve x(?, ?, ?, d1) with w(:, :, :, d1, d2) to get\n // y(yF, yR, yC, d2). ? = to be determined. : = across all\n // values in that axis.\n float dotProd = 0.0;\n for (int wF = 0; wF < ${c}; wF++) {\n int xF = xFCorner + wF * ${a};\n\n if (xF < 0 || xF >= ${e.inDepth}) {\n continue;\n }\n\n for (int wR = 0; wR < ${d}; wR++) {\n int xR = xRCorner + wR * ${l};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int wC = 0; wC < ${h}; wC++) {\n int xC = xCCorner + wC * ${u};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n for (int d1 = 0; d1 < ${p}; d1 += 4) {\n vec4 xValues = vec4(\n getX(batch, xF, xR, xC, d1),\n getX(batch, xF, xR, xC, d1 + 1),\n getX(batch, xF, xR, xC, d1 + 2),\n getX(batch, xF, xR, xC, d1 + 3)\n );\n vec4 wValues = vec4(\n getW(wF, wR, wC, d1, d2),\n getW(wF, wR, wC, d1 + 1, d2),\n getW(wF, wR, wC, d1 + 2, d2),\n getW(wF, wR, wC, d1 + 3, d2)\n );\n\n dotProd += dot(xValues, wValues);\n }\n\n if (${1===f}) {\n dotProd +=\n getX(batch, xF, xR, xC, ${p}) *\n getW(wF, wR, wC, ${p}, d2);\n } else if (${2===f}) {\n vec2 xValues = vec2(\n getX(batch, xF, xR, xC, ${p}),\n getX(batch, xF, xR, xC, ${p} + 1)\n );\n vec2 wValues = vec2(\n getW(wF, wR, wC, ${p}, d2),\n getW(wF, wR, wC, ${p} + 1, d2)\n );\n dotProd += dot(xValues, wValues);\n } else if (${3===f}) {\n vec3 xValues = vec3(\n getX(batch, xF, xR, xC, ${p}),\n getX(batch, xF, xR, xC, ${p} + 1),\n getX(batch, xF, xR, xC, ${p} + 2)\n );\n vec3 wValues = vec3(\n getW(wF, wR, wC, ${p}, d2),\n getW(wF, wR, wC, ${p} + 1, d2),\n getW(wF, wR, wC, ${p} + 2, d2)\n );\n dotProd += dot(xValues, wValues);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}} /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -16223,7 +16223,7 @@ class jve{constructor(e,t=!1,n=null,i=!1,r=!1){this.variableNames=["x","W"],this * limitations under the License. * ============================================================================= */ -class Gve{constructor(e,t=!1,n=null,i=!1,r=!1){this.variableNames=["x","W"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"pads",type:"ivec2"},{name:"strides",type:"ivec2"},{name:"dilations",type:"ivec2"},{name:"inDims",type:"ivec2"}],this.outputShape=e.outShape,this.enableShapeUniforms=jme(this.outputShape.length);const s=e.padInfo.left,o=e.strideWidth,a=e.dilationWidth,l=e.filterHeight,u=e.filterWidth,c=u;let d="\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;";for(let e=0;e=0 && xR < inDims[0]) {\n ";for(let t=0;t<(c+1)/2;t++){const n=2*t;if(d+=`\n xC = xCCorner + ${n*a};\n `,1===o){if(n= 0 && xCOffset < inDims[1] && xTexelC${n}Ready == 0) {\n xTexelC${n} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n}.zw = vec2(0.0);\n }\n xTexelC${n}Ready = 1;\n }\n `,d+=1===a&&n>0?`\n xC${n} = vec4(xTexelC${n-2}.zw, xTexelC${n}.xy);\n `:`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${n} = vec4(previous.zw, xTexelC${n}.xy);\n } else {\n xC${n} = vec4(0.0, 0.0, xTexelC${n}.xy);\n }\n `):d+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${n}Ready == 0) {\n xTexelC${n} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${n}.zw = vec2(0.0);\n }\n xTexelC${n}Ready = 1;\n }\n\n xC${n} = xTexelC${n};\n `,n+1= 0 && xCOffset < inDims[1] && xTexelC${n+1}Ready == 0) {\n xTexelC${n+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n+1}.zw = vec2(0.0);\n }\n xTexelC${n+1}Ready = 1;\n }\n `,d+=a>1?`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${n+1} = vec4(previous.zw, xTexelC${n+1}.xy);\n } else {\n xC${n+1} = vec4(0.0, 0.0, xTexelC${n+1}.xy);\n }\n `:`\n xC${n+1} = vec4(xTexelC${n}.zw, xTexelC${n+1}.xy);\n `):d+=1===e?`\n xC${n+1} = xTexelC${n};\n `:`\n xCOffset = xC + ${e};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${n+1}Ready == 0) {\n xTexelC${n+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n+1}.zw = vec2(0.0);\n }\n xTexelC${n+1}Ready = 1;\n }\n\n xC${n+1} = xTexelC${n+1};\n `}}else n= 0 && xCOffset < inDims[1] && xTexelC${n}Ready == 0) {\n xTexelC${n} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n}.zw = vec2(0.0);\n }\n xTexelC${n}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${n+1}Ready == 0) {\n xTexelC${n+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${n+1}.zw = vec2(0.0);\n }\n xTexelC${n+1}Ready = 1;\n }\n\n xC${n} = vec4(xTexelC${n}.zw, xTexelC${n+1}.zw);\n `,n+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${n+1} = vec4(xTexelC${n+1}.xy, final.xy);\n `)):(d+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${n}Ready == 0) {\n xTexelC${n} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${n}.zw = vec2(0.0);\n }\n xTexelC${n}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${n+1}Ready == 0) {\n xTexelC${n+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n+1}.zw = vec2(0.);\n }\n xTexelC${n+1}Ready = 1;\n }\n\n xC${n} = vec4(\n xTexelC${n}.xy, xTexelC${n+1}.xy);\n `,n+1=0 && xR < inDims[0]) {\n ";for(let t=0;t<(c+1)/2;t++){const n=2*t;if(d+=`\n xC = xCCorner + ${n*a};\n `,1===o){if(n= 0 && xCOffset < inDims[1] && xTexelC${n}Ready == 0) {\n xTexelC${n} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n}.zw = vec2(0.0);\n }\n xTexelC${n}Ready = 1;\n }\n `,d+=1===a&&n>0?`\n xC${n} = vec4(xTexelC${n-2}.zw, xTexelC${n}.xy);\n `:`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${n} = vec4(previous.zw, xTexelC${n}.xy);\n } else {\n xC${n} = vec4(0.0, 0.0, xTexelC${n}.xy);\n }\n `):d+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${n}Ready == 0) {\n xTexelC${n} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${n}.zw = vec2(0.0);\n }\n xTexelC${n}Ready = 1;\n }\n\n xC${n} = xTexelC${n};\n `,n+1= 0 && xCOffset < inDims[1] && xTexelC${n+1}Ready == 0) {\n xTexelC${n+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n+1}.zw = vec2(0.0);\n }\n xTexelC${n+1}Ready = 1;\n }\n `,d+=a>1?`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${n+1} = vec4(previous.zw, xTexelC${n+1}.xy);\n } else {\n xC${n+1} = vec4(0.0, 0.0, xTexelC${n+1}.xy);\n }\n `:`\n xC${n+1} = vec4(xTexelC${n}.zw, xTexelC${n+1}.xy);\n `):d+=1===e?`\n xC${n+1} = xTexelC${n};\n `:`\n xCOffset = xC + ${e};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${n+1}Ready == 0) {\n xTexelC${n+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n+1}.zw = vec2(0.0);\n }\n xTexelC${n+1}Ready = 1;\n }\n\n xC${n+1} = xTexelC${n+1};\n `}}else n= 0 && xCOffset < inDims[1] && xTexelC${n}Ready == 0) {\n xTexelC${n} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n}.zw = vec2(0.0);\n }\n xTexelC${n}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${n+1}Ready == 0) {\n xTexelC${n+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${n+1}.zw = vec2(0.0);\n }\n xTexelC${n+1}Ready = 1;\n }\n\n xC${n} = vec4(xTexelC${n}.zw, xTexelC${n+1}.zw);\n `,n+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${n+1} = vec4(xTexelC${n+1}.xy, final.xy);\n `)):(d+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${n}Ready == 0) {\n xTexelC${n} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${n}.zw = vec2(0.0);\n }\n xTexelC${n}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${n+1}Ready == 0) {\n xTexelC${n+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${n+1}.zw = vec2(0.);\n }\n xTexelC${n+1}Ready = 1;\n }\n\n xC${n} = vec4(\n xTexelC${n}.xy, xTexelC${n+1}.xy);\n `,n+1= 0) {\n // Use custom imod instead mod. On Intel GPU, mod may generate\n // unexpected value.\n // https://github.com/tensorflow/tfjs/issues/5447\n offsetX = imod(blockIndex, outWidth) * stride[1] - pad[1];\n d1 = offsetX + dilation[1] * (imod(pos, itemsPerBlockRow) /\n inChannels);\n\n if(d1 < inputShape[${o}] && d1 >= 0) {\n\n ch = imod(pos, inChannels);\n\n if (${r}) {\n innerDims = vec2(d1, ch);\n result[${2*e+t}] = getChannel(\n getA(rc.x, d0, int(innerDims.x),\n int(innerDims.y)), innerDims);\n } else {\n innerDims = vec2(d0, d1);\n result[${2*e+t}] = getChannel(\n getA(rc.x, ch, int(innerDims.x),\n int(innerDims.y)), innerDims);\n }\n }\n }\n }\n `;this.userCode=`\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0);\n\n int blockIndex, pos, offsetY, d0, offsetX, d1, ch;\n vec2 innerDims;\n\n ${l}\n\n ${i.output} = result;\n }\n `}} +class Qve{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"inputShape",type:"ivec4"},{name:"pad",type:"ivec2"},{name:"stride",type:"ivec2"},{name:"dilation",type:"ivec2"},{name:"inChannels",type:"int"},{name:"itemsPerBlockRow",type:"int"},{name:"outWidth",type:"int"}],this.outputShape=e,this.enableShapeUniforms=qme(this.outputShape.length);const{dataFormat:n}=t,i=Ame(),r="channelsLast"===n,s=r?1:2,o=r?2:3,a=this.enableShapeUniforms?"if(blockIndex < outShape[2] && pos < outShape[1]) {":`if(blockIndex < ${e[2]} && pos < ${e[1]}) {`;let l="";for(let e=0;e<=1;e++)for(let t=0;t<=1;t++)l+=`\n blockIndex = rc.z + ${t};\n pos = rc.y + ${e};\n\n ${a}\n offsetY = int(blockIndex / outWidth) * stride[0] - pad[0];\n d0 = offsetY + dilation[0] * (pos / itemsPerBlockRow);\n\n if(d0 < inputShape[${s}] && d0 >= 0) {\n // Use custom imod instead mod. On Intel GPU, mod may generate\n // unexpected value.\n // https://github.com/tensorflow/tfjs/issues/5447\n offsetX = imod(blockIndex, outWidth) * stride[1] - pad[1];\n d1 = offsetX + dilation[1] * (imod(pos, itemsPerBlockRow) /\n inChannels);\n\n if(d1 < inputShape[${o}] && d1 >= 0) {\n\n ch = imod(pos, inChannels);\n\n if (${r}) {\n innerDims = vec2(d1, ch);\n result[${2*e+t}] = getChannel(\n getA(rc.x, d0, int(innerDims.x),\n int(innerDims.y)), innerDims);\n } else {\n innerDims = vec2(d0, d1);\n result[${2*e+t}] = getChannel(\n getA(rc.x, ch, int(innerDims.x),\n int(innerDims.y)), innerDims);\n }\n }\n }\n }\n `;this.userCode=`\n void main() {\n ivec3 rc = getOutputCoords();\n\n vec4 result = vec4(0);\n\n int blockIndex, pos, offsetY, d0, offsetX, d1, ch;\n vec2 innerDims;\n\n ${l}\n\n ${i.output} = result;\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16257,7 +16257,7 @@ class Hve{constructor(e,t){this.variableNames=["A"],this.packedInputs=!0,this.pa * limitations under the License. * ============================================================================= */ -function Wve(e,t){const n=e.length;return n>=3?t?[...e.slice(0,-3),e[n-3]*e[n-2],e[n-1]]:[...e.slice(0,-3),e[n-3],e[n-2]*e[n-1]]:!t&&1===n&&e[0]>1?[e[0],1]:null}function Xve({x:e,filter:t,convInfo:n,backend:i,bias:r=null,preluActivationWeights:s=null,leakyreluAlpha:o=0,activation:a=null}){const l=e.shape,u=i.texData.get(e.dataId),c=n.inChannels,d=l[0]*l[1]*l[2],h=n.outChannels,p="channelsLast"===n.dataFormat,f=!1;let m;const g=[];if(null!=s){const e=Wve(s.shape,p);null!=e&&(s=uye({inputs:{x:s},backend:i,attrs:{shape:e}}),g.push(s))}if(null!=r){const e=Wve(r.shape,p);null!=e&&(r=uye({inputs:{x:r},backend:i,attrs:{shape:e}}),g.push(r))}if(!((1===d||1===h)&&c>1e3)&&u.isPacked&&p&&null!=u.texture&&l[2]%2!=0&&p3.util.arraysEqual(u.shape.slice(-3),l.slice(-3))){const c=l[0]*l[1]*(l[2]+1),d={dataId:e.dataId,shape:[1,c,n.inChannels],dtype:e.dtype},h=u.shape;u.shape=u.shape.slice(),u.shape[u.shape.length-2]++,p3.util.assert(rme(u.shape,d.shape),()=>`packed reshape ${u.shape} to ${d.shape} isn't free`);const p=uye({inputs:{x:t},backend:i,attrs:{shape:[1,n.inChannels,n.outChannels]}});g.push(p);const _=Tye({a:d,b:p,backend:i,transposeA:false,transposeB:f,bias:r,activation:a,preluActivationWeights:s,leakyreluAlpha:o}),y=i.texData.get(_.dataId);p3.util.assert(y.isPacked,()=>"batchMatMul result is expected to be packed"),u.shape=h,y.shape=n.outShape,m=z_e({inputs:{x:_},backend:i}),m.shape=n.outShape,g.push(_)}else{const l=n.outHeight*n.outWidth,u=uye({inputs:{x:e},backend:i,attrs:{shape:p?[n.batchSize,l,n.inChannels]:[n.batchSize,n.inChannels,l]}}),c=uye({inputs:{x:t},backend:i,attrs:{shape:[1,n.inChannels,n.outChannels]}}),d=Tye({a:p?u:c,b:p?c:u,transposeA:!p,transposeB:f,backend:i,bias:r,activation:a,preluActivationWeights:s,leakyreluAlpha:o});m=uye({inputs:{x:d},backend:i,attrs:{shape:n.outShape}}),g.push(u),g.push(c),g.push(d)}for(const e of g)i.disposeIntermediateTensorInfo(e);return m}function qve({x:e,filter:t,convInfo:n,backend:i,bias:r=null,preluActivationWeights:s=null,leakyreluAlpha:o=0,activation:a=null}){const{filterWidth:l,filterHeight:u,inChannels:c,outWidth:d,outHeight:h,dataFormat:p}=n,f="channelsLast"===p,m=l*u*c,g=h*d,_=[n.batchSize,m,g],y=[];if(null!=s){const e=Wve(s.shape,f);null!=e&&(s=uye({inputs:{x:s},backend:i,attrs:{shape:e}}),y.push(s))}if(null!=r){const e=Wve(r.shape,f);null!=e&&(r=uye({inputs:{x:r},backend:i,attrs:{shape:e}}),y.push(r))}const v=uye({inputs:{x:t},backend:i,attrs:{shape:[1,m,p3.util.sizeFromShape(t.shape)/m]}});y.push(v);const b=new Hve(_,n),T=[e.shape,[n.padInfo.top,n.padInfo.left],[n.strideHeight,n.strideWidth],[n.dilationHeight,n.dilationWidth],[n.inChannels],[n.filterWidth*n.inChannels],[n.outWidth]],x=i.runWebGLProgram(b,[e],"float32",T),E=uye({inputs:{x},backend:i,attrs:{shape:_}});y.push(x),y.push(E);const w=null!=r,I=null!=s,A="leakyrelu"===a,S=a?tye(a,!0):null,C=new nye(f?E.shape:v.shape,f?v.shape:E.shape,f?[n.batchSize,g,n.outChannels]:[n.batchSize,n.outChannels,g],!0,!1,w,S,I,A),O=f?[E,v]:[v,E];if(r&&O.push(r),I&&O.push(s),A){const e=i.makeTensorInfo([],"float32",p3.util.createScalarValue(o,"float32"));O.push(e),y.push(e)}const M=i.runWebGLProgram(C,O,"float32"),k=uye({inputs:{x:M},backend:i,attrs:{shape:n.outShape}});y.push(M);for(const e of y)i.disposeIntermediateTensorInfo(e);return k}const Kve={kernelName:p3.Conv2D,backendName:"webgl",kernelFunc: +function Jve(e,t){const n=e.length;return n>=3?t?[...e.slice(0,-3),e[n-3]*e[n-2],e[n-1]]:[...e.slice(0,-3),e[n-3],e[n-2]*e[n-1]]:!t&&1===n&&e[0]>1?[e[0],1]:null}function ebe({x:e,filter:t,convInfo:n,backend:i,bias:r=null,preluActivationWeights:s=null,leakyreluAlpha:o=0,activation:a=null}){const l=e.shape,u=i.texData.get(e.dataId),c=n.inChannels,d=l[0]*l[1]*l[2],h=n.outChannels,p="channelsLast"===n.dataFormat,f=!1;let m;const g=[];if(null!=s){const e=Jve(s.shape,p);null!=e&&(s=mye({inputs:{x:s},backend:i,attrs:{shape:e}}),g.push(s))}if(null!=r){const e=Jve(r.shape,p);null!=e&&(r=mye({inputs:{x:r},backend:i,attrs:{shape:e}}),g.push(r))}if(!((1===d||1===h)&&c>1e3)&&u.isPacked&&p&&null!=u.texture&&l[2]%2!=0&&v3.util.arraysEqual(u.shape.slice(-3),l.slice(-3))){const c=l[0]*l[1]*(l[2]+1),d={dataId:e.dataId,shape:[1,c,n.inChannels],dtype:e.dtype},h=u.shape;u.shape=u.shape.slice(),u.shape[u.shape.length-2]++,v3.util.assert(cme(u.shape,d.shape),()=>`packed reshape ${u.shape} to ${d.shape} isn't free`);const p=mye({inputs:{x:t},backend:i,attrs:{shape:[1,n.inChannels,n.outChannels]}});g.push(p);const _=Sye({a:d,b:p,backend:i,transposeA:false,transposeB:f,bias:r,activation:a,preluActivationWeights:s,leakyreluAlpha:o}),y=i.texData.get(_.dataId);v3.util.assert(y.isPacked,()=>"batchMatMul result is expected to be packed"),u.shape=h,y.shape=n.outShape,m=X_e({inputs:{x:_},backend:i}),m.shape=n.outShape,g.push(_)}else{const l=n.outHeight*n.outWidth,u=mye({inputs:{x:e},backend:i,attrs:{shape:p?[n.batchSize,l,n.inChannels]:[n.batchSize,n.inChannels,l]}}),c=mye({inputs:{x:t},backend:i,attrs:{shape:[1,n.inChannels,n.outChannels]}}),d=Sye({a:p?u:c,b:p?c:u,transposeA:!p,transposeB:f,backend:i,bias:r,activation:a,preluActivationWeights:s,leakyreluAlpha:o});m=mye({inputs:{x:d},backend:i,attrs:{shape:n.outShape}}),g.push(u),g.push(c),g.push(d)}for(const e of g)i.disposeIntermediateTensorInfo(e);return m}function tbe({x:e,filter:t,convInfo:n,backend:i,bias:r=null,preluActivationWeights:s=null,leakyreluAlpha:o=0,activation:a=null}){const{filterWidth:l,filterHeight:u,inChannels:c,outWidth:d,outHeight:h,dataFormat:p}=n,f="channelsLast"===p,m=l*u*c,g=h*d,_=[n.batchSize,m,g],y=[];if(null!=s){const e=Jve(s.shape,f);null!=e&&(s=mye({inputs:{x:s},backend:i,attrs:{shape:e}}),y.push(s))}if(null!=r){const e=Jve(r.shape,f);null!=e&&(r=mye({inputs:{x:r},backend:i,attrs:{shape:e}}),y.push(r))}const v=mye({inputs:{x:t},backend:i,attrs:{shape:[1,m,v3.util.sizeFromShape(t.shape)/m]}});y.push(v);const b=new Qve(_,n),T=[e.shape,[n.padInfo.top,n.padInfo.left],[n.strideHeight,n.strideWidth],[n.dilationHeight,n.dilationWidth],[n.inChannels],[n.filterWidth*n.inChannels],[n.outWidth]],x=i.runWebGLProgram(b,[e],"float32",T),E=mye({inputs:{x},backend:i,attrs:{shape:_}});y.push(x),y.push(E);const w=null!=r,I=null!=s,A="leakyrelu"===a,S=a?aye(a,!0):null,C=new lye(f?E.shape:v.shape,f?v.shape:E.shape,f?[n.batchSize,g,n.outChannels]:[n.batchSize,n.outChannels,g],!0,!1,w,S,I,A),O=f?[E,v]:[v,E];if(r&&O.push(r),I&&O.push(s),A){const e=i.makeTensorInfo([],"float32",v3.util.createScalarValue(o,"float32"));O.push(e),y.push(e)}const M=i.runWebGLProgram(C,O,"float32"),k=mye({inputs:{x:M},backend:i,attrs:{shape:n.outShape}});y.push(M);for(const e of y)i.disposeIntermediateTensorInfo(e);return k}const nbe={kernelName:v3.Conv2D,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16274,7 +16274,7 @@ function Wve(e,t){const n=e.length;return n>=3?t?[...e.slice(0,-3),e[n-3]*e[n-2] * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad:a,dataFormat:l,dilations:u,dimRoundingMode:c}=i,d=p3.backend_util.convertConv2DDataFormat(l),h=p3.backend_util.computeConv2DInfo(r.shape,s.shape,o,u,a,c,!1,d);let p;if(1!==h.filterHeight||1!==h.filterWidth||1!==h.dilationHeight||1!==h.dilationWidth||1!==h.strideHeight||1!==h.strideWidth||"SAME"!==h.padInfo.type&&"VALID"!==h.padInfo.type)if(h.strideWidth<=2&&"channelsLast"===d&&(0,p3.env)().getBool("WEBGL_EXP_CONV")){const e=new Gve(h),t=[[h.padInfo.top,h.padInfo.left],[h.strideHeight,h.strideWidth],[h.dilationHeight,h.dilationWidth],[h.inHeight,h.inWidth]];p=n.runWebGLProgram(e,[r,s],"float32",t)}else if((0,p3.env)().getBool("WEBGL_CONV_IM2COL"))p=qve({x:r,filter:s,convInfo:h,backend:n});else{const e=new jve(h);p=n.runWebGLProgram(e,[r,s],"float32")}else p=Xve({x:r,filter:s,convInfo:h,backend:n});const f=uye({inputs:{x:p},backend:n,attrs:{shape:h.outShape}});return n.disposeIntermediateTensorInfo(p),f}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad:a,dataFormat:l,dilations:u,dimRoundingMode:c}=i,d=v3.backend_util.convertConv2DDataFormat(l),h=v3.backend_util.computeConv2DInfo(r.shape,s.shape,o,u,a,c,!1,d);let p;if(1!==h.filterHeight||1!==h.filterWidth||1!==h.dilationHeight||1!==h.dilationWidth||1!==h.strideHeight||1!==h.strideWidth||"SAME"!==h.padInfo.type&&"VALID"!==h.padInfo.type)if(h.strideWidth<=2&&"channelsLast"===d&&(0,v3.env)().getBool("WEBGL_EXP_CONV")){const e=new Zve(h),t=[[h.padInfo.top,h.padInfo.left],[h.strideHeight,h.strideWidth],[h.dilationHeight,h.dilationWidth],[h.inHeight,h.inWidth]];p=n.runWebGLProgram(e,[r,s],"float32",t)}else if((0,v3.env)().getBool("WEBGL_CONV_IM2COL"))p=tbe({x:r,filter:s,convInfo:h,backend:n});else{const e=new qve(h);p=n.runWebGLProgram(e,[r,s],"float32")}else p=ebe({x:r,filter:s,convInfo:h,backend:n});const f=mye({inputs:{x:p},backend:n,attrs:{shape:h.outShape}});return n.disposeIntermediateTensorInfo(p),f}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -16291,7 +16291,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad: * limitations under the License. * ============================================================================= */ -class Zve{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideHeight,n=e.strideWidth,i=e.padInfo.top,r=e.padInfo.left,s="channelsLast"===e.dataFormat;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int d2 = coords.w;\n\n // Convolve x(?, ?, d1) with dy(:, :, d2) to get dw(wR, wC, d1, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${t} - ${i};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${r};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n ${s?"float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);":"float dyValue = getDy(b, d2, yR, yC);\n float xValue = getX(b, d1, xR, xC);\n dotProd += (xValue * dyValue);"}\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class Qve{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,i=e.strideHeight,r=e.strideWidth,s="channelsLast"===e.dataFormat,o=t-1-e.padInfo.top,a=n-1-e.padInfo.left,l=s?1:2,u=s?2:3,c=s?3:1;this.userCode=`\n const ivec2 pads = ivec2(${o}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[${c}];\n\n ivec2 dyCorner = ivec2(coords[${l}], coords[${u}]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${r}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n for (int d2 = 0; d2 < ${e.outChannels}; d2++) {\n\n if (${s}) {\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n } else {\n float xValue = getDy(batch, d2, idyR, idyC);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class Jve{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideDepth,n=e.strideHeight,i=e.strideWidth,r=e.padInfo.front,s=e.padInfo.top,o=e.padInfo.left;this.userCode=`\n void main() {\n ivec5 coords = getOutputCoords();\n int wF = coords.x;\n int wR = coords.y;\n int wC = coords.z;\n int d1 = coords.w;\n int d2 = coords.u;\n\n float dotProd = 0.0;\n\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yF = 0; yF < ${e.outDepth}; yF++) {\n int xF = wF + yF * ${t} - ${r};\n\n if (xF < 0 || xF >= ${e.inDepth}) {\n continue;\n }\n\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${n} - ${s};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${i} - ${o};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yF, yR, yC, d2);\n float xValue = getX(b, xF, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class ebe{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterDepth,n=e.filterHeight,i=e.filterWidth,r=e.strideDepth,s=e.strideHeight,o=e.strideWidth,a=t-1-e.padInfo.front,l=n-1-e.padInfo.top,u=i-1-e.padInfo.left;this.userCode=`\n const ivec3 pads = ivec3(${a}, ${l}, ${u});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.u;\n\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyFCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n float dotProd = 0.0;\n for (int wF = 0; wF < ${t}; wF++) {\n float dyF = float(dyFCorner + wF) / ${r}.0;\n\n if (dyF < 0.0 || dyF >= ${e.outDepth}.0 || fract(dyF) > 0.0) {\n continue;\n }\n int idyF = int(dyF);\n\n int wFPerm = ${t} - 1 - wF;\n\n for (int wR = 0; wR < ${n}; wR++) {\n float dyR = float(dyRCorner + wR) / ${s}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${n} - 1 - wR;\n\n for (int wC = 0; wC < ${i}; wC++) {\n float dyC = float(dyCCorner + wC) / ${o}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${i} - 1 - wC;\n\n for (int d2 = 0; d2 < ${e.outChannels}; d2++) {\n float xValue = getDy(batch, idyF, idyR, idyC, d2);\n float wValue = getW(wFPerm, wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const tbe={kernelName:p3.Conv2DBackpropFilter,backendName:"webgl",kernelFunc: +class ibe{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideHeight,n=e.strideWidth,i=e.padInfo.top,r=e.padInfo.left,s="channelsLast"===e.dataFormat;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int d2 = coords.w;\n\n // Convolve x(?, ?, d1) with dy(:, :, d2) to get dw(wR, wC, d1, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${t} - ${i};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${r};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n ${s?"float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);":"float dyValue = getDy(b, d2, yR, yC);\n float xValue = getX(b, d1, xR, xC);\n dotProd += (xValue * dyValue);"}\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class rbe{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,i=e.strideHeight,r=e.strideWidth,s="channelsLast"===e.dataFormat,o=t-1-e.padInfo.top,a=n-1-e.padInfo.left,l=s?1:2,u=s?2:3,c=s?3:1;this.userCode=`\n const ivec2 pads = ivec2(${o}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[${c}];\n\n ivec2 dyCorner = ivec2(coords[${l}], coords[${u}]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${r}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n for (int d2 = 0; d2 < ${e.outChannels}; d2++) {\n\n if (${s}) {\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n } else {\n float xValue = getDy(batch, d2, idyR, idyC);\n float wValue = getW(wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class sbe{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideDepth,n=e.strideHeight,i=e.strideWidth,r=e.padInfo.front,s=e.padInfo.top,o=e.padInfo.left;this.userCode=`\n void main() {\n ivec5 coords = getOutputCoords();\n int wF = coords.x;\n int wR = coords.y;\n int wC = coords.z;\n int d1 = coords.w;\n int d2 = coords.u;\n\n float dotProd = 0.0;\n\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yF = 0; yF < ${e.outDepth}; yF++) {\n int xF = wF + yF * ${t} - ${r};\n\n if (xF < 0 || xF >= ${e.inDepth}) {\n continue;\n }\n\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${n} - ${s};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${i} - ${o};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yF, yR, yC, d2);\n float xValue = getX(b, xF, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class obe{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterDepth,n=e.filterHeight,i=e.filterWidth,r=e.strideDepth,s=e.strideHeight,o=e.strideWidth,a=t-1-e.padInfo.front,l=n-1-e.padInfo.top,u=i-1-e.padInfo.left;this.userCode=`\n const ivec3 pads = ivec3(${a}, ${l}, ${u});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.u;\n\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyFCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n float dotProd = 0.0;\n for (int wF = 0; wF < ${t}; wF++) {\n float dyF = float(dyFCorner + wF) / ${r}.0;\n\n if (dyF < 0.0 || dyF >= ${e.outDepth}.0 || fract(dyF) > 0.0) {\n continue;\n }\n int idyF = int(dyF);\n\n int wFPerm = ${t} - 1 - wF;\n\n for (int wR = 0; wR < ${n}; wR++) {\n float dyR = float(dyRCorner + wR) / ${s}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${n} - 1 - wR;\n\n for (int wC = 0; wC < ${i}; wC++) {\n float dyC = float(dyCCorner + wC) / ${o}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${i} - 1 - wC;\n\n for (int d2 = 0; d2 < ${e.outChannels}; d2++) {\n float xValue = getDy(batch, idyF, idyR, idyC, d2);\n float wValue = getW(wFPerm, wRPerm, wCPerm, d1, d2);\n dotProd += xValue * wValue;\n }\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const abe={kernelName:v3.Conv2DBackpropFilter,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16308,7 +16308,7 @@ class Zve{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filter * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,pad:a,dataFormat:l,dimRoundingMode:u,filterShape:c}=i,d=p3.backend_util.convertConv2DDataFormat(l),h=p3.backend_util.computeConv2DInfo(r.shape,c,o,1,a,u,!1,d),p=new Zve(h);return n.runWebGLProgram(p,[r,s],"float32")}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,pad:a,dataFormat:l,dimRoundingMode:u,filterShape:c}=i,d=v3.backend_util.convertConv2DDataFormat(l),h=v3.backend_util.computeConv2DInfo(r.shape,c,o,1,a,u,!1,d),p=new ibe(h);return n.runWebGLProgram(p,[r,s],"float32")}}; /** * @license * Copyright 2023 Google LLC. @@ -16325,7 +16325,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,pad:a,da * limitations under the License. * ============================================================================= */ -class nbe{constructor(e){this.variableNames=["dy","W"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"strides",type:"vec2"}],this.outputShape=e.inShape,this.enableShapeUniforms=jme(this.outputShape.length);const t=e.filterHeight,n=e.filterWidth,i=t-1-e.padInfo.top,r=n-1-e.padInfo.left;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${r});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n\n ivec2 dyCorner = ivec2(coords[1], coords[2]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n vec4 result = vec4(0.);\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / strides[0];\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n int wCPerm = ${n} - 1 - wC;\n\n float dyC = float(dyCCorner + wC) / strides[1];\n bool idyCVal = (dyC >= 0.0) && (dyC < ${e.outWidth}.0)\n && (fract(dyC) == 0.0);\n int idyC = int(dyC);\n\n float dyC2 = float(dyCCorner + wC + 1) / strides[1];\n bool idyCVal2 = (dyC2 >= 0.0) && (dyC2 < ${e.outWidth}.0)\n && (fract(dyC2) == 0.0);\n int idyC2 = int(dyC2);\n\n if (idyCVal && idyCVal2) {\n for (int d2 = 0; d2 < ${e.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC, d2);\n vec4 dySample2 = (idyC / 2 == idyC2 / 2) ?\n dySample : getDy(batch, idyR, idyC2, d2);\n\n vec2 dyValue = mod(float(idyC), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.xy += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n\n dyValue = mod(float(idyC2), 2.) == 0. ?\n dySample2.xy : dySample2.zw;\n result.zw += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n } else if (idyCVal) {\n for (int d2 = 0; d2 < ${e.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC, d2);\n vec2 dyValue = mod(float(idyC), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.xy += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n } else if (idyCVal2) {\n for (int d2 = 0; d2 < ${e.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC2, d2);\n vec2 dyValue = mod(float(idyC2), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.zw += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n }\n }\n }\n setOutput(result);\n }\n `}}const ibe={kernelName:p3.Conv2DBackpropInput,backendName:"webgl",kernelFunc: +class lbe{constructor(e){this.variableNames=["dy","W"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"strides",type:"vec2"}],this.outputShape=e.inShape,this.enableShapeUniforms=qme(this.outputShape.length);const t=e.filterHeight,n=e.filterWidth,i=t-1-e.padInfo.top,r=n-1-e.padInfo.left;this.userCode=`\n const ivec2 pads = ivec2(${i}, ${r});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n\n ivec2 dyCorner = ivec2(coords[1], coords[2]) - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n vec4 result = vec4(0.);\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / strides[0];\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n int wCPerm = ${n} - 1 - wC;\n\n float dyC = float(dyCCorner + wC) / strides[1];\n bool idyCVal = (dyC >= 0.0) && (dyC < ${e.outWidth}.0)\n && (fract(dyC) == 0.0);\n int idyC = int(dyC);\n\n float dyC2 = float(dyCCorner + wC + 1) / strides[1];\n bool idyCVal2 = (dyC2 >= 0.0) && (dyC2 < ${e.outWidth}.0)\n && (fract(dyC2) == 0.0);\n int idyC2 = int(dyC2);\n\n if (idyCVal && idyCVal2) {\n for (int d2 = 0; d2 < ${e.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC, d2);\n vec4 dySample2 = (idyC / 2 == idyC2 / 2) ?\n dySample : getDy(batch, idyR, idyC2, d2);\n\n vec2 dyValue = mod(float(idyC), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.xy += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n\n dyValue = mod(float(idyC2), 2.) == 0. ?\n dySample2.xy : dySample2.zw;\n result.zw += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n } else if (idyCVal) {\n for (int d2 = 0; d2 < ${e.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC, d2);\n vec2 dyValue = mod(float(idyC), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.xy += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n } else if (idyCVal2) {\n for (int d2 = 0; d2 < ${e.outChannels}; d2 += 2) {\n vec4 wValue = getW(wRPerm, wCPerm, d1, d2);\n vec4 dySample = getDy(batch, idyR, idyC2, d2);\n vec2 dyValue = mod(float(idyC2), 2.) == 0. ?\n dySample.xy : dySample.zw;\n result.zw += vec2(dot(dyValue, wValue.xy),\n dot(dyValue, wValue.zw));\n }\n }\n }\n }\n setOutput(result);\n }\n `}}const ube={kernelName:v3.Conv2DBackpropInput,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16342,7 +16342,7 @@ class nbe{constructor(e){this.variableNames=["dy","W"],this.packedInputs=!0,this * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{inputShape:o,strides:a,pad:l,dataFormat:u,dimRoundingMode:c}=i,d=p3.backend_util.convertConv2DDataFormat(u),h=p3.backend_util.computeConv2DInfo(o,s.shape,a,1,l,c,!1,d);if((0,p3.env)().getBool("WEBGL_PACK_CONV2DTRANSPOSE")&&"channelsLast"===d){const e=[[h.strideHeight,h.strideWidth]],t=new nbe(h);return n.runWebGLProgram(t,[r,s],"float32",e)}{const e=new Qve(h);return n.runWebGLProgram(e,[r,s],"float32")}}};const rbe={kernelName:p3.Conv3D,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{inputShape:o,strides:a,pad:l,dataFormat:u,dimRoundingMode:c}=i,d=v3.backend_util.convertConv2DDataFormat(u),h=v3.backend_util.computeConv2DInfo(o,s.shape,a,1,l,c,!1,d);if((0,v3.env)().getBool("WEBGL_PACK_CONV2DTRANSPOSE")&&"channelsLast"===d){const e=[[h.strideHeight,h.strideWidth]],t=new lbe(h);return n.runWebGLProgram(t,[r,s],"float32",e)}{const e=new rbe(h);return n.runWebGLProgram(e,[r,s],"float32")}}};const cbe={kernelName:v3.Conv3D,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16359,7 +16359,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{inputShape:o, * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad:a,dilations:l}=i,u=p3.backend_util.computeConv3DInfo(r.shape,s.shape,o,l,a),c=new Yve(u);return n.runWebGLProgram(c,[r,s],"float32")}};const sbe={kernelName:p3.Conv3DBackpropFilterV2,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad:a,dilations:l}=i,u=v3.backend_util.computeConv3DInfo(r.shape,s.shape,o,l,a),c=new Kve(u);return n.runWebGLProgram(c,[r,s],"float32")}};const dbe={kernelName:v3.Conv3DBackpropFilterV2,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16376,7 +16376,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad: * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,pad:a,filterShape:l}=i,u=p3.backend_util.computeConv3DInfo(r.shape,l,o,1,a),c=new Jve(u);return n.runWebGLProgram(c,[r,s],"float32")}};const obe={kernelName:p3.Conv3DBackpropInputV2,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,pad:a,filterShape:l}=i,u=v3.backend_util.computeConv3DInfo(r.shape,l,o,1,a),c=new sbe(u);return n.runWebGLProgram(c,[r,s],"float32")}};const hbe={kernelName:v3.Conv3DBackpropInputV2,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16393,7 +16393,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,pad:a,fi * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{pad:o,strides:a,inputShape:l}=i,u=p3.backend_util.computeConv3DInfo(l,s.shape,a,1,o),c=new ebe(u);return n.runWebGLProgram(c,[r,s],"float32")}},abe=J_e({opSnippet:Q_e+"\n return cos(x);\n",packedOpSnippet:`\n vec4 result = cos(x);\n bvec4 isNaN = isnan(x);\n ${U_e}\n return result;\n`}),lbe={kernelName:p3.Cos,backendName:"webgl",kernelFunc:abe},ube=J_e({opSnippet:"\n float e2x = exp(-x);\n return (e2x + 1.0 / e2x) / 2.0;\n"}),cbe={kernelName:p3.Cosh,backendName:"webgl",kernelFunc:ube}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{pad:o,strides:a,inputShape:l}=i,u=v3.backend_util.computeConv3DInfo(l,s.shape,a,1,o),c=new obe(u);return n.runWebGLProgram(c,[r,s],"float32")}},pbe=sye({opSnippet:rye+"\n return cos(x);\n",packedOpSnippet:`\n vec4 result = cos(x);\n bvec4 isNaN = isnan(x);\n ${H_e}\n return result;\n`}),fbe={kernelName:v3.Cos,backendName:"webgl",kernelFunc:pbe},mbe=sye({opSnippet:"\n float e2x = exp(-x);\n return (e2x + 1.0 / e2x) / 2.0;\n"}),gbe={kernelName:v3.Cosh,backendName:"webgl",kernelFunc:mbe}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -16410,7 +16410,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{pad:o,strides * limitations under the License. * ============================================================================= */ -class dbe{constructor(e,t,n,i,r){this.variableNames=["Image","Boxes","BoxInd"],this.outputShape=[];const[s,o,a,l]=e,[u]=t,[c,d]=n;this.outputShape=[u,c,d,l];const h="bilinear"===i?1:0,[p,f]=[o-1+".0",a-1+".0"],[m,g,_]=c>1?[""+(o-1)/(c-1),"(y2-y1) * height_ratio",`y1*${p} + float(y)*(height_scale)`]:["0.0","0.0",`0.5 * (y1+y2) * ${p}`],[y,v,b]=d>1?[""+(a-1)/(d-1),"(x2-x1) * width_ratio",`x1*${f} + float(x)*(width_scale)`]:["0.0","0.0",`0.5 * (x1+x2) * ${f}`];this.userCode=`\n const float height_ratio = float(${m});\n const float width_ratio = float(${y});\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int y = coords[1];\n int x = coords[2];\n int d = coords[3];\n\n // get box vals\n float y1 = getBoxes(b,0);\n float x1 = getBoxes(b,1);\n float y2 = getBoxes(b,2);\n float x2 = getBoxes(b,3);\n\n // get image in batch index\n int bInd = round(getBoxInd(b));\n if(bInd < 0 || bInd >= ${s}) {\n return;\n }\n\n float height_scale = ${g};\n float width_scale = ${v};\n\n float in_y = ${_};\n if( in_y < 0.0 || in_y > ${p} ) {\n setOutput(float(${r}));\n return;\n }\n float in_x = ${b};\n if( in_x < 0.0 || in_x > ${f} ) {\n setOutput(float(${r}));\n return;\n }\n\n vec2 sourceFracIndexCR = vec2(in_x,in_y);\n if(${h} == 1) {\n // Compute the four integer indices.\n ivec2 sourceFloorCR = ivec2(sourceFracIndexCR);\n ivec2 sourceCeilCR = ivec2(ceil(sourceFracIndexCR));\n\n float topLeft = getImage(b, sourceFloorCR.y, sourceFloorCR.x, d);\n float bottomLeft = getImage(b, sourceCeilCR.y, sourceFloorCR.x, d);\n float topRight = getImage(b, sourceFloorCR.y, sourceCeilCR.x, d);\n float bottomRight = getImage(b, sourceCeilCR.y, sourceCeilCR.x, d);\n\n vec2 fracCR = sourceFracIndexCR - vec2(sourceFloorCR);\n\n float top = topLeft + (topRight - topLeft) * fracCR.x;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracCR.x;\n float newValue = top + (bottom - top) * fracCR.y;\n setOutput(newValue);\n } else {\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestCR = ivec2(floor(\n sourceFracIndexCR + vec2(0.5,0.5)));\n float newValue = getImage(b, sourceNearestCR.y, sourceNearestCR.x, d);\n setOutput(newValue);\n }\n }\n `}} +class _be{constructor(e,t,n,i,r){this.variableNames=["Image","Boxes","BoxInd"],this.outputShape=[];const[s,o,a,l]=e,[u]=t,[c,d]=n;this.outputShape=[u,c,d,l];const h="bilinear"===i?1:0,[p,f]=[o-1+".0",a-1+".0"],[m,g,_]=c>1?[""+(o-1)/(c-1),"(y2-y1) * height_ratio",`y1*${p} + float(y)*(height_scale)`]:["0.0","0.0",`0.5 * (y1+y2) * ${p}`],[y,v,b]=d>1?[""+(a-1)/(d-1),"(x2-x1) * width_ratio",`x1*${f} + float(x)*(width_scale)`]:["0.0","0.0",`0.5 * (x1+x2) * ${f}`];this.userCode=`\n const float height_ratio = float(${m});\n const float width_ratio = float(${y});\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int y = coords[1];\n int x = coords[2];\n int d = coords[3];\n\n // get box vals\n float y1 = getBoxes(b,0);\n float x1 = getBoxes(b,1);\n float y2 = getBoxes(b,2);\n float x2 = getBoxes(b,3);\n\n // get image in batch index\n int bInd = round(getBoxInd(b));\n if(bInd < 0 || bInd >= ${s}) {\n return;\n }\n\n float height_scale = ${g};\n float width_scale = ${v};\n\n float in_y = ${_};\n if( in_y < 0.0 || in_y > ${p} ) {\n setOutput(float(${r}));\n return;\n }\n float in_x = ${b};\n if( in_x < 0.0 || in_x > ${f} ) {\n setOutput(float(${r}));\n return;\n }\n\n vec2 sourceFracIndexCR = vec2(in_x,in_y);\n if(${h} == 1) {\n // Compute the four integer indices.\n ivec2 sourceFloorCR = ivec2(sourceFracIndexCR);\n ivec2 sourceCeilCR = ivec2(ceil(sourceFracIndexCR));\n\n float topLeft = getImage(b, sourceFloorCR.y, sourceFloorCR.x, d);\n float bottomLeft = getImage(b, sourceCeilCR.y, sourceFloorCR.x, d);\n float topRight = getImage(b, sourceFloorCR.y, sourceCeilCR.x, d);\n float bottomRight = getImage(b, sourceCeilCR.y, sourceCeilCR.x, d);\n\n vec2 fracCR = sourceFracIndexCR - vec2(sourceFloorCR);\n\n float top = topLeft + (topRight - topLeft) * fracCR.x;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracCR.x;\n float newValue = top + (bottom - top) * fracCR.y;\n setOutput(newValue);\n } else {\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestCR = ivec2(floor(\n sourceFracIndexCR + vec2(0.5,0.5)));\n float newValue = getImage(b, sourceNearestCR.y, sourceNearestCR.x, d);\n setOutput(newValue);\n }\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16427,7 +16427,7 @@ class dbe{constructor(e,t,n,i,r){this.variableNames=["Image","Boxes","BoxInd"],t * limitations under the License. * ============================================================================= */ -const hbe={kernelName:p3.CropAndResize,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{image:r,boxes:s,boxInd:o}=t,{cropSize:a,method:l,extrapolationValue:u}=i,c=new dbe(r.shape,s.shape,a,l,u);return n.runWebGLProgram(c,[r,s,o],"float32")}};var pbe;!function(e){e.Prod="*",e.Sum="+"}(pbe||(pbe={}));class fbe{constructor(e,t,n,i){this.op=e,this.outputShape=t,this.variableNames=["x"],this.customUniforms=[{name:"index",type:"float"}];const r=this.outputShape.length,s=this.op===pbe.Prod?"1.0":"0.0",o=n?s:`getX(${mbe(r,"coords",this.op)})`,a=this.outputShape[this.outputShape.length-1];let l="",u="";n?(l=i?"end != "+(a-1):"end != 0",u=i?"end + 1":"end - 1"):(l=i?`end + pow2 < ${a}`:"end >= pow2",u=i?"end + pow2":"end - pow2"),this.userCode=`\n void main() {\n ${Pme(r)} coords = getOutputCoords();\n int end = ${gbe(r,"coords",this.op)};\n float val = ${o};\n int pow2 = int(pow(2.0, index));\n if (${l}) {\n int idx = ${u};\n ${gbe(r,"coords",this.op)} = idx;\n val ${this.op}= getX(${mbe(r,"coords",this.op)});\n }\n setOutput(val);\n }\n `}}function mbe(e,t,n){if(1===e)return`${t}`;if(2===e)return`${t}.x, ${t}.y`;if(3===e)return`${t}.x, ${t}.y, ${t}.z`;if(4===e)return`${t}.x, ${t}.y, ${t}.z, ${t}.w`;throw new Error(`Cumulative ${n} for rank ${e} is not yet supported`)}function gbe(e,t,n){if(1===e)return`${t}`;if(2===e)return`${t}.y`;if(3===e)return`${t}.z`;if(4===e)return`${t}.w`;throw new Error(`Cumulative ${n} for rank ${e} is not yet supported`)} +const ybe={kernelName:v3.CropAndResize,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{image:r,boxes:s,boxInd:o}=t,{cropSize:a,method:l,extrapolationValue:u}=i,c=new _be(r.shape,s.shape,a,l,u);return n.runWebGLProgram(c,[r,s,o],"float32")}};var vbe;!function(e){e.Prod="*",e.Sum="+"}(vbe||(vbe={}));class bbe{constructor(e,t,n,i){this.op=e,this.outputShape=t,this.variableNames=["x"],this.customUniforms=[{name:"index",type:"float"}];const r=this.outputShape.length,s=this.op===vbe.Prod?"1.0":"0.0",o=n?s:`getX(${Tbe(r,"coords",this.op)})`,a=this.outputShape[this.outputShape.length-1];let l="",u="";n?(l=i?"end != "+(a-1):"end != 0",u=i?"end + 1":"end - 1"):(l=i?`end + pow2 < ${a}`:"end >= pow2",u=i?"end + pow2":"end - pow2"),this.userCode=`\n void main() {\n ${jme(r)} coords = getOutputCoords();\n int end = ${xbe(r,"coords",this.op)};\n float val = ${o};\n int pow2 = int(pow(2.0, index));\n if (${l}) {\n int idx = ${u};\n ${xbe(r,"coords",this.op)} = idx;\n val ${this.op}= getX(${Tbe(r,"coords",this.op)});\n }\n setOutput(val);\n }\n `}}function Tbe(e,t,n){if(1===e)return`${t}`;if(2===e)return`${t}.x, ${t}.y`;if(3===e)return`${t}.x, ${t}.y, ${t}.z`;if(4===e)return`${t}.x, ${t}.y, ${t}.z, ${t}.w`;throw new Error(`Cumulative ${n} for rank ${e} is not yet supported`)}function xbe(e,t,n){if(1===e)return`${t}`;if(2===e)return`${t}.y`;if(3===e)return`${t}.z`;if(4===e)return`${t}.w`;throw new Error(`Cumulative ${n} for rank ${e} is not yet supported`)} /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -16444,7 +16444,7 @@ const hbe={kernelName:p3.CropAndResize,backendName:"webgl",kernelFunc:e=>{const{ * limitations under the License. * ============================================================================= */ -function _be(e,t,n,i,r,s){const o=t.shape.length,a=p3.backend_util.getAxesPermutation([i],o);let l=t;null!=a&&(l=vye({inputs:{x:t},backend:n,attrs:{perm:a}}));const u=p3.backend_util.getInnerMostAxes(1,o)[0];if(u!==o-1)throw new Error(`WebGL cumprod shader expects an inner-most axis=${t.shape.length-1} but got axis=${i}`);const c=l.shape[u];let d=z_e({inputs:{x:l},backend:n});for(let t=0;t<=Math.ceil(Math.log2(c))-1;t++){const i=new fbe(e,l.shape,!1,s),r=[[t]],o=d;d=n.runWebGLProgram(i,[d],d.dtype,r),n.disposeIntermediateTensorInfo(o)}if(r){const t=new fbe(e,l.shape,r,s),i=d;d=n.runWebGLProgram(t,[d],d.dtype),n.disposeIntermediateTensorInfo(i)}if(null!=a){const e=vye({inputs:{x:d},backend:n,attrs:{perm:p3.backend_util.getUndoAxesPermutation(a)}});return n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(l),e}return d}const ybe={kernelName:p3.Cumprod,backendName:"webgl",kernelFunc: +function Ebe(e,t,n,i,r,s){const o=t.shape.length,a=v3.backend_util.getAxesPermutation([i],o);let l=t;null!=a&&(l=Iye({inputs:{x:t},backend:n,attrs:{perm:a}}));const u=v3.backend_util.getInnerMostAxes(1,o)[0];if(u!==o-1)throw new Error(`WebGL cumprod shader expects an inner-most axis=${t.shape.length-1} but got axis=${i}`);const c=l.shape[u];let d=X_e({inputs:{x:l},backend:n});for(let t=0;t<=Math.ceil(Math.log2(c))-1;t++){const i=new bbe(e,l.shape,!1,s),r=[[t]],o=d;d=n.runWebGLProgram(i,[d],d.dtype,r),n.disposeIntermediateTensorInfo(o)}if(r){const t=new bbe(e,l.shape,r,s),i=d;d=n.runWebGLProgram(t,[d],d.dtype),n.disposeIntermediateTensorInfo(i)}if(null!=a){const e=Iye({inputs:{x:d},backend:n,attrs:{perm:v3.backend_util.getUndoAxesPermutation(a)}});return n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(l),e}return d}const wbe={kernelName:v3.Cumprod,backendName:"webgl",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -16461,7 +16461,7 @@ function _be(e,t,n,i,r,s){const o=t.shape.length,a=p3.backend_util.getAxesPermut * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,exclusive:o,reverse:a}=i;return _be(pbe.Prod,r,n,s,o,a)}};const vbe={kernelName:p3.Cumsum,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,exclusive:o,reverse:a}=i;return Ebe(vbe.Prod,r,n,s,o,a)}};const Ibe={kernelName:v3.Cumsum,backendName:"webgl",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -16478,7 +16478,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,exclusive:o,reve * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,exclusive:o,reverse:a}=i;return _be(pbe.Sum,r,n,s,o,a)}};const bbe={kernelName:p3.DenseBincount,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,exclusive:o,reverse:a}=i;return Ebe(vbe.Sum,r,n,s,o,a)}};const Abe={kernelName:v3.DenseBincount,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16495,7 +16495,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,exclusive:o,reve * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o,binaryOutput:a}=i;if(1===r.shape.length){const e=n.readSync(r.dataId),t=n.readSync(s.dataId),i=Tge(e,t,s.dtype,s.shape,o);return n.makeTensorInfo([o],s.dtype,i)}if(2===r.shape.length){const e=n.bufferSync(r),t=n.bufferSync(s),i=xge(e,t,o,a);return n.makeTensorInfo(i.shape,s.dtype,i.values)}throw new Error(`Error in denseBincount: input must be at most rank 2, but got rank${r.shape.length}.`)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o,binaryOutput:a}=i;if(1===r.shape.length){const e=n.readSync(r.dataId),t=n.readSync(s.dataId),i=Sge(e,t,s.dtype,s.shape,o);return n.makeTensorInfo([o],s.dtype,i)}if(2===r.shape.length){const e=n.bufferSync(r),t=n.bufferSync(s),i=Cge(e,t,o,a);return n.makeTensorInfo(i.shape,s.dtype,i.values)}throw new Error(`Error in denseBincount: input must be at most rank 2, but got rank${r.shape.length}.`)}}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -16512,7 +16512,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,weights:s}=t,{size:o,binary * limitations under the License. * ============================================================================= */ -class Tbe{constructor(e,t,n){this.variableNames=["x"],this.outputShape=[],this.outputShape=e,this.blockSize=t,this.dataFormat=n,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int h = ${this.getHeightCoordString()};\n int w = ${this.getWidthCoordString()};\n int d = ${this.getDepthCoordString()};\n\n int in_h = h / ${t};\n int offset_h = imod(h, ${t});\n int in_w = w / ${t};\n int offset_w = imod(w, ${t});\n int offset_d = (offset_h * ${t} + offset_w) *\n ${this.getOutputDepthSize()};\n int in_d = d + offset_d;\n\n float result = ${this.getInputSamplingString()};\n setOutput(result);\n }\n `}getHeightCoordString(){return"NHWC"===this.dataFormat?"coords[1]":"coords[2]"}getWidthCoordString(){return"NHWC"===this.dataFormat?"coords[2]":"coords[3]"}getDepthCoordString(){return"NHWC"===this.dataFormat?"coords[3]":"coords[1]"}getOutputDepthSize(){return"NHWC"===this.dataFormat?this.outputShape[3]:this.outputShape[1]}getInputSamplingString(){return"NHWC"===this.dataFormat?"getX(b, in_h, in_w, in_d)":"getX(b, in_d, in_h, in_w)"}}const xbe={kernelName:p3.DepthToSpace,backendName:"webgl",kernelFunc: +class Sbe{constructor(e,t,n){this.variableNames=["x"],this.outputShape=[],this.outputShape=e,this.blockSize=t,this.dataFormat=n,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int h = ${this.getHeightCoordString()};\n int w = ${this.getWidthCoordString()};\n int d = ${this.getDepthCoordString()};\n\n int in_h = h / ${t};\n int offset_h = imod(h, ${t});\n int in_w = w / ${t};\n int offset_w = imod(w, ${t});\n int offset_d = (offset_h * ${t} + offset_w) *\n ${this.getOutputDepthSize()};\n int in_d = d + offset_d;\n\n float result = ${this.getInputSamplingString()};\n setOutput(result);\n }\n `}getHeightCoordString(){return"NHWC"===this.dataFormat?"coords[1]":"coords[2]"}getWidthCoordString(){return"NHWC"===this.dataFormat?"coords[2]":"coords[3]"}getDepthCoordString(){return"NHWC"===this.dataFormat?"coords[3]":"coords[1]"}getOutputDepthSize(){return"NHWC"===this.dataFormat?this.outputShape[3]:this.outputShape[1]}getInputSamplingString(){return"NHWC"===this.dataFormat?"getX(b, in_h, in_w, in_d)":"getX(b, in_d, in_h, in_w)"}}const Cbe={kernelName:v3.DepthToSpace,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16529,7 +16529,7 @@ class Tbe{constructor(e,t,n){this.variableNames=["x"],this.outputShape=[],this.o * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockSize:s,dataFormat:o}=i,a=r.shape[0],l=("NHWC"===o?r.shape[1]:r.shape[2])*s,u=("NHWC"===o?r.shape[2]:r.shape[3])*s,c=("NHWC"===o?r.shape[3]:r.shape[1])/(s*s),d=new Tbe("NHWC"===o?[a,l,u,c]:[a,c,l,u],s,o);return n.runWebGLProgram(d,[r],r.dtype)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockSize:s,dataFormat:o}=i,a=r.shape[0],l=("NHWC"===o?r.shape[1]:r.shape[2])*s,u=("NHWC"===o?r.shape[2]:r.shape[3])*s,c=("NHWC"===o?r.shape[3]:r.shape[1])/(s*s),d=new Sbe("NHWC"===o?[a,l,u,c]:[a,c,l,u],s,o);return n.runWebGLProgram(d,[r],r.dtype)}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -16546,7 +16546,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockSize:s,dataFormat: * limitations under the License. * ============================================================================= */ -class Ebe{constructor(e,t=!1,n=null,i=!1,r=!1){this.variableNames=["x","W"],this.customUniforms=[{name:"pads",type:"ivec2"},{name:"strides",type:"ivec2"},{name:"dilations",type:"ivec2"},{name:"inDims",type:"ivec2"}],this.outputShape=e.outShape,this.enableShapeUniforms=jme(this.outputShape.length);const s=e.filterHeight,o=e.filterWidth,a=e.outChannels/e.inChannels;let l="",u="";n&&(l=i?`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:r?`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:`\n float activation(float x) {\n ${n}\n }\n `,u="result = activation(result);");const c=t?"result += getBiasAtOutCoords();":"";t&&this.variableNames.push("bias"),i&&this.variableNames.push("preluActivationWeights"),r&&this.variableNames.push("leakyreluAlpha"),this.userCode=`\n ${l}\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n ivec2 xRCCorner = coords.yz * strides - pads;\n int d2 = coords.w;\n int d1 = d2 / ${a};\n int q = d2 - d1 * ${a};\n\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, q) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n // TO DO(dsmilkov): Flatten the two for loops and vec4 the operations.\n for (int wR = 0; wR < ${s}; wR++) {\n int xR = xRCorner + wR * dilations[0];\n\n if (xR < 0 || xR >= inDims[0]) {\n continue;\n }\n\n for (int wC = 0; wC < ${o}; wC++) {\n int xC = xCCorner + wC * dilations[1];\n\n if (xC < 0 || xC >= inDims[1]) {\n continue;\n }\n\n float xVal = getX(batch, xR, xC, d1);\n float wVal = getW(wR, wC, d1, q);\n dotProd += xVal * wVal;\n }\n }\n\n float result = dotProd;\n ${c}\n ${u}\n setOutput(result);\n }\n `}} +class Obe{constructor(e,t=!1,n=null,i=!1,r=!1){this.variableNames=["x","W"],this.customUniforms=[{name:"pads",type:"ivec2"},{name:"strides",type:"ivec2"},{name:"dilations",type:"ivec2"},{name:"inDims",type:"ivec2"}],this.outputShape=e.outShape,this.enableShapeUniforms=qme(this.outputShape.length);const s=e.filterHeight,o=e.filterWidth,a=e.outChannels/e.inChannels;let l="",u="";n&&(l=i?`float activation(float a) {\n float b = getPreluActivationWeightsAtOutCoords();\n ${n}\n }`:r?`float activation(float a) {\n float b = getLeakyreluAlphaAtOutCoords();\n ${n}\n }`:`\n float activation(float x) {\n ${n}\n }\n `,u="result = activation(result);");const c=t?"result += getBiasAtOutCoords();":"";t&&this.variableNames.push("bias"),i&&this.variableNames.push("preluActivationWeights"),r&&this.variableNames.push("leakyreluAlpha"),this.userCode=`\n ${l}\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n ivec2 xRCCorner = coords.yz * strides - pads;\n int d2 = coords.w;\n int d1 = d2 / ${a};\n int q = d2 - d1 * ${a};\n\n int xRCorner = xRCCorner.x;\n int xCCorner = xRCCorner.y;\n\n // Convolve x(?, ?, d1) with w(:, :, d1, q) to get y(yR, yC, d2).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n // TO DO(dsmilkov): Flatten the two for loops and vec4 the operations.\n for (int wR = 0; wR < ${s}; wR++) {\n int xR = xRCorner + wR * dilations[0];\n\n if (xR < 0 || xR >= inDims[0]) {\n continue;\n }\n\n for (int wC = 0; wC < ${o}; wC++) {\n int xC = xCCorner + wC * dilations[1];\n\n if (xC < 0 || xC >= inDims[1]) {\n continue;\n }\n\n float xVal = getX(batch, xR, xC, d1);\n float wVal = getW(wR, wC, d1, q);\n dotProd += xVal * wVal;\n }\n }\n\n float result = dotProd;\n ${c}\n ${u}\n setOutput(result);\n }\n `}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -16563,7 +16563,7 @@ class Ebe{constructor(e,t=!1,n=null,i=!1,r=!1){this.variableNames=["x","W"],this * limitations under the License. * ============================================================================= */ -class wbe{constructor(e,t=!1,n=null,i=!1,r=!1){this.variableNames=["x","W"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"pads",type:"ivec2"},{name:"strides",type:"ivec2"},{name:"dilations",type:"ivec2"},{name:"inDims",type:"ivec2"}],this.outputShape=e.outShape,this.enableShapeUniforms=jme(this.outputShape.length);const s=e.outChannels/e.inChannels,o=e.padInfo.left,a=e.strideWidth,l=e.dilationWidth,u=e.filterHeight,c=e.filterWidth,d=c;let h="\n int xR; int xC; int xCOffset;\n vec4 wTexel; vec4 previous; vec4 final;";for(let e=0;e=0 && xR < inDims[0]) {\n ";for(let e=0;e<(d+1)/2;e++){const t=2*e;if(h+=`\n xC = xCCorner + ${t*l};\n `,1===a){if(t= 0 && xCOffset < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n `,h+=1===l&&t>0?`\n xC${t} = vec4(xTexelC${t-2}.zw, xTexelC${t}.xy);\n `:`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${t} = vec4(previous.zw, xTexelC${t}.xy);\n } else {\n xC${t} = vec4(0.0, 0.0, xTexelC${t}.xy);\n }\n `):h+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n xC${t} = xTexelC${t};\n `,t+1= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n `,h+=l>1?`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${t+1} = vec4(previous.zw, xTexelC${t+1}.xy);\n } else {\n xC${t+1} = vec4(0.0, 0.0, xTexelC${t+1}.xy);\n }\n `:`\n xC${t+1} = vec4(xTexelC${t}.zw, xTexelC${t+1}.xy);\n `):h+=1===e?`\n xC${t+1} = xTexelC${t};\n `:`\n xCOffset = xC + ${e};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t+1} = xTexelC${t+1};\n `}}else t= 0 && xCOffset < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t} = vec4(xTexelC${t}.zw, xTexelC${t+1}.zw);\n `,t+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${t+1} = vec4(xTexelC${t+1}.xy, final.xy);\n `)):(h+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t} = vec4(\n xTexelC${t}.xy, xTexelC${t+1}.xy);\n `,t+1=0 && xR < inDims[0]) {\n ";for(let e=0;e<(d+1)/2;e++){const t=2*e;if(h+=`\n xC = xCCorner + ${t*l};\n `,1===a){if(t= 0 && xCOffset < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n `,h+=1===l&&t>0?`\n xC${t} = vec4(xTexelC${t-2}.zw, xTexelC${t}.xy);\n `:`\n xCOffset = xC + 1 - 2;\n\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n previous.zw = vec2(0.0);\n }\n\n xC${t} = vec4(previous.zw, xTexelC${t}.xy);\n } else {\n xC${t} = vec4(0.0, 0.0, xTexelC${t}.xy);\n }\n `):h+=`\n if (xC >= 0 && xC < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n xC${t} = xTexelC${t};\n `,t+1= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n `,h+=l>1?`\n xCOffset -= 2;\n if (xCOffset >= 0 && xCOffset < inDims[1]) {\n previous = getX(batch, xR, xCOffset, d1);\n xC${t+1} = vec4(previous.zw, xTexelC${t+1}.xy);\n } else {\n xC${t+1} = vec4(0.0, 0.0, xTexelC${t+1}.xy);\n }\n `:`\n xC${t+1} = vec4(xTexelC${t}.zw, xTexelC${t+1}.xy);\n `):h+=1===e?`\n xC${t+1} = xTexelC${t};\n `:`\n xCOffset = xC + ${e};\n\n if (xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t+1} = xTexelC${t+1};\n `}}else t= 0 && xCOffset < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xCOffset, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n if(xC + 1 >= 0 && xC + 1 < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xC + 1, d1);\n // Need to manually clear unused channels in case\n // we're reading from recycled texture.\n if (xC + 2 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.0);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t} = vec4(xTexelC${t}.zw, xTexelC${t+1}.zw);\n `,t+1= 0 && xCOffset < inDims[1]) {\n final = getX(batch, xR, xCOffset, d1);\n }\n xC${t+1} = vec4(xTexelC${t+1}.xy, final.xy);\n `)):(h+=`\n if(xC >= 0 && xC < inDims[1] && xTexelC${t}Ready == 0) {\n xTexelC${t} = getX(batch, xR, xC, d1);\n if (xC + 1 >= inDims[1]) {\n xTexelC${t}.zw = vec2(0.0);\n }\n xTexelC${t}Ready = 1;\n }\n\n xCOffset = xC + strides[1];\n if(xCOffset >= 0 && xCOffset < inDims[1] && xTexelC${t+1}Ready == 0) {\n xTexelC${t+1} = getX(batch, xR, xCOffset, d1);\n if (xCOffset + 1 >= inDims[1]) {\n xTexelC${t+1}.zw = vec2(0.);\n }\n xTexelC${t+1}Ready = 1;\n }\n\n xC${t} = vec4(\n xTexelC${t}.xy, xTexelC${t+1}.xy);\n `,t+1`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${o} and dilations '${c}'`);const d=p3.backend_util.computeConv2DInfo(r.shape,s.shape,o,c,a,u,!0);let h;h=(0,p3.env)().getBool("WEBGL_PACK_DEPTHWISECONV")&&d.strideWidth<=2&&d.outChannels/d.inChannels===1?new wbe(d):new Ebe(d);const p=[[d.padInfo.top,d.padInfo.left],[d.strideHeight,d.strideWidth],[d.dilationHeight,d.dilationWidth],[d.inHeight,d.inWidth]];return n.runWebGLProgram(h,[r,s],"float32",p)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad:a,dilations:l,dimRoundingMode:u}=i;let c=l;null==c&&(c=[1,1]),v3.util.assert(v3.backend_util.eitherStridesOrDilationsAreOne(o,c),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${o} and dilations '${c}'`);const d=v3.backend_util.computeConv2DInfo(r.shape,s.shape,o,c,a,u,!0);let h;h=(0,v3.env)().getBool("WEBGL_PACK_DEPTHWISECONV")&&d.strideWidth<=2&&d.outChannels/d.inChannels===1?new Mbe(d):new Obe(d);const p=[[d.padInfo.top,d.padInfo.left],[d.strideHeight,d.strideWidth],[d.dilationHeight,d.dilationWidth],[d.inHeight,d.inWidth]];return n.runWebGLProgram(h,[r,s],"float32",p)}}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -16597,7 +16597,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad: * limitations under the License. * ============================================================================= */ -class Abe{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideHeight,n=e.strideWidth,i=e.padInfo.top,r=e.padInfo.left,s=e.outChannels/e.inChannels;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int dm = coords.w;\n int d2 = d1 * ${s} + dm;\n\n float dotProd = 0.0;\n\n // TO DO: Vec4 over the batch size\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${t} - ${i};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${r};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class Sbe{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,i=e.strideHeight,r=e.strideWidth,s=t-1-e.padInfo.top,o=n-1-e.padInfo.left,a=e.outChannels/e.inChannels;this.userCode=`\n const ivec2 pads = ivec2(${s}, ${o});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n ivec2 dyCorner = coords.yz - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n float dotProd = 0.0;\n\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${r}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n // TO DO: Vec4 over the channelMul\n for (int dm = 0; dm < ${a}; dm++) {\n int d2 = d1 * ${a} + dm;\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, dm);\n dotProd += xValue * wValue;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const Cbe={kernelName:p3.DepthwiseConv2dNativeBackpropFilter,backendName:"webgl",kernelFunc: +class Rbe{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filterShape;const t=e.strideHeight,n=e.strideWidth,i=e.padInfo.top,r=e.padInfo.left,s=e.outChannels/e.inChannels;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int wR = coords.x;\n int wC = coords.y;\n int d1 = coords.z;\n int dm = coords.w;\n int d2 = d1 * ${s} + dm;\n\n float dotProd = 0.0;\n\n // TO DO: Vec4 over the batch size\n for (int b = 0; b < ${e.batchSize}; b++) {\n for (int yR = 0; yR < ${e.outHeight}; yR++) {\n int xR = wR + yR * ${t} - ${i};\n\n if (xR < 0 || xR >= ${e.inHeight}) {\n continue;\n }\n\n for (int yC = 0; yC < ${e.outWidth}; yC++) {\n int xC = wC + yC * ${n} - ${r};\n\n if (xC < 0 || xC >= ${e.inWidth}) {\n continue;\n }\n\n float dyValue = getDy(b, yR, yC, d2);\n float xValue = getX(b, xR, xC, d1);\n dotProd += (xValue * dyValue);\n }\n }\n }\n setOutput(dotProd);\n }\n `}}class Nbe{constructor(e){this.variableNames=["dy","W"],this.outputShape=e.inShape;const t=e.filterHeight,n=e.filterWidth,i=e.strideHeight,r=e.strideWidth,s=t-1-e.padInfo.top,o=n-1-e.padInfo.left,a=e.outChannels/e.inChannels;this.userCode=`\n const ivec2 pads = ivec2(${s}, ${o});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords[0];\n int d1 = coords[3];\n ivec2 dyCorner = coords.yz - pads;\n int dyRCorner = dyCorner.x;\n int dyCCorner = dyCorner.y;\n\n float dotProd = 0.0;\n\n for (int wR = 0; wR < ${t}; wR++) {\n float dyR = float(dyRCorner + wR) / ${i}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n int wRPerm = ${t} - 1 - wR;\n\n for (int wC = 0; wC < ${n}; wC++) {\n float dyC = float(dyCCorner + wC) / ${r}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n int wCPerm = ${n} - 1 - wC;\n\n // TO DO: Vec4 over the channelMul\n for (int dm = 0; dm < ${a}; dm++) {\n int d2 = d1 * ${a} + dm;\n float xValue = getDy(batch, idyR, idyC, d2);\n float wValue = getW(wRPerm, wCPerm, d1, dm);\n dotProd += xValue * wValue;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const Dbe={kernelName:v3.DepthwiseConv2dNativeBackpropFilter,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16614,7 +16614,7 @@ class Abe{constructor(e){this.variableNames=["x","dy"],this.outputShape=e.filter * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,dilations:a,pad:l,dimRoundingMode:u,filterShape:c}=i,d=p3.backend_util.computeConv2DInfo(r.shape,c,o,a,l,u,!0),h=new Abe(d);return n.runWebGLProgram(h,[r,s],"float32")}};const Obe={kernelName:p3.DepthwiseConv2dNativeBackpropInput,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,dilations:a,pad:l,dimRoundingMode:u,filterShape:c}=i,d=v3.backend_util.computeConv2DInfo(r.shape,c,o,a,l,u,!0),h=new Rbe(d);return n.runWebGLProgram(h,[r,s],"float32")}};const Fbe={kernelName:v3.DepthwiseConv2dNativeBackpropInput,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16631,7 +16631,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,dy:s}=t,{strides:o,dilation * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{strides:o,dilations:a,pad:l,dimRoundingMode:u,inputShape:c}=i,d=p3.backend_util.computeConv2DInfo(c,s.shape,o,a,l,u,!0),h=new Sbe(d);return n.runWebGLProgram(h,[r,s],"float32")}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{strides:o,dilations:a,pad:l,dimRoundingMode:u,inputShape:c}=i,d=v3.backend_util.computeConv2DInfo(c,s.shape,o,a,l,u,!0),h=new Nbe(d);return n.runWebGLProgram(h,[r,s],"float32")}}; /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -16648,7 +16648,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,filter:s}=t,{strides:o,dil * limitations under the License. * ============================================================================= */ -class Mbe{constructor(e){this.variableNames=["X"],this.outputShape=[e,e],this.userCode="\n void main() {\n ivec2 coords = getOutputCoords();\n float val = coords[0] == coords[1] ? getX(coords[0]) : 0.0;\n setOutput(val);\n }\n "}}const kbe={kernelName:p3.Diag,backendName:"webgl",kernelFunc: +class Lbe{constructor(e){this.variableNames=["X"],this.outputShape=[e,e],this.userCode="\n void main() {\n ivec2 coords = getOutputCoords();\n float val = coords[0] == coords[1] ? getX(coords[0]) : 0.0;\n setOutput(val);\n }\n "}}const Pbe={kernelName:v3.Diag,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16665,7 +16665,7 @@ class Mbe{constructor(e){this.variableNames=["X"],this.outputShape=[e,e],this.us * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{x:i}=t,r=[...i.shape,...i.shape],s=p3.util.sizeFromShape(i.shape),o=uye({inputs:{x:i},backend:n,attrs:{shape:[s]}}),a=new Mbe(s),l=n.runWebGLProgram(a,[o],o.dtype),u=uye({inputs:{x:l},backend:n,attrs:{shape:r}});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(l),u}}; +function(e){const{inputs:t,backend:n}=e,{x:i}=t,r=[...i.shape,...i.shape],s=v3.util.sizeFromShape(i.shape),o=mye({inputs:{x:i},backend:n,attrs:{shape:[s]}}),a=new Lbe(s),l=n.runWebGLProgram(a,[o],o.dtype),u=mye({inputs:{x:l},backend:n,attrs:{shape:r}});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(l),u}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -16682,7 +16682,7 @@ function(e){const{inputs:t,backend:n}=e,{x:i}=t,r=[...i.shape,...i.shape],s=p3.u * limitations under the License. * ============================================================================= */ -class Rbe{constructor(e){this.variableNames=["x","W"],this.outputShape=e.outShape;const{inHeight:t,inWidth:n,padInfo:i,strideHeight:r,strideWidth:s,filterHeight:o,filterWidth:a,dilationHeight:l,dilationWidth:u}=e,{top:c,left:d}=i;this.userCode=`\n const ivec2 strides = ivec2(${r}, ${s});\n const ivec2 pads = ivec2(${c}, ${d});\n const float neg_infinity = -3.4e38;\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.w;\n ivec2 outTopLeftCorner =\n coords.yz * strides - pads;\n int hBeg = outTopLeftCorner.x;\n int wBeg = outTopLeftCorner.y;\n\n float curVal = neg_infinity;\n for (int h = 0; h < ${o}; h++) {\n int hIn = hBeg + h * ${l};\n\n if (hIn >= 0 && hIn < ${t}) {\n for (int w = 0; w < ${a}; w++) {\n int wIn = wBeg + w * ${u};\n\n if (wIn >= 0 && wIn < ${n}) {\n float xVal = getX(batch, hIn, wIn, d1);\n float wVal = getW(h, w, d1);\n\n float val = xVal + wVal;\n if (val > curVal) {\n curVal = val;\n }\n }\n }\n }\n }\n\n float result = curVal;\n setOutput(result);\n }\n `}}const Nbe={kernelName:p3.Dilation2D,backendName:"webgl",kernelFunc: +class Bbe{constructor(e){this.variableNames=["x","W"],this.outputShape=e.outShape;const{inHeight:t,inWidth:n,padInfo:i,strideHeight:r,strideWidth:s,filterHeight:o,filterWidth:a,dilationHeight:l,dilationWidth:u}=e,{top:c,left:d}=i;this.userCode=`\n const ivec2 strides = ivec2(${r}, ${s});\n const ivec2 pads = ivec2(${c}, ${d});\n const float neg_infinity = -3.4e38;\n\n void main() {\n ivec4 coords = getOutputCoords();\n int batch = coords.x;\n int d1 = coords.w;\n ivec2 outTopLeftCorner =\n coords.yz * strides - pads;\n int hBeg = outTopLeftCorner.x;\n int wBeg = outTopLeftCorner.y;\n\n float curVal = neg_infinity;\n for (int h = 0; h < ${o}; h++) {\n int hIn = hBeg + h * ${l};\n\n if (hIn >= 0 && hIn < ${t}) {\n for (int w = 0; w < ${a}; w++) {\n int wIn = wBeg + w * ${u};\n\n if (wIn >= 0 && wIn < ${n}) {\n float xVal = getX(batch, hIn, wIn, d1);\n float wVal = getW(h, w, d1);\n\n float val = xVal + wVal;\n if (val > curVal) {\n curVal = val;\n }\n }\n }\n }\n }\n\n float result = curVal;\n setOutput(result);\n }\n `}}const $be={kernelName:v3.Dilation2D,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16699,7 +16699,7 @@ class Rbe{constructor(e){this.variableNames=["x","W"],this.outputShape=e.outShap * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad:a,dilations:l}=i,u=p3.backend_util.computeDilation2DInfo(r.shape,s.shape,o,a,"NHWC",l);let c;const d=new Rbe(u);c=n.runWebGLProgram(d,[r,s],"float32");const h=uye({inputs:{x:c},backend:n,attrs:{shape:u.outShape}});return n.disposeIntermediateTensorInfo(c),h}};const Dbe={kernelName:p3.Einsum,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad:a,dilations:l}=i,u=v3.backend_util.computeDilation2DInfo(r.shape,s.shape,o,a,"NHWC",l);let c;const d=new Bbe(u);c=n.runWebGLProgram(d,[r,s],"float32");const h=mye({inputs:{x:c},backend:n,attrs:{shape:u.outShape}});return n.disposeIntermediateTensorInfo(c),h}};const Ube={kernelName:v3.Einsum,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -16716,7 +16716,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s}=t,{strides:o,pad: * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{equation:r}=i,s=t,{allDims:o,summedDims:a,idDims:l}=p3.backend_util.decodeEinsumEquation(r,s.length);p3.backend_util.checkEinsumDimSizes(o.length,l,s);const{path:u,steps:c}=p3.backend_util.getEinsumComputePath(a,l),d=c.length;let h=null,p=o.length;const f=[];for(let e=0;e=0&&(h=_ye({inputs:{x:h},backend:n,attrs:{axis:u[e]-(o.length-p),keepDims:!1}}),f.push(h)),p--)}for(const e of f)e!==h&&n.disposeIntermediateTensorInfo(e);return h}},Fbe=J_e({opSnippet:"return (x >= 0.0) ? x : (exp(x) - 1.0);",packedOpSnippet:"\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n"}),Lbe={kernelName:p3.Elu,backendName:"webgl",kernelFunc:Fbe},Pbe={kernelName:p3.EluGrad,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n}=e,{dy:i,y:r}=t,s=(0,p3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new V_e("\n vec4 bGTEZero = vec4(greaterThanEqual(b, vec4(0.)));\n return (bGTEZero * a) + ((vec4(1.0) - bGTEZero) * (a * (b + vec4(1.0))));\n",i.shape,r.shape):new $_e("return (b >= 0.0) ? a : a * (b + 1.0);",i.shape,r.shape);return n.runWebGLProgram(s,[i,r],i.dtype)}},Bbe=eye({opSnippet:"return float(a == b);",packedOpSnippet:"\n return vec4(equal(a, b));\n",dtype:"bool",cpuKernelImpl:Sge}),$be={kernelName:p3.Equal,backendName:"webgl",kernelFunc:Bbe},Ube=J_e({opSnippet:`\n // Error function is calculated approximately with elementary function.\n // See "Handbook of Mathematical Functions with Formulas,\n // Graphs, and Mathematical Tables", Abramowitz and Stegun.\n float p = ${p3.backend_util.ERF_P};\n float a1 = ${p3.backend_util.ERF_A1};\n float a2 = ${p3.backend_util.ERF_A2};\n float a3 = ${p3.backend_util.ERF_A3};\n float a4 = ${p3.backend_util.ERF_A4};\n float a5 = ${p3.backend_util.ERF_A5};\n\n float sign = sign(x);\n x = abs(x);\n float t = 1.0 / (1.0 + p * x);\n return sign * (1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*exp(-x*x));\n`}),Vbe={kernelName:p3.Erf,backendName:"webgl",kernelFunc:Ube},zbe=J_e({opSnippet:Q_e+"\n return exp(x);\n",packedOpSnippet:"\n vec4 result = exp(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n",cpuKernelImpl:Cge,dtype:"float32"}),jbe={kernelName:p3.Exp,backendName:"webgl",kernelFunc:zbe}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{equation:r}=i,s=t,{allDims:o,summedDims:a,idDims:l}=v3.backend_util.decodeEinsumEquation(r,s.length);v3.backend_util.checkEinsumDimSizes(o.length,l,s);const{path:u,steps:c}=v3.backend_util.getEinsumComputePath(a,l),d=c.length;let h=null,p=o.length;const f=[];for(let e=0;e=0&&(h=Eye({inputs:{x:h},backend:n,attrs:{axis:u[e]-(o.length-p),keepDims:!1}}),f.push(h)),p--)}for(const e of f)e!==h&&n.disposeIntermediateTensorInfo(e);return h}},Vbe=sye({opSnippet:"return (x >= 0.0) ? x : (exp(x) - 1.0);",packedOpSnippet:"\n vec4 result;\n\n result.r = (x.r >= 0.0) ? x.r : (exp(x.r) - 1.0);\n result.g = (x.g >= 0.0) ? x.g : (exp(x.g) - 1.0);\n result.b = (x.b >= 0.0) ? x.b : (exp(x.b) - 1.0);\n result.a = (x.a >= 0.0) ? x.a : (exp(x.a) - 1.0);\n\n return result;\n"}),zbe={kernelName:v3.Elu,backendName:"webgl",kernelFunc:Vbe},jbe={kernelName:v3.EluGrad,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n}=e,{dy:i,y:r}=t,s=(0,v3.env)().getBool("WEBGL_PACK_BINARY_OPERATIONS")?new W_e("\n vec4 bGTEZero = vec4(greaterThanEqual(b, vec4(0.)));\n return (bGTEZero * a) + ((vec4(1.0) - bGTEZero) * (a * (b + vec4(1.0))));\n",i.shape,r.shape):new G_e("return (b >= 0.0) ? a : a * (b + 1.0);",i.shape,r.shape);return n.runWebGLProgram(s,[i,r],i.dtype)}},Ybe=oye({opSnippet:"return float(a == b);",packedOpSnippet:"\n return vec4(equal(a, b));\n",dtype:"bool",cpuKernelImpl:Nge}),Gbe={kernelName:v3.Equal,backendName:"webgl",kernelFunc:Ybe},Hbe=sye({opSnippet:`\n // Error function is calculated approximately with elementary function.\n // See "Handbook of Mathematical Functions with Formulas,\n // Graphs, and Mathematical Tables", Abramowitz and Stegun.\n float p = ${v3.backend_util.ERF_P};\n float a1 = ${v3.backend_util.ERF_A1};\n float a2 = ${v3.backend_util.ERF_A2};\n float a3 = ${v3.backend_util.ERF_A3};\n float a4 = ${v3.backend_util.ERF_A4};\n float a5 = ${v3.backend_util.ERF_A5};\n\n float sign = sign(x);\n x = abs(x);\n float t = 1.0 / (1.0 + p * x);\n return sign * (1.0 - (((((a5*t + a4)*t) + a3)*t + a2)*t + a1)*t*exp(-x*x));\n`}),Wbe={kernelName:v3.Erf,backendName:"webgl",kernelFunc:Hbe},Xbe=sye({opSnippet:rye+"\n return exp(x);\n",packedOpSnippet:"\n vec4 result = exp(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n",cpuKernelImpl:Dge,dtype:"float32"}),qbe={kernelName:v3.Exp,backendName:"webgl",kernelFunc:Xbe}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16733,7 +16733,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{equation:r}=i,s=t,{allDims:o,su * limitations under the License. * ============================================================================= */ -function Ybe(e){const{inputs:t,attrs:n,backend:i}=e,{dim:r}=n,{input:s}=t,o=s.shape.length,a=s.shape.slice();let l=r;return r<0&&(p3.util.assert(-(o+1)<=r,()=>`Axis must be in the interval [${-(o+1)}, ${o}]`),l=o+r+1),a.splice(l,0,1),uye({inputs:{x:s},backend:i,attrs:{shape:a}})}const Gbe={kernelName:p3.ExpandDims,backendName:"webgl",kernelFunc:Ybe},Hbe="return exp(x) - 1.0;",Wbe=J_e({opSnippet:Hbe,packedOpSnippet:Hbe,cpuKernelImpl:Oge}),Xbe={kernelName:p3.Expm1,backendName:"webgl",kernelFunc:Wbe}; +function Kbe(e){const{inputs:t,attrs:n,backend:i}=e,{dim:r}=n,{input:s}=t,o=s.shape.length,a=s.shape.slice();let l=r;return r<0&&(v3.util.assert(-(o+1)<=r,()=>`Axis must be in the interval [${-(o+1)}, ${o}]`),l=o+r+1),a.splice(l,0,1),mye({inputs:{x:s},backend:i,attrs:{shape:a}})}const Zbe={kernelName:v3.ExpandDims,backendName:"webgl",kernelFunc:Kbe},Qbe="return exp(x) - 1.0;",Jbe=sye({opSnippet:Qbe,packedOpSnippet:Qbe,cpuKernelImpl:Fge}),eTe={kernelName:v3.Expm1,backendName:"webgl",kernelFunc:Jbe}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -16750,7 +16750,7 @@ function Ybe(e){const{inputs:t,attrs:n,backend:i}=e,{dim:r}=n,{input:s}=t,o=s.sh * limitations under the License. * ============================================================================= */ -class qbe{constructor(e,t,n){this.variableNames=["real","imag"];const i=t[1];this.outputShape=t;const r=n?`2.0 * ${Math.PI}`:`-2.0 * ${Math.PI}`,s=n?`${i}.0`:"1.0";let o;if("real"===e)o="return real * expR - imag * expI;";else{if("imag"!==e)throw new Error(`FFT component must be either "real" or "imag", got ${e}.`);o="return real * expI + imag * expR;"}this.userCode=`\n const float exponentMultiplier = ${r};\n\n float unaryOpComplex(float real, float expR, float imag, float expI) {\n ${o}\n }\n\n float mulMatDFT(int batch, int index) {\n float indexRatio = float(index) / float(${i});\n float exponentMultiplierTimesIndexRatio =\n exponentMultiplier * indexRatio;\n\n float result = 0.0;\n\n for (int i = 0; i < ${i}; i++) {\n // x = (-2|2 * PI / N) * index * i;\n float x = exponentMultiplierTimesIndexRatio * float(i);\n float expR = cos(x);\n float expI = sin(x);\n float real = getReal(batch, i);\n float imag = getImag(batch, i);\n\n result +=\n unaryOpComplex(real, expR, imag, expI) / ${s};\n }\n\n return result;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n setOutput(mulMatDFT(coords[0], coords[1]));\n }\n `}} +class tTe{constructor(e,t,n){this.variableNames=["real","imag"];const i=t[1];this.outputShape=t;const r=n?`2.0 * ${Math.PI}`:`-2.0 * ${Math.PI}`,s=n?`${i}.0`:"1.0";let o;if("real"===e)o="return real * expR - imag * expI;";else{if("imag"!==e)throw new Error(`FFT component must be either "real" or "imag", got ${e}.`);o="return real * expI + imag * expR;"}this.userCode=`\n const float exponentMultiplier = ${r};\n\n float unaryOpComplex(float real, float expR, float imag, float expI) {\n ${o}\n }\n\n float mulMatDFT(int batch, int index) {\n float indexRatio = float(index) / float(${i});\n float exponentMultiplierTimesIndexRatio =\n exponentMultiplier * indexRatio;\n\n float result = 0.0;\n\n for (int i = 0; i < ${i}; i++) {\n // x = (-2|2 * PI / N) * index * i;\n float x = exponentMultiplierTimesIndexRatio * float(i);\n float expR = cos(x);\n float expI = sin(x);\n float real = getReal(batch, i);\n float imag = getImag(batch, i);\n\n result +=\n unaryOpComplex(real, expR, imag, expI) / ${s};\n }\n\n return result;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n setOutput(mulMatDFT(coords[0], coords[1]));\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16767,7 +16767,7 @@ class qbe{constructor(e,t,n){this.variableNames=["real","imag"];const i=t[1];thi * limitations under the License. * ============================================================================= */ -function Kbe(e,t,n){const i=n.texData.get(e.dataId),r=p3.util.sizeFromShape(e.shape),s=e.shape[e.shape.length-1],o=uye({inputs:{x:e},backend:n,attrs:{shape:[r/s,s]}}),a=o.shape,l=new qbe("real",a,t),u=new qbe("imag",a,t),c=[{dataId:i.complexTensorInfos.real.dataId,dtype:i.complexTensorInfos.real.dtype,shape:a},{dataId:i.complexTensorInfos.imag.dataId,dtype:i.complexTensorInfos.imag.dtype,shape:a}],d=n.runWebGLProgram(l,c,"float32"),h=n.runWebGLProgram(u,c,"float32"),p=Y_e({inputs:{real:d,imag:h},backend:n});n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(h);const f=uye({inputs:{x:p},backend:n,attrs:{shape:e.shape}});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(p),f}const Zbe={kernelName:p3.FFT,backendName:"webgl",kernelFunc: +function nTe(e,t,n){const i=n.texData.get(e.dataId),r=v3.util.sizeFromShape(e.shape),s=e.shape[e.shape.length-1],o=mye({inputs:{x:e},backend:n,attrs:{shape:[r/s,s]}}),a=o.shape,l=new tTe("real",a,t),u=new tTe("imag",a,t),c=[{dataId:i.complexTensorInfos.real.dataId,dtype:i.complexTensorInfos.real.dtype,shape:a},{dataId:i.complexTensorInfos.imag.dataId,dtype:i.complexTensorInfos.imag.dtype,shape:a}],d=n.runWebGLProgram(l,c,"float32"),h=n.runWebGLProgram(u,c,"float32"),p=K_e({inputs:{real:d,imag:h},backend:n});n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(h);const f=mye({inputs:{x:p},backend:n,attrs:{shape:e.shape}});return n.disposeIntermediateTensorInfo(o),n.disposeIntermediateTensorInfo(p),f}const iTe={kernelName:v3.FFT,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16784,7 +16784,7 @@ function Kbe(e,t,n){const i=n.texData.get(e.dataId),r=p3.util.sizeFromShape(e.sh * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{input:i}=t;return Kbe(i,!1,n)}}; +function(e){const{inputs:t,backend:n}=e,{input:i}=t;return nTe(i,!1,n)}}; /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -16801,7 +16801,7 @@ function(e){const{inputs:t,backend:n}=e,{input:i}=t;return Kbe(i,!1,n)}}; * limitations under the License. * ============================================================================= */ -class Qbe{constructor(e,t){this.outputShape=[],this.customUniforms=[{name:"value",type:"float"}],this.variableNames=["x"],this.outputShape=e,this.userCode="\n void main() {\n // Input can be obtained from uniform value.\n setOutput(value);\n }\n "}} +class rTe{constructor(e,t){this.outputShape=[],this.customUniforms=[{name:"value",type:"float"}],this.variableNames=["x"],this.outputShape=e,this.userCode="\n void main() {\n // Input can be obtained from uniform value.\n setOutput(value);\n }\n "}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16818,7 +16818,7 @@ class Qbe{constructor(e,t){this.outputShape=[],this.customUniforms=[{name:"value * limitations under the License. * ============================================================================= */ -function Jbe(e){const{backend:t,attrs:n}=e,{shape:i,value:r}=n;let{dtype:s}=n;if(s=s||p3.util.inferDtype(r),"string"===s){const e=p3.util.getArrayFromDType(s,p3.util.sizeFromShape(i));return e.fill(r),t.makeTensorInfo(i,s,e)}{const e=new Qbe(i,r),n=[[r]];return t.runWebGLProgram(e,[],s,n)}}const eTe={kernelName:p3.Fill,backendName:"webgl",kernelFunc:Jbe}; +function sTe(e){const{backend:t,attrs:n}=e,{shape:i,value:r}=n;let{dtype:s}=n;if(s=s||v3.util.inferDtype(r),"string"===s){const e=v3.util.getArrayFromDType(s,v3.util.sizeFromShape(i));return e.fill(r),t.makeTensorInfo(i,s,e)}{const e=new rTe(i,r),n=[[r]];return t.runWebGLProgram(e,[],s,n)}}const oTe={kernelName:v3.Fill,backendName:"webgl",kernelFunc:sTe}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16835,7 +16835,7 @@ function Jbe(e){const{backend:t,attrs:n}=e,{shape:i,value:r}=n;let{dtype:s}=n;if * limitations under the License. * ============================================================================= */ -class tTe{constructor(e){this.variableNames=["Image"],this.outputShape=[];const t=e[2];this.outputShape=e,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n\n int coordX = ${t} - x - 1;\n float outputValue;\n if(coordX >= 0 && coordX < ${t}) {\n outputValue = getImage(coords[0], coords[1], coordX, coords[3]);\n } else {\n outputValue = getImage(coords[0], coords[1], coords[2], coords[3]);\n }\n setOutput(outputValue);\n }\n `}} +class aTe{constructor(e){this.variableNames=["Image"],this.outputShape=[];const t=e[2];this.outputShape=e,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n\n int coordX = ${t} - x - 1;\n float outputValue;\n if(coordX >= 0 && coordX < ${t}) {\n outputValue = getImage(coords[0], coords[1], coordX, coords[3]);\n } else {\n outputValue = getImage(coords[0], coords[1], coords[2], coords[3]);\n }\n setOutput(outputValue);\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16852,7 +16852,7 @@ class tTe{constructor(e){this.variableNames=["Image"],this.outputShape=[];const * limitations under the License. * ============================================================================= */ -const nTe={kernelName:p3.FlipLeftRight,backendName:"webgl",kernelFunc:({inputs:e,backend:t})=>{const{image:n}=e,i=t,r=new tTe(n.shape);return i.runWebGLProgram(r,[n],n.dtype)}},iTe="return floor(x);",rTe=J_e({opSnippet:iTe,packedOpSnippet:iTe,cpuKernelImpl:Mge}),sTe={kernelName:p3.Floor,backendName:"webgl",kernelFunc:rTe},oTe=eye({opSnippet:"\n float s = sign(a) * sign(b);\n int ia = round(a);\n int ib = round(b);\n if (ib != 0) {\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n return float(idiv(ia, ib, s));\n } else {\n return NAN;\n }\n",packedOpSnippet:"\n ivec4 ia = round(a);\n ivec4 ib = round(b);\n bvec4 cond = notEqual(ib, ivec4(0));\n ivec4 result = ivec4(0);\n vec4 s = sign(a) * sign(b);\n\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n if (cond[0]) {\n result[0] = idiv(ia[0], ib[0], s[0]);\n }\n if (cond[1]) {\n result[1] = idiv(ia[1], ib[1], s[1]);\n }\n if (cond[2]) {\n result[2] = idiv(ia[2], ib[2], s[2]);\n }\n if (cond[3]) {\n result[3] = idiv(ia[3], ib[3], s[3]);\n }\n return vec4(result);\n",dtype:"int32"}),aTe={kernelName:p3.FloorDiv,backendName:"webgl",kernelFunc:oTe}; +const lTe={kernelName:v3.FlipLeftRight,backendName:"webgl",kernelFunc:({inputs:e,backend:t})=>{const{image:n}=e,i=t,r=new aTe(n.shape);return i.runWebGLProgram(r,[n],n.dtype)}},uTe="return floor(x);",cTe=sye({opSnippet:uTe,packedOpSnippet:uTe,cpuKernelImpl:Lge}),dTe={kernelName:v3.Floor,backendName:"webgl",kernelFunc:cTe},hTe=oye({opSnippet:"\n float s = sign(a) * sign(b);\n int ia = round(a);\n int ib = round(b);\n if (ib != 0) {\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n return float(idiv(ia, ib, s));\n } else {\n return NAN;\n }\n",packedOpSnippet:"\n ivec4 ia = round(a);\n ivec4 ib = round(b);\n bvec4 cond = notEqual(ib, ivec4(0));\n ivec4 result = ivec4(0);\n vec4 s = sign(a) * sign(b);\n\n // Windows (D3D) wants guaranteed non-zero int division at compile-time.\n if (cond[0]) {\n result[0] = idiv(ia[0], ib[0], s[0]);\n }\n if (cond[1]) {\n result[1] = idiv(ia[1], ib[1], s[1]);\n }\n if (cond[2]) {\n result[2] = idiv(ia[2], ib[2], s[2]);\n }\n if (cond[3]) {\n result[3] = idiv(ia[3], ib[3], s[3]);\n }\n return vec4(result);\n",dtype:"int32"}),pTe={kernelName:v3.FloorDiv,backendName:"webgl",kernelFunc:hTe}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -16869,7 +16869,7 @@ const nTe={kernelName:p3.FlipLeftRight,backendName:"webgl",kernelFunc:({inputs:e * limitations under the License. * ============================================================================= */ -class lTe{constructor(e){this.variableNames=["A"];const t=bme(),[n,i]=e;this.outputShape=e,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${i}.0, ${n}.0);\n\n vec4 values = ${t.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n setOutput(floor(value * 255.0 + 0.5));\n }\n `}} +class fTe{constructor(e){this.variableNames=["A"];const t=Ame(),[n,i]=e;this.outputShape=e,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n vec2 uv = (vec2(texC, texR) + halfCR) / vec2(${i}.0, ${n}.0);\n\n vec4 values = ${t.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n setOutput(floor(value * 255.0 + 0.5));\n }\n `}} /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -16886,7 +16886,7 @@ class lTe{constructor(e){this.variableNames=["A"];const t=bme(),[n,i]=e;this.out * limitations under the License. * ============================================================================= */ -class uTe{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0;const t=bme(),[n,i]=e;this.outputShape=e,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n\n vec4 result = vec4(0.);\n\n for(int row=0; row<=1; row++) {\n for(int col=0; col<=1; col++) {\n texC = coords[1] + row;\n depth = coords[2] + col;\n\n vec2 uv = (vec2(texC, texR) + halfCR) /\n vec2(${i}.0, ${n}.0);\n vec4 values = ${t.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n result[row * 2 + col] = floor(value * 255.0 + 0.5);\n }\n }\n\n ${t.output} = result;\n }\n `}} +class mTe{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.packedOutput=!0;const t=Ame(),[n,i]=e;this.outputShape=e,this.userCode=`\n void main() {\n ivec3 coords = getOutputCoords();\n int texR = coords[0];\n int texC = coords[1];\n int depth = coords[2];\n\n vec4 result = vec4(0.);\n\n for(int row=0; row<=1; row++) {\n for(int col=0; col<=1; col++) {\n texC = coords[1] + row;\n depth = coords[2] + col;\n\n vec2 uv = (vec2(texC, texR) + halfCR) /\n vec2(${i}.0, ${n}.0);\n vec4 values = ${t.texture2D}(A, uv);\n float value;\n if (depth == 0) {\n value = values.r;\n } else if (depth == 1) {\n value = values.g;\n } else if (depth == 2) {\n value = values.b;\n } else if (depth == 3) {\n value = values.a;\n }\n\n result[row * 2 + col] = floor(value * 255.0 + 0.5);\n }\n }\n\n ${t.output} = result;\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -16903,7 +16903,7 @@ class uTe{constructor(e){this.variableNames=["A"],this.packedInputs=!1,this.pack * limitations under the License. * ============================================================================= */ -const cTe={kernelName:p3.FromPixels,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:i}=e;let{pixels:r}=t;const{numChannels:s}=i,o="undefined"!=typeof HTMLVideoElement&&r instanceof HTMLVideoElement,a="undefined"!=typeof HTMLImageElement&&r instanceof HTMLImageElement,[l,u]=o?[r.videoWidth,r.videoHeight]:[r.width,r.height],c=[u,l],d=[u,l,s];if(a||o){const e=(0,p3.env)().getBool("CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU");null!=dTe&&e===hTe||(hTe=e,dTe=document.createElement("canvas").getContext("2d",{willReadFrequently:hTe})),dTe.canvas.width=l,dTe.canvas.height=u,dTe.drawImage(r,0,0,l,u),r=dTe.canvas}const h=n.makeTensorInfo(c,"int32");n.texData.get(h.dataId).usage=mfe.PIXELS,n.gpgpu.uploadPixelDataToTexture(n.getTexture(h.dataId),r);const p=(0,p3.env)().getBool("WEBGL_PACK")?new uTe(d):new lTe(d),f=n.runWebGLProgram(p,[h],"int32");return n.disposeData(h.dataId),f}};let dTe,hTe=(0,p3.env)().getBool("CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU");const pTe={kernelName:p3.FusedConv2D,backendName:"webgl",kernelFunc: +const gTe={kernelName:v3.FromPixels,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n,attrs:i}=e;let{pixels:r}=t;const{numChannels:s}=i,o="undefined"!=typeof HTMLVideoElement&&r instanceof HTMLVideoElement,a="undefined"!=typeof HTMLImageElement&&r instanceof HTMLImageElement,[l,u]=o?[r.videoWidth,r.videoHeight]:[r.width,r.height],c=[u,l],d=[u,l,s];if(a||o){const e=(0,v3.env)().getBool("CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU");null!=_Te&&e===yTe||(yTe=e,_Te=document.createElement("canvas").getContext("2d",{willReadFrequently:yTe})),_Te.canvas.width=l,_Te.canvas.height=u,_Te.drawImage(r,0,0,l,u),r=_Te.canvas}const h=n.makeTensorInfo(c,"int32");n.texData.get(h.dataId).usage=Tfe.PIXELS,n.gpgpu.uploadPixelDataToTexture(n.getTexture(h.dataId),r);const p=(0,v3.env)().getBool("WEBGL_PACK")?new mTe(d):new fTe(d),f=n.runWebGLProgram(p,[h],"int32");return n.disposeData(h.dataId),f}};let _Te,yTe=(0,v3.env)().getBool("CANVAS2D_WILL_READ_FREQUENTLY_FOR_GPU");const vTe={kernelName:v3.FusedConv2D,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16920,7 +16920,7 @@ const cTe={kernelName:p3.FromPixels,backendName:"webgl",kernelFunc:function(e){c * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s,bias:o,preluActivationWeights:a}=t,{strides:l,pad:u,dataFormat:c,dilations:d,dimRoundingMode:h,activation:p,leakyreluAlpha:f}=i,m=p3.backend_util.convertConv2DDataFormat(c),g=p3.backend_util.computeConv2DInfo(r.shape,s.shape,l,d,u,h,!1,m);let _;const y=[],v=null!=o,b=null!=a,T="leakyrelu"===p,x=()=>{const e=[r,s],t=(e,t)=>{if("NCHW"===t&&1===e.shape.length&&1!==e.shape[0]){const t=uye({inputs:{x:e},backend:n,attrs:{shape:[e.shape[0],1,1]}});return y.push(t),t}return e};if(v&&e.push(t(o,c)),b&&e.push(t(a,c)),T){const t=n.makeTensorInfo([],"float32",p3.util.createScalarValue(f,"float32"));e.push(t),y.push(t)}return e};if(1!==g.filterHeight||1!==g.filterWidth||1!==g.dilationHeight||1!==g.dilationWidth||1!==g.strideHeight||1!==g.strideWidth||"SAME"!==g.padInfo.type&&"VALID"!==g.padInfo.type)if(g.strideWidth<=2&&"channelsLast"===m&&(0,p3.env)().getBool("WEBGL_EXP_CONV")){const e=p?tye(p,!0):null,t=new Gve(g,v,e,b,T),i=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],r=x();_=n.runWebGLProgram(t,r,"float32",i)}else if((0,p3.env)().getBool("WEBGL_CONV_IM2COL"))_=qve({x:r,filter:s,convInfo:g,backend:n,bias:o,activation:p,preluActivationWeights:a,leakyreluAlpha:f});else{const e=p?tye(p,!1):null,t=new jve(g,v,e,b,T),i=x();_=n.runWebGLProgram(t,i,"float32")}else _=Xve({x:r,filter:s,convInfo:g,backend:n,bias:o,activation:p,preluActivationWeights:a,leakyreluAlpha:f});const E=uye({inputs:{x:_},backend:n,attrs:{shape:g.outShape}});return y.push(_),y.forEach(e=>n.disposeIntermediateTensorInfo(e)),E}};const fTe={kernelName:p3.FusedDepthwiseConv2D,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s,bias:o,preluActivationWeights:a}=t,{strides:l,pad:u,dataFormat:c,dilations:d,dimRoundingMode:h,activation:p,leakyreluAlpha:f}=i,m=v3.backend_util.convertConv2DDataFormat(c),g=v3.backend_util.computeConv2DInfo(r.shape,s.shape,l,d,u,h,!1,m);let _;const y=[],v=null!=o,b=null!=a,T="leakyrelu"===p,x=()=>{const e=[r,s],t=(e,t)=>{if("NCHW"===t&&1===e.shape.length&&1!==e.shape[0]){const t=mye({inputs:{x:e},backend:n,attrs:{shape:[e.shape[0],1,1]}});return y.push(t),t}return e};if(v&&e.push(t(o,c)),b&&e.push(t(a,c)),T){const t=n.makeTensorInfo([],"float32",v3.util.createScalarValue(f,"float32"));e.push(t),y.push(t)}return e};if(1!==g.filterHeight||1!==g.filterWidth||1!==g.dilationHeight||1!==g.dilationWidth||1!==g.strideHeight||1!==g.strideWidth||"SAME"!==g.padInfo.type&&"VALID"!==g.padInfo.type)if(g.strideWidth<=2&&"channelsLast"===m&&(0,v3.env)().getBool("WEBGL_EXP_CONV")){const e=p?aye(p,!0):null,t=new Zve(g,v,e,b,T),i=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],r=x();_=n.runWebGLProgram(t,r,"float32",i)}else if((0,v3.env)().getBool("WEBGL_CONV_IM2COL"))_=tbe({x:r,filter:s,convInfo:g,backend:n,bias:o,activation:p,preluActivationWeights:a,leakyreluAlpha:f});else{const e=p?aye(p,!1):null,t=new qve(g,v,e,b,T),i=x();_=n.runWebGLProgram(t,i,"float32")}else _=ebe({x:r,filter:s,convInfo:g,backend:n,bias:o,activation:p,preluActivationWeights:a,leakyreluAlpha:f});const E=mye({inputs:{x:_},backend:n,attrs:{shape:g.outShape}});return y.push(_),y.forEach(e=>n.disposeIntermediateTensorInfo(e)),E}};const bTe={kernelName:v3.FusedDepthwiseConv2D,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16937,7 +16937,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s,bias:o,preluActiva * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s,bias:o,preluActivationWeights:a}=t,{strides:l,pad:u,dilations:c,dimRoundingMode:d,activation:h,leakyreluAlpha:p}=i,f=[];let m=c;null==m&&(m=[1,1]),p3.util.assert(p3.backend_util.eitherStridesOrDilationsAreOne(l,m),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${l} and dilations '${m}'`);const g=p3.backend_util.computeConv2DInfo(r.shape,s.shape,l,m,u,d,!0),_=(0,p3.env)().getBool("WEBGL_PACK_DEPTHWISECONV")&&g.strideWidth<=2&&g.outChannels/g.inChannels===1,y=h?tye(h,_):null,v=[r,s],b=null!=o,T=null!=a,x="leakyrelu"===h;if(b&&v.push(o),T&&v.push(a),x){const e=n.makeTensorInfo([],"float32",p3.util.createScalarValue(p,"float32"));v.push(e),f.push(e)}let E;E=_?new wbe(g,b,y,T,x):new Ebe(g,b,y,T,x);const w=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],I=n.runWebGLProgram(E,v,"float32",w);return f.forEach(e=>n.disposeIntermediateTensorInfo(e)),I}};class mTe{constructor(e,t,n,i){this.sliceDim=e,this.strides=t,this.paramsShape=i,this.variableNames=["x","indices"],this.outputShape=n;const r=Pme(n.length);let s="\n int index;";for(let e=0;e= ${this.paramsShape[e]};\n flattenIndex += index * ${this.strides[e]};`;this.userCode=`\n void main() {\n ${r} coords = getOutputCoords();\n int flattenIndex = 0;\n bool out_of_bounds = false;\n\n ${s}\n\n setOutput(out_of_bounds ? 0.0 : getX(flattenIndex, coords[1]));\n }\n `}}const gTe={kernelName:p3.GatherNd,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s,bias:o,preluActivationWeights:a}=t,{strides:l,pad:u,dilations:c,dimRoundingMode:d,activation:h,leakyreluAlpha:p}=i,f=[];let m=c;null==m&&(m=[1,1]),v3.util.assert(v3.backend_util.eitherStridesOrDilationsAreOne(l,m),()=>`Error in depthwiseConv2d: Either strides or dilations must be 1. Got strides ${l} and dilations '${m}'`);const g=v3.backend_util.computeConv2DInfo(r.shape,s.shape,l,m,u,d,!0),_=(0,v3.env)().getBool("WEBGL_PACK_DEPTHWISECONV")&&g.strideWidth<=2&&g.outChannels/g.inChannels===1,y=h?aye(h,_):null,v=[r,s],b=null!=o,T=null!=a,x="leakyrelu"===h;if(b&&v.push(o),T&&v.push(a),x){const e=n.makeTensorInfo([],"float32",v3.util.createScalarValue(p,"float32"));v.push(e),f.push(e)}let E;E=_?new Mbe(g,b,y,T,x):new Obe(g,b,y,T,x);const w=[[g.padInfo.top,g.padInfo.left],[g.strideHeight,g.strideWidth],[g.dilationHeight,g.dilationWidth],[g.inHeight,g.inWidth]],I=n.runWebGLProgram(E,v,"float32",w);return f.forEach(e=>n.disposeIntermediateTensorInfo(e)),I}};class TTe{constructor(e,t,n,i){this.sliceDim=e,this.strides=t,this.paramsShape=i,this.variableNames=["x","indices"],this.outputShape=n;const r=jme(n.length);let s="\n int index;";for(let e=0;e= ${this.paramsShape[e]};\n flattenIndex += index * ${this.strides[e]};`;this.userCode=`\n void main() {\n ${r} coords = getOutputCoords();\n int flattenIndex = 0;\n bool out_of_bounds = false;\n\n ${s}\n\n setOutput(out_of_bounds ? 0.0 : getX(flattenIndex, coords[1]));\n }\n `}}const xTe={kernelName:v3.GatherNd,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16954,7 +16954,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,filter:s,bias:o,preluActiva * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{params:i,indices:r}=t,s=r.shape,o=s[s.length-1],a=p3.util.sizeFromShape(i.shape),[l,u,c,d]=p3.backend_util.prepareAndValidate(i,r),h=uye({inputs:{x:r},backend:n,attrs:{shape:[u,o]}}),p=uye({inputs:{x:i},backend:n,attrs:{shape:[p3.util.sizeFromShape(i.shape)/c,c]}});if(n.shouldExecuteOnCPU([i,r])||"string"===i.dtype){const e=n.readSync(r.dataId),t=n.bufferSync(i),s=kge(e,t,i.dtype,u,o,c,d,i.shape,a);return n.makeTensorInfo(l,i.dtype,s.values)}const f=new mTe(o,d,[u,c],i.shape),m=n.runWebGLProgram(f,[p,h],p.dtype),g=uye({inputs:{x:m},backend:n,attrs:{shape:l}});return n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(m),g}}; +function(e){const{inputs:t,backend:n}=e,{params:i,indices:r}=t,s=r.shape,o=s[s.length-1],a=v3.util.sizeFromShape(i.shape),[l,u,c,d]=v3.backend_util.prepareAndValidate(i,r),h=mye({inputs:{x:r},backend:n,attrs:{shape:[u,o]}}),p=mye({inputs:{x:i},backend:n,attrs:{shape:[v3.util.sizeFromShape(i.shape)/c,c]}});if(n.shouldExecuteOnCPU([i,r])||"string"===i.dtype){const e=n.readSync(r.dataId),t=n.bufferSync(i),s=Pge(e,t,i.dtype,u,o,c,d,i.shape,a);return n.makeTensorInfo(l,i.dtype,s.values)}const f=new TTe(o,d,[u,c],i.shape),m=n.runWebGLProgram(f,[p,h],p.dtype),g=mye({inputs:{x:m},backend:n,attrs:{shape:l}});return n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(m),g}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -16971,7 +16971,7 @@ function(e){const{inputs:t,backend:n}=e,{params:i,indices:r}=t,s=r.shape,o=s[s.l * limitations under the License. * ============================================================================= */ -class _Te{constructor(e,t){this.variableNames=["A","indices"],this.outputShape=t,this.rank=t.length;const n=Pme(this.rank),i=function(e){const t=["resRC.x","resRC.y","resRC.z","resRC.w"],n=[];for(let i=0;i= 0) && (index < ${e[2]}) ? 1.0 : 0.0;\n setOutput(inBounds * getA(${i}));\n }\n `}} +class ETe{constructor(e,t){this.variableNames=["A","indices"],this.outputShape=t,this.rank=t.length;const n=jme(this.rank),i=function(e){const t=["resRC.x","resRC.y","resRC.z","resRC.w"],n=[];for(let i=0;i= 0) && (index < ${e[2]}) ? 1.0 : 0.0;\n setOutput(inBounds * getA(${i}));\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -16988,7 +16988,7 @@ class _Te{constructor(e,t){this.variableNames=["A","indices"],this.outputShape=t * limitations under the License. * ============================================================================= */ -function yTe(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,indices:s}=t,{axis:o,batchDims:a}=i,l=p3.util.parseAxisParam(o,r.shape)[0];if((0,p3.env)().get("DEBUG")){const e=n.readSync(s.dataId),t=r.shape[l];for(let n=0;n=0,()=>`GatherV2: the index value ${i} is not in [0, ${t-1}]`)}}const u=p3.backend_util.segment_util.collectGatherOpShapeInfo(r,s,l,a),c=p3.util.sizeFromShape(s.shape),d=[],h=uye({inputs:{x:r},backend:n,attrs:{shape:[u.batchSize,u.outerSize,u.dimSize,u.sliceSize]}}),p=uye({inputs:{x:s},backend:n,attrs:{shape:[u.batchSize,c/u.batchSize]}});d.push(h),d.push(p);const f=[u.batchSize,u.outerSize,c/u.batchSize,u.sliceSize];if(n.shouldExecuteOnCPU([r,s])||"string"===r.dtype){const e=n.bufferSync(p),t=n.bufferSync(h),i=Rge(t,e,f);return d.forEach(e=>n.disposeIntermediateTensorInfo(e)),n.makeTensorInfo(u.outputShape,i.dtype,i.values)}const m=new _Te(h.shape,f),g=n.runWebGLProgram(m,[h,p],h.dtype);d.push(g);const _=uye({inputs:{x:g},backend:n,attrs:{shape:u.outputShape}});return d.forEach(e=>n.disposeIntermediateTensorInfo(e)),_}const vTe={kernelName:p3.GatherV2,backendName:"webgl",kernelFunc:yTe},bTe=eye({opSnippet:"return float(a > b);",packedOpSnippet:"\n return vec4(greaterThan(a, b));\n",cpuKernelImpl:Nge,dtype:"bool"}),TTe={kernelName:p3.Greater,backendName:"webgl",kernelFunc:bTe},xTe=eye({opSnippet:"return float(a >= b);",packedOpSnippet:"\n return vec4(greaterThanEqual(a, b));\n",dtype:"bool",cpuKernelImpl:Dge}),ETe={kernelName:p3.GreaterEqual,backendName:"webgl",kernelFunc:xTe};const wTe={kernelName:p3.IFFT,backendName:"webgl",kernelFunc: +function wTe(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,indices:s}=t,{axis:o,batchDims:a}=i,l=v3.util.parseAxisParam(o,r.shape)[0];if((0,v3.env)().get("DEBUG")){const e=n.readSync(s.dataId),t=r.shape[l];for(let n=0;n=0,()=>`GatherV2: the index value ${i} is not in [0, ${t-1}]`)}}const u=v3.backend_util.segment_util.collectGatherOpShapeInfo(r,s,l,a),c=v3.util.sizeFromShape(s.shape),d=[],h=mye({inputs:{x:r},backend:n,attrs:{shape:[u.batchSize,u.outerSize,u.dimSize,u.sliceSize]}}),p=mye({inputs:{x:s},backend:n,attrs:{shape:[u.batchSize,c/u.batchSize]}});d.push(h),d.push(p);const f=[u.batchSize,u.outerSize,c/u.batchSize,u.sliceSize];if(n.shouldExecuteOnCPU([r,s])||"string"===r.dtype){const e=n.bufferSync(p),t=n.bufferSync(h),i=Bge(t,e,f);return d.forEach(e=>n.disposeIntermediateTensorInfo(e)),n.makeTensorInfo(u.outputShape,i.dtype,i.values)}const m=new ETe(h.shape,f),g=n.runWebGLProgram(m,[h,p],h.dtype);d.push(g);const _=mye({inputs:{x:g},backend:n,attrs:{shape:u.outputShape}});return d.forEach(e=>n.disposeIntermediateTensorInfo(e)),_}const ITe={kernelName:v3.GatherV2,backendName:"webgl",kernelFunc:wTe},ATe=oye({opSnippet:"return float(a > b);",packedOpSnippet:"\n return vec4(greaterThan(a, b));\n",cpuKernelImpl:$ge,dtype:"bool"}),STe={kernelName:v3.Greater,backendName:"webgl",kernelFunc:ATe},CTe=oye({opSnippet:"return float(a >= b);",packedOpSnippet:"\n return vec4(greaterThanEqual(a, b));\n",dtype:"bool",cpuKernelImpl:Uge}),OTe={kernelName:v3.GreaterEqual,backendName:"webgl",kernelFunc:CTe};const MTe={kernelName:v3.IFFT,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17005,7 +17005,7 @@ function yTe(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,indices:s}=t,{axis:o,ba * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{input:i}=t;return Kbe(i,!0,n)}},ITe=J_e({opSnippet:"return float(!isnan(x) && !isinf(x));",dtype:"bool"}),ATe={kernelName:p3.IsFinite,backendName:"webgl",kernelFunc:ITe},STe=J_e({opSnippet:"return float(isinf(x));",dtype:"bool"}),CTe={kernelName:p3.IsInf,backendName:"webgl",kernelFunc:STe},OTe=J_e({opSnippet:"return float(isnan(x));",dtype:"bool"}),MTe={kernelName:p3.IsNan,backendName:"webgl",kernelFunc:OTe},kTe=eye({opSnippet:"return float(a < b);",packedOpSnippet:"\n return vec4(lessThan(a, b));\n",cpuKernelImpl:Fge,dtype:"bool"}),RTe={kernelName:p3.Less,backendName:"webgl",kernelFunc:kTe},NTe=eye({opSnippet:"return float(a <= b);",packedOpSnippet:"\n return vec4(lessThanEqual(a, b));\n",cpuKernelImpl:Lge,dtype:"bool"}),DTe={kernelName:p3.LessEqual,backendName:"webgl",kernelFunc:NTe};const FTe={kernelName:p3.LinSpace,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{input:i}=t;return nTe(i,!0,n)}},kTe=sye({opSnippet:"return float(!isnan(x) && !isinf(x));",dtype:"bool"}),RTe={kernelName:v3.IsFinite,backendName:"webgl",kernelFunc:kTe},NTe=sye({opSnippet:"return float(isinf(x));",dtype:"bool"}),DTe={kernelName:v3.IsInf,backendName:"webgl",kernelFunc:NTe},FTe=sye({opSnippet:"return float(isnan(x));",dtype:"bool"}),LTe={kernelName:v3.IsNan,backendName:"webgl",kernelFunc:FTe},PTe=oye({opSnippet:"return float(a < b);",packedOpSnippet:"\n return vec4(lessThan(a, b));\n",cpuKernelImpl:Vge,dtype:"bool"}),BTe={kernelName:v3.Less,backendName:"webgl",kernelFunc:PTe},$Te=oye({opSnippet:"return float(a <= b);",packedOpSnippet:"\n return vec4(lessThanEqual(a, b));\n",cpuKernelImpl:zge,dtype:"bool"}),UTe={kernelName:v3.LessEqual,backendName:"webgl",kernelFunc:$Te};const VTe={kernelName:v3.LinSpace,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17022,7 +17022,7 @@ function(e){const{inputs:t,backend:n}=e,{input:i}=t;return Kbe(i,!0,n)}},ITe=J_e * limitations under the License. * ============================================================================= */ -function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,num:s}=n,o=Pge(i,r,s);return t.makeTensorInfo([o.length],"float32",o)}},LTe=J_e({opSnippet:Q_e+"\n return x < 0.0 ? 0./0. : log(x);\n",packedOpSnippet:"\n vec4 result = log(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : (x.r < 0.0 ? 0./0. : result.r);\n result.g = isNaN.g ? x.g : (x.g < 0.0 ? 0./0. : result.g);\n result.b = isNaN.b ? x.b : (x.b < 0.0 ? 0./0. : result.b);\n result.a = isNaN.a ? x.a : (x.a < 0.0 ? 0./0. : result.a);\n return result;\n",cpuKernelImpl:Bge}),PTe={kernelName:p3.Log,backendName:"webgl",kernelFunc:LTe},BTe=J_e({opSnippet:Q_e+"\n return log(1.0 + x);\n"}),$Te={kernelName:p3.Log1p,backendName:"webgl",kernelFunc:BTe},UTe=eye({opSnippet:"return float(a >= 1.0 && b >= 1.0);",packedOpSnippet:"\n return vec4(\n vec4(greaterThanEqual(a, vec4(1.0))) *\n vec4(greaterThanEqual(b, vec4(1.0))));\n",dtype:"bool"}),VTe={kernelName:p3.LogicalAnd,backendName:"webgl",kernelFunc:UTe},zTe=J_e({opSnippet:"return float(!(x >= 1.0));"}),jTe={kernelName:p3.LogicalNot,backendName:"webgl",kernelFunc:zTe},YTe=eye({opSnippet:"return float(a >= 1.0 || b >= 1.0);",packedOpSnippet:"\n return min(\n vec4(greaterThanEqual(a, vec4(1.0))) +\n vec4(greaterThanEqual(b, vec4(1.0))),\n vec4(1.0));\n",dtype:"bool"}),GTe={kernelName:p3.LogicalOr,backendName:"webgl",kernelFunc:YTe}; +function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,num:s}=n,o=jge(i,r,s);return t.makeTensorInfo([o.length],"float32",o)}},zTe=sye({opSnippet:rye+"\n return x < 0.0 ? 0./0. : log(x);\n",packedOpSnippet:"\n vec4 result = log(x);\n bvec4 isNaN = isnan(x);\n result.r = isNaN.r ? x.r : (x.r < 0.0 ? 0./0. : result.r);\n result.g = isNaN.g ? x.g : (x.g < 0.0 ? 0./0. : result.g);\n result.b = isNaN.b ? x.b : (x.b < 0.0 ? 0./0. : result.b);\n result.a = isNaN.a ? x.a : (x.a < 0.0 ? 0./0. : result.a);\n return result;\n",cpuKernelImpl:Yge}),jTe={kernelName:v3.Log,backendName:"webgl",kernelFunc:zTe},YTe=sye({opSnippet:rye+"\n return log(1.0 + x);\n"}),GTe={kernelName:v3.Log1p,backendName:"webgl",kernelFunc:YTe},HTe=oye({opSnippet:"return float(a >= 1.0 && b >= 1.0);",packedOpSnippet:"\n return vec4(\n vec4(greaterThanEqual(a, vec4(1.0))) *\n vec4(greaterThanEqual(b, vec4(1.0))));\n",dtype:"bool"}),WTe={kernelName:v3.LogicalAnd,backendName:"webgl",kernelFunc:HTe},XTe=sye({opSnippet:"return float(!(x >= 1.0));"}),qTe={kernelName:v3.LogicalNot,backendName:"webgl",kernelFunc:XTe},KTe=oye({opSnippet:"return float(a >= 1.0 || b >= 1.0);",packedOpSnippet:"\n return min(\n vec4(greaterThanEqual(a, vec4(1.0))) +\n vec4(greaterThanEqual(b, vec4(1.0))),\n vec4(1.0));\n",dtype:"bool"}),ZTe={kernelName:v3.LogicalOr,backendName:"webgl",kernelFunc:KTe}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -17039,7 +17039,7 @@ function(e){const{backend:t,attrs:n}=e,{start:i,stop:r,num:s}=n,o=Pge(i,r,s);ret * limitations under the License. * ============================================================================= */ -class HTe{constructor(e,t,n,i,r){this.variableNames=["x"],this.outputShape=[];const s=t,o=e[3]-1;let a;this.outputShape=e;const l=`float(${n}) + float(${i}) * sum`;a=.5===r?`inversesqrt(${l})`:1===r?`1.0/(${l})`:`exp(log(${l}) * float(-${r}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n int d = coords[3];\n float x = getX(b, r, c, d);\n float sum = 0.0;\n for (int j = -${s}; j <= ${s}; j++) {\n int idx = d + j;\n if (idx >= 0 && idx <= ${o}) {\n float z = getX(b, r, c, idx);\n sum += z * z;\n }\n }\n float val = x * ${a};\n setOutput(val);\n }\n `}} +class QTe{constructor(e,t,n,i,r){this.variableNames=["x"],this.outputShape=[];const s=t,o=e[3]-1;let a;this.outputShape=e;const l=`float(${n}) + float(${i}) * sum`;a=.5===r?`inversesqrt(${l})`:1===r?`1.0/(${l})`:`exp(log(${l}) * float(-${r}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n int d = coords[3];\n float x = getX(b, r, c, d);\n float sum = 0.0;\n for (int j = -${s}; j <= ${s}; j++) {\n int idx = d + j;\n if (idx >= 0 && idx <= ${o}) {\n float z = getX(b, r, c, idx);\n sum += z * z;\n }\n }\n float val = x * ${a};\n setOutput(val);\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -17056,7 +17056,7 @@ class HTe{constructor(e,t,n,i,r){this.variableNames=["x"],this.outputShape=[];co * limitations under the License. * ============================================================================= */ -class WTe{constructor(e,t,n,i,r){this.variableNames=["x"],this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0;const s=t,o=e[3]-1;let a;this.outputShape=e;const l=`float(${n}) + float(${i}) * sum`;a=.5===r?`inversesqrt(${l})`:1===r?`1.0/(${l})`:`exp(log(${l}) * float(-${r}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords.x;\n int r = coords.y;\n int c = coords.z;\n int d = coords.w;\n\n bool hasNextCol = d < ${this.outputShape[3]};\n bool hasNextRow = c < ${this.outputShape[2]};\n\n vec4 sum = vec4(0.);\n vec4 xFragAtOutputCoords = getX(b, r, c, d);\n\n vec4 xAtOutputCoords = vec4(\n getChannel(xFragAtOutputCoords, vec2(c, d)),\n hasNextCol ?\n getChannel(xFragAtOutputCoords, vec2(c, d + 1)) : 0.0,\n hasNextRow ?\n getChannel(xFragAtOutputCoords , vec2(c + 1, d)) : 0.0,\n (hasNextRow && hasNextCol) ?\n getChannel(xFragAtOutputCoords, vec2(c + 1, d + 1)) : 0.0\n );\n\n int firstChannel = d - ${s};\n vec2 cache = vec2(0.);\n if(firstChannel >= 0){\n vec4 firstChannelFrag = getX(b, r, c, firstChannel);\n cache.x = getChannel(firstChannelFrag, vec2(c, firstChannel));\n if(hasNextRow){\n cache.y = getChannel(firstChannelFrag, vec2(c + 1, firstChannel));\n }\n }\n\n ivec2 depth = ivec2(d, d + 1);\n for (int j = - ${s}; j <= ${s}; j++) {\n ivec2 idx = depth + j;\n bvec2 aboveLowerBound = greaterThanEqual(idx, ivec2(0));\n bvec2 belowUpperBound = lessThanEqual(idx, ivec2(${o}));\n\n bool depthInRange = aboveLowerBound.x && belowUpperBound.x;\n bool depthPlusOneInRange = aboveLowerBound.y && belowUpperBound.y;\n\n if(depthInRange || depthPlusOneInRange){\n vec4 z = vec4(0.);\n vec4 xFragAtCurrentDepth;\n z.xz = cache.xy;\n if(depthPlusOneInRange && hasNextCol){\n xFragAtCurrentDepth = idx.y != d ?\n getX(b, r, c, idx.y) : xFragAtOutputCoords;\n z.y = getChannel(xFragAtCurrentDepth, vec2(c, idx.y));\n if(hasNextRow){\n z.w = getChannel(xFragAtCurrentDepth, vec2(c + 1, idx.y));\n }\n }\n cache.xy = z.yw;\n sum += z * z;\n }\n }\n vec4 result = xAtOutputCoords * ${a};\n setOutput(result);\n }\n `}} +class JTe{constructor(e,t,n,i,r){this.variableNames=["x"],this.outputShape=[],this.packedInputs=!0,this.packedOutput=!0;const s=t,o=e[3]-1;let a;this.outputShape=e;const l=`float(${n}) + float(${i}) * sum`;a=.5===r?`inversesqrt(${l})`:1===r?`1.0/(${l})`:`exp(log(${l}) * float(-${r}));`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords.x;\n int r = coords.y;\n int c = coords.z;\n int d = coords.w;\n\n bool hasNextCol = d < ${this.outputShape[3]};\n bool hasNextRow = c < ${this.outputShape[2]};\n\n vec4 sum = vec4(0.);\n vec4 xFragAtOutputCoords = getX(b, r, c, d);\n\n vec4 xAtOutputCoords = vec4(\n getChannel(xFragAtOutputCoords, vec2(c, d)),\n hasNextCol ?\n getChannel(xFragAtOutputCoords, vec2(c, d + 1)) : 0.0,\n hasNextRow ?\n getChannel(xFragAtOutputCoords , vec2(c + 1, d)) : 0.0,\n (hasNextRow && hasNextCol) ?\n getChannel(xFragAtOutputCoords, vec2(c + 1, d + 1)) : 0.0\n );\n\n int firstChannel = d - ${s};\n vec2 cache = vec2(0.);\n if(firstChannel >= 0){\n vec4 firstChannelFrag = getX(b, r, c, firstChannel);\n cache.x = getChannel(firstChannelFrag, vec2(c, firstChannel));\n if(hasNextRow){\n cache.y = getChannel(firstChannelFrag, vec2(c + 1, firstChannel));\n }\n }\n\n ivec2 depth = ivec2(d, d + 1);\n for (int j = - ${s}; j <= ${s}; j++) {\n ivec2 idx = depth + j;\n bvec2 aboveLowerBound = greaterThanEqual(idx, ivec2(0));\n bvec2 belowUpperBound = lessThanEqual(idx, ivec2(${o}));\n\n bool depthInRange = aboveLowerBound.x && belowUpperBound.x;\n bool depthPlusOneInRange = aboveLowerBound.y && belowUpperBound.y;\n\n if(depthInRange || depthPlusOneInRange){\n vec4 z = vec4(0.);\n vec4 xFragAtCurrentDepth;\n z.xz = cache.xy;\n if(depthPlusOneInRange && hasNextCol){\n xFragAtCurrentDepth = idx.y != d ?\n getX(b, r, c, idx.y) : xFragAtOutputCoords;\n z.y = getChannel(xFragAtCurrentDepth, vec2(c, idx.y));\n if(hasNextRow){\n z.w = getChannel(xFragAtCurrentDepth, vec2(c + 1, idx.y));\n }\n }\n cache.xy = z.yw;\n sum += z * z;\n }\n }\n vec4 result = xAtOutputCoords * ${a};\n setOutput(result);\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17073,7 +17073,7 @@ class WTe{constructor(e,t,n,i,r){this.variableNames=["x"],this.outputShape=[],th * limitations under the License. * ============================================================================= */ -const XTe={kernelName:p3.LRN,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{depthRadius:s,bias:o,alpha:a,beta:l}=i,u=(0,p3.env)().getBool("WEBGL_PACK_NORMALIZATION")?new WTe(r.shape,s,o,a,l):new HTe(r.shape,s,o,a,l);return n.runWebGLProgram(u,[r],r.dtype)}}; +const exe={kernelName:v3.LRN,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{depthRadius:s,bias:o,alpha:a,beta:l}=i,u=(0,v3.env)().getBool("WEBGL_PACK_NORMALIZATION")?new JTe(r.shape,s,o,a,l):new QTe(r.shape,s,o,a,l);return n.runWebGLProgram(u,[r],r.dtype)}}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -17090,7 +17090,7 @@ const XTe={kernelName:p3.LRN,backendName:"webgl",kernelFunc:e=>{const{inputs:t,b * limitations under the License. * ============================================================================= */ -class qTe{constructor(e,t,n,i,r){this.variableNames=["inputImage","outputImage","dy"],this.outputShape=[],this.outputShape=e,this.depth=e[3],this.depthRadius=t,this.bias=n,this.alpha=i,this.beta=r,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n\n float result = 0.0;\n for (int d = 0; d < ${this.depth}; ++d) {\n int depthBegin = int(max(0.0, float(d - ${t})));\n int depthEnd = int(min(float(${this.depth}),\n float(d + ${t} + 1)));\n\n const int MIN_DEPTH_BEGIN = 0;\n const int MAX_DEPTH_END = ${this.depth};\n\n float norm = 0.0;\n for (int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k) {\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd) {\n norm += getInputImage(b, r, c, k) * getInputImage(b, r, c, k);\n }\n else {\n break;\n }\n }\n\n norm = float(${i}) * norm + float(${n});\n\n for(int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k){\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd){\n float dyi = -2.0 * float(${i})\n * float(${r})\n * getInputImage(b, r, c, k) * getOutputImage(b, r, c, d)\n / norm;\n if (k == d) {\n dyi += pow(norm, -1.0 * ${r});\n }\n if (k == coords[3]) {\n dyi *= getDy(b, r, c, d);\n result += dyi;\n }\n }\n else {\n break;\n }\n }\n }\n setOutput(result);\n }\n `}} +class txe{constructor(e,t,n,i,r){this.variableNames=["inputImage","outputImage","dy"],this.outputShape=[],this.outputShape=e,this.depth=e[3],this.depthRadius=t,this.bias=n,this.alpha=i,this.beta=r,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int r = coords[1];\n int c = coords[2];\n\n float result = 0.0;\n for (int d = 0; d < ${this.depth}; ++d) {\n int depthBegin = int(max(0.0, float(d - ${t})));\n int depthEnd = int(min(float(${this.depth}),\n float(d + ${t} + 1)));\n\n const int MIN_DEPTH_BEGIN = 0;\n const int MAX_DEPTH_END = ${this.depth};\n\n float norm = 0.0;\n for (int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k) {\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd) {\n norm += getInputImage(b, r, c, k) * getInputImage(b, r, c, k);\n }\n else {\n break;\n }\n }\n\n norm = float(${i}) * norm + float(${n});\n\n for(int k = MIN_DEPTH_BEGIN; k < MAX_DEPTH_END; ++k){\n if (k < depthBegin){\n continue;\n }\n else if (k >= depthBegin && k < depthEnd){\n float dyi = -2.0 * float(${i})\n * float(${r})\n * getInputImage(b, r, c, k) * getOutputImage(b, r, c, d)\n / norm;\n if (k == d) {\n dyi += pow(norm, -1.0 * ${r});\n }\n if (k == coords[3]) {\n dyi *= getDy(b, r, c, d);\n result += dyi;\n }\n }\n else {\n break;\n }\n }\n }\n setOutput(result);\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17107,7 +17107,7 @@ class qTe{constructor(e,t,n,i,r){this.variableNames=["inputImage","outputImage", * limitations under the License. * ============================================================================= */ -const KTe={kernelName:p3.LRNGrad,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r,y:s,dy:o}=t,{depthRadius:a,bias:l,alpha:u,beta:c}=i,d=new qTe(r.shape,a,l,u,c);return n.runWebGLProgram(d,[r,s,o],r.dtype)}}; +const nxe={kernelName:v3.LRNGrad,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r,y:s,dy:o}=t,{depthRadius:a,bias:l,alpha:u,beta:c}=i,d=new txe(r.shape,a,l,u,c);return n.runWebGLProgram(d,[r,s,o],r.dtype)}}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17124,7 +17124,7 @@ const KTe={kernelName:p3.LRNGrad,backendName:"webgl",kernelFunc:e=>{const{inputs * limitations under the License. * ============================================================================= */ -function ZTe(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{reductionIndices:s,keepDims:o}=i,a=r.shape.length,l=p3.util.parseAxisParam(s,r.shape);let u=l;const c=p3.backend_util.getAxesPermutation(u,a),d=null!=c,h=n.shouldExecuteOnCPU([r]);let p=r;if(d){if(h){const e=n.texData.get(p.dataId).values,t=new Array(a);for(let e=0;e`Error in maxPool: Either strides or dilations must be 1. Got strides ${o} and dilations '1'`);const u=p3.backend_util.computePool2DInfo(r.shape,s,o,1,a,l);if(1===u.filterWidth&&1===u.filterHeight&&p3.util.arraysEqual(u.inShape,u.outShape))return z_e({inputs:{x:r},backend:n});const c=new eve(u,"max",!1);return n.runWebGLProgram(c,[r],r.dtype)}};const nxe={kernelName:p3.MaxPool3D,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;wme(r,"maxPool");const{filterSize:s,strides:o,pad:a,dimRoundingMode:l}=i;v3.util.assert(v3.backend_util.eitherStridesOrDilationsAreOne(o,1),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${o} and dilations '1'`);const u=v3.backend_util.computePool2DInfo(r.shape,s,o,1,a,l);if(1===u.filterWidth&&1===u.filterHeight&&v3.util.arraysEqual(u.inShape,u.outShape))return X_e({inputs:{x:r},backend:n});const c=new ove(u,"max",!1);return n.runWebGLProgram(c,[r],r.dtype)}};const lxe={kernelName:v3.MaxPool3D,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17175,7 +17175,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;yme(r,"maxPool");const{f * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o,pad:a,dataFormat:l,dimRoundingMode:u}=i,c=p3.backend_util.computePool3DInfo(r.shape,s,o,[1,1,1],a,u,l),d=new tve(c,"max",!1);return n.runWebGLProgram(d,[r],r.dtype)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o,pad:a,dataFormat:l,dimRoundingMode:u}=i,c=v3.backend_util.computePool3DInfo(r.shape,s,o,[1,1,1],a,u,l),d=new ave(c,"max",!1);return n.runWebGLProgram(d,[r],r.dtype)}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -17192,7 +17192,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{filterSize:s,strides:o, * limitations under the License. * ============================================================================= */ -class ixe{constructor(e){this.variableNames=["dy","maxPos"],this.outputShape=e.inShape;const t=e.strideHeight,n=e.strideWidth,i=e.dilationHeight,r=e.effectiveFilterHeight,s=e.effectiveFilterWidth,o=r-1-e.padInfo.top,a=s-1-e.padInfo.left,l=r*s-1;this.userCode=`\n const ivec2 pads = ivec2(${o}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${r};\n wR += ${i}) {\n float dyR = float(dyRCorner + wR) / ${t}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${s}; wC++) {\n float dyC = float(dyCCorner + wC) / ${n}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n int maxPosValue = ${l} - int(getMaxPos(b, idyR, idyC, d));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue = wR * ${s} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n setOutput(dotProd);\n }\n `}}class rxe{constructor(e){this.variableNames=["dy","maxPos"],this.outputShape=e.inShape;const t=e.strideDepth,n=e.strideHeight,i=e.strideWidth,r=e.dilationDepth,s=e.dilationHeight,o=e.dilationWidth,a=e.effectiveFilterDepth,l=e.effectiveFilterHeight,u=e.effectiveFilterWidth,c=a-1-e.padInfo.front,d=l-1-e.padInfo.top,h=u-1-e.padInfo.left,p=a*l*u-1;this.userCode=`\n const ivec3 pads = ivec3(${c}, ${d}, ${h});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, ch) with pos mask(:, :, :, d) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${a};\n wD += ${r}) {\n float dyD = float(dyDCorner + wD) / ${t}.0;\n\n if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${l};\n wR += ${s}) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${u};\n wC += ${o}) {\n float dyC = float(dyCCorner + wC) / ${i}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n int maxPosValue = ${p} -\n int(getMaxPos(batch, idyD, idyR, idyC, ch));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue =\n wD * ${l} * ${u} +\n wR * ${u} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const sxe={kernelName:p3.MaxPool3DGrad,backendName:"webgl",kernelFunc: +class uxe{constructor(e){this.variableNames=["dy","maxPos"],this.outputShape=e.inShape;const t=e.strideHeight,n=e.strideWidth,i=e.dilationHeight,r=e.effectiveFilterHeight,s=e.effectiveFilterWidth,o=r-1-e.padInfo.top,a=s-1-e.padInfo.left,l=r*s-1;this.userCode=`\n const ivec2 pads = ivec2(${o}, ${a});\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n\n ivec2 dyRCCorner = coords.yz - pads;\n int dyRCorner = dyRCCorner.x;\n int dyCCorner = dyRCCorner.y;\n\n // Convolve dy(?, ?, d) with pos mask(:, :, d) to get dx(xR, xC, d).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n for (int wR = 0; wR < ${r};\n wR += ${i}) {\n float dyR = float(dyRCorner + wR) / ${t}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 || fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${s}; wC++) {\n float dyC = float(dyCCorner + wC) / ${n}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(b, idyR, idyC, d);\n int maxPosValue = ${l} - int(getMaxPos(b, idyR, idyC, d));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue = wR * ${s} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n setOutput(dotProd);\n }\n `}}class cxe{constructor(e){this.variableNames=["dy","maxPos"],this.outputShape=e.inShape;const t=e.strideDepth,n=e.strideHeight,i=e.strideWidth,r=e.dilationDepth,s=e.dilationHeight,o=e.dilationWidth,a=e.effectiveFilterDepth,l=e.effectiveFilterHeight,u=e.effectiveFilterWidth,c=a-1-e.padInfo.front,d=l-1-e.padInfo.top,h=u-1-e.padInfo.left,p=a*l*u-1;this.userCode=`\n const ivec3 pads = ivec3(${c}, ${d}, ${h});\n\n void main() {\n ivec5 coords = getOutputCoords();\n int batch = coords.x;\n int ch = coords.u;\n\n ivec3 dyCorner = ivec3(coords.y, coords.z, coords.w) - pads;\n int dyDCorner = dyCorner.x;\n int dyRCorner = dyCorner.y;\n int dyCCorner = dyCorner.z;\n\n // Convolve dy(?, ?, ?, ch) with pos mask(:, :, :, d) to get\n // dx(xD, xR, xC, ch).\n // ? = to be determined. : = across all values in that axis.\n float dotProd = 0.0;\n\n for (int wD = 0; wD < ${a};\n wD += ${r}) {\n float dyD = float(dyDCorner + wD) / ${t}.0;\n\n if (dyD < 0.0 || dyD >= ${e.outDepth}.0 || fract(dyD) > 0.0) {\n continue;\n }\n int idyD = int(dyD);\n\n for (int wR = 0; wR < ${l};\n wR += ${s}) {\n float dyR = float(dyRCorner + wR) / ${n}.0;\n\n if (dyR < 0.0 || dyR >= ${e.outHeight}.0 ||\n fract(dyR) > 0.0) {\n continue;\n }\n int idyR = int(dyR);\n\n for (int wC = 0; wC < ${u};\n wC += ${o}) {\n float dyC = float(dyCCorner + wC) / ${i}.0;\n\n if (dyC < 0.0 || dyC >= ${e.outWidth}.0 ||\n fract(dyC) > 0.0) {\n continue;\n }\n int idyC = int(dyC);\n\n float dyValue = getDy(batch, idyD, idyR, idyC, ch);\n int maxPosValue = ${p} -\n int(getMaxPos(batch, idyD, idyR, idyC, ch));\n\n // Get the current value, check it against the value from the\n // position matrix.\n int curPosValue =\n wD * ${l} * ${u} +\n wR * ${u} + wC;\n float mask = float(maxPosValue == curPosValue ? 1.0 : 0.0);\n\n dotProd += dyValue * mask;\n }\n }\n }\n setOutput(dotProd);\n }\n `}}const dxe={kernelName:v3.MaxPool3DGrad,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17209,7 +17209,7 @@ class ixe{constructor(e){this.variableNames=["dy","maxPos"],this.outputShape=e.i * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s,{filterSize:a,strides:l,pad:u,dimRoundingMode:c}=i,d=p3.backend_util.computePool3DInfo(o.shape,a,l,[1,1,1],u,c),h=new tve(d,"max",!0),p=n.runWebGLProgram(h,[o],o.dtype),f=new rxe(d),m=n.runWebGLProgram(f,[r,p],o.dtype);return n.disposeIntermediateTensorInfo(p),m}};const oxe={kernelName:p3.MaxPoolGrad,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s,{filterSize:a,strides:l,pad:u,dimRoundingMode:c}=i,d=v3.backend_util.computePool3DInfo(o.shape,a,l,[1,1,1],u,c),h=new ave(d,"max",!0),p=n.runWebGLProgram(h,[o],o.dtype),f=new cxe(d),m=n.runWebGLProgram(f,[r,p],o.dtype);return n.disposeIntermediateTensorInfo(p),m}};const hxe={kernelName:v3.MaxPoolGrad,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17226,7 +17226,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s}=t,o=s,{filterSize * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s,output:o}=t,a=s;yme([s,o],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:d}=i,h=p3.backend_util.computePool2DInfo(a.shape,l,u,1,c,d),p=new eve(h,"max",!0),f=n.runWebGLProgram(p,[a],a.dtype),m=new ixe(h),g=n.runWebGLProgram(m,[r,f],a.dtype);return n.disposeIntermediateTensorInfo(f),g}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s,output:o}=t,a=s;wme([s,o],"maxPoolGrad");const{filterSize:l,strides:u,pad:c,dimRoundingMode:d}=i,h=v3.backend_util.computePool2DInfo(a.shape,l,u,1,c,d),p=new ove(h,"max",!0),f=n.runWebGLProgram(p,[a],a.dtype),m=new uxe(h),g=n.runWebGLProgram(m,[r,f],a.dtype);return n.disposeIntermediateTensorInfo(f),g}}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17243,7 +17243,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{dy:r,input:s,output:o}=t,a=s;ym * limitations under the License. * ============================================================================= */ -const axe={kernelName:p3.MaxPoolWithArgmax,backendName:"webgl",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:i}=e,{filterSize:r,strides:s,pad:o,includeBatchInIndex:a}=t,l=n;p3.util.assert(4===i.shape.length,()=>`Error in maxPool: input must be rank 4 but got rank ${i.shape.length}.`);const u=[1,1];p3.util.assert(p3.backend_util.eitherStridesOrDilationsAreOne(s,u),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${s} and dilations '${u}'`);const c=p3.backend_util.computePool2DInfo(i.shape,r,s,u,o),[d,h]= +const pxe={kernelName:v3.MaxPoolWithArgmax,backendName:"webgl",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:i}=e,{filterSize:r,strides:s,pad:o,includeBatchInIndex:a}=t,l=n;v3.util.assert(4===i.shape.length,()=>`Error in maxPool: input must be rank 4 but got rank ${i.shape.length}.`);const u=[1,1];v3.util.assert(v3.backend_util.eitherStridesOrDilationsAreOne(s,u),()=>`Error in maxPool: Either strides or dilations must be 1. Got strides ${s} and dilations '${u}'`);const c=v3.backend_util.computePool2DInfo(i.shape,r,s,u,o),[d,h]= /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17260,7 +17260,7 @@ const axe={kernelName:p3.MaxPoolWithArgmax,backendName:"webgl",kernelFunc:({inpu * limitations under the License. * ============================================================================= */ -function(e,t,n,i){let r=new eve(n,"max",!1);const s=i.runWebGLProgram(r,[e],"float32");return r=new eve(n,"max",!0,!0,t),[s,i.runWebGLProgram(r,[e],"float32")]}(i,a,c,l);return[d,h]}}; +function(e,t,n,i){let r=new ove(n,"max",!1);const s=i.runWebGLProgram(r,[e],"float32");return r=new ove(n,"max",!0,!0,t),[s,i.runWebGLProgram(r,[e],"float32")]}(i,a,c,l);return[d,h]}}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17277,7 +17277,7 @@ function(e,t,n,i){let r=new eve(n,"max",!1);const s=i.runWebGLProgram(r,[e],"flo * limitations under the License. * ============================================================================= */ -const lxe={kernelName:p3.Mean,backendName:"webgl",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{x:i}=e,{keepDims:r,axis:s}=t,o=n,a=i.shape.length,l=p3.util.parseAxisParam(s,i.shape);let u=l;const c=p3.backend_util.getAxesPermutation(u,a),d=null!=c,h=o.shouldExecuteOnCPU([i]),p=[];let f=i;if(d){if(h){const e=o.texData.get(f.dataId).values,t=new Array(a);for(let e=0;e{const{x:i}=e,{keepDims:r,axis:s}=t,o=n,a=i.shape.length,l=v3.util.parseAxisParam(s,i.shape);let u=l;const c=v3.backend_util.getAxesPermutation(u,a),d=null!=c,h=o.shouldExecuteOnCPU([i]),p=[];let f=i;if(d){if(h){const e=o.texData.get(f.dataId).values,t=new Array(a);for(let e=0;et[0]+e[n]+t[1]);const i=e.length,r=Pme(i),s=t.map(e=>e[0]).join(","),o=t.map((t,n)=>t[0]+e[n]).join(","),a=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,i),l="reflect"===n?0:1;this.userCode=1!==i?`\n ${r} start = ${r}(${s});\n ${r} end = ${r}(${o});\n\n void main() {\n ${r} outC = getOutputCoords();\n for (int i = 0; i < ${i}; i++) {\n if (outC[i] < start[i]) {\n outC[i] = start[i] * 2 - outC[i] - ${l};\n } else if(outC[i] >= end[i]) {\n outC[i] = (end[i] - 1) * 2 - outC[i] + ${l};\n }\n }\n ${r} coords = outC - start;\n setOutput(getX(${a}));\n }\n `:`\n int start = ${s};\n int end = ${o};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start) {\n outC = start * 2 - outC - ${l};\n } else if(outC >= end) {\n outC = (end - 1) * 2 - outC + ${l};\n }\n setOutput(getX(outC - start));\n }\n `}} +class yxe{constructor(e,t,n){this.variableNames=["x"],this.outputShape=t.map((t,n)=>t[0]+e[n]+t[1]);const i=e.length,r=jme(i),s=t.map(e=>e[0]).join(","),o=t.map((t,n)=>t[0]+e[n]).join(","),a=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,i),l="reflect"===n?0:1;this.userCode=1!==i?`\n ${r} start = ${r}(${s});\n ${r} end = ${r}(${o});\n\n void main() {\n ${r} outC = getOutputCoords();\n for (int i = 0; i < ${i}; i++) {\n if (outC[i] < start[i]) {\n outC[i] = start[i] * 2 - outC[i] - ${l};\n } else if(outC[i] >= end[i]) {\n outC[i] = (end[i] - 1) * 2 - outC[i] + ${l};\n }\n }\n ${r} coords = outC - start;\n setOutput(getX(${a}));\n }\n `:`\n int start = ${s};\n int end = ${o};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start) {\n outC = start * 2 - outC - ${l};\n } else if(outC >= end) {\n outC = (end - 1) * 2 - outC + ${l};\n }\n setOutput(getX(outC - start));\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17345,7 +17345,7 @@ class hxe{constructor(e,t,n){this.variableNames=["x"],this.outputShape=t.map((t, * limitations under the License. * ============================================================================= */ -class pxe{constructor(e,t,n){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t.map((t,n)=>t[0]+e[n]+t[1]);const i=e.length,r=Pme(i),s=t.map(e=>e[0]).join(","),o=t.map((t,n)=>t[0]+e[n]).join(","),a=g_e("rc",i),l=g_e("source",i),u=`${a[i-1]} < ${this.outputShape[i-1]}`,c=1===i?"source":`vec2(${l.slice(-2).join()})`,d="reflect"===n?0:1;let h="";if(1===i){const e=`\n ${r} source = rc;\n if (source < start) {\n source = start * 2 - source - ${d};\n } else if (source >= end) {\n source = (end - 1) * 2 - source + ${d};\n }\n source -= start;\n `;h=`\n ${r} rc = outputLoc;\n ${e}\n result[0] = getChannel(getX(${l.join()}), ${c});\n ${a[i-1]} += 1;\n if(${u}) {\n ${e}\n result[1] = getChannel(getX(${l.join()}), ${c});\n }\n `}else{const e=`\n ${r} source = rc;\n ${r} lt = ${r}(lessThan(source, start));\n ${r} gte = ${r}(greaterThanEqual(source, end));\n ${r} orig = 1 - (lt + gte);\n source = orig * source +\n lt * (start * 2 - source - ${d}) +\n gte * ((end - 1) * 2 - source + ${d});\n source -= start;\n `;h=`\n ${r} rc = outputLoc;\n ${e}\n result[0] = getChannel(getX(${l.join()}), ${c});\n ${a[i-1]} += 1;\n if(${u}) {\n ${e}\n result[1] = getChannel(getX(${l.join()}), ${c});\n }\n rc = outputLoc;\n ${a[i-2]} += 1;\n if(${a[i-2]} < ${this.outputShape[i-2]}) {\n ${e}\n result[2] = getChannel(getX(${l.join()}), ${c});\n ${a[i-1]} += 1;\n if(${u}) {\n ${e}\n result[3] = getChannel(getX(${l.join()}), ${c});\n }\n }\n `}this.userCode=`\n const ${r} start = ${r}(${s});\n const ${r} end = ${r}(${o});\n\n void main() {\n ${r} outputLoc = getOutputCoords();\n vec4 result = vec4(0.);\n ${h}\n setOutput(result);\n }\n `}} +class vxe{constructor(e,t,n){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=t.map((t,n)=>t[0]+e[n]+t[1]);const i=e.length,r=jme(i),s=t.map(e=>e[0]).join(","),o=t.map((t,n)=>t[0]+e[n]).join(","),a=x_e("rc",i),l=x_e("source",i),u=`${a[i-1]} < ${this.outputShape[i-1]}`,c=1===i?"source":`vec2(${l.slice(-2).join()})`,d="reflect"===n?0:1;let h="";if(1===i){const e=`\n ${r} source = rc;\n if (source < start) {\n source = start * 2 - source - ${d};\n } else if (source >= end) {\n source = (end - 1) * 2 - source + ${d};\n }\n source -= start;\n `;h=`\n ${r} rc = outputLoc;\n ${e}\n result[0] = getChannel(getX(${l.join()}), ${c});\n ${a[i-1]} += 1;\n if(${u}) {\n ${e}\n result[1] = getChannel(getX(${l.join()}), ${c});\n }\n `}else{const e=`\n ${r} source = rc;\n ${r} lt = ${r}(lessThan(source, start));\n ${r} gte = ${r}(greaterThanEqual(source, end));\n ${r} orig = 1 - (lt + gte);\n source = orig * source +\n lt * (start * 2 - source - ${d}) +\n gte * ((end - 1) * 2 - source + ${d});\n source -= start;\n `;h=`\n ${r} rc = outputLoc;\n ${e}\n result[0] = getChannel(getX(${l.join()}), ${c});\n ${a[i-1]} += 1;\n if(${u}) {\n ${e}\n result[1] = getChannel(getX(${l.join()}), ${c});\n }\n rc = outputLoc;\n ${a[i-2]} += 1;\n if(${a[i-2]} < ${this.outputShape[i-2]}) {\n ${e}\n result[2] = getChannel(getX(${l.join()}), ${c});\n ${a[i-1]} += 1;\n if(${u}) {\n ${e}\n result[3] = getChannel(getX(${l.join()}), ${c});\n }\n }\n `}this.userCode=`\n const ${r} start = ${r}(${s});\n const ${r} end = ${r}(${o});\n\n void main() {\n ${r} outputLoc = getOutputCoords();\n vec4 result = vec4(0.);\n ${h}\n setOutput(result);\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17362,7 +17362,7 @@ class pxe{constructor(e,t,n){this.variableNames=["x"],this.packedInputs=!0,this. * limitations under the License. * ============================================================================= */ -const fxe={kernelName:p3.MirrorPad,backendName:"webgl",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:i}=e,{paddings:r,mode:s}=n,o=(0,p3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new pxe(i.shape,r,s):new hxe(i.shape,r,s);return t.runWebGLProgram(o,[i],i.dtype)}},mxe=eye({opSnippet:"if (b == 0.0) return NAN;\n return mod(a, b);",packedOpSnippet:"\n vec4 result = mod(a, b);\n bvec4 isNaN = equal(b, vec4(0.0));\n "+U_e+"\n return result;\n"}),gxe={kernelName:p3.Mod,backendName:"webgl",kernelFunc:mxe}; +const bxe={kernelName:v3.MirrorPad,backendName:"webgl",kernelFunc:({inputs:e,backend:t,attrs:n})=>{const{x:i}=e,{paddings:r,mode:s}=n,o=(0,v3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new vxe(i.shape,r,s):new yxe(i.shape,r,s);return t.runWebGLProgram(o,[i],i.dtype)}},Txe=oye({opSnippet:"if (b == 0.0) return NAN;\n return mod(a, b);",packedOpSnippet:"\n vec4 result = mod(a, b);\n bvec4 isNaN = equal(b, vec4(0.0));\n "+H_e+"\n return result;\n"}),xxe={kernelName:v3.Mod,backendName:"webgl",kernelFunc:Txe}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -17379,7 +17379,7 @@ const fxe={kernelName:p3.MirrorPad,backendName:"webgl",kernelFunc:({inputs:e,bac * limitations under the License. * ============================================================================= */ -class _xe{constructor(e,t,n){this.variableNames=["probs"],this.customUniforms=[{name:"seed",type:"float"}],this.outputShape=[e,n],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n\n float r = random(seed);\n float cdf = 0.0;\n\n for (int i = 0; i < ${t-1}; i++) {\n cdf += getProbs(batch, i);\n\n if (r < cdf) {\n setOutput(float(i));\n return;\n }\n }\n\n // If no other event happened, last event happened.\n setOutput(float(${t-1}));\n }\n `}} +class Exe{constructor(e,t,n){this.variableNames=["probs"],this.customUniforms=[{name:"seed",type:"float"}],this.outputShape=[e,n],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n\n float r = random(seed);\n float cdf = 0.0;\n\n for (int i = 0; i < ${t-1}; i++) {\n cdf += getProbs(batch, i);\n\n if (r < cdf) {\n setOutput(float(i));\n return;\n }\n }\n\n // If no other event happened, last event happened.\n setOutput(float(${t-1}));\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17396,7 +17396,7 @@ class _xe{constructor(e,t,n){this.variableNames=["probs"],this.customUniforms=[{ * limitations under the License. * ============================================================================= */ -const yxe=eye({opSnippet:"\nif (a == b) {\n return 1.0;\n};\nreturn a / b;",packedOpSnippet:"\n // vec4 one = vec4(equal(a, b));\n // return one + (vec4(1.0) - one) * a / b;\n vec4 result = a / b;\n if(a.x == b.x) {\n result.x = 1.;\n }\n if(a.y == b.y) {\n result.y = 1.;\n }\n if(a.z == b.z) {\n result.z = 1.;\n }\n if(a.w == b.w) {\n result.w = 1.;\n }\n\n return result;\n",checkOutOfBounds:!0}),vxe={kernelName:p3.RealDiv,backendName:"webgl",kernelFunc:yxe},bxe="return a - b;",Txe=eye({opSnippet:bxe,packedOpSnippet:bxe,supportsComplex:!0,cpuKernelImpl:c_e}),xxe={kernelName:p3.Sub,backendName:"webgl",kernelFunc:Txe}; +const wxe=oye({opSnippet:"\nif (a == b) {\n return 1.0;\n};\nreturn a / b;",packedOpSnippet:"\n // vec4 one = vec4(equal(a, b));\n // return one + (vec4(1.0) - one) * a / b;\n vec4 result = a / b;\n if(a.x == b.x) {\n result.x = 1.;\n }\n if(a.y == b.y) {\n result.y = 1.;\n }\n if(a.z == b.z) {\n result.z = 1.;\n }\n if(a.w == b.w) {\n result.w = 1.;\n }\n\n return result;\n",checkOutOfBounds:!0}),Ixe={kernelName:v3.RealDiv,backendName:"webgl",kernelFunc:wxe},Axe="return a - b;",Sxe=oye({opSnippet:Axe,packedOpSnippet:Axe,supportsComplex:!0,cpuKernelImpl:g_e}),Cxe={kernelName:v3.Sub,backendName:"webgl",kernelFunc:Sxe}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17413,7 +17413,7 @@ const yxe=eye({opSnippet:"\nif (a == b) {\n return 1.0;\n};\nreturn a / b;",pac * limitations under the License. * ============================================================================= */ -function Exe(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{dim:s}=i,o=p3.util.parseAxisParam([s],r.shape),a=ZTe({inputs:{x:r},backend:n,attrs:{reductionIndices:o,keepDims:!1}}),l=p3.backend_util.expandShapeToKeepDim(a.shape,o),u=uye({inputs:{x:a},backend:n,attrs:{shape:l}}),c=Txe({inputs:{a:r,b:u},backend:n}),d=zbe({inputs:{x:c},backend:n}),h=_ye({inputs:{x:d},backend:n,attrs:{axis:o,keepDims:!1}}),p=uye({inputs:{x:h},backend:n,attrs:{shape:l}}),f=yxe({inputs:{a:d,b:p},backend:n});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(c),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p),f}const wxe={kernelName:p3.Softmax,backendName:"webgl",kernelFunc:Exe};const Ixe={kernelName:p3.Multinomial,backendName:"webgl",kernelFunc: +function Oxe(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{dim:s}=i,o=v3.util.parseAxisParam([s],r.shape),a=ixe({inputs:{x:r},backend:n,attrs:{reductionIndices:o,keepDims:!1}}),l=v3.backend_util.expandShapeToKeepDim(a.shape,o),u=mye({inputs:{x:a},backend:n,attrs:{shape:l}}),c=Sxe({inputs:{a:r,b:u},backend:n}),d=Xbe({inputs:{x:c},backend:n}),h=Eye({inputs:{x:d},backend:n,attrs:{axis:o,keepDims:!1}}),p=mye({inputs:{x:h},backend:n,attrs:{shape:l}}),f=wxe({inputs:{a:d,b:p},backend:n});return n.disposeIntermediateTensorInfo(a),n.disposeIntermediateTensorInfo(u),n.disposeIntermediateTensorInfo(c),n.disposeIntermediateTensorInfo(d),n.disposeIntermediateTensorInfo(h),n.disposeIntermediateTensorInfo(p),f}const Mxe={kernelName:v3.Softmax,backendName:"webgl",kernelFunc:Oxe};const kxe={kernelName:v3.Multinomial,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17430,7 +17430,7 @@ function Exe(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{dim:s}=i,o=p3. * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{numSamples:s,seed:o,normalized:a}=i,l=a?r:Exe({inputs:{logits:r},backend:n,attrs:{dim:r.shape.length-1}}),u=l.shape[0],c=l.shape[1],d=new _xe(u,c,s),h=[[o]],p=n.runWebGLProgram(d,[l],"int32",h);return a||n.disposeIntermediateTensorInfo(l),p}},Axe=w_e+"\n return -x;\n";const Sxe={kernelName:p3.Neg,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i}=t;if(n.shouldExecuteOnCPU([i])){const e=n.texData.get(i.dataId),[t,r]=jge(e.values,i.shape,i.dtype);return n.makeTensorInfo(r,i.dtype,t)}let r;return r=(0,p3.env)().getBool("WEBGL_PACK_UNARY_OPERATIONS")?new O_e(i.shape,"\n vec4 result = -x;\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"):new E_e(i.shape,Axe),n.runWebGLProgram(r,[i],i.dtype)}},Cxe=p3.kernel_impls.nonMaxSuppressionV3Impl;const Oxe={kernelName:p3.NonMaxSuppressionV3,backendName:"webgl",kernelFunc:function(e){p3.backend_util.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:i}=e,{boxes:r,scores:s}=t,{maxOutputSize:o,iouThreshold:a,scoreThreshold:l}=i,u=n.readSync(r.dataId),c=n.readSync(s.dataId),{selectedIndices:d}=Cxe(u,c,o,a,l);return n.makeTensorInfo([d.length],"int32",new Int32Array(d))}},Mxe=p3.kernel_impls.nonMaxSuppressionV4Impl;const kxe={kernelName:p3.NonMaxSuppressionV4,backendName:"webgl",kernelFunc:function(e){p3.backend_util.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:i}=e,{boxes:r,scores:s}=t,{maxOutputSize:o,iouThreshold:a,scoreThreshold:l,padToMaxOutputSize:u}=i,c=n.readSync(r.dataId),d=n.readSync(s.dataId),{selectedIndices:h,validOutputs:p}=Mxe(c,d,o,a,l,u);return[n.makeTensorInfo([h.length],"int32",new Int32Array(h)),n.makeTensorInfo([],"int32",new Int32Array([p]))]}},Rxe=p3.kernel_impls.nonMaxSuppressionV5Impl;const Nxe={kernelName:p3.NonMaxSuppressionV5,backendName:"webgl",kernelFunc:function(e){p3.backend_util.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:i}=e,{boxes:r,scores:s}=t,{maxOutputSize:o,iouThreshold:a,scoreThreshold:l,softNmsSigma:u}=i,c=n.readSync(r.dataId),d=n.readSync(s.dataId),h=o,p=a,f=l,m=u,{selectedIndices:g,selectedScores:_}=Rxe(c,d,h,p,f,m);return[n.makeTensorInfo([g.length],"int32",new Int32Array(g)),n.makeTensorInfo([_.length],"float32",new Float32Array(_))]}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{numSamples:s,seed:o,normalized:a}=i,l=a?r:Oxe({inputs:{logits:r},backend:n,attrs:{dim:r.shape.length-1}}),u=l.shape[0],c=l.shape[1],d=new Exe(u,c,s),h=[[o]],p=n.runWebGLProgram(d,[l],"int32",h);return a||n.disposeIntermediateTensorInfo(l),p}},Rxe=M_e+"\n return -x;\n";const Nxe={kernelName:v3.Neg,backendName:"webgl",kernelFunc:function(e){const{inputs:t,backend:n}=e,{x:i}=t;if(n.shouldExecuteOnCPU([i])){const e=n.texData.get(i.dataId),[t,r]=qge(e.values,i.shape,i.dtype);return n.makeTensorInfo(r,i.dtype,t)}let r;return r=(0,v3.env)().getBool("WEBGL_PACK_UNARY_OPERATIONS")?new F_e(i.shape,"\n vec4 result = -x;\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"):new O_e(i.shape,Rxe),n.runWebGLProgram(r,[i],i.dtype)}},Dxe=v3.kernel_impls.nonMaxSuppressionV3Impl;const Fxe={kernelName:v3.NonMaxSuppressionV3,backendName:"webgl",kernelFunc:function(e){v3.backend_util.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:i}=e,{boxes:r,scores:s}=t,{maxOutputSize:o,iouThreshold:a,scoreThreshold:l}=i,u=n.readSync(r.dataId),c=n.readSync(s.dataId),{selectedIndices:d}=Dxe(u,c,o,a,l);return n.makeTensorInfo([d.length],"int32",new Int32Array(d))}},Lxe=v3.kernel_impls.nonMaxSuppressionV4Impl;const Pxe={kernelName:v3.NonMaxSuppressionV4,backendName:"webgl",kernelFunc:function(e){v3.backend_util.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:i}=e,{boxes:r,scores:s}=t,{maxOutputSize:o,iouThreshold:a,scoreThreshold:l,padToMaxOutputSize:u}=i,c=n.readSync(r.dataId),d=n.readSync(s.dataId),{selectedIndices:h,validOutputs:p}=Lxe(c,d,o,a,l,u);return[n.makeTensorInfo([h.length],"int32",new Int32Array(h)),n.makeTensorInfo([],"int32",new Int32Array([p]))]}},Bxe=v3.kernel_impls.nonMaxSuppressionV5Impl;const $xe={kernelName:v3.NonMaxSuppressionV5,backendName:"webgl",kernelFunc:function(e){v3.backend_util.warn("tf.nonMaxSuppression() in webgl locks the UI thread. Call tf.nonMaxSuppressionAsync() instead");const{inputs:t,backend:n,attrs:i}=e,{boxes:r,scores:s}=t,{maxOutputSize:o,iouThreshold:a,scoreThreshold:l,softNmsSigma:u}=i,c=n.readSync(r.dataId),d=n.readSync(s.dataId),h=o,p=a,f=l,m=u,{selectedIndices:g,selectedScores:_}=Bxe(c,d,h,p,f,m);return[n.makeTensorInfo([g.length],"int32",new Int32Array(g)),n.makeTensorInfo([_.length],"float32",new Float32Array(_))]}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -17447,7 +17447,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{logits:r}=t,{numSamples:s,seed: * limitations under the License. * ============================================================================= */ -class Dxe{constructor(e,t,n,i){this.variableNames=["indices"],this.outputShape=[e,t],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int index = round(getIndices(coords.x));\n setOutput(mix(float(${i}), float(${n}),\n float(index == coords.y)));\n }\n `}} +class Uxe{constructor(e,t,n,i){this.variableNames=["indices"],this.outputShape=[e,t],this.userCode=`\n void main() {\n ivec2 coords = getOutputCoords();\n int index = round(getIndices(coords.x));\n setOutput(mix(float(${i}), float(${n}),\n float(index == coords.y)));\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17464,7 +17464,7 @@ class Dxe{constructor(e,t,n,i){this.variableNames=["indices"],this.outputShape=[ * limitations under the License. * ============================================================================= */ -const Fxe={kernelName:p3.OneHot,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{indices:r}=t,{dtype:s,depth:o,onValue:a,offValue:l}=i,u=p3.util.sizeFromShape(r.shape),c=new Dxe(u,o,a,l),d=uye({inputs:{x:r},backend:n,attrs:{shape:[u]}}),h=n.runWebGLProgram(c,[d],s);n.disposeIntermediateTensorInfo(d);const p=uye({inputs:{x:h},backend:n,attrs:{shape:[...r.shape,o]}});return n.disposeIntermediateTensorInfo(h),p}}; +const Vxe={kernelName:v3.OneHot,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{indices:r}=t,{dtype:s,depth:o,onValue:a,offValue:l}=i,u=v3.util.sizeFromShape(r.shape),c=new Uxe(u,o,a,l),d=mye({inputs:{x:r},backend:n,attrs:{shape:[u]}}),h=n.runWebGLProgram(c,[d],s);n.disposeIntermediateTensorInfo(d);const p=mye({inputs:{x:h},backend:n,attrs:{shape:[...r.shape,o]}});return n.disposeIntermediateTensorInfo(h),p}}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17481,7 +17481,7 @@ const Fxe={kernelName:p3.OneHot,backendName:"webgl",kernelFunc:e=>{const{inputs: * limitations under the License. * ============================================================================= */ -function Lxe(e){const{inputs:t,backend:n}=e,{x:i}=t;if("complex64"===i.dtype){const e=Eve({inputs:{input:i},backend:n}),t=Lxe({inputs:{x:e},backend:n}),r=Bve({inputs:{input:i},backend:n}),s=Lxe({inputs:{x:r},backend:n}),o=Y_e({inputs:{real:t,imag:s},backend:n});return n.disposeIntermediateTensorInfo(e),n.disposeIntermediateTensorInfo(t),n.disposeIntermediateTensorInfo(r),n.disposeIntermediateTensorInfo(s),o}return Jbe({attrs:{shape:i.shape,dtype:i.dtype,value:"string"===i.dtype?"":0},backend:n})}const Pxe={kernelName:p3.ZerosLike,backendName:"webgl",kernelFunc:Lxe};const Bxe={kernelName:p3.OnesLike,backendName:"webgl",kernelFunc: +function zxe(e){const{inputs:t,backend:n}=e,{x:i}=t;if("complex64"===i.dtype){const e=Ove({inputs:{input:i},backend:n}),t=zxe({inputs:{x:e},backend:n}),r=Yve({inputs:{input:i},backend:n}),s=zxe({inputs:{x:r},backend:n}),o=K_e({inputs:{real:t,imag:s},backend:n});return n.disposeIntermediateTensorInfo(e),n.disposeIntermediateTensorInfo(t),n.disposeIntermediateTensorInfo(r),n.disposeIntermediateTensorInfo(s),o}return sTe({attrs:{shape:i.shape,dtype:i.dtype,value:"string"===i.dtype?"":0},backend:n})}const jxe={kernelName:v3.ZerosLike,backendName:"webgl",kernelFunc:zxe};const Yxe={kernelName:v3.OnesLike,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17498,7 +17498,7 @@ function Lxe(e){const{inputs:t,backend:n}=e,{x:i}=t;if("complex64"===i.dtype){co * limitations under the License. * ============================================================================= */ -function e(t){const{inputs:n,backend:i}=t,{x:r}=n;if("string"===r.dtype)throw new Error("onesLike is not supported under string dtype");if("complex64"===r.dtype){const t=Eve({inputs:{input:r},backend:i}),n=e({inputs:{x:t},backend:i}),s=Bve({inputs:{input:r},backend:i}),o=Lxe({inputs:{x:s},backend:i}),a=Y_e({inputs:{real:n,imag:o},backend:i});return i.disposeIntermediateTensorInfo(t),i.disposeIntermediateTensorInfo(n),i.disposeIntermediateTensorInfo(s),i.disposeIntermediateTensorInfo(o),a}return Jbe({attrs:{shape:r.shape,dtype:r.dtype,value:1},backend:i})}};const $xe={kernelName:p3.Pack,backendName:"webgl",kernelFunc: +function e(t){const{inputs:n,backend:i}=t,{x:r}=n;if("string"===r.dtype)throw new Error("onesLike is not supported under string dtype");if("complex64"===r.dtype){const t=Ove({inputs:{input:r},backend:i}),n=e({inputs:{x:t},backend:i}),s=Yve({inputs:{input:r},backend:i}),o=zxe({inputs:{x:s},backend:i}),a=K_e({inputs:{real:n,imag:o},backend:i});return i.disposeIntermediateTensorInfo(t),i.disposeIntermediateTensorInfo(n),i.disposeIntermediateTensorInfo(s),i.disposeIntermediateTensorInfo(o),a}return sTe({attrs:{shape:r.shape,dtype:r.dtype,value:1},backend:i})}};const Gxe={kernelName:v3.Pack,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17515,7 +17515,7 @@ function e(t){const{inputs:n,backend:i}=t,{x:r}=n;if("string"===r.dtype)throw ne * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i;if(1===t.length)return Ybe({inputs:{input:t[0]},backend:n,attrs:{dim:r}});const s=t[0].shape,o=t[0].dtype;t.forEach(e=>{p3.util.assertShapesMatch(s,e.shape,"All tensors passed to stack must have matching shapes"),p3.util.assert(o===e.dtype,()=>"All tensors passed to stack must have matching dtypes")});const a=[],l=Vve({inputs:t.map(e=>{const t=Ybe({inputs:{input:e},backend:n,attrs:{dim:r}});return a.push(t),t}),backend:n,attrs:{axis:r}});return a.forEach(e=>n.disposeIntermediateTensorInfo(e)),l}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i;if(1===t.length)return Kbe({inputs:{input:t[0]},backend:n,attrs:{dim:r}});const s=t[0].shape,o=t[0].dtype;t.forEach(e=>{v3.util.assertShapesMatch(s,e.shape,"All tensors passed to stack must have matching shapes"),v3.util.assert(o===e.dtype,()=>"All tensors passed to stack must have matching dtypes")});const a=[],l=Wve({inputs:t.map(e=>{const t=Kbe({inputs:{input:e},backend:n,attrs:{dim:r}});return a.push(t),t}),backend:n,attrs:{axis:r}});return a.forEach(e=>n.disposeIntermediateTensorInfo(e)),l}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -17532,7 +17532,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{axis:r}=i;if(1===t.length)retur * limitations under the License. * ============================================================================= */ -class Uxe{constructor(e,t,n){this.variableNames=["x"],this.customUniforms=[{name:"value",type:"float"}],this.outputShape=t.map((t,n)=>t[0]+e[n]+t[1]);const i=e.length,r=Pme(i),s=t.map(e=>e[0]).join(","),o=t.map((t,n)=>t[0]+e[n]).join(","),a=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,i);this.userCode=1!==i?`\n ${r} start = ${r}(${s});\n ${r} end = ${r}(${o});\n\n void main() {\n ${r} outC = getOutputCoords();\n if (any(lessThan(outC, start)) || any(greaterThanEqual(outC, end))) {\n setOutput(value);\n } else {\n ${r} coords = outC - start;\n setOutput(getX(${a}));\n }\n }\n `:`\n int start = ${s};\n int end = ${o};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start || outC >= end) {\n setOutput(value);\n } else {\n setOutput(getX(outC - start));\n }\n }\n `}} +class Hxe{constructor(e,t,n){this.variableNames=["x"],this.customUniforms=[{name:"value",type:"float"}],this.outputShape=t.map((t,n)=>t[0]+e[n]+t[1]);const i=e.length,r=jme(i),s=t.map(e=>e[0]).join(","),o=t.map((t,n)=>t[0]+e[n]).join(","),a=["coords[0]","coords[1]","coords[2]","coords[3]"].slice(0,i);this.userCode=1!==i?`\n ${r} start = ${r}(${s});\n ${r} end = ${r}(${o});\n\n void main() {\n ${r} outC = getOutputCoords();\n if (any(lessThan(outC, start)) || any(greaterThanEqual(outC, end))) {\n setOutput(value);\n } else {\n ${r} coords = outC - start;\n setOutput(getX(${a}));\n }\n }\n `:`\n int start = ${s};\n int end = ${o};\n\n void main() {\n int outC = getOutputCoords();\n if (outC < start || outC >= end) {\n setOutput(value);\n } else {\n setOutput(getX(outC - start));\n }\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -17549,7 +17549,7 @@ class Uxe{constructor(e,t,n){this.variableNames=["x"],this.customUniforms=[{name * limitations under the License. * ============================================================================= */ -class Vxe{constructor(e,t,n){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0,this.customUniforms=[{name:"value",type:"float"}],this.outputShape=t.map((t,n)=>t[0]+e[n]+t[1]);const i=e.length,r=Pme(i),s=t.map(e=>e[0]).join(","),o=t.map((t,n)=>t[0]+e[n]).join(","),a=g_e("rc",i),l=g_e("source",i),u=`${a[i-1]} < ${this.outputShape[i-1]}`,c=1===i?"source":`vec2(${l.slice(-2).join()})`,d=[`${r} rc = outputLoc;`,`${a[i-1]} += 1;\n if(${u}) {\n `,1===i?"":`}\n rc = outputLoc;\n ${a[i-2]} += 1;\n if(${a[i-2]} < ${this.outputShape[i-2]}) {`,1===i?"":` ${a[i-1]} += 1;\n if(${u}) {`],h=1===i?"rc < start || rc >= end":"any(lessThan(rc, start)) || any(greaterThanEqual(rc, end))";let p="";for(let e=0,t=1===i?2:4;et[0]+e[n]+t[1]);const i=e.length,r=jme(i),s=t.map(e=>e[0]).join(","),o=t.map((t,n)=>t[0]+e[n]).join(","),a=x_e("rc",i),l=x_e("source",i),u=`${a[i-1]} < ${this.outputShape[i-1]}`,c=1===i?"source":`vec2(${l.slice(-2).join()})`,d=[`${r} rc = outputLoc;`,`${a[i-1]} += 1;\n if(${u}) {\n `,1===i?"":`}\n rc = outputLoc;\n ${a[i-2]} += 1;\n if(${a[i-2]} < ${this.outputShape[i-2]}) {`,1===i?"":` ${a[i-1]} += 1;\n if(${u}) {`],h=1===i?"rc < start || rc >= end":"any(lessThan(rc, start)) || any(greaterThanEqual(rc, end))";let p="";for(let e=0,t=1===i?2:4;e{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{paddings:s,constantValue:o}=i;if(0===p3.util.sizeFromShape(r.shape)){const e=s.map((e,t)=>e[0]+r.shape[t]+e[1]);return Jbe({backend:n,attrs:{shape:e,value:o,dtype:r.dtype}})}const a=(0,p3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new Vxe(r.shape,s,o):new Uxe(r.shape,s,o),l=[[o]];return n.runWebGLProgram(a,[r],r.dtype,l)},jxe={kernelName:p3.PadV2,backendName:"webgl",kernelFunc:zxe},Yxe=eye({opSnippet:"\n if(a < 0.0 && floor(b) < b){\n return NAN;\n }\n if (b == 0.0) {\n return 1.0;\n }\n return (round(mod(b, 2.0)) != 1) ?\n pow(abs(a), b) : sign(a) * pow(abs(a), b);\n",packedOpSnippet:"\n // isModRound1 has 1 for components with round(mod(b, 2.0)) == 1, 0 otherwise.\n vec4 isModRound1 = vec4(equal(round(mod(b, 2.0)), ivec4(1)));\n vec4 multiplier = sign(a) * isModRound1 + (vec4(1.0) - isModRound1);\n vec4 result = multiplier * pow(abs(a), b);\n\n // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS\n bvec4 isExpZero = equal(b, vec4(0.0));\n result.r = isExpZero.r ? 1.0 : result.r;\n result.g = isExpZero.g ? 1.0 : result.g;\n result.b = isExpZero.b ? 1.0 : result.b;\n result.a = isExpZero.a ? 1.0 : result.a;\n\n bvec4 isNaN1 = lessThan(a, vec4(0.0));\n bvec4 isNaN2 = lessThan(floor(b), b);\n bvec4 isNaN = bvec4(isNaN1.x && isNaN2.x, isNaN1.y && isNaN2.y, isNaN1.z && isNaN2.z, isNaN1.w && isNaN2.w);\n "+U_e+"\n return result;\n"}),Gxe={kernelName:p3.Pow,backendName:"webgl",kernelFunc:Yxe};const Hxe={kernelName:p3.Prod,backendName:"webgl",kernelFunc: +const Xxe=e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{paddings:s,constantValue:o}=i;if(0===v3.util.sizeFromShape(r.shape)){const e=s.map((e,t)=>e[0]+r.shape[t]+e[1]);return sTe({backend:n,attrs:{shape:e,value:o,dtype:r.dtype}})}const a=(0,v3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new Wxe(r.shape,s,o):new Hxe(r.shape,s,o),l=[[o]];return n.runWebGLProgram(a,[r],r.dtype,l)},qxe={kernelName:v3.PadV2,backendName:"webgl",kernelFunc:Xxe},Kxe=oye({opSnippet:"\n if(a < 0.0 && floor(b) < b){\n return NAN;\n }\n if (b == 0.0) {\n return 1.0;\n }\n return (round(mod(b, 2.0)) != 1) ?\n pow(abs(a), b) : sign(a) * pow(abs(a), b);\n",packedOpSnippet:"\n // isModRound1 has 1 for components with round(mod(b, 2.0)) == 1, 0 otherwise.\n vec4 isModRound1 = vec4(equal(round(mod(b, 2.0)), ivec4(1)));\n vec4 multiplier = sign(a) * isModRound1 + (vec4(1.0) - isModRound1);\n vec4 result = multiplier * pow(abs(a), b);\n\n // Ensure that a^0 = 1, including 0^0 = 1 as this correspond to TF and JS\n bvec4 isExpZero = equal(b, vec4(0.0));\n result.r = isExpZero.r ? 1.0 : result.r;\n result.g = isExpZero.g ? 1.0 : result.g;\n result.b = isExpZero.b ? 1.0 : result.b;\n result.a = isExpZero.a ? 1.0 : result.a;\n\n bvec4 isNaN1 = lessThan(a, vec4(0.0));\n bvec4 isNaN2 = lessThan(floor(b), b);\n bvec4 isNaN = bvec4(isNaN1.x && isNaN2.x, isNaN1.y && isNaN2.y, isNaN1.z && isNaN2.z, isNaN1.w && isNaN2.w);\n "+H_e+"\n return result;\n"}),Zxe={kernelName:v3.Pow,backendName:"webgl",kernelFunc:Kxe};const Qxe={kernelName:v3.Prod,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17583,7 +17583,7 @@ const zxe=e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{paddings:s,constantVa * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a=r.shape.length,l=[],u=p3.util.parseAxisParam(s,r.shape);let c=u;const d=p3.backend_util.getAxesPermutation(c,a);let h,p=r;if(null!=d&&(p=vye({inputs:{x:r},backend:n,attrs:{perm:d}}),c=p3.backend_util.getInnerMostAxes(c.length,a),l.push(p)),p3.backend_util.assertAxesAreInnerMostDims("prod",c,a),n.shouldExecuteOnCPU([p])){const e=n.texData.get(p.dataId).values,{outVals:t,outShape:i,outDtype:r}=Gge(p.shape,p.dtype,e,c);h=n.makeTensorInfo(i,r,t)}else{const[e,t]=p3.backend_util.computeOutAndReduceShapes(p.shape,c),i=p3.util.sizeFromShape(t),s=uye({inputs:{x:p},backend:n,attrs:{shape:[-1,i]}}),o=pye(s,(0,p3.sumOutType)(r.dtype),"prod",n);h=uye({inputs:{x:o},backend:n,attrs:{shape:e}}),l.push(s),l.push(o)}if(o){l.push(h);const e=p3.backend_util.expandShapeToKeepDim(h.shape,u);h=uye({inputs:{x:h},backend:n,attrs:{shape:e}})}return l.forEach(e=>n.disposeIntermediateTensorInfo(e)),h}};const Wxe={kernelName:p3.RaggedGather,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a=r.shape.length,l=[],u=v3.util.parseAxisParam(s,r.shape);let c=u;const d=v3.backend_util.getAxesPermutation(c,a);let h,p=r;if(null!=d&&(p=Iye({inputs:{x:r},backend:n,attrs:{perm:d}}),c=v3.backend_util.getInnerMostAxes(c.length,a),l.push(p)),v3.backend_util.assertAxesAreInnerMostDims("prod",c,a),n.shouldExecuteOnCPU([p])){const e=n.texData.get(p.dataId).values,{outVals:t,outShape:i,outDtype:r}=Zge(p.shape,p.dtype,e,c);h=n.makeTensorInfo(i,r,t)}else{const[e,t]=v3.backend_util.computeOutAndReduceShapes(p.shape,c),i=v3.util.sizeFromShape(t),s=mye({inputs:{x:p},backend:n,attrs:{shape:[-1,i]}}),o=vye(s,(0,v3.sumOutType)(r.dtype),"prod",n);h=mye({inputs:{x:o},backend:n,attrs:{shape:e}}),l.push(s),l.push(o)}if(o){l.push(h);const e=v3.backend_util.expandShapeToKeepDim(h.shape,u);h=mye({inputs:{x:h},backend:n,attrs:{shape:e}})}return l.forEach(e=>n.disposeIntermediateTensorInfo(e)),h}};const Jxe={kernelName:v3.RaggedGather,backendName:"webgl",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -17600,7 +17600,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{axis:s,keepDims:o}=i,a= * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{paramsNestedSplits:r,paramsDenseValues:s,indices:o}=t,{outputRaggedRank:a}=i,l=r.map(e=>n.readSync(e.dataId)),u=r.map(e=>e.shape),c=n.readSync(s.dataId),d=n.readSync(o.dataId),[h,p,f]=Hge(l,u,c,s.shape,s.dtype,d,o.shape,a),m=h.map(e=>n.makeTensorInfo([e.length],"int32",e)),g=n.makeTensorInfo(f,s.dtype,p);return m.concat([g])}};const Xxe={kernelName:p3.RaggedRange,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{paramsNestedSplits:r,paramsDenseValues:s,indices:o}=t,{outputRaggedRank:a}=i,l=r.map(e=>n.readSync(e.dataId)),u=r.map(e=>e.shape),c=n.readSync(s.dataId),d=n.readSync(o.dataId),[h,p,f]=Qge(l,u,c,s.shape,s.dtype,d,o.shape,a),m=h.map(e=>n.makeTensorInfo([e.length],"int32",e)),g=n.makeTensorInfo(f,s.dtype,p);return m.concat([g])}};const eEe={kernelName:v3.RaggedRange,backendName:"webgl",kernelFunc: /** * @license * Copyright 2022 Google LLC. @@ -17617,7 +17617,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{paramsNestedSplits:r,paramsDens * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{starts:i,limits:r,deltas:s}=t,o=n.readSync(i.dataId),a=n.readSync(r.dataId),l=n.readSync(s.dataId),[u,c]=Wge(o,i.shape,i.dtype,a,r.shape,l,s.shape);return[n.makeTensorInfo([u.length],"int32",u),n.makeTensorInfo([c.length],i.dtype,c)]}};const qxe={kernelName:p3.RaggedTensorToTensor,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{starts:i,limits:r,deltas:s}=t,o=n.readSync(i.dataId),a=n.readSync(r.dataId),l=n.readSync(s.dataId),[u,c]=Jge(o,i.shape,i.dtype,a,r.shape,l,s.shape);return[n.makeTensorInfo([u.length],"int32",u),n.makeTensorInfo([c.length],i.dtype,c)]}};const tEe={kernelName:v3.RaggedTensorToTensor,backendName:"webgl",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -17634,7 +17634,7 @@ function(e){const{inputs:t,backend:n}=e,{starts:i,limits:r,deltas:s}=t,o=n.readS * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{shape:r,values:s,defaultValue:o,rowPartitionTensors:a}=t,{rowPartitionTypes:l}=i,u=n.readSync(r.dataId),c=n.readSync(s.dataId),d=n.readSync(o.dataId),h=a.map(e=>n.readSync(e.dataId)),p=a.map(e=>e.shape),[f,m]=Xge(u,r.shape,c,s.shape,s.dtype,d,o.shape,h,p,l);return n.makeTensorInfo(f,s.dtype,m)}},Kxe=e=>{const{backend:t,attrs:n}=e,{start:i,stop:r,step:s,dtype:o}=n,a=qge(i,r,s,o);return t.makeTensorInfo([a.length],o,a)},Zxe={kernelName:p3.Range,backendName:"webgl",kernelFunc:Kxe},Qxe=J_e({opSnippet:"return 1.0 / x;"}),Jxe={kernelName:p3.Reciprocal,backendName:"webgl",kernelFunc:Qxe},eEe=J_e({opSnippet:w_e+"\n return (x < 0.0) ? 0.0 : x;\n",packedOpSnippet:"\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"}),tEe={kernelName:p3.Relu,backendName:"webgl",kernelFunc:eEe},nEe=J_e({opSnippet:w_e+"\n return (x < 0.0) ? 0.0 : min(6.0, x);\n",packedOpSnippet:"\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"}),iEe={kernelName:p3.Relu6,backendName:"webgl",kernelFunc:nEe}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{shape:r,values:s,defaultValue:o,rowPartitionTensors:a}=t,{rowPartitionTypes:l}=i,u=n.readSync(r.dataId),c=n.readSync(s.dataId),d=n.readSync(o.dataId),h=a.map(e=>n.readSync(e.dataId)),p=a.map(e=>e.shape),[f,m]=e_e(u,r.shape,c,s.shape,s.dtype,d,o.shape,h,p,l);return n.makeTensorInfo(f,s.dtype,m)}},nEe=e=>{const{backend:t,attrs:n}=e,{start:i,stop:r,step:s,dtype:o}=n,a=t_e(i,r,s,o);return t.makeTensorInfo([a.length],o,a)},iEe={kernelName:v3.Range,backendName:"webgl",kernelFunc:nEe},rEe=sye({opSnippet:"return 1.0 / x;"}),sEe={kernelName:v3.Reciprocal,backendName:"webgl",kernelFunc:rEe},oEe=sye({opSnippet:M_e+"\n return (x < 0.0) ? 0.0 : x;\n",packedOpSnippet:"\n vec4 result = x * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"}),aEe={kernelName:v3.Relu,backendName:"webgl",kernelFunc:oEe},lEe=sye({opSnippet:M_e+"\n return (x < 0.0) ? 0.0 : min(6.0, x);\n",packedOpSnippet:"\n vec4 result = min(x, vec4(6.)) * vec4(greaterThanEqual(x, vec4(0.0)));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n"}),uEe={kernelName:v3.Relu6,backendName:"webgl",kernelFunc:lEe}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -17651,7 +17651,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{shape:r,values:s,defaultValue:o * limitations under the License. * ============================================================================= */ -class rEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.outputShape=[];const[s,o,a,l]=e;this.outputShape=[s,t,n,l];const u=[i&&t>1?o-1:o,i&&n>1?a-1:a],c=[i&&t>1?t-1:t,i&&n>1?n-1:n];let d;d=r?"(vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC - vec2(0.5)":"vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${u[0]/c[0]},\n ${u[1]/c[1]});\n const vec2 inputShapeRC = vec2(${o}.0, ${a}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${d};\n\n // Compute the four integer indices.\n ivec2 sourceFloorRC = ivec2(max(sourceFracIndexRC, vec2(0.0)));\n ivec2 sourceCeilRC = ivec2(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n float topLeft = getA(b, sourceFloorRC.x, sourceFloorRC.y, d);\n float bottomLeft = getA(b, sourceCeilRC.x, sourceFloorRC.y, d);\n float topRight = getA(b, sourceFloorRC.x, sourceCeilRC.y, d);\n float bottomRight = getA(b, sourceCeilRC.x, sourceCeilRC.y, d);\n\n vec2 fracRC = sourceFracIndexRC - vec2(sourceFloorRC);\n\n float top = topLeft + (topRight - topLeft) * fracRC.y;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y;\n float newValue = top + (bottom - top) * fracRC.x;\n\n setOutput(newValue);\n }\n `}} +class cEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.outputShape=[];const[s,o,a,l]=e;this.outputShape=[s,t,n,l];const u=[i&&t>1?o-1:o,i&&n>1?a-1:a],c=[i&&t>1?t-1:t,i&&n>1?n-1:n];let d;d=r?"(vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC - vec2(0.5)":"vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${u[0]/c[0]},\n ${u[1]/c[1]});\n const vec2 inputShapeRC = vec2(${o}.0, ${a}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${d};\n\n // Compute the four integer indices.\n ivec2 sourceFloorRC = ivec2(max(sourceFracIndexRC, vec2(0.0)));\n ivec2 sourceCeilRC = ivec2(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n float topLeft = getA(b, sourceFloorRC.x, sourceFloorRC.y, d);\n float bottomLeft = getA(b, sourceCeilRC.x, sourceFloorRC.y, d);\n float topRight = getA(b, sourceFloorRC.x, sourceCeilRC.y, d);\n float bottomRight = getA(b, sourceCeilRC.x, sourceCeilRC.y, d);\n\n vec2 fracRC = sourceFracIndexRC - vec2(sourceFloorRC);\n\n float top = topLeft + (topRight - topLeft) * fracRC.y;\n float bottom = bottomLeft + (bottomRight - bottomLeft) * fracRC.y;\n float newValue = top + (bottom - top) * fracRC.x;\n\n setOutput(newValue);\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -17668,7 +17668,7 @@ class rEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.outputShape=[];co * limitations under the License. * ============================================================================= */ -class sEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];const[s,o,a,l]=e;this.outputShape=[s,t,n,l];const u=[i&&t>1?o-1:o,i&&n>1?a-1:a],c=[i&&t>1?t-1:t,i&&n>1?n-1:n];let d;d=r?"(vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC - vec3(0.5)":"vec3(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${u[0]/c[0]},\n ${u[1]/c[1]},\n ${u[1]/c[1]});\n const vec3 inputShapeRC = vec3(${o}.0, ${a}.0,\n ${a}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${d};\n\n // Compute the four integer indices.\n ivec3 sourceFloorRC = ivec3(max(sourceFracIndexRC, vec3(0.0)));\n ivec3 sourceCeilRC = ivec3(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n // In parallel, construct four corners for all four components in\n // packed 2x2 cell.\n vec4 topLeft = vec4(\n getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 bottomLeft = vec4(\n getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 topRight = vec4(\n getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec4 bottomRight = vec4(\n getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec3 fracRC = sourceFracIndexRC - vec3(sourceFloorRC);\n\n vec4 top = mix(topLeft, topRight, fracRC.yyzz);\n vec4 bottom = mix(bottomLeft, bottomRight, fracRC.yyzz);\n vec4 newValue = mix(top, bottom, fracRC.x);\n\n setOutput(newValue);\n }\n `}}const oEe={kernelName:p3.ResizeBilinear,backendName:"webgl",kernelFunc: +class dEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];const[s,o,a,l]=e;this.outputShape=[s,t,n,l];const u=[i&&t>1?o-1:o,i&&n>1?a-1:a],c=[i&&t>1?t-1:t,i&&n>1?n-1:n];let d;d=r?"(vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC - vec3(0.5)":"vec3(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${u[0]/c[0]},\n ${u[1]/c[1]},\n ${u[1]/c[1]});\n const vec3 inputShapeRC = vec3(${o}.0, ${a}.0,\n ${a}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${d};\n\n // Compute the four integer indices.\n ivec3 sourceFloorRC = ivec3(max(sourceFracIndexRC, vec3(0.0)));\n ivec3 sourceCeilRC = ivec3(\n min(inputShapeRC - 1.0, ceil(sourceFracIndexRC)));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n // In parallel, construct four corners for all four components in\n // packed 2x2 cell.\n vec4 topLeft = vec4(\n getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 bottomLeft = vec4(\n getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceFloorRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceFloorRC.z, d + 1) : 0.0);\n\n vec4 topRight = vec4(\n getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceFloorRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceFloorRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec4 bottomRight = vec4(\n getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d),\n hasNextCol ? getAValue(b, sourceCeilRC.x, sourceCeilRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceCeilRC.x, sourceCeilRC.z, d + 1) : 0.0);\n\n vec3 fracRC = sourceFracIndexRC - vec3(sourceFloorRC);\n\n vec4 top = mix(topLeft, topRight, fracRC.yyzz);\n vec4 bottom = mix(bottomLeft, bottomRight, fracRC.yyzz);\n vec4 newValue = mix(top, bottom, fracRC.x);\n\n setOutput(newValue);\n }\n `}}const hEe={kernelName:v3.ResizeBilinear,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17685,7 +17685,7 @@ class sEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.packedInputs=!0,t * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r}=t,{alignCorners:s,halfPixelCenters:o,size:a}=i,[l,u]=a,c=(0,p3.env)().getBool("WEBGL_PACK_IMAGE_OPERATIONS")?new sEe(r.shape,l,u,s,o):new rEe(r.shape,l,u,s,o);return n.runWebGLProgram(c,[r],"float32")}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r}=t,{alignCorners:s,halfPixelCenters:o,size:a}=i,[l,u]=a,c=(0,v3.env)().getBool("WEBGL_PACK_IMAGE_OPERATIONS")?new dEe(r.shape,l,u,s,o):new cEe(r.shape,l,u,s,o);return n.runWebGLProgram(c,[r],"float32")}}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -17702,7 +17702,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r}=t,{alignCorners:s,hal * limitations under the License. * ============================================================================= */ -class aEe{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=t;const[,i,r]=t,[,s,o]=e,a=[n&&s>1?i-1:i,n&&o>1?r-1:r],l=[n&&s>1?s-1:s,n&&o>1?o-1:o],u=a[0]/l[0],c=a[1]/l[1],d=1/u,h=1/c,p=2*Math.ceil(d)+2,f=2*Math.ceil(h)+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${u});\n const float widthScale = float(${c});\n\n const float invHeightScale = float(${d});\n const float invWidthScale = float(${h});\n\n const int winHeight = int(${p});\n const int winWidth = int(${f});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(startRLerp - float(winHeight / 2));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(startCLerp - float(winWidth / 2));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${s}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${o}) {\n continue;\n }\n\n float dxR = float(dyR) * heightScale;\n int topDxRIndex = int(floor(dxR));\n int bottomDxRIndex = int(min(ceil(dxR), ${i-1}.0));\n float dxRLerp = dxR - float(topDxRIndex);\n float inverseDxRLerp = 1.0 - dxRLerp;\n\n float dxC = float(dyC) * widthScale;\n int leftDxCIndex = int(floor(dxC));\n int rightDxCIndex = int(min(ceil(dxC), ${r-1}.0));\n float dxCLerp = dxC - float(leftDxCIndex);\n float inverseDxCLerp = 1.0 - dxCLerp;\n\n if (r == topDxRIndex && c == leftDxCIndex) {\n // topLeft\n accumulator +=\n getDy(b, dyR, dyC, d) * inverseDxRLerp * inverseDxCLerp;\n }\n\n if (r == topDxRIndex && c == rightDxCIndex) {\n // topRight\n accumulator += getDy(b, dyR, dyC, d) * inverseDxRLerp * dxCLerp;\n }\n\n if (r == bottomDxRIndex && c == leftDxCIndex) {\n // bottomLeft\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * inverseDxCLerp;\n }\n\n if (r == bottomDxRIndex && c == rightDxCIndex) {\n // bottomRight\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * dxCLerp;\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}}const lEe={kernelName:p3.ResizeBilinearGrad,backendName:"webgl",kernelFunc: +class pEe{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=t;const[,i,r]=t,[,s,o]=e,a=[n&&s>1?i-1:i,n&&o>1?r-1:r],l=[n&&s>1?s-1:s,n&&o>1?o-1:o],u=a[0]/l[0],c=a[1]/l[1],d=1/u,h=1/c,p=2*Math.ceil(d)+2,f=2*Math.ceil(h)+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${u});\n const float widthScale = float(${c});\n\n const float invHeightScale = float(${d});\n const float invWidthScale = float(${h});\n\n const int winHeight = int(${p});\n const int winWidth = int(${f});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(startRLerp - float(winHeight / 2));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(startCLerp - float(winWidth / 2));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${s}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${o}) {\n continue;\n }\n\n float dxR = float(dyR) * heightScale;\n int topDxRIndex = int(floor(dxR));\n int bottomDxRIndex = int(min(ceil(dxR), ${i-1}.0));\n float dxRLerp = dxR - float(topDxRIndex);\n float inverseDxRLerp = 1.0 - dxRLerp;\n\n float dxC = float(dyC) * widthScale;\n int leftDxCIndex = int(floor(dxC));\n int rightDxCIndex = int(min(ceil(dxC), ${r-1}.0));\n float dxCLerp = dxC - float(leftDxCIndex);\n float inverseDxCLerp = 1.0 - dxCLerp;\n\n if (r == topDxRIndex && c == leftDxCIndex) {\n // topLeft\n accumulator +=\n getDy(b, dyR, dyC, d) * inverseDxRLerp * inverseDxCLerp;\n }\n\n if (r == topDxRIndex && c == rightDxCIndex) {\n // topRight\n accumulator += getDy(b, dyR, dyC, d) * inverseDxRLerp * dxCLerp;\n }\n\n if (r == bottomDxRIndex && c == leftDxCIndex) {\n // bottomLeft\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * inverseDxCLerp;\n }\n\n if (r == bottomDxRIndex && c == rightDxCIndex) {\n // bottomRight\n accumulator += getDy(b, dyR, dyC, d) * dxRLerp * dxCLerp;\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}}const fEe={kernelName:v3.ResizeBilinearGrad,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17719,7 +17719,7 @@ class aEe{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this. * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r,dy:s}=t,{alignCorners:o}=i,a=new aEe(s.shape,r.shape,o);return n.runWebGLProgram(a,[s],s.dtype)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r,dy:s}=t,{alignCorners:o}=i,a=new pEe(s.shape,r.shape,o);return n.runWebGLProgram(a,[s],s.dtype)}}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -17736,7 +17736,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r,dy:s}=t,{alignCorners: * limitations under the License. * ============================================================================= */ -class uEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.outputShape=[];const[s,o,a,l]=e;this.outputShape=[s,t,n,l];const u=[i&&t>1?o-1:o,i&&n>1?a-1:a],c=[i&&t>1?t-1:t,i&&n>1?n-1:n],d=i?"0.5":"0.0";let h;h=r?"max((vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC, vec2(0.0))":"vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${u[0]/c[0]},\n ${u[1]/c[1]});\n const vec2 inputShapeRC = vec2(${o}.0, ${a}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${h};\n\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestRC = ivec2(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${d})));\n float newValue = getA(b, sourceNearestRC.x, sourceNearestRC.y, d);\n\n setOutput(newValue);\n }\n `}} +class mEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.outputShape=[];const[s,o,a,l]=e;this.outputShape=[s,t,n,l];const u=[i&&t>1?o-1:o,i&&n>1?a-1:a],c=[i&&t>1?t-1:t,i&&n>1?n-1:n],d=i?"0.5":"0.0";let h;h=r?"max((vec2(yRC) + vec2(0.5)) * effectiveInputOverOutputRatioRC, vec2(0.0))":"vec2(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec2 effectiveInputOverOutputRatioRC = vec2(\n ${u[0]/c[0]},\n ${u[1]/c[1]});\n const vec2 inputShapeRC = vec2(${o}.0, ${a}.0);\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n ivec2 yRC = coords.yz;\n\n // Fractional source index.\n vec2 sourceFracIndexRC = ${h};\n\n // Compute the coordinators of nearest neighbor point.\n ivec2 sourceNearestRC = ivec2(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${d})));\n float newValue = getA(b, sourceNearestRC.x, sourceNearestRC.y, d);\n\n setOutput(newValue);\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -17753,7 +17753,7 @@ class uEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.outputShape=[];co * limitations under the License. * ============================================================================= */ -class cEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];const[s,o,a,l]=e;this.outputShape=[s,t,n,l];const u=[i&&t>1?o-1:o,i&&n>1?a-1:a],c=[i&&t>1?t-1:t,i&&n>1?n-1:n],d=i?"0.5":"0.0";let h;h=r?"max((vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC, vec3(0.0))":"vec3(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${u[0]/c[0]},\n ${u[1]/c[1]},\n ${u[1]/c[1]});\n const vec3 inputShapeRC = vec3(${o}.0, ${a}.0,\n ${a}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${h};\n\n // Compute the coordinators of nearest neighbor point.\n ivec3 sourceNearestRC = ivec3(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${d})));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n vec4 newValue = vec4(\n getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d),\n hasNextCol ? getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d + 1) : 0.0);\n\n setOutput(newValue);\n }\n `}}const dEe={kernelName:p3.ResizeNearestNeighbor,backendName:"webgl",kernelFunc: +class gEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=[];const[s,o,a,l]=e;this.outputShape=[s,t,n,l];const u=[i&&t>1?o-1:o,i&&n>1?a-1:a],c=[i&&t>1?t-1:t,i&&n>1?n-1:n],d=i?"0.5":"0.0";let h;h=r?"max((vec3(yRC) + vec3(0.5)) * effectiveInputOverOutputRatioRC, vec3(0.0))":"vec3(yRC) * effectiveInputOverOutputRatioRC",this.userCode=`\n const vec3 effectiveInputOverOutputRatioRC = vec3(\n ${u[0]/c[0]},\n ${u[1]/c[1]},\n ${u[1]/c[1]});\n const vec3 inputShapeRC = vec3(${o}.0, ${a}.0,\n ${a}.0);\n\n float getAValue(int b, int r, int c, int d) {\n return getChannel(getA(b, r, c, d), vec2(c, d));\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n // Calculate values for next column in yRC.z.\n ivec3 yRC = coords.yzz + ivec3(0, 0, 1);\n\n // Fractional source index.\n vec3 sourceFracIndexRC = ${h};\n\n // Compute the coordinators of nearest neighbor point.\n ivec3 sourceNearestRC = ivec3(\n min(inputShapeRC - 1.0, floor(sourceFracIndexRC + ${d})));\n\n // Should we calculate next column and row elements in 2x2 packed cell.\n bool hasNextCol = d < ${l-1};\n bool hasNextRow = coords.z < ${n-1};\n\n vec4 newValue = vec4(\n getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d),\n hasNextCol ? getAValue(b, sourceNearestRC.x, sourceNearestRC.y, d + 1)\n : 0.0,\n hasNextRow ? getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d)\n : 0.0,\n (hasNextRow && hasNextCol) ?\n getAValue(b, sourceNearestRC.x, sourceNearestRC.z, d + 1) : 0.0);\n\n setOutput(newValue);\n }\n `}}const _Ee={kernelName:v3.ResizeNearestNeighbor,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17770,7 +17770,7 @@ class cEe{constructor(e,t,n,i,r){this.variableNames=["A"],this.packedInputs=!0,t * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r}=t,{alignCorners:s,halfPixelCenters:o,size:a}=i,[l,u]=a,c=(0,p3.env)().getBool("WEBGL_PACK_IMAGE_OPERATIONS")?new cEe(r.shape,l,u,s,o):new uEe(r.shape,l,u,s,o);return n.runWebGLProgram(c,[r],r.dtype)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r}=t,{alignCorners:s,halfPixelCenters:o,size:a}=i,[l,u]=a,c=(0,v3.env)().getBool("WEBGL_PACK_IMAGE_OPERATIONS")?new gEe(r.shape,l,u,s,o):new mEe(r.shape,l,u,s,o);return n.runWebGLProgram(c,[r],r.dtype)}}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -17787,7 +17787,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r}=t,{alignCorners:s,hal * limitations under the License. * ============================================================================= */ -class hEe{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=t;const[,i,r]=t,[,s,o]=e,a=[n&&s>1?i-1:i,n&&o>1?r-1:r],l=[n&&s>1?s-1:s,n&&o>1?o-1:o],u=a[0]/l[0],c=a[1]/l[1],d=1/u,h=1/c,p=2*Math.ceil(d)+2,f=2*Math.ceil(h)+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${u});\n const float widthScale = float(${c});\n\n const float invHeightScale = float(${d});\n const float invWidthScale = float(${h});\n\n const int winHeight = int(${p});\n const int winWidth = int(${f});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(floor(startRLerp - float(winHeight / 2)));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(floor(startCLerp - float(winWidth / 2)));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${s}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${o}) {\n continue;\n }\n\n float sourceFracRow =\n float(${a[0]}) *\n (float(dyR) / float(${l[0]}));\n\n float sourceFracCol =\n float(${a[1]}) *\n (float(dyC) / float(${l[1]}));\n\n int sourceNearestRow = int(min(\n float(int(${i}) - 1),\n ${n} ? float(round(sourceFracRow)) :\n float(floor(sourceFracRow))));\n\n int sourceNearestCol = int(min(\n float(int(${r}) - 1),\n ${n} ? float(round(sourceFracCol)) :\n float(floor(sourceFracCol))));\n\n if (r == sourceNearestRow && c == sourceNearestCol) {\n accumulator += getDy(b, dyR, dyC, d);\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}}const pEe={kernelName:p3.ResizeNearestNeighborGrad,backendName:"webgl",kernelFunc: +class yEe{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this.outputShape=t;const[,i,r]=t,[,s,o]=e,a=[n&&s>1?i-1:i,n&&o>1?r-1:r],l=[n&&s>1?s-1:s,n&&o>1?o-1:o],u=a[0]/l[0],c=a[1]/l[1],d=1/u,h=1/c,p=2*Math.ceil(d)+2,f=2*Math.ceil(h)+2;this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int b = coords[0];\n int d = coords[3];\n int r = coords[1];\n int c = coords[2];\n\n float accumulator = 0.0;\n\n const float heightScale = float(${u});\n const float widthScale = float(${c});\n\n const float invHeightScale = float(${d});\n const float invWidthScale = float(${h});\n\n const int winHeight = int(${p});\n const int winWidth = int(${f});\n\n // Compute bounds for where in dy we will look\n float startRLerp = floor(float(r) * invHeightScale);\n int startDyR = int(floor(startRLerp - float(winHeight / 2)));\n\n float startCLerp = floor(float(c) * invWidthScale);\n int startDyC = int(floor(startCLerp - float(winWidth / 2)));\n\n // Loop over dy\n for (int dyROffset = 0; dyROffset < winHeight; dyROffset++) {\n int dyR = dyROffset + startDyR;\n\n // Guard against the window exceeding the bounds of dy\n if (dyR < 0 || dyR >= ${s}) {\n continue;\n }\n\n for (int dyCOffset = 0; dyCOffset < winWidth; dyCOffset++) {\n int dyC = dyCOffset + startDyC;\n\n // Guard against the window exceeding the bounds of dy\n if (dyC < 0 || dyC >= ${o}) {\n continue;\n }\n\n float sourceFracRow =\n float(${a[0]}) *\n (float(dyR) / float(${l[0]}));\n\n float sourceFracCol =\n float(${a[1]}) *\n (float(dyC) / float(${l[1]}));\n\n int sourceNearestRow = int(min(\n float(int(${i}) - 1),\n ${n} ? float(round(sourceFracRow)) :\n float(floor(sourceFracRow))));\n\n int sourceNearestCol = int(min(\n float(int(${r}) - 1),\n ${n} ? float(round(sourceFracCol)) :\n float(floor(sourceFracCol))));\n\n if (r == sourceNearestRow && c == sourceNearestCol) {\n accumulator += getDy(b, dyR, dyC, d);\n }\n }\n }\n // End loop over dy\n\n setOutput(accumulator);\n }\n `}}const vEe={kernelName:v3.ResizeNearestNeighborGrad,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17804,7 +17804,7 @@ class hEe{constructor(e,t,n){this.variableNames=["dy"],this.outputShape=[],this. * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r,dy:s}=t,{alignCorners:o}=i,a=new hEe(s.shape,r.shape,o);return n.runWebGLProgram(a,[s],s.dtype)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r,dy:s}=t,{alignCorners:o}=i,a=new yEe(s.shape,r.shape,o);return n.runWebGLProgram(a,[s],s.dtype)}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -17821,7 +17821,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{images:r,dy:s}=t,{alignCorners: * limitations under the License. * ============================================================================= */ -class fEe{constructor(e,t){this.variableNames=["x"];const n=e.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);if(this.outputShape=e,1===n)return void(this.userCode=`\n void main() {\n int coord = getOutputCoords();\n setOutput(getX(${e[0]} - coord - 1));\n }\n `);const i=e.map((n,i)=>(n=>-1!==t.indexOf(n)&&1!==e[n]?`${e[n]} - coords[${n}] - 1`:`coords[${n}]`)(i)).join(","),r=Pme(n);this.userCode=`\n void main() {\n ${r} coords = getOutputCoords();\n setOutput(getX(${i}));\n }\n `}} +class bEe{constructor(e,t){this.variableNames=["x"];const n=e.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);if(this.outputShape=e,1===n)return void(this.userCode=`\n void main() {\n int coord = getOutputCoords();\n setOutput(getX(${e[0]} - coord - 1));\n }\n `);const i=e.map((n,i)=>(n=>-1!==t.indexOf(n)&&1!==e[n]?`${e[n]} - coords[${n}] - 1`:`coords[${n}]`)(i)).join(","),r=jme(n);this.userCode=`\n void main() {\n ${r} coords = getOutputCoords();\n setOutput(getX(${i}));\n }\n `}} /** * @license * Copyright 2019 Google LLC. All Rights Reserved. @@ -17838,7 +17838,7 @@ class fEe{constructor(e,t){this.variableNames=["x"];const n=e.length;if(n>4)thro * limitations under the License. * ============================================================================= */ -class mEe{constructor(e,t){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0;const n=e.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);this.outputShape=e;const i=g_e("rc",n),r=`${i[n-1]} + 1 < ${this.outputShape[n-1]}`,s=`${i[n-2]} + 1 < ${this.outputShape[n-2]}`,o=Pme(n);function a(n){const i=e.map((i,r)=>function(n,i){return-1!==t.indexOf(n)&&1!==e[n]?`${e[n]} - ${i[n]} - 1`:`${i[n]}`}(r,n));return`getChannel(getX(${i.join(",")}), vec2(${i.slice(-2).join(",")}))`}this.userCode=1===n?`\n void main(){\n int rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = getChannel(getX(${e[0]} - rc - 1),\n ${e[0]} - rc - 1);\n if(${r}){\n result.g = getChannel(getX(${e[0]} - (rc + 1) - 1),\n ${e[0]} - (rc + 1) - 1);\n }\n setOutput(result);\n }\n `:`\n void main() {\n ${o} rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = ${function(e){return a(e)}(i.slice())};\n if(${r}){\n result.g = ${function(e){return e[n-1]="("+e[n-1]+" + 1)",a(e)}(i.slice())};\n }\n if(${s}) {\n result.b = ${function(e){return e[n-2]="("+e[n-2]+" + 1)",a(e)}(i.slice())};\n if(${r}) {\n result.a = ${function(e){return e[n-1]="("+e[n-1]+" + 1)",e[n-2]="("+e[n-2]+" + 1)",a(e)}(i.slice())};\n }\n }\n setOutput(result);\n }\n `}}const gEe={kernelName:p3.Reverse,backendName:"webgl",kernelFunc: +class TEe{constructor(e,t){this.variableNames=["x"],this.packedInputs=!0,this.packedOutput=!0;const n=e.length;if(n>4)throw new Error(`WebGL backend: Reverse of rank-${n} tensor is not yet supported`);this.outputShape=e;const i=x_e("rc",n),r=`${i[n-1]} + 1 < ${this.outputShape[n-1]}`,s=`${i[n-2]} + 1 < ${this.outputShape[n-2]}`,o=jme(n);function a(n){const i=e.map((i,r)=>function(n,i){return-1!==t.indexOf(n)&&1!==e[n]?`${e[n]} - ${i[n]} - 1`:`${i[n]}`}(r,n));return`getChannel(getX(${i.join(",")}), vec2(${i.slice(-2).join(",")}))`}this.userCode=1===n?`\n void main(){\n int rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = getChannel(getX(${e[0]} - rc - 1),\n ${e[0]} - rc - 1);\n if(${r}){\n result.g = getChannel(getX(${e[0]} - (rc + 1) - 1),\n ${e[0]} - (rc + 1) - 1);\n }\n setOutput(result);\n }\n `:`\n void main() {\n ${o} rc = getOutputCoords();\n vec4 result = vec4(0.);\n result.r = ${function(e){return a(e)}(i.slice())};\n if(${r}){\n result.g = ${function(e){return e[n-1]="("+e[n-1]+" + 1)",a(e)}(i.slice())};\n }\n if(${s}) {\n result.b = ${function(e){return e[n-2]="("+e[n-2]+" + 1)",a(e)}(i.slice())};\n if(${r}) {\n result.a = ${function(e){return e[n-1]="("+e[n-1]+" + 1)",e[n-2]="("+e[n-2]+" + 1)",a(e)}(i.slice())};\n }\n }\n setOutput(result);\n }\n `}}const xEe={kernelName:v3.Reverse,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17855,7 +17855,7 @@ class mEe{constructor(e,t){this.variableNames=["x"],this.packedInputs=!0,this.pa * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{dims:s}=i,o=r.shape.length,a=p3.util.parseAxisParam(s,r.shape);if(0===o)return z_e({inputs:{x:r},backend:n});const l=(0,p3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new mEe(r.shape,a):new fEe(r.shape,a);return n.runWebGLProgram(l,[r],r.dtype)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{dims:s}=i,o=r.shape.length,a=v3.util.parseAxisParam(s,r.shape);if(0===o)return X_e({inputs:{x:r},backend:n});const l=(0,v3.env)().getBool("WEBGL_PACK_ARRAY_OPERATIONS")?new TEe(r.shape,a):new bEe(r.shape,a);return n.runWebGLProgram(l,[r],r.dtype)}}; /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17872,7 +17872,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{dims:s}=i,o=r.shape.len * limitations under the License. * ============================================================================= */ -class _Ee{constructor(e,t){this.variableNames=["Image"],this.outputShape=[],this.customUniforms=[{name:"params",type:"vec4"}];const n=e[1],i=e[2];this.outputShape=e;let r="";r="number"==typeof t?`float outputValue = ${t.toFixed(2)};`:`\n vec3 fill = vec3(${t.join(",")});\n float outputValue = fill[coords[3]];`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n int y = coords[1];\n float coordXFloat = (float(x) - params[0]) * params[3] -\n (float(y) - params[1]) * params[2];\n float coordYFloat = (float(x) - params[0]) * params[2] +\n (float(y) - params[1]) * params[3];\n int coordX = int(round(coordXFloat + params[0]));\n int coordY = int(round(coordYFloat + params[1]));\n ${r}\n if(coordX >= 0 && coordX < ${i} && coordY >= 0 && coordY < ${n}) {\n outputValue = getImage(coords[0], coordY, coordX, coords[3]);\n }\n setOutput(outputValue);\n }\n `}} +class EEe{constructor(e,t){this.variableNames=["Image"],this.outputShape=[],this.customUniforms=[{name:"params",type:"vec4"}];const n=e[1],i=e[2];this.outputShape=e;let r="";r="number"==typeof t?`float outputValue = ${t.toFixed(2)};`:`\n vec3 fill = vec3(${t.join(",")});\n float outputValue = fill[coords[3]];`,this.userCode=`\n void main() {\n ivec4 coords = getOutputCoords();\n int x = coords[2];\n int y = coords[1];\n float coordXFloat = (float(x) - params[0]) * params[3] -\n (float(y) - params[1]) * params[2];\n float coordYFloat = (float(x) - params[0]) * params[2] +\n (float(y) - params[1]) * params[3];\n int coordX = int(round(coordXFloat + params[0]));\n int coordY = int(round(coordYFloat + params[1]));\n ${r}\n if(coordX >= 0 && coordX < ${i} && coordY >= 0 && coordY < ${n}) {\n outputValue = getImage(coords[0], coordY, coordX, coords[3]);\n }\n setOutput(outputValue);\n }\n `}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17889,7 +17889,7 @@ class _Ee{constructor(e,t){this.variableNames=["Image"],this.outputShape=[],this * limitations under the License. * ============================================================================= */ -const yEe={kernelName:p3.RotateWithOffset,backendName:"webgl",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{image:i}=e,{radians:r,fillValue:s,center:o}=t,a=n,l=new _Ee(i.shape,s),[u,c]=p3.backend_util.getImageCenter(o,i.shape[1],i.shape[2]),d=[[u,c,Math.sin(r),Math.cos(r)]];return a.runWebGLProgram(l,[i],i.dtype,d)}},vEe=J_e({opSnippet:"\n // OpenGL ES does not support round function.\n // The algorithm is based on banker's rounding.\n float base = floor(x);\n if ((x - base) < 0.5) {\n return floor(x);\n } else if ((x - base) > 0.5) {\n return ceil(x);\n } else {\n if (mod(base, 2.0) == 0.0) {\n return base;\n } else {\n return base + 1.0;\n }\n }\n"}),bEe={kernelName:p3.Round,backendName:"webgl",kernelFunc:vEe},TEe=J_e({opSnippet:"return inversesqrt(x);",cpuKernelImpl:Kge}),xEe={kernelName:p3.Rsqrt,backendName:"webgl",kernelFunc:TEe}; +const wEe={kernelName:v3.RotateWithOffset,backendName:"webgl",kernelFunc:({inputs:e,attrs:t,backend:n})=>{const{image:i}=e,{radians:r,fillValue:s,center:o}=t,a=n,l=new EEe(i.shape,s),[u,c]=v3.backend_util.getImageCenter(o,i.shape[1],i.shape[2]),d=[[u,c,Math.sin(r),Math.cos(r)]];return a.runWebGLProgram(l,[i],i.dtype,d)}},IEe=sye({opSnippet:"\n // OpenGL ES does not support round function.\n // The algorithm is based on banker's rounding.\n float base = floor(x);\n if ((x - base) < 0.5) {\n return floor(x);\n } else if ((x - base) > 0.5) {\n return ceil(x);\n } else {\n if (mod(base, 2.0) == 0.0) {\n return base;\n } else {\n return base + 1.0;\n }\n }\n"}),AEe={kernelName:v3.Round,backendName:"webgl",kernelFunc:IEe},SEe=sye({opSnippet:"return inversesqrt(x);",cpuKernelImpl:n_e}),CEe={kernelName:v3.Rsqrt,backendName:"webgl",kernelFunc:SEe}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -17906,7 +17906,7 @@ const yEe={kernelName:p3.RotateWithOffset,backendName:"webgl",kernelFunc:({input * limitations under the License. * ============================================================================= */ -class EEe{constructor(e,t,n,i,r,s,o=!0,a=!1){this.variableNames=["updates","indices","defaultValue"],this.outputShape=s;const l=Pme(r.length),u=Pme(s.length);let c="";1===n?c="i":2===n&&(c="i, j");const d=`getIndices(${c})`;let h="";1===i?h="i":2===i&&(h="i, coords[1]");const p=`getUpdates(${h})`;let f="";a&&(f="coords[0], coords[1]");const m=`getDefaultValue(${f})`,g=t>1?"strides[j]":"strides";this.userCode=`\n ${l} strides = ${l}(${r});\n\n void main() {\n ${u} coords = getOutputCoords();\n float sum = 0.0;\n bool found = false;\n for (int i = 0; i < ${e}; i++) {\n int flattenedIndex = 0;\n for (int j = 0; j < ${t}; j++) {\n int index = round(${d});\n flattenedIndex += index * ${g};\n }\n if (flattenedIndex == coords[0]) {\n sum += ${p};\n found = true;\n }\n }\n setOutput(mix(${m}, sum, float(found)));\n }\n `}} +class OEe{constructor(e,t,n,i,r,s,o=!0,a=!1){this.variableNames=["updates","indices","defaultValue"],this.outputShape=s;const l=jme(r.length),u=jme(s.length);let c="";1===n?c="i":2===n&&(c="i, j");const d=`getIndices(${c})`;let h="";1===i?h="i":2===i&&(h="i, coords[1]");const p=`getUpdates(${h})`;let f="";a&&(f="coords[0], coords[1]");const m=`getDefaultValue(${f})`,g=t>1?"strides[j]":"strides";this.userCode=`\n ${l} strides = ${l}(${r});\n\n void main() {\n ${u} coords = getOutputCoords();\n float sum = 0.0;\n bool found = false;\n for (int i = 0; i < ${e}; i++) {\n int flattenedIndex = 0;\n for (int j = 0; j < ${t}; j++) {\n int index = round(${d});\n flattenedIndex += index * ${g};\n }\n if (flattenedIndex == coords[0]) {\n sum += ${p};\n found = true;\n }\n }\n setOutput(mix(${m}, sum, float(found)));\n }\n `}} /** * @license * Copyright 2023 Google LLC. @@ -17923,7 +17923,7 @@ class EEe{constructor(e,t,n,i,r,s,o=!0,a=!1){this.variableNames=["updates","indi * limitations under the License. * ============================================================================= */ -class wEe{constructor(e,t,n,i,r,s,o=!0,a=!1){this.variableNames=["updates","indices","defaultValue"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=s;const l=Pme(r.length),u=Pme(s.length);let c="";1===n?c="i":2===n&&(c="i, j");const d=`getIndices(${c})`;let h="";1===i?h="i":2===i&&(h="i, coords[1]");const p=`getUpdates(${h})`;let f="";a&&(f="coords[0], coords[1]");const m=`getDefaultValue(${f})`,g=t>1?"strides[j]":"strides",_=t>1?"strides[j + 1]":"strides";this.userCode=`\n ${l} strides = ${l}(${r});\n\n void main() {\n ${u} coords = getOutputCoords();\n vec4 sum = vec4(0.);\n vec4 found = vec4(0.);\n for (int i = 0; i < ${e}; i+=2) {\n ivec2 flattenedIndex = ivec2(0);\n for (int j = 0; j < ${t}; j+=2) {\n ivec4 index = round(${d});\n flattenedIndex += index.xz * ${g};\n if (j + 1 < ${t}) {\n flattenedIndex += index.yw * ${_};\n }\n }\n if (flattenedIndex[0] == coords[0] || flattenedIndex[1] == coords[0] ||\n flattenedIndex[0] == coords[0] + 1 || flattenedIndex[1] == coords[0] + 1) {\n vec4 updVals = ${p};\n if (flattenedIndex[0] == coords[0]) {\n sum.xy += updVals.xy;\n found.xy = vec2(1.);\n } else if (flattenedIndex[0] == coords[0] + 1) {\n sum.zw += updVals.xy;\n found.zw = vec2(1.);\n }\n if (flattenedIndex[1] == coords[0]) {\n sum.xy += updVals.zw;\n found.xy = vec2(1.);\n } else if (flattenedIndex[1] == coords[0] + 1) {\n sum.zw += updVals.zw;\n found.zw = vec2(1.);\n }\n }\n }\n setOutput(mix(${m}, sum, found));\n }\n `}}const IEe={kernelName:p3.ScatterNd,backendName:"webgl",kernelFunc: +class MEe{constructor(e,t,n,i,r,s,o=!0,a=!1){this.variableNames=["updates","indices","defaultValue"],this.packedInputs=!0,this.packedOutput=!0,this.outputShape=s;const l=jme(r.length),u=jme(s.length);let c="";1===n?c="i":2===n&&(c="i, j");const d=`getIndices(${c})`;let h="";1===i?h="i":2===i&&(h="i, coords[1]");const p=`getUpdates(${h})`;let f="";a&&(f="coords[0], coords[1]");const m=`getDefaultValue(${f})`,g=t>1?"strides[j]":"strides",_=t>1?"strides[j + 1]":"strides";this.userCode=`\n ${l} strides = ${l}(${r});\n\n void main() {\n ${u} coords = getOutputCoords();\n vec4 sum = vec4(0.);\n vec4 found = vec4(0.);\n for (int i = 0; i < ${e}; i+=2) {\n ivec2 flattenedIndex = ivec2(0);\n for (int j = 0; j < ${t}; j+=2) {\n ivec4 index = round(${d});\n flattenedIndex += index.xz * ${g};\n if (j + 1 < ${t}) {\n flattenedIndex += index.yw * ${_};\n }\n }\n if (flattenedIndex[0] == coords[0] || flattenedIndex[1] == coords[0] ||\n flattenedIndex[0] == coords[0] + 1 || flattenedIndex[1] == coords[0] + 1) {\n vec4 updVals = ${p};\n if (flattenedIndex[0] == coords[0]) {\n sum.xy += updVals.xy;\n found.xy = vec2(1.);\n } else if (flattenedIndex[0] == coords[0] + 1) {\n sum.zw += updVals.xy;\n found.zw = vec2(1.);\n }\n if (flattenedIndex[1] == coords[0]) {\n sum.xy += updVals.zw;\n found.xy = vec2(1.);\n } else if (flattenedIndex[1] == coords[0] + 1) {\n sum.zw += updVals.zw;\n found.zw = vec2(1.);\n }\n }\n }\n setOutput(mix(${m}, sum, found));\n }\n `}}const kEe={kernelName:v3.ScatterNd,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -17940,7 +17940,7 @@ class wEe{constructor(e,t,n,i,r,s,o=!0,a=!1){this.variableNames=["updates","indi * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{indices:r,updates:s}=t,{shape:o}=i,{sliceRank:a,numUpdates:l,sliceSize:u,strides:c,outputSize:d}=p3.backend_util.calculateShapes(s,r,o),h=[d/u,u];if(0===d)return n.makeTensorInfo(o,r.dtype);const p=uye({inputs:{x:r},backend:n,attrs:{shape:[l,a]}}),f=uye({inputs:{x:s},backend:n,attrs:{shape:[l,u]}}),m=n.makeTensorInfo([],"float32",new Float32Array([0]));let g;g=(0,p3.env)().getBool("WEBGL_PACK")?new wEe(l,a,p.shape.length,f.shape.length,c,h):new EEe(l,a,p.shape.length,f.shape.length,c,h);const _=n.runWebGLProgram(g,[f,p,m],f.dtype),y=uye({inputs:{x:_},backend:n,attrs:{shape:o}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(_),n.disposeIntermediateTensorInfo(m),y}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{indices:r,updates:s}=t,{shape:o}=i,{sliceRank:a,numUpdates:l,sliceSize:u,strides:c,outputSize:d}=v3.backend_util.calculateShapes(s,r,o),h=[d/u,u];if(0===d)return n.makeTensorInfo(o,r.dtype);const p=mye({inputs:{x:r},backend:n,attrs:{shape:[l,a]}}),f=mye({inputs:{x:s},backend:n,attrs:{shape:[l,u]}}),m=n.makeTensorInfo([],"float32",new Float32Array([0]));let g;g=(0,v3.env)().getBool("WEBGL_PACK")?new MEe(l,a,p.shape.length,f.shape.length,c,h):new OEe(l,a,p.shape.length,f.shape.length,c,h);const _=n.runWebGLProgram(g,[f,p,m],f.dtype),y=mye({inputs:{x:_},backend:n,attrs:{shape:o}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(_),n.disposeIntermediateTensorInfo(m),y}}; /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -17957,7 +17957,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{indices:r,updates:s}=t,{shape:o * limitations under the License. * ============================================================================= */ -class AEe{constructor(e,t,n,i){this.variableNames=["sortedSequence","values"],this.customUniforms=[{name:"numInputs",type:"int"}],this.outputShape=[e,n];const r=`for (int i = 0; i < ${Math.ceil(Math.log2(t+1))}; ++i) { if (left >= right) break;`,s=2===(0,p3.env)().getNumber("WEBGL_VERSION")?"while (left < right) {":r,o="left"===i?"<":"<=";this.userCode=`\n int findBound(int batch, float value) {\n int left = 0;\n int right = numInputs;\n int mid;\n ${s}\n mid = (left + right) / 2;\n if (getSortedSequence(batch, mid) ${o} value) {\n left = mid + 1;\n } else {\n right = mid;\n }\n }\n return right;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int valueIndex = coords[1];\n\n float value = getValues(batch, valueIndex);\n\n setOutput(float(findBound(batch, value)));\n }\n `}}const SEe={kernelName:p3.SearchSorted,backendName:"webgl",kernelFunc: +class REe{constructor(e,t,n,i){this.variableNames=["sortedSequence","values"],this.customUniforms=[{name:"numInputs",type:"int"}],this.outputShape=[e,n];const r=`for (int i = 0; i < ${Math.ceil(Math.log2(t+1))}; ++i) { if (left >= right) break;`,s=2===(0,v3.env)().getNumber("WEBGL_VERSION")?"while (left < right) {":r,o="left"===i?"<":"<=";this.userCode=`\n int findBound(int batch, float value) {\n int left = 0;\n int right = numInputs;\n int mid;\n ${s}\n mid = (left + right) / 2;\n if (getSortedSequence(batch, mid) ${o} value) {\n left = mid + 1;\n } else {\n right = mid;\n }\n }\n return right;\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int valueIndex = coords[1];\n\n float value = getValues(batch, valueIndex);\n\n setOutput(float(findBound(batch, value)));\n }\n `}}const NEe={kernelName:v3.SearchSorted,backendName:"webgl",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -17974,7 +17974,7 @@ class AEe{constructor(e,t,n,i){this.variableNames=["sortedSequence","values"],th * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{sortedSequence:r,values:s}=t,{side:o}=i,a=new AEe(r.shape[0],r.shape[1],s.shape[1],o),l=[[r.shape[1]]];return n.runWebGLProgram(a,[r,s],"int32",l)}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{sortedSequence:r,values:s}=t,{side:o}=i,a=new REe(r.shape[0],r.shape[1],s.shape[1],o),l=[[r.shape[1]]];return n.runWebGLProgram(a,[r,s],"int32",l)}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -17991,7 +17991,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{sortedSequence:r,values:s}=t,{s * limitations under the License. * ============================================================================= */ -class CEe{constructor(e,t,n){let i,r;if(this.variableNames=["c","a","b"],this.outputShape=t,n>4)throw Error(`Where for rank ${n} is not yet supported`);if(1===n)r="resRC",i="resRC";else{const n=["resRC.x","resRC.y","resRC.z","resRC.w"],s=[],o=[];for(let i=0;i= 1.0) {\n setOutput(getA(${r}));\n } else {\n setOutput(getB(${r}));\n }\n }\n `}}const OEe={kernelName:p3.Select,backendName:"webgl",kernelFunc: +class DEe{constructor(e,t,n){let i,r;if(this.variableNames=["c","a","b"],this.outputShape=t,n>4)throw Error(`Where for rank ${n} is not yet supported`);if(1===n)r="resRC",i="resRC";else{const n=["resRC.x","resRC.y","resRC.z","resRC.w"],s=[],o=[];for(let i=0;i= 1.0) {\n setOutput(getA(${r}));\n } else {\n setOutput(getB(${r}));\n }\n }\n `}}const FEe={kernelName:v3.Select,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18008,7 +18008,7 @@ class CEe{constructor(e,t,n){let i,r;if(this.variableNames=["c","a","b"],this.ou * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{condition:i,t:r,e:s}=t,o=new CEe(i.shape.length,r.shape,r.shape.length);return n.runWebGLProgram(o,[i,r,s],(0,p3.upcastType)(r.dtype,s.dtype))}},MEe=J_e({opSnippet:`\n // Stable and Attracting Fixed Point (0, 1) for Normalized Weights.\n // see: https://arxiv.org/abs/1706.02515\n float scaleAlpha = ${p3.backend_util.SELU_SCALEALPHA};\n float scale = ${p3.backend_util.SELU_SCALE};\n return (x >= 0.0) ? scale * x : scaleAlpha * (exp(x) - 1.0);\n`}),kEe={kernelName:p3.Selu,backendName:"webgl",kernelFunc:MEe},REe=J_e({opSnippet:Q_e+"\n return 1.0 / (1.0 + exp(-1.0 * x));\n",packedOpSnippet:"\n vec4 result = 1.0 / (1.0 + exp(-1.0 * x));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n",cpuKernelImpl:Qge}),NEe={kernelName:p3.Sigmoid,backendName:"webgl",kernelFunc:REe},DEe=J_e({opSnippet:"\n if (isnan(x)) { return 0.0; }\n return sign(x);\n"}),FEe={kernelName:p3.Sign,backendName:"webgl",kernelFunc:DEe},LEe=J_e({opSnippet:Q_e+"\n return sin(x);\n",packedOpSnippet:`\n vec4 result = sin(x);\n bvec4 isNaN = isnan(x);\n ${U_e}\n return result;\n`}),PEe={kernelName:p3.Sin,backendName:"webgl",kernelFunc:LEe},BEe=J_e({opSnippet:"\n float e2x = exp(x);\n return (e2x - 1.0 / e2x) / 2.0;\n"}),$Ee={kernelName:p3.Sinh,backendName:"webgl",kernelFunc:BEe},UEe=J_e({opSnippet:"\n float epsilon = 1.1920928955078125e-7;\n float threshold = log(epsilon) + 2.0;\n\n bool too_large = x > -threshold;\n bool too_small = x < threshold;\n\n float result;\n float exp_x = exp(x);\n\n if (too_large){\n result = x;\n }\n else if (too_small){\n result = exp_x;\n }\n else{\n result = log(exp_x + 1.0);\n }\n return result;\n"}),VEe={kernelName:p3.Softplus,backendName:"webgl",kernelFunc:UEe},zEe={kernelName:p3.SpaceToBatchND,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockShape:s,paddings:o}=i;p3.util.assert(r.shape.length<=4,()=>"spaceToBatchND for rank > 4 with a WebGL backend not implemented yet");const a=s.reduce((e,t)=>e*t),l=[[0,0]];l.push(...o);for(let e=1+s.length;en.disposeIntermediateTensorInfo(e)),g}};const jEe={kernelName:p3.SparseFillEmptyRows,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{condition:i,t:r,e:s}=t,o=new DEe(i.shape.length,r.shape,r.shape.length);return n.runWebGLProgram(o,[i,r,s],(0,v3.upcastType)(r.dtype,s.dtype))}},LEe=sye({opSnippet:`\n // Stable and Attracting Fixed Point (0, 1) for Normalized Weights.\n // see: https://arxiv.org/abs/1706.02515\n float scaleAlpha = ${v3.backend_util.SELU_SCALEALPHA};\n float scale = ${v3.backend_util.SELU_SCALE};\n return (x >= 0.0) ? scale * x : scaleAlpha * (exp(x) - 1.0);\n`}),PEe={kernelName:v3.Selu,backendName:"webgl",kernelFunc:LEe},BEe=sye({opSnippet:rye+"\n return 1.0 / (1.0 + exp(-1.0 * x));\n",packedOpSnippet:"\n vec4 result = 1.0 / (1.0 + exp(-1.0 * x));\n bvec4 isNaN = isnan(x);\n\n result.r = isNaN.r ? x.r : result.r;\n result.g = isNaN.g ? x.g : result.g;\n result.b = isNaN.b ? x.b : result.b;\n result.a = isNaN.a ? x.a : result.a;\n\n return result;\n",cpuKernelImpl:r_e}),$Ee={kernelName:v3.Sigmoid,backendName:"webgl",kernelFunc:BEe},UEe=sye({opSnippet:"\n if (isnan(x)) { return 0.0; }\n return sign(x);\n"}),VEe={kernelName:v3.Sign,backendName:"webgl",kernelFunc:UEe},zEe=sye({opSnippet:rye+"\n return sin(x);\n",packedOpSnippet:`\n vec4 result = sin(x);\n bvec4 isNaN = isnan(x);\n ${H_e}\n return result;\n`}),jEe={kernelName:v3.Sin,backendName:"webgl",kernelFunc:zEe},YEe=sye({opSnippet:"\n float e2x = exp(x);\n return (e2x - 1.0 / e2x) / 2.0;\n"}),GEe={kernelName:v3.Sinh,backendName:"webgl",kernelFunc:YEe},HEe=sye({opSnippet:"\n float epsilon = 1.1920928955078125e-7;\n float threshold = log(epsilon) + 2.0;\n\n bool too_large = x > -threshold;\n bool too_small = x < threshold;\n\n float result;\n float exp_x = exp(x);\n\n if (too_large){\n result = x;\n }\n else if (too_small){\n result = exp_x;\n }\n else{\n result = log(exp_x + 1.0);\n }\n return result;\n"}),WEe={kernelName:v3.Softplus,backendName:"webgl",kernelFunc:HEe},XEe={kernelName:v3.SpaceToBatchND,backendName:"webgl",kernelFunc:e=>{const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{blockShape:s,paddings:o}=i;v3.util.assert(r.shape.length<=4,()=>"spaceToBatchND for rank > 4 with a WebGL backend not implemented yet");const a=s.reduce((e,t)=>e*t),l=[[0,0]];l.push(...o);for(let e=1+s.length;en.disposeIntermediateTensorInfo(e)),g}};const qEe={kernelName:v3.SparseFillEmptyRows,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18025,7 +18025,7 @@ function(e){const{inputs:t,backend:n}=e,{condition:i,t:r,e:s}=t,o=new CEe(i.shap * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{indices:i,values:r,denseShape:s,defaultValue:o}=t;if(1!==s.shape.length)throw new Error(`Dense shape must be a vector, saw:\n ${s.shape}`);if(2!==i.shape.length)throw new Error(`Indices must be a matrix, saw:\n ${i.shape}`);if(1!==r.shape.length)throw new Error(`Values must be a vector, saw:\n ${r.shape}`);if(0!==o.shape.length)throw new Error(`Default value must be a scalar, saw:\n ${o.shape}`);const a=n.readSync(i.dataId),l=n.readSync(r.dataId),u=n.readSync(s.dataId),c=n.readSync(o.dataId)[0],[d,h,p,f,m]=t_e(a,i.shape,i.dtype,l,r.dtype,u,c);return[n.makeTensorInfo(h,i.dtype,d),n.makeTensorInfo([h[0]],r.dtype,p),n.makeTensorInfo([f.length],"bool",new Uint8Array(f.map(e=>Number(e)))),n.makeTensorInfo([m.length],i.dtype,new Int32Array(m))]}};const YEe={kernelName:p3.SparseReshape,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{indices:i,values:r,denseShape:s,defaultValue:o}=t;if(1!==s.shape.length)throw new Error(`Dense shape must be a vector, saw:\n ${s.shape}`);if(2!==i.shape.length)throw new Error(`Indices must be a matrix, saw:\n ${i.shape}`);if(1!==r.shape.length)throw new Error(`Values must be a vector, saw:\n ${r.shape}`);if(0!==o.shape.length)throw new Error(`Default value must be a scalar, saw:\n ${o.shape}`);const a=n.readSync(i.dataId),l=n.readSync(r.dataId),u=n.readSync(s.dataId),c=n.readSync(o.dataId)[0],[d,h,p,f,m]=a_e(a,i.shape,i.dtype,l,r.dtype,u,c);return[n.makeTensorInfo(h,i.dtype,d),n.makeTensorInfo([h[0]],r.dtype,p),n.makeTensorInfo([f.length],"bool",new Uint8Array(f.map(e=>Number(e)))),n.makeTensorInfo([m.length],i.dtype,new Int32Array(m))]}};const KEe={kernelName:v3.SparseReshape,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18042,7 +18042,7 @@ function(e){const{inputs:t,backend:n}=e,{indices:i,values:r,denseShape:s,default * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{inputIndices:i,inputShape:r,newShape:s}=t;if(2!==i.shape.length)throw new Error(`Input indices should be a matrix but received shape ${i.shape}`);if(1!==r.shape.length)throw new Error(`Input shape should be a vector but received shape ${r.shape}`);if(1!==s.shape.length)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);const o=Array.from(n.readSync(r.dataId)),a=n.readSync(i.dataId),l=Array.from(n.readSync(s.dataId)),[u,c,d]=n_e(a,i.shape,i.dtype,o,l);return[n.makeTensorInfo(c,i.dtype,u),n.makeTensorInfo([d.length],s.dtype,new Int32Array(d))]}};const GEe={kernelName:p3.SparseSegmentMean,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{inputIndices:i,inputShape:r,newShape:s}=t;if(2!==i.shape.length)throw new Error(`Input indices should be a matrix but received shape ${i.shape}`);if(1!==r.shape.length)throw new Error(`Input shape should be a vector but received shape ${r.shape}`);if(1!==s.shape.length)throw new Error(`Target shape should be a vector but received shape ${s.shape}`);const o=Array.from(n.readSync(r.dataId)),a=n.readSync(i.dataId),l=Array.from(n.readSync(s.dataId)),[u,c,d]=l_e(a,i.shape,i.dtype,o,l);return[n.makeTensorInfo(c,i.dtype,u),n.makeTensorInfo([d.length],s.dtype,new Int32Array(d))]}};const ZEe={kernelName:v3.SparseSegmentMean,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18059,7 +18059,7 @@ function(e){const{inputs:t,backend:n}=e,{inputIndices:i,inputShape:r,newShape:s} * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==r.shape.length)throw new Error(`Indices should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);const o=n.readSync(i.dataId),a=n.readSync(r.dataId),l=n.readSync(s.dataId),[u,c]=i_e(o,i.shape,i.dtype,a,l,!0);return n.makeTensorInfo(c,i.dtype,u)}};const HEe={kernelName:p3.SparseSegmentSum,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==r.shape.length)throw new Error(`Indices should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);const o=n.readSync(i.dataId),a=n.readSync(r.dataId),l=n.readSync(s.dataId),[u,c]=u_e(o,i.shape,i.dtype,a,l,!0);return n.makeTensorInfo(c,i.dtype,u)}};const QEe={kernelName:v3.SparseSegmentSum,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18076,7 +18076,7 @@ function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.s * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==r.shape.length)throw new Error(`Indices should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);const o=n.readSync(i.dataId),a=n.readSync(r.dataId),l=n.readSync(s.dataId),[u,c]=i_e(o,i.shape,i.dtype,a,l);return n.makeTensorInfo(c,i.dtype,u)}};const WEe={kernelName:p3.SparseToDense,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.shape.length<1)throw new Error("Data should be at least 1 dimensional but received scalar");if(1!==r.shape.length)throw new Error(`Indices should be a vector but received shape\n ${r.shape}`);if(1!==s.shape.length)throw new Error(`Segment ids should be a vector but received shape\n ${s.shape}`);const o=n.readSync(i.dataId),a=n.readSync(r.dataId),l=n.readSync(s.dataId),[u,c]=u_e(o,i.shape,i.dtype,a,l);return n.makeTensorInfo(c,i.dtype,u)}};const JEe={kernelName:v3.SparseToDense,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18093,7 +18093,7 @@ function(e){const{inputs:t,backend:n}=e,{data:i,indices:r,segmentIds:s}=t;if(i.s * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{sparseIndices:r,sparseValues:s,defaultValue:o}=t,{outputShape:a}=i,{sliceRank:l,numUpdates:u,sliceSize:c,strides:d,outputSize:h}=p3.backend_util.calculateShapes(s,r,a),p=!1;if("string"===s.dtype){const e=n.bufferSync(r),t=n.bufferSync(s),i=p3.util.decodeString(n.readSync(o.dataId)[0]),f=Zge(e,t,a,h,c,u,l,d,i,p);return n.makeTensorInfo(a,f.dtype,f.values)}const f=new EEe(u,l,r.shape.length,s.shape.length,d,[h,1],p),m=n.runWebGLProgram(f,[s,r,o],s.dtype),g=uye({inputs:{x:m},backend:n,attrs:{shape:a}});return n.disposeIntermediateTensorInfo(m),g}};const XEe={kernelName:p3.SplitV,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{sparseIndices:r,sparseValues:s,defaultValue:o}=t,{outputShape:a}=i,{sliceRank:l,numUpdates:u,sliceSize:c,strides:d,outputSize:h}=v3.backend_util.calculateShapes(s,r,a),p=!1;if("string"===s.dtype){const e=n.bufferSync(r),t=n.bufferSync(s),i=v3.util.decodeString(n.readSync(o.dataId)[0]),f=i_e(e,t,a,h,c,u,l,d,i,p);return n.makeTensorInfo(a,f.dtype,f.values)}const f=new OEe(u,l,r.shape.length,s.shape.length,d,[h,1],p),m=n.runWebGLProgram(f,[s,r,o],s.dtype),g=mye({inputs:{x:m},backend:n,attrs:{shape:a}});return n.disposeIntermediateTensorInfo(m),g}};const ewe={kernelName:v3.SplitV,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18110,7 +18110,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{sparseIndices:r,sparseValues:s, * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{numOrSizeSplits:s,axis:o}=i,a=p3.util.parseAxisParam(o,r.shape)[0],l=p3.backend_util.prepareSplitSize(r,s,a),u=r.shape.length,c=new Array(u).fill(0),d=r.shape.slice();return l.map(e=>{const t=[...d];t[a]=e;const i=mve({inputs:{x:r},backend:n,attrs:{begin:c,size:t}});return c[a]+=e,i})}},qEe="return sqrt(x);",KEe=J_e({opSnippet:qEe,packedOpSnippet:qEe,cpuKernelImpl:r_e}),ZEe={kernelName:p3.Sqrt,backendName:"webgl",kernelFunc:KEe},QEe=J_e({opSnippet:"return x * x;"}),JEe={kernelName:p3.Square,backendName:"webgl",kernelFunc:QEe},ewe="return (a - b) * (a - b);",twe=eye({opSnippet:ewe,packedOpSnippet:ewe}),nwe={kernelName:p3.SquaredDifference,backendName:"webgl",kernelFunc:twe};const iwe={kernelName:p3.StaticRegexReplace,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{numOrSizeSplits:s,axis:o}=i,a=v3.util.parseAxisParam(o,r.shape)[0],l=v3.backend_util.prepareSplitSize(r,s,a),u=r.shape.length,c=new Array(u).fill(0),d=r.shape.slice();return l.map(e=>{const t=[...d];t[a]=e;const i=Tve({inputs:{x:r},backend:n,attrs:{begin:c,size:t}});return c[a]+=e,i})}},twe="return sqrt(x);",nwe=sye({opSnippet:twe,packedOpSnippet:twe,cpuKernelImpl:c_e}),iwe={kernelName:v3.Sqrt,backendName:"webgl",kernelFunc:nwe},rwe=sye({opSnippet:"return x * x;"}),swe={kernelName:v3.Square,backendName:"webgl",kernelFunc:rwe},owe="return (a - b) * (a - b);",awe=oye({opSnippet:owe,packedOpSnippet:owe}),lwe={kernelName:v3.SquaredDifference,backendName:"webgl",kernelFunc:awe};const uwe={kernelName:v3.StaticRegexReplace,backendName:"webgl",kernelFunc: /** * @license * Copyright 2023 Google LLC. @@ -18127,7 +18127,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{numOrSizeSplits:s,axis: * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;if("string"!==r.dtype)throw new Error("Input must be of datatype string");const s=n.readSync(r.dataId),o=p3.backend_util.fromUint8ToStringArray(s),a=s_e(o,"string",i);return n.makeTensorInfo(r.shape,"string",a)}};const rwe={kernelName:p3.Step,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;if("string"!==r.dtype)throw new Error("Input must be of datatype string");const s=n.readSync(r.dataId),o=v3.backend_util.fromUint8ToStringArray(s),a=d_e(o,"string",i);return n.makeTensorInfo(r.shape,"string",a)}};const cwe={kernelName:v3.Step,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18144,7 +18144,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t;if("string"!==r.dtype)th * limitations under the License. * ============================================================================= */ -function({inputs:e,attrs:t,backend:n}){const{x:i}=e,r=w_e+`\n return x > 0.0 ? 1.0 : float(${t.alpha});\n `,s=new E_e(i.shape,r);return n.runWebGLProgram(s,[i],i.dtype)}}; +function({inputs:e,attrs:t,backend:n}){const{x:i}=e,r=M_e+`\n return x > 0.0 ? 1.0 : float(${t.alpha});\n `,s=new O_e(i.shape,r);return n.runWebGLProgram(s,[i],i.dtype)}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -18161,7 +18161,7 @@ function({inputs:e,attrs:t,backend:n}){const{x:i}=e,r=w_e+`\n return x > 0.0 * limitations under the License. * ============================================================================= */ -class swe{constructor(e,t,n){this.variableNames=["x"],this.outputShape=n;const i=n.length,r=Pme(n.length),s=Pme(n.length);let o="";if(1===i)o="coords * strides + begin";else{let e=0;o=n.map((t,i)=>(e++,1===n.length?`coords * strides[${i}] + begin[${i}]`:`coords[${e-1}] * strides[${i}] + begin[${i}]`)).join(",")}this.userCode=`\n ${r} begin = ${r}(${e});\n ${r} strides = ${r}(${t});\n\n void main() {\n ${s} coords = getOutputCoords();\n setOutput(getX(${o}));\n }\n `}}const owe={kernelName:p3.StridedSlice,backendName:"webgl",kernelFunc: +class dwe{constructor(e,t,n){this.variableNames=["x"],this.outputShape=n;const i=n.length,r=jme(n.length),s=jme(n.length);let o="";if(1===i)o="coords * strides + begin";else{let e=0;o=n.map((t,i)=>(e++,1===n.length?`coords * strides[${i}] + begin[${i}]`:`coords[${e-1}] * strides[${i}] + begin[${i}]`)).join(",")}this.userCode=`\n ${r} begin = ${r}(${e});\n ${r} strides = ${r}(${t});\n\n void main() {\n ${s} coords = getOutputCoords();\n setOutput(getX(${o}));\n }\n `}}const hwe={kernelName:v3.StridedSlice,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18178,7 +18178,7 @@ class swe{constructor(e,t,n){this.variableNames=["x"],this.outputShape=n;const i * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,end:o,strides:a,beginMask:l,endMask:u,ellipsisMask:c,newAxisMask:d,shrinkAxisMask:h}=i,{finalShapeSparse:p,finalShape:f,isIdentity:m,sliceDim0:g,isSimpleSlice:_,begin:y,end:v,strides:b}=p3.slice_util.sliceInfo(r.shape,s,o,a,l,u,c,d,h);let T;if(m)T=uye({inputs:{x:r},backend:n,attrs:{shape:f}});else if(g||_){p3.util.assert(r.shape.length>=1,()=>`Input must have rank at least 1, got: ${r.shape.length}`);const e=p3.slice_util.computeOutShape(y,v,b),t=mve({inputs:{x:r},backend:n,attrs:{begin:y,size:e}});T=uye({inputs:{x:t},backend:n,attrs:{shape:f}}),n.disposeIntermediateTensorInfo(t)}else{if(n.shouldExecuteOnCPU([r])){const e=n.readSync(r.dataId),t=(0,p3.buffer)(r.shape,r.dtype,e),i=o_e(p,t,b,y);T=n.makeTensorInfo(f,r.dtype,i.values)}else{const e=new swe(y,b,p);T=n.runWebGLProgram(e,[r],r.dtype)}}const x=uye({inputs:{x:T},backend:n,attrs:{shape:f}});return n.disposeIntermediateTensorInfo(T),x}};const awe={kernelName:p3.StringNGrams,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,end:o,strides:a,beginMask:l,endMask:u,ellipsisMask:c,newAxisMask:d,shrinkAxisMask:h}=i,{finalShapeSparse:p,finalShape:f,isIdentity:m,sliceDim0:g,isSimpleSlice:_,begin:y,end:v,strides:b}=v3.slice_util.sliceInfo(r.shape,s,o,a,l,u,c,d,h);let T;if(m)T=mye({inputs:{x:r},backend:n,attrs:{shape:f}});else if(g||_){v3.util.assert(r.shape.length>=1,()=>`Input must have rank at least 1, got: ${r.shape.length}`);const e=v3.slice_util.computeOutShape(y,v,b),t=Tve({inputs:{x:r},backend:n,attrs:{begin:y,size:e}});T=mye({inputs:{x:t},backend:n,attrs:{shape:f}}),n.disposeIntermediateTensorInfo(t)}else{if(n.shouldExecuteOnCPU([r])){const e=n.readSync(r.dataId),t=(0,v3.buffer)(r.shape,r.dtype,e),i=h_e(p,t,b,y);T=n.makeTensorInfo(f,r.dtype,i.values)}else{const e=new dwe(y,b,p);T=n.runWebGLProgram(e,[r],r.dtype)}}const x=mye({inputs:{x:T},backend:n,attrs:{shape:f}});return n.disposeIntermediateTensorInfo(T),x}};const pwe={kernelName:v3.StringNGrams,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18195,7 +18195,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{begin:s,end:o,strides:a * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{separator:r,nGramWidths:s,leftPad:o,rightPad:a,padWidth:l,preserveShortSequences:u}=i,{data:c,dataSplits:d}=t,h=n.readSync(c.dataId),p=n.readSync(d.dataId),[f,m]=a_e(h,p,r,s,o,a,l,u);return[n.makeTensorInfo([f.length],"string",f),n.makeTensorInfo(d.shape,"int32",m)]}};const lwe={kernelName:p3.StringSplit,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{separator:r,nGramWidths:s,leftPad:o,rightPad:a,padWidth:l,preserveShortSequences:u}=i,{data:c,dataSplits:d}=t,h=n.readSync(c.dataId),p=n.readSync(d.dataId),[f,m]=p_e(h,p,r,s,o,a,l,u);return[n.makeTensorInfo([f.length],"string",f),n.makeTensorInfo(d.shape,"int32",m)]}};const fwe={kernelName:v3.StringSplit,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18212,7 +18212,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{separator:r,nGramWidths:s,leftP * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{skipEmpty:r}=i,{input:s,delimiter:o}=t;if("string"!==s.dtype)throw new Error("Input must be of datatype string");if(1!==s.shape.length)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(0!==o.shape.length)throw new Error(`Delimiter must be a scalar, got shape: ${o.shape}`);const a=n.readSync(s.dataId),l=n.readSync(o.dataId)[0],[u,c,d]=l_e(a,l,r),h=c.length;return[n.makeTensorInfo([h,2],"int32",u),n.makeTensorInfo([h],"string",c),n.makeTensorInfo([2],"int32",new Int32Array(d))]}};const uwe={kernelName:p3.StringToHashBucketFast,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{skipEmpty:r}=i,{input:s,delimiter:o}=t;if("string"!==s.dtype)throw new Error("Input must be of datatype string");if(1!==s.shape.length)throw new Error(`Input must be a vector, got shape: ${s.shape}`);if(0!==o.shape.length)throw new Error(`Delimiter must be a scalar, got shape: ${o.shape}`);const a=n.readSync(s.dataId),l=n.readSync(o.dataId)[0],[u,c,d]=f_e(a,l,r),h=c.length;return[n.makeTensorInfo([h,2],"int32",u),n.makeTensorInfo([h],"string",c),n.makeTensorInfo([2],"int32",new Int32Array(d))]}};const mwe={kernelName:v3.StringToHashBucketFast,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18229,7 +18229,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{skipEmpty:r}=i,{input:s,delimit * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{numBuckets:r}=i,{input:s}=t;if("string"!==s.dtype)throw new Error("Input must be of datatype string");if(r<=0)throw new Error("Number of buckets must be at least 1");const o=n.readSync(s.dataId),a=u_e(o,r);return n.makeTensorInfo(s.shape,"int32",a)}},cwe=J_e({opSnippet:"return tan(x);"}),dwe={kernelName:p3.Tan,backendName:"webgl",kernelFunc:cwe},hwe=J_e({opSnippet:"\n float e2x = exp(-2.0 * abs(x));\n return sign(x) * (1.0 - e2x) / (1.0 + e2x);\n"}),pwe={kernelName:p3.Tanh,backendName:"webgl",kernelFunc:hwe};const fwe={kernelName:p3.TensorScatterUpdate,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{numBuckets:r}=i,{input:s}=t;if("string"!==s.dtype)throw new Error("Input must be of datatype string");if(r<=0)throw new Error("Number of buckets must be at least 1");const o=n.readSync(s.dataId),a=m_e(o,r);return n.makeTensorInfo(s.shape,"int32",a)}},gwe=sye({opSnippet:"return tan(x);"}),_we={kernelName:v3.Tan,backendName:"webgl",kernelFunc:gwe},ywe=sye({opSnippet:"\n float e2x = exp(-2.0 * abs(x));\n return sign(x) * (1.0 - e2x) / (1.0 + e2x);\n"}),vwe={kernelName:v3.Tanh,backendName:"webgl",kernelFunc:ywe};const bwe={kernelName:v3.TensorScatterUpdate,backendName:"webgl",kernelFunc: /** * @license * Copyright 2022 Google LLC. All Rights Reserved. @@ -18246,7 +18246,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{numBuckets:r}=i,{input:s}=t;if( * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{tensor:r,indices:s,updates:o}=t,{}=i,{sliceRank:a,numUpdates:l,sliceSize:u,strides:c,outputSize:d}=p3.backend_util.calculateShapes(o,s,r.shape),h=[d/u,u];if(0===d)return n.makeTensorInfo(r.shape,s.dtype);const p=uye({inputs:{x:s},backend:n,attrs:{shape:[l,a]}}),f=uye({inputs:{x:o},backend:n,attrs:{shape:[l,u]}}),m=uye({inputs:{x:r},backend:n,attrs:{shape:h}}),g=new EEe(l,a,p.shape.length,f.shape.length,c,h,!1,!0),_=n.runWebGLProgram(g,[f,p,m],m.dtype),y=uye({inputs:{x:_},backend:n,attrs:{shape:r.shape}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),n.disposeIntermediateTensorInfo(_),y}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{tensor:r,indices:s,updates:o}=t,{}=i,{sliceRank:a,numUpdates:l,sliceSize:u,strides:c,outputSize:d}=v3.backend_util.calculateShapes(o,s,r.shape),h=[d/u,u];if(0===d)return n.makeTensorInfo(r.shape,s.dtype);const p=mye({inputs:{x:s},backend:n,attrs:{shape:[l,a]}}),f=mye({inputs:{x:o},backend:n,attrs:{shape:[l,u]}}),m=mye({inputs:{x:r},backend:n,attrs:{shape:h}}),g=new OEe(l,a,p.shape.length,f.shape.length,c,h,!1,!0),_=n.runWebGLProgram(g,[f,p,m],m.dtype),y=mye({inputs:{x:_},backend:n,attrs:{shape:r.shape}});return n.disposeIntermediateTensorInfo(p),n.disposeIntermediateTensorInfo(f),n.disposeIntermediateTensorInfo(m),n.disposeIntermediateTensorInfo(_),y}}; /** * @license * Copyright 2017 Google LLC. All Rights Reserved. @@ -18263,7 +18263,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{tensor:r,indices:s,updates:o}=t * limitations under the License. * ============================================================================= */ -class mwe{constructor(e,t){this.variableNames=["A"];const n=new Array(e.length);for(let i=0;i5)throw Error(`Tile for rank ${t} is not yet supported`);if(1===t)return`imod(resRC, ${e[0]})`;const n=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u"],i=[];for(let t=0;t5)throw Error(`Tile for rank ${t} is not yet supported`);if(1===t)return`imod(resRC, ${e[0]})`;const n=["resRC.x","resRC.y","resRC.z","resRC.w","resRC.u"],i=[];for(let t=0;t5){const e=n.readSync(r.dataId),t="string"===r.dtype?e.map(e=>p3.util.decodeString(e)):e,i=(0,p3.buffer)(r.shape,r.dtype,t),o=d_e(i,s);return n.makeTensorInfo(o.shape,o.dtype,o.values)}const o=new mwe(r.shape,s);return n.runWebGLProgram(o,[r],r.dtype)}const _we={kernelName:p3.Tile,backendName:"webgl",kernelFunc:gwe};class ywe{constructor(e){this.variableNames=["x","indices"],this.customUniforms=[{name:"n",type:"int"},{name:"firstPass",type:"int"},{name:"negativeInf",type:"float"},{name:"dir",type:"int"},{name:"inc",type:"int"}],this.outputShape=e,this.userCode="\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // We compare elements pair-wise within a group of size 2 * inc.\n // The comparing rule for each group alternates between ascending\n // and descending. Within each group, we compare each pair at\n // positions i and i+inc. To decide whether an element at position i\n // is x0 or x1, we mod it by 2 * inc, if the result is smaller than\n // inc, it is in the first half of the group, we denote it as x0,\n // otherwise we denote it as x1.\n // For example, as shown in the Bitonic top K paper referenced above,\n // Figure5(a) shows that element[1] is in the\n // second half of the group when group size is 2, but it is in the\n // first half of the group when group size is 4.\n\n bool isFirstInPair = imod(elemIdx, 2 * inc) < inc;\n int i = isFirstInPair ? elemIdx : elemIdx - inc;\n\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + inc : int(getIndices(batch, i + inc));\n float x0 = i0 < n ? getX(batch, i0) : negativeInf;\n float x1 = i1 < n ? getX(batch, i1) : negativeInf;\n\n // Denotes which direction indices are in (ascending or descending).\n bool reverse = imod(elemIdx, 2 * dir) >= dir;\n bool isGreater = x0 > x1 || (x0 == x1 && i1 > i0);\n if (reverse == isGreater) { // Elements in opposite order of direction\n int iTemp = i0;\n i0 = i1;\n i1 = iTemp;\n }\n if (isFirstInPair) {\n setOutput(float(i0));\n } else {\n setOutput(float(i1));\n }\n }\n "}}class vwe{constructor(e){this.variableNames=["x","indices"],this.customUniforms=[{name:"n",type:"int"},{name:"firstPass",type:"int"},{name:"k",type:"int"}],this.outputShape=e,this.userCode="\n void main() {\n // Takes max of indices (0, k), (1, k + 1), (2, k + 2) ...\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // The output size is half of the previous size.\n // If the previous sequence is | | | | _ _ _ _ | | | | _ _ _ _ (k=4),\n // we only need to output the indices at positions |, the indices at\n // positions _ can be thrown away, see Figure5(b) After Phase 2\n // (Merge phase) in the Bitonic Top K paper referenced above.\n // For example, the paper shows we only need to output the orange bars.\n // The output sequence should look like this | | | | | | | |.\n // Because the sequence is halved, to map the output index back\n // to the previous sequence to find the corresponding value,\n // we need to double the index. When we double the index,\n // we basically interpolate a position, so 2i looks like\n // | _ | _ | _ | _ | _ | _ | _. We move the | to the first k position\n // of each 2k positions by - elemIdx % k. E.g. for output at\n // index 4,5,6,7, we want to get the corresponding element at\n // original index 8,9,10,11, for output at index 8,9,10,11,\n // we want to get the corresponding element at original index\n // 16,17,18,19, so on and so forth.\n\n int i = elemIdx < k ? elemIdx : (elemIdx * 2 - imod(elemIdx, k));\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + k : int(getIndices(batch, i + k));\n\n float x0 = getX(batch, i0);\n float x1 = i1 < n ? getX(batch, i1) : x0;\n\n setOutput(x0 >= x1 ? float(i0) : float(i1));\n }\n "}} +function xwe(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{reps:s}=i;if("string"===r.dtype||r.shape.length>5){const e=n.readSync(r.dataId),t="string"===r.dtype?e.map(e=>v3.util.decodeString(e)):e,i=(0,v3.buffer)(r.shape,r.dtype,t),o=__e(i,s);return n.makeTensorInfo(o.shape,o.dtype,o.values)}const o=new Twe(r.shape,s);return n.runWebGLProgram(o,[r],r.dtype)}const Ewe={kernelName:v3.Tile,backendName:"webgl",kernelFunc:xwe};class wwe{constructor(e){this.variableNames=["x","indices"],this.customUniforms=[{name:"n",type:"int"},{name:"firstPass",type:"int"},{name:"negativeInf",type:"float"},{name:"dir",type:"int"},{name:"inc",type:"int"}],this.outputShape=e,this.userCode="\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // We compare elements pair-wise within a group of size 2 * inc.\n // The comparing rule for each group alternates between ascending\n // and descending. Within each group, we compare each pair at\n // positions i and i+inc. To decide whether an element at position i\n // is x0 or x1, we mod it by 2 * inc, if the result is smaller than\n // inc, it is in the first half of the group, we denote it as x0,\n // otherwise we denote it as x1.\n // For example, as shown in the Bitonic top K paper referenced above,\n // Figure5(a) shows that element[1] is in the\n // second half of the group when group size is 2, but it is in the\n // first half of the group when group size is 4.\n\n bool isFirstInPair = imod(elemIdx, 2 * inc) < inc;\n int i = isFirstInPair ? elemIdx : elemIdx - inc;\n\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + inc : int(getIndices(batch, i + inc));\n float x0 = i0 < n ? getX(batch, i0) : negativeInf;\n float x1 = i1 < n ? getX(batch, i1) : negativeInf;\n\n // Denotes which direction indices are in (ascending or descending).\n bool reverse = imod(elemIdx, 2 * dir) >= dir;\n bool isGreater = x0 > x1 || (x0 == x1 && i1 > i0);\n if (reverse == isGreater) { // Elements in opposite order of direction\n int iTemp = i0;\n i0 = i1;\n i1 = iTemp;\n }\n if (isFirstInPair) {\n setOutput(float(i0));\n } else {\n setOutput(float(i1));\n }\n }\n "}}class Iwe{constructor(e){this.variableNames=["x","indices"],this.customUniforms=[{name:"n",type:"int"},{name:"firstPass",type:"int"},{name:"k",type:"int"}],this.outputShape=e,this.userCode="\n void main() {\n // Takes max of indices (0, k), (1, k + 1), (2, k + 2) ...\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int elemIdx = coords[1];\n\n // The output size is half of the previous size.\n // If the previous sequence is | | | | _ _ _ _ | | | | _ _ _ _ (k=4),\n // we only need to output the indices at positions |, the indices at\n // positions _ can be thrown away, see Figure5(b) After Phase 2\n // (Merge phase) in the Bitonic Top K paper referenced above.\n // For example, the paper shows we only need to output the orange bars.\n // The output sequence should look like this | | | | | | | |.\n // Because the sequence is halved, to map the output index back\n // to the previous sequence to find the corresponding value,\n // we need to double the index. When we double the index,\n // we basically interpolate a position, so 2i looks like\n // | _ | _ | _ | _ | _ | _ | _. We move the | to the first k position\n // of each 2k positions by - elemIdx % k. E.g. for output at\n // index 4,5,6,7, we want to get the corresponding element at\n // original index 8,9,10,11, for output at index 8,9,10,11,\n // we want to get the corresponding element at original index\n // 16,17,18,19, so on and so forth.\n\n int i = elemIdx < k ? elemIdx : (elemIdx * 2 - imod(elemIdx, k));\n int i0 = firstPass == 1 ? i : int(getIndices(batch, i));\n int i1 = firstPass == 1 ? i + k : int(getIndices(batch, i + k));\n\n float x0 = getX(batch, i0);\n float x1 = i1 < n ? getX(batch, i1) : x0;\n\n setOutput(x0 >= x1 ? float(i0) : float(i1));\n }\n "}} /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18297,7 +18297,7 @@ function gwe(e){const{inputs:t,backend:n,attrs:i}=e,{x:r}=t,{reps:s}=i;if("strin * limitations under the License. * ============================================================================= */ -function bwe(e,t){null!==t&&e.disposeIntermediateTensorInfo(t)}function Twe(e){let t=1;for(;tl){const e=n.readSync(r.dataId),[t,i]=h_e(e,u,r.dtype,s,o);return[n.makeTensorInfo(t.shape,t.dtype,t.values),n.makeTensorInfo(i.shape,i.dtype,i.values)]}if(0===s)return u[u.length-1]=0,[n.makeTensorInfo(u,r.dtype,[]),n.makeTensorInfo(u,"int32",[])];if(1===c)return[r,Jbe({attrs:{shape:u,dtype:"int32",value:0},backend:n})];const d=n.texData.get(r.dataId),h=null!==d&&d.isPacked,p=h?n.unpackTensor(r):r,f=p3.util.sizeFromShape(u)/c,m=uye({inputs:{x:p},attrs:{shape:[f,c]},backend:n});h&&bwe(n,p);const g=Twe(s),_=Twe(c);let y=null;const v=()=>null===y?[m,m]:[m,y],b=(e,t,i)=>{const r=v(),s=new ywe(i),o=[[c],[null===y?1:0],[Number.NEGATIVE_INFINITY],[e],[t]],a=y;y=n.runWebGLProgram(s,r,"int32",o),bwe(n,a)};for(let e=1;e=1;n/=2)b(t,n,[f,_])}for(let e=_;e>g;e/=2){const t=v(),i=new vwe([f,e/2]),r=[[c],[null===y?1:0],[g]],s=y;y=n.runWebGLProgram(i,t,"int32",r),bwe(n,s);const o=g/2,a=2*o;for(let e=o;e>=1;e/=2)b(a,e,y.shape)}let T=y;y=mve({inputs:{x:y},backend:n,attrs:{begin:0,size:[f,s]}}),bwe(n,T);let x=yTe({inputs:{x:m,indices:y},backend:n,attrs:{axis:1,batchDims:1}});bwe(n,m);const E=u.slice(0,-1);E.push(s),T=y,y=uye({inputs:{x:y},attrs:{shape:E},backend:n}),bwe(n,T);const w=x;return x=uye({inputs:{x},attrs:{shape:E},backend:n}),bwe(n,w),[x,y]}}; +function Awe(e,t){null!==t&&e.disposeIntermediateTensorInfo(t)}function Swe(e){let t=1;for(;tl){const e=n.readSync(r.dataId),[t,i]=y_e(e,u,r.dtype,s,o);return[n.makeTensorInfo(t.shape,t.dtype,t.values),n.makeTensorInfo(i.shape,i.dtype,i.values)]}if(0===s)return u[u.length-1]=0,[n.makeTensorInfo(u,r.dtype,[]),n.makeTensorInfo(u,"int32",[])];if(1===c)return[r,sTe({attrs:{shape:u,dtype:"int32",value:0},backend:n})];const d=n.texData.get(r.dataId),h=null!==d&&d.isPacked,p=h?n.unpackTensor(r):r,f=v3.util.sizeFromShape(u)/c,m=mye({inputs:{x:p},attrs:{shape:[f,c]},backend:n});h&&Awe(n,p);const g=Swe(s),_=Swe(c);let y=null;const v=()=>null===y?[m,m]:[m,y],b=(e,t,i)=>{const r=v(),s=new wwe(i),o=[[c],[null===y?1:0],[Number.NEGATIVE_INFINITY],[e],[t]],a=y;y=n.runWebGLProgram(s,r,"int32",o),Awe(n,a)};for(let e=1;e=1;n/=2)b(t,n,[f,_])}for(let e=_;e>g;e/=2){const t=v(),i=new Iwe([f,e/2]),r=[[c],[null===y?1:0],[g]],s=y;y=n.runWebGLProgram(i,t,"int32",r),Awe(n,s);const o=g/2,a=2*o;for(let e=o;e>=1;e/=2)b(a,e,y.shape)}let T=y;y=Tve({inputs:{x:y},backend:n,attrs:{begin:0,size:[f,s]}}),Awe(n,T);let x=wTe({inputs:{x:m,indices:y},backend:n,attrs:{axis:1,batchDims:1}});Awe(n,m);const E=u.slice(0,-1);E.push(s),T=y,y=mye({inputs:{x:y},attrs:{shape:E},backend:n}),Awe(n,T);const w=x;return x=mye({inputs:{x},attrs:{shape:E},backend:n}),Awe(n,w),[x,y]}}; /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18314,7 +18314,7 @@ function bwe(e,t){null!==t&&e.disposeIntermediateTensorInfo(t)}function Twe(e){l * limitations under the License. * ============================================================================= */ -class Ewe{constructor(e,t,n,i,r,s){this.variableNames=["Image","Transforms"],this.outputShape=s;const o="nearest"===n?1:2;let a;switch(i){case"constant":default:a=1;break;case"reflect":a=2;break;case"wrap":a=3;break;case"nearest":a=4}this.userCode=`\n float mapCoord(float outCoord, float len) {\n float inCoord = outCoord;\n if(${a} == 2) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n if (inCoord < sz2) {\n inCoord = sz2 * float(int(float(-inCoord / sz2))) +\n inCoord;\n }\n inCoord = inCoord < -len ? inCoord + sz2 : -inCoord - 1.0;\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n inCoord -= sz2 * float(int(float(inCoord / sz2)));\n if (inCoord >= len) {\n inCoord = sz2 - inCoord - 1.0;\n }\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${a} == 3) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord += len * (float(int(float(-inCoord / sz))) + 1.0);\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord -= len * float(int(float(inCoord / sz)));\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${a} == 4) {\n return clamp(outCoord, 0.0, len - 1.0);\n } else {\n return outCoord;\n }\n }\n\n float readWithFillValue(int batch, int coordY, int coordX,\n int channel) {\n float outputValue;\n if (0 <= coordY && coordY < ${e} && 0 <= coordX && coordX < ${t}) {\n outputValue = getImage(batch, coordY, coordX, channel);\n } else {\n outputValue = float(${r});\n }\n return outputValue;\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n float outputValue;\n int batch = coords[0];\n int x = coords[2];\n int y = coords[1];\n int channel = coords[3];\n float xf = float(x);\n float yf = float(y);\n float a1 = getTransforms(batch, 0);\n float a2 = getTransforms(batch, 1);\n float a3 = getTransforms(batch, 2);\n float b1 = getTransforms(batch, 3);\n float b2 = getTransforms(batch, 4);\n float b3 = getTransforms(batch, 5);\n float c1 = getTransforms(batch, 6);\n float c2 = getTransforms(batch, 7);\n float projection = c1 * xf + c2 * yf + 1.0;\n if (projection == 0.0) {\n outputValue = float(${r});\n } else {\n float inX = (a1 * xf + a2 * yf + a3) / projection;\n float inY = (b1 * xf + b2 * yf + b3) / projection;\n float mapX = mapCoord(inX, float(${t}));\n float mapY = mapCoord(inY, float(${e}));\n\n if (${o} == 1) {\n int coordY = int(round(mapY));\n int coordX = int(round(mapX));\n outputValue = readWithFillValue(batch, coordY, coordX,\n channel);\n } else {\n float yFloor = floor(mapY);\n float xFloor = floor(mapX);\n float yCeil = yFloor + 1.0;\n float xCeil = xFloor + 1.0;\n float valueYFloor = (xCeil - mapX) *\n readWithFillValue(batch, int(yFloor), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yFloor), int(xCeil), channel);\n float valueYCeil = (xCeil - mapX) *\n readWithFillValue(batch, int(yCeil), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yCeil), int(xCeil), channel);\n outputValue = (yCeil - mapY) * valueYFloor +\n (mapY - yFloor) * valueYCeil;\n }\n }\n setOutput(outputValue);\n }\n `}}const wwe={kernelName:p3.Transform,backendName:"webgl",kernelFunc: +class Owe{constructor(e,t,n,i,r,s){this.variableNames=["Image","Transforms"],this.outputShape=s;const o="nearest"===n?1:2;let a;switch(i){case"constant":default:a=1;break;case"reflect":a=2;break;case"wrap":a=3;break;case"nearest":a=4}this.userCode=`\n float mapCoord(float outCoord, float len) {\n float inCoord = outCoord;\n if(${a} == 2) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n if (inCoord < sz2) {\n inCoord = sz2 * float(int(float(-inCoord / sz2))) +\n inCoord;\n }\n inCoord = inCoord < -len ? inCoord + sz2 : -inCoord - 1.0;\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz2 = 2.0 * len;\n inCoord -= sz2 * float(int(float(inCoord / sz2)));\n if (inCoord >= len) {\n inCoord = sz2 - inCoord - 1.0;\n }\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${a} == 3) {\n if (inCoord < 0.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord += len * (float(int(float(-inCoord / sz))) + 1.0);\n }\n } else if (inCoord > len - 1.0) {\n if (len <= 1.0) {\n inCoord = 0.0;\n } else {\n float sz = len - 1.0;\n inCoord -= len * float(int(float(inCoord / sz)));\n }\n }\n return clamp(inCoord, 0.0, len - 1.0);\n } else if (${a} == 4) {\n return clamp(outCoord, 0.0, len - 1.0);\n } else {\n return outCoord;\n }\n }\n\n float readWithFillValue(int batch, int coordY, int coordX,\n int channel) {\n float outputValue;\n if (0 <= coordY && coordY < ${e} && 0 <= coordX && coordX < ${t}) {\n outputValue = getImage(batch, coordY, coordX, channel);\n } else {\n outputValue = float(${r});\n }\n return outputValue;\n }\n\n void main() {\n ivec4 coords = getOutputCoords();\n float outputValue;\n int batch = coords[0];\n int x = coords[2];\n int y = coords[1];\n int channel = coords[3];\n float xf = float(x);\n float yf = float(y);\n float a1 = getTransforms(batch, 0);\n float a2 = getTransforms(batch, 1);\n float a3 = getTransforms(batch, 2);\n float b1 = getTransforms(batch, 3);\n float b2 = getTransforms(batch, 4);\n float b3 = getTransforms(batch, 5);\n float c1 = getTransforms(batch, 6);\n float c2 = getTransforms(batch, 7);\n float projection = c1 * xf + c2 * yf + 1.0;\n if (projection == 0.0) {\n outputValue = float(${r});\n } else {\n float inX = (a1 * xf + a2 * yf + a3) / projection;\n float inY = (b1 * xf + b2 * yf + b3) / projection;\n float mapX = mapCoord(inX, float(${t}));\n float mapY = mapCoord(inY, float(${e}));\n\n if (${o} == 1) {\n int coordY = int(round(mapY));\n int coordX = int(round(mapX));\n outputValue = readWithFillValue(batch, coordY, coordX,\n channel);\n } else {\n float yFloor = floor(mapY);\n float xFloor = floor(mapX);\n float yCeil = yFloor + 1.0;\n float xCeil = xFloor + 1.0;\n float valueYFloor = (xCeil - mapX) *\n readWithFillValue(batch, int(yFloor), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yFloor), int(xCeil), channel);\n float valueYCeil = (xCeil - mapX) *\n readWithFillValue(batch, int(yCeil), int(xFloor), channel) +\n (mapX - xFloor) *\n readWithFillValue(batch, int(yCeil), int(xCeil), channel);\n outputValue = (yCeil - mapY) * valueYFloor +\n (mapY - yFloor) * valueYCeil;\n }\n }\n setOutput(outputValue);\n }\n `}}const Mwe={kernelName:v3.Transform,backendName:"webgl",kernelFunc: /** * @license * Copyright 2021 Google LLC. All Rights Reserved. @@ -18331,7 +18331,7 @@ class Ewe{constructor(e,t,n,i,r,s){this.variableNames=["Image","Transforms"],thi * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{image:r,transforms:s}=t,{interpolation:o,fillMode:a,fillValue:l,outputShape:u}=i,[c,d,h,p]=r.shape,[f,m]=null!=u?u:[d,h],g=new Ewe(d,h,o,a,l,[c,f,m,p]);return n.runWebGLProgram(g,[r,s],"float32")}};const Iwe={kernelName:p3.Unique,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,backend:n,attrs:i}=e,{image:r,transforms:s}=t,{interpolation:o,fillMode:a,fillValue:l,outputShape:u}=i,[c,d,h,p]=r.shape,[f,m]=null!=u?u:[d,h],g=new Owe(d,h,o,a,l,[c,f,m,p]);return n.runWebGLProgram(g,[r,s],"float32")}};const kwe={kernelName:v3.Unique,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18348,7 +18348,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{image:r,transforms:s}=t,{interp * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,attrs:n,backend:i}=e,{axis:r}=n,{x:s}=t;yme(s,"unique"),console.warn("WARNING: ","UI might be locked temporarily as data is being downloaded");const o=i.readSync(s.dataId),{outputValues:a,outputShape:l,indices:u}=f_e(o,r,s.shape,s.dtype);return[i.makeTensorInfo(l,s.dtype,a),i.makeTensorInfo([u.length],"int32",u)]}};const Awe={kernelName:p3.Unpack,backendName:"webgl",kernelFunc: +function(e){const{inputs:t,attrs:n,backend:i}=e,{axis:r}=n,{x:s}=t;wme(s,"unique"),console.warn("WARNING: ","UI might be locked temporarily as data is being downloaded");const o=i.readSync(s.dataId),{outputValues:a,outputShape:l,indices:u}=b_e(o,r,s.shape,s.dtype);return[i.makeTensorInfo(l,s.dtype,a),i.makeTensorInfo([u.length],"int32",u)]}};const Rwe={kernelName:v3.Unpack,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18365,7 +18365,7 @@ function(e){const{inputs:t,attrs:n,backend:i}=e,{axis:r}=n,{x:s}=t;yme(s,"unique * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{value:r}=t;let{axis:s}=i;s<0&&(s+=r.shape.length);const o=r,a=o.shape.length,l=r.shape[s],u=new Array(a-1);let c=0;for(let e=0;en.disposeIntermediateTensorInfo(e)),f}}; +function(e){const{inputs:t,backend:n,attrs:i}=e,{value:r}=t;let{axis:s}=i;s<0&&(s+=r.shape.length);const o=r,a=o.shape.length,l=r.shape[s],u=new Array(a-1);let c=0;for(let e=0;en.disposeIntermediateTensorInfo(e)),f}}; /** * @license * Copyright 2018 Google LLC. All Rights Reserved. @@ -18382,7 +18382,7 @@ function(e){const{inputs:t,backend:n,attrs:i}=e,{value:r}=t;let{axis:s}=i;s<0&&( * limitations under the License. * ============================================================================= */ -class Swe{constructor(e,t){this.variableNames=["x","segmentIds"];const n=e.windowSize,i=e.batchSize,r=e.inSize,s=e.numSegments,o=s*Math.ceil(r/n);this.outputShape=[i,o];const a=4*Math.floor(n/4),l=n%4,u="\n sumValue += dot(values, segFilter);\n ";let c="";r%n>0&&(c=`\n if (inIdx < 0 || inIdx >= ${r}) {\n return initializationValue;\n }\n `);let d="";r%n>0&&(d=`\n if (inIdx < 0 || inIdx >= ${r}) {\n return -1.0;\n }\n `),this.userCode=`\n const float initializationValue = 0.0;\n\n float getValue(int batch, int inIdx) {\n ${c}\n return getX(batch, inIdx);\n }\n\n float getSegmentIdAtIndex(int inIdx) {\n ${d}\n return getSegmentIds(inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = int(floor(float(outIdx) / float(\n ${s})) * float(${n}));\n int currentSeg = int(mod(float(outIdx), float(${s})));\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${a}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 3)) == currentSeg ? 1 : 0\n );\n\n ${u}\n }\n\n int inIdx = inOffset + ${a};\n if (${1===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n int inIdxSeg = int(getSegmentIdAtIndex(inIdx));\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n 0,\n 0,\n 0\n );\n\n ${u}\n } else if (${2===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n 0,\n 0\n );\n\n ${u}\n } else if (${3===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n 0\n );\n\n ${u}\n }\n setOutput(sumValue);\n }\n `}}const Cwe={kernelName:p3.UnsortedSegmentSum,backendName:"webgl",kernelFunc: +class Nwe{constructor(e,t){this.variableNames=["x","segmentIds"];const n=e.windowSize,i=e.batchSize,r=e.inSize,s=e.numSegments,o=s*Math.ceil(r/n);this.outputShape=[i,o];const a=4*Math.floor(n/4),l=n%4,u="\n sumValue += dot(values, segFilter);\n ";let c="";r%n>0&&(c=`\n if (inIdx < 0 || inIdx >= ${r}) {\n return initializationValue;\n }\n `);let d="";r%n>0&&(d=`\n if (inIdx < 0 || inIdx >= ${r}) {\n return -1.0;\n }\n `),this.userCode=`\n const float initializationValue = 0.0;\n\n float getValue(int batch, int inIdx) {\n ${c}\n return getX(batch, inIdx);\n }\n\n float getSegmentIdAtIndex(int inIdx) {\n ${d}\n return getSegmentIds(inIdx);\n }\n\n void main() {\n ivec2 coords = getOutputCoords();\n int batch = coords[0];\n int outIdx = coords[1];\n int inOffset = int(floor(float(outIdx) / float(\n ${s})) * float(${n}));\n int currentSeg = int(mod(float(outIdx), float(${s})));\n\n float sumValue = 0.0;\n\n for (int i = 0; i < ${a}; i += 4) {\n int inIdx = inOffset + i;\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n getValue(batch, inIdx + 3)\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 3)) == currentSeg ? 1 : 0\n );\n\n ${u}\n }\n\n int inIdx = inOffset + ${a};\n if (${1===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n initializationValue,\n initializationValue,\n initializationValue\n );\n\n int inIdxSeg = int(getSegmentIdAtIndex(inIdx));\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n 0,\n 0,\n 0\n );\n\n ${u}\n } else if (${2===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n initializationValue,\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n 0,\n 0\n );\n\n ${u}\n } else if (${3===l}) {\n vec4 values = vec4(\n getValue(batch, inIdx),\n getValue(batch, inIdx + 1),\n getValue(batch, inIdx + 2),\n initializationValue\n );\n\n vec4 segFilter = vec4(\n int(getSegmentIdAtIndex(inIdx)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 1)) == currentSeg ? 1 : 0,\n int(getSegmentIdAtIndex(inIdx + 2)) == currentSeg ? 1 : 0,\n 0\n );\n\n ${u}\n }\n setOutput(sumValue);\n }\n `}}const Dwe={kernelName:v3.UnsortedSegmentSum,backendName:"webgl",kernelFunc: /** * @license * Copyright 2020 Google LLC. All Rights Reserved. @@ -18399,6 +18399,6 @@ class Swe{constructor(e,t){this.variableNames=["x","segmentIds"];const n=e.windo * limitations under the License. * ============================================================================= */ -function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,segmentIds:s}=t,{numSegments:o}=i,a=r.shape.length,l=[];let u=0;const c=p3.backend_util.getAxesPermutation([u],a);let d=r;null!=c&&(d=vye({inputs:{x:r},backend:n,attrs:{perm:c}}),l.push(d),u=p3.backend_util.getInnerMostAxes(1,a)[0]);const h=p3.backend_util.segment_util.computeOutShape(d.shape,u,o),p=p3.util.sizeFromShape([d.shape[u]]),f=uye({inputs:{x:d},backend:n,attrs:{shape:[-1,p]}});l.push(f);const m=(0,p3.sumOutType)(r.dtype),g=(e,t,i,r,s)=>{const o=e.shape[0],a=e.shape[1],u=p3.backend_util.segment_util.segOpComputeOptimalWindowSize(a,s),c=new Swe({windowSize:u,inSize:a,batchSize:o,numSegments:s},t),d=n.compileAndRun(c,[e,i],r);if(l.push(d),d.shape[1]===s)return d;const h=Kxe({backend:n,attrs:{start:0,stop:s,step:1,dtype:"float32"}}),p=gwe({inputs:{x:h},backend:n,attrs:{reps:[a/u]}});l.push(h),l.push(p);return g(d,t,p,r,s)},_=uye({inputs:{x:g(f,"unsortedSegmentSum",s,m,o)},backend:n,attrs:{shape:h}});let y=_;if(null!=c){l.push(_);const e=p3.backend_util.getUndoAxesPermutation(c);y=vye({inputs:{x:y},backend:n,attrs:{perm:e}})}return l.forEach(e=>n.disposeIntermediateTensorInfo(e)),y}},Owe=[xye,wye,Aye,Cye,kye,Dye,Fye,Lye,zye,jye,Gye,Wye,qye,Zye,Jye,nve,ive,ove,ave,lve,dve,_ve,yve,vve,bve,Ive,Cve,kve,G_e,Dve,zve,Kve,tbe,ibe,rbe,sbe,obe,lbe,cbe,hbe,ybe,vbe,bbe,xbe,Ibe,Cbe,Obe,kbe,Nbe,Dbe,Lbe,Pbe,$be,Vbe,jbe,Gbe,Xbe,Zbe,eTe,nTe,sTe,aTe,cTe,pTe,fTe,gTe,vTe,TTe,ETe,j_e,wTe,$ve,ATe,CTe,MTe,X_e,RTe,DTe,FTe,PTe,$Te,VTe,jTe,GTe,XTe,KTe,QTe,exe,txe,nxe,sxe,oxe,axe,lxe,uxe,dxe,fxe,gxe,Ixe,lye,Sxe,Oxe,kxe,Nxe,xve,Fxe,Bxe,$xe,jxe,Gxe,Z_e,Hxe,Wxe,Xxe,qxe,Zxe,wve,vxe,Jxe,tEe,iEe,cye,oEe,lEe,dEe,pEe,gEe,yEe,bEe,xEe,IEe,SEe,OEe,kEe,NEe,FEe,PEe,$Ee,gve,wxe,VEe,zEe,jEe,YEe,GEe,HEe,WEe,XEe,ZEe,JEe,nwe,iwe,rwe,owe,awe,lwe,uwe,xxe,yye,dwe,pwe,fwe,_we,xwe,wwe,bye,Iwe,Awe,Cwe,Pxe];for(const e of Owe)(0,p3.registerKernel)(e); +function(e){const{inputs:t,backend:n,attrs:i}=e,{x:r,segmentIds:s}=t,{numSegments:o}=i,a=r.shape.length,l=[];let u=0;const c=v3.backend_util.getAxesPermutation([u],a);let d=r;null!=c&&(d=Iye({inputs:{x:r},backend:n,attrs:{perm:c}}),l.push(d),u=v3.backend_util.getInnerMostAxes(1,a)[0]);const h=v3.backend_util.segment_util.computeOutShape(d.shape,u,o),p=v3.util.sizeFromShape([d.shape[u]]),f=mye({inputs:{x:d},backend:n,attrs:{shape:[-1,p]}});l.push(f);const m=(0,v3.sumOutType)(r.dtype),g=(e,t,i,r,s)=>{const o=e.shape[0],a=e.shape[1],u=v3.backend_util.segment_util.segOpComputeOptimalWindowSize(a,s),c=new Nwe({windowSize:u,inSize:a,batchSize:o,numSegments:s},t),d=n.compileAndRun(c,[e,i],r);if(l.push(d),d.shape[1]===s)return d;const h=nEe({backend:n,attrs:{start:0,stop:s,step:1,dtype:"float32"}}),p=xwe({inputs:{x:h},backend:n,attrs:{reps:[a/u]}});l.push(h),l.push(p);return g(d,t,p,r,s)},_=mye({inputs:{x:g(f,"unsortedSegmentSum",s,m,o)},backend:n,attrs:{shape:h}});let y=_;if(null!=c){l.push(_);const e=v3.backend_util.getUndoAxesPermutation(c);y=Iye({inputs:{x:y},backend:n,attrs:{perm:e}})}return l.forEach(e=>n.disposeIntermediateTensorInfo(e)),y}},Fwe=[Cye,Mye,Rye,Dye,Pye,Uye,Vye,zye,Xye,qye,Zye,Jye,tve,ive,sve,lve,uve,hve,pve,fve,_ve,Eve,wve,Ive,Ave,kve,Dve,Pve,Z_e,Uve,Xve,nbe,abe,ube,cbe,dbe,hbe,fbe,gbe,ybe,wbe,Ibe,Abe,Cbe,kbe,Dbe,Fbe,Pbe,$be,Ube,zbe,jbe,Gbe,Wbe,qbe,Zbe,eTe,iTe,oTe,lTe,dTe,pTe,gTe,vTe,bTe,xTe,ITe,STe,OTe,q_e,MTe,Gve,RTe,DTe,LTe,eye,BTe,UTe,VTe,jTe,GTe,WTe,qTe,ZTe,exe,nxe,rxe,oxe,axe,lxe,dxe,hxe,pxe,fxe,mxe,_xe,bxe,xxe,kxe,fye,Nxe,Fxe,Pxe,$xe,Cve,Vxe,Yxe,Gxe,qxe,Zxe,iye,Qxe,Jxe,eEe,tEe,iEe,Mve,Ixe,sEe,aEe,uEe,gye,hEe,fEe,_Ee,vEe,xEe,wEe,AEe,CEe,kEe,NEe,FEe,PEe,$Ee,VEe,jEe,GEe,xve,Mxe,WEe,XEe,qEe,KEe,ZEe,QEe,JEe,ewe,iwe,swe,lwe,uwe,cwe,hwe,pwe,fwe,mwe,Cxe,wye,_we,vwe,bwe,Ewe,Cwe,Mwe,Aye,kwe,Rwe,Dwe,jxe];for(const e of Fwe)(0,v3.registerKernel)(e); /** @license See the LICENSE file. */ -const Mwe={"tfjs-core":p3.version_core,"tfjs-backend-cpu":ice,"tfjs-backend-webgl":F_e,"tfjs-data":Sae,"tfjs-layers":see,"tfjs-converter":goe,tfjs:"4.22.0"};var kwe=__webpack_require__(99778);const Rwe=Symbol("rowContextKey"),Nwe=oG({tag:{type:String,default:"div"},gutter:{type:Number,default:0},justify:{type:String,values:["start","center","end","space-around","space-between","space-evenly"],default:"start"},align:{type:String,values:["top","middle","bottom"]}}),Dwe=sS({name:"ElRow"});const Fwe=bG(UH(sS({...Dwe,props:Nwe,setup(e){const t=e,n=Zz("row"),i=tk(()=>t.gutter);XC(Rwe,{gutter:i});const r=tk(()=>{const e={};return t.gutter?(e.marginRight=e.marginLeft=`-${t.gutter/2}px`,e):e}),s=tk(()=>[n.b(),n.is(`justify-${t.justify}`,"start"!==t.justify),n.is(`align-${t.align}`,!!t.align)]);return(e,t)=>(iM(),cM(iC(e.tag),{class:xE(xI(s)),style:_E(xI(r))},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["class","style"]))}}),[["__file","row.vue"]])),Lwe=oG({tag:{type:String,default:"div"},span:{type:Number,default:24},offset:{type:Number,default:0},pull:{type:Number,default:0},push:{type:Number,default:0},xs:{type:[Number,Object],default:()=>({})},sm:{type:[Number,Object],default:()=>({})},md:{type:[Number,Object],default:()=>({})},lg:{type:[Number,Object],default:()=>({})},xl:{type:[Number,Object],default:()=>({})}}),Pwe=sS({name:"ElCol"});const Bwe=bG(UH(sS({...Pwe,props:Lwe,setup(e){const t=e,{gutter:n}=qC(Rwe,{gutter:tk(()=>0)}),i=Zz("col"),r=tk(()=>{const e={};return n.value&&(e.paddingLeft=e.paddingRight=n.value/2+"px"),e}),s=tk(()=>{const e=[];["span","offset","pull","push"].forEach(n=>{const r=t[n];ej(r)&&("span"===n?e.push(i.b(`${t[n]}`)):r>0&&e.push(i.b(`${n}-${t[n]}`)))});return["xs","sm","md","lg","xl"].forEach(n=>{ej(t[n])?e.push(i.b(`${n}-${t[n]}`)):Wx(t[n])&&Object.entries(t[n]).forEach(([t,r])=>{e.push("span"!==t?i.b(`${n}-${t}-${r}`):i.b(`${n}-${r}`))})}),n.value&&e.push(i.is("guttered")),[i.b(),e]});return(e,t)=>(iM(),cM(iC(e.tag),{class:xE(xI(s)),style:_E(xI(r))},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["class","style"]))}}),[["__file","col.vue"]])),$we={class:"vis-left-panel-inner-wrapper"},Uwe={class:"card-header"},Vwe={key:0,style:{margin:"auto"}},zwe={key:1,style:{margin:"auto"}},jwe=["src"],Ywe={__name:"ModelArea",emits:["shot"],setup(e,{expose:t,emit:n}){const i=n,r=qC("picList"),s=qC("shotList"),o=qC("states"),a=_I(r.value.map((e,t)=>({name:e.title,progress:0}))),l=["#FF6F61","#42A5F5","#66BB6A","#FFA726","#AB47BC"];let u,c,d=[];setInterval(async()=>{if(2!==o.value.isTraining)return;if(""!==p.value)return;i("shot");const e=s.value[s.value.length-1];if(!e||"data:,"===e)return void mW.error("未获取到有效样本");const t=new Image;t.src=e,await new Promise(e=>{t.onload=e});const n=p3.browser.fromPixels(t);let r=p3.image.resizeBilinear(n,[224,224]).expandDims(0).div(255),l=u.predict(r);const d=c.predict(l),h=await d.data();a.value=[...a.value.map((e,t)=>({...e,progress:Number((100*h[t]).toFixed(2))}))],n.dispose(),l.dispose(),d.dispose()},200);const h=_I(!1),p=_I(""),f=_I(""),m=_I("20%"),g=_I("20%");async function _(){if(c)try{await c.save(`downloads://${""==S.value?"my-model":S.value}`),mW.success("模型导出成功")}catch(e){mW.error(`模型导出失败: ${e.message}`)}else mW.error("模型尚未训练完成")}async function y(e){const t=new FileReader;return t.onload=async e=>{if(p.value=e.target.result,!u||!c)return mW.error("请先完成模型训练"),!1;const t=new window.Image;t.src=p.value,await new Promise(e=>t.onload=e);const n=p3.browser.fromPixels(t);let i=p3.image.resizeBilinear(n,[224,224]).expandDims(0).div(255),r=u.predict(i);const s=c.predict(r),o=await s.data();a.value=[...a.value.map((e,t)=>({...e,progress:Number((100*o[t]).toFixed(2))}))];const l=o.indexOf(Math.max(...o));f.value=a.value[l]?.name||"未知",n.dispose(),r.dispose(),s.dispose()},t.readAsDataURL(e),!1}function v(){p.value=""}let b=0,T=0,x=0,E=0;function w(e){if(0!==e.button)return;b=e.clientX,T=e.clientY;const t=document.getElementById("vis-left-panel-wrapper").style.top,n=document.getElementById("vis-left-panel-wrapper").style.right;x=t.endsWith("%")?window.innerHeight*Number.parseFloat(t)/100:Number.parseFloat(t),E=n.endsWith("%")?window.innerWidth*Number.parseFloat(n)/100:Number.parseFloat(n),document.addEventListener("mousemove",I),document.addEventListener("mouseup",A)}function I(e){const t=e.clientX-b,n=e.clientY-T;let i=x+n,r=E-t;i=Math.max(0,Math.min(window.innerHeight-100,i)),r=Math.max(0,Math.min(window.innerWidth-200,r)),m.value=`${i}px`,g.value=`${r}px`}function A(){document.removeEventListener("mousemove",I),document.removeEventListener("mouseup",A)}t({train:async function(){const e=document.getElementById("vis-left-panel");e&&(e.innerHTML="训练准备中……"),h.value=!0,console.log("正在加载Mobilenet……"),u=await foe(Ax.join(ze.Env.boardDirPath,"teachableModel/model.json")),console.log("Mobilenet加载完成。"),e&&(e.innerHTML="");const t=r.value.length;let n=null,i=null;c=kee(),c.add(gie({inputShape:[1280],units:128,activation:"relu"})),c.add(gie({units:t,activation:"softmax"})),c.compile({optimizer:p3.train.adam(.001),loss:"categoricalCrossentropy",metrics:["accuracy"]});for(let e=0;e{o.onload=e});const a=p3.browser.fromPixels(o),l=a.resizeBilinear([224,224]).toFloat().div(p3.scalar(127.5)).sub(p3.scalar(1)).expandDims(0);let c=u.predict(l);const d=p3.oneHot(p3.tensor1d([e]).toInt(),t);if(null==n)n=c.clone(),i=d.clone();else{const e=n;n=e.concat(c,0),e.dispose();const t=i;i=t.concat(d,0),t.dispose()}d.dispose(),a.dispose()}}d=[];const s=document.getElementById("vis-left-panel")||{name:"训练过程",tab:"训练"};await c.fit(n,i,{epochs:20,batchSize:16,shuffle:!0,validationSplit:.2,callbacks:kwe.show.fitCallbacks(s,["loss","acc","val_loss","val_acc","accuracy","val_accuracy"],{callbacks:["onEpochEnd"]})}),console.log("训练完成"),a.value=r.value.filter(e=>!0!==e.disabled).map((e,t)=>({name:e.title,progress:0})),console.log(a.value),o.value.isTraining=2}});const S=_I("");async function C(){if(c)try{await c.save(`indexeddb://${""==S.value?"my-model":S.value}`),mW.success("模型保存成功")}catch(e){mW.error(`模型保存失败: ${e.message}`)}else mW.error("模型尚未训练完成")}return(e,t)=>(iM(),uM("div",null,[kA(gM("div",{id:"vis-left-panel-wrapper",class:"vis-left-panel-wrapper",style:_E(`right: ${g.value}; top: ${m.value};`)},[gM("div",$we,[gM("div",{class:"vis-left-panel-title",style:{},onMousedown:w},[t[4]||(t[4]=gM("span",null," 训练过程可视化 ",-1)),_M(xI(SX),{size:"small",plain:"",onClick:t[0]||(t[0]=e=>h.value=!1)},{default:MA(()=>t[3]||(t[3]=[TM(" 隐藏 ")])),_:1})],32),t[5]||(t[5]=gM("div",{id:"vis-left-panel",class:"vis-left-panel"},"训练准备中……",-1))])],4),[[zk,h.value]]),2===xI(o).isTraining?(iM(),cM(xI(kX),{key:0,class:"model-area"},{header:MA(()=>[gM("div",Uwe,[t[8]||(t[8]=TM(" 模型 ")),h.value?EM("v-if",!0):(iM(),cM(xI(SX),{key:0,size:"small",style:{"margin-left":"10px"},type:"primary",plain:"",onClick:t[1]||(t[1]=e=>h.value=!0)},{default:MA(()=>t[6]||(t[6]=[TM(" 显示训练过程 ")])),_:1})),2===xI(o).isTraining?(iM(),cM(xI(SX),{key:1,size:"small",style:{"margin-left":"10px"},type:"success",plain:"",onClick:_},{default:MA(()=>t[7]||(t[7]=[TM(" 模型导出至本地 ")])),_:1})):EM("v-if",!0)])]),default:MA(()=>[_M(xI(Fwe),{class:"model-item",style:{"flex-direction":"column","align-items":"flex-center"}},{default:MA(()=>[_M(xI(Fwe),null,{default:MA(()=>[_M(xI(Bwe),{span:6,style:{display:"flex","align-items":"center","text-align":"right"}},{default:MA(()=>t[9]||(t[9]=[TM(" 名称: ")])),_:1}),_M(xI(Bwe),{span:12},{default:MA(()=>[_M(xI(Pq),{modelValue:S.value,"onUpdate:modelValue":t[2]||(t[2]=e=>S.value=e),placeholder:"请输入模型名称"},null,8,["modelValue"])]),_:1}),_M(xI(Bwe),{span:4,style:{display:"flex","align-items":"center"}},{default:MA(()=>[_M(xI(SX),{style:{margin:"auto 5px"},type:"primary",plain:"",size:"small",onClick:C},{default:MA(()=>t[10]||(t[10]=[TM(" 保存 ")])),_:1})]),_:1})]),_:1})]),_:1}),_M(xI(Fwe),{class:"model-item"},{default:MA(()=>t[11]||(t[11]=[gM("b",null,"输入",-1)])),_:1}),_M(xI(Fwe),{class:"model-item"},{default:MA(()=>[p.value?(iM(),uM("div",zwe,[t[16]||(t[16]=TM(" 下方上传图片 ")),t[17]||(t[17]=gM("br",null,null,-1)),_M(xI(SX),{size:"small",type:"success",plain:"",onClick:v},{default:MA(()=>t[14]||(t[14]=[TM(" 切换为上方拍摄内容 ")])),_:1}),_M(xI(O2),{"show-file-list":!1,accept:"image/*","before-upload":y},{default:MA(()=>[_M(xI(SX),{size:"small",type:"success"},{default:MA(()=>t[15]||(t[15]=[TM(" 重新上传一张 ")])),_:1})]),_:1}),gM("img",{src:p.value,alt:"用户上传图片",style:{"max-width":"100%","max-height":"150px","border-radius":"10px"}},null,8,jwe)])):(iM(),uM("div",Vwe,[t[13]||(t[13]=TM(" 上方拍摄内容 ")),_M(xI(O2),{"show-file-list":!1,accept:"image/*","before-upload":y},{default:MA(()=>[_M(xI(SX),{size:"small",type:"success"},{default:MA(()=>t[12]||(t[12]=[TM(" 切换为上传图片 ")])),_:1})]),_:1})]))]),_:1}),_M(xI(Fwe),{class:"model-item"},{default:MA(()=>t[18]||(t[18]=[gM("b",null,"输出",-1)])),_:1}),(iM(!0),uM(ZO,null,aC(a.value,(e,t)=>(iM(),cM(xI(Fwe),{key:`${e.name}-${t}`,class:"model-item"},{default:MA(()=>[_M(xI(Bwe),{span:6},{default:MA(()=>[TM($E(e.name),1)]),_:2},1024),_M(xI(Bwe),{span:18},{default:MA(()=>[_M(xI(VJ),{class:"progress","text-inside":!0,"stroke-width":20,percentage:e.progress,color:l[t%l.length],striped:"",format:e=>`${e}%`},null,8,["percentage","color","format"])]),_:2},1024)]),_:2},1024))),128))]),_:1})):EM("v-if",!0)]))}},Gwe=(0,d3.A)(Ywe,[["__scopeId","data-v-5abb0202"]]),Hwe=oG({trigger:_Z.trigger,triggerKeys:_Z.triggerKeys,placement:uJ.placement,disabled:_Z.disabled,visible:mZ.visible,transition:mZ.transition,popperOptions:uJ.popperOptions,tabindex:uJ.tabindex,content:mZ.content,popperStyle:mZ.popperStyle,popperClass:mZ.popperClass,enterable:{...mZ.enterable,default:!0},effect:{...mZ.effect,default:"light"},teleported:mZ.teleported,appendTo:mZ.appendTo,title:String,width:{type:[String,Number],default:150},offset:{type:Number,default:void 0},showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},"onUpdate:visible":{type:Function}}),Wwe={"update:visible":e=>Jz(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},Xwe=sS({name:"ElPopover"}),qwe=sS({...Xwe,props:Hwe,emits:Wwe,setup(e,{expose:t,emit:n}){const i=e,r=tk(()=>i["onUpdate:visible"]),s=Zz("popover"),o=_I(),a=tk(()=>{var e;return null==(e=xI(o))?void 0:e.popperRef}),l=tk(()=>[{width:VH(i.width)},i.popperStyle]),u=tk(()=>[s.b(),i.popperClass,{[s.m("plain")]:!!i.content}]),c=tk(()=>i.transition===`${s.namespace.value}-fade-in-linear`),d=()=>{n("before-enter")},h=()=>{n("before-leave")},p=()=>{n("after-enter")},f=()=>{n("update:visible",!1),n("after-leave")};return t({popperRef:a,hide:()=>{var e;null==(e=o.value)||e.hide()}}),(e,t)=>(iM(),cM(xI(kQ),SM({ref_key:"tooltipRef",ref:o},e.$attrs,{trigger:e.trigger,"trigger-keys":e.triggerKeys,placement:e.placement,disabled:e.disabled,visible:e.visible,transition:e.transition,"popper-options":e.popperOptions,tabindex:e.tabindex,content:e.content,offset:e.offset,"show-after":e.showAfter,"hide-after":e.hideAfter,"auto-close":e.autoClose,"show-arrow":e.showArrow,"aria-label":e.title,effect:e.effect,enterable:e.enterable,"popper-class":xI(u),"popper-style":xI(l),teleported:e.teleported,"append-to":e.appendTo,persistent:e.persistent,"gpu-acceleration":xI(c),"onUpdate:visible":xI(r),onBeforeShow:d,onBeforeHide:h,onShow:p,onHide:f}),{content:MA(()=>[e.title?(iM(),uM("div",{key:0,class:xE(xI(s).e("title")),role:"title"},$E(e.title),3)):EM("v-if",!0),uC(e.$slots,"default",{},()=>[TM($E(e.content),1)])]),default:MA(()=>[e.$slots.reference?uC(e.$slots,"reference",{key:0}):EM("v-if",!0)]),_:3},16,["trigger","trigger-keys","placement","disabled","visible","transition","popper-options","tabindex","content","offset","show-after","hide-after","auto-close","show-arrow","aria-label","effect","enterable","popper-class","popper-style","teleported","append-to","persistent","gpu-acceleration","onUpdate:visible"]))}});const Kwe=(e,t)=>{const n=t.arg||t.value,i=null==n?void 0:n.popperRef;i&&(i.triggerRef=e)};var Zwe,Qwe;const Jwe=bG(UH(qwe,[["__file","popover.vue"]]),{directive:(Qwe="popover",(Zwe={mounted(e,t){Kwe(e,t)},updated(e,t){Kwe(e,t)}}).install=e=>{e.directive(Qwe,Zwe)},Zwe)}),eIe=oG({type:{type:String,values:["primary","success","info","warning","danger",""],default:""},size:{type:String,values:aG,default:""},truncated:Boolean,lineClamp:{type:[String,Number]},tag:{type:String,default:"span"}}),tIe=sS({name:"ElText"}),nIe=sS({...tIe,props:eIe,setup(e){const t=e,n=_I(),i=qW(),r=Zz("text"),s=tk(()=>[r.b(),r.m(t.type),r.m(i.value),r.is("truncated",t.truncated),r.is("line-clamp",!Qz(t.lineClamp))]),o=()=>{var e,i,r,s,o,a,l;if(IC().title)return;let u=!1;const c=(null==(e=n.value)?void 0:e.textContent)||"";if(t.truncated){const e=null==(i=n.value)?void 0:i.offsetWidth,t=null==(r=n.value)?void 0:r.scrollWidth;e&&t&&t>e&&(u=!0)}else if(!Qz(t.lineClamp)){const e=null==(s=n.value)?void 0:s.offsetHeight,t=null==(o=n.value)?void 0:o.scrollHeight;e&&t&&t>e&&(u=!0)}u?null==(a=n.value)||a.setAttribute("title",c):null==(l=n.value)||l.removeAttribute("title")};return YS(o),HS(o),(e,t)=>(iM(),cM(iC(e.tag),{ref_key:"textRef",ref:n,class:xE(xI(s)),style:_E({"-webkit-line-clamp":e.lineClamp})},{default:MA(()=>[uC(e.$slots,"default")]),_:3},8,["class","style"]))}});const iIe=bG(UH(nIe,[["__file","text.vue"]])),rIe={__name:"TrainArea",emits:["train"],setup(e,{emit:t}){const n=t,i=qC("picList"),r=qC("states"),s=_I(!1),o=_I("待训练……");function a(){s.value&&(n("train"),r.value.isTraining=1)}return CO([i.value,()=>r.value.isTraining],()=>{s.value=function(){const e=Array.isArray(i.value)?i.value.filter(e=>!1===e.disabled):[];return 1!==r.value.isTraining&&e.length>1&&e.every(e=>Array.isArray(e.list)&&e.list.length>0)}(),0===r.value.isTraining?o.value="待训练……":1===r.value.isTraining?o.value="训练中……":2===r.value.isTraining&&(o.value="训练完成")},{immediate:!0}),(e,t)=>(iM(),cM(xI(kX),{class:"train-area"},{header:MA(()=>t[0]||(t[0]=[gM("div",{class:"card-header"}," 训练 ",-1)])),default:MA(()=>[_M(xI(Jwe),{class:"box-item",placement:"bottom",disabled:s.value},{reference:MA(()=>[_M(xI(SX),{disabled:!s.value,type:"primary",style:{"max-width":"100%"},onClick:a},{default:MA(()=>t[1]||(t[1]=[TM(" 训练模型 ")])),_:1},8,["disabled"])]),default:MA(()=>[_M(xI(WH),null,{default:MA(()=>[_M(xI(mH))]),_:1}),t[2]||(t[2]=TM(" 至少有两个类别,且每个类别都需有图像样本。 "))]),_:1},8,["disabled"]),t[3]||(t[3]=gM("br",null,null,-1)),_M(xI(iIe),null,{default:MA(()=>[TM($E(o.value),1)]),_:1})]),_:1}))}},sIe=(0,d3.A)(rIe,[["__scopeId","data-v-1deba862"]]),oIe={class:"main-splitter"},aIe={class:"class-area"},lIe={class:"add-class-content"},uIe={__name:"teachableModel",setup(e){const t=_I([]);XC("shotList",t);const n=_I([{title:"类别 1",list:[],disabled:!1},{title:"类别 2",list:[],disabled:!1}]);XC("picList",n);async function i(e,i){n.value[e].disabled?mW.error("该类别已被禁用"):i?n.value[e].list.push(i):(await a(),t.value[t.value.length-1]&&"data:,"!==t.value[t.value.length-1]?n.value[e].list.push(t.value[t.value.length-1]):mW.error("未获取到有效样本"))}function r(){n.value.push({title:`类别 ${n.value.length+1}`,list:[],disabled:!1})}XC("states",_I({isTraining:0}));const s=_I(!0),o=_I(null);async function a(){await(o.value?.captureShot())}const l=_I(null);async function u(){await l.value.train()}return(e,t)=>(iM(),uM("div",oIe,[_M(xI(PW),null,{default:MA(()=>[_M(xI(BW),{size:"70%",min:200},{default:MA(()=>[gM("div",aIe,[(iM(!0),uM(ZO,null,aC(n.value,(e,r)=>(iM(),cM(l3,{key:r,title:e.title,"pic-list":e.list,disabled:e.disabled,onAddSample:e=>i(r,e),onDeleteSample:e=>n.value[r].list=n.value[r].list.filter(t=>t!==e),onDeleteClass:e=>function(e){n.value.splice(e,1)}(r),onDisableClass:e=>function(e){n.value[e].disabled=!n.value[e].disabled}(r),onRenameClass:e=>function(e,t){n.value[e].title=t}(r,e),onClearSamples:e=>function(e){n.value[e].list=[]}(r)},{default:MA(()=>[_M(xI(SX),{type:"primary",size:"mini",onClick:e=>i(r)},{default:MA(()=>t[0]||(t[0]=[TM(" 添加样本 ")])),_:2},1032,["onClick"])]),_:2},1032,["title","pic-list","disabled","onAddSample","onDeleteSample","onDeleteClass","onDisableClass","onRenameClass","onClearSamples"]))),128)),_M(xI(kX),{class:"add-class-card",onClick:r},{default:MA(()=>[gM("div",lIe,[t[1]||(t[1]=TM(" 添加一个类别 ")),_M(xI(WH),null,{default:MA(()=>[_M(xI(zG))]),_:1})])]),_:1})])]),_:1}),_M(xI(BW),{min:200},{default:MA(()=>[_M(h3,{ref_key:"cameraBoxRef",ref:o},null,512),_M(Ak,{name:"fade-scale"},{default:MA(()=>[s.value?(iM(),cM(Gwe,{key:0,ref_key:"modelAreaRef",ref:l,onShot:a},null,512)):EM("v-if",!0)]),_:1}),_M(sIe,{onTrain:u})]),_:1})]),_:1})]))}},cIe=(0,d3.A)(uIe,[["__scopeId","data-v-02bafc86"]]),dIe={__name:"App",setup:e=>(e,t)=>(iM(),cM(xI(xG),null,{default:MA(()=>[_M(cIe)]),_:1}))};class hIe{static{ze.HTMLTemplate.add("html/statusbar/loader.html",new ze.HTMLTemplate('\r\n
\r\n
\r\n

{{d.msg.loading}}

\r\n
')),this.pythonShell=null,this.kernelLoaded=!1,this.$loader=Cx()(ze.HTMLTemplate.get("html/statusbar/loader.html").render({msg:{loading:Ve.Msg.PYTHON_PYODIDE_LOADING}})),this.statusBarImage=null,this.statusBarFileSystem=null,this.init=async function(){ze.app.getFooterBar().getContent().after(this.$loader);const e=Ax.relative(ze.Env.indexDirPath,ze.Env.boardDirPath),t=new sP({rootPath:Ax.join(e,"deps"),language:"python3"}),n=await t.kernelAvailable();if(!n)return;await n.init(),await n.loaded(),this.loader=t,this.kernel=n,this.statusBarImage=oP.init(),this.statusBarFileSystem=jz.init(),this.statusBarTool=Yz.init();eN(dIe).mount(this.statusBarTool.getContent()[0]),this.statusBarGame=Gz.init(),this.pythonShell=new hIe,this.pyodide=window.pyodide,this.interruptBuffer=new Uint8Array(new ArrayBuffer(1)),this.pyodide.setInterruptBuffer(this.interruptBuffer),this.kernelLoaded=!0,this.$loader.remove(),this.$loader&&this.$loader.remove&&this.$loader.remove(),this.$loader=null},this.run=async function(){if(!this.kernelLoaded)return;const e=ze.Workspace.getMain().getEditorsManager().getActive().getCode();return this.pythonShell.run(e)},this.stop=async function(){if(this.kernelLoaded)return this.pythonShell.stop()}}#C=null;#O=null;#M=null;#k={row:0,column:0};#R="";#N=null;#D=null;#F=!1;#L=!1;#P=null;#B=()=>this.#$();#U=[{name:"REPL-Enter",bindKey:"Enter",exec:e=>{if(e.getSession().selection.getCursor().row===this.#k.row){const e=this.#C.getEndPos();let t=this.#C.getValueRange(this.#k,e);t=t.replace(this.#R,""),this.#N?.(t),this.#N=null,this.#D=null,this.#C.addValue("\n"),this.#V()}return!1}},{name:"REPL-ChangeEditor",bindKey:"Delete|Ctrl-X|Backspace",exec:e=>{const t=e.getSession().selection.getCursor();return t.row{this.#L=!1,this.#C.addValue(`\n==${ze.Msg.Lang["shell.finish"]}==`),this.syncfs(!1).catch(ze.Debug.error)}),this.#P.addEventListener("eval.output",e=>{this.#C.addValue(e.content)}),this.#P.addEventListener("eval.error",()=>{this.#L=!1,this.#C.addValue(`\n==${ze.Msg.Lang["shell.finish"]}==`)}),this.#P.addEventListener("eval.input",e=>{const t=String(e?.content?.prompt);this.#C.addValue(t),this.#R=t,this.#N=e.resolve,this.#D=e.reject,this.#z()}),this.#P.addEventListener("eval.display",e=>{this.#M.changeTo("images"),this.#O.display(e)})}#$(){const e=this.#C.getEditor(),t=e.getSession().selection.getCursor();e.setReadOnly(t.row{window.pyodide.FS.syncfs(e,t)})}sleep(e){return new Promise(t=>setTimeout(t,e))}}const pIe={init:async function(){const e=ze.app.getNav();e.register({icon:"icon-play-circled",title:"",id:"python-run-btn",displayText:Ve.Msg.MSG.run,preconditionFn:()=>!0,callback:()=>{hIe.run().catch(ze.Debug.error)},scopeType:ze.Nav.Scope.LEFT,weight:4}),e.register({icon:"icon-cancel",title:"",id:"python-stop-btn",displayText:Ve.Msg.MSG.stop,preconditionFn:()=>!0,callback:()=>{hIe.stop().catch(ze.Debug.error)},scopeType:ze.Nav.Scope.LEFT,weight:5}),await hIe.init()}},fIe=pIe,mIe=new ze.Registry,gIe=function(e){let t={ok:!1,buffer:null,json:function(){const e=new TextDecoder("utf-8").decode(this.buffer);return JSON.parse(e)},arrayBuffer:function(){return this.buffer}};return mIe.hasKey(e)?(t.ok=!0,t.buffer=mIe.getItem(e),t):t},_Ie={modelsValue:{},loadGraphModel:async function(e){return await foe(e,{fromTFHub:!1,fetchFunc:(...e)=>gIe(e[0])})},loadLayersModel:async function(e){return await Cee(e,{fromTFHub:!1,fetchFunc:(...e)=>gIe(e[0])})},setModelsValue:function(e,t){mIe.hasKey(e)&&mIe.unregister(e),mIe.register(e,t),_Ie.modelsValue[e]=t}};window.tensorflow=_Ie,window.addEventListener("error",e=>e.error&&e.error.message&&e.error.message.includes("openOrClosedShadowRoot")?(console.warn("捕获到Blockly DOM操作错误,这通常是无害的:",e.error.message),e.preventDefault(),!1):e.error&&e.error.message&&(e.error.message.includes("DOM")||e.error.message.includes("Element")||e.error.message.includes("Node"))?(console.warn("捕获到DOM操作错误:",e.error.message),e.preventDefault(),!1):void 0),window.addEventListener("unhandledrejection",e=>{if(e.reason&&e.reason.message&&e.reason.message.includes("openOrClosedShadowRoot"))return console.warn("捕获到未处理的Promise拒绝(Blockly DOM错误):",e.reason.message),e.preventDefault(),!1});const yIe=console.error;console.error=function(...e){const t=e.join(" ");t.includes("openOrClosedShadowRoot")||t.includes("DOM")||t.includes("Element")||t.includes("Node")?console.warn("过滤的DOM错误:",...e):yIe.apply(console,e)};const vIe=(e,t)=>{try{if(e&&t&&e.appendChild)return e.appendChild(t)}catch(e){console.warn("安全DOM添加失败:",e.message)}return null},bIe=(e,t)=>{try{if(e&&t&&e.removeChild&&t.parentNode===e)return e.removeChild(t)}catch(e){console.warn("安全DOM移除失败:",e.message)}return null},TIe=(e,t)=>{try{if(e&&e.querySelector)return e.querySelector(t)}catch(e){console.warn("安全DOM查询失败:",e.message)}return null},xIe=e=>e&&e.parentNode&&document.contains(e),EIe={volume:100,effects:{pitch:0,pan:0},builtin:{Meow:"meow"},isRecording:!1,mediaRecorder:null,recordedChunks:[],recordedAudio:null,activeAudios:[],isStopped:!1,abortController:null,blockAllAudio:!1,audioHistory:[],soundQueue:[],isProcessingQueue:!1,currentlyPlaying:null,initAudioContext:()=>{if(!EIe.audioContext)try{EIe.audioContext=new(window.AudioContext||window.webkitAudioContext)}catch(e){console.error("Error initializing audio context:",e)}},createAudio:e=>{if(EIe.blockAllAudio||EIe.isStopped||EIe.abortController&&EIe.abortController.signal.aborted){return{play:()=>Promise.reject(new Error("Audio playback blocked")),pause:()=>{},currentTime:0,src:"",volume:1,playbackRate:1,onended:null,onerror:null,onloadstart:null,oncanplay:null,onplay:null,onpause:null,tagName:"AUDIO",addEventListener:()=>{},removeEventListener:()=>{},load:()=>{},duration:0,ended:!1,paused:!0,muted:!1,readyState:0,networkState:0,preload:"none"}}return new Audio(e)},play:async e=>{try{if(EIe.isStopped)return;if(EIe.abortController&&EIe.abortController.signal.aborted)return;if(EIe.blockAllAudio)return;if(EIe.soundQueue.length>0||EIe.isProcessingQueue)return EIe.soundQueue.push({name:e,resolve:()=>{},reject:()=>{}}),void EIe.processQueue();if(EIe.activeAudios.length>0&&(EIe.activeAudios.forEach(e=>{try{e&&"AUDIO"===e.tagName&&(e.pause(),e.currentTime=0,e.src="")}catch(e){console.warn("停止现有音频时出错:",e)}}),EIe.activeAudios=[]),e.startsWith("recording")&&EIe.builtin[e]){if(EIe.blockAllAudio||EIe.isStopped)return;const t=EIe.createAudio(EIe.builtin[e]);t.volume=EIe.volume/100;const n=EIe.effects.pitch,i=EIe.effects.pan;if(0===n&&0===i)return void t.play().catch(e=>{"AbortError"!==e.name&&console.error("Error playing recorded audio:",e)});if(EIe.initAudioContext(),!EIe.audioContext)return console.warn("音频上下文初始化失败,无法应用增强音效"),void t.play().catch(e=>{"AbortError"!==e.name&&console.error("Error playing recorded audio:",e)});try{const e=EIe.audioContext.createMediaElementSource(t),r=EIe.audioContext.createGain();if(0!==n){const t=EIe.audioContext.createBiquadFilter();t.type="peaking",t.frequency.setValueAtTime(1e3,EIe.audioContext.currentTime),t.Q.setValueAtTime(1,EIe.audioContext.currentTime);const i=Math.max(-20,Math.min(20,.8*n));t.gain.setValueAtTime(i,EIe.audioContext.currentTime),e.connect(t),t.connect(r)}else e.connect(r);if(0!==i){const e=EIe.audioContext.createStereoPanner(),t=Math.max(-1,Math.min(1,i/100*1.5));e.pan.setValueAtTime(t,EIe.audioContext.currentTime),r.connect(e),e.connect(EIe.audioContext.destination)}else r.connect(EIe.audioContext.destination);r.gain.setValueAtTime(EIe.volume/100,EIe.audioContext.currentTime)}catch(e){return console.warn("应用增强音效失败,使用默认播放:",e),void t.play().catch(e=>{"AbortError"!==e.name&&console.error("Error playing recorded audio:",e)})}return EIe.activeAudios.push(t),t.onended=()=>{const e=EIe.activeAudios.indexOf(t);e>-1&&EIe.activeAudios.splice(e,1)},void t.play().catch(e=>{"AbortError"!==e.name&&console.error("Error playing recorded audio:",e);const n=EIe.activeAudios.indexOf(t);n>-1&&EIe.activeAudios.splice(n,1)})}if("Meow"===e&&(EIe.initAudioContext(),EIe.audioContext)){const e=EIe.audioContext.createOscillator(),t=EIe.audioContext.createGain();let n=440;if(0!==EIe.effects.pitch&&(n*=Math.pow(2,EIe.effects.pitch/12)),e.frequency.setValueAtTime(n,EIe.audioContext.currentTime),e.type="sine",t.gain.setValueAtTime(EIe.volume/100,EIe.audioContext.currentTime),0!==EIe.effects.pan){const n=EIe.audioContext.createStereoPanner(),i=EIe.effects.pan/100;n.pan.setValueAtTime(i,EIe.audioContext.currentTime),e.connect(n),n.connect(t)}else e.connect(t);t.connect(EIe.audioContext.destination),e.start(),e.stop(EIe.audioContext.currentTime+.5)}}catch(e){console.error("Error in sound.play:",e)}},_playAudioInternal:async e=>new Promise((t,n)=>{try{if(EIe.isStopped||EIe.blockAllAudio)return void n(new Error("Playback blocked"));if(e.startsWith("recording")&&EIe.builtin[e]){const i=EIe.createAudio(EIe.builtin[e]);i.volume=EIe.volume/100;const r=EIe.effects.pitch,s=EIe.effects.pan;if((0!==r||0!==s)&&(EIe.initAudioContext(),EIe.audioContext))try{const e=EIe.audioContext.createMediaElementSource(i),t=EIe.audioContext.createGain();if(0!==r){const n=EIe.audioContext.createBiquadFilter();n.type="peaking",n.frequency.setValueAtTime(1e3,EIe.audioContext.currentTime),n.Q.setValueAtTime(1,EIe.audioContext.currentTime);const i=Math.max(-20,Math.min(20,.8*r));n.gain.setValueAtTime(i,EIe.audioContext.currentTime),e.connect(n),n.connect(t)}else e.connect(t);if(0!==s){const e=EIe.audioContext.createStereoPanner(),n=Math.max(-1,Math.min(1,s/100*1.5));e.pan.setValueAtTime(n,EIe.audioContext.currentTime),t.connect(e),e.connect(EIe.audioContext.destination)}else t.connect(EIe.audioContext.destination);t.gain.setValueAtTime(EIe.volume/100,EIe.audioContext.currentTime)}catch(e){console.warn("应用音效失败:",e)}i.onended=()=>{const e=EIe.activeAudios.indexOf(i);e>-1&&EIe.activeAudios.splice(e,1),t()},i.onerror=t=>{console.error(`音频播放失败: ${e}`,t);const r=EIe.activeAudios.indexOf(i);r>-1&&EIe.activeAudios.splice(r,1),n(t)},EIe.activeAudios.push(i),i.play().catch(e=>{"AbortError"===e.name?t():(console.error("播放音频失败:",e),n(e))})}else if("Meow"===e)if(EIe.initAudioContext(),EIe.audioContext){const e=EIe.audioContext.createOscillator(),n=EIe.audioContext.createGain();let i=440;if(0!==EIe.effects.pitch&&(i*=Math.pow(2,EIe.effects.pitch/12)),e.frequency.setValueAtTime(i,EIe.audioContext.currentTime),e.type="sine",n.gain.setValueAtTime(EIe.volume/100,EIe.audioContext.currentTime),0!==EIe.effects.pan){const t=EIe.audioContext.createStereoPanner(),i=EIe.effects.pan/100;t.pan.setValueAtTime(i,EIe.audioContext.currentTime),e.connect(t),t.connect(n)}else e.connect(n);n.connect(EIe.audioContext.destination),e.start(),e.stop(EIe.audioContext.currentTime+.5),setTimeout(()=>{t()},500)}else n(new Error("AudioContext not available"));else n(new Error(`Unknown sound: ${e}`))}catch(e){console.error("内部播放错误:",e),n(e)}}),processQueue:async()=>{if(!EIe.isProcessingQueue&&0!==EIe.soundQueue.length){for(EIe.isProcessingQueue=!0;EIe.soundQueue.length>0;){const e=EIe.soundQueue.shift();try{if("frequency"===e.type){const{frequency:t,duration:n,resolve:i}=e;EIe.currentlyPlaying={type:"frequency",frequency:t,startTime:Date.now()},await new Promise(e=>{if(EIe.initAudioContext(),EIe.audioContext){const i=EIe.audioContext.createOscillator(),r=EIe.audioContext.createGain();i.frequency.setValueAtTime(t,EIe.audioContext.currentTime),i.type="sine";const s=EIe.effects.pitch;0!==s&&i.frequency.setValueAtTime(t*Math.pow(2,s/12),EIe.audioContext.currentTime),r.gain.setValueAtTime(EIe.volume/100,EIe.audioContext.currentTime),i.connect(r),r.connect(EIe.audioContext.destination),i.onended=()=>{EIe.currentlyPlaying=null,e()},i.start(),i.stop(EIe.audioContext.currentTime+n/1e3)}else e()}),EIe.currentlyPlaying=null,i()}else{const{name:t,resolve:n}=e;EIe.currentlyPlaying={name:t,startTime:Date.now()},await EIe._playAudioInternal(t),EIe.currentlyPlaying=null,n()}}catch(t){console.error("队列播放失败:",t),EIe.currentlyPlaying=null,e.reject&&e.reject(t)}}EIe.isProcessingQueue=!1}},play_blocking:e=>new Promise((t,n)=>{EIe.soundQueue.push({name:e,resolve:t,reject:n}),EIe.processQueue()}),stop_all:()=>{try{if(EIe.isStopped=!0,EIe.blockAllAudio=!0,EIe.soundQueue.length>0&&(EIe.soundQueue.forEach(({reject:e})=>{e(new Error("Playback stopped"))}),EIe.soundQueue=[]),EIe.isProcessingQueue=!1,EIe.currentlyPlaying=null,EIe.abortController&&EIe.abortController.abort(),EIe.abortController=new AbortController,EIe.activeAudios.length>0&&(EIe.activeAudios.forEach(e=>{try{e&&"AUDIO"===e.tagName&&(e.pause(),e.currentTime=0,e.src="",e.load(),e.onended=null,e.onerror=null,e.onloadstart=null,e.oncanplay=null,e.onplay=null,e.onpause=null)}catch(e){console.warn("停止音频时出错:",e)}}),EIe.activeAudios=[]),EIe.audioContext)try{EIe.audioContext.close(),EIe.audioContext=null}catch(e){console.warn("关闭音频上下文时出错:",e)}EIe.effects.pitch=0,EIe.effects.pan=0;const e=document.querySelectorAll("audio");e.length>0&&e.forEach(e=>{try{e.pause(),e.currentTime=0,e.src=""}catch(e){console.warn("停止页面音频元素时出错:",e)}}),setTimeout(()=>{EIe.isStopped=!1,EIe.blockAllAudio=!1},100)}catch(e){console.error("Error in sound.stop_all:",e)}},adjust_volume:e=>{const t=Math.max(0,Math.min(100,EIe.volume+e));EIe.volume=t},set_volume:e=>{EIe.volume=Math.max(0,Math.min(100,e))},get_volume:()=>EIe.volume,noteFrequencies:{NOTE_B3:247,NOTE_C4:262,NOTE_D4:294,NOTE_E4:330,NOTE_F4:349,NOTE_G4:392,NOTE_A4:440,NOTE_B4:494,NOTE_C5:523,NOTE_D5:587,NOTE_E5:659,NOTE_F5:698,NOTE_G5:784},play_frequency:(e,t=1e3)=>{try{if(EIe.initAudioContext(),EIe.audioContext){const n=EIe.audioContext.createOscillator(),i=EIe.audioContext.createGain();n.frequency.setValueAtTime(e,EIe.audioContext.currentTime),n.type="sine";const r=EIe.effects.pitch;0!==r&&n.frequency.setValueAtTime(e*Math.pow(2,r/12),EIe.audioContext.currentTime),i.gain.setValueAtTime(EIe.volume/100,EIe.audioContext.currentTime),n.connect(i),i.connect(EIe.audioContext.destination),n.start(),n.stop(EIe.audioContext.currentTime+t/1e3),console.log(`播放频率: ${e}Hz, 持续时间: ${t}ms, 音量: ${EIe.volume}%`)}}catch(e){console.error("播放频率声音失败:",e)}},play_frequency_continuous:e=>{try{if(EIe.initAudioContext(),EIe.audioContext){const t=EIe.audioContext.createOscillator(),n=EIe.audioContext.createGain();t.frequency.setValueAtTime(e,EIe.audioContext.currentTime),t.type="sine";const i=EIe.effects.pitch;0!==i&&t.frequency.setValueAtTime(e*Math.pow(2,i/12),EIe.audioContext.currentTime),n.gain.setValueAtTime(EIe.volume/100,EIe.audioContext.currentTime),t.connect(n),n.connect(EIe.audioContext.destination),t.start(),t.stop(EIe.audioContext.currentTime+2),console.log(`播放频率(持续): ${e}Hz, 无持续时间限制, 音量: ${EIe.volume}%`)}}catch(e){console.error("播放频率声音失败:",e)}},play_frequency_blocking:(e,t=1e3)=>(console.log(`=== 🔒 阻塞播放频率(加入队列): ${e}Hz, ${t}ms ===`),new Promise((n,i)=>{const r={type:"frequency",frequency:e,duration:t,resolve:n,reject:i};EIe.soundQueue.push(r),console.log(`✅ 频率已加入声音队列,当前队列长度: ${EIe.soundQueue.length}`),EIe.processQueue()})),play_frequency_continuous_blocking:e=>(console.log(`=== 🔒 阻塞播放频率(持续,加入队列): ${e}Hz ===`),new Promise((t,n)=>{const i={type:"frequency",frequency:e,duration:2e3,resolve:t,reject:n};EIe.soundQueue.push(i),console.log(`✅ 频率(持续)已加入声音队列,当前队列长度: ${EIe.soundQueue.length}`),EIe.processQueue()})),play_note_list:e=>{try{const t={DADADADUM:[{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500}],BIRTHDAY:[{note:"NOTE_C4",duration:400},{note:"NOTE_C4",duration:400},{note:"NOTE_D4",duration:800},{note:"NOTE_C4",duration:800},{note:"NOTE_F4",duration:800},{note:"NOTE_E4",duration:1600}],BA_DING:[{note:"NOTE_C5",duration:200},{note:"NOTE_E5",duration:200},{note:"NOTE_G5",duration:400}],JUMP_UP:[{note:"NOTE_C5",duration:100},{note:"NOTE_E5",duration:100},{note:"NOTE_G5",duration:100}],JUMP_DOWN:[{note:"NOTE_G5",duration:100},{note:"NOTE_E5",duration:100},{note:"NOTE_C5",duration:100}],POWER_UP:[{note:"NOTE_C4",duration:150},{note:"NOTE_E4",duration:150},{note:"NOTE_G4",duration:150},{note:"NOTE_C5",duration:300}],POWER_DOWN:[{note:"NOTE_C5",duration:150},{note:"NOTE_G4",duration:150},{note:"NOTE_E4",duration:150},{note:"NOTE_C4",duration:300}]}[e];if(t){let e=0;t.forEach(t=>{const n=EIe.noteFrequencies[t.note]||440,i=t.duration;setTimeout(()=>{EIe.play_frequency(n,i)},e),e+=i})}else console.warn(`未知的音符列表: ${e}`)}catch(e){console.error("播放音符列表失败:",e)}},play_note_list_blocking:e=>new Promise((t,n)=>{(async()=>{try{const i={DADADADUM:[{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500}],BIRTHDAY:[{note:"NOTE_C4",duration:400},{note:"NOTE_C4",duration:400},{note:"NOTE_D4",duration:800},{note:"NOTE_C4",duration:800},{note:"NOTE_F4",duration:800},{note:"NOTE_E4",duration:1600}],BA_DING:[{note:"NOTE_C5",duration:200},{note:"NOTE_E5",duration:200},{note:"NOTE_G5",duration:400}],JUMP_UP:[{note:"NOTE_C5",duration:100},{note:"NOTE_E5",duration:100},{note:"NOTE_G5",duration:100}],JUMP_DOWN:[{note:"NOTE_G5",duration:100},{note:"NOTE_E5",duration:100},{note:"NOTE_C5",duration:100}],POWER_UP:[{note:"NOTE_C4",duration:150},{note:"NOTE_E4",duration:150},{note:"NOTE_G4",duration:150},{note:"NOTE_C5",duration:300}],POWER_DOWN:[{note:"NOTE_C5",duration:150},{note:"NOTE_G4",duration:150},{note:"NOTE_E4",duration:150},{note:"NOTE_C4",duration:300}]}[e];if(i){for(const e of i){const t=EIe.noteFrequencies[e.note]||440;await EIe.play_frequency_blocking(t,e.duration)}t()}else console.warn(`未知的音符列表: ${e}`),n(new Error(`未知的音符列表: ${e}`))}catch(e){console.error("播放音符列表失败:",e),n(e)}})()}),adjust_effect:(e,t)=>{"pitch"===e?EIe.effects.pitch=Math.max(-24,Math.min(24,EIe.effects.pitch+t)):"pan"===e&&(EIe.effects.pan=Math.max(-100,Math.min(100,EIe.effects.pan+t)))},set_effect:(e,t)=>{"pitch"===e?EIe.effects.pitch=Math.max(-24,Math.min(24,t)):"pan"===e&&(EIe.effects.pan=Math.max(-100,Math.min(100,t)))},clear_effects:()=>{EIe.effects.pitch=0,EIe.effects.pan=0},record:()=>{if(!EIe.isRecording)try{navigator.mediaDevices.getUserMedia({audio:!0}).then(e=>{EIe.mediaRecorder=new MediaRecorder(e),EIe.recordedChunks=[],EIe.mediaRecorder.ondataavailable=e=>{e.data.size>0&&EIe.recordedChunks.push(e.data)},EIe.mediaRecorder.onstart=()=>{EIe.isRecording=!0},EIe.mediaRecorder.onstop=()=>{EIe.isRecording=!1;const t=new Blob(EIe.recordedChunks,{type:"audio/wav"});EIe.recordedAudio=URL.createObjectURL(t),e.getTracks().forEach(e=>{e.stop()}),EIe.showPlaybackInterface(t)},EIe.mediaRecorder.onerror=e=>{console.error("MediaRecorder 错误:",e.error),EIe.isRecording=!1},EIe.mediaRecorder.start(100),EIe.showRecordInterface()}).catch(e=>{console.error("获取麦克风权限失败:",e),alert("无法访问麦克风,请检查权限设置。错误: "+e.message)})}catch(e){console.error("录制功能初始化失败:",e),alert("录制功能初始化失败: "+e.message)}},showRecordInterface:()=>{const e=document.createElement("div");e.id="recordModal",e.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 10000;\n ";const t=document.createElement("div");t.style.cssText="\n background: white;\n border-radius: 10px;\n padding: 20px;\n text-align: center;\n min-width: 300px;\n box-shadow: 0 4px 20px rgba(0,0,0,0.3);\n ",t.innerHTML='\n

录制声音

\n
\n
\n
\n
\n
\n \n
\n
正在录制...
\n ',e.appendChild(t);try{vIe(document.body,e)}catch(e){return void console.error("添加录制界面到DOM失败:",e)}e.addEventListener("click",e=>{if("stopRecord"===e.target.id)try{EIe.mediaRecorder&&EIe.isRecording?EIe.mediaRecorder.stop():console.warn("MediaRecorder 不存在或未在录制状态")}catch(e){console.error("停止录制时出错:",e),alert("停止录制时出错: "+e.message)}});const n=e.querySelector("#waveformBars");if(n){for(let e=0;e<20;e++){const t=document.createElement("div");t.style.cssText=`\n position: absolute;\n left: ${10*e}px;\n bottom: 0;\n width: 8px;\n height: 20px;\n background: #4a90e2;\n border-radius: 2px;\n transition: height 0.1s ease;\n `,n.appendChild(t)}const t=setInterval(()=>{if(EIe.isRecording&&e.parentNode){const e=n.children;for(let t=0;t{EIe.isRecording&&e.parentNode?(i=60*Math.random()+40,r.style.height=i+"%",s.textContent=`正在录制... 音量: ${Math.round(i)}%`,r.style.opacity=.8+i/100*.2):(clearInterval(t),s&&e.parentNode&&(s.textContent="录制完成",s.style.color="#4CAF50"),r&&e.parentNode&&(r.style.height="100%",r.style.background="linear-gradient(to top, #4CAF50, #4CAF50)"))},200);e.volumeInterval=t}else console.error("找不到音量计或状态显示元素");const o=e=>{"Space"===e.code&&EIe.isRecording&&(e.preventDefault(),EIe.mediaRecorder&&EIe.mediaRecorder.stop())};document.addEventListener("keydown",o),e.keyHandler=o},showPlaybackInterface:e=>{const t=document.getElementById("recordModal");if(t){t.volumeInterval&&clearInterval(t.volumeInterval),t.waveformInterval&&clearInterval(t.waveformInterval),t.keyHandler&&document.removeEventListener("keydown",t.keyHandler);try{xIe(t)&&bIe(document.body,t)}catch(e){console.warn("移除录制界面时出错:",e)}}const n=document.createElement("div");n.id="playbackModal",n.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 10000;\n ";const i=document.createElement("div");i.style.cssText="\n background: white;\n border-radius: 10px;\n padding: 20px;\n text-align: center;\n min-width: 350px;\n box-shadow: 0 4px 20px rgba(0,0,0,0.3);\n ",i.innerHTML='\n

录音完成

\n
\n
\n
\n
\n \n
\n
\n \n \n
\n ',n.appendChild(i);try{vIe(document.body,n)}catch(e){return void console.error("添加播放界面到DOM失败:",e)}const r=n.querySelector("#playRecording");r&&(r.onclick=()=>{try{EIe.createAudio(EIe.recordedAudio).play().catch(e=>{console.error("播放录音失败:",e),alert("播放录音失败: "+e.message)});const e=n.querySelector("#waveformLine");e&&(e.style.background="#FF5722",setTimeout(()=>{e.parentNode&&(e.style.background="#4a90e2")},1e3))}catch(e){console.error("播放录音时出错:",e),alert("播放录音时出错: "+e.message)}});const s=n.querySelector("#reRecord");s&&(s.onclick=()=>{try{xIe(n)&&bIe(document.body,n),EIe.record()}catch(e){console.error("重新录制时出错:",e),alert("重新录制时出错: "+e.message)}});const o=n.querySelector("#saveRecording");o&&(o.onclick=()=>{try{EIe.saveRecording(e),xIe(n)&&bIe(document.body,n)}catch(e){console.error("添加到列表时出错:",e),alert("添加到列表时出错: "+e.message)}}),EIe.createWaveformDisplay(e,n)},createWaveformDisplay:async(e,t)=>{try{if(!t||!t.parentNode)return void console.warn("波形显示容器不存在或已被移除");const n=await e.arrayBuffer(),i=new(window.AudioContext||window.webkitAudioContext),r=(await i.decodeAudioData(n)).getChannelData(0),s=t.querySelector("#playbackWaveform");if(s&&s.parentNode){s.innerHTML="";const e=100,t=Math.floor(r.length/e);for(let n=0;n{try{const t=`recording${Object.keys(EIe.builtin).filter(e=>e.startsWith("recording")).length+1}`,n=e?URL.createObjectURL(e):EIe.recordedAudio;if(!n)throw new Error("录音数据不存在");EIe.builtin[t]=n,alert(`录音已保存为: ${t}`);const i=document.getElementById("playbackModal");if(xIe(i)){const e=TIe(i,"#playRecording");e&&(e.innerHTML=` 播放 ${t}`)}}catch(e){console.error("保存录音失败:",e),alert("保存录音失败: "+e.message)}}},wIe=EIe,IIe=window.Audio;if(window.Audio=function(e){if(EIe.blockAllAudio||EIe.isStopped||EIe.abortController&&EIe.abortController.signal.aborted){return{play:()=>Promise.reject(new Error("Audio playback blocked globally")),pause:()=>{},currentTime:0,src:"",volume:1,playbackRate:1,onended:null,onerror:null,onloadstart:null,oncanplay:null,onplay:null,onpause:null,tagName:"AUDIO",addEventListener:()=>{},removeEventListener:()=>{},load:()=>{},duration:0,ended:!1,paused:!0,muted:!1,readyState:0,networkState:0,preload:"none"}}return new IIe(e)},window.Audio.original=IIe,"undefined"!=typeof window){const e=console.error;console.error=function(...t){const n=t.join(" ");n.includes("sound")&&(n.includes("no-unused-vars")||n.includes("no-trailing-spaces")||n.includes("new-cap"))?console.warn("过滤的sound模块ESLint错误:",...t):e.apply(console,t)}}let AIe=!1;function SIe(e){if(!e)return!1;if("PythonError"===e.name||"KeyboardInterrupt"===e.name){const t=e.message||String(e);return t.includes("KeyboardInterrupt")||t.includes("interrupted")}return!1}function CIe(){if(AIe)return!1;if(window.pyodide&&window.pyodide.globals)try{AIe=!0;const e={play:e=>EIe.play(e),play_blocking:e=>EIe.play_blocking(e),stop_all:()=>EIe.stop_all(),adjust_volume:e=>EIe.adjust_volume(e),set_volume:e=>EIe.set_volume(e),get_volume:()=>EIe.get_volume(),adjust_effect:(e,t)=>EIe.adjust_effect(e,t),set_effect:(e,t)=>EIe.set_effect(e,t),clear_effects:()=>EIe.clear_effects(),play_frequency:(e,t)=>(console.log(`Python调用: sound.play_frequency(${e}, ${t})`),EIe.soundQueue.length>0||EIe.isProcessingQueue?EIe.play_frequency_blocking(e,t):EIe.play_frequency(e,t)),play_frequency_no_duration:e=>(console.log(`Python调用: sound.play_frequency_no_duration(${e})`),EIe.soundQueue.length>0||EIe.isProcessingQueue?EIe.play_frequency_continuous_blocking(e):EIe.play_frequency_continuous(e)),play_frequency_blocking:(e,t)=>(console.log(`Python调用: sound.play_frequency_blocking(${e}, ${t})`),EIe.play_frequency_blocking(e,t)),play_frequency_continuous:e=>(console.log(`Python调用: sound.play_frequency_continuous(${e})`),EIe.play_frequency_continuous(e)),play_frequency_continuous_blocking:e=>(console.log(`Python调用: sound.play_frequency_continuous_blocking(${e})`),EIe.play_frequency_continuous_blocking(e)),play_note_list:e=>EIe.play_note_list(e),play_note_list_blocking:e=>EIe.play_note_list_blocking(e),record:()=>EIe.record(),volume:EIe.volume,effects:EIe.effects};window.pyodide.globals.set("sound",e);const t=new(0,window.pyodide.pyimport("types").ModuleType)("sound");Object.keys(e).forEach(n=>{e[n],t[n]=e[n]});try{window.pyodide.runPython('\nimport sys\nsys.modules[\'sound\'] = sound\n\n# 创建同步版本的play_blocking包装函数\nimport asyncio\nfrom js import Promise\n\n# 保存原始的play_blocking(返回Promise的版本)\n_original_play_blocking = sound.play_blocking\n\ndef _sync_play_blocking(name):\n """同步版本的play_blocking,会等待声音播放完成"""\n promise = _original_play_blocking(name)\n # 使用Pyodide的Promise支持\n # 在Pyodide中,可以直接等待JS Promise\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n # Pyodide 0.21+\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n # 降级方案:使用asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n # 将JS Promise转换为Python awaitable\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n \n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 替换sound.play_blocking为同步版本\nsound.play_blocking = _sync_play_blocking\n\n# 创建同步版本的play_frequency包装函数\n_original_play_frequency = sound.play_frequency\n\ndef _sync_play_frequency(frequency, duration):\n """同步版本的play_frequency,会自动判断是否需要阻塞"""\n promise = _original_play_frequency(frequency, duration)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n\n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 创建同步版本的play_frequency_no_duration包装函数\n_original_play_frequency_no_duration = sound.play_frequency_no_duration\n\ndef _sync_play_frequency_no_duration(frequency):\n """同步版本的play_frequency_no_duration,会自动判断是否需要阻塞"""\n promise = _original_play_frequency_no_duration(frequency)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n\n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 替换为同步版本\nsound.play_frequency = _sync_play_frequency\nsound.play_frequency_no_duration = _sync_play_frequency_no_duration\n\n# 创建同步版本的play_frequency_continuous_blocking包装函数\n_original_play_frequency_continuous_blocking = sound.play_frequency_continuous_blocking\n\ndef _sync_play_frequency_continuous_blocking(frequency):\n """同步版本的play_frequency_continuous_blocking,会等待频率播放完成"""\n promise = _original_play_frequency_continuous_blocking(frequency)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n return pyodide.ffi.run_sync(promise)\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n return await promise\n\n return loop.run_until_complete(wait_promise())\n\n# 替换为同步版本\nsound.play_frequency_continuous_blocking = _sync_play_frequency_continuous_blocking\n\n# 创建同步版本的play_frequency_blocking包装函数\n_original_play_frequency_blocking = sound.play_frequency_blocking\n\ndef _sync_play_frequency_blocking(frequency, duration):\n """同步版本的play_frequency_blocking,会等待频率播放完成"""\n promise = _original_play_frequency_blocking(frequency, duration)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n\n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 创建同步版本的play_note_list_blocking包装函数\n_original_play_note_list_blocking = sound.play_note_list_blocking\n\ndef _sync_play_note_list_blocking(note_list):\n """同步版本的play_note_list_blocking,会等待音符列表播放完成"""\n promise = _original_play_note_list_blocking(note_list)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n\n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 替换为同步版本\nsound.play_frequency_blocking = _sync_play_frequency_blocking\nsound.play_note_list_blocking = _sync_play_note_list_blocking\n ')}catch(e){if(SIe(e))return AIe=!1,!1;throw e}return window.pyodide.globals.get("sound")?(AIe=!1,!0):(AIe=!1,console.error("Sound对象注入失败:验证时未找到对象"),!1)}catch(e){return AIe=!1,SIe(e)?!1:(console.error("注入sound对象到Python环境失败:",e),!1)}return!1}function OIe(){!function(){const e=Element.prototype.remove;if(Element.prototype.remove=function(){if(this)if("function"==typeof this.remove)try{return e.call(this)}catch(e){console.warn("remove()调用失败,已安全处理:",e)}else console.warn("对象没有remove方法,已安全忽略");else console.warn("尝试在null对象上调用remove(),已安全忽略")},window.$&&window.$.fn&&window.$.fn.remove){const e=window.$.fn.remove;window.$.fn.remove=function(){if(!this||0===this.length)return console.warn("尝试在空的jQuery对象上调用remove(),已安全忽略"),this;try{return e.call(this)}catch(e){return console.warn("jQuery remove()调用失败,已安全处理:",e),this}}}}(),function(){if(CIe())return;const e=setInterval(()=>{CIe()&&clearInterval(e)},100);setTimeout(()=>{clearInterval(e)},1e4)}()}function MIe(){if(window.pyodide&&window.pyodide.globals)try{window.pyodide.globals.get("sound")||CIe()}catch(e){if(SIe(e))return;console.warn("强制注入检查失败:",e)}}function kIe(){const e=window.eval;if(window.eval=function(t){if("string"==typeof t&&t.includes("sound."))try{MIe()}catch(e){SIe(e)||console.warn("执行拦截时出错:",e)}return e.call(this,t)},window.pyodide&&window.pyodide.runPython){const e=window.pyodide.runPython;window.pyodide.runPython=function(t){if("string"==typeof t&&t.includes("sound."))try{MIe()}catch(e){SIe(e)||console.warn("执行拦截时出错:",e)}return e.call(this,t)}}}function RIe(){document.getElementById("modalOverlay").style.display="none"}function NIe(e){const t=document.getElementById("imported-models");if([...t.children].some(t=>t.dataset.modelName===e))return;const n=document.createElement("div");n.className="model-item",n.dataset.modelName=e,n.innerHTML=`\n
\n ${e}\n \n
\n `,n.querySelector(".delete-model").addEventListener("click",()=>{!async function(e){try{await p3.io.removeModel(`indexeddb://${e}`);const t=document.querySelector(`.model-item[data-model-name="${e}"]`);t&&t.remove()}catch(e){console.error("删除模型失败:",e),alert("删除模型失败: "+e.message)}}(e)}),t.appendChild(n)}async function DIe(){try{const e=await p3.io.listModels();document.getElementById("imported-models").innerHTML="";for(const[t]of Object.entries(e)){NIe(t.replace("indexeddb://",""))}}catch(e){console.error("加载模型列表失败:",e)}}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{OIe(),kIe()}):(OIe(),kIe()),window.addEventListener("pyodideLoaded",()=>{OIe(),kIe()}),setTimeout(()=>{OIe(),kIe()},1e3),window.addEventListener("load",()=>{OIe(),kIe()}),setInterval(MIe,5e3),fIe.init(),window.tf=Ue,async function(){const e=document.createElement("div");e.id="modalOverlay",Object.assign(e.style,{display:"none",position:"fixed",top:"0",left:"0",width:"100%",height:"100%",backgroundColor:"rgba(0,0,0,0.5)",zIndex:"20011216",pointerEvents:"auto"});const t=document.createElement("div");Object.assign(t.style,{backgroundColor:"white",width:"60%",maxHeight:"80%",margin:"12vh auto",padding:"20px 30px",borderRadius:"12px"}),t.innerHTML='\n

选择本地模型

\n
\x3c!-- 新增 min-height 和 position --\x3e\n \n \n
\n 导入模型名称:\n \n \n
\n
\n
\n ❌ 模型结构描述文件(model.json)\n\n
未选择
\n
\n
\n ❌ 权重文件(model.weights.bin)\n
0 个已选择
\n
\n
\n
\n
\n
\n

已导入模型

\n
\n \n \n
\n
\n
\n
加载中...
\n
\n
\n
\n \n
\n
\n ',e.appendChild(t),document.body.appendChild(e),t.querySelector(".close-btn").addEventListener("click",RIe),e.addEventListener("click",t=>{t.target===e&&RIe()});const n=document.getElementById("model-upload"),i=document.getElementById("model-handle"),r=document.getElementById("output");let s=null,o=[];n.addEventListener("change",async e=>{const t=e.target.files,n=document.getElementById("json-status"),i=document.getElementById("weights-status");n.querySelector("span").textContent="❌ 模型结构描述文件(model.json)",n.querySelector("div").textContent="未选择",i.querySelector("span").textContent="❌ 权重文件(model.weights.bin)",i.querySelector("div").textContent="0 个已选择",o=[];for(let e=0;e0&&(i.querySelector("span").textContent="✅ 权重文件(model.weights.bin)",i.querySelector("div").textContent=`${o.length} 个已选择`)}else alert("未找到 model.json 文件")}),i.addEventListener("click",async()=>{try{const e=document.getElementById("model-name").value||"mixly-model",t=await Cee(p3.io.browserFiles([s,...o]));await t.save(`indexeddb://${e}`),DIe(),r.innerHTML=`模型已成功保存为 ${e}!`}catch(e){r.innerHTML=`保存模型出错: ${e.message}`,console.error(e)}}),t.querySelector("#refresh-models").addEventListener("click",DIe),t.querySelector("#clear-models").addEventListener("click",async()=>{confirm("确定要删除所有模型吗?此操作不可恢复!")&&await async function(){try{const e=await p3.io.listModels(),t=Object.keys(e).map(e=>e.replace("indexeddb://","")).map(e=>p3.io.removeModel(`indexeddb://${e}`));await Promise.all(t),document.getElementById("imported-models").innerHTML=""}catch(e){console.error("清空模型失败:",e),alert("清空模型失败: "+e.message)}}()})}(),(async()=>{await DIe()})();Ve.getMainWorkspace().registerButtonCallback("handleModels",function(){DIe(),document.getElementById("modalOverlay").style.display="block"}),window.prepare_qmyixtxi=async function(e){let t=null;window.featureExtractor?t=window.featureExtractor:(t=await foe("../common/media/tfmodel/model.json"),window.featureExtractor=t);const n=e.resizeBilinear([224,224]).toFloat().div(p3.scalar(127.5)).sub(p3.scalar(1)).expandDims(0);return window.featureExtractor.predict(n)};const FIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_PLAY).appendField(new Ve.FieldDropdown(this.getSoundOptions),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_TOOLTIP)},getSoundOptions:function(){const e=[["Meow","Meow"],[Ve.Msg.MIXLY_SOUND_RECORD_OPTION,"record"]];if(window.sound&&window.sound.builtin){Object.keys(window.sound.builtin).filter(e=>e.startsWith("recording")).forEach(t=>{e.push([t,t])})}return e}},LIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_PLAY).appendField(new Ve.FieldDropdown(this.getSoundOptions),"SOUND").appendField(Ve.Msg.MIXLY_SOUND_WAIT_FINISH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_WAIT_TOOLTIP)},getSoundOptions:function(){const e=[["Meow","Meow"],[Ve.Msg.MIXLY_SOUND_RECORD_OPTION,"record"]];if(window.sound&&window.sound.builtin){Object.keys(window.sound.builtin).filter(e=>e.startsWith("recording")).forEach(t=>{e.push([t,t])})}return e}},PIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_STOP_ALL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_STOP_ALL_TOOLTIP)}},BIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_SET_TO).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_SOUND_EFFECT_PITCH,"pitch"],[Ve.Msg.MIXLY_SOUND_EFFECT_PAN,"pan"]]),"EFFECT").appendField(Ve.Msg.MIXLY_SOUND_EFFECT_ADD_BY),this.appendValueInput("VALUE").setCheck(null),this.appendDummyInput(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_EFFECT_ADD_TOOLTIP)}},$Ie={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_SET_TO).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_SOUND_EFFECT_PITCH,"pitch"],[Ve.Msg.MIXLY_SOUND_EFFECT_PAN,"pan"]]),"EFFECT").appendField(Ve.Msg.MIXLY_SOUND_EFFECT_SET_TO),this.appendValueInput("VALUE").setCheck(null),this.appendDummyInput(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_EFFECT_SET_TOOLTIP)}},UIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_CLEAR_EFFECTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_EFFECT_CLEAR_TOOLTIP)}},VIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_VOLUME_INCREASE),this.appendValueInput("VALUE").setCheck(null),this.appendDummyInput(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_VOLUME_ADD_TOOLTIP)}},zIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_VOLUME_SET),this.appendValueInput("VALUE").setCheck(null),this.appendDummyInput(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_VOLUME_SET_TOOLTIP)}},jIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_VOLUME_GET),this.setOutput(!0,"Volume"),this.setTooltip(Ve.Msg.MIXLY_SOUND_VOLUME_GET_TOOLTIP)}},YIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_RECORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_RECORD_TOOLTIP)}},GIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_PLAY).appendField(Ve.Msg.MIXLY_SOUND_FREQUENCY),this.appendValueInput("FREQUENCY").setCheck(Number).setAlign(Ve.ALIGN_RIGHT),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_DURATION),this.appendValueInput("DURATION").setCheck(Number).setAlign(Ve.ALIGN_RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_FREQUENCY_TOOLTIP)}},HIe={init:function(){this.setColour("#acc159"),this.appendValueInput("FREQUENCY").setCheck(Number).appendField(Ve.Msg.MIXLY_SOUND_PLAY_FREQUENCY_NO_DURATION),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_FREQUENCY_NO_DURATION_TOOLTIP)}},WIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_PLAY_NOTE_LIST).appendField(new Ve.FieldDropdown([["DADADADUM","DADADADUM"],["BIRTHDAY","BIRTHDAY"],["BA_DING","BA_DING"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]]),"NOTE_LIST"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_NOTE_LIST_TOOLTIP)}},XIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(new Ve.FieldDropdown([["NOTE_A4","440"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"]]),"NOTE"),this.setOutput(!0,null),this.setOutputShape(Ve.OUTPUT_SHAPE_ROUND),this.setTooltip(Ve.Msg.MIXLY_SOUND_NOTE_TOOLTIP)}};Object.assign(Ve.Variables,Ye),Object.assign(Ve.Procedures,oc),Ve.Python=ac,Ve.generator=ac,ze.Profile.default={},Object.assign(Ve.Blocks,e,t,n,i,r,s,o,a,l,u,c,d,h,A,S,C,O,M,k,R,N,D,F,L,P,B,U,V,ne,re),Object.assign(Ve.Python.forBlock,p,f,m,g,_,y,v,b,T,x,E,w,I,z,j,Y,dy,G,H,W,X,q,K,Z,Q,J,ee,te,ie,se);const qIe={sound_play:FIe,sound_play_wait:LIe,sound_stop_all:PIe,sound_effect_add:BIe,sound_effect_set:$Ie,sound_effect_clear:UIe,sound_volume_add:VIe,sound_volume_set:zIe,sound_volume_get:jIe,sound_record:YIe,sound_play_frequency:GIe,sound_play_frequency_no_duration:HIe,sound_play_note_list:WIe,sound_note:XIe},KIe={sound_play:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");const n=e.getFieldValue("SOUND");return"record"===n?"sound.record()\n":`sound.play("${n}")\n`},sound_play_wait:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");const n=e.getFieldValue("SOUND");return"record"===n?"sound.record()\n":`sound.play_blocking("${n}")\n`},sound_stop_all:function(e,t){return t.definitions_.import_sound||(t.definitions_.import_sound="import sound"),"sound.stop_all()\n"},sound_effect_add:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");const n=e.getFieldValue("EFFECT"),i=e.getInputTargetBlock("VALUE");let r;return r=i?"math_number"===i.type?i.getFieldValue("NUM")||"10":t.valueToCode(i,"VALUE",t.ORDER_NONE)||"10":"10",`sound.adjust_effect("${n}", ${r})\n`},sound_effect_set:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");const n=e.getFieldValue("EFFECT"),i=e.getInputTargetBlock("VALUE");let r;return r=i?"math_number"===i.type?i.getFieldValue("NUM")||"100":t.valueToCode(i,"VALUE",t.ORDER_NONE)||"100":"100",`sound.set_effect("${n}", ${r})\n`},sound_effect_clear:function(e,t){return t.definitions_.import_sound||(t.definitions_.import_sound="import sound"),"sound.clear_effects()\n"},sound_volume_add:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.adjust_volume(${t.valueToCode(e,"VALUE",t.ORDER_NONE)||"0"})\n`},sound_volume_set:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.set_volume(${t.valueToCode(e,"VALUE",t.ORDER_NONE)||"100"})\n`},sound_volume_get:function(e,t){return t.definitions_.import_sound||(t.definitions_.import_sound="import sound"),["sound.get_volume()",t.ORDER_ATOMIC]},sound_record:function(e,t){return t.definitions_.import_sound||(t.definitions_.import_sound="import sound"),"sound.record()\n"},sound_play_frequency:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.play_frequency(${t.valueToCode(this,"FREQUENCY",t.ORDER_ATOMIC)}, ${t.valueToCode(this,"DURATION",t.ORDER_ATOMIC)})\n`},sound_play_frequency_no_duration:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.play_frequency_no_duration(${t.valueToCode(this,"FREQUENCY",t.ORDER_ATOMIC)})\n`},sound_play_note_list:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.play_note_list("${this.getFieldValue("NOTE_LIST")}")\n`},sound_note:function(e,t){return[this.getFieldValue("NOTE"),t.ORDER_ATOMIC]}};Object.assign(Ve.Blocks,qIe),Object.assign(Ve.Python.forBlock,KIe),window.sound=wIe})()})(); \ No newline at end of file +const Lwe={"tfjs-core":v3.version_core,"tfjs-backend-cpu":uce,"tfjs-backend-webgl":V_e,"tfjs-data":Nae,"tfjs-layers":dee,"tfjs-converter":xoe,tfjs:"4.22.0"};var Pwe=__webpack_require__(99778);const Bwe=Symbol("rowContextKey"),$we=hG({tag:{type:String,default:"div"},gutter:{type:Number,default:0},justify:{type:String,values:["start","center","end","space-around","space-between","space-evenly"],default:"start"},align:{type:String,values:["top","middle","bottom"]}}),Uwe=dS({name:"ElRow"});const Vwe=AG(HH(dS({...Uwe,props:$we,setup(e){const t=e,n=ij("row"),i=ak(()=>t.gutter);eO(Bwe,{gutter:i});const r=ak(()=>{const e={};return t.gutter?(e.marginRight=e.marginLeft=`-${t.gutter/2}px`,e):e}),s=ak(()=>[n.b(),n.is(`justify-${t.justify}`,"start"!==t.justify),n.is(`align-${t.align}`,!!t.align)]);return(e,t)=>(uM(),gM(uC(e.tag),{class:CE(CI(s)),style:EE(CI(r))},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["class","style"]))}}),[["__file","row.vue"]])),zwe=hG({tag:{type:String,default:"div"},span:{type:Number,default:24},offset:{type:Number,default:0},pull:{type:Number,default:0},push:{type:Number,default:0},xs:{type:[Number,Object],default:()=>({})},sm:{type:[Number,Object],default:()=>({})},md:{type:[Number,Object],default:()=>({})},lg:{type:[Number,Object],default:()=>({})},xl:{type:[Number,Object],default:()=>({})}}),jwe=dS({name:"ElCol"});const Ywe=AG(HH(dS({...jwe,props:zwe,setup(e){const t=e,{gutter:n}=tO(Bwe,{gutter:ak(()=>0)}),i=ij("col"),r=ak(()=>{const e={};return n.value&&(e.paddingLeft=e.paddingRight=n.value/2+"px"),e}),s=ak(()=>{const e=[];["span","offset","pull","push"].forEach(n=>{const r=t[n];oj(r)&&("span"===n?e.push(i.b(`${t[n]}`)):r>0&&e.push(i.b(`${n}-${t[n]}`)))});return["xs","sm","md","lg","xl"].forEach(n=>{oj(t[n])?e.push(i.b(`${n}-${t[n]}`)):Jx(t[n])&&Object.entries(t[n]).forEach(([t,r])=>{e.push("span"!==t?i.b(`${n}-${t}-${r}`):i.b(`${n}-${r}`))})}),n.value&&e.push(i.is("guttered")),[i.b(),e]});return(e,t)=>(uM(),gM(uC(e.tag),{class:CE(CI(s)),style:EE(CI(r))},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["class","style"]))}}),[["__file","col.vue"]])),Gwe={class:"vis-left-panel-inner-wrapper"},Hwe={class:"card-header"},Wwe={key:0,style:{margin:"auto"}},Xwe={key:1,style:{margin:"auto"}},qwe=["src"],Kwe={__name:"ModelArea",emits:["shot"],setup(e,{expose:t,emit:n}){const i=n,r=tO("picList"),s=tO("shotList"),o=tO("states"),a=EI(r.value.map((e,t)=>({name:e.title,progress:0}))),l=["#FF6F61","#42A5F5","#66BB6A","#FFA726","#AB47BC"];let u,c,d=[];setInterval(async()=>{if(2!==o.value.isTraining)return;if(""!==p.value)return;i("shot");const e=s.value[s.value.length-1];if(!e||"data:,"===e)return void TW.error("未获取到有效样本");const t=new Image;t.src=e,await new Promise(e=>{t.onload=e});const n=v3.browser.fromPixels(t);let r=v3.image.resizeBilinear(n,[224,224]).expandDims(0).div(255),l=u.predict(r);const d=c.predict(l),h=await d.data();a.value=[...a.value.map((e,t)=>({...e,progress:Number((100*h[t]).toFixed(2))}))],n.dispose(),l.dispose(),d.dispose()},200);const h=EI(!1),p=EI(""),f=EI(""),m=EI("20%"),g=EI("20%");async function _(){if(c)try{await c.save(`downloads://${""==S.value?"my-model":S.value}`),TW.success("模型导出成功")}catch(e){TW.error(`模型导出失败: ${e.message}`)}else TW.error("模型尚未训练完成")}async function y(e){const t=new FileReader;return t.onload=async e=>{if(p.value=e.target.result,!u||!c)return TW.error("请先完成模型训练"),!1;const t=new window.Image;t.src=p.value,await new Promise(e=>t.onload=e);const n=v3.browser.fromPixels(t);let i=v3.image.resizeBilinear(n,[224,224]).expandDims(0).div(255),r=u.predict(i);const s=c.predict(r),o=await s.data();a.value=[...a.value.map((e,t)=>({...e,progress:Number((100*o[t]).toFixed(2))}))];const l=o.indexOf(Math.max(...o));f.value=a.value[l]?.name||"未知",n.dispose(),r.dispose(),s.dispose()},t.readAsDataURL(e),!1}function v(){p.value=""}let b=0,T=0,x=0,E=0;function w(e){if(0!==e.button)return;b=e.clientX,T=e.clientY;const t=document.getElementById("vis-left-panel-wrapper").style.top,n=document.getElementById("vis-left-panel-wrapper").style.right;x=t.endsWith("%")?window.innerHeight*Number.parseFloat(t)/100:Number.parseFloat(t),E=n.endsWith("%")?window.innerWidth*Number.parseFloat(n)/100:Number.parseFloat(n),document.addEventListener("mousemove",I),document.addEventListener("mouseup",A)}function I(e){const t=e.clientX-b,n=e.clientY-T;let i=x+n,r=E-t;i=Math.max(0,Math.min(window.innerHeight-100,i)),r=Math.max(0,Math.min(window.innerWidth-200,r)),m.value=`${i}px`,g.value=`${r}px`}function A(){document.removeEventListener("mousemove",I),document.removeEventListener("mouseup",A)}t({train:async function(){const e=document.getElementById("vis-left-panel");e&&(e.innerHTML="训练准备中……"),h.value=!0,console.log("正在加载Mobilenet……"),u=await boe(Rx.join(ze.Env.boardDirPath,"teachableModel/model.json")),console.log("Mobilenet加载完成。"),e&&(e.innerHTML="");const t=r.value.length;let n=null,i=null;c=Pee(),c.add(xie({inputShape:[1280],units:128,activation:"relu"})),c.add(xie({units:t,activation:"softmax"})),c.compile({optimizer:v3.train.adam(.001),loss:"categoricalCrossentropy",metrics:["accuracy"]});for(let e=0;e{o.onload=e});const a=v3.browser.fromPixels(o),l=a.resizeBilinear([224,224]).toFloat().div(v3.scalar(127.5)).sub(v3.scalar(1)).expandDims(0);let c=u.predict(l);const d=v3.oneHot(v3.tensor1d([e]).toInt(),t);if(null==n)n=c.clone(),i=d.clone();else{const e=n;n=e.concat(c,0),e.dispose();const t=i;i=t.concat(d,0),t.dispose()}d.dispose(),a.dispose()}}d=[];const s=document.getElementById("vis-left-panel")||{name:"训练过程",tab:"训练"};await c.fit(n,i,{epochs:20,batchSize:16,shuffle:!0,validationSplit:.2,callbacks:Pwe.show.fitCallbacks(s,["loss","acc","val_loss","val_acc","accuracy","val_accuracy"],{callbacks:["onEpochEnd"]})}),console.log("训练完成"),a.value=r.value.filter(e=>!0!==e.disabled).map((e,t)=>({name:e.title,progress:0})),console.log(a.value),o.value.isTraining=2}});const S=EI("");async function C(){if(c)try{await c.save(`indexeddb://${""==S.value?"my-model":S.value}`),TW.success("模型保存成功")}catch(e){TW.error(`模型保存失败: ${e.message}`)}else TW.error("模型尚未训练完成")}return(e,t)=>(uM(),mM("div",null,[PA(xM("div",{id:"vis-left-panel-wrapper",class:"vis-left-panel-wrapper",style:EE(`right: ${g.value}; top: ${m.value};`)},[xM("div",Gwe,[xM("div",{class:"vis-left-panel-title",style:{},onMousedown:w},[t[4]||(t[4]=xM("span",null," 训练过程可视化 ",-1)),EM(CI(NX),{size:"small",plain:"",onClick:t[0]||(t[0]=e=>h.value=!1)},{default:LA(()=>t[3]||(t[3]=[SM(" 隐藏 ")])),_:1})],32),t[5]||(t[5]=xM("div",{id:"vis-left-panel",class:"vis-left-panel"},"训练准备中……",-1))])],4),[[Xk,h.value]]),2===CI(o).isTraining?(uM(),gM(CI(PX),{key:0,class:"model-area"},{header:LA(()=>[xM("div",Hwe,[t[8]||(t[8]=SM(" 模型 ")),h.value?OM("v-if",!0):(uM(),gM(CI(NX),{key:0,size:"small",style:{"margin-left":"10px"},type:"primary",plain:"",onClick:t[1]||(t[1]=e=>h.value=!0)},{default:LA(()=>t[6]||(t[6]=[SM(" 显示训练过程 ")])),_:1})),2===CI(o).isTraining?(uM(),gM(CI(NX),{key:1,size:"small",style:{"margin-left":"10px"},type:"success",plain:"",onClick:_},{default:LA(()=>t[7]||(t[7]=[SM(" 模型导出至本地 ")])),_:1})):OM("v-if",!0)])]),default:LA(()=>[EM(CI(Vwe),{class:"model-item",style:{"flex-direction":"column","align-items":"flex-center"}},{default:LA(()=>[EM(CI(Vwe),null,{default:LA(()=>[EM(CI(Ywe),{span:6,style:{display:"flex","align-items":"center","text-align":"right"}},{default:LA(()=>t[9]||(t[9]=[SM(" 名称: ")])),_:1}),EM(CI(Ywe),{span:12},{default:LA(()=>[EM(CI(jq),{modelValue:S.value,"onUpdate:modelValue":t[2]||(t[2]=e=>S.value=e),placeholder:"请输入模型名称"},null,8,["modelValue"])]),_:1}),EM(CI(Ywe),{span:4,style:{display:"flex","align-items":"center"}},{default:LA(()=>[EM(CI(NX),{style:{margin:"auto 5px"},type:"primary",plain:"",size:"small",onClick:C},{default:LA(()=>t[10]||(t[10]=[SM(" 保存 ")])),_:1})]),_:1})]),_:1})]),_:1}),EM(CI(Vwe),{class:"model-item"},{default:LA(()=>t[11]||(t[11]=[xM("b",null,"输入",-1)])),_:1}),EM(CI(Vwe),{class:"model-item"},{default:LA(()=>[p.value?(uM(),mM("div",Xwe,[t[16]||(t[16]=SM(" 下方上传图片 ")),t[17]||(t[17]=xM("br",null,null,-1)),EM(CI(NX),{size:"small",type:"success",plain:"",onClick:v},{default:LA(()=>t[14]||(t[14]=[SM(" 切换为上方拍摄内容 ")])),_:1}),EM(CI(F2),{"show-file-list":!1,accept:"image/*","before-upload":y},{default:LA(()=>[EM(CI(NX),{size:"small",type:"success"},{default:LA(()=>t[15]||(t[15]=[SM(" 重新上传一张 ")])),_:1})]),_:1}),xM("img",{src:p.value,alt:"用户上传图片",style:{"max-width":"100%","max-height":"150px","border-radius":"10px"}},null,8,qwe)])):(uM(),mM("div",Wwe,[t[13]||(t[13]=SM(" 上方拍摄内容 ")),EM(CI(F2),{"show-file-list":!1,accept:"image/*","before-upload":y},{default:LA(()=>[EM(CI(NX),{size:"small",type:"success"},{default:LA(()=>t[12]||(t[12]=[SM(" 切换为上传图片 ")])),_:1})]),_:1})]))]),_:1}),EM(CI(Vwe),{class:"model-item"},{default:LA(()=>t[18]||(t[18]=[xM("b",null,"输出",-1)])),_:1}),(uM(!0),mM(iM,null,pC(a.value,(e,t)=>(uM(),gM(CI(Vwe),{key:`${e.name}-${t}`,class:"model-item"},{default:LA(()=>[EM(CI(Ywe),{span:6},{default:LA(()=>[SM(GE(e.name),1)]),_:2},1024),EM(CI(Ywe),{span:18},{default:LA(()=>[EM(CI(WJ),{class:"progress","text-inside":!0,"stroke-width":20,percentage:e.progress,color:l[t%l.length],striped:"",format:e=>`${e}%`},null,8,["percentage","color","format"])]),_:2},1024)]),_:2},1024))),128))]),_:1})):OM("v-if",!0)]))}},Zwe=(0,_3.A)(Kwe,[["__scopeId","data-v-5abb0202"]]),Qwe=hG({trigger:EZ.trigger,triggerKeys:EZ.triggerKeys,placement:mJ.placement,disabled:EZ.disabled,visible:TZ.visible,transition:TZ.transition,popperOptions:mJ.popperOptions,tabindex:mJ.tabindex,content:TZ.content,popperStyle:TZ.popperStyle,popperClass:TZ.popperClass,enterable:{...TZ.enterable,default:!0},effect:{...TZ.effect,default:"light"},teleported:TZ.teleported,appendTo:TZ.appendTo,title:String,width:{type:[String,Number],default:150},offset:{type:Number,default:void 0},showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0},showArrow:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},"onUpdate:visible":{type:Function}}),Jwe={"update:visible":e=>sj(e),"before-enter":()=>!0,"before-leave":()=>!0,"after-enter":()=>!0,"after-leave":()=>!0},eIe=dS({name:"ElPopover"}),tIe=dS({...eIe,props:Qwe,emits:Jwe,setup(e,{expose:t,emit:n}){const i=e,r=ak(()=>i["onUpdate:visible"]),s=ij("popover"),o=EI(),a=ak(()=>{var e;return null==(e=CI(o))?void 0:e.popperRef}),l=ak(()=>[{width:WH(i.width)},i.popperStyle]),u=ak(()=>[s.b(),i.popperClass,{[s.m("plain")]:!!i.content}]),c=ak(()=>i.transition===`${s.namespace.value}-fade-in-linear`),d=()=>{n("before-enter")},h=()=>{n("before-leave")},p=()=>{n("after-enter")},f=()=>{n("update:visible",!1),n("after-leave")};return t({popperRef:a,hide:()=>{var e;null==(e=o.value)||e.hide()}}),(e,t)=>(uM(),gM(CI(PQ),NM({ref_key:"tooltipRef",ref:o},e.$attrs,{trigger:e.trigger,"trigger-keys":e.triggerKeys,placement:e.placement,disabled:e.disabled,visible:e.visible,transition:e.transition,"popper-options":e.popperOptions,tabindex:e.tabindex,content:e.content,offset:e.offset,"show-after":e.showAfter,"hide-after":e.hideAfter,"auto-close":e.autoClose,"show-arrow":e.showArrow,"aria-label":e.title,effect:e.effect,enterable:e.enterable,"popper-class":CI(u),"popper-style":CI(l),teleported:e.teleported,"append-to":e.appendTo,persistent:e.persistent,"gpu-acceleration":CI(c),"onUpdate:visible":CI(r),onBeforeShow:d,onBeforeHide:h,onShow:p,onHide:f}),{content:LA(()=>[e.title?(uM(),mM("div",{key:0,class:CE(CI(s).e("title")),role:"title"},GE(e.title),3)):OM("v-if",!0),mC(e.$slots,"default",{},()=>[SM(GE(e.content),1)])]),default:LA(()=>[e.$slots.reference?mC(e.$slots,"reference",{key:0}):OM("v-if",!0)]),_:3},16,["trigger","trigger-keys","placement","disabled","visible","transition","popper-options","tabindex","content","offset","show-after","hide-after","auto-close","show-arrow","aria-label","effect","enterable","popper-class","popper-style","teleported","append-to","persistent","gpu-acceleration","onUpdate:visible"]))}});const nIe=(e,t)=>{const n=t.arg||t.value,i=null==n?void 0:n.popperRef;i&&(i.triggerRef=e)};var iIe,rIe;const sIe=AG(HH(tIe,[["__file","popover.vue"]]),{directive:(rIe="popover",(iIe={mounted(e,t){nIe(e,t)},updated(e,t){nIe(e,t)}}).install=e=>{e.directive(rIe,iIe)},iIe)}),oIe=hG({type:{type:String,values:["primary","success","info","warning","danger",""],default:""},size:{type:String,values:pG,default:""},truncated:Boolean,lineClamp:{type:[String,Number]},tag:{type:String,default:"span"}}),aIe=dS({name:"ElText"}),lIe=dS({...aIe,props:oIe,setup(e){const t=e,n=EI(),i=tX(),r=ij("text"),s=ak(()=>[r.b(),r.m(t.type),r.m(i.value),r.is("truncated",t.truncated),r.is("line-clamp",!rj(t.lineClamp))]),o=()=>{var e,i,r,s,o,a,l;if(kC().title)return;let u=!1;const c=(null==(e=n.value)?void 0:e.textContent)||"";if(t.truncated){const e=null==(i=n.value)?void 0:i.offsetWidth,t=null==(r=n.value)?void 0:r.scrollWidth;e&&t&&t>e&&(u=!0)}else if(!rj(t.lineClamp)){const e=null==(s=n.value)?void 0:s.offsetHeight,t=null==(o=n.value)?void 0:o.scrollHeight;e&&t&&t>e&&(u=!0)}u?null==(a=n.value)||a.setAttribute("title",c):null==(l=n.value)||l.removeAttribute("title")};return KS(o),QS(o),(e,t)=>(uM(),gM(uC(e.tag),{ref_key:"textRef",ref:n,class:CE(CI(s)),style:EE({"-webkit-line-clamp":e.lineClamp})},{default:LA(()=>[mC(e.$slots,"default")]),_:3},8,["class","style"]))}});const uIe=AG(HH(lIe,[["__file","text.vue"]])),cIe={__name:"TrainArea",emits:["train"],setup(e,{emit:t}){const n=t,i=tO("picList"),r=tO("states"),s=EI(!1),o=EI("待训练……");function a(){s.value&&(n("train"),r.value.isTraining=1)}return DO([i.value,()=>r.value.isTraining],()=>{s.value=function(){const e=Array.isArray(i.value)?i.value.filter(e=>!1===e.disabled):[];return 1!==r.value.isTraining&&e.length>1&&e.every(e=>Array.isArray(e.list)&&e.list.length>0)}(),0===r.value.isTraining?o.value="待训练……":1===r.value.isTraining?o.value="训练中……":2===r.value.isTraining&&(o.value="训练完成")},{immediate:!0}),(e,t)=>(uM(),gM(CI(PX),{class:"train-area"},{header:LA(()=>t[0]||(t[0]=[xM("div",{class:"card-header"}," 训练 ",-1)])),default:LA(()=>[EM(CI(sIe),{class:"box-item",placement:"bottom",disabled:s.value},{reference:LA(()=>[EM(CI(NX),{disabled:!s.value,type:"primary",style:{"max-width":"100%"},onClick:a},{default:LA(()=>t[1]||(t[1]=[SM(" 训练模型 ")])),_:1},8,["disabled"])]),default:LA(()=>[EM(CI(JH),null,{default:LA(()=>[EM(CI(TH))]),_:1}),t[2]||(t[2]=SM(" 至少有两个类别,且每个类别都需有图像样本。 "))]),_:1},8,["disabled"]),t[3]||(t[3]=xM("br",null,null,-1)),EM(CI(uIe),null,{default:LA(()=>[SM(GE(o.value),1)]),_:1})]),_:1}))}},dIe=(0,_3.A)(cIe,[["__scopeId","data-v-1deba862"]]),hIe={class:"main-splitter"},pIe={class:"class-area"},fIe={class:"add-class-content"},mIe={__name:"teachableModel",setup(e){const t=EI([]);eO("shotList",t);const n=EI([{title:"类别 1",list:[],disabled:!1},{title:"类别 2",list:[],disabled:!1}]);eO("picList",n);async function i(e,i){n.value[e].disabled?TW.error("该类别已被禁用"):i?n.value[e].list.push(i):(await a(),t.value[t.value.length-1]&&"data:,"!==t.value[t.value.length-1]?n.value[e].list.push(t.value[t.value.length-1]):TW.error("未获取到有效样本"))}function r(){n.value.push({title:`类别 ${n.value.length+1}`,list:[],disabled:!1})}eO("states",EI({isTraining:0}));const s=EI(!0),o=EI(null);async function a(){await(o.value?.captureShot())}const l=EI(null);async function u(){await l.value.train()}return(e,t)=>(uM(),mM("div",hIe,[EM(CI(jW),null,{default:LA(()=>[EM(CI(YW),{size:"70%",min:200},{default:LA(()=>[xM("div",pIe,[(uM(!0),mM(iM,null,pC(n.value,(e,r)=>(uM(),gM(f3,{key:r,title:e.title,"pic-list":e.list,disabled:e.disabled,onAddSample:e=>i(r,e),onDeleteSample:e=>n.value[r].list=n.value[r].list.filter(t=>t!==e),onDeleteClass:e=>function(e){n.value.splice(e,1)}(r),onDisableClass:e=>function(e){n.value[e].disabled=!n.value[e].disabled}(r),onRenameClass:e=>function(e,t){n.value[e].title=t}(r,e),onClearSamples:e=>function(e){n.value[e].list=[]}(r)},{default:LA(()=>[EM(CI(NX),{type:"primary",size:"mini",onClick:e=>i(r)},{default:LA(()=>t[0]||(t[0]=[SM(" 添加样本 ")])),_:2},1032,["onClick"])]),_:2},1032,["title","pic-list","disabled","onAddSample","onDeleteSample","onDeleteClass","onDisableClass","onRenameClass","onClearSamples"]))),128)),EM(CI(PX),{class:"add-class-card",onClick:r},{default:LA(()=>[xM("div",fIe,[t[1]||(t[1]=SM(" 添加一个类别 ")),EM(CI(JH),null,{default:LA(()=>[EM(CI(XG))]),_:1})])]),_:1})])]),_:1}),EM(CI(YW),{min:200},{default:LA(()=>[EM(y3,{ref_key:"cameraBoxRef",ref:o},null,512),EM(Rk,{name:"fade-scale"},{default:LA(()=>[s.value?(uM(),gM(Zwe,{key:0,ref_key:"modelAreaRef",ref:l,onShot:a},null,512)):OM("v-if",!0)]),_:1}),EM(dIe,{onTrain:u})]),_:1})]),_:1})]))}},gIe=(0,_3.A)(mIe,[["__scopeId","data-v-02bafc86"]]),_Ie={__name:"App",setup:e=>(e,t)=>(uM(),gM(CI(CG),null,{default:LA(()=>[EM(gIe)]),_:1}))};class yIe{static{ze.HTMLTemplate.add("html/statusbar/loader.html",new ze.HTMLTemplate('\r\n
\r\n
\r\n

{{d.msg.loading}}

\r\n
')),this.pythonShell=null,this.kernelLoaded=!1,this.$loader=Dx()(ze.HTMLTemplate.get("html/statusbar/loader.html").render({msg:{loading:Ve.Msg.PYTHON_PYODIDE_LOADING}})),this.statusBarImage=null,this.statusBarFileSystem=null,this.init=async function(){ze.app.getFooterBar().getContent().after(this.$loader);const e=Rx.relative(ze.Env.indexDirPath,ze.Env.boardDirPath),t=new dP({rootPath:Rx.join(e,"deps"),language:"python3"}),n=await t.kernelAvailable();if(!n)return;await n.init(),await n.loaded(),this.loader=t,this.kernel=n,this.statusBarImage=hP.init(),this.statusBarFileSystem=qz.init(),this.statusBarTool=Kz.init();oN(_Ie).mount(this.statusBarTool.getContent()[0]),this.statusBarGame=Zz.init(),this.pythonShell=new yIe,this.pyodide=window.pyodide,this.interruptBuffer=new Uint8Array(new ArrayBuffer(1)),this.pyodide.setInterruptBuffer(this.interruptBuffer),this.kernelLoaded=!0,this.$loader.remove(),this.$loader&&this.$loader.remove&&this.$loader.remove(),this.$loader=null},this.run=async function(){if(!this.kernelLoaded)return;const e=ze.Workspace.getMain().getEditorsManager().getActive().getCode();return this.pythonShell.run(e)},this.stop=async function(){if(this.kernelLoaded)return this.pythonShell.stop()}}#C=null;#O=null;#M=null;#k={row:0,column:0};#R="";#N=null;#D=null;#F=!1;#L=!1;#P=null;#B=()=>this.#$();#U=[{name:"REPL-Enter",bindKey:"Enter",exec:e=>{if(e.getSession().selection.getCursor().row===this.#k.row){const e=this.#C.getEndPos();let t=this.#C.getValueRange(this.#k,e);t=t.replace(this.#R,""),this.#N?.(t),this.#N=null,this.#D=null,this.#C.addValue("\n"),this.#V()}return!1}},{name:"REPL-ChangeEditor",bindKey:"Delete|Ctrl-X|Backspace",exec:e=>{const t=e.getSession().selection.getCursor();return t.row{this.#L=!1,this.#C.addValue(`\n==${ze.Msg.Lang["shell.finish"]}==`),this.syncfs(!1).catch(ze.Debug.error)}),this.#P.addEventListener("eval.output",e=>{this.#C.addValue(e.content)}),this.#P.addEventListener("eval.error",()=>{this.#L=!1,this.#C.addValue(`\n==${ze.Msg.Lang["shell.finish"]}==`)}),this.#P.addEventListener("eval.input",e=>{const t=String(e?.content?.prompt);this.#C.addValue(t),this.#R=t,this.#N=e.resolve,this.#D=e.reject,this.#z()}),this.#P.addEventListener("eval.display",e=>{this.#M.changeTo("images"),this.#O.display(e)})}#$(){const e=this.#C.getEditor(),t=e.getSession().selection.getCursor();e.setReadOnly(t.row{window.pyodide.FS.syncfs(e,t)})}sleep(e){return new Promise(t=>setTimeout(t,e))}}const vIe={init:async function(){const e=ze.app.getNav();e.register({icon:"icon-play-circled",title:"",id:"python-run-btn",displayText:Ve.Msg.MSG.run,preconditionFn:()=>!0,callback:()=>{yIe.run().catch(ze.Debug.error)},scopeType:ze.Nav.Scope.LEFT,weight:4}),e.register({icon:"icon-cancel",title:"",id:"python-stop-btn",displayText:Ve.Msg.MSG.stop,preconditionFn:()=>!0,callback:()=>{yIe.stop().catch(ze.Debug.error)},scopeType:ze.Nav.Scope.LEFT,weight:5}),await yIe.init()}},bIe=vIe,TIe=new ze.Registry,xIe=function(e){let t={ok:!1,buffer:null,json:function(){const e=new TextDecoder("utf-8").decode(this.buffer);return JSON.parse(e)},arrayBuffer:function(){return this.buffer}};return TIe.hasKey(e)?(t.ok=!0,t.buffer=TIe.getItem(e),t):t},EIe={modelsValue:{},loadGraphModel:async function(e){return await boe(e,{fromTFHub:!1,fetchFunc:(...e)=>xIe(e[0])})},loadLayersModel:async function(e){return await Dee(e,{fromTFHub:!1,fetchFunc:(...e)=>xIe(e[0])})},setModelsValue:function(e,t){TIe.hasKey(e)&&TIe.unregister(e),TIe.register(e,t),EIe.modelsValue[e]=t}};window.tensorflow=EIe,window.addEventListener("error",e=>e.error&&e.error.message&&e.error.message.includes("openOrClosedShadowRoot")?(console.warn("捕获到Blockly DOM操作错误,这通常是无害的:",e.error.message),e.preventDefault(),!1):e.error&&e.error.message&&(e.error.message.includes("DOM")||e.error.message.includes("Element")||e.error.message.includes("Node"))?(console.warn("捕获到DOM操作错误:",e.error.message),e.preventDefault(),!1):void 0),window.addEventListener("unhandledrejection",e=>{if(e.reason&&e.reason.message&&e.reason.message.includes("openOrClosedShadowRoot"))return console.warn("捕获到未处理的Promise拒绝(Blockly DOM错误):",e.reason.message),e.preventDefault(),!1});const wIe=console.error;console.error=function(...e){const t=e.join(" ");t.includes("openOrClosedShadowRoot")||t.includes("DOM")||t.includes("Element")||t.includes("Node")?console.warn("过滤的DOM错误:",...e):wIe.apply(console,e)};const IIe=(e,t)=>{try{if(e&&t&&e.appendChild)return e.appendChild(t)}catch(e){console.warn("安全DOM添加失败:",e.message)}return null},AIe=(e,t)=>{try{if(e&&t&&e.removeChild&&t.parentNode===e)return e.removeChild(t)}catch(e){console.warn("安全DOM移除失败:",e.message)}return null},SIe=(e,t)=>{try{if(e&&e.querySelector)return e.querySelector(t)}catch(e){console.warn("安全DOM查询失败:",e.message)}return null},CIe=e=>e&&e.parentNode&&document.contains(e),OIe={volume:100,effects:{pitch:0,pan:0},builtin:{Meow:"meow"},isRecording:!1,mediaRecorder:null,recordedChunks:[],recordedAudio:null,activeAudios:[],isStopped:!1,abortController:null,blockAllAudio:!1,audioHistory:[],soundQueue:[],isProcessingQueue:!1,currentlyPlaying:null,initAudioContext:()=>{if(!OIe.audioContext)try{OIe.audioContext=new(window.AudioContext||window.webkitAudioContext)}catch(e){console.error("Error initializing audio context:",e)}},createAudio:e=>{if(OIe.blockAllAudio||OIe.isStopped||OIe.abortController&&OIe.abortController.signal.aborted){return{play:()=>Promise.reject(new Error("Audio playback blocked")),pause:()=>{},currentTime:0,src:"",volume:1,playbackRate:1,onended:null,onerror:null,onloadstart:null,oncanplay:null,onplay:null,onpause:null,tagName:"AUDIO",addEventListener:()=>{},removeEventListener:()=>{},load:()=>{},duration:0,ended:!1,paused:!0,muted:!1,readyState:0,networkState:0,preload:"none"}}return new Audio(e)},play:async e=>{try{if(OIe.isStopped)return;if(OIe.abortController&&OIe.abortController.signal.aborted)return;if(OIe.blockAllAudio)return;if(OIe.soundQueue.length>0||OIe.isProcessingQueue)return OIe.soundQueue.push({name:e,resolve:()=>{},reject:()=>{}}),void OIe.processQueue();if(OIe.activeAudios.length>0&&(OIe.activeAudios.forEach(e=>{try{e&&"AUDIO"===e.tagName&&(e.pause(),e.currentTime=0,e.src="")}catch(e){console.warn("停止现有音频时出错:",e)}}),OIe.activeAudios=[]),e.startsWith("recording")&&OIe.builtin[e]){if(OIe.blockAllAudio||OIe.isStopped)return;const t=OIe.createAudio(OIe.builtin[e]);t.volume=OIe.volume/100;const n=OIe.effects.pitch,i=OIe.effects.pan;if(0===n&&0===i)return void t.play().catch(e=>{"AbortError"!==e.name&&console.error("Error playing recorded audio:",e)});if(OIe.initAudioContext(),!OIe.audioContext)return console.warn("音频上下文初始化失败,无法应用增强音效"),void t.play().catch(e=>{"AbortError"!==e.name&&console.error("Error playing recorded audio:",e)});try{const e=OIe.audioContext.createMediaElementSource(t),r=OIe.audioContext.createGain();if(0!==n){const t=OIe.audioContext.createBiquadFilter();t.type="peaking",t.frequency.setValueAtTime(1e3,OIe.audioContext.currentTime),t.Q.setValueAtTime(1,OIe.audioContext.currentTime);const i=Math.max(-20,Math.min(20,.8*n));t.gain.setValueAtTime(i,OIe.audioContext.currentTime),e.connect(t),t.connect(r)}else e.connect(r);if(0!==i){const e=OIe.audioContext.createStereoPanner(),t=Math.max(-1,Math.min(1,i/100*1.5));e.pan.setValueAtTime(t,OIe.audioContext.currentTime),r.connect(e),e.connect(OIe.audioContext.destination)}else r.connect(OIe.audioContext.destination);r.gain.setValueAtTime(OIe.volume/100,OIe.audioContext.currentTime)}catch(e){return console.warn("应用增强音效失败,使用默认播放:",e),void t.play().catch(e=>{"AbortError"!==e.name&&console.error("Error playing recorded audio:",e)})}return OIe.activeAudios.push(t),t.onended=()=>{const e=OIe.activeAudios.indexOf(t);e>-1&&OIe.activeAudios.splice(e,1)},void t.play().catch(e=>{"AbortError"!==e.name&&console.error("Error playing recorded audio:",e);const n=OIe.activeAudios.indexOf(t);n>-1&&OIe.activeAudios.splice(n,1)})}if("Meow"===e&&(OIe.initAudioContext(),OIe.audioContext)){const e=OIe.audioContext.createOscillator(),t=OIe.audioContext.createGain();let n=440;if(0!==OIe.effects.pitch&&(n*=Math.pow(2,OIe.effects.pitch/12)),e.frequency.setValueAtTime(n,OIe.audioContext.currentTime),e.type="sine",t.gain.setValueAtTime(OIe.volume/100,OIe.audioContext.currentTime),0!==OIe.effects.pan){const n=OIe.audioContext.createStereoPanner(),i=OIe.effects.pan/100;n.pan.setValueAtTime(i,OIe.audioContext.currentTime),e.connect(n),n.connect(t)}else e.connect(t);t.connect(OIe.audioContext.destination),e.start(),e.stop(OIe.audioContext.currentTime+.5)}}catch(e){console.error("Error in sound.play:",e)}},_playAudioInternal:async e=>new Promise((t,n)=>{try{if(OIe.isStopped||OIe.blockAllAudio)return void n(new Error("Playback blocked"));if(e.startsWith("recording")&&OIe.builtin[e]){const i=OIe.createAudio(OIe.builtin[e]);i.volume=OIe.volume/100;const r=OIe.effects.pitch,s=OIe.effects.pan;if((0!==r||0!==s)&&(OIe.initAudioContext(),OIe.audioContext))try{const e=OIe.audioContext.createMediaElementSource(i),t=OIe.audioContext.createGain();if(0!==r){const n=OIe.audioContext.createBiquadFilter();n.type="peaking",n.frequency.setValueAtTime(1e3,OIe.audioContext.currentTime),n.Q.setValueAtTime(1,OIe.audioContext.currentTime);const i=Math.max(-20,Math.min(20,.8*r));n.gain.setValueAtTime(i,OIe.audioContext.currentTime),e.connect(n),n.connect(t)}else e.connect(t);if(0!==s){const e=OIe.audioContext.createStereoPanner(),n=Math.max(-1,Math.min(1,s/100*1.5));e.pan.setValueAtTime(n,OIe.audioContext.currentTime),t.connect(e),e.connect(OIe.audioContext.destination)}else t.connect(OIe.audioContext.destination);t.gain.setValueAtTime(OIe.volume/100,OIe.audioContext.currentTime)}catch(e){console.warn("应用音效失败:",e)}i.onended=()=>{const e=OIe.activeAudios.indexOf(i);e>-1&&OIe.activeAudios.splice(e,1),t()},i.onerror=t=>{console.error(`音频播放失败: ${e}`,t);const r=OIe.activeAudios.indexOf(i);r>-1&&OIe.activeAudios.splice(r,1),n(t)},OIe.activeAudios.push(i),i.play().catch(e=>{"AbortError"===e.name?t():(console.error("播放音频失败:",e),n(e))})}else if("Meow"===e)if(OIe.initAudioContext(),OIe.audioContext){const e=OIe.audioContext.createOscillator(),n=OIe.audioContext.createGain();let i=440;if(0!==OIe.effects.pitch&&(i*=Math.pow(2,OIe.effects.pitch/12)),e.frequency.setValueAtTime(i,OIe.audioContext.currentTime),e.type="sine",n.gain.setValueAtTime(OIe.volume/100,OIe.audioContext.currentTime),0!==OIe.effects.pan){const t=OIe.audioContext.createStereoPanner(),i=OIe.effects.pan/100;t.pan.setValueAtTime(i,OIe.audioContext.currentTime),e.connect(t),t.connect(n)}else e.connect(n);n.connect(OIe.audioContext.destination),e.start(),e.stop(OIe.audioContext.currentTime+.5),setTimeout(()=>{t()},500)}else n(new Error("AudioContext not available"));else n(new Error(`Unknown sound: ${e}`))}catch(e){console.error("内部播放错误:",e),n(e)}}),processQueue:async()=>{if(!OIe.isProcessingQueue&&0!==OIe.soundQueue.length){for(OIe.isProcessingQueue=!0;OIe.soundQueue.length>0;){const e=OIe.soundQueue.shift();try{if("frequency"===e.type){const{frequency:t,duration:n,resolve:i}=e;OIe.currentlyPlaying={type:"frequency",frequency:t,startTime:Date.now()},await new Promise(e=>{if(OIe.initAudioContext(),OIe.audioContext){const i=OIe.audioContext.createOscillator(),r=OIe.audioContext.createGain();i.frequency.setValueAtTime(t,OIe.audioContext.currentTime),i.type="sine";const s=OIe.effects.pitch;0!==s&&i.frequency.setValueAtTime(t*Math.pow(2,s/12),OIe.audioContext.currentTime),r.gain.setValueAtTime(OIe.volume/100,OIe.audioContext.currentTime),i.connect(r),r.connect(OIe.audioContext.destination),i.onended=()=>{OIe.currentlyPlaying=null,e()},i.start(),i.stop(OIe.audioContext.currentTime+n/1e3)}else e()}),OIe.currentlyPlaying=null,i()}else{const{name:t,resolve:n}=e;OIe.currentlyPlaying={name:t,startTime:Date.now()},await OIe._playAudioInternal(t),OIe.currentlyPlaying=null,n()}}catch(t){console.error("队列播放失败:",t),OIe.currentlyPlaying=null,e.reject&&e.reject(t)}}OIe.isProcessingQueue=!1}},play_blocking:e=>new Promise((t,n)=>{OIe.soundQueue.push({name:e,resolve:t,reject:n}),OIe.processQueue()}),stop_all:()=>{try{if(OIe.isStopped=!0,OIe.blockAllAudio=!0,OIe.soundQueue.length>0&&(OIe.soundQueue.forEach(({reject:e})=>{e(new Error("Playback stopped"))}),OIe.soundQueue=[]),OIe.isProcessingQueue=!1,OIe.currentlyPlaying=null,OIe.abortController&&OIe.abortController.abort(),OIe.abortController=new AbortController,OIe.activeAudios.length>0&&(OIe.activeAudios.forEach(e=>{try{e&&"AUDIO"===e.tagName&&(e.pause(),e.currentTime=0,e.src="",e.load(),e.onended=null,e.onerror=null,e.onloadstart=null,e.oncanplay=null,e.onplay=null,e.onpause=null)}catch(e){console.warn("停止音频时出错:",e)}}),OIe.activeAudios=[]),OIe.audioContext)try{OIe.audioContext.close(),OIe.audioContext=null}catch(e){console.warn("关闭音频上下文时出错:",e)}OIe.effects.pitch=0,OIe.effects.pan=0;const e=document.querySelectorAll("audio");e.length>0&&e.forEach(e=>{try{e.pause(),e.currentTime=0,e.src=""}catch(e){console.warn("停止页面音频元素时出错:",e)}}),setTimeout(()=>{OIe.isStopped=!1,OIe.blockAllAudio=!1},100)}catch(e){console.error("Error in sound.stop_all:",e)}},adjust_volume:e=>{const t=Math.max(0,Math.min(100,OIe.volume+e));OIe.volume=t},set_volume:e=>{OIe.volume=Math.max(0,Math.min(100,e))},get_volume:()=>OIe.volume,noteFrequencies:{NOTE_B3:247,NOTE_C4:262,NOTE_D4:294,NOTE_E4:330,NOTE_F4:349,NOTE_G4:392,NOTE_A4:440,NOTE_B4:494,NOTE_C5:523,NOTE_D5:587,NOTE_E5:659,NOTE_F5:698,NOTE_G5:784},play_frequency:(e,t=1e3)=>{try{if(OIe.initAudioContext(),OIe.audioContext){const n=OIe.audioContext.createOscillator(),i=OIe.audioContext.createGain();n.frequency.setValueAtTime(e,OIe.audioContext.currentTime),n.type="sine";const r=OIe.effects.pitch;0!==r&&n.frequency.setValueAtTime(e*Math.pow(2,r/12),OIe.audioContext.currentTime),i.gain.setValueAtTime(OIe.volume/100,OIe.audioContext.currentTime),n.connect(i),i.connect(OIe.audioContext.destination),n.start(),n.stop(OIe.audioContext.currentTime+t/1e3),console.log(`播放频率: ${e}Hz, 持续时间: ${t}ms, 音量: ${OIe.volume}%`)}}catch(e){console.error("播放频率声音失败:",e)}},play_frequency_continuous:e=>{try{if(OIe.initAudioContext(),OIe.audioContext){const t=OIe.audioContext.createOscillator(),n=OIe.audioContext.createGain();t.frequency.setValueAtTime(e,OIe.audioContext.currentTime),t.type="sine";const i=OIe.effects.pitch;0!==i&&t.frequency.setValueAtTime(e*Math.pow(2,i/12),OIe.audioContext.currentTime),n.gain.setValueAtTime(OIe.volume/100,OIe.audioContext.currentTime),t.connect(n),n.connect(OIe.audioContext.destination),t.start(),t.stop(OIe.audioContext.currentTime+2),console.log(`播放频率(持续): ${e}Hz, 无持续时间限制, 音量: ${OIe.volume}%`)}}catch(e){console.error("播放频率声音失败:",e)}},play_frequency_blocking:(e,t=1e3)=>(console.log(`=== 🔒 阻塞播放频率(加入队列): ${e}Hz, ${t}ms ===`),new Promise((n,i)=>{const r={type:"frequency",frequency:e,duration:t,resolve:n,reject:i};OIe.soundQueue.push(r),console.log(`✅ 频率已加入声音队列,当前队列长度: ${OIe.soundQueue.length}`),OIe.processQueue()})),play_frequency_continuous_blocking:e=>(console.log(`=== 🔒 阻塞播放频率(持续,加入队列): ${e}Hz ===`),new Promise((t,n)=>{const i={type:"frequency",frequency:e,duration:2e3,resolve:t,reject:n};OIe.soundQueue.push(i),console.log(`✅ 频率(持续)已加入声音队列,当前队列长度: ${OIe.soundQueue.length}`),OIe.processQueue()})),play_note_list:e=>{try{const t={DADADADUM:[{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500}],BIRTHDAY:[{note:"NOTE_C4",duration:400},{note:"NOTE_C4",duration:400},{note:"NOTE_D4",duration:800},{note:"NOTE_C4",duration:800},{note:"NOTE_F4",duration:800},{note:"NOTE_E4",duration:1600}],BA_DING:[{note:"NOTE_C5",duration:200},{note:"NOTE_E5",duration:200},{note:"NOTE_G5",duration:400}],JUMP_UP:[{note:"NOTE_C5",duration:100},{note:"NOTE_E5",duration:100},{note:"NOTE_G5",duration:100}],JUMP_DOWN:[{note:"NOTE_G5",duration:100},{note:"NOTE_E5",duration:100},{note:"NOTE_C5",duration:100}],POWER_UP:[{note:"NOTE_C4",duration:150},{note:"NOTE_E4",duration:150},{note:"NOTE_G4",duration:150},{note:"NOTE_C5",duration:300}],POWER_DOWN:[{note:"NOTE_C5",duration:150},{note:"NOTE_G4",duration:150},{note:"NOTE_E4",duration:150},{note:"NOTE_C4",duration:300}]}[e];if(t){let e=0;t.forEach(t=>{const n=OIe.noteFrequencies[t.note]||440,i=t.duration;setTimeout(()=>{OIe.play_frequency(n,i)},e),e+=i})}else console.warn(`未知的音符列表: ${e}`)}catch(e){console.error("播放音符列表失败:",e)}},play_note_list_blocking:e=>new Promise((t,n)=>{(async()=>{try{const i={DADADADUM:[{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500},{note:"NOTE_D4",duration:500},{note:"NOTE_A4",duration:500}],BIRTHDAY:[{note:"NOTE_C4",duration:400},{note:"NOTE_C4",duration:400},{note:"NOTE_D4",duration:800},{note:"NOTE_C4",duration:800},{note:"NOTE_F4",duration:800},{note:"NOTE_E4",duration:1600}],BA_DING:[{note:"NOTE_C5",duration:200},{note:"NOTE_E5",duration:200},{note:"NOTE_G5",duration:400}],JUMP_UP:[{note:"NOTE_C5",duration:100},{note:"NOTE_E5",duration:100},{note:"NOTE_G5",duration:100}],JUMP_DOWN:[{note:"NOTE_G5",duration:100},{note:"NOTE_E5",duration:100},{note:"NOTE_C5",duration:100}],POWER_UP:[{note:"NOTE_C4",duration:150},{note:"NOTE_E4",duration:150},{note:"NOTE_G4",duration:150},{note:"NOTE_C5",duration:300}],POWER_DOWN:[{note:"NOTE_C5",duration:150},{note:"NOTE_G4",duration:150},{note:"NOTE_E4",duration:150},{note:"NOTE_C4",duration:300}]}[e];if(i){for(const e of i){const t=OIe.noteFrequencies[e.note]||440;await OIe.play_frequency_blocking(t,e.duration)}t()}else console.warn(`未知的音符列表: ${e}`),n(new Error(`未知的音符列表: ${e}`))}catch(e){console.error("播放音符列表失败:",e),n(e)}})()}),adjust_effect:(e,t)=>{"pitch"===e?OIe.effects.pitch=Math.max(-24,Math.min(24,OIe.effects.pitch+t)):"pan"===e&&(OIe.effects.pan=Math.max(-100,Math.min(100,OIe.effects.pan+t)))},set_effect:(e,t)=>{"pitch"===e?OIe.effects.pitch=Math.max(-24,Math.min(24,t)):"pan"===e&&(OIe.effects.pan=Math.max(-100,Math.min(100,t)))},clear_effects:()=>{OIe.effects.pitch=0,OIe.effects.pan=0},record:()=>{if(!OIe.isRecording)try{navigator.mediaDevices.getUserMedia({audio:!0}).then(e=>{OIe.mediaRecorder=new MediaRecorder(e),OIe.recordedChunks=[],OIe.mediaRecorder.ondataavailable=e=>{e.data.size>0&&OIe.recordedChunks.push(e.data)},OIe.mediaRecorder.onstart=()=>{OIe.isRecording=!0},OIe.mediaRecorder.onstop=()=>{OIe.isRecording=!1;const t=new Blob(OIe.recordedChunks,{type:"audio/wav"});OIe.recordedAudio=URL.createObjectURL(t),e.getTracks().forEach(e=>{e.stop()}),OIe.showPlaybackInterface(t)},OIe.mediaRecorder.onerror=e=>{console.error("MediaRecorder 错误:",e.error),OIe.isRecording=!1},OIe.mediaRecorder.start(100),OIe.showRecordInterface()}).catch(e=>{console.error("获取麦克风权限失败:",e),alert("无法访问麦克风,请检查权限设置。错误: "+e.message)})}catch(e){console.error("录制功能初始化失败:",e),alert("录制功能初始化失败: "+e.message)}},showRecordInterface:()=>{const e=document.createElement("div");e.id="recordModal",e.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 10000;\n ";const t=document.createElement("div");t.style.cssText="\n background: white;\n border-radius: 10px;\n padding: 20px;\n text-align: center;\n min-width: 300px;\n box-shadow: 0 4px 20px rgba(0,0,0,0.3);\n ",t.innerHTML='\n

录制声音

\n
\n
\n
\n
\n
\n \n
\n
正在录制...
\n ',e.appendChild(t);try{IIe(document.body,e)}catch(e){return void console.error("添加录制界面到DOM失败:",e)}e.addEventListener("click",e=>{if("stopRecord"===e.target.id)try{OIe.mediaRecorder&&OIe.isRecording?OIe.mediaRecorder.stop():console.warn("MediaRecorder 不存在或未在录制状态")}catch(e){console.error("停止录制时出错:",e),alert("停止录制时出错: "+e.message)}});const n=e.querySelector("#waveformBars");if(n){for(let e=0;e<20;e++){const t=document.createElement("div");t.style.cssText=`\n position: absolute;\n left: ${10*e}px;\n bottom: 0;\n width: 8px;\n height: 20px;\n background: #4a90e2;\n border-radius: 2px;\n transition: height 0.1s ease;\n `,n.appendChild(t)}const t=setInterval(()=>{if(OIe.isRecording&&e.parentNode){const e=n.children;for(let t=0;t{OIe.isRecording&&e.parentNode?(i=60*Math.random()+40,r.style.height=i+"%",s.textContent=`正在录制... 音量: ${Math.round(i)}%`,r.style.opacity=.8+i/100*.2):(clearInterval(t),s&&e.parentNode&&(s.textContent="录制完成",s.style.color="#4CAF50"),r&&e.parentNode&&(r.style.height="100%",r.style.background="linear-gradient(to top, #4CAF50, #4CAF50)"))},200);e.volumeInterval=t}else console.error("找不到音量计或状态显示元素");const o=e=>{"Space"===e.code&&OIe.isRecording&&(e.preventDefault(),OIe.mediaRecorder&&OIe.mediaRecorder.stop())};document.addEventListener("keydown",o),e.keyHandler=o},showPlaybackInterface:e=>{const t=document.getElementById("recordModal");if(t){t.volumeInterval&&clearInterval(t.volumeInterval),t.waveformInterval&&clearInterval(t.waveformInterval),t.keyHandler&&document.removeEventListener("keydown",t.keyHandler);try{CIe(t)&&AIe(document.body,t)}catch(e){console.warn("移除录制界面时出错:",e)}}const n=document.createElement("div");n.id="playbackModal",n.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.5);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 10000;\n ";const i=document.createElement("div");i.style.cssText="\n background: white;\n border-radius: 10px;\n padding: 20px;\n text-align: center;\n min-width: 350px;\n box-shadow: 0 4px 20px rgba(0,0,0,0.3);\n ",i.innerHTML='\n

录音完成

\n
\n
\n
\n
\n \n
\n
\n \n \n
\n ',n.appendChild(i);try{IIe(document.body,n)}catch(e){return void console.error("添加播放界面到DOM失败:",e)}const r=n.querySelector("#playRecording");r&&(r.onclick=()=>{try{OIe.createAudio(OIe.recordedAudio).play().catch(e=>{console.error("播放录音失败:",e),alert("播放录音失败: "+e.message)});const e=n.querySelector("#waveformLine");e&&(e.style.background="#FF5722",setTimeout(()=>{e.parentNode&&(e.style.background="#4a90e2")},1e3))}catch(e){console.error("播放录音时出错:",e),alert("播放录音时出错: "+e.message)}});const s=n.querySelector("#reRecord");s&&(s.onclick=()=>{try{CIe(n)&&AIe(document.body,n),OIe.record()}catch(e){console.error("重新录制时出错:",e),alert("重新录制时出错: "+e.message)}});const o=n.querySelector("#saveRecording");o&&(o.onclick=()=>{try{OIe.saveRecording(e),CIe(n)&&AIe(document.body,n)}catch(e){console.error("添加到列表时出错:",e),alert("添加到列表时出错: "+e.message)}}),OIe.createWaveformDisplay(e,n)},createWaveformDisplay:async(e,t)=>{try{if(!t||!t.parentNode)return void console.warn("波形显示容器不存在或已被移除");const n=await e.arrayBuffer(),i=new(window.AudioContext||window.webkitAudioContext),r=(await i.decodeAudioData(n)).getChannelData(0),s=t.querySelector("#playbackWaveform");if(s&&s.parentNode){s.innerHTML="";const e=100,t=Math.floor(r.length/e);for(let n=0;n{try{const t=`recording${Object.keys(OIe.builtin).filter(e=>e.startsWith("recording")).length+1}`,n=e?URL.createObjectURL(e):OIe.recordedAudio;if(!n)throw new Error("录音数据不存在");OIe.builtin[t]=n,alert(`录音已保存为: ${t}`);const i=document.getElementById("playbackModal");if(CIe(i)){const e=SIe(i,"#playRecording");e&&(e.innerHTML=` 播放 ${t}`)}}catch(e){console.error("保存录音失败:",e),alert("保存录音失败: "+e.message)}}},MIe=OIe,kIe=window.Audio;if(window.Audio=function(e){if(OIe.blockAllAudio||OIe.isStopped||OIe.abortController&&OIe.abortController.signal.aborted){return{play:()=>Promise.reject(new Error("Audio playback blocked globally")),pause:()=>{},currentTime:0,src:"",volume:1,playbackRate:1,onended:null,onerror:null,onloadstart:null,oncanplay:null,onplay:null,onpause:null,tagName:"AUDIO",addEventListener:()=>{},removeEventListener:()=>{},load:()=>{},duration:0,ended:!1,paused:!0,muted:!1,readyState:0,networkState:0,preload:"none"}}return new kIe(e)},window.Audio.original=kIe,"undefined"!=typeof window){const e=console.error;console.error=function(...t){const n=t.join(" ");n.includes("sound")&&(n.includes("no-unused-vars")||n.includes("no-trailing-spaces")||n.includes("new-cap"))?console.warn("过滤的sound模块ESLint错误:",...t):e.apply(console,t)}}let RIe=!1;function NIe(e){if(!e)return!1;if("PythonError"===e.name||"KeyboardInterrupt"===e.name){const t=e.message||String(e);return t.includes("KeyboardInterrupt")||t.includes("interrupted")}return!1}function DIe(){if(RIe)return!1;if(window.pyodide&&window.pyodide.globals)try{RIe=!0;const e={play:e=>OIe.play(e),play_blocking:e=>OIe.play_blocking(e),stop_all:()=>OIe.stop_all(),adjust_volume:e=>OIe.adjust_volume(e),set_volume:e=>OIe.set_volume(e),get_volume:()=>OIe.get_volume(),adjust_effect:(e,t)=>OIe.adjust_effect(e,t),set_effect:(e,t)=>OIe.set_effect(e,t),clear_effects:()=>OIe.clear_effects(),play_frequency:(e,t)=>(console.log(`Python调用: sound.play_frequency(${e}, ${t})`),OIe.soundQueue.length>0||OIe.isProcessingQueue?OIe.play_frequency_blocking(e,t):OIe.play_frequency(e,t)),play_frequency_no_duration:e=>(console.log(`Python调用: sound.play_frequency_no_duration(${e})`),OIe.soundQueue.length>0||OIe.isProcessingQueue?OIe.play_frequency_continuous_blocking(e):OIe.play_frequency_continuous(e)),play_frequency_blocking:(e,t)=>(console.log(`Python调用: sound.play_frequency_blocking(${e}, ${t})`),OIe.play_frequency_blocking(e,t)),play_frequency_continuous:e=>(console.log(`Python调用: sound.play_frequency_continuous(${e})`),OIe.play_frequency_continuous(e)),play_frequency_continuous_blocking:e=>(console.log(`Python调用: sound.play_frequency_continuous_blocking(${e})`),OIe.play_frequency_continuous_blocking(e)),play_note_list:e=>OIe.play_note_list(e),play_note_list_blocking:e=>OIe.play_note_list_blocking(e),record:()=>OIe.record(),volume:OIe.volume,effects:OIe.effects};window.pyodide.globals.set("sound",e);const t=new(0,window.pyodide.pyimport("types").ModuleType)("sound");Object.keys(e).forEach(n=>{e[n],t[n]=e[n]});try{window.pyodide.runPython('\nimport sys\nsys.modules[\'sound\'] = sound\n\n# 创建同步版本的play_blocking包装函数\nimport asyncio\nfrom js import Promise\n\n# 保存原始的play_blocking(返回Promise的版本)\n_original_play_blocking = sound.play_blocking\n\ndef _sync_play_blocking(name):\n """同步版本的play_blocking,会等待声音播放完成"""\n promise = _original_play_blocking(name)\n # 使用Pyodide的Promise支持\n # 在Pyodide中,可以直接等待JS Promise\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n # Pyodide 0.21+\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n # 降级方案:使用asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n # 将JS Promise转换为Python awaitable\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n \n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 替换sound.play_blocking为同步版本\nsound.play_blocking = _sync_play_blocking\n\n# 创建同步版本的play_frequency包装函数\n_original_play_frequency = sound.play_frequency\n\ndef _sync_play_frequency(frequency, duration):\n """同步版本的play_frequency,会自动判断是否需要阻塞"""\n promise = _original_play_frequency(frequency, duration)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n\n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 创建同步版本的play_frequency_no_duration包装函数\n_original_play_frequency_no_duration = sound.play_frequency_no_duration\n\ndef _sync_play_frequency_no_duration(frequency):\n """同步版本的play_frequency_no_duration,会自动判断是否需要阻塞"""\n promise = _original_play_frequency_no_duration(frequency)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n\n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 替换为同步版本\nsound.play_frequency = _sync_play_frequency\nsound.play_frequency_no_duration = _sync_play_frequency_no_duration\n\n# 创建同步版本的play_frequency_continuous_blocking包装函数\n_original_play_frequency_continuous_blocking = sound.play_frequency_continuous_blocking\n\ndef _sync_play_frequency_continuous_blocking(frequency):\n """同步版本的play_frequency_continuous_blocking,会等待频率播放完成"""\n promise = _original_play_frequency_continuous_blocking(frequency)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n return pyodide.ffi.run_sync(promise)\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n return await promise\n\n return loop.run_until_complete(wait_promise())\n\n# 替换为同步版本\nsound.play_frequency_continuous_blocking = _sync_play_frequency_continuous_blocking\n\n# 创建同步版本的play_frequency_blocking包装函数\n_original_play_frequency_blocking = sound.play_frequency_blocking\n\ndef _sync_play_frequency_blocking(frequency, duration):\n """同步版本的play_frequency_blocking,会等待频率播放完成"""\n promise = _original_play_frequency_blocking(frequency, duration)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n\n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 创建同步版本的play_note_list_blocking包装函数\n_original_play_note_list_blocking = sound.play_note_list_blocking\n\ndef _sync_play_note_list_blocking(note_list):\n """同步版本的play_note_list_blocking,会等待音符列表播放完成"""\n promise = _original_play_note_list_blocking(note_list)\n # 使用Pyodide的Promise支持\n import pyodide\n if hasattr(pyodide, \'ffi\') and hasattr(pyodide.ffi, \'run_sync\'):\n try:\n return pyodide.ffi.run_sync(promise)\n except Exception:\n return None\n else:\n import asyncio\n try:\n loop = asyncio.get_event_loop()\n except RuntimeError:\n loop = asyncio.new_event_loop()\n asyncio.set_event_loop(loop)\n\n async def wait_promise():\n try:\n return await promise\n except Exception:\n return None\n\n try:\n return loop.run_until_complete(wait_promise())\n except Exception:\n return None\n\n# 替换为同步版本\nsound.play_frequency_blocking = _sync_play_frequency_blocking\nsound.play_note_list_blocking = _sync_play_note_list_blocking\n ')}catch(e){if(NIe(e))return RIe=!1,!1;throw e}return window.pyodide.globals.get("sound")?(RIe=!1,!0):(RIe=!1,console.error("Sound对象注入失败:验证时未找到对象"),!1)}catch(e){return RIe=!1,NIe(e)?!1:(console.error("注入sound对象到Python环境失败:",e),!1)}return!1}function FIe(){!function(){const e=Element.prototype.remove;if(Element.prototype.remove=function(){if(this)if("function"==typeof this.remove)try{return e.call(this)}catch(e){console.warn("remove()调用失败,已安全处理:",e)}else console.warn("对象没有remove方法,已安全忽略");else console.warn("尝试在null对象上调用remove(),已安全忽略")},window.$&&window.$.fn&&window.$.fn.remove){const e=window.$.fn.remove;window.$.fn.remove=function(){if(!this||0===this.length)return console.warn("尝试在空的jQuery对象上调用remove(),已安全忽略"),this;try{return e.call(this)}catch(e){return console.warn("jQuery remove()调用失败,已安全处理:",e),this}}}}(),function(){if(DIe())return;const e=setInterval(()=>{DIe()&&clearInterval(e)},100);setTimeout(()=>{clearInterval(e)},1e4)}()}function LIe(){if(window.pyodide&&window.pyodide.globals)try{window.pyodide.globals.get("sound")||DIe()}catch(e){if(NIe(e))return;console.warn("强制注入检查失败:",e)}}function PIe(){const e=window.eval;if(window.eval=function(t){if("string"==typeof t&&t.includes("sound."))try{LIe()}catch(e){NIe(e)||console.warn("执行拦截时出错:",e)}return e.call(this,t)},window.pyodide&&window.pyodide.runPython){const e=window.pyodide.runPython;window.pyodide.runPython=function(t){if("string"==typeof t&&t.includes("sound."))try{LIe()}catch(e){NIe(e)||console.warn("执行拦截时出错:",e)}return e.call(this,t)}}}function BIe(){document.getElementById("modalOverlay").style.display="none"}function $Ie(e){const t=document.getElementById("imported-models");if([...t.children].some(t=>t.dataset.modelName===e))return;const n=document.createElement("div");n.className="model-item",n.dataset.modelName=e,n.innerHTML=`\n
\n ${e}\n \n
\n `,n.querySelector(".delete-model").addEventListener("click",()=>{!async function(e){try{await v3.io.removeModel(`indexeddb://${e}`);const t=document.querySelector(`.model-item[data-model-name="${e}"]`);t&&t.remove()}catch(e){console.error("删除模型失败:",e),alert("删除模型失败: "+e.message)}}(e)}),t.appendChild(n)}async function UIe(){try{const e=await v3.io.listModels();document.getElementById("imported-models").innerHTML="";for(const[t]of Object.entries(e)){$Ie(t.replace("indexeddb://",""))}}catch(e){console.error("加载模型列表失败:",e)}}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{FIe(),PIe()}):(FIe(),PIe()),window.addEventListener("pyodideLoaded",()=>{FIe(),PIe()}),setTimeout(()=>{FIe(),PIe()},1e3),window.addEventListener("load",()=>{FIe(),PIe()}),setInterval(LIe,5e3),bIe.init(),window.tf=Ue,async function(){const e=document.createElement("div");e.id="modalOverlay",Object.assign(e.style,{display:"none",position:"fixed",top:"0",left:"0",width:"100%",height:"100%",backgroundColor:"rgba(0,0,0,0.5)",zIndex:"20011216",pointerEvents:"auto"});const t=document.createElement("div");Object.assign(t.style,{backgroundColor:"white",width:"60%",maxHeight:"80%",margin:"12vh auto",padding:"20px 30px",borderRadius:"12px"}),t.innerHTML='\n

选择本地模型

\n
\x3c!-- 新增 min-height 和 position --\x3e\n \n \n
\n 导入模型名称:\n \n \n
\n
\n
\n ❌ 模型结构描述文件(model.json)\n\n
未选择
\n
\n
\n ❌ 权重文件(model.weights.bin)\n
0 个已选择
\n
\n
\n
\n
\n
\n

已导入模型

\n
\n \n \n
\n
\n
\n
加载中...
\n
\n
\n
\n \n
\n
\n ',e.appendChild(t),document.body.appendChild(e),t.querySelector(".close-btn").addEventListener("click",BIe),e.addEventListener("click",t=>{t.target===e&&BIe()});const n=document.getElementById("model-upload"),i=document.getElementById("model-handle"),r=document.getElementById("output");let s=null,o=[];n.addEventListener("change",async e=>{const t=e.target.files,n=document.getElementById("json-status"),i=document.getElementById("weights-status");n.querySelector("span").textContent="❌ 模型结构描述文件(model.json)",n.querySelector("div").textContent="未选择",i.querySelector("span").textContent="❌ 权重文件(model.weights.bin)",i.querySelector("div").textContent="0 个已选择",o=[];for(let e=0;e0&&(i.querySelector("span").textContent="✅ 权重文件(model.weights.bin)",i.querySelector("div").textContent=`${o.length} 个已选择`)}else alert("未找到 model.json 文件")}),i.addEventListener("click",async()=>{try{const e=document.getElementById("model-name").value||"mixly-model",t=await Dee(v3.io.browserFiles([s,...o]));await t.save(`indexeddb://${e}`),UIe(),r.innerHTML=`模型已成功保存为 ${e}!`}catch(e){r.innerHTML=`保存模型出错: ${e.message}`,console.error(e)}}),t.querySelector("#refresh-models").addEventListener("click",UIe),t.querySelector("#clear-models").addEventListener("click",async()=>{confirm("确定要删除所有模型吗?此操作不可恢复!")&&await async function(){try{const e=await v3.io.listModels(),t=Object.keys(e).map(e=>e.replace("indexeddb://","")).map(e=>v3.io.removeModel(`indexeddb://${e}`));await Promise.all(t),document.getElementById("imported-models").innerHTML=""}catch(e){console.error("清空模型失败:",e),alert("清空模型失败: "+e.message)}}()})}(),(async()=>{await UIe()})();Ve.getMainWorkspace().registerButtonCallback("handleModels",function(){UIe(),document.getElementById("modalOverlay").style.display="block"}),window.prepare_qmyixtxi=async function(e){let t=null;window.featureExtractor?t=window.featureExtractor:(t=await boe("../common/media/tfmodel/model.json"),window.featureExtractor=t);const n=e.resizeBilinear([224,224]).toFloat().div(v3.scalar(127.5)).sub(v3.scalar(1)).expandDims(0);return window.featureExtractor.predict(n)};const VIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_PLAY).appendField(new Ve.FieldDropdown(this.getSoundOptions),"SOUND"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_TOOLTIP)},getSoundOptions:function(){const e=[["Meow","Meow"],[Ve.Msg.MIXLY_SOUND_RECORD_OPTION,"record"]];if(window.sound&&window.sound.builtin){Object.keys(window.sound.builtin).filter(e=>e.startsWith("recording")).forEach(t=>{e.push([t,t])})}return e}},zIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_PLAY).appendField(new Ve.FieldDropdown(this.getSoundOptions),"SOUND").appendField(Ve.Msg.MIXLY_SOUND_WAIT_FINISH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_WAIT_TOOLTIP)},getSoundOptions:function(){const e=[["Meow","Meow"],[Ve.Msg.MIXLY_SOUND_RECORD_OPTION,"record"]];if(window.sound&&window.sound.builtin){Object.keys(window.sound.builtin).filter(e=>e.startsWith("recording")).forEach(t=>{e.push([t,t])})}return e}},jIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_STOP_ALL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_STOP_ALL_TOOLTIP)}},YIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_SET_TO).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_SOUND_EFFECT_PITCH,"pitch"],[Ve.Msg.MIXLY_SOUND_EFFECT_PAN,"pan"]]),"EFFECT").appendField(Ve.Msg.MIXLY_SOUND_EFFECT_ADD_BY),this.appendValueInput("VALUE").setCheck(null),this.appendDummyInput(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_EFFECT_ADD_TOOLTIP)}},GIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_SET_TO).appendField(new Ve.FieldDropdown([[Ve.Msg.MIXLY_SOUND_EFFECT_PITCH,"pitch"],[Ve.Msg.MIXLY_SOUND_EFFECT_PAN,"pan"]]),"EFFECT").appendField(Ve.Msg.MIXLY_SOUND_EFFECT_SET_TO),this.appendValueInput("VALUE").setCheck(null),this.appendDummyInput(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_EFFECT_SET_TOOLTIP)}},HIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_CLEAR_EFFECTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_EFFECT_CLEAR_TOOLTIP)}},WIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_VOLUME_INCREASE),this.appendValueInput("VALUE").setCheck(null),this.appendDummyInput(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_VOLUME_ADD_TOOLTIP)}},XIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_VOLUME_SET),this.appendValueInput("VALUE").setCheck(null),this.appendDummyInput(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_VOLUME_SET_TOOLTIP)}},qIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_catSoundSOUND_VOLUME_GET),this.setOutput(!0,"Volume"),this.setTooltip(Ve.Msg.MIXLY_SOUND_VOLUME_GET_TOOLTIP)}},KIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_RECORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_RECORD_TOOLTIP)}},ZIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_PLAY).appendField(Ve.Msg.MIXLY_SOUND_FREQUENCY),this.appendValueInput("FREQUENCY").setCheck(Number).setAlign(Ve.ALIGN_RIGHT),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_DURATION),this.appendValueInput("DURATION").setCheck(Number).setAlign(Ve.ALIGN_RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_FREQUENCY_TOOLTIP)}},QIe={init:function(){this.setColour("#acc159"),this.appendValueInput("FREQUENCY").setCheck(Number).appendField(Ve.Msg.MIXLY_SOUND_PLAY_FREQUENCY_NO_DURATION),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_FREQUENCY_NO_DURATION_TOOLTIP)}},JIe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(Ve.Msg.MIXLY_SOUND_PLAY_NOTE_LIST).appendField(new Ve.FieldDropdown([["DADADADUM","DADADADUM"],["BIRTHDAY","BIRTHDAY"],["BA_DING","BA_DING"],["JUMP_UP","JUMP_UP"],["JUMP_DOWN","JUMP_DOWN"],["POWER_UP","POWER_UP"],["POWER_DOWN","POWER_DOWN"]]),"NOTE_LIST"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ve.Msg.MIXLY_SOUND_PLAY_NOTE_LIST_TOOLTIP)}},eAe={init:function(){this.setColour("#acc159"),this.appendDummyInput().appendField(new Ve.FieldDropdown([["NOTE_A4","440"],["NOTE_B3","247"],["NOTE_C4","262"],["NOTE_D4","294"],["NOTE_E4","330"],["NOTE_F4","349"],["NOTE_G4","392"],["NOTE_A4","440"],["NOTE_B4","494"],["NOTE_C5","523"],["NOTE_D5","587"],["NOTE_E5","659"],["NOTE_F5","698"],["NOTE_G5","784"]]),"NOTE"),this.setOutput(!0,null),this.setOutputShape(Ve.OUTPUT_SHAPE_ROUND),this.setTooltip(Ve.Msg.MIXLY_SOUND_NOTE_TOOLTIP)}};Object.assign(Ve.Variables,Ye),Object.assign(Ve.Procedures,oc),Ve.Python=ac,Ve.generator=ac,ze.Profile.default={},Object.assign(Ve.Blocks,e,t,n,i,r,s,o,a,l,u,c,d,h,A,S,C,O,M,k,R,N,D,F,L,P,B,U,V,ne,re),Object.assign(Ve.Python.forBlock,p,f,m,g,_,y,v,b,T,x,E,w,I,z,j,Y,fy,G,H,W,X,q,K,Z,Q,J,ee,te,ie,se);const tAe={sound_play:VIe,sound_play_wait:zIe,sound_stop_all:jIe,sound_effect_add:YIe,sound_effect_set:GIe,sound_effect_clear:HIe,sound_volume_add:WIe,sound_volume_set:XIe,sound_volume_get:qIe,sound_record:KIe,sound_play_frequency:ZIe,sound_play_frequency_no_duration:QIe,sound_play_note_list:JIe,sound_note:eAe},nAe={sound_play:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");const n=e.getFieldValue("SOUND");return"record"===n?"sound.record()\n":`sound.play("${n}")\n`},sound_play_wait:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");const n=e.getFieldValue("SOUND");return"record"===n?"sound.record()\n":`sound.play_blocking("${n}")\n`},sound_stop_all:function(e,t){return t.definitions_.import_sound||(t.definitions_.import_sound="import sound"),"sound.stop_all()\n"},sound_effect_add:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");const n=e.getFieldValue("EFFECT"),i=e.getInputTargetBlock("VALUE");let r;return r=i?"math_number"===i.type?i.getFieldValue("NUM")||"10":t.valueToCode(i,"VALUE",t.ORDER_NONE)||"10":"10",`sound.adjust_effect("${n}", ${r})\n`},sound_effect_set:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");const n=e.getFieldValue("EFFECT"),i=e.getInputTargetBlock("VALUE");let r;return r=i?"math_number"===i.type?i.getFieldValue("NUM")||"100":t.valueToCode(i,"VALUE",t.ORDER_NONE)||"100":"100",`sound.set_effect("${n}", ${r})\n`},sound_effect_clear:function(e,t){return t.definitions_.import_sound||(t.definitions_.import_sound="import sound"),"sound.clear_effects()\n"},sound_volume_add:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.adjust_volume(${t.valueToCode(e,"VALUE",t.ORDER_NONE)||"0"})\n`},sound_volume_set:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.set_volume(${t.valueToCode(e,"VALUE",t.ORDER_NONE)||"100"})\n`},sound_volume_get:function(e,t){return t.definitions_.import_sound||(t.definitions_.import_sound="import sound"),["sound.get_volume()",t.ORDER_ATOMIC]},sound_record:function(e,t){return t.definitions_.import_sound||(t.definitions_.import_sound="import sound"),"sound.record()\n"},sound_play_frequency:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.play_frequency(${t.valueToCode(this,"FREQUENCY",t.ORDER_ATOMIC)}, ${t.valueToCode(this,"DURATION",t.ORDER_ATOMIC)})\n`},sound_play_frequency_no_duration:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.play_frequency_no_duration(${t.valueToCode(this,"FREQUENCY",t.ORDER_ATOMIC)})\n`},sound_play_note_list:function(e,t){t.definitions_.import_sound||(t.definitions_.import_sound="import sound");return`sound.play_note_list("${this.getFieldValue("NOTE_LIST")}")\n`},sound_note:function(e,t){return[this.getFieldValue("NOTE"),t.ORDER_ATOMIC]}};Object.assign(Ve.Blocks,tAe),Object.assign(Ve.Python.forBlock,nAe),window.sound=MIe})()})(); \ No newline at end of file diff --git a/boards/default_src/micropython_esp32c5/origin/examples/map.json b/boards/default_src/micropython_esp32c5/origin/examples/map.json index 9e26dfee..0967ef42 100644 --- a/boards/default_src/micropython_esp32c5/origin/examples/map.json +++ b/boards/default_src/micropython_esp32c5/origin/examples/map.json @@ -1 +1 @@ -{} \ No newline at end of file +{}

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 Oe&?VAo$4-Lc<0|dz)p$) literal 0 HcmV?d00001 diff --git a/boards/default/micropython_esp32c5/build/lib/map.json b/boards/default/micropython_esp32c5/build/lib/map.json new file mode 100644 index 00000000..0eb9f6f5 --- /dev/null +++ b/boards/default/micropython_esp32c5/build/lib/map.json @@ -0,0 +1,52 @@ +{ + "mixgo_sowl": { + "__require__": [ + "gc", + "time", + "math", + "machine", + "music", + "ws2812x", + "st7735_cf", + "sowl_bot", + "spl06_001", + "sc7a20", + "ltr553als", + "shtc3", + "mmc5603", + "rc522", + "ci130x" + ], + "__file__": true, + "__size__": 7707, + "__name__": "mixgo_sowl.py" + }, + "sowl_bot": { + "__require__": [ + "time", + "micropython" + ], + "__file__": true, + "__size__": 4683, + "__name__": "sowl_bot.py" + }, + "st7735_cf": { + "__require__": [ + "time", + "uframebuf", + "machine", + "image" + ], + "__file__": true, + "__size__": 3975, + "__name__": "st7735_cf.py" + }, + "ws2812x": { + "__require__": [ + "time" + ], + "__file__": true, + "__size__": 1955, + "__name__": "ws2812x.py" + } +} \ No newline at end of file diff --git a/boards/default/micropython_esp32c5/build/lib/mixgo_sowl.py b/boards/default/micropython_esp32c5/build/lib/mixgo_sowl.py new file mode 100644 index 00000000..a3df3e10 --- /dev/null +++ b/boards/default/micropython_esp32c5/build/lib/mixgo_sowl.py @@ -0,0 +1,263 @@ +""" +mixgo_sowl Onboard resources(v1.3) + +Micropython library for the mixgo_sant Onboard resources +======================================================= +@dahanzimin From the Mixly Team +""" +import gc +import time +import math +from machine import * +from music import MIDI +from ws2812x import NeoPixel + +'''RTC''' +rtc_clock = RTC() + +'''I2C-onboard''' +# onboard_i2c = I2C(0) +onboard_i2c = SoftI2C(scl=Pin(27), sda=Pin(26), freq=400000) + +'''SPI-onboard''' +onboard_spi = SPI(1, baudrate=80000000, polarity=0, phase=0) + +'''BOT035-Sensor''' +try: + import sowl_bot + onboard_bot = sowl_bot.BOT035(onboard_i2c) +except Exception as e: + print("Warning: Failed to communicate with BOT035 (Coprocessor) or", e) + +'''TFT/128*128''' +import st7735_cf +onboard_tft = st7735_cf.ST7735(onboard_spi, 128, 128, dc_pin=23, reset=onboard_bot.tft_reset, backlight=onboard_bot.tft_brightness, font_address=0x700000) + +'''BPS-Sensor''' +try: + import spl06_001 + onboard_bps = spl06_001.SPL06(onboard_i2c) +except Exception as e: + print("Warning: Failed to communicate with SPL06-001 (BPS) or", e) + +'''ACC-Sensor''' +try: + import sc7a20 + onboard_acc = sc7a20.SC7A20(onboard_i2c) +except Exception as e: + print("Warning: Failed to communicate with SC7A20H (ACC) or", e) + +'''ALS_PS-Sensor''' +try: + import ltr553als + onboard_als = ltr553als.LTR_553ALS(onboard_i2c) +except Exception as e: + print("Warning: Failed to communicate with LTR_553ALS (ALS&PS) or", e) + +'''THS-Sensor''' +try: + import shtc3 + onboard_ths = shtc3.SHTC3(onboard_i2c) +except Exception as e: + print("Warning: Failed to communicate with GXHTC3 (THS) or", e) + +'''MGS-Sensor''' +try: + import mmc5603 + onboard_mgs = mmc5603.MMC5603(onboard_i2c) +except Exception as e: + print("Warning: Failed to communicate with MMC5603 (MGS) or", e) + +'''RFID_Sensor''' +try : + import rc522 + onboard_rfid = rc522.RC522(onboard_i2c) +except Exception as e: + print("Warning: Failed to communicate with SI522 (RFID) or",e) + +'''ASR-Sensor''' +try: + from ci130x import CI130X + onboard_asr = CI130X(onboard_i2c) +except Exception as e: + print("Warning: Failed to communicate with CI1316XP (ASR) or", e) + +'''2RGB_WS2812''' +onboard_rgb = NeoPixel(onboard_bot.rgb_sync, 3) + +'''1Buzzer-Music''' +onboard_music = MIDI(0, pa_ctrl=onboard_asr.pa_ctrl) + +'''5KEY_Sensor''' +class KEYSensor: + def __init__(self, pin, range): + self.pin = pin + self.adc = ADC(Pin(pin)) + self.adc.atten(ADC.ATTN_0DB) + self.range = range + self.flag = True + + def _value(self): + values = [] + for _ in range(25): + values.append(self.adc.read()) + time.sleep_us(5) + return (self.range-200) < min(values) < (self.range+200) + + def get_presses(self, delay=1): + last_time, presses = time.time(), 0 + while time.time() < last_time + delay: + time.sleep_ms(50) + if self.was_pressed(): + presses += 1 + return presses + + def is_pressed(self): + return self._value() + + def was_pressed(self): + if (self._value() != self.flag): + self.flag = self._value() + if self.flag: + return True + else: + return False + + def irq(self, handler, trigger): + Pin(self.pin, Pin.IN).irq(handler=handler, trigger=trigger) + +'''1KEY_Button''' +class Button(KEYSensor): + def __init__(self, pin): + self.pin = pin + self.key = Pin(pin, Pin.IN) + self.flag = True + + def _value(self): + return not self.key.value() + +B1key = Button(28) +B2key = KEYSensor(5, 0) +A1key = KEYSensor(5, 800) +A2key = KEYSensor(5, 2050) +A3key = KEYSensor(5, 2600) +A4key = KEYSensor(5, 1450) + +'''2-LED''' +class LED: + def __init__(self, func): + self._func = func + + def setbrightness(self, index, val): + self._func(index, val) + + def getbrightness(self, index): + return self._func(index) + + def setonoff(self, index, val): + if val == -1: + self.setbrightness(index, 100) if self.getbrightness(index) < 50 else self.setbrightness(index, 0) + elif val == 1: + self.setbrightness(index, 100) + elif val == 0: + self.setbrightness(index, 0) + + def getonoff(self, index): + return True if self.getbrightness(index) > 50 else False + +onboard_led = LED(onboard_bot.led_pwm) + +'''MIC_Sensor''' +class MICSensor: + def __init__(self,pin): + self.adc=ADC(Pin(pin), atten=ADC.ATTN_11DB) + + def read(self): + maxloudness = 0 + for i in range(5): + loudness = self.sample() + if loudness > maxloudness: + maxloudness = loudness + return maxloudness + + def sample(self): + values = [] + for i in range(50): + val = self.adc.read_u16() + values.append(val) + return max(values) - min(values) + +onboard_sound = MICSensor(6) + +class Clock: + def __init__(self, x, y, radius, color, oled=onboard_tft): # 定义时钟中心点和半径 + self.display = oled + self.xc = x + self.yc = y + self.r = radius + self.color = color + self.hour = 0 + self.min = 0 + self.sec = 0 + + def set_time(self, h, m, s): # 设定时间 + self.hour = h + self.min = m + self.sec = s + + def set_rtctime(self): # 设定时间 + t = rtc_clock.datetime() + self.hour = t[4] + self.min = t[5] + self.sec = t[6] + + def drawDial(self, color): # 画钟表刻度 + r_tic1 = self.r - 1 + r_tic2 = self.r - 2 + self.display.ellipse(self.xc, self.yc, self.r, self.r, color) + self.display.ellipse(self.xc, self.yc, 2, 2, color, True) + + for h in range(12): + at = math.pi * 2.0 * h / 12.0 + x1 = round(self.xc + r_tic1 * math.sin(at)) + x2 = round(self.xc + r_tic2 * math.sin(at)) + y1 = round(self.yc - r_tic1 * math.cos(at)) + y2 = round(self.yc - r_tic2 * math.cos(at)) + self.display.line(x1, y1, x2, y2, color) + + def drawHour(self, color): # 画时针 + r_hour = int(self.r / 10.0 * 5) + ah = math.pi * 2.0 * ((self.hour % 12) + self.min / 60.0) / 12.0 + xh = int(self.xc + r_hour * math.sin(ah)) + yh = int(self.yc - r_hour * math.cos(ah)) + self.display.line(self.xc, self.yc, xh, yh, color) + + def drawMin(self, color): # 画分针 + r_min = int(self.r / 10.0 * 7) + am = math.pi * 2.0 * self.min / 60.0 + xm = round(self.xc + r_min * math.sin(am)) + ym = round(self.yc - r_min * math.cos(am)) + self.display.line(self.xc, self.yc, xm, ym, color) + + def drawSec(self, color): # 画秒针 + r_sec = int(self.r / 10.0 * 9) + asec = math.pi * 2.0 * self.sec / 60.0 + xs = round(self.xc + r_sec * math.sin(asec)) + ys = round(self.yc - r_sec * math.cos(asec)) + self.display.line(self.xc, self.yc, xs, ys, color) + + def draw_clock(self, bg_color=0): # 画完整钟表 + self.drawDial(self.color) + self.drawHour(self.color) + self.drawMin(self.color) + self.drawSec(self.color) + self.display.show() + self.drawHour(bg_color) + self.drawMin(bg_color) + self.drawSec(bg_color) + + def clear(self, color=0): # 清除 + self.display.ellipse(self.xc, self.yc, self.r, self.r, color, True) + +'''Reclaim memory''' +gc.collect() diff --git a/boards/default/micropython_esp32c5/build/lib/sowl_bot.py b/boards/default/micropython_esp32c5/build/lib/sowl_bot.py new file mode 100644 index 00000000..de75f437 --- /dev/null +++ b/boards/default/micropython_esp32c5/build/lib/sowl_bot.py @@ -0,0 +1,121 @@ +""" +SOWL_WCH + +Micropython library for the SOWL_WCH(--V1.0--) +======================================================= +@dahanzimin From the Mixly Team +""" +import time +from micropython import const + +_BOT035_ADDRESS = const(0x13) +_BOT5_TOUCH = const(0x01) +_BOT035_PHZ = const(0x05) +_BOT035_PWM = const(0x09) +_BOT035_LED = const(0x0D) +_BOT035_STA = const(0x10) +_BOT035_RGB = const(0x11) +_BOT035_KB = const(0x1A) +_BOT035_MS = const(0xAE) +_BOT035_STR = const(0x22) + +class BOT035: + def __init__(self, i2c_bus): + self._i2c = i2c_bus + self._touchs = [self.touch(0), self.touch(1)] + self.reset() + + def _wreg(self, reg, val, digit=1): + '''Write memory address''' + self._i2c.writeto_mem(_BOT035_ADDRESS, reg, val.to_bytes(digit, 'little')) + + def _rreg(self, reg, nbytes=1): + '''Read memory address''' + self._i2c.writeto(_BOT035_ADDRESS, reg.to_bytes(1, 'little')) + return int.from_bytes(self._i2c.readfrom(_BOT035_ADDRESS, nbytes), 'little') + + def _bits(self, offset, mask, value=None, delay=100, reg=_BOT035_STA): + if value is None: + return (self._rreg(reg) & mask) >> offset + else: + self._wreg(reg, (self._rreg(reg) & (~ mask & 0xFF)) | (value << offset)) + time.sleep_ms(delay) + + def reset(self): + self._i2c.writeto_mem(_BOT035_ADDRESS, _BOT035_PHZ, b' N Nddddd\x00\x00\x0c') + + def touch(self, index, value=None): + index = max(min(index, 1), 0) + touch = 4095 - self._rreg(_BOT5_TOUCH + index * 2, 2) + return touch > value if value else touch + + def touched(self, index, value=600): + return self.touch(index, value) + + def touch_slide(self): + values = [] + for i in range(20): + values.append((self.touch(1) - self._touchs[1]) - (self.touch(0) - self._touchs[0])) + return round(sorted(values)[10] / 10) + + def usben(self, index=1, duty=None, freq=None): + if index not in (1, 2, 4, 5): + raise ValueError("USB port must be a number in (1, 2, 4, 5)") + if duty is not None: + self._wreg(_BOT035_PWM + index - (1 if index < 3 else 2), int(max(min(duty, 100), 0))) + if freq is not None: + self._wreg(_BOT035_PHZ + (0 if index < 3 else 2) , max(min(freq, 65535), 10), 2) + if freq is None and duty is None: + return self._rreg(_BOT035_PWM + index - (1 if index < 3 else 2)), self._rreg(_BOT035_PHZ + (0 if index < 3 else 2), 2) + + def tft_brightness(self, brightness=None): + """PMOS inverting level driver""" + if brightness is None: + return 100 - self._rreg(_BOT035_LED) + else: + self._wreg(_BOT035_LED, max(min(100 - brightness, 100), 0)) + + def led_pwm(self, index=1, duty=None): + index = max(min(index, 2), 1) + if duty is None: + return self._rreg(_BOT035_LED + index) + else: + self._wreg(_BOT035_LED + index, max(min(duty, 100), 0)) + + def tft_reset(self, value=None, delay=50): + return self._bits(7, 0x80, value, delay) + + def mcu_reset(self, value=None, delay=10): + return self._bits(2, 0x04, value, delay) + + def rgb_sync(self, buffer, n=9): + self._i2c.writeto_mem(_BOT035_ADDRESS, _BOT035_RGB, buffer if len(buffer) < n else buffer[:n]) + + def hid_keyboard(self, special=0, general=0, release=True): + self._buf = bytearray(4) + self._buf[0] = special + if type(general) in (tuple, list): + for i in range(len(general)): + if i > 2: break + self._buf[i + 1] = general[i] + else: + self._buf[1] = general + self._i2c.writeto_mem(_BOT035_ADDRESS, _BOT035_KB, self._buf) + if release: + time.sleep_ms(10) + self._i2c.writeto_mem(_BOT035_ADDRESS, _BOT035_KB, bytes(4)) + + def hid_keyboard_str(self, string, delay=0): + for char in str(string): + self._wreg(_BOT035_STR, ord(char) & 0xFF) + time.sleep_ms(20 + delay) + + def hid_keyboard_state(self): + state = self._rreg(_BOT035_STA) + return bool(state & 0x10), bool(state & 0x20), bool(state & 0x40) + + def hid_mouse(self, keys=0, move=(0, 0), wheel=0, release=True): + self._i2c.writeto_mem(_BOT035_ADDRESS, _BOT035_MS, bytes([keys & 0x0F, move[0] & 0xFF, move[1] & 0xFF, wheel & 0xFF])) + if release: + time.sleep_ms(10) + self._i2c.writeto_mem(_BOT035_ADDRESS, _BOT035_MS, bytes(4)) diff --git a/boards/default/micropython_esp32c5/build/lib/st7735_cf.py b/boards/default/micropython_esp32c5/build/lib/st7735_cf.py new file mode 100644 index 00000000..6a7db26e --- /dev/null +++ b/boards/default/micropython_esp32c5/build/lib/st7735_cf.py @@ -0,0 +1,100 @@ +""" +ST7735/FrameBuffer + +MicroPython library for the ST7735(TFT-SPI) +======================================================= +@dahanzimin From the Mixly Team +""" +import time +import uframebuf +from machine import Pin +from image import Image, IMG + +class ST7735(uframebuf.FrameBuffer_Uincode): + def __init__(self, spi, width, height, dc_pin=None, backlight=None, reset=None, font_address=0x700000): + self.spi = spi + self.dc = Pin(dc_pin, Pin.OUT, value=1) + self._buffer = bytearray(width * height * 2) + super().__init__(self._buffer, width, height, uframebuf.RGB565) + if reset: reset(1, 100) + self.font(font_address) + self._init() + self._oneclight = True + self._backlight = backlight + + def _write(self, cmd, dat=None): + """Write command or data""" + self.dc.off() + self.spi.write(bytearray([cmd])) + if dat is not None: + self.dc.on() + self.spi.write(dat) + + def _init(self): + """Display initialization configuration""" + for cmd, data, delay in [ + (0x11, None, 120000), + (0xB1, b'\x01\x2C\x2D', 10), + (0xB2, b'\x01\x2C\x2D', 10), + (0xB3, b'\x01\x2C\x2D', 10), + (0xB4, b'\x07', 10), + (0xC0, b'\xA2\x02\x84', 10), + (0xC1, b'\xC5', 10), + (0xC2, b'\x0A\x00', 10), + (0xC3, b'\x8A\x2A', 10), + (0xC4, b'\x8A\xEE', 10), + (0xC5, b'\x0E', 10), + (0x36, b'\xC8', 10), + (0xE0, b'\x02\x1C\x07\x12\x37\x32\x29\x2D\x29\x25\x2B\x39\x00\x01\x03\x10', 10), + (0xE1, b'\x03\x1D\x07\x06\x2E\x2C\x29\x2D\x2E\x2E\x37\x3F\x00\x00\x02\x10', 10), + (0x3A, b'\x05', 10), + (0x29, None, 10), + (0x2A, b'\x00\x02\x00\x81', 10), + (0x2B, b'\x00\x03\x00\x82', 10) + ]: + self._write(cmd, data) + if delay: + time.sleep_us(delay) + + def display(self, data=None, x=None, y=None, scale_width=None, scale_height=None, rotation=0, sync=True): + '''data is a string, display the path image; otherwise, display the image of data''' + if type(data) is str: + data = Image.open(data, scale_width, scale_height, self.width, self.height, rotation=rotation) + if sync: self.fill(0x0, sync=False) + self.blit_rgb565(data.image, data.width, data.height, x, y) + if sync: self.show() + + def screenshot(self, data=None, x=0, y=0, w=None, h=None, **kwargs): + '''data is a string, save the path image; otherwise, return the image of data''' + if (w is None and h is None): + _img = IMG(memoryview(self._buffer), self.width, self.height) + else: + _img = IMG(memoryview(self.crop_rgb565(x,y,w,h)), w, h) + if type(data) is str: + Image.save(_img, data, **kwargs) + return _img + + def get_brightness(self): + return self._backlight() / 100 + + def set_brightness(self, brightness): + if not 0.0 <= brightness <= 1.0: + raise ValueError( + "Brightness must be a decimal number in the range: 0.0~1.0") + self._backlight(int(brightness * 100)) + + def color(self, red, green=None, blue=None): + """ Convert red, green and blue values (0-255) into a 16-bit 565 encoding.""" + if green is None or blue is None: + return red + else: + return (red & 0xf8) << 8 | (green & 0xfc) << 3 | blue >> 3 + + def show(self): + """Refresh the display and show the changes.""" + self._write(0x2C, self._buffer) + if self._oneclight: + self._oneclight = False + for i in range(60): #slow down display + self.set_brightness(i / 100) + time.sleep_ms(5) diff --git a/boards/default/micropython_esp32c5/build/lib/ws2812x.py b/boards/default/micropython_esp32c5/build/lib/ws2812x.py new file mode 100644 index 00000000..9600162a --- /dev/null +++ b/boards/default/micropython_esp32c5/build/lib/ws2812x.py @@ -0,0 +1,66 @@ +""" +WS2812 RGB(x035) + +Micropython library for the WS2812 NeoPixel-RGB(method inheritance) +======================================================= +@dahanzimin From the Mixly Team +""" +from time import sleep + +class NeoPixel: + def __init__(self, func, n, bpp=3, ORDER=(0, 1, 2, 3)): + self.func = func + self.bpp = bpp + self.rgbs = n + self.ORDER = ORDER + self.rgb_buf = bytearray(self.rgbs * bpp) + self.write() + + def __len__(self): + return self.rgbs + + def __setitem__(self, n, v): + for i in range(self.bpp): + self.rgb_buf[n * self.bpp + self.ORDER[i]] = v[i] + + def __getitem__(self, n): + return tuple(self.rgb_buf[n * self.bpp + self.ORDER[i]] for i in range(self.bpp)) + + def fill(self, v): + for i in range(self.bpp): + j = self.ORDER[i] + while j < self.rgbs * self.bpp: + self.rgb_buf[j] = v[i] + j += self.bpp + + def write(self): + self.func(self.rgb_buf) + + def color_chase(self, R, G, B, wait): + for i in range(self.rgbs): + self.__setitem__(i, (R, G, B)) + self.write() + sleep(wait/1000) + + def rainbow_cycle(self, wait, clear=True): + for j in range(255): + for i in range(self.rgbs): + rc_index = (i * 256 // self.rgbs) + j + self.__setitem__(i, self.wheel(rc_index & 255)) + self.write() + sleep(wait / 1000 / 256) + if clear: + self.fill((0, 0, 0)) + self.write() + + def wheel(self, pos): + if pos < 0 or pos > 255: + return (0, 0, 0) + elif pos < 85: + return (pos * 3, 255 - pos * 3, 0) + elif pos < 170: + pos -= 85 + return (255 - pos * 3, 0, pos * 3) + else: + pos -= 170 + return (0, pos * 3, 255 - pos * 3) diff --git a/boards/default/micropython_esp32c5/config.json b/boards/default/micropython_esp32c5/config.json new file mode 100644 index 00000000..f50a21fd --- /dev/null +++ b/boards/default/micropython_esp32c5/config.json @@ -0,0 +1,146 @@ +{ + "board": { + "元控自立": { + "key": "micropython:esp32c5:mixgo_sowl", + "config": [ + { + "key": "BurnSpeed", + "label": "Burn Speed", + "messageId": "MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED", + "options": [ + { + "key": "921600", + "label": "921600" + }, + { + "key": "460800", + "label": "460800" + }, + { + "key": "230400", + "label": "230400" + }, + { + "key": "115200", + "label": "115200" + } + ] + } + ] + }, + "C5_generic": { + "key": "micropython:esp32c5:generic", + "config": [ + { + "key": "BurnSpeed", + "label": "Burn Speed", + "messageId": "MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED", + "options": [ + { + "key": "921600", + "label": "921600" + }, + { + "key": "460800", + "label": "460800" + }, + { + "key": "230400", + "label": "230400" + }, + { + "key": "115200", + "label": "115200" + } + ] + } + ] + } + }, + "language": "MicroPython", + "burn": { + "type": "command", + "portSelect": "all", + "micropython:esp32c5:mixgo_sowl": { + "command": "\"{esptool}\" --chip esp32c5 --port {com} --baud {baudrate} --after hard_reset write_flash -e 0x2000 \"{indexPath}/build/Mixgo_Sowl_lib-v1.27.0.bin\" 0x700000 \"{indexPath}/../micropython/build/HZK12.bin\"" + }, + "micropython:esp32c5:generic": { + "command": "\"{esptool}\" --chip esp32c5 --port {com} --baud {baudrate} --after=no_reset write_flash -e 0x2000 \"{indexPath}/build/Generic_C5_lib-v1.27.0.bin\" 0x3A0000 \"{indexPath}/../micropython/build/HZK12.bin\"" + } + }, + "upload": { + "type": "command", + "portSelect": "all", + "libPath": [ + "{indexPath}/build/lib", + "{indexPath}/../micropython/build/lib" + ], + "command": "\"{ampy}\" -p {com} -d 1 -r \"{reset}\" put \"{indexPath}/build/upload\"", + "filePath": "{indexPath}/build/upload/main.py", + "copyLib": false, + "reset": [] + }, + "nav": { + "burn": true, + "upload": true, + "save": { + "py": true + }, + "setting": { + "thirdPartyLibrary": true + } + }, + "serial": { + "ctrlCBtn": true, + "ctrlDBtn": true, + "baudRates": 115200, + "yMax": 100, + "yMin": 0, + "pointNum": 100, + "rts": true, + "dtr": true + }, + "lib": { + "mixly": { + "url": [ + "http://download.mixlylibs.cloud/mixly3-packages/cloud-libs/micropython_esp32c5/libs.json" + ] + } + }, + "pythonToBlockly": false, + "web": { + "devices": { + "serial": true, + "hid": true, + "usb":true + }, + "burn": { + "erase": true, + "micropython:esp32c5:mixgo_sowl": { + "binFile": [ + { + "offset": "0x2000", + "path": "./build/Mixgo_Sowl_lib-v1.27.0.bin" + }, { + "offset": "0x700000", + "path": "../micropython/build/HZK12.bin" + } + ] + }, + "micropython:esp32c5:generic": { + "binFile": [ + { + "offset": "0x2000", + "path": "./build/Generic_C5_lib-v1.27.0.bin" + }, { + "offset": "0x3A0000", + "path": "../micropython/build/HZK12.bin" + } + ] + } + }, + "upload": { + "reset": [] + } + } +} diff --git a/boards/default/micropython_esp32c5/examples/map.json b/boards/default/micropython_esp32c5/examples/map.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/boards/default/micropython_esp32c5/examples/map.json @@ -0,0 +1 @@ +{} diff --git a/boards/default/micropython_esp32c5/index.xml b/boards/default/micropython_esp32c5/index.xml new file mode 100644 index 00000000..dcf60680 --- /dev/null +++ b/boards/default/micropython_esp32c5/index.xml @@ -0,0 +1 @@ +02000attachInterrupt_funcattachInterrupt_func10,1,2,3051i5000DIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!ms10tim1000tim_callbacktim_callback200090x151100a10.998124.82997110010101000110050110011000110x2x0,1,2,30,1,2,30,1,2,3xMixlyMixlyHelloMixly65axMixlyMixly0Mixly02MixlyMixlyHello,mixlyl--mylistHello,mixlymixlymixpyI love mixly!I love mixlyRandom No. is {}int1100input('1+2*3')mylist1,2,3,4,5mylist0mylist02mylistmylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistxmytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xMixlyMixlyMixly,HelloMixlyprompt02MixlyMixly0XFF00FFcodebMixlyMixly1attachInterrupt_funcattachInterrupt_func00Mixly0Mixly2022711420452023,1,1,12,0,0180292023,1,1,12,0,010044044010000100412000000000001000100010020000Hello, Mixly!10001#ffffff255,255,0Mixly0Mixly0010#ffffff255,255,0Mixly001#ffffff255,255,0mixly.jpgmixlyMixly001#ffffff255,255,0MixlyMixly0550#ffffff255,255,0MixlyMixly5500#ffffff255,255,00020#ffffff255,255,0005050#ffffff255,255,020202015#ffffff255,255,0606040#ffffff255,255,010000#ffffff255,255,00.5#ffffff255,255,0new_clock16012040#ffffff255,255,0new_clocknew_clock8200new_clocknew_clock0x0000000,0,00#ffffff255,255,0i2c_extend2122400000pei2c_extendpepe100pepe100pepe100pewifinamewifipasswordmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmsgtopicmethodmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012https://mixio.mixly.cn/time.phpmixio.mixly.cn12.jpgwifinamewifipasswordcsub_cb31444082183.230.40.3914109261n63JySRowo13ZLDBKw6y896E0=MixlyRobotsub_cbEQmsg1ciot_dict"tc"tc0ciot_dictccwifinamewifipasswordclientEnter Your API_KEYEnter Your SECRET_KEYclient1clientS72099北京今天天气如何?wifinamewifipasswordSVa3S0UKHIy9dDArs北京SVa3S0UKHIy9dDArs北京11111https://mixio.mixly.cn/tinydbusernamepasswordmqtt_clientmixlyhellomixly11mixlymixlyble_cble_pMixlyble_cble_cMixlyble_cble_xble_xble_xMixlyble_xble_xble_methodble_methodEQdataMixlyhandlehandle_methodhandle_methodkey1key2key3keyxble_keyboard_mouse10Hello, Mixly!10i2c2221100000i2c00i2c00i2ci2ci2cspi200000045spi200000buf50spi10spi100xffspibufspibuf0xffspi12345spi12345buf1Mixlyow12owowow12345ow12345owmy_now0my_nowmy_nowmy_nowFFFFFFFFFFFFmixlymy_nowmy_nowcbcbEQmsg1spi10000004512spi8my_lora433.925716my_loramy_loramy_loraMixlyi2c_extend45100000xsensori2c_extendxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor1013.25xsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensorxsensor5000500xsensorxsensorxsensorxsensorxsensorxsensorspi10000004512spi8ysensorysensorysensor0ysensor0ysensor0Mixlyysensor0Mixlyysensorysensor39,119.96,31.67ysensorysensorstation45ps2_handle24512ps2_handle50ps2_handleps2_handlews_wr123ws_wrws_wrws_wr360010zsensorzsensorzsensorzsensorzsensorweight12500weightKEYPAD_4_4123A456B789C*0#DKEYPAD_4_4var_re345rotary_cbrotary_cbmidi0midi440midi4401000midimidi100midimidimidi4120midimidirgb04rgb0000rgb000rgb0001000rgb1000rgb100100i2c_extend45400000Motori2c_extendMotor100Motor1024102402actuatoractuatoractuatoractuatoractuator你好米思齐actuatoractuatoractuator20actuatoractuatormixly*.mp3i2c_extend45400000matrixi2c_extendmatrixmatrixmatrixMixly0matrixMixlymatrixMixly500matrixMixlymatrixMixly500matrixmatrixmatrixmatrix1matrixmatrixmatrix0.5matrixmatrixdisp34disp2333dispdisp1i2c_extend45100000lcdi2c_extend0x27lcdMixly00lcdMixly005lcdlcdi2c_extend45100000oledi2c_extend0x3coledoled001oledMixlyoledMixly0010oledMixlyoledMixly0550oledMixlyoledMixly5500oled0020oled005050oled20202015oled1oled00oled00oledspi10000001246spi45tft_st7789135240tft_st7789001#ffffff255,255,0tft_st7789Mixly0050#ffffff255,255,0tft_st7789Mixly0550#ffffff255,255,0tft_st7789Mixly5500#ffffff255,255,0tft_st7789004040#ffffff255,255,0tft_st778912ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor'ni-hao','hong-se','lv-se','lan-se','bai-se','hei-se'0.1ai_sensor1.wav5ai_sensor1.wav100ai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsai_sensor'猫','狗','笔记本','笔'mixgo5自模型训练infoai_sensor'猫','狗','笔记本','笔'mixgo自模型识别objectsinfoai_sensor0.1606, 0.3562, 0.4712, 0.9568, 0.9877, 1.9108, 1.8761, 3.5310, 3.4423, 5.6823/sd/masks.kmodel外部模型加载objects12ai_sensorai_sensor98ai_sensor255,255,00,0,255ai_sensor1.wav5ai_sensor1.wav100infoai_sensorlicensePlateinfoai_sensorfaceinfoai_sensor20objectsai_sensorinfoai_sensorqrcodeinfoai_sensorbarcodeinfoai_sensortaginfoai_sensor25002525lineinfoai_sensor35002100circleinfoai_sensor10000rectinfoai_sensorinfoinfoai_sensorcolor_lab101colorsspi46sdsd/sdfilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtff0wifinamewifipasswordwlanwlanwlanwlanwlan127.16.0.801234567wlanwlanwlanwlanwlanmixly123456781connect_wifiwlanAPwlanTruewlanwlanSmallCabbage1234561WHILETRUEEQ0wlan0.0.0.0ms1000TRUEss0.0.0.080s192.168.0.180s5sss1024sbMixlyresponses1024sbMixlyresponse127.0.0.180sntp.aliyun.comresponsehttp://mixio.mixly.cnresponsehttp://mixio.mixly.cnresponsehttp://192.168.1.1:11434qwen2.5-coder:0.5b5https://api.deepseek.comAPI Keydeepseek-chat5请介绍一下米思齐?content_callbackcontent_callbackcontent请介绍一下米思齐? \ No newline at end of file diff --git a/boards/default/micropython_esp32c5/main.bundle.2b743a90.js b/boards/default/micropython_esp32c5/main.bundle.2b743a90.js new file mode 100644 index 00000000..258e8105 --- /dev/null +++ b/boards/default/micropython_esp32c5/main.bundle.2b743a90.js @@ -0,0 +1,21 @@ +(()=>{"use strict";var e={d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{controls_type:()=>Pe,controls_typeLists:()=>Ye,lists_zip:()=>ve,lists_zip_container:()=>Xe,lists_zip_item:()=>ye,unpack_iterable_object:()=>be,variables_change:()=>fe,variables_get:()=>Ne,variables_global:()=>Fe,variables_set:()=>De});var i={};e.r(i),e.d(i,{base_setup:()=>Be,controls_delay:()=>Ge,controls_end_program:()=>Ue,controls_except:()=>et,controls_finally:()=>tt,controls_flow_statements:()=>Je,controls_for:()=>Qe,controls_forEach:()=>ke,controls_for_range:()=>ze,controls_if:()=>we,controls_if_else:()=>$e,controls_if_elseif:()=>je,controls_if_if:()=>qe,controls_lambda:()=>nt,controls_main:()=>Ve,controls_pass:()=>st,controls_range:()=>He,controls_repeat_ext:()=>it,controls_thread:()=>_t,controls_try:()=>Ze,controls_try_finally:()=>Ke,controls_whileUntil:()=>We,datetime_fromtimestamp:()=>lt,do_while:()=>ot,garbage_collection:()=>pt,gene_unique_identifier:()=>dt,get_mem_alloc:()=>at,get_mem_free:()=>ut,get_unique_identifier:()=>rt});var n={};e.r(n),e.d(n,{base_map:()=>vt,generate_cartesian_product:()=>yt,math_arithmetic:()=>mt,math_bit:()=>Ot,math_constant:()=>Mt,math_constant_mp:()=>ht,math_constrain:()=>Lt,math_dec:()=>ct,math_degree_to_radian:()=>xt,math_indexer_number:()=>Dt,math_map:()=>Nt,math_max_min:()=>Ct,math_number:()=>Tt,math_number_base_conversion:()=>St,math_radian_to_degree:()=>bt,math_random:()=>At,math_random_seed:()=>ft,math_round:()=>Ft,math_selfcalcu:()=>Et,math_to_int:()=>gt,math_trig:()=>Rt,text_to_number:()=>Pt,text_to_number_skulpt:()=>Yt,turn_to_int:()=>Xt});var s={};e.r(s),e.d(s,{ascii_to_char:()=>kt,char_to_ascii:()=>Wt,number_to_text:()=>Kt,os_system:()=>mi,text:()=>Bt,text_bytes:()=>Ut,text_capital:()=>ti,text_center:()=>ii,text_char:()=>wt,text_char_at:()=>zt,text_char_at2:()=>Qt,text_char_at3:()=>Ii,text_compareTo:()=>di,text_compare_to:()=>ei,text_create_with_container:()=>ui,text_create_with_item:()=>ri,text_encode:()=>Mi,text_equals_starts_ends:()=>Zt,text_eval:()=>hi,text_find:()=>ni,text_format:()=>ai,text_format_noreturn:()=>Ti,text_join:()=>Ht,text_join_seq:()=>si,text_length:()=>Jt,text_random_char:()=>qt,text_replace:()=>_i,text_split:()=>oi,text_strip:()=>pi,text_substring:()=>$t,text_substring2:()=>jt,text_substring3:()=>li,text_textarea:()=>Gt});var _={};e.r(_),e.d(_,{ENUMERATE:()=>Zi,content_in_lists:()=>tn,enumerate:()=>en,list_many_input:()=>Gi,list_tolist:()=>ki,list_tolist2:()=>$i,list_trig:()=>xi,lists_2d_get_col_row_data:()=>gi,lists_2d_get_data_with_col_row:()=>ci,lists_append_extend:()=>Di,lists_change_to:()=>Bi,lists_change_to_general:()=>wi,lists_clear:()=>vi,lists_create_with:()=>Ci,lists_create_with2:()=>Wi,lists_create_with_container:()=>Ai,lists_create_with_item:()=>Li,lists_create_with_noreturn:()=>Ui,lists_create_with_text:()=>Si,lists_create_with_text2:()=>Ki,lists_del_general:()=>Hi,lists_find:()=>bi,lists_getIndex3:()=>Ji,lists_getSublist3:()=>Qi,lists_get_index:()=>Oi,lists_get_random_item:()=>fi,lists_get_random_sublist:()=>Fi,lists_get_sublist:()=>Ri,lists_insert_value:()=>Pi,lists_insert_value2:()=>qi,lists_pop:()=>yi,lists_remove_at:()=>Xi,lists_remove_at2:()=>ji,lists_reverse:()=>Yi,lists_setIndex3:()=>zi,lists_set_index:()=>Ni,lists_sort:()=>Vi});var o={};e.r(o),e.d(o,{dicts_add_change_del:()=>En,dicts_add_or_change:()=>rn,dicts_clear:()=>In,dicts_create_with:()=>sn,dicts_create_with_container:()=>_n,dicts_create_with_item:()=>on,dicts_create_with_noreturn:()=>cn,dicts_deldict:()=>mn,dicts_delete:()=>ln,dicts_get:()=>an,dicts_get_default:()=>un,dicts_items:()=>Tn,dicts_keys:()=>pn,dicts_length:()=>hn,dicts_pop:()=>On,dicts_setdefault:()=>Rn,dicts_to_json:()=>Cn,dicts_to_json2:()=>Ln,dicts_to_to:()=>An,dicts_todict:()=>gn,dicts_update:()=>dn,dicts_values:()=>Mn,json_to_dicts:()=>Sn});var p={};e.r(p),e.d(p,{logic_boolean:()=>Yn,logic_compare:()=>Dn,logic_compare_continous:()=>fn,logic_is:()=>bn,logic_is_in:()=>yn,logic_negate:()=>Pn,logic_null:()=>vn,logic_operation:()=>Fn,logic_tobool:()=>xn,logic_true_or_false:()=>Xn});var a={};e.r(a),e.d(a,{sdcard_mount:()=>os,sdcard_use_spi_init:()=>_s,storage_can_write_ornot:()=>Kn,storage_change_dir:()=>ns,storage_close_file:()=>Qn,storage_delete_file:()=>qn,storage_file_seek:()=>Zn,storage_file_tell:()=>$n,storage_file_write:()=>wn,storage_fileopen:()=>Bn,storage_fileopen_new:()=>Gn,storage_fileopen_new_encoding:()=>Un,storage_get_a_line:()=>Wn,storage_get_contents:()=>kn,storage_get_contents_without_para:()=>Hn,storage_get_current_dir:()=>es,storage_get_file_size:()=>jn,storage_get_filename:()=>Jn,storage_is_file:()=>ss,storage_list_all_files:()=>zn,storage_make_dir:()=>ts,storage_open_file_with_os:()=>Vn,storage_rename:()=>is});var u={};e.r(u),e.d(u,{procedures_callnoreturn:()=>ls,procedures_callreturn:()=>ds,procedures_defnoreturn:()=>ps,procedures_defreturn:()=>as,procedures_ifreturn:()=>Is,procedures_mutatorarg:()=>rs,procedures_mutatorcontainer:()=>us,procedures_return:()=>Ts});var r={};e.r(r),e.d(r,{tuple_change_to:()=>Ls,tuple_create_llm_params:()=>ys,tuple_create_with:()=>hs,tuple_create_with_container:()=>ms,tuple_create_with_item:()=>Es,tuple_create_with_noreturn:()=>Fs,tuple_create_with_text2:()=>Os,tuple_create_with_text_return:()=>Rs,tuple_del:()=>Cs,tuple_find:()=>Ns,tuple_getIndex:()=>cs,tuple_getSublist:()=>fs,tuple_get_random_item:()=>Ys,tuple_get_sublist:()=>Ps,tuple_input:()=>Xs,tuple_join:()=>Ss,tuple_length:()=>gs,tuple_max:()=>As,tuple_totuple:()=>vs,tuple_trig:()=>Ds});var l={};e.r(l),e.d(l,{set_add_discard:()=>Ws,set_clear:()=>ws,set_create_with:()=>xs,set_create_with_container:()=>Vs,set_create_with_item:()=>Bs,set_create_with_text_return:()=>Qs,set_length:()=>Gs,set_operate:()=>Hs,set_operate_update:()=>ks,set_pop:()=>Us,set_sub:()=>Ks,set_toset:()=>zs,set_update:()=>Js});var d={};e.r(d),e.d(d,{html_content:()=>e_,html_content_more:()=>t_,html_document:()=>js,html_form:()=>n_,html_head_body:()=>Zs,html_style:()=>i_,html_style_color:()=>__,html_style_content:()=>s_,html_text:()=>o_,html_title:()=>$s});var I={};e.r(I),e.d(I,{attribute_access:()=>R_,function_call:()=>m_,function_call_container:()=>E_,function_call_item:()=>O_,raw_block:()=>u_,raw_empty:()=>l_,raw_expression:()=>r_,raw_table:()=>a_,text_comment:()=>d_,text_print_multiple:()=>T_,text_print_multiple_container:()=>M_,text_print_multiple_item:()=>h_,type_check:()=>I_});var T={};e.r(T),e.d(T,{controls_type:()=>A_,controls_typeLists:()=>L_,lists_zip:()=>N_,unpack_iterable_object:()=>D_,variables_change:()=>C_,variables_get:()=>c_,variables_global:()=>S_,variables_set:()=>g_});var M={};e.r(M),e.d(M,{Panic_with_status_code:()=>V_,base_setup:()=>F_,controls_delay:()=>x_,controls_flow_statements:()=>b_,controls_for:()=>v_,controls_forEach:()=>H_,controls_for_range:()=>X_,controls_if:()=>P_,controls_interrupts:()=>U_,controls_lambda:()=>W_,controls_main:()=>f_,controls_millis:()=>B_,controls_nointerrupts:()=>w_,controls_pass:()=>J_,controls_range:()=>k_,controls_repeat:()=>to,controls_repeat_ext:()=>q_,controls_thread:()=>Q_,controls_try_finally:()=>Y_,controls_whileUntil:()=>y_,datetime_fromtimestamp:()=>io,do_while:()=>z_,garbage_collection:()=>j_,gene_unique_identifier:()=>no,get_mem_alloc:()=>$_,get_mem_free:()=>Z_,get_unique_identifier:()=>eo,reset:()=>G_,time_sleep:()=>K_});var h={};e.r(h),e.d(h,{base_map:()=>Ao,generate_cartesian_product:()=>No,math_arithmetic:()=>ao,math_bit:()=>po,math_constant:()=>_o,math_constant_mp:()=>oo,math_constrain:()=>Eo,math_dec:()=>Io,math_degree_to_radian:()=>fo,math_indexer_number:()=>co,math_map:()=>mo,math_max_min:()=>Mo,math_number:()=>so,math_number_base_conversion:()=>Oo,math_radian_to_degree:()=>Do,math_random:()=>ho,math_random_seed:()=>Ro,math_round:()=>go,math_selfcalcu:()=>uo,math_single:()=>ro,math_to_int:()=>To,math_trig:()=>lo,text_to_number:()=>Co,text_to_number_skulpt:()=>So,turn_to_int:()=>Lo});var m={};e.r(m),e.d(m,{ascii_to_char:()=>yo,char_to_ascii:()=>bo,number_to_text:()=>xo,os_system:()=>op,text:()=>Fo,text_bytes:()=>Yo,text_capital:()=>Ko,text_center:()=>Jo,text_char:()=>vo,text_char_at:()=>Go,text_char_at2:()=>Bo,text_char_at3:()=>np,text_compareTo:()=>ip,text_compare_to:()=>Ho,text_encode:()=>sp,text_equals_starts_ends:()=>wo,text_eval:()=>_p,text_find:()=>Qo,text_format:()=>Zo,text_format_noreturn:()=>ep,text_join:()=>Xo,text_join_seq:()=>zo,text_length:()=>Vo,text_random_char:()=>Uo,text_replace:()=>qo,text_split:()=>jo,text_strip:()=>$o,text_substring:()=>Wo,text_substring2:()=>ko,text_substring3:()=>tp,text_textarea:()=>Po});var E={};e.r(E),e.d(E,{content_in_lists:()=>Gp,enumerate:()=>Bp,list_many_input:()=>Lp,list_tolist:()=>xp,list_tolist2:()=>Vp,list_trig:()=>Cp,lists_2d_get_col_row_data:()=>up,lists_2d_get_data_with_col_row:()=>ap,lists_append_extend:()=>Tp,lists_change_to:()=>Ap,lists_change_to_general:()=>Dp,lists_clear:()=>Op,lists_create_with:()=>rp,lists_create_with2:()=>Fp,lists_create_with_noreturn:()=>Np,lists_create_with_text:()=>lp,lists_create_with_text2:()=>Pp,lists_del_general:()=>fp,lists_find:()=>Rp,lists_getIndex3:()=>Yp,lists_getSublist3:()=>vp,lists_get_index:()=>dp,lists_get_random_item:()=>Mp,lists_get_random_sublist:()=>hp,lists_get_sublist:()=>pp,lists_insert_value:()=>mp,lists_insert_value2:()=>yp,lists_pop:()=>gp,lists_remove_at:()=>cp,lists_remove_at2:()=>bp,lists_reverse:()=>Ep,lists_setIndex3:()=>Xp,lists_set_index:()=>Ip,lists_sort:()=>Sp});var O={};e.r(O),e.d(O,{dicts_add_change_del:()=>Zp,dicts_add_or_change:()=>Wp,dicts_clear:()=>Qp,dicts_create_with:()=>Up,dicts_create_with_noreturn:()=>ia,dicts_deldict:()=>$p,dicts_delete:()=>Kp,dicts_get:()=>Hp,dicts_get_default:()=>kp,dicts_items:()=>zp,dicts_keys:()=>wp,dicts_length:()=>jp,dicts_pop:()=>ea,dicts_setdefault:()=>ta,dicts_to_json:()=>sa,dicts_to_json2:()=>pa,dicts_to_to:()=>oa,dicts_todict:()=>na,dicts_update:()=>Jp,dicts_values:()=>qp,json_to_dicts:()=>_a});var R={};e.r(R),e.d(R,{logic_boolean:()=>da,logic_compare:()=>aa,logic_compare_continous:()=>ua,logic_is:()=>ha,logic_is_in:()=>Ma,logic_negate:()=>la,logic_null:()=>Ia,logic_operation:()=>ra,logic_tobool:()=>ma,logic_true_or_false:()=>Ta});var c={};e.r(c),e.d(c,{sdcard_mount:()=>Ga,sdcard_use_spi_init:()=>Ba,storage_can_write_ornot:()=>La,storage_change_dir:()=>Xa,storage_close_file:()=>Da,storage_delete_file:()=>Fa,storage_file_seek:()=>va,storage_file_tell:()=>Ya,storage_file_write:()=>ga,storage_fileopen:()=>Oa,storage_fileopen_new:()=>Ra,storage_fileopen_new_encoding:()=>ca,storage_get_a_line:()=>Aa,storage_get_contents:()=>Sa,storage_get_contents_without_para:()=>Ca,storage_get_current_dir:()=>ya,storage_get_file_size:()=>Pa,storage_get_filename:()=>Na,storage_is_file:()=>Va,storage_list_all_files:()=>fa,storage_make_dir:()=>ba,storage_open_file_with_os:()=>Ea,storage_rename:()=>xa});var g={};e.r(g),e.d(g,{procedures_callnoreturn:()=>ka,procedures_callreturn:()=>Ha,procedures_defnoreturn:()=>wa,procedures_defreturn:()=>Ua,procedures_ifreturn:()=>Wa,procedures_return:()=>Ka});var C={};e.r(C),e.d(C,{tuple_change_to:()=>tu,tuple_create_llm_params:()=>ru,tuple_create_with:()=>Ja,tuple_create_with_noreturn:()=>_u,tuple_create_with_text2:()=>Qa,tuple_create_with_text_return:()=>za,tuple_del:()=>$a,tuple_find:()=>iu,tuple_getIndex:()=>qa,tuple_getSublist:()=>su,tuple_get_random_item:()=>pu,tuple_get_sublist:()=>ou,tuple_input:()=>uu,tuple_join:()=>Za,tuple_length:()=>ja,tuple_max:()=>eu,tuple_totuple:()=>au,tuple_trig:()=>nu});var S={};e.r(S),e.d(S,{set_add_discard:()=>mu,set_clear:()=>Tu,set_create_with:()=>lu,set_create_with_text_return:()=>Ru,set_length:()=>du,set_operate:()=>Mu,set_operate_update:()=>hu,set_pop:()=>Iu,set_sub:()=>Eu,set_toset:()=>cu,set_update:()=>Ou});var A={};e.r(A),e.d(A,{html_content:()=>Au,html_content_more:()=>Lu,html_document:()=>gu,html_form:()=>Du,html_head_body:()=>Su,html_style:()=>Nu,html_style_content:()=>fu,html_text:()=>Fu,html_title:()=>Cu});var L={};e.r(L),e.d(L,{attribute_access:()=>xu,function_call:()=>bu,raw_block:()=>Pu,raw_empty:()=>vu,raw_expression:()=>Yu,raw_table:()=>Xu,type_check:()=>yu});var N={};e.r(N),e.d(N,{PIN_init:()=>kr,actuator_extern_get_led_bright:()=>Zu,actuator_extern_get_led_state:()=>er,actuator_extern_led_bright:()=>$u,actuator_extern_led_brightness:()=>tr,actuator_ms32006_dcmotor:()=>rr,actuator_ms32006_init:()=>ur,actuator_ms32006_stepper:()=>lr,actuator_neopixel_init:()=>dr,actuator_neopixel_rgb:()=>Ir,actuator_neopixel_rgb_all:()=>Tr,actuator_neopixel_rgb_show_all_chase:()=>mr,actuator_neopixel_rgb_show_all_rainbow:()=>hr,actuator_neopixel_write:()=>Mr,actuator_use_uart_init:()=>Er,backstage_esp32_music_play_list:()=>Ku,esp32_music_get_tempo_extern:()=>Qu,esp32_music_pitch:()=>Hu,esp32_music_pitch_init:()=>wu,esp32_music_pitch_with_time:()=>ku,esp32_music_play_list:()=>Wu,esp32_music_reset_extern:()=>zu,esp32_music_set_tempo_extern:()=>Ju,esp32_music_stop:()=>qu,esp32_set_music_volume:()=>ju,mixbot_actuator_extern_get_addr:()=>wr,mixbot_actuator_extern_set_addr:()=>Hr,mixbot_addr_extern:()=>fr,parrot_PIN_init:()=>Qr,parrot_move_speed:()=>zr,pin_led_bright:()=>Wr,player_insert_music:()=>Sr,player_play_music:()=>Cr,player_set_mode:()=>gr,player_set_play:()=>Rr,player_set_volume:()=>cr,player_whether_stop:()=>Or,robot_led_extern:()=>vr,robot_led_extern_get_value:()=>Xr,robot_motor_extern:()=>Fr,robot_motor_extern_get_speed:()=>Pr,robot_servo_extern_absolute_run:()=>Vr,robot_servo_extern_get_status:()=>yr,robot_servo_extern_relative_continue:()=>Ur,robot_servo_extern_relative_origin:()=>Br,robot_servo_extern_relative_run:()=>Gr,robot_servo_extern_stop:()=>xr,robot_servo_extern_stop_mode:()=>br,robot_traffic_light_extern:()=>Yr,servo_PIN_init:()=>Kr,servo_get_angle:()=>pr,servo_get_speed:()=>ar,servo_init:()=>ir,servo_move:()=>nr,servo_move_angle:()=>Jr,servo_set_angle:()=>_r,servo_set_speed:()=>or,servo_speed_360:()=>sr,syn6288_builtin_voice:()=>Nr,syn6288_get_voice:()=>Lr,syn6288_set_voice:()=>Ar,syn6288_tts_play:()=>Dr});var D={};e.r(D),e.d(D,{actuator_dc_motor:()=>Dl,actuator_dc_motor_stop:()=>fl,actuator_get_led_bright:()=>el,actuator_get_led_state:()=>tl,actuator_led_bright:()=>Zr,actuator_led_brightness:()=>il,actuator_mixbot_buzzer_on_off:()=>Xl,actuator_mixgo_nova_mic_get:()=>Bl,actuator_mixgo_nova_mic_set:()=>Vl,actuator_mixgo_nova_onboard_music_pitch:()=>Wl,actuator_mixgo_nova_onboard_music_stop:()=>Kl,actuator_mixgo_nova_play_audio:()=>Hl,actuator_mixgo_nova_play_online_audio:()=>kl,actuator_mixgo_nova_record_audio:()=>wl,actuator_mixgo_nova_voice_get:()=>Ul,actuator_mixgo_nova_voice_set:()=>Gl,actuator_mixgo_zero_led_color:()=>nl,actuator_onboard_neopixel_rgb:()=>ul,actuator_onboard_neopixel_rgb_all:()=>rl,actuator_onboard_neopixel_rgb_show_all_chase:()=>dl,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>ll,actuator_onboard_neopixel_write:()=>Il,actuator_rm_onboard_neopixel_rgb:()=>Tl,actuator_rm_onboard_neopixel_rgb_all:()=>Ml,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>hl,actuator_stepper_keep:()=>Ll,actuator_stepper_stop:()=>Nl,analog_ble_keyboard_init:()=>od,analog_ble_keyboard_input:()=>ud,analog_ble_keyboard_mouse_init:()=>md,analog_ble_keyboard_mouse_input:()=>cd,analog_ble_keyboard_mouse_send_battery:()=>Rd,analog_ble_keyboard_mouse_str:()=>gd,analog_ble_keyboard_send_battery:()=>ld,analog_ble_keyboard_str:()=>rd,analog_ble_mouse_init:()=>dd,analog_ble_mouse_input:()=>Md,analog_ble_mouse_keyboard_input:()=>Cd,analog_ble_mouse_send_battery:()=>hd,analog_keyboard_input:()=>jl,analog_keyboard_str:()=>_d,analog_mouse_input:()=>nd,backstage_onboard_music_play_list:()=>Sl,bitbot_motor:()=>xl,bitbot_move:()=>yl,bitbot_stop:()=>bl,ble_keyboard_connect:()=>ad,ble_keyboard_get_mac:()=>pd,ble_keyboard_mouse_connect:()=>Od,ble_keyboard_mouse_get_mac:()=>Ed,ble_mouse_connect:()=>Td,ble_mouse_get_mac:()=>Id,cc_number:()=>al,educore_ble_keyboard_input:()=>vd,educore_ble_sensor_connected:()=>Yd,educore_ble_sensor_init:()=>Pd,educore_buzzer:()=>Sd,educore_buzzer_play_tone:()=>Ad,educore_buzzer_play_tone_time:()=>Ld,educore_buzzer_stop:()=>Nd,educore_neopixel_clear:()=>Fd,educore_neopixel_rgb:()=>fd,educore_rgb_light:()=>Dd,esp32_music_get_tempo:()=>El,esp32_music_reset:()=>Ol,esp32_music_set_tempo:()=>ml,esp32_onboard_music_pitch:()=>Rl,esp32_onboard_music_pitch_with_time:()=>cl,esp32_onboard_music_play_list:()=>Cl,esp32_onboard_music_stop:()=>gl,general_key:()=>Zl,general_key_tuple:()=>ed,generalkey_container:()=>td,generalkey_create_with_item:()=>id,get_keyboard_light:()=>Xd,get_power_output:()=>Ql,ledswitch:()=>$r,mixbot_motor:()=>vl,mixbot_motor_status:()=>Fl,mixbot_move:()=>Pl,mixbot_stop:()=>Yl,mouse_key:()=>sd,number:()=>jr,record_audio:()=>bd,rm_actuator_get_led_bright:()=>_l,rm_actuator_get_led_state:()=>ol,rm_actuator_led_bright:()=>sl,rm_actuator_led_brightness:()=>pl,rm_motor:()=>Al,set_all_power_output:()=>zl,set_microphone_amplification:()=>yd,set_music_volume:()=>xd,set_part_power_output:()=>ql,set_power_output:()=>Jl,special_key:()=>$l});var f={};e.r(f),e.d(f,{ai_sensor_20object:()=>mI,ai_sensor_ailocal_class:()=>oI,ai_sensor_ailocal_class_result:()=>pI,ai_sensor_ailocal_train:()=>_I,ai_sensor_asr_recognize:()=>dI,ai_sensor_audio_play:()=>uI,ai_sensor_audio_record:()=>aI,ai_sensor_barcode:()=>Wd,ai_sensor_circle:()=>jd,ai_sensor_classifier_faces:()=>hI,ai_sensor_color:()=>tI,ai_sensor_color_chases:()=>sI,ai_sensor_color_chases_result:()=>nI,ai_sensor_config:()=>Hd,ai_sensor_face:()=>MI,ai_sensor_find_20objects:()=>EI,ai_sensor_find_barcodes:()=>Kd,ai_sensor_find_circles:()=>$d,ai_sensor_find_colors:()=>iI,ai_sensor_find_licenseplates:()=>TI,ai_sensor_find_lines:()=>qd,ai_sensor_find_qrcodes:()=>wd,ai_sensor_find_rects:()=>eI,ai_sensor_find_tags:()=>Qd,ai_sensor_licenseplate:()=>II,ai_sensor_line:()=>zd,ai_sensor_qrcode:()=>Gd,ai_sensor_qrcode_lite:()=>Ud,ai_sensor_rect:()=>Zd,ai_sensor_rgb:()=>kd,ai_sensor_tag:()=>Jd,ai_sensor_use_uart_init:()=>Bd,ai_sensor_yolo_recognize:()=>rI,ai_sensor_yolo_recognize_result:()=>lI});var F={};e.r(F),e.d(F,{MICROPYTHON_AI_Speech_asr:()=>cI,MICROPYTHON_AI_Speech_unit:()=>RI,MICROPYTHON_AI_client:()=>OI});var P={};e.r(P),e.d(P,{AI_CAMERA_INIT:()=>jI,AI_CAMERA_INIT_FACERECOGNIZE:()=>eT,AI_CAMERA_INIT_SIMPLE:()=>LT,AI_STOP_ACQUISITION:()=>CT,CAMERA_LOOGOUT:()=>GI,CI130X_BROADCAST_SANT:()=>YI,CI130X_BROADCAST_SYSTEM_TIME:()=>XI,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>PI,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>FI,CI130X_IDENTIFY_AND_SAVE_SANT:()=>fI,CI130X_OPEN_AND_CLOSE:()=>NI,CI130X_PLAY_SYSTEM_CMD_SANT:()=>DI,CI130X_SET_SYSTEM_CMD_SANT:()=>vI,CONVERT_IMAGE_TO_JPG:()=>HI,CREATE_CAMERA:()=>yI,CREATE_CAMERA_SIMPLE:()=>AT,DELETE_FACE_ALL:()=>TT,DELETE_FACE_FROM_DATABASE:()=>IT,GET_CAT_FACE_DETECTION_NUM:()=>OT,GET_COLOR_DETECTION_NUM:()=>ET,GET_FACE_DETECTION_NAME:()=>gT,GET_FACE_DETECTION_NUM:()=>cT,GET_HOW_MUCH_RECOGNITION:()=>sT,GET_HUMAN_DETECTION_NUM:()=>RT,GET_IMAGE_AND_SAVE:()=>xI,GET_IMAGE_FROM_NET:()=>BI,GET_NO_CAT_OR_FACE_RECOGNITION:()=>oT,GET_NO_FACE_RECOGNITION_INFO:()=>uT,GET_NO_RECOGNITION:()=>_T,GET_NO_XY_RECOGNITION:()=>pT,GET_NO_XY_RECOGNITION_FACE:()=>aT,GET_PICTURE_DATA_EXACT:()=>UI,GET_PICTURE_DATA_WHS:()=>kI,GET_PICTURE_RECOGNITION_DATA:()=>mT,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>wI,GET_QR_CODE_RECOGNITION_DATA:()=>hT,GET_SCREEN_IMAGE:()=>qI,GET_SCREEN_IMAGE_SIZE:()=>zI,MIXIO_REPORT_IMAGE_DATA:()=>ST,MODEL_INIT_HEIGHT:()=>ZI,MODEL_INIT_WIDTH:()=>$I,MODEL_LOGOUT:()=>tT,MODEL_RUN:()=>iT,MODEL_WHETHER_RUN_SUCCEED:()=>nT,OPEN_IMAGE:()=>VI,PRINT_FACE_DATABASE:()=>MT,REGISTER_NEW_FACE:()=>dT,REGISTER_NEW_FACE_SIMPLE:()=>DT,Register_color_recognition:()=>lT,Register_color_recognition_fixed:()=>rT,Register_color_recognition_fixed_SIMPLE:()=>NT,SCREEN_DISPLAY_IMAGE:()=>JI,SCREEN_DISPLAY_IMAGE_LOCATION:()=>QI,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>WI,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>KI,SHOOT_AND_SAVE_PICTURE:()=>bI,VOICE_RECOGNITION_CONTROL:()=>LI,yesorno:()=>AI});var Y={};e.r(Y),e.d(Y,{mpython_blynk_app_data:()=>HT,mpython_blynk_app_notify:()=>bT,mpython_blynk_email:()=>BT,mpython_blynk_get_timers:()=>GT,mpython_blynk_on_connected:()=>vT,mpython_blynk_on_disconnected:()=>YT,mpython_blynk_run:()=>yT,mpython_blynk_sensor_data_to_app:()=>wT,mpython_blynk_set_property:()=>VT,mpython_blynk_setup:()=>kT,mpython_blynk_stop_timers:()=>xT,mpython_blynk_sync_virtual:()=>PT,mpython_blynk_terminal_widget_vpin:()=>FT,mpython_blynktimer:()=>UT,mpython_blynktimer_run:()=>XT});var v={};e.r(v),e.d(v,{communicate_bluetooth_central_init:()=>LM,communicate_bluetooth_connect:()=>FM,communicate_bluetooth_disconnect:()=>PM,communicate_bluetooth_handle:()=>bM,communicate_bluetooth_is_connected:()=>vM,communicate_bluetooth_mac:()=>fM,communicate_bluetooth_peripheral_init:()=>NM,communicate_bluetooth_recv:()=>XM,communicate_bluetooth_recv_only:()=>yM,communicate_bluetooth_scan:()=>DM,communicate_bluetooth_send:()=>YM,communicate_espnow_init:()=>xM,communicate_espnow_init_new:()=>VM,communicate_i2c_available:()=>aM,communicate_i2c_init:()=>QT,communicate_i2c_master_read:()=>pM,communicate_i2c_onboard:()=>KT,communicate_i2c_read:()=>zT,communicate_i2c_scan:()=>jT,communicate_i2c_write:()=>qT,communicate_ir_recv_init:()=>hM,communicate_ir_send_init:()=>cM,communicate_ow_init:()=>rM,communicate_ow_read:()=>dM,communicate_ow_reset:()=>MM,communicate_ow_scan:()=>lM,communicate_ow_select:()=>TM,communicate_ow_write:()=>IM,communicate_spi_buffer:()=>eM,communicate_spi_init:()=>$T,communicate_spi_onboard:()=>JT,communicate_spi_read:()=>tM,communicate_spi_read_output:()=>iM,communicate_spi_readinto:()=>nM,communicate_spi_readinto_output:()=>sM,communicate_spi_set:()=>ZT,communicate_spi_write:()=>_M,communicate_spi_write_readinto:()=>oM,espnow_radio_channel:()=>kM,espnow_radio_channel_new:()=>KM,espnow_radio_on_off:()=>JM,espnow_radio_rec:()=>zM,espnow_radio_recv:()=>jM,espnow_radio_recv_certain_msg:()=>$M,espnow_radio_recv_certain_msg_new:()=>eh,espnow_radio_recv_msg:()=>qM,espnow_radio_recv_new:()=>ZM,espnow_radio_send:()=>QM,espnow_radio_txpower:()=>WM,i2c_available:()=>gh,i2c_init:()=>ah,i2c_master_reader2:()=>ch,i2c_read:()=>uh,i2c_scan:()=>lh,i2c_slave_onreceive:()=>uM,i2c_write:()=>rh,internal_variable:()=>mM,ir_recv_timeout:()=>RM,ir_transmit_busy:()=>AM,ir_transmit_conventional_data:()=>gM,ir_transmit_raw_code:()=>SM,ir_transmit_study_code:()=>CM,ir_whether_recv:()=>OM,lora_init:()=>th,lora_packet:()=>ih,lora_recv:()=>sh,lora_send:()=>nh,network_espnow_info:()=>GM,network_espnow_mac:()=>BM,network_espnow_recv:()=>UM,network_espnow_recv_handle:()=>HM,network_espnow_send:()=>wM,recv_fun:()=>EM,spi_buffer:()=>Th,spi_init:()=>dh,spi_read:()=>Mh,spi_read_output:()=>hh,spi_readinto:()=>mh,spi_readinto_output:()=>Eh,spi_set:()=>Ih,spi_write:()=>Oh,spi_write_readinto:()=>Rh,urequests_attribute:()=>oh,urequests_get:()=>_h,urequests_method:()=>ph});var X={};e.r(X),e.d(X,{display_animate:()=>em,display_blink_rate:()=>qh,display_circle:()=>tm,display_color_seclet:()=>Im,display_draw_4strings:()=>kh,display_fill:()=>Zh,display_get_screen_image:()=>zh,display_help:()=>nm,display_image_size:()=>Wh,display_lcd_use_i2c_init:()=>Om,display_line:()=>Jh,display_line_arbitrarily:()=>Qh,display_matrix_extern_bright_point:()=>bh,display_matrix_extern_bright_screen:()=>Vh,display_matrix_extern_clear:()=>Bh,display_matrix_extern_get_pixel:()=>yh,display_matrix_extern_get_screen_pixel:()=>xh,display_matrix_extern_image_builtins:()=>Gh,display_matrix_extern_scroll_string:()=>Fh,display_matrix_extern_scroll_string_delay:()=>Ph,display_matrix_extern_shift:()=>Xh,display_matrix_extern_show_frame_string:()=>Yh,display_matrix_extern_show_frame_string_delay:()=>vh,display_matrix_extern_show_image:()=>Dh,display_matrix_extern_show_image_or_string_delay:()=>fh,display_matrix_use_i2c_init:()=>Nh,display_oled_drawPixel:()=>_m,display_oled_showBitmap:()=>sm,display_oled_use_i2c_init:()=>Sm,display_onoff:()=>$h,display_rect:()=>Kh,display_rgb_color:()=>jh,display_tm1650_power:()=>pm,display_tm1650_set_brightness:()=>rm,display_tm1650_show_dot:()=>um,display_tm1650_show_num:()=>am,display_tm_use_i2c_init:()=>om,display_triangle:()=>im,display_use_i2c_init:()=>Hh,extern_oled_bright_point:()=>ym,extern_oled_clear:()=>bm,extern_oled_get_pixel:()=>Xm,extern_oled_hvline:()=>Vm,extern_oled_line:()=>Bm,extern_oled_scroll_string:()=>fm,extern_oled_scroll_string_delay:()=>Fm,extern_oled_shape_rect:()=>xm,extern_oled_shift:()=>vm,extern_oled_show_frame_string:()=>Pm,extern_oled_show_frame_string_delay:()=>Ym,extern_oled_show_image:()=>Am,extern_oled_show_image_or_string_delay:()=>Dm,extern_oled_show_image_xy:()=>Lm,extern_oled_show_string:()=>Nm,lcd_backlight:()=>gm,lcd_clear:()=>Cm,lcd_print_string:()=>cm,lcd_show_image_or_string_delay:()=>Rm,matrix_extern_image_arithmetic:()=>Uh,matrix_extern_image_invert:()=>wh,tft_fill:()=>mm,tft_line_arbitrarily:()=>Em,tft_scroll_string_delay:()=>Mm,tft_show_frame_string_delay:()=>hm,tft_show_image_or_string_delay:()=>Tm,tft_show_image_xy:()=>dm,tft_use_spi_init:()=>lm});var y={};e.r(y),e.d(y,{bitbot_display_bitmap_create:()=>vE,bitbot_display_image_create:()=>YE,display_available:()=>pE,display_bitmap_create:()=>qm,display_bright_point:()=>nE,display_bright_screen:()=>_E,display_clear:()=>oE,display_get_pixel:()=>iE,display_get_screen_pixel:()=>sE,display_image_builtins:()=>jm,display_image_builtins_all:()=>$m,display_image_create:()=>zm,display_scroll_string:()=>Hm,display_scroll_string_delay:()=>km,display_scroll_way:()=>Wm,display_shift:()=>tE,display_show_frame_string:()=>Jm,display_show_frame_string_delay:()=>Qm,display_show_image:()=>Um,display_show_image_or_string_delay:()=>wm,draw_pointer:()=>qE,image_arithmetic:()=>Zm,image_invert:()=>eE,mixbot_display_bitmap_create:()=>NE,mixbot_display_bright_screen:()=>FE,mixbot_display_get_ambientbright:()=>fE,mixbot_display_get_screen_pixel:()=>DE,mixbot_display_image_create:()=>LE,mixbot_display_rotate:()=>PE,mixgo_display_bitmap_create:()=>IE,mixgo_display_image_create_new:()=>dE,mixgome_display_bitmap_create:()=>uE,mixgome_display_font:()=>TE,mixgome_display_image_create:()=>aE,mixgomini_display_bitmap_create:()=>lE,mixgomini_display_image_create:()=>rE,mpython_display_hvline:()=>CE,mpython_display_line:()=>SE,mpython_display_shape_rect:()=>gE,mpython_pbm_image:()=>AE,nova_draw_pointer:()=>jE,onboard_oled_bright_point:()=>cE,onboard_oled_scroll_string_delay:()=>OE,onboard_oled_show_frame_string_delay:()=>RE,onboard_oled_show_image:()=>ME,onboard_oled_show_image_or_string_delay:()=>EE,onboard_oled_show_image_xy:()=>hE,onboard_oled_show_string:()=>mE,onboard_tft_bright_point:()=>wE,onboard_tft_bright_screen:()=>oO,onboard_tft_clear:()=>pO,onboard_tft_clock_clear:()=>QE,onboard_tft_clock_draw:()=>JE,onboard_tft_clock_get_rtctime:()=>WE,onboard_tft_clock_init:()=>kE,onboard_tft_clock_set_time:()=>KE,onboard_tft_display_hvline:()=>BE,onboard_tft_display_line:()=>GE,onboard_tft_display_shape_circle:()=>zE,onboard_tft_display_shape_rect:()=>VE,onboard_tft_fill:()=>HE,onboard_tft_get_pixel:()=>UE,onboard_tft_get_screen_pixel:()=>_O,onboard_tft_scroll_string:()=>iO,onboard_tft_scroll_string_delay:()=>Km,onboard_tft_shift:()=>sO,onboard_tft_show_frame_string:()=>nO,onboard_tft_show_frame_string_delay:()=>xE,onboard_tft_show_image:()=>tO,onboard_tft_show_image_or_string_delay:()=>bE,onboard_tft_show_image_xy:()=>XE,onboard_tft_show_image_xy_direct:()=>yE,onboard_tft_show_qrcode:()=>ZE,onboard_tft_show_qrcode_details:()=>eO,onboard_tft_show_texts:()=>$E});var b={};e.r(b),e.d(b,{factory_block:()=>AO,factory_block_return:()=>LO,factory_block_return_with_textarea:()=>DO,factory_block_with_textarea:()=>NO,factory_callMethod_noreturn:()=>CO,factory_callMethod_return:()=>SO,factory_create_with_container:()=>OO,factory_create_with_item:()=>RO,factory_declare:()=>gO,factory_from_import:()=>hO,factory_function_noreturn:()=>EO,factory_function_return:()=>cO,factory_import:()=>mO,folding_block:()=>fO});var x={};e.r(x),e.d(x,{controls_pin_attachInterrupt:()=>jO,inout_analog_atten:()=>BO,inout_analog_read:()=>VO,inout_analog_read_init:()=>WO,inout_analog_write:()=>yO,inout_analog_write_init:()=>kO,inout_analog_write_set:()=>bO,inout_analog_write_set_freq:()=>QO,inout_digital_init:()=>wO,inout_digital_read:()=>vO,inout_digital_write:()=>YO,inout_highlow:()=>PO,inout_pinMode:()=>JO,inout_pin_attachInterrupt:()=>UO,inout_pin_pressed:()=>GO,inout_pin_pressed_init:()=>KO,inout_pwm_analog_write:()=>XO,inout_pwm_analog_write_init:()=>HO,inout_pwm_analog_write_set_freq:()=>xO,pin_pressed:()=>qO,pin_pressed_init:()=>zO});var V={};e.r(V),e.d(V,{IOT_CONNECT_OLLAMA:()=>yR,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>gR,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>cR,IOT_EMQX_PING:()=>OR,IOT_FORMATTING:()=>mR,IOT_FORMAT_STRING:()=>ER,IOT_MIXIO_NTP:()=>RR,IOT_MIXIO_PUBLISH:()=>uR,IOT_MIXIO_PUBLISHEX:()=>rR,IOT_MIXIO_SUBSCRIBE:()=>lR,iot_checkonenet:()=>YR,iot_client_onboard:()=>SR,iot_connect_ollama:()=>XR,iot_connect_openai:()=>bR,iot_create_with_item:()=>pR,iot_http_client:()=>AR,iot_http_data:()=>LR,iot_mixio_check:()=>TR,iot_mixio_connect:()=>aR,iot_mixio_connect_only:()=>IR,iot_mixio_disconnect:()=>dR,iot_mixio_format_msg:()=>hR,iot_mixio_format_topic:()=>MR,iot_mixly_key:()=>CR,iot_mqtt_client:()=>NR,iot_mqtt_data:()=>DR,iot_onenet_check:()=>iR,iot_onenet_connect:()=>eR,iot_onenet_disconnect:()=>tR,iot_onenet_publish:()=>sR,iot_onenet_publish_dict:()=>nR,iot_onenetconnect:()=>FR,iot_onenetdisconnect:()=>PR,iot_publish:()=>vR,iot_publish_container:()=>_R,iot_publish_item:()=>oR,iot_tiny_web_db_count:()=>kR,iot_tiny_web_db_delete:()=>KR,iot_tiny_web_db_get:()=>HR,iot_tiny_web_db_init:()=>GR,iot_tiny_web_db_init_with_mqtt:()=>UR,iot_tiny_web_db_search:()=>WR,iot_tiny_web_db_update:()=>wR,iot_wifi_connect:()=>ZO,iot_wificonnect:()=>fR,ollama_empty_history:()=>BR,use_ollama_llm_to_chat:()=>xR,use_ollama_llm_to_chat_return:()=>VR});var B={};e.r(B),e.d(B,{educore_mqtt_connect:()=>Lc,educore_mqtt_connect_success:()=>Fc,educore_mqtt_subscribe_message:()=>Nc,educore_mqtt_topic_publish:()=>fc,educore_mqtt_topic_subscribe:()=>Dc,educore_wifi_connect:()=>Ac,network_ap_connect:()=>nc,network_connect:()=>$R,network_get_connect:()=>ec,network_get_wifi:()=>ic,network_init:()=>QR,network_is_active:()=>qR,network_open:()=>zR,network_scan:()=>jR,network_server:()=>sc,network_socket_accept:()=>uc,network_socket_bind:()=>oc,network_socket_close:()=>Mc,network_socket_connect:()=>pc,network_socket_init:()=>_c,network_socket_listen:()=>ac,network_socket_readline:()=>rc,network_socket_receive:()=>lc,network_socket_receive_from:()=>Ic,network_socket_send:()=>dc,network_socket_send_to:()=>Tc,network_stop:()=>tc,network_wifi_connect:()=>ZR,ntptime_address:()=>Rc,ntptime_time:()=>Oc,requests_attribute:()=>mc,requests_attribute2:()=>Sc,requests_get:()=>hc,requests_get2:()=>gc,requests_method:()=>Ec,requests_post:()=>Cc});var G={};e.r(G),e.d(G,{get_potential_num:()=>Yc,nova_g1_motor:()=>vc,nova_g1_spk_en:()=>yc,nova_g1_usb:()=>Xc});var U={};e.r(U),e.d(U,{pe_g1_battery_left:()=>Vc,pe_g1_dc_motor:()=>Bc,pe_g1_dc_motor_speed:()=>Gc,pe_g1_servo_get_angle:()=>Hc,pe_g1_servo_get_speed:()=>kc,pe_g1_servo_set_angle:()=>Uc,pe_g1_servo_set_speed:()=>wc,pe_g1_use_i2c_init:()=>xc});var w={};e.r(w),e.d(w,{CI130X_BROADCAST:()=>Mg,CI130X_GET_THE_RECOGNIZED_CMD:()=>Tg,CI130X_GET_WHETHER_IDENTIFY:()=>Ig,CI130X_IDENTIFY_AND_SAVE:()=>dg,CI130X_SET_SYSTEM_CMD:()=>hg,HCSR04:()=>sC,PS2_Button:()=>aC,PS2_Buttons:()=>rC,PS2_Buttons_new:()=>TC,PS2_State:()=>uC,PS2_init:()=>_C,PS2_init_new:()=>dC,PS2_stk:()=>lC,PS2_stk_new:()=>MC,PS2_vibration:()=>pC,PS2_vibration_new:()=>IC,camera_sensor_init:()=>WC,camera_sensor_result:()=>KC,column_tube_foot:()=>jC,define_keyboards:()=>$C,educore_body_sensor:()=>yC,educore_button_sensor_extern:()=>BC,educore_camera_sensor:()=>kC,educore_infrared_sensor:()=>VC,educore_soilhum_sensor:()=>bC,educore_temp_sensor:()=>HC,educore_temphum_sensor:()=>xC,educore_ultrasonic_sensor:()=>UC,esp32_s2_weather_init:()=>eC,esp32_s2_weather_rain:()=>iC,esp32_s2_weather_wd:()=>tC,esp32_s2_weather_ws:()=>nC,extern_rfid_read:()=>Gg,extern_rfid_readcontent:()=>wg,extern_rfid_readid:()=>Ug,extern_rfid_status:()=>Wg,extern_rfid_write:()=>Hg,extern_rfid_write_return:()=>kg,get_keboards_value:()=>ZC,gnss_get_data:()=>OC,gnss_have_data:()=>EC,init_init_rotary_encoder:()=>eS,init_matrix_keyboard:()=>zC,interaction_whether_to_interaction:()=>rg,interaction_whether_to_interaction_SANT:()=>lg,line_tube_foot:()=>qC,mixbot_sensor_extern_get_addr:()=>NC,mixbot_sensor_extern_set_addr:()=>DC,pm25_get_data:()=>mC,radar_set_DETECTION_THRESHOLD:()=>ag,radar_set_DETECTION_THRESHOLD_SANT:()=>ug,robot_button_extern_get_value:()=>cC,robot_color_extern_get_value:()=>LC,robot_infrared_extern_get_value:()=>CC,robot_infrared_extern_grey_get_value:()=>SC,robot_potentiometer_extern_get_value:()=>AC,robot_sonar_extern_get_value:()=>fC,robot_sonar_extern_led:()=>FC,robot_touch_extern_get_value:()=>gC,rotary_key:()=>tS,sensor_APDS9960_extern:()=>Eg,sensor_DS18X20:()=>_g,sensor_LTR308_extern:()=>Og,sensor_LTR390UV_extern:()=>gg,sensor_MAX30102_extern:()=>mg,sensor_QMC5883L_extern:()=>Fg,sensor_VL530LX_extern:()=>Cg,sensor_adxl345_get_acceleration:()=>jc,sensor_aht11_extern:()=>Ag,sensor_bmp:()=>ng,sensor_compass_reset:()=>Vg,sensor_dht11:()=>Zc,sensor_hp203_extern:()=>Lg,sensor_light_level:()=>$c,sensor_lm35:()=>og,sensor_ltr381_extern:()=>Rg,sensor_mixgo_extern_button_attachInterrupt:()=>zc,sensor_mixgo_extern_button_get_presses:()=>Qc,sensor_mixgo_extern_button_is_pressed:()=>Kc,sensor_mixgo_extern_button_was_pressed:()=>Jc,sensor_mixgo_extern_light:()=>eg,sensor_mixgo_extern_pin_near:()=>ig,sensor_mixgo_extern_sound:()=>tg,sensor_mixgoce_hot_wheel_degrees:()=>Zg,sensor_mixgoce_hot_wheel_is_touched:()=>$g,sensor_mpu9250_attachGestureInterrupt:()=>qc,sensor_mpu9250_calibrate_compass:()=>yg,sensor_mpu9250_field_strength:()=>xg,sensor_mpu9250_gesture:()=>Pg,sensor_mpu9250_get_acceleration:()=>Yg,sensor_mpu9250_get_gyro:()=>Xg,sensor_mpu9250_get_magnetic:()=>vg,sensor_mpu9250_temperature:()=>bg,sensor_ms5611_extern:()=>Dg,sensor_ms5611_extern_altitude:()=>fg,sensor_read_humiture:()=>GC,sensor_sht:()=>sg,sensor_shtc3_extern:()=>Sg,sensor_spl06_001_extern:()=>Ng,sensor_ucs12071_extern:()=>cg,sensor_use_i2c_init:()=>pg,sensor_use_spi_init:()=>Bg,sensor_use_uart_init:()=>hC,sensor_weather_solo_init:()=>PC,sensor_weather_solo_rain:()=>XC,sensor_weather_solo_wd:()=>YC,sensor_weather_solo_ws:()=>vC,sensor_weigh_init:()=>JC,tvoc_get_data:()=>RC,ultrasonic_sensor_read_distance:()=>wC,weather_data:()=>Kg,weather_have_data:()=>Jg,weather_set_label:()=>zg,weather_set_label_container:()=>qg,weather_set_label_item:()=>jg,weather_uart_mixio:()=>Qg,weigh_sensor_get_weight:()=>QC});var H={};e.r(H),e.d(H,{HCSR04:()=>ES,RTC_set_date:()=>mS,RTC_set_time:()=>hS,bitbot_als_num:()=>NA,dht11:()=>XA,educore_button_sensor:()=>HA,educore_button_was_pressed:()=>kA,educore_gyroscope_sensor:()=>GA,educore_gyroscope_sensor_read:()=>UA,educore_gyroscope_sensor_shake:()=>wA,educore_light_sensor:()=>BA,educore_rfid_sensor:()=>WA,educore_rfid_sensor_scan:()=>KA,educore_rfid_sensor_scan_data:()=>JA,educore_voice_sensor:()=>xA,number1:()=>RS,number2:()=>cS,number3:()=>gS,number4:()=>CS,number5:()=>SS,number6:()=>AS,number7:()=>LS,onboard_RTC_get_time:()=>XS,onboard_RTC_get_time_str:()=>GS,onboard_RTC_get_timestamp:()=>yS,onboard_RTC_get_timetuple_to_str:()=>US,onboard_RTC_set_datetime:()=>VS,onboard_RTC_settime_string:()=>xS,onboard_RTC_timestamp_totuple:()=>bS,rfid_readcontent:()=>QS,rfid_readid:()=>JS,rfid_status:()=>jS,rfid_write:()=>zS,rfid_write_return:()=>qS,sensor_LTR308:()=>wS,sensor_aht11:()=>kS,sensor_bitbot_ALS:()=>LA,sensor_button_get_presses:()=>FA,sensor_button_is_pressed:()=>DA,sensor_button_was_pressed:()=>fA,sensor_distance_hrsc04:()=>MS,sensor_eulerangles:()=>ZS,sensor_field_strength:()=>yA,sensor_get_acceleration:()=>$S,sensor_get_temperature:()=>WS,sensor_get_the_coprocessor_version:()=>QA,sensor_hp203:()=>KS,sensor_light:()=>vA,sensor_mixbot_get_gyro:()=>AA,sensor_mixbot_patrol_calibrate:()=>gA,sensor_mixbot_patrol_value:()=>CA,sensor_mixbot_temperature:()=>SA,sensor_mixgo_LTR308:()=>YS,sensor_mixgo_button_attachInterrupt:()=>oS,sensor_mixgo_button_get_presses:()=>_S,sensor_mixgo_button_is_pressed:()=>nS,sensor_mixgo_button_was_pressed:()=>sS,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>rA,sensor_mixgo_cc_mmc5603_get_angle:()=>uA,sensor_mixgo_cc_mmc5603_get_magnetic:()=>aA,sensor_mixgo_light:()=>OS,sensor_mixgo_nova_LTR308:()=>PS,sensor_mixgo_nova_pin_near:()=>FS,sensor_mixgo_pin_near:()=>fS,sensor_mixgo_pin_near_double:()=>DS,sensor_mixgo_pin_near_single:()=>NS,sensor_mixgo_pin_pressed:()=>lS,sensor_mixgo_sant_color:()=>vS,sensor_mixgo_touch_slide:()=>TS,sensor_mixgocar42_button_attachInterrupt:()=>rS,sensor_mixgocar42_button_get_presses:()=>uS,sensor_mixgocar42_button_is_pressed:()=>pS,sensor_mixgocar42_button_was_pressed:()=>aS,sensor_mixgocar_battery_left:()=>cA,sensor_mixgocar_pin_near:()=>OA,sensor_mixgocar_pin_near_line:()=>EA,sensor_mixgocar_pin_near_state_change:()=>RA,sensor_mixgoce_pin_pressed:()=>dS,sensor_mixgoce_temperature:()=>dA,sensor_mixgome_temperature:()=>lA,sensor_mpython_pin_pressed:()=>IS,sensor_mpython_qmi8658_get_gyro:()=>IA,sensor_mpython_qmi8658_temperature:()=>TA,sensor_onboard_compass_reset:()=>pA,sensor_onboard_mpu9250_calibrate_compass:()=>sA,sensor_onboard_mpu9250_field_strength:()=>oA,sensor_onboard_mpu9250_gesture:()=>eA,sensor_onboard_mpu9250_get_acceleration:()=>tA,sensor_onboard_mpu9250_get_gyro:()=>nA,sensor_onboard_mpu9250_get_magnetic:()=>iA,sensor_onboard_mpu9250_temperature:()=>_A,sensor_pin_near:()=>YA,sensor_pin_pressed:()=>PA,sensor_read:()=>VA,sensor_rm_acc:()=>mA,sensor_rm_battery_left:()=>hA,sensor_rm_pin_near_double:()=>MA,sensor_rtc_init:()=>BS,sensor_sound:()=>HS,sensor_temperature:()=>bA,simulated_light_sensor:()=>zA});var k={};e.r(k),e.d(k,{serial_any:()=>_L,serial_begin:()=>rL,serial_print:()=>eL,serial_print_byte:()=>ZA,serial_print_hex:()=>iL,serial_println:()=>tL,serial_read_from_ai:()=>OL,serial_readline:()=>oL,serial_readstr:()=>sL,serial_readstr_until:()=>pL,serial_receive_data_event:()=>nL,serial_send_to_ai:()=>EL,serial_softserial:()=>uL,serial_softserial_new:()=>aL,system_input:()=>lL,system_print:()=>dL,system_print_container:()=>hL,system_print_end:()=>TL,system_print_inline:()=>IL,system_print_item:()=>mL,system_print_many:()=>ML});var W={};e.r(W),e.d(W,{Panic_with_status_code:()=>CL,Timer_init:()=>xL,base_delay:()=>GL,controls_delay:()=>gL,controls_delay_new:()=>cL,controls_millis:()=>AL,controls_uname:()=>NL,raw_block:()=>LL,reset:()=>SL,set_system_timer:()=>YL,system_bitbot_shutdown:()=>bL,system_machine_reset:()=>yL,system_ticks_diff:()=>FL,system_timer:()=>fL,system_timer_init:()=>PL,system_wdt_feed:()=>XL,system_wdt_init:()=>vL,time_ticks_diff:()=>BL,timer:()=>DL,timer2:()=>VL});var K={};e.r(K),e.d(K,{Air_daily_content:()=>eN,Air_now_content:()=>JL,Geo_moon_content:()=>iN,Geo_sun_content:()=>tN,Life_suggestion_content:()=>zL,Location_search_content:()=>jL,Tide_daily_content:()=>qL,WEATHER_DAILY:()=>HL,WEATHER_HOUR:()=>kL,WEATHER_NOW:()=>wL,Weather_alarm_content:()=>QL,Weather_daily:()=>$L,Weather_daily_content:()=>ZL,Weather_now:()=>WL,Weather_now_content:()=>KL});var J={};e.r(J),e.d(J,{PIN_init:()=>sD,actuator_extern_get_led_bright:()=>SN,actuator_extern_get_led_state:()=>AN,actuator_extern_led_bright:()=>CN,actuator_extern_led_brightness:()=>LN,actuator_ms32006_dcmotor:()=>rN,actuator_ms32006_init:()=>uN,actuator_ms32006_stepper:()=>lN,actuator_neopixel_init:()=>NN,actuator_neopixel_rgb:()=>FN,actuator_neopixel_rgb_all:()=>DN,actuator_neopixel_rgb_show_all_chase:()=>PN,actuator_neopixel_rgb_show_all_rainbow:()=>YN,actuator_neopixel_write:()=>fN,actuator_use_uart_init:()=>vN,backstage_esp32_music_play_list:()=>RN,esp32_music_get_tempo_extern:()=>EN,esp32_music_pitch:()=>IN,esp32_music_pitch_init:()=>dN,esp32_music_pitch_with_time:()=>TN,esp32_music_play_list:()=>ON,esp32_music_reset_extern:()=>cN,esp32_music_set_tempo_extern:()=>mN,esp32_music_stop:()=>MN,esp32_set_music_volume:()=>hN,mixbot_actuator_extern_get_addr:()=>iD,mixbot_actuator_extern_set_addr:()=>nD,mixbot_addr_extern:()=>HN,parrot_PIN_init:()=>aD,parrot_move_speed:()=>uD,pin_led_bright:()=>_D,player_play_music:()=>VN,player_set_mode:()=>xN,player_set_play:()=>yN,player_set_volume:()=>bN,player_whether_stop:()=>XN,robot_led_extern:()=>JN,robot_led_extern_get_value:()=>QN,robot_motor_extern:()=>kN,robot_motor_extern_get_speed:()=>WN,robot_servo_extern_absolute_run:()=>$N,robot_servo_extern_get_status:()=>zN,robot_servo_extern_relative_continue:()=>tD,robot_servo_extern_relative_origin:()=>ZN,robot_servo_extern_relative_run:()=>eD,robot_servo_extern_stop:()=>jN,robot_servo_extern_stop_mode:()=>qN,robot_traffic_light_extern:()=>KN,servo_PIN_init:()=>oD,servo_get_angle:()=>pN,servo_get_speed:()=>aN,servo_init:()=>nN,servo_move:()=>gN,servo_move_angle:()=>pD,servo_set_angle:()=>_N,servo_set_speed:()=>oN,servo_speed_360:()=>sN,syn6288_builtin_voice:()=>UN,syn6288_get_voice:()=>GN,syn6288_set_voice:()=>BN,syn6288_tts_play:()=>wN});var Q={};e.r(Q),e.d(Q,{actuator_dc_motor:()=>VD,actuator_dc_motor_stop:()=>BD,actuator_get_led_bright:()=>cD,actuator_get_led_state:()=>gD,actuator_led_bright:()=>RD,actuator_led_brightness:()=>CD,actuator_mixbot_buzzer_on_off:()=>kD,actuator_mixgo_nova_mic_get:()=>zD,actuator_mixgo_nova_mic_set:()=>QD,actuator_mixgo_nova_onboard_music_pitch:()=>tf,actuator_mixgo_nova_onboard_music_stop:()=>nf,actuator_mixgo_nova_play_audio:()=>ZD,actuator_mixgo_nova_play_online_audio:()=>ef,actuator_mixgo_nova_record_audio:()=>$D,actuator_mixgo_nova_voice_get:()=>jD,actuator_mixgo_nova_voice_set:()=>qD,actuator_mixgo_zero_led_color:()=>SD,actuator_onboard_neopixel_rgb:()=>PD,actuator_onboard_neopixel_rgb_all:()=>YD,actuator_onboard_neopixel_rgb_show_all_chase:()=>vD,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>XD,actuator_onboard_neopixel_write:()=>FD,actuator_stepper_keep:()=>bD,actuator_stepper_stop:()=>xD,analog_ble_keyboard_init:()=>Mf,analog_ble_keyboard_input:()=>Ef,analog_ble_keyboard_mouse_init:()=>Lf,analog_ble_keyboard_mouse_input:()=>Ff,analog_ble_keyboard_mouse_send_battery:()=>ff,analog_ble_keyboard_mouse_str:()=>Pf,analog_ble_keyboard_send_battery:()=>Rf,analog_ble_keyboard_str:()=>Of,analog_ble_mouse_init:()=>cf,analog_ble_mouse_input:()=>Sf,analog_ble_mouse_keyboard_input:()=>Yf,analog_ble_mouse_send_battery:()=>Af,analog_keyboard_input:()=>af,analog_keyboard_str:()=>If,analog_mouse_input:()=>lf,backstage_onboard_music_play_list:()=>hD,bitbot_motor:()=>JD,bitbot_move:()=>WD,bitbot_stop:()=>KD,ble_keyboard_connect:()=>mf,ble_keyboard_get_mac:()=>hf,ble_keyboard_mouse_connect:()=>Df,ble_keyboard_mouse_get_mac:()=>Nf,ble_mouse_connect:()=>Cf,ble_mouse_get_mac:()=>gf,cc_number:()=>AD,educore_ble_keyboard_input:()=>wf,educore_ble_sensor_connected:()=>Uf,educore_ble_sensor_init:()=>Gf,educore_buzzer:()=>vf,educore_buzzer_play_tone:()=>Xf,educore_buzzer_play_tone_time:()=>yf,educore_buzzer_stop:()=>bf,educore_neopixel_clear:()=>Bf,educore_neopixel_rgb:()=>Vf,educore_rgb_light:()=>xf,esp32_music_get_tempo:()=>lD,esp32_music_reset:()=>mD,esp32_music_set_tempo:()=>rD,esp32_onboard_music_pitch:()=>dD,esp32_onboard_music_pitch_with_time:()=>ID,esp32_onboard_music_play_list:()=>MD,esp32_onboard_music_stop:()=>TD,general_key:()=>rf,general_key_tuple:()=>Tf,get_keyboard_light:()=>Hf,get_power_output:()=>_f,ledswitch:()=>OD,mixbot_motor:()=>HD,mixbot_motor_status:()=>GD,mixbot_move:()=>UD,mixbot_stop:()=>wD,mouse_key:()=>df,number:()=>ED,record_audio:()=>Wf,rm_actuator_get_led_bright:()=>ND,rm_actuator_get_led_state:()=>DD,rm_actuator_led_bright:()=>LD,rm_actuator_led_brightness:()=>fD,rm_motor:()=>yD,set_all_power_output:()=>of,set_microphone_amplification:()=>kf,set_music_volume:()=>Kf,set_part_power_output:()=>pf,set_power_output:()=>sf,special_key:()=>uf});var z={};e.r(z),e.d(z,{ai_sensor_20object:()=>AF,ai_sensor_ailocal_class:()=>TF,ai_sensor_ailocal_class_result:()=>MF,ai_sensor_ailocal_train:()=>IF,ai_sensor_asr_recognize:()=>RF,ai_sensor_audio_play:()=>mF,ai_sensor_audio_record:()=>hF,ai_sensor_barcode:()=>Zf,ai_sensor_circle:()=>_F,ai_sensor_classifier_faces:()=>SF,ai_sensor_color:()=>uF,ai_sensor_color_chases:()=>dF,ai_sensor_color_chases_result:()=>lF,ai_sensor_config:()=>zf,ai_sensor_face:()=>CF,ai_sensor_find_20objects:()=>LF,ai_sensor_find_barcodes:()=>eF,ai_sensor_find_circles:()=>oF,ai_sensor_find_colors:()=>rF,ai_sensor_find_licenseplates:()=>gF,ai_sensor_find_lines:()=>sF,ai_sensor_find_qrcodes:()=>$f,ai_sensor_find_rects:()=>aF,ai_sensor_find_tags:()=>iF,ai_sensor_licenseplate:()=>cF,ai_sensor_line:()=>nF,ai_sensor_qrcode:()=>jf,ai_sensor_qrcode_lite:()=>Qf,ai_sensor_rect:()=>pF,ai_sensor_rgb:()=>qf,ai_sensor_tag:()=>tF,ai_sensor_use_uart_init:()=>Jf,ai_sensor_yolo_recognize:()=>EF,ai_sensor_yolo_recognize_result:()=>OF});var q={};e.r(q),e.d(q,{AI_CAMERA_INIT:()=>ZF,AI_CAMERA_INIT_FACERECOGNIZE:()=>iP,AI_CAMERA_INIT_SIMPLE:()=>DP,AI_STOP_ACQUISITION:()=>AP,CAMERA_LOOGOUT:()=>wF,CI130X_BROADCAST_SANT:()=>vF,CI130X_BROADCAST_SYSTEM_TIME:()=>yF,CI130X_GET_THE_RECOGNIZED_CMD_SANT:()=>YF,CI130X_GET_WHETHER_IDENTIFY_SANT:()=>PF,CI130X_IDENTIFY_AND_SAVE_SANT:()=>FF,CI130X_OPEN_AND_CLOSE:()=>fF,CI130X_PLAY_SYSTEM_CMD_SANT:()=>bF,CI130X_SET_SYSTEM_CMD_SANT:()=>XF,CONVERT_IMAGE_TO_JPG:()=>WF,CREATE_CAMERA:()=>xF,CREATE_CAMERA_SIMPLE:()=>NP,DELETE_FACE_ALL:()=>MP,DELETE_FACE_FROM_DATABASE:()=>TP,GET_CAT_FACE_DETECTION_NUM:()=>RP,GET_COLOR_DETECTION_NUM:()=>OP,GET_FACE_DETECTION_NAME:()=>CP,GET_FACE_DETECTION_NUM:()=>gP,GET_HOW_MUCH_RECOGNITION:()=>oP,GET_HUMAN_DETECTION_NUM:()=>cP,GET_IMAGE_AND_SAVE:()=>BF,GET_IMAGE_FROM_NET:()=>UF,GET_NO_CAT_OR_FACE_RECOGNITION:()=>rP,GET_NO_FACE_RECOGNITION_INFO:()=>SP,GET_NO_RECOGNITION:()=>pP,GET_NO_XY_RECOGNITION:()=>aP,GET_NO_XY_RECOGNITION_FACE:()=>uP,GET_PICTURE_DATA_EXACT:()=>HF,GET_PICTURE_DATA_WHS:()=>KF,GET_PICTURE_RECOGNITION_DATA:()=>EP,GET_PICTURE_WIDTH_HEIGHT_DEVICE:()=>kF,GET_QR_CODE_RECOGNITION_DATA:()=>mP,GET_SCREEN_IMAGE:()=>jF,GET_SCREEN_IMAGE_SIZE:()=>$F,MIXIO_REPORT_IMAGE_DATA:()=>LP,MODEL_INIT_HEIGHT:()=>tP,MODEL_INIT_WIDTH:()=>eP,MODEL_LOGOUT:()=>nP,MODEL_RUN:()=>sP,MODEL_WHETHER_RUN_SUCCEED:()=>_P,OPEN_IMAGE:()=>GF,PRINT_FACE_DATABASE:()=>hP,REGISTER_NEW_FACE:()=>IP,REGISTER_NEW_FACE_SIMPLE:()=>FP,Register_color_recognition:()=>dP,Register_color_recognition_fixed:()=>lP,Register_color_recognition_fixed_SIMPLE:()=>fP,SCREEN_DISPLAY_IMAGE:()=>zF,SCREEN_DISPLAY_IMAGE_LOCATION:()=>qF,SCREEN_SHOW_CAM_GRAPH_SHOOT:()=>JF,SCREEN_SHOW_CAM_GRAPH_SHOOT_LOCATION:()=>QF,SHOOT_AND_SAVE_PICTURE:()=>VF,VOICE_RECOGNITION_CONTROL:()=>DF,yesorno:()=>NF});var j={};e.r(j),e.d(j,{MICROPYTHON_AI_Speech_asr:()=>vP,MICROPYTHON_AI_Speech_unit:()=>YP,MICROPYTHON_AI_client:()=>PP});var $={};e.r($),e.d($,{mpython_blynk_app_data:()=>WP,mpython_blynk_app_notify:()=>GP,mpython_blynk_email:()=>KP,mpython_blynk_get_timers:()=>wP,mpython_blynk_on_connected:()=>xP,mpython_blynk_on_disconnected:()=>bP,mpython_blynk_run:()=>BP,mpython_blynk_sensor_data_to_app:()=>kP,mpython_blynk_set_property:()=>JP,mpython_blynk_setup:()=>QP,mpython_blynk_stop_timers:()=>UP,mpython_blynk_sync_virtual:()=>yP,mpython_blynk_terminal_widget_vpin:()=>XP,mpython_blynktimer:()=>HP,mpython_blynktimer_run:()=>VP});var Z={};e.r(Z),e.d(Z,{communicate_bluetooth_central_init:()=>fY,communicate_bluetooth_connect:()=>YY,communicate_bluetooth_disconnect:()=>vY,communicate_bluetooth_handle:()=>BY,communicate_bluetooth_is_connected:()=>yY,communicate_bluetooth_mac:()=>XY,communicate_bluetooth_peripheral_init:()=>FY,communicate_bluetooth_recv:()=>VY,communicate_bluetooth_recv_only:()=>xY,communicate_bluetooth_scan:()=>PY,communicate_bluetooth_send:()=>bY,communicate_espnow_init:()=>GY,communicate_espnow_init_new:()=>UY,communicate_i2c_available:()=>iY,communicate_i2c_init:()=>jP,communicate_i2c_master_read:()=>tY,communicate_i2c_onboard:()=>zP,communicate_i2c_read:()=>$P,communicate_i2c_scan:()=>eY,communicate_i2c_write:()=>ZP,communicate_ir_recv_init:()=>OY,communicate_ir_send_init:()=>SY,communicate_ow_init:()=>IY,communicate_ow_read:()=>hY,communicate_ow_reset:()=>MY,communicate_ow_scan:()=>TY,communicate_ow_select:()=>EY,communicate_ow_write:()=>mY,communicate_spi_buffer:()=>oY,communicate_spi_init:()=>sY,communicate_spi_onboard:()=>qP,communicate_spi_read:()=>pY,communicate_spi_read_output:()=>aY,communicate_spi_readinto:()=>uY,communicate_spi_readinto_output:()=>rY,communicate_spi_set:()=>_Y,communicate_spi_write:()=>lY,communicate_spi_write_readinto:()=>dY,espnow_radio_channel:()=>JY,espnow_radio_channel_new:()=>zY,espnow_radio_on_off:()=>qY,espnow_radio_rec:()=>$Y,espnow_radio_recv:()=>ev,espnow_radio_recv_certain_msg:()=>tv,espnow_radio_recv_certain_msg_new:()=>nv,espnow_radio_recv_msg:()=>ZY,espnow_radio_recv_new:()=>iv,espnow_radio_send:()=>jY,espnow_radio_txpower:()=>QY,i2c_slave_onreceive:()=>nY,internal_variable:()=>RY,ir_recv_timeout:()=>CY,ir_transmit_busy:()=>DY,ir_transmit_conventional_data:()=>AY,ir_transmit_raw_code:()=>NY,ir_transmit_study_code:()=>LY,ir_whether_recv:()=>gY,lora_init:()=>sv,lora_packet:()=>_v,lora_recv:()=>pv,lora_send:()=>ov,network_espnow_info:()=>HY,network_espnow_mac:()=>wY,network_espnow_recv:()=>kY,network_espnow_recv_handle:()=>KY,network_espnow_send:()=>WY,recv_fun:()=>cY,urequests_attribute:()=>uv,urequests_get:()=>av,urequests_method:()=>rv});var ee={};e.r(ee),e.d(ee,{display_animate:()=>yv,display_circle:()=>bv,display_color_seclet:()=>Jv,display_draw_4strings:()=>Dv,display_fill:()=>Xv,display_lcd_use_i2c_init:()=>Zv,display_line:()=>Pv,display_line_arbitrarily:()=>fv,display_matrix_extern_bright_point:()=>cv,display_matrix_extern_bright_screen:()=>Cv,display_matrix_extern_clear:()=>Ev,display_matrix_extern_get_pixel:()=>Rv,display_matrix_extern_get_screen_pixel:()=>gv,display_matrix_extern_image_builtins:()=>Sv,display_matrix_extern_scroll_string:()=>hv,display_matrix_extern_scroll_string_delay:()=>mv,display_matrix_extern_shift:()=>Ov,display_matrix_extern_show_frame_string:()=>Tv,display_matrix_extern_show_frame_string_delay:()=>Mv,display_matrix_extern_show_image:()=>dv,display_matrix_extern_show_image_or_string_delay:()=>Iv,display_matrix_use_i2c_init:()=>lv,display_oled_drawPixel:()=>Bv,display_oled_showBitmap:()=>Vv,display_oled_use_i2c_init:()=>sX,display_onoff:()=>Yv,display_rect:()=>Fv,display_tm1650_power:()=>Uv,display_tm1650_set_brightness:()=>kv,display_tm1650_show_dot:()=>Hv,display_tm1650_show_num:()=>wv,display_tm_use_i2c_init:()=>Gv,display_triangle:()=>xv,display_use_i2c_init:()=>Nv,extern_oled_bright_point:()=>hX,extern_oled_clear:()=>IX,extern_oled_get_pixel:()=>MX,extern_oled_hvline:()=>EX,extern_oled_line:()=>OX,extern_oled_scroll_string:()=>lX,extern_oled_scroll_string_delay:()=>dX,extern_oled_shape_rect:()=>mX,extern_oled_shift:()=>TX,extern_oled_show_frame_string:()=>uX,extern_oled_show_frame_string_delay:()=>rX,extern_oled_show_image:()=>_X,extern_oled_show_image_or_string_delay:()=>aX,extern_oled_show_image_xy:()=>oX,extern_oled_show_string:()=>pX,image_shift:()=>vv,lcd_backlight:()=>iX,lcd_clear:()=>nX,lcd_print_string:()=>tX,lcd_show_image_or_string_delay:()=>eX,matrix_extern_image_arithmetic:()=>Av,matrix_extern_image_invert:()=>Lv,tft_fill:()=>jv,tft_line_arbitrarily:()=>$v,tft_scroll_string_delay:()=>qv,tft_show_frame_string_delay:()=>zv,tft_show_image_or_string_delay:()=>Qv,tft_show_image_xy:()=>Kv,tft_use_spi_init:()=>Wv});var te={};e.r(te),e.d(te,{bitbot_display_bitmap_create:()=>dy,bitbot_display_image_create:()=>ly,display_available:()=>vX,display_bitmap_create:()=>PX,display_bright_point:()=>VX,display_bright_screen:()=>GX,display_clear:()=>YX,display_get_pixel:()=>xX,display_get_screen_pixel:()=>BX,display_image_builtins:()=>DX,display_image_builtins_all:()=>fX,display_image_create:()=>FX,display_scroll_string:()=>SX,display_scroll_string_delay:()=>AX,display_scroll_way:()=>LX,display_shift:()=>bX,display_show_frame_string:()=>gX,display_show_frame_string_delay:()=>CX,display_show_image:()=>RX,display_show_image_or_string_delay:()=>cX,draw_pointer:()=>fy,image_arithmetic:()=>XX,image_invert:()=>yX,mixbot_display_bitmap_create:()=>oy,mixbot_display_bright_screen:()=>uy,mixbot_display_get_ambientbright:()=>ay,mixbot_display_get_screen_pixel:()=>py,mixbot_display_image_create:()=>_y,mixbot_display_rotate:()=>ry,mixgo_display_bitmap_create:()=>JX,mixgo_display_image_create_new:()=>KX,mixgome_display_bitmap_create:()=>wX,mixgome_display_font:()=>WX,mixgome_display_image_create:()=>UX,mixgomini_display_bitmap_create:()=>kX,mixgomini_display_image_create:()=>HX,mpython_display_hvline:()=>ny,mpython_display_line:()=>sy,mpython_display_shape_rect:()=>iy,mpython_pbm_image:()=>QX,nova_draw_pointer:()=>Fy,onboard_oled_bright_point:()=>ty,onboard_oled_scroll_string_delay:()=>ey,onboard_oled_show_frame_string_delay:()=>ZX,onboard_oled_show_image:()=>zX,onboard_oled_show_image_or_string_delay:()=>$X,onboard_oled_show_image_xy:()=>qX,onboard_oled_show_string:()=>jX,onboard_tft_bright_point:()=>cy,onboard_tft_bright_screen:()=>Vy,onboard_tft_clear:()=>By,onboard_tft_clock_clear:()=>Ny,onboard_tft_clock_draw:()=>Ly,onboard_tft_clock_get_rtctime:()=>Sy,onboard_tft_clock_init:()=>Cy,onboard_tft_clock_set_time:()=>Ay,onboard_tft_display_hvline:()=>Ey,onboard_tft_display_line:()=>Oy,onboard_tft_display_shape_circle:()=>Dy,onboard_tft_display_shape_rect:()=>my,onboard_tft_fill:()=>gy,onboard_tft_get_pixel:()=>Ry,onboard_tft_get_screen_pixel:()=>xy,onboard_tft_scroll_string_delay:()=>NX,onboard_tft_shift:()=>by,onboard_tft_show_frame_string:()=>yy,onboard_tft_show_frame_string_delay:()=>hy,onboard_tft_show_image:()=>Xy,onboard_tft_show_image_or_string_delay:()=>My,onboard_tft_show_image_xy:()=>Iy,onboard_tft_show_image_xy_direct:()=>Ty,onboard_tft_show_qrcode:()=>Yy,onboard_tft_show_qrcode_details:()=>vy,onboard_tft_show_texts:()=>Py});var ie={};e.r(ie),e.d(ie,{factory_block:()=>Jy,factory_block_return:()=>Qy,factory_block_return_with_textarea:()=>qy,factory_block_with_textarea:()=>zy,factory_callMethod_noreturn:()=>Wy,factory_callMethod_return:()=>Ky,factory_declare:()=>ky,factory_from_import:()=>Gy,factory_function_noreturn:()=>wy,factory_function_return:()=>Hy,factory_import:()=>Uy,folding_block:()=>jy});var ne={};e.r(ne),e.d(ne,{inout_analog_atten:()=>db,inout_analog_read:()=>_b,inout_analog_read_init:()=>lb,inout_analog_write:()=>ib,inout_analog_write_init:()=>rb,inout_analog_write_set:()=>nb,inout_digital_init:()=>ab,inout_digital_read:()=>eb,inout_digital_write:()=>Zy,inout_highlow:()=>$y,inout_pin_attachInterrupt:()=>pb,inout_pin_pressed:()=>ob,inout_pin_pressed_init:()=>Ib,inout_pwm_analog_write:()=>tb,inout_pwm_analog_write_init:()=>ub,inout_pwm_analog_write_set_freq:()=>sb});var se={};e.r(se),e.d(se,{IOT_CONNECT_OLLAMA:()=>wb,IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>vb,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Pb,IOT_EMQX_PING:()=>Xb,IOT_FORMATTING:()=>fb,IOT_FORMAT_STRING:()=>Fb,IOT_MIXIO_NTP:()=>yb,IOT_MIXIO_PUBLISH:()=>cb,IOT_MIXIO_PUBLISHEX:()=>gb,IOT_MIXIO_SUBSCRIBE:()=>Cb,iot_client_onboard:()=>bb,iot_connect_ollama:()=>Ub,iot_connect_openai:()=>Hb,iot_http_client:()=>xb,iot_http_data:()=>Vb,iot_mixio_check:()=>Lb,iot_mixio_connect:()=>Rb,iot_mixio_connect_only:()=>Ab,iot_mixio_disconnect:()=>Sb,iot_mixio_format_msg:()=>Db,iot_mixio_format_topic:()=>Nb,iot_mixly_key:()=>Yb,iot_mqtt_client:()=>Bb,iot_mqtt_data:()=>Gb,iot_onenet_check:()=>Eb,iot_onenet_connect:()=>Mb,iot_onenet_disconnect:()=>hb,iot_onenet_publish:()=>Ob,iot_onenet_publish_dict:()=>mb,iot_tiny_web_db_count:()=>jb,iot_tiny_web_db_delete:()=>Zb,iot_tiny_web_db_get:()=>qb,iot_tiny_web_db_init:()=>Jb,iot_tiny_web_db_init_with_mqtt:()=>Qb,iot_tiny_web_db_search:()=>$b,iot_tiny_web_db_update:()=>zb,iot_wifi_connect:()=>Tb,ollama_empty_history:()=>Kb,use_ollama_llm_to_chat:()=>kb,use_ollama_llm_to_chat_return:()=>Wb});var _e={};e.r(_e),e.d(_e,{educore_mqtt_connect:()=>Px,educore_mqtt_connect_success:()=>yx,educore_mqtt_subscribe_message:()=>Yx,educore_mqtt_topic_publish:()=>Xx,educore_mqtt_topic_subscribe:()=>vx,educore_wifi_connect:()=>Fx,network_ap_connect:()=>ax,network_connect:()=>tx,network_get_connect:()=>nx,network_get_wifi:()=>px,network_init:()=>ex,network_is_active:()=>ox,network_open:()=>_x,network_scan:()=>ux,network_server:()=>rx,network_socket_accept:()=>Mx,network_socket_bind:()=>dx,network_socket_close:()=>cx,network_socket_connect:()=>Ix,network_socket_init:()=>lx,network_socket_listen:()=>Tx,network_socket_readline:()=>hx,network_socket_receive:()=>mx,network_socket_receive_from:()=>Ox,network_socket_send:()=>Ex,network_socket_send_to:()=>Rx,network_stop:()=>sx,network_wifi_connect:()=>ix,ntptime_address:()=>Lx,ntptime_time:()=>Ax,requests_attribute:()=>Cx,requests_attribute2:()=>Dx,requests_get:()=>gx,requests_get2:()=>Nx,requests_method:()=>Sx,requests_post:()=>fx});var oe={};e.r(oe),e.d(oe,{get_potential_num:()=>bx,nova_g1_motor:()=>xx,nova_g1_spk_en:()=>Bx,nova_g1_usb:()=>Vx});var pe={};e.r(pe),e.d(pe,{pe_g1_battery_left:()=>Ux,pe_g1_dc_motor:()=>wx,pe_g1_dc_motor_speed:()=>Hx,pe_g1_servo_get_angle:()=>Kx,pe_g1_servo_get_speed:()=>Jx,pe_g1_servo_set_angle:()=>kx,pe_g1_servo_set_speed:()=>Wx,pe_g1_use_i2c_init:()=>Gx});var ae={};e.r(ae),e.d(ae,{CI130X_BROADCAST:()=>hV,CI130X_GET_THE_RECOGNIZED_CMD:()=>MV,CI130X_GET_WHETHER_IDENTIFY:()=>TV,CI130X_IDENTIFY_AND_SAVE:()=>IV,CI130X_SET_SYSTEM_CMD:()=>mV,HCSR04:()=>zV,PS2_Button:()=>$V,PS2_Buttons:()=>ZV,PS2_Buttons_new:()=>pB,PS2_State:()=>eB,PS2_init:()=>qV,PS2_init_new:()=>_B,PS2_stk:()=>tB,PS2_stk_new:()=>aB,PS2_vibration:()=>jV,PS2_vibration_new:()=>oB,RTC_get_time:()=>nB,RTC_set_date:()=>tV,RTC_set_datetime:()=>iB,RTC_set_time:()=>eV,camera_sensor_init:()=>BB,camera_sensor_result:()=>GB,column_tube_foot:()=>kB,define_keyboards:()=>WB,educore_body_sensor:()=>fB,educore_button_sensor_extern:()=>vB,educore_camera_sensor:()=>VB,educore_infrared_sensor:()=>YB,educore_soilhum_sensor:()=>FB,educore_temp_sensor:()=>xB,educore_temphum_sensor:()=>PB,educore_ultrasonic_sensor:()=>yB,esp32_s2_weather_init:()=>WV,esp32_s2_weather_rain:()=>JV,esp32_s2_weather_wd:()=>KV,esp32_s2_weather_ws:()=>QV,extern_rfid_read:()=>vV,extern_rfid_readcontent:()=>yV,extern_rfid_readid:()=>XV,extern_rfid_status:()=>VV,extern_rfid_write:()=>bV,extern_rfid_write_return:()=>xV,get_keboards_value:()=>JB,gnss_get_data:()=>lB,gnss_have_data:()=>dB,init_init_rotary_encoder:()=>QB,init_matrix_keyboard:()=>KB,interaction_whether_to_interaction:()=>lV,interaction_whether_to_interaction_SANT:()=>dV,line_tube_foot:()=>HB,mixbot_sensor_extern_get_addr:()=>gB,mixbot_sensor_extern_set_addr:()=>CB,pm25_get_data:()=>rB,radar_set_DETECTION_THRESHOLD:()=>uV,radar_set_DETECTION_THRESHOLD_SANT:()=>rV,robot_button_extern_get_value:()=>TB,robot_color_extern_get_value:()=>OB,robot_infrared_extern_get_value:()=>hB,robot_infrared_extern_grey_get_value:()=>mB,robot_potentiometer_extern_get_value:()=>EB,robot_sonar_extern_get_value:()=>RB,robot_sonar_extern_led:()=>cB,robot_touch_extern_get_value:()=>MB,rotary_key:()=>zB,sensor_APDS9960_extern:()=>OV,sensor_DS18X20:()=>DB,sensor_LTR308_extern:()=>RV,sensor_LTR390UV_extern:()=>NV,sensor_MAX30102_extern:()=>EV,sensor_QMC5883L_extern:()=>DV,sensor_VL530LX_extern:()=>PV,sensor_aht11_extern:()=>FV,sensor_bmp:()=>oV,sensor_dht11:()=>sB,sensor_distance_hrsc04:()=>Zx,sensor_hp203_extern:()=>cV,sensor_ltr381_extern:()=>AV,sensor_mixgo_extern_button_attachInterrupt:()=>jx,sensor_mixgo_extern_button_get_presses:()=>qx,sensor_mixgo_extern_button_is_pressed:()=>Qx,sensor_mixgo_extern_button_was_pressed:()=>zx,sensor_mixgo_extern_light:()=>iV,sensor_mixgo_extern_pin_near:()=>sV,sensor_mixgo_extern_sound:()=>nV,sensor_mixgoce_hot_wheel_degrees:()=>kV,sensor_mixgoce_hot_wheel_is_touched:()=>HV,sensor_mpu9250_attachGestureInterrupt:()=>$x,sensor_ms5611_extern:()=>CV,sensor_ms5611_extern_altitude:()=>SV,sensor_read_humiture:()=>XB,sensor_rtc_init:()=>_V,sensor_sht:()=>pV,sensor_shtc3_extern:()=>fV,sensor_spl06_001_extern:()=>gV,sensor_ucs12071_extern:()=>LV,sensor_use_i2c_init:()=>aV,sensor_use_spi_init:()=>YV,sensor_use_uart_init:()=>uB,sensor_weather_solo_init:()=>SB,sensor_weather_solo_rain:()=>NB,sensor_weather_solo_wd:()=>AB,sensor_weather_solo_ws:()=>LB,sensor_weigh_init:()=>UB,tvoc_get_data:()=>IB,ultrasonic_sensor_read_distance:()=>bB,weather_data:()=>BV,weather_have_data:()=>GV,weather_set_label:()=>wV,weather_uart_mixio:()=>UV,weigh_sensor_get_weight:()=>wB});var ue={};e.r(ue),e.d(ue,{HCSR04:()=>sG,bitbot_als_num:()=>LU,dht11:()=>XU,educore_button_sensor:()=>UU,educore_button_was_pressed:()=>wU,educore_gyroscope_sensor:()=>VU,educore_gyroscope_sensor_read:()=>BU,educore_gyroscope_sensor_shake:()=>GU,educore_light_sensor:()=>xU,educore_rfid_sensor:()=>HU,educore_rfid_sensor_scan:()=>kU,educore_rfid_sensor_scan_data:()=>WU,educore_voice_sensor:()=>yU,number1:()=>_G,number2:()=>oG,number3:()=>pG,number4:()=>aG,number5:()=>uG,number6:()=>rG,number7:()=>lG,onboard_RTC_get_time:()=>iU,onboard_RTC_get_time_str:()=>_U,onboard_RTC_get_timestamp:()=>nU,onboard_RTC_get_timetuple_to_str:()=>oU,onboard_RTC_set_datetime:()=>eU,onboard_RTC_settime_string:()=>tU,onboard_RTC_timestamp_totuple:()=>sU,rfid_readcontent:()=>NG,rfid_readid:()=>LG,rfid_status:()=>FG,rfid_write:()=>DG,rfid_write_return:()=>fG,sensor_LTR308:()=>cG,sensor_adxl345_get_acceleration:()=>BG,sensor_aht11:()=>SG,sensor_bitbot_ALS:()=>AU,sensor_button_get_presses:()=>fU,sensor_button_is_pressed:()=>NU,sensor_button_was_pressed:()=>DU,sensor_compass_reset:()=>WG,sensor_ds18x20:()=>OG,sensor_eulerangles:()=>YG,sensor_get_acceleration:()=>PG,sensor_get_temperature:()=>AG,sensor_get_the_coprocessor_version:()=>KU,sensor_hp203:()=>CG,sensor_light:()=>vU,sensor_lm35:()=>RG,sensor_mixbot_get_gyro:()=>SU,sensor_mixbot_patrol_calibrate:()=>cU,sensor_mixbot_patrol_value:()=>gU,sensor_mixbot_temperature:()=>CU,sensor_mixgo_LTR308:()=>hG,sensor_mixgo_button_attachInterrupt:()=>ZB,sensor_mixgo_button_get_presses:()=>$B,sensor_mixgo_button_is_pressed:()=>qB,sensor_mixgo_button_was_pressed:()=>jB,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>uU,sensor_mixgo_cc_mmc5603_get_angle:()=>aU,sensor_mixgo_cc_mmc5603_get_magnetic:()=>pU,sensor_mixgo_light:()=>YU,sensor_mixgo_nova_LTR308:()=>EG,sensor_mixgo_nova_pin_near:()=>MG,sensor_mixgo_pin_near:()=>TG,sensor_mixgo_pin_near_double:()=>IG,sensor_mixgo_pin_near_single:()=>dG,sensor_mixgo_pin_pressed:()=>xG,sensor_mixgo_sant_color:()=>mG,sensor_mixgo_touch_slide:()=>bG,sensor_mixgocar42_button_attachInterrupt:()=>nG,sensor_mixgocar42_button_get_presses:()=>iG,sensor_mixgocar42_button_is_pressed:()=>eG,sensor_mixgocar42_button_was_pressed:()=>tG,sensor_mixgocar_battery_left:()=>RU,sensor_mixgocar_pin_near:()=>EU,sensor_mixgocar_pin_near_line:()=>mU,sensor_mixgocar_pin_near_state_change:()=>OU,sensor_mixgoce_pin_pressed:()=>yG,sensor_mixgoce_temperature:()=>lU,sensor_mixgome_temperature:()=>rU,sensor_mpu9250_calibrate_compass:()=>wG,sensor_mpu9250_field_strength:()=>kG,sensor_mpu9250_gesture:()=>vG,sensor_mpu9250_get_acceleration:()=>XG,sensor_mpu9250_get_gyro:()=>UG,sensor_mpu9250_get_magnetic:()=>GG,sensor_mpu9250_temperature:()=>HG,sensor_mpython_pin_pressed:()=>VG,sensor_mpython_qmi8658_get_gyro:()=>dU,sensor_mpython_qmi8658_temperature:()=>IU,sensor_onboard_compass_reset:()=>ZG,sensor_onboard_mpu9250_calibrate_compass:()=>qG,sensor_onboard_mpu9250_field_strength:()=>$G,sensor_onboard_mpu9250_gesture:()=>KG,sensor_onboard_mpu9250_get_acceleration:()=>JG,sensor_onboard_mpu9250_get_gyro:()=>zG,sensor_onboard_mpu9250_get_magnetic:()=>QG,sensor_onboard_mpu9250_temperature:()=>jG,sensor_pin_near:()=>PU,sensor_pin_pressed:()=>FU,sensor_read:()=>bU,sensor_rm_acc:()=>hU,sensor_rm_battery_left:()=>MU,sensor_rm_pin_near_double:()=>TU,sensor_sound:()=>gG,simulated_light_sensor:()=>JU});var re={};e.r(re),e.d(re,{serial_any:()=>$U,serial_print:()=>QU,serial_print_byte:()=>zU,serial_print_hex:()=>jU,serial_println:()=>qU,serial_read_from_ai:()=>uw,serial_readline:()=>ew,serial_readstr:()=>ZU,serial_send_to_ai:()=>aw,serial_softserial:()=>tw,serial_softserial_new:()=>iw,system_input:()=>nw,system_print:()=>sw,system_print_end:()=>ow,system_print_inline:()=>_w,system_print_many:()=>pw});var le={};e.r(le),e.d(le,{Panic_with_status_code:()=>cw,Timer_init:()=>xw,base_delay:()=>Gw,controls_delay:()=>Lw,controls_delay_new:()=>Nw,controls_end_program:()=>Cw,controls_millis:()=>gw,controls_uname:()=>Aw,reset:()=>Sw,set_system_timer:()=>fw,system_bitbot_shutdown:()=>bw,system_device_name:()=>Ow,system_device_serial_number:()=>Rw,system_event_bus_source:()=>mw,system_event_bus_value:()=>Ew,system_machine_reset:()=>yw,system_on_event:()=>Tw,system_raise_event:()=>Iw,system_reset:()=>lw,system_run_in_background:()=>rw,system_ticks_diff:()=>Fw,system_timer:()=>Yw,system_timer_init:()=>Pw,system_timestamp:()=>Mw,system_value:()=>hw,system_wait:()=>dw,system_wdt_feed:()=>Xw,system_wdt_init:()=>vw,time_ticks_diff:()=>Bw,timer:()=>Dw,timer2:()=>Vw});var de={};e.r(de),e.d(de,{Air_daily_content:()=>Zw,Air_now_content:()=>Kw,Geo_moon_content:()=>tH,Geo_sun_content:()=>eH,Life_suggestion_content:()=>Qw,Location_search_content:()=>qw,Tide_daily_content:()=>zw,WEATHER_DAILY:()=>ww,WEATHER_HOUR:()=>Hw,WEATHER_NOW:()=>Uw,Weather_alarm_content:()=>Jw,Weather_daily:()=>jw,Weather_daily_content:()=>$w,Weather_now:()=>kw,Weather_now_content:()=>Ww});var Ie={};e.r(Ie),e.d(Ie,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>sH});var Te={};e.r(Te),e.d(Te,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>oH});var Me={};e.r(Me),e.d(Me,{MICROPYTHON_CONFIG_MESSAGE_BURN_SPEED:()=>aH});var he={};e.r(he),e.d(he,{controls_pin_attachInterrupt:()=>DH,inout_analog_atten:()=>EH,inout_analog_write:()=>hH,inout_analog_write_init:()=>gH,inout_analog_write_set:()=>mH,inout_analog_write_set_freq:()=>SH,inout_digital_init:()=>cH,inout_digital_read:()=>MH,inout_digital_write:()=>TH,inout_highlow:()=>IH,inout_pinMode:()=>AH,inout_pin_attachInterrupt:()=>RH,inout_pin_pressed:()=>OH,inout_pin_pressed_init:()=>CH,pin_pressed:()=>NH,pin_pressed_init:()=>LH});var me={};e.r(me),e.d(me,{analog_input:()=>xH,analog_output:()=>BH,espnow_channel:()=>XH,haskylens_model:()=>yH,i2c_A_pin:()=>GH,i2c_B_pin:()=>UH,pins_analog:()=>KH,pins_analog_pin:()=>JH,pins_axis:()=>rk,pins_brightness:()=>lk,pins_builtinimg:()=>nk,pins_builtinimg_extern:()=>sk,pins_button:()=>qH,pins_buttonB:()=>jH,pins_dac:()=>QH,pins_dac_pin:()=>zH,pins_digital:()=>FH,pins_digital_dot:()=>Ok,pins_digital_pin:()=>PH,pins_exlcdh:()=>ak,pins_exlcdv:()=>uk,pins_imglist:()=>_k,pins_input_pin:()=>YH,pins_one_more:()=>Ek,pins_output_pin:()=>vH,pins_playlist:()=>ok,pins_playlist_extern:()=>pk,pins_pwm:()=>$H,pins_pwm_pin:()=>ZH,pins_radio_datarate:()=>mk,pins_radio_power:()=>hk,pins_serial:()=>ik,pins_tone_notes:()=>Mk,pins_touch:()=>tk,pins_touch_pin:()=>ek,pins_tts_bgmusic:()=>Tk,pins_tts_builtin_music:()=>Ik,pins_tts_voice:()=>dk,pwm_input:()=>bH,pwm_output:()=>VH,spi_A_pin:()=>wH,spi_B_pin:()=>HH,spi_C_pin:()=>kH,spi_D_pin:()=>WH,timer_id_pin:()=>Rk});var Ee={};e.r(Ee),e.d(Ee,{inout_analog_atten:()=>Fk,inout_analog_write:()=>Sk,inout_analog_write_init:()=>fk,inout_analog_write_set:()=>Ak,inout_digital_init:()=>Dk,inout_digital_read:()=>Ck,inout_digital_write:()=>gk,inout_highlow:()=>ck,inout_pin_attachInterrupt:()=>Nk,inout_pin_pressed:()=>Lk,inout_pin_pressed_init:()=>Pk});var Oe={};e.r(Oe),e.d(Oe,{analog_input:()=>Uk,analog_output:()=>Hk,espnow_channel:()=>Bk,haskylens_model:()=>Gk,i2c_A_pin:()=>kk,i2c_B_pin:()=>Wk,pins_analog:()=>jk,pins_analog_pin:()=>qk,pins_axis:()=>rW,pins_brightness:()=>IW,pins_builtinimg:()=>CW,pins_builtinimg_extern:()=>oW,pins_button:()=>vk,pins_buttonB:()=>Xk,pins_dac:()=>tW,pins_dac_pin:()=>eW,pins_digital:()=>Yk,pins_digital_dot:()=>cW,pins_digital_pin:()=>yk,pins_exlcdh:()=>lW,pins_exlcdv:()=>dW,pins_imglist:()=>pW,pins_input_pin:()=>bk,pins_interrupt:()=>sW,pins_one_more:()=>RW,pins_output_pin:()=>xk,pins_playlist:()=>aW,pins_playlist_extern:()=>uW,pins_pwm:()=>Zk,pins_pwm_input:()=>Vk,pins_pwm_pin:()=>$k,pins_radio_datarate:()=>OW,pins_radio_power:()=>EW,pins_serial:()=>_W,pins_tone_notes:()=>mW,pins_touch:()=>nW,pins_touch_pin:()=>iW,pins_tts_bgmusic:()=>hW,pins_tts_builtin_music:()=>MW,pins_tts_voice:()=>TW,pwm_output:()=>wk,spi_A_pin:()=>Kk,spi_B_pin:()=>Jk,spi_C_pin:()=>Qk,spi_D_pin:()=>zk,timer_id_pin:()=>gW});const Re=Blockly,ce=Mixly,ge={NAME_TYPE:"VARIABLE",allVariables:function(e){var t;if(e.getDescendants)t=e.getDescendants();else{if(!e.getAllBlocks)throw"Not Block or Workspace: "+e;t=e.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},Ce=ge; +/** + * @license + * Visual Blocks Editor + * + * Copyright 2012 Google Inc. + * https://developers.google.com/blockly/ + * + * 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. + */ +class Se{constructor(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var i=e.split(","),n=0;n0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Re.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Re.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Re.Msg.CONTROLS_IF_MSG_ELSE);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_if_elseif");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_if_else");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_if_elseif":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_if_else":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_if_elseif":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_if_else":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Re.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(Re.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Re.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},He={init:function(){this.setColour(xe),this.appendValueInput("FROM").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.PYTHON_RANGE).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ke={init:function(){this.setColour(xe),this.appendValueInput("LIST").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Re.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Re.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},We={init:function(){this.setColour(xe),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Re.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Re.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Re.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:Re.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Re.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},Ke={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Re.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Re.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Re.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,i=[],n=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)t.getInputTargetBlock("IF"+s)&&t.getInputTargetBlock("IF"+s).previousConnection?i[s]=t.getInputTargetBlock("IF"+s).previousConnection:i[s]=null,this.removeInput("IF"+s),t.getInputTargetBlock("DO"+s)&&t.getInputTargetBlock("DO"+s).previousConnection?n[s]=t.getInputTargetBlock("DO"+s).previousConnection:n[s]=null,this.removeInput("DO"+s);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(s=1;s<=this.elseifCount_;s++)this.appendValueInput("IF"+s).setCheck([Boolean,Number]).appendField(Re.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Re.Msg.MIXLY_PYTHON_FINALLY);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"IF"+s);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"DO"+s)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var i=t.getInput("STACK").connection,n=1;n<=this.elseifCount_;n++){var s=e.newBlock("controls_except");s.initSvg(),i.connect(s.previousConnection),i=s.nextConnection}if(this.elseCount_){var _=e.newBlock("controls_finally");_.initSvg(),i.connect(_.previousConnection)}return t},compose:function(e){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var t=this.elseifCount_;t>0;t--)this.removeInput("IF"+t),this.removeInput("DO"+t);this.elseifCount_=0;for(var i=e.getInputTargetBlock("STACK"),n=[null],s=[null],_=null;i;){switch(i.type){case"controls_except":this.elseifCount_++,n.push(i.valueConnection_),s.push(i.statementConnection_);break;case"controls_finally":this.elseCount_++,_=i.statementConnection_;break;default:throw Error("Unknown block type: "+i.type)}i=i.nextConnection&&i.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(n,s,_)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),i=1;t;){switch(t.type){case"controls_except":var n=this.getInput("IF"+i),s=this.getInput("DO"+i);t.valueConnection_=n&&n.connection.targetConnection,t.statementConnection_=s&&s.connection.targetConnection,i++;break;case"controls_finally":s=this.getInput("ELSE");t.statementConnection_=s&&s.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],i=null;this.getInput("ELSE")&&(i=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var s=this.getInput("IF"+n),_=this.getInput("DO"+n);console.log(s.connection.targetConnection),e.push(s.connection.targetConnection),t.push(_.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,i)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(Re.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Re.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,i){for(var n=1;n<=this.elseifCount_;n++)e[n]&&e[n].reconnect(this,"IF"+n),t[n]&&t[n].reconnect(this,"DO"+n);i&&i.reconnect(this,"ELSE")}},Je={init:function(){this.setColour(xe);var e=new Re.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(Re.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:Re.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Re.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!1,t=this;do{if("controls_repeat"==t.type||"controls_for"==t.type||"controls_forEach"==t.type||"controls_repeat_ext"==t.type||"controls_whileUntil"==t.type||"do_while"==t.type){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(Re.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},Qe={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Re.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return Re.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ze={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Re.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return Re.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};We.OPERATORS=[[Re.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Re.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Je.OPERATORS=[[Re.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Re.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const qe={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Re.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},je={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},$e={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Re.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Ze={init:function(){this.setColour(xe),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},et={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Re.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},tt={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Re.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},it={init:function(){this.jsonInit({message0:Re.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:xe,tooltip:Re.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Re.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},nt={init:function(){this.setColour(xe),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_STAT),this.setOutput(!0)}},st={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},_t={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Re.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ot={init:function(){this.appendDummyInput().appendField(Re.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Re.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Re.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Re.FieldDropdown([[Re.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Re.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(xe),this.setTooltip("do-while loop"),this.setHelpUrl("")}},pt={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},at={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},ut={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},rt={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_DEVICE+"ID"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Re.Msg.PROCEDURES_DEFRETURN_RETURN+Re.Msg.MIXLY_GET_UNIQUE_IDEN)}},lt={init:function(){this.setColour(xe),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_RTC_TIMESTAMP),this.appendDummyInput().appendField(Re.Msg.MIXLY_TIMESTAMP_TO_DATA),this.setInputsInline(!0),this.setOutput(!0,Number)}},dt={init:function(){this.setColour(xe),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_UNIQUE_IDEN),this.setOutput(!0)}},It=230;Re.FieldTextInput.math_number_validator=function(e){return String(e)},Re.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const Tt={init:function(){this.setColour(It),this.appendDummyInput().appendField(new Re.FieldTextInput("0",Re.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MATH_NUMBER_TOOLTIP)}},Mt={init:function(){this.setColour(It);this.appendDummyInput("").appendField(Re.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Re.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:Re.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Re.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},ht={init:function(){this.setColour(It);this.appendDummyInput("").appendField(Re.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Re.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:Re.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Re.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},mt={init:function(){this.setColour(It),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:Re.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Re.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Re.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Re.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Re.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Re.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Re.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Et={init:function(){this.setColour(It),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:Re.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Re.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Re.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Re.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Re.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Re.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Re.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},Ot={init:function(){this.setColour(It),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Re.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Rt={init:function(){this.setColour(It),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Re.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:Re.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Re.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Re.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Re.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Re.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Re.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Re.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},ct={init:function(){var e=[[Re.Msg.MATH_BIN,"bin"],[Re.Msg.MATH_OCT,"oct"],[Re.Msg.MATH_HEX,"hex"]];this.setColour(It),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Re.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:Re.Msg.MATH_DEC_TOOLTIP_BIN,oct:Re.Msg.MATH_DEC_TOOLTIP_OCT,hex:Re.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},gt={init:function(){var e=[[Re.Msg.LANG_MATH_TO_ROUND,"round"],[Re.Msg.LANG_MATH_TO_CEIL,"ceil"],[Re.Msg.LANG_MATH_TO_FLOOR,"floor"],[Re.Msg.MATH_ABS,"fabs"],[Re.Msg.MATH_SQRT,"sqrt"]];this.setColour(It),this.appendValueInput("A").setCheck(Number).appendField(new Re.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:Re.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Re.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Re.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Re.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Re.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Re.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},Ct={init:function(){var e=[[Re.Msg.MIXLY_MAX,"max"],[Re.Msg.MIXLY_MIN,"min"]];this.setColour(It),this.appendValueInput("A").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Re.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:Re.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Re.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},St={init:function(){var e=[[Re.Msg.MATH_TWO,"two"],[Re.Msg.MATH_EIGHT,"eight"],[Re.Msg.MATH_TEN,"ten"],[Re.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(It),this.appendDummyInput("").appendField(Re.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Re.FieldDropdown(e),"OP").appendField(Re.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MATH_ZHW).appendField(new Re.FieldDropdown(e),"OP2").appendField(Re.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),i={two:Re.Msg.MATH_Before_two,eight:Re.Msg.MATH_Before_eight,ten:Re.Msg.MATH_Before_ten,sixteen:Re.Msg.MATH_Before_sixteen},n=t.getFieldValue("OP2"),s={two:Re.Msg.MATH_Behind_two,eight:Re.Msg.MATH_Behind_eight,ten:Re.Msg.MATH_Behind_ten,sixteen:Re.Msg.MATH_Behind_sixteen};return i[e]+s[n]}))}},At={init:function(){var e=[[Re.Msg.LANG_MATH_INT,"int"],[Re.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(It),this.setOutput(!0,Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Re.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Re.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),i={int:Re.Msg.LANG_MATH_INT,float:Re.Msg.LANG_MATH_FLOAT_RANDOM};return Re.Msg.MATH_RANDOM_INT_TOOLTIP+i[e]}))}},Lt={init:function(){this.setColour(It),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Re.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Re.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Re.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Re.Msg.MATH_CONSTRAIN_TOOLTIP)}},Nt={init:function(){this.setColour(It),this.appendValueInput("NUM",Number).appendField(Re.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Re.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Re.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Dt={init:function(){this.setColour(It),this.appendDummyInput().appendField(new Re.FieldTextInput("0",Re.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Re.Msg.MATH_NUMBER_TOOLTIP)}},ft={init:function(){this.setColour(It),this.appendValueInput("NUM").setCheck(Number).appendField(Re.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Ft={init:function(){this.setColour(It),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Re.Msg.MATH_ROUND).appendField(Re.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Re.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Re.Msg.MATH_ROUND_NEW_TOOLTIP)}},Pt={init:function(){var e=[[Re.Msg.MIXLY_TO_INT,"int"],[Re.Msg.MIXLY_TO_FLOAT,"float"],[Re.Msg.MIXLY_TO_BITES,"b"],[Re.Msg.LANG_MATH_BYTE+Re.Msg.MIXLY_TO_INT,"bti"]];this.setColour(It),this.appendValueInput("VAR").appendField(new Re.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:Re.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Re.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Re.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},Yt={init:function(){var e=[[Re.Msg.MIXLY_TO_INT,"int"],[Re.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(It),this.appendValueInput("VAR").appendField(new Re.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:Re.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Re.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},vt=Nt,Xt={init:function(){this.setColour(It),this.appendValueInput("VAR").appendField(Re.Msg.LANG_MATH_BYTE+Re.Msg.MIXLY_TO_HEX),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_PYTHON_TOOLTIP_TOHEX)}},yt={init:function(){this.setColour(It),this.itemCount_=1,this.setMutator(new Re.icons.MutatorIcon(["lists_create_with_item"],this)),this.appendDummyInput("DUMMY").appendField(Re.Msg.MIXLY_PRODUCT+Re.Msg.MIXLY_GENERATE_CARTESIAN_PRODUCT),this.appendValueInput("REPEAT").appendField(Re.Msg.MIXLY_EVERY_PER_ELEPER_ELEMENT),this.appendDummyInput().appendField(Re.Msg.CONTROLS_REPEAT_TITLE_TIMES),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0),this.setTooltip(Re.Msg.LISTS_CREATE_WITH_PYTHON_TOOLTIP),this.updateShape_()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const wt={init:function(){this.setColour(Vt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Re.FieldTextInput("",Re.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Re.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new Re.FieldImage(t,7,12,'"')}},Ht={init:function(){this.setColour(Vt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Re.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},kt={init:function(){this.setColour(Vt),this.appendValueInput("VAR").setCheck(Number).appendField(Re.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Wt={init:function(){this.setColour(Vt),this.appendValueInput("VAR").setCheck(String).appendField(Re.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Kt={init:function(){this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Jt={init:function(){this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Qt={init:function(){this.WHERE_OPTIONS=[[Re.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Re.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Re.Msg.TEXT_GET_INDEX_RANDOM+1+Re.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Re.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Re.Msg.LISTS_GET_INDEX_GET,"MODE"),Re.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Re.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=e.getFieldValue("WHERE"),n="";switch(t+" "+i){case"GET FROM_START":case"GET FROM_END":n=Re.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Re.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Re.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Re.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Re.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Re.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),i={FROM_START:Re.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Re.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Re.Msg.TEXT_GET_INDEX_RANDOM};return Re.Msg.PROCEDURES_DEFRETURN_RETURN+Re.Msg.MIXLY_MICROBIT_TYPE_STRING+i[e]+"n"+Re.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==Re.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),Re.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Re.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new Re.FieldDropdown(this.WHERE_OPTIONS,(function(t){var i="FROM_START"==t||"FROM_END"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),Re.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},zt={init:function(){this.setHelpUrl(Re.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Re.Msg.LISTS_GET_INDEX_GET+" "+Re.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Re.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Re.Msg.PROCEDURES_DEFRETURN_RETURN+Re.Msg.MIXLY_MICROBIT_TYPE_STRING+Re.Msg.LISTS_GET_INDEX_FROM_START+"n"+Re.Msg.TEXT_CHARAT2)}},qt={init:function(){this.setHelpUrl(Re.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Re.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Re.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},jt={init:function(){this.WHERE_OPTIONS_1=[[Re.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Re.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Re.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Re.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Re.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Re.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Re.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),this.setInputsInline(!0),this.setOutput(!0,"List"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(Re.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==Re.INPUT_VALUE;e.setAttribute("at1",t);var i=this.getInput("AT2").type==Re.INPUT_VALUE;return e.setAttribute("at2",i),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),i="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,i)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),Re.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(Re.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var i=new Re.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(i){var n="FROM_START"==i||"FROM_END"==i;if(n!=t){var s=this.sourceBlock_;return s.updateAt_(e,n),s.setFieldValue(i,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(i,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},$t={init:function(){this.setHelpUrl(Re.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Re.Msg.LISTS_GET_INDEX_GET+" "+Re.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Re.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Re.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Re.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Zt={init:function(){var e=[[Re.Msg.MIXLY_EQUALS,"==="],[Re.Msg.MIXLY_STARTSWITH,"startswith"],[Re.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Vt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Re.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ei={init:function(){this.setColour(Vt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Re.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_COMPARETO_HELP)}},ti={init:function(){var e=[[Re.Msg.TEXT_UPPER,"upper"],[Re.Msg.TEXT_TITLE,"title"],[Re.Msg.TEXT_CAPITALIZE,"capitalize"],[Re.Msg.TEXT_SWAPCASE,"swapcase"],[Re.Msg.TEXT_LOWER,"lower"]];this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Re.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:Re.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Re.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Re.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Re.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Re.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},ii={init:function(){var e=[[Re.Msg.TEXT_LJUST,"ljust"],[Re.Msg.TEXT_CENTER,"center"],[Re.Msg.TEXT_RJUST,"rjust"]];this.setColour(Vt),this.appendValueInput("VAR").appendField(new Re.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Re.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Re.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ni={init:function(){this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Re.Msg.MIXLY_MID+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Re.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},si={init:function(){this.setColour(Vt),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Re.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},_i={init:function(){this.setColour(Vt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Re.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Re.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},oi={init:function(){this.setColour(Vt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Re.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Re.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},pi={init:function(){var e=[[Re.Msg.TEXT_TRIM_BOTH,"strip"],[Re.Msg.TEXT_TRIM_LEFT,"lstrip"],[Re.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Vt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Re.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Re.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(Re.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:Re.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Re.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Re.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},ai={init:function(){this.setColour(Vt),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Re.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Re.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},_n={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},on={init:function(){this.setColour(nn),this.appendDummyInput().appendField(Re.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_KEYS),this.setTooltip(Re.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},an={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Re.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Re.Msg.DICTS_GET_TOOLTIP)}},un={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Re.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Re.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Re.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},rn={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Re.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Re.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_DELETE_TOOLTIP)}},dn={init:function(){this.setColour(nn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Re.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Re.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MID),this.setTooltip(Re.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},In={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_CLEAR),this.setTooltip(Re.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_ITEMS),this.setTooltip(Re.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_VALUES),this.setTooltip(Re.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},hn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_LENGTH),this.setTooltip(Re.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},mn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.DICT_DELDICT),this.setTooltip(Re.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},En={init:function(){this.MODE=[[Re.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Re.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Re.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Re.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=Re.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=Re.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==Re.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new Re.FieldDropdown(this.MODE,(function(t){var i="INSERT"==t;if(i!=e){var n=this.sourceBlock_;return n.updateAt_(i),n.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},On={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Re.Msg.DICTS_ADD_VALUE),this.setTooltip(Re.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Rn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Re.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Re.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_SETDEFAULT_TOOLTIP)}},cn={init:function(){this.setColour(nn),this.appendDummyInput("").appendField(new Re.FieldLabel(Re.Msg.MIXLY_MICROBIT_TYPE_DICT),"TIP").appendField(" "),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Dict"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Re.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nt?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},gn={init:function(){this.setColour(nn),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Cn={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_TO_JSON),this.setTooltip(Re.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Sn={init:function(){this.setColour(nn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Re.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},An={init:function(){this.setColour(nn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("VAR1").appendField("key1"),this.appendValueInput("VAR2").appendField("index"),this.appendValueInput("VAR3").appendField("key2"),this.appendValueInput("VAR4").appendField("key3"),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0)}},Ln={init:function(){this.setColour(nn),this.appendValueInput("DICT"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_TO_JSON),this.setTooltip(Re.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0)}},Nn=210,Dn={init:function(){var e=Re.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:Re.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Re.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Re.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Re.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Re.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Re.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},fn={init:function(){var e=Re.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=Re.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new Re.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Fn={init:function(){var e=[[Re.Msg.LOGIC_OPERATION_AND,"AND"],[Re.Msg.LOGIC_OPERATION_OR,"OR"],[Re.Msg.LOGIC_OPERATION_NOR,"NOR"],[Re.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Re.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:Re.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Re.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Re.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Re.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},Pn={init:function(){this.setColour(Nn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Re.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Re.Msg.LOGIC_NEGATE_TOOLTIP)}},Yn={init:function(){var e=[[Re.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Re.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Nn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Re.FieldDropdown(e),"BOOL"),this.setTooltip(Re.Msg.LOGIC_BOOLEAN_TOOLTIP)}},vn={init:function(){this.setColour(Nn),this.setOutput(!0),this.appendDummyInput().appendField(Re.Msg.LOGIC_NULL),this.setTooltip(Re.Msg.LOGIC_NULL_TOOLTIP)}},Xn={init:function(){this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Re.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Re.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},yn={init:function(){var e=[[Re.Msg.TEXT_APPEND_TO,"in"],[Re.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Re.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(Re.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.IN)}},bn={init:function(){var e=[[Re.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Re.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Nn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Re.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},xn={init:function(){this.setColour(Nn),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Re.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Vn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Re.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"],[Re.Msg.MIXLY_ADD,"a"],[Re.Msg.MATH_BIN+Re.Msg.MIXLY_ADD,"ab"],[Re.Msg.MIXLY_R_W,"r+"],[Re.Msg.MATH_BIN+Re.Msg.MIXLY_R_W,"rb+"],[Re.Msg.MIXLY_W_R,"w+"],[Re.Msg.MATH_BIN+Re.Msg.MIXLY_W_R,"wb+"],[Re.Msg.MIXLY_A_R,"a+"],[Re.Msg.MATH_BIN+Re.Msg.MIXLY_A_R,"ab+"]]),"MODE"),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_USE,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Re.Msg.MIXLY_BELONG;return i+{r:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_USE,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Re.Msg.MIXLY_BELONG,o=Re.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},Un={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Re.Msg.MIXPY_TEXT_ENCODE).appendField(new Re.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_USE,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,_=Re.Msg.MIXLY_BELONG,o=Re.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+_+n+s+o}))}},wn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Re.Msg.MIXLY_MICROBIT_TYPE_STRING+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+n}))}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Re.Msg.MICROBIT_PYTHON_TYPE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Re.Msg.HTML_FILE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},zn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Re.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const qn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_DIRS,"removedirs"]]),"MODE"),this.appendValueInput("FILE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},jn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},$n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+s+"x"+n}))}},es={init:function(){this.setColour(0),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ts={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return Re.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Re.Msg.MIXLY_ESP32_SET+{mkdir:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},is={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Re.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ns={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},ss={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.HTML_FILE,"isfile"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},_s={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Re.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},os={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Re.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},ps={init:function(){var e=Re.Procedures.findLegalName("",this),t=new Re.FieldTextInput(e,Re.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new Re.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Re.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Re.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Re.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Re.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(e){this.hasStatements_!==e&&(e?(this.appendStatementInput("STACK").appendField(Re.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=e)},updateParams_:function(){var e="";this.arguments_.length&&(e=Re.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Re.Events.disable();try{this.setFieldValue(e,"PARAMS")}finally{Re.Events.enable()}},mutationToDom:function(e){var t=Re.utils.xml.createElement("mutation");e&&t.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(Re.Msg.MIXLY_AIP_ATTR).setAlign(Re.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},i_={init:function(){this.setColour(qs),this.appendDummyInput().appendField(Re.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},n_={init:function(){this.setColour(qs),this.appendDummyInput().appendField(Re.Msg.HTML_FORM_CONTENT).appendField(new Re.FieldDropdown([[Re.Msg.HTML_TEXT,"text"],[Re.Msg.HTML_EMAIL,"email"],[Re.Msg.HTML_NUMBER,"number"],[Re.Msg.HTML_PASSWORD,"password"],[Re.Msg.HTML_CHECKBOX,"checkbox"],[Re.Msg.HTML_RADIOBUTTON,"radiobutton"],[Re.Msg.HTML_BUTTON,"button"],[Re.Msg.HTML_COLOUR,"colour"],[Re.Msg.HTML_DATE,"date"],[Re.Msg.HTML_LOCALTIME,"local time"],[Re.Msg.HTML_FILE,"file"],[Re.Msg.HTML_HIDDEN,"hidden"],[Re.Msg.HTML_IMAGE,"image"],[Re.Msg.HTML_MONTH,"month"],[Re.Msg.HTML_RANGE,"range"],[Re.Msg.HTML_RESET,"reset"],[Re.Msg.HTML_SEARCH,"search"],[Re.Msg.HTML_SUBMIT,"submit"],[Re.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Re.Msg.HTML_TIME,"time"],[Re.Msg.HTML_URL,"url"],[Re.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Re.Msg.HTML_NAME).appendField(new Re.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Re.Msg.HTML_VALUE).appendField(new Re.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Re.Msg.MIXLY_AIP_ATTR).setAlign(Re.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},s_={init:function(){this.setColour(qs),this.appendDummyInput().appendField(new Re.FieldTextInput("property"),"KEY").appendField(":").appendField(new Re.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},__={init:function(){this.setColour(qs),this.appendDummyInput().appendField(new Re.FieldTextInput("property"),"KEY").appendField(":").appendField(new Re.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},o_={init:function(){this.setColour(qs),this.appendDummyInput().appendField(Re.Msg.HTML_TEXT).appendField(new Re.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},p_=160,a_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Re.FieldTable(""),"TEXT")}},u_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Re.FieldMultilineInput(""),"TEXT")}},r_={init:function(){this.setColour(p_),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Re.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},l_={init:function(){this.setColour(p_),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},d_={init:function(){this.setColour(p_),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Re.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},I_={init:function(){this.setColour(p_),this.appendValueInput("VALUE").appendField(Re.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},T_={init:function(){this.setColour(p_),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Re.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Re.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=Re.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,i){return"("+e+" <= "+t+") and "+a()+"("+e+", "+t+", "+i+") or "+u()+"("+e+", "+t+", "+i+")"},Re.isNumber(n)&&Re.isNumber(s)&&Re.isNumber(_))n=parseFloat(n),s=parseFloat(s),_=Math.abs(parseFloat(_)),0==n%1&&0==s%1&&0==_%1?(n<=s?(s++,e=0==n&&1==_?s:n+", "+s,1!=_&&(e+=", "+_)):e=n+", "+--s+", -"+_,e="range("+e+")"):(e=n",GTE:">="};const ra=function(e,t){var i=this.getFieldValue("OP"),n="&&"==i?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,s=t.valueToCode(this,"A",n)||"False",_=t.valueToCode(this,"B",n)||"False";if("AND"==i)var o=s+" and "+_;else if("OR"==i)o=s+" or "+_;else if("NOR"==i)o="not("+s+"^"+_+")";else o=s+"^"+_;return[o,n]},la=function(e,t){var i=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",i)||"False"),i]},da=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Ia=function(e,t){return["None",t.ORDER_ATOMIC]},Ta=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+i+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},Ma=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},ha=function(e,t){var i=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",n=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[i+" "+this.getFieldValue("BOOL")+" "+n,t.ORDER_ATOMIC]},ma=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Ea=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},Oa=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ra=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},ca=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},ga=function(e,t){var i=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+i+")\n"},Ca=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"()",t.ORDER_ATOMIC]},Sa=function(e,t){var i=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+i+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Aa=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},La=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},Na=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},Da=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},fa=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Fa=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},Pa=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Ya=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},va=function(e,t){var i=this.getFieldValue("MODE"),n=0;return n="start"==i?0:"current"==i?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+n+")\n"},Xa=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ya=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},ba=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},xa=function(e,t){return t.definitions_.import_os="import os","os.rename("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+","+t.valueToCode(this,"NEWFILE",t.ORDER_ATOMIC)+")\n"},Va=function(e,t){t.definitions_.import_os="import os";var i=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+i+")",t.ORDER_ATOMIC]},Ba=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = sdcard.SDCard("+t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC)+","+t.valueToCode(this,"PINSUB",t.ORDER_ATOMIC)+")\n"},Ga=function(e,t){return t.definitions_.import_os="import os",t.definitions_.import_sdcard="import sdcard","os.mount("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"DIR",t.ORDER_ATOMIC)+")\n"},Ua=function(e,t){var i=t.variableDB_.getName(this.getFieldValue("NAME"),Re.Procedures.NAME_TYPE),n=(this.getInput("STACK")&&t.statementToCode(this,"STACK"))??" pass\n";t.INFINITE_LOOP_TRAP&&(n=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n);var s=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var _=[],o=0;o\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},Cu=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Su=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");if("head"==n)var s="<"+n+'>\n\t\n'+i+"\n";else s="<"+n+">\n"+i+"\n";return s},Au=function(e,t){var i=t.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Lu=function(e,t){var i=t.statementToCode(this,"DO"),n=t.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Nu=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},Du=function(e,t){return'"},fu=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Fu=function(){return this.getFieldValue("TEXT")+"\n"},Pu=function(e){return e.getFieldValue("TEXT")+"\n"},Yu=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},vu=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},Xu=function(){return""},yu=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},bu=function(e,t){for(var i=e.getFieldValue("NAME"),n=e.hasReturn_,s=new Array(e.itemCount_),_=0;_0?t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+"while True:\n"+a.join("")+u.join("\n"):t.join("\n")+i.join("\n")+n.join("\n")+o.join("\n")+p.join("")+e+u.join("\n")},Gu.scrubNakedValue=function(e){return e+"\n"},Gu.quote_=function(e){var t="'";return-1!==e.indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},Gu.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},Gu.scrub_=function(e,t,i){var n="";if(!e.outputConnection||!e.outputConnection.targetConnection){(_=e.getCommentText())&&(_=Re.utils.string.wrap(_,Gu.COMMENT_WRAP-3),n+=Gu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Uu="#74A55B",wu={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MIDI),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_RGB_PIN_COUNT)}},Hu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Wu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ku={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_BACKSTAGE+Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_BACKSTAGE+Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("TICKS").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Re.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Re.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},zu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_RESET)}},qu={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ju={init:function(){this.setColour(Uu),this.appendValueInput("SUB"),this.appendValueInput("percent").appendField(Re.Msg.MIXLY_MUSIC_VOLUME_SET),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$u={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING).appendField(Re.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Zu={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},er={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},tr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING).appendField(Re.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},ir={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.MIXLY_SERVO),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_MOVE)}},sr={init:function(){this.setColour(Uu),this.appendValueInput("VAR").appendField("360°"+Re.Msg.MIXLY_SERVO),this.appendValueInput("SPEED",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SETTING+Re.Msg.blockpy_turtle_rotate+Re.Msg.MIXLY_SPEED+" (-10~10)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_360_TOOLTIP)}},_r={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_MOVE)}},or={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},pr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("180°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},ar={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).appendField("360°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},ur={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("初始化").setCheck("var"),this.appendDummyInput().appendField("电机驱动"),this.appendDummyInput().appendField("地址").appendField(new Re.FieldDropdown([["A","ms32006.ADDRESS_A"],["B","ms32006.ADDRESS_B"]]),"mode"),this.appendValueInput("SUB1").setCheck("var").setAlign(Re.inputs.Align.RIGHT).appendField("通信"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化MS32006电机驱动,使用I2C通信")}},rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("直流电机").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Re.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"],[Re.Msg.MOTOR_N,"ms32006.MOT_N"],[Re.Msg.MOTOR_P,"ms32006.MOT_P"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置直流电机的状态及转速(0-100)")}},lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("步进电机").setCheck("var"),this.appendDummyInput().appendField("选择").appendField(new Re.FieldDropdown([["A","ms32006.MOT_A"],["B","ms32006.MOT_B"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"ms32006.MOT_CW"],[Re.Msg.ANTI_CLOCKWISE,"ms32006.MOT_CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField("转速"),this.appendValueInput("steps").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField("步数"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("设置步进电机的状态、转速、步数(0-2047)")}},dr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Re.Msg.MIXLY_RGB_PIN_COUNT)}},Ir={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MP)}},Tr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},Mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_WRI)}},hr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_DURATION).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},mr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.PYTHON_RANGE_STEP).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Er={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"uart").appendField(new Re.FieldDropdown([["uart1","uart1"],["uart2","uart2"]]),"key"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Re.FieldDropdown([["SYN6288"+Re.Msg.MIXLY_AipSpeech_synthesis,"SYN6288"],["NS9300"+Re.Msg.MIXLY_MUSIC_PLAYER,"NS9300"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Or={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_WHETHER).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_STOPPED,"0"],[Re.Msg.MIXLY_PLAYING,"1"],[Re.Msg.MIXLY_PAUSED,"2"]]),"key"),this.setInputsInline(!0),this.setOutput(!0)}},Rr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_STAT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MP3_PLAY,"1"],[Re.Msg.MIXLY_MP3_PAUSE,"2"],[Re.Msg.MIXLY_STOP,"3"],[Re.Msg.MIXLY_MP3_PREV,"4"],[Re.Msg.MIXLY_MP3_NEXT,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendValueInput("volume").appendField(Re.Msg.MIXLY_MP3_VOL+Re.Msg.MIXLY_STAT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_PLAYER_SET_VOLUME_TOOLTIP)}},gr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MODE+Re.Msg.MIXLY_STAT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MP3_LOOP_ALL,"0"],[Re.Msg.MIXLY_MP3_LOOP_ONE,"1"],[Re.Msg.MIXLY_PLAYER_DIRECTORY_LOOP,"2"],[Re.Msg.MIXLY_MP3_LOOP_RAM,"3"],[Re.Msg.MIXLY_PLAYER_SINGLE_STOP,"4"],[Re.Msg.MIXLY_PLAYER_SEQUENTIAL_PLAY,"5"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MUSIC_PLAYER).setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_START_MELODY,"play"],[Re.Msg.MIXLY_PLAYER_INSERT_MUSIC,"insert"]]),"key"),this.appendValueInput("song"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_PLAYER_PLAY_MUSIC_TOOTIP)}},Sr={},Ar={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Re.Msg.MIXLY_SET_VOLUME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Lr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_VOLUME),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SET_VOLUME_TOOLTIP)}},Nr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("VOICE").setCheck(Number).appendField(Re.Msg.MIXLY_PLAY_HINTS),this.appendDummyInput().appendField(Re.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PLAY_HINTS_TOOLTIP)}},Dr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField("SYN6288"),this.appendValueInput("data").setCheck(String).appendField(Re.Msg.MIXLY_AipSpeech_synthesis),this.appendValueInput("VOICE").setCheck(Number).appendField(Re.Msg.MIXLY_BACKGROUND_MUSIC),this.appendDummyInput().appendField(Re.Msg.MIXLY_PROGRAM_BLOCK).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_PLAY_TTS_TOOLTIP)}},fr={init:function(){this.setColour(Uu),this.appendDummyInput("").appendField(new Re.FieldDropdown(ce.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Fr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},Pr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_TRAFFIC_LIGHT).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.LISTS_SET_INDEX_SET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_Turn_off_display,"0"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_RED_ON,"1"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_RED_BLINK,"2"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_ON,"3"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_YELLOW_BLINK,"4"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_ON,"5"],[Re.Msg.MIXLY_TRAFFIC_LIGHT_GREEN_BLINK,"6"]]),"light"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_WHITE,"W"],[Re.Msg.COLOUR_RGB_RED,"R"],[Re.Msg.COLOUR_RGB_YELLOW,"Y"],[Re.Msg.COLOUR_RGB_GREEN,"G"],[Re.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendValueInput("value").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.BRIGHTNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_WHITE,"W"],[Re.Msg.COLOUR_RGB_RED,"R"],[Re.Msg.COLOUR_RGB_YELLOW,"Y"],[Re.Msg.COLOUR_RGB_GREEN,"G"],[Re.Msg.COLOUR_RGB_BLUE,"B"]]),"color").appendField("LED").appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.BRIGHTNESS),this.setOutput(!0,Number),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"[0]"],[Re.Msg.MIXLY_SPEED,"[1]"],[Re.Msg.MATH_SINGLE_OP_ABSOLUTE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[2]"],[Re.Msg.MIXLY_RELATIVE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"[3]"],[Re.Msg.MIXLY_MIXBOT_SERVO_BLOCK_OR_NOT,"[4]"],[Re.Msg.MIXLY_MIXBOT_SERVO_FINISH_OR_NOT,"[5]"],[Re.Msg.MIXLY_ALL,""]]),"status"),this.setOutput(!0,Number),this.setInputsInline(!0)}},br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SERVO_SET_STOP_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_KEEP,"0"],[Re.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_COAST,"1"],[Re.Msg.MIXLY_MIXBOT_SERVO_STOP_MODE_BRAKE,"2"]]),"status"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.MATH_SINGLE_OP_ABSOLUTE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Re.Msg.MSG.run).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MODE).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPEED+Re.Msg.MIXLY_MODE,"0"],[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Re.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"0"],[Re.Msg.MIXLY_MIXBOT_SERVO_NEAREST_PATH,"1"],[Re.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.appendValueInput("angle").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_SERVO_ABSOLUTE_ANGLE_TOOLTIP)}},Br={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.MIXLY_RELATIVE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Re.Msg.MSG.run).appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ORIGIN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.MIXLY_RELATIVE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Re.Msg.MSG.run).appendField("("+Re.Msg.MIXLY_MIXBOT_SERVO_LIKE_ENCODING_MOTOR+")").appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MODE).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPEED+Re.Msg.MIXLY_MODE,"0"],[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Re.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField("%"),this.appendValueInput("angle").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_SERVO_RELATIVE_ANGLE_TOOLTIP)}},Ur={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.ME_GO_MOTOR_EXTERN+Re.Msg.MIXLY_SERVO_MOTOR).appendField(Re.Msg.MIXLY_RELATIVE+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE+Re.Msg.MSG.run).appendField("("+Re.Msg.MIXLY_MIXBOT_SERVO_LIKE_ORDINARY_MOTOR+")").appendField(Re.Msg.PIN_NUMBERING).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LEFT,"0"],[Re.Msg.MIXLY_RIGHT,"1"]]),"mode"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MODE).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPEED+Re.Msg.MIXLY_MODE,"0"],[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER+Re.Msg.MIXLY_MODE,"1"]]),"status"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField("%"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SERVO_TURN_DIRECTION).setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"0"],[Re.Msg.ANTI_CLOCKWISE,"2"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MOTOR,"ext_motor"],[Re.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Re.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Re.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Re.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Re.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Re.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Re.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_EXTERN_GET_ADDR),this.setOutput(!0),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MOTOR,"ext_motor"],[Re.Msg.MIXLY_TRAFFIC_LIGHT,"ext_traffic"],[Re.Msg.COLOUR_RGB_WHITE+"LED","W_LED"],[Re.Msg.COLOUR_RGB_RED+"LED","R_LED"],[Re.Msg.COLOUR_RGB_YELLOW+"LED","Y_LED"],[Re.Msg.COLOUR_RGB_GREEN+"LED","G_LED"],[Re.Msg.COLOUR_RGB_BLUE+"LED","B_LED"],[Re.Msg.MIXLY_SERVO_MOTOR,"ext_servo"]]),"name"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_EXTERN_SET_ADDR),this.appendValueInput("old").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE),this.appendValueInput("new").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_UPDATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SETUP+Re.Msg.MIXLY_AT).appendField(Re.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Wr={init:function(){this.setColour(Uu),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING),this.appendValueInput("pin").appendField("LED"),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SERVO+Re.Msg.MIXLY_SETUP+Re.Msg.MIXLY_AT).appendField(Re.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},Jr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_SERVO),this.appendValueInput("angle").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DISPLAY_MATRIX_ROTATE),this.appendDummyInput().appendField(Re.Msg.DRAW_POINTER_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qr={init:function(){this.setColour(Uu),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_MOTOR+Re.Msg.MIXLY_SETUP+Re.Msg.MIXLY_AT).appendField(Re.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setOutput(!0)}},zr={init:function(){this.setColour(Uu),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MOTOR),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+Re.Msg.MIXLY_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qr="#6C9858",jr={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(new Re.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},$r={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_ON,"1"],[Re.Msg.MIXLY_ESP32_OFF,"0"],[Re.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Zr={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_SETONOFF)}},el={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Re.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETBRIGHT)}},tl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},il={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SETTING+Re.Msg.MIXLY_BUILDIN_LED+Re.Msg.MIXLY_BRIGHTNESS+"(0-100%)")}},nl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Re.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput("").appendField(Re.Msg.MIXLY_LCD_SETCOLOR).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_LIGHT_RED,"1"],[Re.Msg.MIXLY_LIGHT_GREEN,"2"],[Re.Msg.MIXLY_LIGHT_BLUE,"3"],[Re.Msg.MIXLY_LIGHT_YELLOW,"4"],[Re.Msg.MIXLY_LIGHT_CYAN,"5"],[Re.Msg.MIXLY_LIGHT_PURPLE,"6"],[Re.Msg.MIXLY_LIGHT_WHITE,"7"]]),"colorvalue"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},sl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING).appendField(Re.Msg.MIXLY_BUILDIN_LED).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_RED,"r"],[Re.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_SETONOFF)}},_l={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_BUILDIN_LED).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_RED,"r"],[Re.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Re.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},ol={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Re.Msg.MIXLY_BUILDIN_LED).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_RED,"r"],[Re.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendDummyInput().appendField(Re.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},pl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_SETTING).appendField(Re.Msg.MIXLY_BUILDIN_LED).appendField(new Re.FieldDropdown([[Re.Msg.COLOUR_RGB_RED,"r"],[Re.Msg.COLOUR_RGB_GREEN,"g"]]),"color"),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SETTING+Re.Msg.MIXLY_BUILDIN_LED+Re.Msg.MIXLY_BRIGHTNESS+"(0-10)")}},al={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(new Re.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ul={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgo_cc":case"micropython:esp32s2:mixgo_ce":this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgo_me":default:this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},rl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},ll={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RAINBOW),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_DURATION).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},dl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Re.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.PYTHON_RANGE_STEP).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Il={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_WRI)}},Tl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);switch(ce.Boards.getSelectedBoardKey()){case"micropython:esp32c3:mixgocc":this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOCC);break;case"micropython:esp32c3:mixgome":default:this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MIXGOME);break;case"micropython:esp32:mPython":this.setTooltip(Re.Msg.MIXLY_RGB_NUM_R_G_B_MPYTHON)}}},Ml={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_RGB_ALL_R_G_B_MIXGOCC)}},hl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Re.Msg.MIXLY_CHASE),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_RGB_B),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.PYTHON_RANGE_STEP).appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},ml={init:function(){this.setColour(qr),this.appendValueInput("TICKS").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Re.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Re.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},El={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ol={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_RESET)}},Rl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},cl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},gl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cl={init:function(){this.setColour(qr),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Sl={init:function(){this.setColour(qr),this.appendValueInput("LIST").appendField(Re.Msg.MIXLY_BACKSTAGE+Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Al={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MOTOR_DC).appendField(new Re.FieldDropdown([["1","1"],["2","2"],["3","3"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"],[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(qr),this.appendDummyInput().appendField("MixGo Car").appendField(new Re.FieldDropdown([[Re.Msg.blockpy_forward,"F"],[Re.Msg.blockpy_backward,"B"],[Re.Msg.blockpy_left,"L"],[Re.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField("MixGo Car").appendField(new Re.FieldDropdown([[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"VAR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Dl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MOTOR_DC).appendField(new Re.FieldDropdown([[Re.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Re.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MOTOR_DC).appendField(new Re.FieldDropdown([[Re.Msg.MIXLYCAR_WHEEL_LEFT,"L"],[Re.Msg.MIXLYCAR_WHEEL_RIGHT,"R"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_STOP).appendField(new Re.FieldDropdown([[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Pl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(new Re.FieldDropdown([[Re.Msg.blockpy_forward,"F"],[Re.Msg.blockpy_backward,"B"],[Re.Msg.blockpy_left,"L"],[Re.Msg.blockpy_right,"R"]]),"VAR"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Re.Msg.MIXLY_SPEED,"SPEED"],[Re.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Yl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(new Re.FieldDropdown([[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXBOT).appendField(Re.Msg.MIXLY_MOTOR).appendField(new Re.FieldDropdown([[Re.Msg.TEXT_TRIM_LEFT,"1"],[Re.Msg.TEXT_TRIM_RIGHT,"2"],[Re.Msg.TEXT_TRIM_BOTH,"0"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_BLE_POWER,"PWR"],[Re.Msg.MIXLY_SPEED,"SPEED"],[Re.Msg.MIXLY_MIXBOT_MOTOR_TURNS,"TURNS"]]),"mode"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOVE_TOOLTIP)}},Xl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_BUZZER),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"0"],[Re.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"1"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.BITBOT).appendField(new Re.FieldDropdown([[Re.Msg.blockpy_forward,"F"],[Re.Msg.blockpy_backward,"B"],[Re.Msg.blockpy_left,"L"],[Re.Msg.blockpy_right,"R"]]),"VAR"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.BITBOT).appendField(new Re.FieldDropdown([[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"VAR"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.BITBOT).appendField(Re.Msg.MIXLY_MOTOR).appendField(new Re.FieldDropdown([[Re.Msg.TEXT_TRIM_LEFT,"0"],[Re.Msg.TEXT_TRIM_RIGHT,"1"]]),"wheel"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"],[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vl={init:function(){this.setColour(qr),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_MIXBOT_SOUND_SET_LOUDNESS),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_SETONOFF)}},Bl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},Gl={init:function(){this.setColour(qr),this.appendValueInput("bright").appendField(Re.Msg.MIXLY_SETTING+Re.Msg.MIXLY_MIXBOT_BUZZER+Re.Msg.MIXLY_MP3_VOL),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_SETONOFF)}},Ul={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_MIXBOT_BUZZER+Re.Msg.MIXLY_MP3_VOL+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_LED_GETONOFF)}},wl={init:function(){this.setColour(qr),this.appendValueInput("PATH").appendField(Re.Msg.MIXLY_RECORD_AUDIO).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendValueInput("TIME").setCheck(Number).appendField(Re.Msg.MIXLY_GET_PRESSES_TIME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hl={init:function(){this.setColour(qr),this.appendValueInput("PATH").appendField(Re.Msg.MIXLY_PLAY_AUDIO).appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},kl={init:function(){this.setColour(qr),this.appendValueInput("PATH").appendField(Re.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Re.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Kl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Jl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.ME_GO_MOTOR_EXTERN).appendField(Re.Msg.PIN_NUMBERING);switch(ce.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendValueInput("duty").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.blynk_IOT_IR_POWER+Re.Msg.MIXLY_PINMODEOUT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}},Ql={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.ME_GO_MOTOR_EXTERN).appendField(Re.Msg.PIN_NUMBERING);switch(ce.Boards.getSelectedBoardKey()){case"micropython:esp32c2:mixgo_mini":this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"]]),"index");break;case"micropython:esp32c5:mixgo_sowl":this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"],["4","4"],["5","5"]]),"index");break;default:this.appendDummyInput().appendField(new Re.FieldDropdown([["1","1"],["2","2"],["3","3"],["4","4"]]),"index")}this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.blynk_IOT_IR_POWER+Re.Msg.MIXLY_PINMODEOUT+Re.Msg.MIXLY_DUTY_RATIO),this.setOutput(!0,Number),this.setInputsInline(!0)}},zl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.ME_GO_MOTOR_EXTERN).appendField(Re.Msg.MIXLY_ALL+Re.Msg.PIN_NUMBERING),this.appendValueInput("duty").setCheck(Number).setAlign(Re.ALIGN_RIGHT).appendField(Re.Msg.blynk_IOT_IR_POWER+Re.Msg.MIXLY_PINMODEOUT+Re.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},ql={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.ME_GO_MOTOR_EXTERN).appendField(new Re.FieldDropdown([["1-2","1"],["4-5","4"]]),"index"),this.appendValueInput("duty").setCheck(Number).setAlign(Re.ALIGN_RIGHT).appendField(Re.Msg.blynk_IOT_IR_POWER+Re.Msg.MIXLY_PINMODEOUT+Re.Msg.MIXLY_FREQUENCY),this.appendDummyInput().appendField("Hz"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MIXBOT_MOTOR_EXTERN_TOOLTIP)}},jl={init:function(){this.setColour(qr),this.appendDummyInput().appendField(Re.Msg.ANALOG+Re.Msg.MIXLY_KEYBOARD_INPUT),this.appendValueInput("special"),this.appendValueInput("general"),this.appendDummyInput().appendField(Re.Msg.MIXLY_RELEASE).appendField(new Re.FieldDropdown([[Re.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Re.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"release"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.ANALOG+Re.Msg.MIXLY_KEYBOARD_INPUT)}},$l={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SPECIAL_KEY).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPECIAL_KEY0,"0x00"],[Re.Msg.MIXLY_SPECIAL_KEY1,"0x01"],[Re.Msg.MIXLY_SPECIAL_KEY2,"0x02"],[Re.Msg.MIXLY_SPECIAL_KEY4,"0x04"],[Re.Msg.MIXLY_SPECIAL_KEY8,"0x08"],[Re.Msg.MIXLY_SPECIAL_KEY16,"0x10"],[Re.Msg.MIXLY_SPECIAL_KEY32,"0x20"],[Re.Msg.MIXLY_SPECIAL_KEY64,"0x40"],[Re.Msg.MIXLY_SPECIAL_KEY128,"0x80"]]),"op"),this.setOutput(!0)}},Zl={init:function(){this.setColour(qr),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GENERAL_KEY).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_SPECIAL_KEY0,"0x00"],["A","0x04"],["B","0x05"],["C","0x06"],["D","0x07"],["E","0x08"],["F","0x09"],["G","0x0A"],["H","0x0B"],["I","0x0C"],["J","0x0D"],["K","0x0E"],["L","0x0F"],["M","0x10"],["N","0x11"],["O","0x12"],["P","0x13"],["Q","0x14"],["R","0x15"],["S","0x16"],["T","0x17"],["U","0x18"],["V","0x19"],["W","0x1A"],["X","0x1B"],["Y","0x1C"],["Z","0x1D"],["1 !","0x1E"],["2 @","0x1F"],["3 #","0x20"],["4 $","0x21"],["5 %","0x22"],["6 ^","0x23"],["7 &","0x24"],["8 *","0x25"],["9 (","0x26"],["0 )","0x27"],["ENTER","0x28"],["ESC","0x29"],["BACKSPACE","0x2A"],["TAB","0x2B"],["SPACE","0x2C"],["- _","0x2D"],["= +","0x2E"],["[ {","0x2F"],["] }","0x30"],["\\ |","0x31"],["; :","0x33"],["' \"","0x34"],["` ~","0x35"],[", <","0x36"],[". >","0x37"],["/ ?","0x38"],["CAPS_LOCK","0x39"],["F1","0x3A"],["F2","0x3B"],["F3","0x3C"],["F4","0x3D"],["F5","0x3E"],["F6","0x3F"],["F7","0x40"],["F8","0x41"],["F9","0x42"],["F10","0x43"],["F11","0x44"],["F12","0x45"],["PRINTSCREEN","0x46"],["SCROLL_LOCK","0x47"],["PAUSE","0x48"],["INSERT","0x49"],["HOME","0x4A"],["PAGE_UP","0x4B"],["DELETE","0x4C"],["END","0x4D"],["PAGE_DOWN","0x4E"],["RIGHT","0x4F"],["LEFT","0x50"],["DOWN","0x51"],["UP","0x52"],["NUM_LOCK","0x53"],["/","0x54"],["*","0x55"],["-","0x56"],["+","0x57"],["ENTER","0x58"],["1","0x59"],["2","0x5A"],["3","0x5B"],["4","0x5C"],["5","0x5D"],["6","0x5E"],["7","0x5F"],["8","0x60"],["9","0x61"],["0","0x62"],[".","0x63"]]),"op"),this.setOutput(!0)}},ed={init:function(){this.setColour(qr),this.itemCount_=2,this.updateShape_(),this.setOutput(!0),this.setMutator(new Re.icons.MutatorIcon(["generalkey_create_with_item"],this)),this.setTooltip(Re.Msg.GENERALKEY_TUPLE_CREATE_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("generalkey_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;nnew Array(32).fill(0)))},jm={init:function(){this.jsonInit({colour:Gm,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Re.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Re.Msg.MIXLY_MICROBIT_Built_in_image})}},$m={init:function(){this.setColour(Gm),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Re.FieldDropdown(ce.Profile.default.builtinimg),"image"),this.setOutput(!0,["esp32_image","List"])}},Zm={init:function(){this.setColour(Gm),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Re.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Re.FieldDropdown(Zm.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Re.Msg.MIXLY_MICROBIT_image_add,"-":Re.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[Re.Msg.MICROBIT_DISPLAY_UNION,"add"],[Re.Msg.MICROBIT_DISPLAY_MINUS,"sub"]]},eE={init:function(){this.setColour(Gm),this.appendValueInput("A").setCheck("esp32_image").appendField(Re.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},tE={init:function(){this.setColour(Gm),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_LET2).appendField(new Re.FieldDropdown(tE.OPERATORS),"OP"),this.appendValueInput("val").appendField(Re.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_UNIT),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Re.Msg.DISPLAY_IMAGE_LET,n=Re.Msg.DISPLAY_IMAGE_LET2,s=Re.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Re.Msg.MIXLY_UP,shift_down:Re.Msg.MIXLY_DOWN,shift_left:Re.Msg.MIXLY_LEFT,shift_right:Re.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[Re.Msg.MIXLY_UP,"shift_up"],[Re.Msg.MIXLY_DOWN,"shift_down"],[Re.Msg.MIXLY_LEFT,"shift_left"],[Re.Msg.MIXLY_RIGHT,"shift_right"]]},iE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},nE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},sE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},_E={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},oE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Clear_display),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Clear_display)}},pE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_SHOW+Re.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<8;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},uE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(uE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(8).fill(0)))},rE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},lE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(lE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(12).fill(0)))},dE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<8;e++){let t=this.appendDummyInput();for(let i=0;i<16;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0,"esp32_image"),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},IE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(IE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:8},(()=>new Array(16).fill(0)))},TE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.OLED_SET_FONT).appendField(new Re.FieldDropdown(TE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[["4x5"+Re.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Re.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Re.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]]},ME={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.OLED_BITMAP_OR_STRING)}},hE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.OLED_BITMAP_OR_STRING)}},mE={init:function(){this.setColour(Gm),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Re.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.OLED_BITMAP_OR_STRING)}},EE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Re.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Re.Msg.TEXT_CENTER).appendField(new Re.FieldDropdown([[Re.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Re.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},OE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Re.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},RE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},gE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"state",options:[[Re.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Re.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Re.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Re.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Re.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},CE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"state",options:[[Re.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Re.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Re.Msg.mpython_vertical,"0"],[Re.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Re.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},SE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"state",options:[[Re.Msg.mpython_display_hline_1,"1"],[Re.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.mpython_display_line_TOOLTIP,message0:Re.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},AE={init:function(){this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Re.FieldDropdown(AE.IMAGES),"path"),this.setColour(Gm),this.setOutput(!0)},IMAGES:[["Heart","expression_picture.Heart"],["Angry","expression_picture.Angry"],["Bored","expression_picture.Bored"],["Confused","expression_picture.Confused"],["Happy","expression_picture.Happy"],["Paper","expression_picture.Paper"],["Rock","expression_picture.Rock"],["Sad","expression_picture.Sad"],["Scissors","expression_picture.Scissors"],["Silly","expression_picture.Silly"],["Sleep","expression_picture.Sleep"],["Small_heart","expression_picture.Small_heart"],["Small_paper","expression_picture.Small_paper"],["Small_rock","expression_picture.Small_rock"],["Small_scissors","expression_picture.Small_scissors"],["Smile","expression_picture.Smile"],["Surprise","expression_picture.Surprise"],["Wonderful","expression_picture.Wonderful"],["Eyes_Angry","eye_picture.Eyes_Angry"],["Awake","eye_picture.Awake"],["Black_eye","eye_picture.Black_eye"],["Bottom_left","eye_picture.Bottom_left"],["Bottom_right","eye_picture.Bottom_right"],["Crazy_1","eye_picture.Crazy_1"],["Crazy_2","eye_picture.Crazy_2"],["Disappointed","eye_picture.Disappointed"],["Dizzy","eye_picture.Dizzy"],["Down","eye_picture.Down"],["Evil","eye_picture.Evil"],["Hurt","eye_picture.Hurt"],["Knocked_out","eye_picture.Knocked_out"],["Love","eye_picture.Love"],["Middle_left","eye_picture.Middle_left"],["Middle_right","eye_picture.Middle_right"],["Neutral","eye_picture.Neutral"],["Nuclear","eye_picture.Nuclear"],["Pinch_left","eye_picture.Pinch_left"],["Pinch_middle","eye_picture.Pinch_middle"],["Pinch_right","eye_picture.Pinch_right"],["Tear","eye_picture.Tear"],["Tired_left","eye_picture.Tired_left"],["Tired_middle","eye_picture.Tired_middle"],["Tired_right","eye_picture.Tired_right"],["Toxic","eye_picture.Toxic"],["Up","eye_picture.Up"],["Winking","eye_picture.Winking"],["Accept","informatio_picture.Accept"],["Backward","informatio_picture.Backward"],["Decline","informatio_picture.Decline"],["Forward","informatio_picture.Forward"],["Left","informatio_picture.Left"],["No_go","informatio_picture.No_go"],["Question_mark","informatio_picture.Question_mark"],["Right","informatio_picture.Right"],["Stop_1","informatio_picture.Stop_1"],["Stop_2","informatio_picture.Stop_2"],["Thumbs_down","informatio_picture.Thumbs_down"],["Thumbs_up","informatio_picture.Thumbs_up"],["Warning","informatio_picture.Warning"],["Bomb","object_picture.Bomb"],["Boom","object_picture.Boom"],["Fire","object_picture.Fire"],["Flowers","object_picture.Flowers"],["Forest","object_picture.Forest"],["Lightning","object_picture.Lightning"],["Light_off","object_picture.Light_off"],["Light_on","object_picture.Light_on"],["Night","object_picture.Night"],["Pirate","object_picture.Pirate"],["Snow","object_picture.Snow"],["Target","object_picture.Target"],["Bar_0","progres_picture.Bar_0"],["Bar_1","progres_picture.Bar_1"],["Bar_2","progres_picture.Bar_2"],["Bar_3","progres_picture.Bar_3"],["Bar_4","progres_picture.Bar_4"],["Dial_0","progres_picture.Dial_0"],["Dial_1","progres_picture.Dial_1"],["Dial_2","progres_picture.Dial_2"],["Dial_3","progres_picture.Dial_3"],["Dial_4","progres_picture.Dial_4"],["Dots_0","progres_picture.Dots_0"],["Dots_1","progres_picture.Dots_1"],["Dots_2","progres_picture.Dots_2"],["Dots_3","progres_picture.Dots_3"],["Hourglass_0","progres_picture.Hourglass_0"],["Hourglass_1","progres_picture.Hourglass_1"],["Hourglass_2","progres_picture.Hourglass_2"],["Timer_0","progres_picture.Timer_0"],["Timer_1","progres_picture.Timer_1"],["Timer_2","progres_picture.Timer_2"],["Timer_3","progres_picture.Timer_3"],["Timer_4","progres_picture.Timer_4"],["Water_level_0","progres_picture.Water_level_0"],["Water_level_1","progres_picture.Water_level_1"],["Water_level_2","progres_picture.Water_level_2"],["Water_level_3","progres_picture.Water_level_3"],["YES","informatio_picture.YES"],["NO","informatio_picture.NO"]]},LE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<5;e++){let t=this.appendDummyInput();for(let i=0;i<5;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},NE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(NE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:5},(()=>new Array(5).fill(0)))},DE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},fE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},FE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},PE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Re.FieldDropdown(PE.OPERATORS),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)},OPERATORS:[[Re.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Re.Msg.CLOCKWISE+"90"+Re.Msg.blockpy_setheading_degree,"1"],[Re.Msg.CLOCKWISE+"180"+Re.Msg.blockpy_setheading_degree,"2"],[Re.Msg.CLOCKWISE+"270"+Re.Msg.blockpy_setheading_degree,"3"]]},YE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let e=0;e<12;e++){let t=this.appendDummyInput();for(let i=0;i<12;i++)t.appendField(new Re.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),e+"-"+i)}this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},vE={init:function(){this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE),this.appendDummyInput("").setAlign(Re.inputs.Align.CENTRE).appendField(new Re.FieldBitmap(vE.BITMAP,null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0),this.setColour(Gm),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Create_image1)},BITMAP:Array.from({length:12},(()=>new Array(12).fill(0)))},XE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.OLED_BITMAP).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("direct").setCheck(String).appendField(Re.Msg.MIXLY_AipImageClassify_Image+Re.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Re.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Re.Msg.TEXT_CENTER).appendField(new Re.FieldDropdown([[Re.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Re.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},xE={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"shape",options:[[Re.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Re.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Re.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},BE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"dir_h_v",options:[[Re.Msg.mpython_vertical,"0"],[Re.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Re.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},GE={init:function(){this.jsonInit({colour:Gm,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,tooltip:Re.Msg.mpython_display_line_TOOLTIP,message0:Re.Msg.onboard_mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},UE={init:function(){this.setColour(Gm),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Re.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},wE={init:function(){this.setColour(Gm),this.appendValueInput("x").setCheck(Number).appendField(Re.Msg.MIXLY_LCD_SETCOLOR).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},HE={init:function(){this.setColour(Gm),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_SCREEN_FILL),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kE={init:function(){this.setColour(Gm),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Re.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},WE={init:function(){this.setColour(Gm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},KE={init:function(){this.setColour(Gm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Re.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Re.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Re.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JE={init:function(){this.setColour(Gm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},QE={init:function(){this.setColour(Gm),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Re.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zE={init:function(){this.jsonInit({colour:Gm,args0:[{name:"shape",options:[[Re.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Re.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"},{name:"boolean",type:"input_value"}],inputsInline:!0,helpUrl:Re.Msg.mpython_HELPURL,message0:Re.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},qE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.DRAW_POINTER).appendField(Re.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Re.Msg.MIXLY_DRAW_POINTER_DU),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.DRAW_POINTER_TOOLTIP)}},jE={init:function(){this.setColour(Gm),this.appendDummyInput().appendField(Re.Msg.DRAW_POINTER).appendField(Re.Msg.DRAW_POINTER_ANGLE),this.appendValueInput("angle"),this.appendDummyInput().appendField(Re.Msg.MIXLY_DRAW_POINTER_DU),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.DRAW_POINTER_TOOLTIP)}},$E={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.MIXLY_Display_long_text),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ZE={init:function(){this.setColour(Gm),this.appendValueInput("direct").appendField(Re.Msg.OLED_BITMAP).appendField(Re.Msg.MIXLY_QR_CODE),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},eO={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP).appendField(Re.Msg.MIXLY_QR_CODE),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ERROR_RATE).appendField(new Re.FieldDropdown([["0","7%"],["1","15%"],["2","25%"],["3","30"]]),"correct"),this.appendValueInput("VAR").appendField(Re.Msg.HTML_COLOUR),["Python ESP32-S3","Python ESP32-C5"].includes(ce.JSFuncs.getPlatform())&&this.appendValueInput("boolean").appendField(Re.Msg.MIXLY_synchronize),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tO={init:function(){this.setColour(Gm),this.appendValueInput("data").appendField(Re.Msg.OLED_BITMAP),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.OLED_BITMAP_OR_STRING),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},iO={init:function(){Hm.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},nO={init:function(){Jm.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},sO={init:function(){tE.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},_O={init:function(){sE.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},oO={init:function(){_E.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},pO={init:function(){oE.init.call(this),this.appendDummyInput().appendField(`(${Re.Msg.MIXLY_DEPRECATED})`),this.setWarningText(Re.Msg.MIXLY_DEPRECATED_WARNING_TEXT)}},aO=180,uO={init:function(){this.setColour(aO),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Re.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_LET2).appendField(new Re.FieldDropdown(uO.OPERATORS),"OP"),this.appendValueInput("val").appendField(Re.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Re.Msg.DISPLAY_IMAGE_LET,n=Re.Msg.DISPLAY_IMAGE_LET2,s=Re.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Re.Msg.MIXLY_UP,down:Re.Msg.MIXLY_DOWN,left:Re.Msg.MIXLY_LEFT,right:Re.Msg.MIXLY_RIGHT}[t]+s}))},OPERATORS:[[Re.Msg.MIXLY_UP,"up"],[Re.Msg.MIXLY_DOWN,"down"],[Re.Msg.MIXLY_LEFT,"left"],[Re.Msg.MIXLY_RIGHT,"right"]]},rO={init:function(){this.setColour(aO),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Re.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Re.FieldDropdown(rO.OPERATORS),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Re.Msg.MIXLY_MICROBIT_image_add,"-":Re.Msg.MIXLY_MICROBIT_image_reduce}[t]}))},OPERATORS:[[Re.Msg.MICROBIT_DISPLAY_UNION,"+"],[Re.Msg.MICROBIT_DISPLAY_MINUS,"-"]]},lO={init:function(){this.setColour(aO),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Re.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Re.FieldDropdown(lO.OPERATORS),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Re.Msg.MIXLY_MICROBIT_IMAGE+{height:Re.Msg.MIXLY_HEIGHT,width:Re.Msg.MIXLY_WIDTH}[t]}))},OPERATORS:[[Re.Msg.MIXLY_HEIGHT,"height"],[Re.Msg.MIXLY_WIDTH,"width"]]},dO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField(Re.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RECT).appendField(new Re.FieldDropdown(dO.STATUS),"OP"),this.jsonInit({message0:Re.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_OLED_RECT)},STATUS:[[Re.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Re.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},IO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField(Re.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Re.FieldDropdown(IO.STATUS),"OP"),this.jsonInit({message0:Re.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)},STATUS:[[Re.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Re.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},TO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField(Re.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_DISPLAY_DRAW+Re.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Re.FieldDropdown(TO.STATUS),"OP"),this.jsonInit({message0:Re.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Re.Msg.MIXLY_DISPLAY_DRAW+Re.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)},STATUS:[[Re.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Re.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]]},MO="#777777",hO={init:function(){this.setColour(MO),this.appendDummyInput("").appendField("from ").appendField(new Re.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Re.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mO={init:function(){this.setColour(MO),this.appendDummyInput("").appendField("import ").appendField(new Re.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},EO={init:function(){this.setColour(MO),this.appendDummyInput("").appendField(new Re.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Re.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},_R={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},oR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},aR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Re.Msg.MIXLY_WIFI_USERNAME).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Re.Msg.MIXLY_IOT_PASSWORD).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_PROJECT).setAlign(Re.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Re.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},rR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Re.Msg.HTML_BODY),this.appendDummyInput().appendField(Re.Msg.MIXLY_Service_quality_display).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_AT_MOST_ONCE,"0"],[Re.Msg.MIXLY_AT_LEAST_ONCE,"1"]]),"quality"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},lR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_SUBSCRIBE+Re.Msg.MIXLY_MICROBIT_MSG).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Re.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},dR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Re.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Re.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},hR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},mR={init:function(){this.setColour($O),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},ER={init:function(){this.setColour($O),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},OR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Re.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},RR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO").appendField(Re.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Re.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},cR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+Re.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Re.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Re.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},CR={init:function(){this.VISITOR_ID=ce.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour($O),this.appendDummyInput("").appendField(new Re.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},SR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MixIO").appendField(Re.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},AR={init:function(){this.setColour($O),this.appendDummyInput().appendField("HTTP"+Re.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Re.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Re.Msg.MIXLY_REQUESTS_GET).appendField(Re.Msg.MIXLY_GET_CURRENT_TIME).appendField(Re.Msg.MIXLY_OPEN_DEBUG).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},LR={init:function(){this.setColour($O),this.appendDummyInput().appendField("HTTP"+Re.Msg.MIXLY_Client).appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Re.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Re.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},NR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MQTT"+Re.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Re.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Re.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Re.Msg.MQTT_Topic).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Re.Msg.MIXLY_OPEN_DEBUG).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Re.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DR={init:function(){this.setColour($O),this.appendDummyInput().appendField("MQTT"+Re.Msg.MIXLY_Client).appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Re.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Re.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},fR=ZO,FR=eR,PR=tR,YR=iR,vR=sR,XR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CONNECT_OLLAMA),this.appendValueInput("SERVER").appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Re.Msg.MODEL_NAME).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Re.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yR=XR,bR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_CONNECT_OPENAI),this.appendValueInput("SERVER").appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Re.Msg.MIXLY_API_PRIVATE_KEY).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("NAME").appendField(Re.Msg.MODEL_NAME).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("NUMBER").appendField(Re.Msg.MIXLY_SET_MAXIMUM_HISTORICAL_SESSIONS_NUM),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendValueInput("METHOD").appendField(Re.Msg.MIXLY_LLM_CONTENT_CALLBACK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VR={init:function(){this.setColour($O),this.appendDummyInput().appendField(Re.Msg.MIXLY_LLM_CHAT),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.appendDummyInput().appendField(Re.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0)}},BR={init:function(){this.setColour($O),this.appendDummyInput().appendField("Ollama "+Re.Msg.MIXLY_EMPTY_HISTORY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Re.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("ADDR").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_EMQX_SERVER),this.appendValueInput("USERNAME").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_EMQX_USERNAME),this.appendValueInput("PASSWORD").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_IOT_PASSWORD),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UR={init:function(){this.setColour(0),this.appendDummyInput().appendField(`${Re.Msg.MIXLY_SETUP} TinyWebDB`),this.appendValueInput("MQTT").setAlign(Re.inputs.Align.RIGHT).appendField(`MixIO ${Re.Msg.MIXLY_Client}`),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_TINY_WEB_DB_UPDATE_VARIABLE),this.appendValueInput("VALUE").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLE),this.appendDummyInput().appendField(Re.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setOutput(!0)}},kR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendDummyInput().appendField(Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_NUM),this.setInputsInline(!0),this.setOutput(!0)}},WR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB").appendField(Re.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARIABLES),this.appendValueInput("NO").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_TINY_WEB_DB_START_NUMBER),this.appendValueInput("COUNT").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_TINY_WEB_DB_VARIABLE_NUMBER),this.appendValueInput("TAG").setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_TINY_WEB_DB_SEARCH_VARS),this.appendDummyInput().setAlign(Re.inputs.Align.RIGHT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_ALL,"both"],[Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_TAG,"tag"],[Re.Msg.MIXLY_TINY_WEB_DB_GET_VARIABLES_VALUE,"value"]]),"DTYPE"),this.setInputsInline(!1),this.setOutput(!0)}},KR={init:function(){this.setColour(0),this.appendDummyInput().appendField("TinyWebDB"),this.appendValueInput("TAG").appendField(Re.Msg.MIXLY_TINY_WEB_DB_DELETE_VARIABLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JR=225,QR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_INIT),this.appendDummyInput().appendField(Re.Msg.MIXLY_NETWORK_MODE).appendField(new Re.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_INIT_TOOLTIP)}},zR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_NETWORK_WIFI_OPEN,"True"],[Re.Msg.MIXLY_NETWORK_WIFI_CLOSE,"False"]]),"op"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_WIFI_FLAG),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("op"),i=Re.Msg.MIXLY_ESP32_NETWORK_OPEN_TOOLTIP;return{True:Re.Msg.MIXLY_NETWORK_WIFI_OPEN,False:Re.Msg.MIXLY_NETWORK_WIFI_CLOSE}[t]+i}))}},qR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_NETWORK_WIFI_IS_ACTIVE)}},jR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_WIFI_SCAN),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip((function(){return Re.Msg.MIXLY_ESP32_NETWORK_SCAN_TOOLTIP+{0:"ssid",1:"bssid",2:"channel",3:"RSSI",4:"authmode",5:"hidden",all:Re.Msg.MIXLY_NETWORK_WIFI_SCAN_ATTRIBUTE}.all}))}},$R={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Re.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Re.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},ZR={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_NETWORK_WIFI_CONNECT+Re.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},ec={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_NETWORK_IP,"0"],[Re.Msg.MIXLY_ESP32_NETWORK_MASK,"1"],[Re.Msg.MIXLY_ESP32_NETWORK_GATEWAY,"2"],["DNS","3"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return Re.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP+{0:Re.Msg.MIXLY_ESP32_NETWORK_IP,1:Re.Msg.MIXLY_ESP32_NETWORK_MASK,2:Re.Msg.MIXLY_ESP32_NETWORK_GATEWAY,3:"DNS"}[t]}))}},tc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_STOP_CONNECT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_STOP_TOOLTIP)}},ic={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_GET_WIFI),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_NETWORK_WIFI_ESSID,"essid"],[Re.Msg.MIXLY_NETWORK_WIFI_CHANNEL,"channel"]]),"op"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_GET_WIFI_TOOLTIP)}},nc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.MIXLY_HOTSPOT),this.appendValueInput("essid").setCheck(String).appendField(Re.Msg.MIXLY_NAME),this.appendValueInput("password").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_PASSWORD),this.appendValueInput("channel").setCheck(Number).appendField(Re.Msg.MIXLY_NETWORK_WIFI_CHANNEL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_AP_CONNECT_TOOLTIP)}},sc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_SERVER1),this.appendDummyInput("").appendField(Re.Msg.MIXLY_ESP32_NETWORK_SERVER2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},_c={init:function(){this.setColour(JR),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_INIT).setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Re.FieldDropdown([["TCP","TCP"],["UDP","UDP"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("mode");return Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_INIT_TOOLTIP+{TCP:"TCP",UDP:"UDP"}[t]}))}},oc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_BIND_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_BIND_TOOLTIP)}},pc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_LET_SOCKET),this.appendValueInput("address").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_CONNECT_TO_ADDRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_CONNECT_TOOLTIP)}},ac={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("queue").setCheck(Number).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_LISTEN).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_QUEUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_LISTEN_TOOLTIP)}},uc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_ACCEPT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_ACCEPT_TOOLTIP)}},rc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROPYTHON_SOCKET_READLINE_TOOLTIP)}},lc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_TOOLTIP)}},dc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField("TCP"),this.appendValueInput("content").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TOOLTIP)}},Ic={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("size").setCheck(Number).appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_RECEIVE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_RECEIVE_FROM_TOOLTIP)}},Tc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var").appendField("UDP"),this.appendValueInput("content").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("address").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_TO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_SEND_TO_TOOLTIP)}},Mc={init:function(){this.setColour(JR),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},hc={init:function(){this.setColour(JR),this.appendValueInput("DOMAIN").appendField(Re.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Re.Msg.blockpy_REQUESTS_GET).appendField(new Re.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){Re.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},mc={init:function(){this.appendValueInput("VAL"),this.setColour(JR),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Re.FieldDropdown(mc.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{clear:Re.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:Re.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:Re.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[t]}))},ATTR:[[Re.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"]]},Ec={init:function(){this.appendValueInput("VAR").appendField(Re.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.setColour(JR),this.appendDummyInput("").appendField(Re.Msg.blockpy_CONDUCT).appendField(new Re.FieldDropdown(Ec.METHOD),"DIR"),this.appendDummyInput("").appendField(Re.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:Re.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:Re.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))},METHOD:[["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]},Oc={init:function(){this.setColour(JR),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GET_NTP+"(NTP)"),this.appendValueInput("data").appendField(Re.Msg.blynk_SERVER_ADD),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Rc={init:function(){this.setColour(JR),this.appendDummyInput("").appendField(new Re.FieldDropdown([["ntp.aliyun.com","ntp.aliyun.com"],["ntp1.aliyun.com","ntp1.aliyun.com"],["ntp2.aliyun.com","ntp2.aliyun.com"],["ntp3.aliyun.com","ntp3.aliyun.com"],["ntp4.aliyun.com","ntp4.aliyun.com"],["ntp5.aliyun.com","ntp5.aliyun.com"],["ntp6.aliyun.com","ntp6.aliyun.com"],["ntp7.aliyun.com","ntp7.aliyun.com"],["time1.cloud.tencent.com","time1.cloud.tencent.com"],["time2.cloud.tencent.com","time2.cloud.tencent.com"],["time3.cloud.tencent.com","time3.cloud.tencent.com"],["time4.cloud.tencent.com","time4.cloud.tencent.com"],["time5.cloud.tencent.com","time5.cloud.tencent.com"]]),"op"),this.setOutput(!0)}},cc="#3288dd",gc={init:function(){this.setColour(cc),this.appendValueInput("URL").appendField(Re.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Re.Msg.blockpy_CONDUCT).appendField(new Re.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(Re.Msg.blockpy_REQUESTS).appendField(Re.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Cc={init:function(){this.setColour(cc),this.appendValueInput("URL").appendField(Re.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(Re.Msg.blockpy_CONDUCT).appendField(new Re.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(Re.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(Re.Msg.blockpy_REQUESTS+Re.Msg.OLED_STRING),this.appendDummyInput("").appendField(Re.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Sc={init:function(){this.appendValueInput("VAL"),this.setColour(cc),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Re.FieldDropdown(Sc.ATTR),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)},ATTR:[[Re.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_JSON,"json()"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[Re.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[Re.Msg.MIXPY_TEXT_ENCODE,"encoding"]]},Ac={init:function(){this.setColour(cc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Re.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Re.Msg.HTML_PASSWORD),this.appendValueInput("TIMEOUT").setCheck(Number).appendField(Re.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Re.Msg.MIXLY_MILLIS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Lc={init:function(){this.setColour(cc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_IOT_EMQX_CONNECT_TOOLTIP),this.appendValueInput("SERVER").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_SERVER).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("PORT").setCheck(Number).appendField(Re.Msg.MIXLY_EMQX_PORT).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("CLIENT_ID").setCheck(String).appendField(Re.Msg.MIXLY_EMQX_CLIENT_ID).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Re.Msg.MIXLY_WIFI_USERNAME).setAlign(Re.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Re.Msg.MIXLY_IOT_PASSWORD).setAlign(Re.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nc={init:function(){this.setColour(cc),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_SUBSCRIBE+Re.Msg.MIXLY_MICROBIT_MSG).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MESSAGE").appendField(Re.Msg.blockpy_set_of),this.setInputsInline(!0),this.setOutput(!0)}},Dc={init:function(){this.setColour(cc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_SUBSCRIBE+Re.Msg.MIXLY_MICROBIT_MSG).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Re.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fc={init:function(){this.setColour(cc),this.appendDummyInput().appendField("mqtt"),this.appendValueInput("TOPIC").appendField(Re.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Re.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Re.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fc={init:function(){this.setColour(cc),this.appendDummyInput().appendField("mqtt"+Re.Msg.MIXLY_EMQX_IS_CONNECT),this.setInputsInline(!0),this.setOutput(!0)}},Pc=100,Yc={init:function(){if("mixgo_nova"==ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Pc),this.appendDummyInput().appendField(e).appendField(Re.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},vc={init:function(){if("mixgo_nova"==ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Pc),this.appendValueInput("PIN").appendField(e).appendField(Re.Msg.MOTOR_DC).appendField(Re.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"],[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xc={init:function(){if("mixgo_nova"==ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Pc),this.appendValueInput("PIN").appendField(e).appendField(Re.Msg.SET_USB),this.appendValueInput("percent").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_POWER_SUPPLY),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yc={init:function(){if("mixgo_nova"==ce.Boards.getSelectedBoardKey().split(":")[2])var e="Nova G1";this.setColour(Pc),this.appendDummyInput().appendField(e).appendField(Re.Msg.MIXLY_SPK_STATE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ON,"True"],[Re.Msg.MIXLY_OFF,"False"]]),"state"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bc=100,xc={init:function(){this.setColour(bc),this.appendValueInput("I2CSUB").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField("PE GX"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Vc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Re.Msg.MOTOR_DC).appendField(Re.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Direction).appendField(new Re.FieldDropdown([[Re.Msg.CLOCKWISE,"CW"],[Re.Msg.ANTI_CLOCKWISE,"CCW"],[Re.Msg.MOTOR_P,"P"],[Re.Msg.MOTOR_N,"N"]]),"direction"),this.appendValueInput("speed").setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_STEPPER_SET_SPEED),this.appendDummyInput("").appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField(Re.Msg.MOTOR_DC).appendField(Re.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Re.Msg.MIXLY_STEPPER_GET_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Uc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_MOVE)}},wc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.LCD_NUMBERING),this.appendValueInput("NUM",Number).setCheck(Number).setAlign(Re.inputs.Align.RIGHT).appendField(Re.Msg.MIXLY_SPEED),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SERVO_SPEED_TOOLIPS)}},Hc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("180°"+Re.Msg.MIXLY_SERVO),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},kc={init:function(){this.setColour(bc),this.appendValueInput("SUB").appendField("PE GX").setCheck("var"),this.appendValueInput("PIN").appendField("360°"+Re.Msg.MIXLY_SERVO).appendField(Re.Msg.LCD_NUMBERING),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET+Re.Msg.MIXLY_SPEED),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wc="#A58C5B",Kc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_BUTTON).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_IS_PRESSED),this.appendValueInput("STAT").appendField(Re.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SENOR_IS_PRESSED)}},Jc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_BUTTON).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_WAS_PRESSED),this.appendValueInput("STAT").appendField(Re.Msg.MIXLY_ELECLEVEL),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_SENOR_WAS_PRESSED)}},Qc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_BUTTON).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_PRESSES),this.appendValueInput("VAR").setCheck(Number).appendField(Re.Msg.MIXLY_GET_PRESSES_TIME),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.PROCEDURES_DEFRETURN_RETURN+Re.Msg.MIXLY_BUTTON+Re.Msg.MIXLY_GET_PRESSES)}},zc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_BUTTON).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MODE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RISING,"machine.Pin.IRQ_RISING"],[Re.Msg.MIXLY_FALLING,"machine.Pin.IRQ_FALLING"],[Re.Msg.MIXLY_CHANGE,"(machine.Pin.IRQ_RISING | machine.Pin.IRQ_FALLING)"]]),"mode"),this.appendValueInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},qc={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_shake,"shake"],[Re.Msg.MIXLY_UP,"up"],[Re.Msg.MIXLY_DOWN,"down"],[Re.Msg.MIXLY_LEFT,"left"],[Re.Msg.MIXLY_RIGHT,"right"],[Re.Msg.MIXLY_MICROBIT_face_up,"face up"],[Re.Msg.MIXLY_MICROBIT_face_down,"face down"],[Re.Msg.MIXLY_MICROBIT_freefall,"freefall"],["3g","3g"],["6g","6g"],["8g","8g"]]),"gesture"),this.appendStatementInput("DO").appendField(Re.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=Re.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Re.Msg.MSG.catSensor,s=Re.Msg.MIXLY_MICROBIT_JS_STATE,_=Re.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Re.Msg.MIXLY_MICROBIT_shake,up:Re.Msg.MIXLY_UP,down:Re.Msg.MIXLY_DOWN,left:Re.Msg.MIXLY_LEFT,right:Re.Msg.MIXLY_RIGHT,"face up":Re.Msg.MIXLY_MICROBIT_face_up,"face down":Re.Msg.MIXLY_MICROBIT_face_down,freefall:Re.Msg.MIXLY_MICROBIT_freefall,"3g":"3g","6g":"6g","8g":"8g"}[t]+_}))}},jc={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_ADXL345).setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Re.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Re.Msg.MIXLY_MICROBIT_Direction,s=Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Re.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},$c={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_LIGHT_LEVEL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_ESP32_SENSOR_LIGHT_LEVEL_TOOLTIP)}},Zc={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField(new Re.FieldDropdown([["DHT11","DHT11"],["DHT22","DHT22"]]),"TYPE").appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(new Re.FieldDropdown(Zc.METHOD),"WHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHAT");return{temperature:Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM,relative_humidity:Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_HUM,tempandhum:Re.Msg.MIXLY_TOOLTIP_BLOCKGROUP_GET_TEM_HUM}[t]}))},METHOD:[[Re.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Re.Msg.MIXLY_GETHUMIDITY,"humidity"]]},eg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_LIGHT),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},tg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_SOUND),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},ig={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Re.FieldDropdown([[Re.Msg.TEXT_TRIM_LEFT,"left"],[Re.Msg.TEXT_TRIM_RIGHT,"right"]]),"direction").appendField(Re.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("direction"),i=Re.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,n=Re.Msg.MIXLY_ESP32_NEAR;return i+{left:Re.Msg.TEXT_TRIM_LEFT,right:Re.Msg.TEXT_TRIM_RIGHT}[t]+n}))}},ng={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_ALTITUDE_SENSOR+" BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Re.Msg.MIXLY_GETPRESSURE,"get_BMP_pressure()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_BMP_temperature()":Re.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Re.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[t]}))}},sg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+" SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Re.Msg.MIXLY_GETHUMIDITY,"get_SHT_relative_humidity()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{"get_SHT_temperature()":Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},_g={init:function(){this.setColour(Wc),this.appendValueInput("PIN",Number).appendField("DS18X20 "+Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_MICROBIT_SENSOR_DS18X20_TOOLTIP)}},og={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField("LM35"+Re.Msg.MIXLY_TEMP),this.appendValueInput("PIN",Number).appendField(Re.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GETTEMPERATUE),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Re.Msg.MIXLY_TOOLTIP_LM35)}},pg={init:function(){this.setColour(Wc),this.appendValueInput("I2CSUB").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_EXTERN_LIGHT+"(LTR308ALS)","LTR308"],[Re.Msg.MIXLY_COLOR_SENSOR+"(LTR381RGB)","LTR381RGB"],[Re.Msg.MIXLY_COLOR_SENSOR+"(UCS12071)","UCS12071"],[Re.Msg.MIXLY_EXTERN_LIGHTUV+"(LTR390UV)","LTR390UV"],[Re.Msg.MIXLY_ALTITUDE_SENSOR+"(HP203X)","HP203X"],[Re.Msg.MIXLY_ALTITUDE_SENSOR+"(SPL06_001)","SPL06_001"],[Re.Msg.MIXLY_ALTITUDE_SENSOR+"(MS5611)","MS5611"],[Re.Msg.MIXLY_ALTITUDE_SENSOR+"(BMP280)","BMP280"],[Re.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHTC3)","SHTC3"],[Re.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(AHT21)","AHT21"],[Re.Msg.MIXLY_TEMP_AND_HUMIDITY_SENSOR+"(SHT20)","SHT20"],[Re.Msg.MIXLY_LASER_RANGE_SENSOR+"(VL53L0X)","VL53L0X"],[Re.Msg.MIXLY_GEOMAGNETIC_SENSOR+"(QMC5883L)","QMC5883L"],[Re.Msg.MIXLY_ESP32_MAX30102+"(MAX30102)","MAX30102"],[Re.Msg.HTML_COLOUR+"、"+Re.Msg.MIXLY_ENVIRONMENT_LIGHT+"、"+Re.Msg.MIXLY_NEXT+"、"+Re.Msg.MIXLY_ESP32_APDS9960+"(APDS9960)","APDS9960"],[Re.Msg.MIXLY_NINE_AXIS_SENSOR+"(MPU9250)","MPU9250"],[Re.Msg.MixGo_MPU9250+"(ADXL345)","ADXL345"],["RFID","RFID"],[Re.Msg.MIXLY_RADAR_SENSOR+"(CBR817)","CBR817"],[Re.Msg.MIXLY_AipSpeech_asr+"(CI130X)","CI130X"],[Re.Msg.MIXLY_TVOC_CO2_SENSOR+"(AGS10)","AGS10"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ag={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Re.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Re.Msg.MIXLY_DELAY_TIME_RANGE)}},ug={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RADAR).appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.MIXlY_INTERACTION),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_DETECTION_THRESHOLD),this.appendValueInput("VAR2").appendField(Re.Msg.MIXLY_DELAY_TIME),this.appendDummyInput().appendField("ms"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_THRESHOLD_TOOLTIP+" ; "+Re.Msg.MIXLY_DELAY_TIME_RANGE)}},rg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_RADAR+"CBR817").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},lg={init:function(){this.setColour(Wc),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RADAR).appendField(Re.Msg.MIXLY_GET_TO_INTERACTION),this.setOutput(!0),this.setInputsInline(!0)}},dg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ig={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_HELLO_XIAOZHI,"1"],[Re.Msg.MIXLY_XIAOZHIXIAOZHI,"2"],[Re.Msg.MIXLY_THE_FIRST,"3"],[Re.Msg.MIXLY_THE_SECOND,"4"],[Re.Msg.MIXLY_THE_THIRD,"5"],[Re.Msg.MIXLY_THE_FOURTH,"6"],[Re.Msg.MIXLY_THE_FIFTH,"7"],[Re.Msg.MIXLY_THE_SIXTH,"8"],[Re.Msg.MIXLY_THE_SEVENTH,"9"],[Re.Msg.MIXLY_THE_EIGHTH,"10"],[Re.Msg.MIXLY_THE_NINTH,"11"],[Re.Msg.MIXLY_THE_TENTH,"12"],[Re.Msg.MIXLY_THE_ELEVENTH,"13"],[Re.Msg.MIXLY_THE_TWELFTH,"14"],[Re.Msg.MIXLY_THE_13TH,"15"],[Re.Msg.MIXLY_THE_14TH,"16"],[Re.Msg.MIXLY_THE_15TH,"17"],[Re.Msg.MIXLY_THE_16TH,"18"],[Re.Msg.MIXLY_THE_17TH,"19"],[Re.Msg.MIXLY_THE_18TH,"20"],[Re.Msg.MIXLY_THE_19TH,"21"],[Re.Msg.MIXLY_THE_20TH,"22"],[Re.Msg.MIXLY_Turn_on_the_lights,"23"],[Re.Msg.MIXLY_Turn_off_the_lights,"24"],[Re.Msg.MIXLY_Turn_up_the_brightness,"25"],[Re.Msg.MIXLY_Turn_down_the_brightness,"26"],[Re.Msg.MIXLY_Set_it_to_red,"27"],[Re.Msg.MIXLY_Set_it_to_orange,"28"],[Re.Msg.MIXLY_Set_it_to_yellow,"29"],[Re.Msg.MIXLY_Set_it_to_green,"30"],[Re.Msg.MIXLY_Set_it_to_cyan,"31"],[Re.Msg.MIXLY_Set_it_to_blue,"32"],[Re.Msg.MIXLY_Set_it_to_purple,"33"],[Re.Msg.MIXLY_Set_it_to_white,"34"],[Re.Msg.MIXLY_Turn_on_the_fan,"35"],[Re.Msg.MIXLY_Turn_off_the_fan,"36"],[Re.Msg.MIXLY_First_gear,"37"],[Re.Msg.MIXLY_Wind_speed_second,"38"],[Re.Msg.MIXLY_Third_gear,"39"],[Re.Msg.MIXLY_Previous,"40"],[Re.Msg.MIXLY_Next_page,"41"],[Re.Msg.MIXLY_Show_smiley_face,"42"],[Re.Msg.MIXLY_Show_crying_face,"43"],[Re.Msg.MIXLY_Show_love,"44"],[Re.Msg.MIXLY_Close_display,"45"],[Re.Msg.MIXLY_Start_execution,"46"],[Re.Msg.MIXLY_FORWARD,"47"],[Re.Msg.MIXLY_BACKWARD,"48"],[Re.Msg.MIXLY_TURNLEFT,"49"],[Re.Msg.MIXLY_TURNRIGHT,"50"],[Re.Msg.MIXLY_STOP,"51"],[Re.Msg.MIXLY_Accelerate,"52"],[Re.Msg.MIXLY_retard,"53"],[Re.Msg.ROTATION_FORWARD,"54"],[Re.Msg.ROTATION_BACKWARD,"55"],[Re.Msg.MIXLY_Query_temperature,"56"],[Re.Msg.MIXLY_Query_humidity,"57"],[Re.Msg.MIXLY_Query_brightness,"58"],[Re.Msg.MIXLY_Query_sound,"59"],[Re.Msg.MIXLY_Query_time,"60"],[Re.Msg.MIXLY_Query_distance,"61"],[Re.Msg.MIXLY_Query_pressure,"62"],[Re.Msg.MIXLY_Query_key,"63"],[Re.Msg.MIXLY_Query_touch,"64"],[Re.Msg.MIXLY_Query_color,"65"]]),"cmd").appendField(Re.Msg.MIXLY_WHETHER+Re.Msg.MIXLY_BE_IDENTIFIED),this.setOutput(!0),this.setInputsInline(!0)}},Tg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RECOGNIZED_STATE,"status1"],[Re.Msg.MIXLY_WHETHER_BROADCAST,"status2"],[Re.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP)}},Mg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MP3_PLAY).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Re.Msg.MIXLY_WIND_SPEED,"154"],[Re.Msg.MIXLY_HYETAL,"155"],[Re.Msg.MIXLY_TEMPERATURE,"156"],[Re.Msg.MIXLY_Humidity,"157"],[Re.Msg.MIXLY_Altitude,"158"],[Re.Msg.MIXLY_SOUND,"159"],[Re.Msg.MIXLY_BRIGHTNESS,"160"],[Re.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],[Re.Msg.MIXLY_SERVO,"162"],[Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],[Re.Msg.MIXLY_BUTTON2,"164"],[Re.Msg.MIXLY_ESP32_TOUCH,"165"],[Re.Msg.MIXLY_PAY,"166"],[Re.Msg.MIXLY_CARSH_CHANGE,"167"],[Re.Msg.MIXLY_COUNTDOWN,"168"],[Re.Msg.MIXLY_TIMING,"169"],[Re.Msg.MIXLY_AT_THE_MOMENT,"170"],[Re.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],[Re.Msg.MIXLY_FORWARD,"172"],[Re.Msg.MIXLY_BACKWARD,"173"],[Re.Msg.MIXLY_TURNLEFT,"174"],[Re.Msg.MIXLY_TURNRIGHT,"175"],[Re.Msg.MIXLY_STOP,"176"],[Re.Msg.MIXLY_Accelerate,"177"],[Re.Msg.MIXLY_retard,"178"],[Re.Msg.ROTATION_FORWARD,"179"],[Re.Msg.ROTATION_BACKWARD,"180"],[Re.Msg.TUPLE_JOIN,"181"],[Re.Msg.MIXLY_SHOW,"182"],[Re.Msg.MIXLY_LAMPLIGHT,"183"],[Re.Msg.MIXLY_ACCELERATION,"184"]]),"star"),this.appendValueInput("NUM").appendField(Re.Msg.MIXLY_NUMBER),this.appendDummyInput("").appendField(Re.Msg.MIXLY_UNIT).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],[Re.Msg.MIXLY_YEAR,"117"],[Re.Msg.MIXLY_MONTH,"118"],[Re.Msg.MIXLY_DAY,"119"],[Re.Msg.MIXLY_HOUR,"120"],[Re.Msg.MIXLY_MINUTE,"121"],[Re.Msg.MIXLY_SECOND,"122"],[Re.Msg.MIXLY_WEEK2,"123"],[Re.Msg.MIXLY_RMB_UNIT,"124"],[Re.Msg.blockpy_setheading_degree,"125"],[Re.Msg.MIXLY_GEAR,"126"],[Re.Msg.MIXLY_LAYER,"127"],[Re.Msg.MIXLY_GRAM,"128"],[Re.Msg.MIXLY_METER,"129"],[Re.Msg.MIXLY_CENTIMETER,"130"],[Re.Msg.MIXLY_MILLIMETER,"131"],[Re.Msg.MIXLY_LUMEN,"132"],[Re.Msg.MIXLY_DECIBEL,"133"],[Re.Msg.MIXLY_hectopascal,"134"],[Re.Msg.MIXLY_PERCENT,"135"],[Re.Msg.MIXLY_CELSIUS,"136"],[Re.Msg.MIXLY_METER_PER_SEC,"137"],[Re.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],[Re.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],[Re.Msg.MIXLY_SUCCESS,"140"],[Re.Msg.MIXLY_FAILED,"141"],[Re.Msg.MIXLY_WRONG,"142"],[Re.Msg.MIXLY_GOOD,"143"],[Re.Msg.MIXLY_blockpy_set_add,"144"],[Re.Msg.MIXLY_DECREASE,"145"],[Re.Msg.COLOUR_RGB_RED,"146"],[Re.Msg.COLOUR_RGB_ORANGE,"147"],[Re.Msg.COLOUR_YELLOW,"148"],[Re.Msg.COLOUR_RGB_GREEN,"149"],[Re.Msg.COLOUR_CYAN,"150"],[Re.Msg.COLOUR_RGB_BLUE,"151"],[Re.Msg.COLOUR_RGB_PURPLE,"152"],[Re.Msg.COLOUR_RGB_WHITE,"153"]]),"end"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},hg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_AipSpeech_asr+"CI130X").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.LISTS_SET_INDEX_SET+Re.Msg.MIXLY_SYSTEM+Re.Msg.MIXLY_CMD).appendField(new Re.FieldDropdown([[Re.Msg.MILXY_ENTER_WAKE_UP,"1"],[Re.Msg.MIXLY_INCREASE_VOLUME,"202"],[Re.Msg.MIXLY_REDUCE_VOLUME,"203"],[Re.Msg.MIXLY_MAX_VOLUME,"204"],[Re.Msg.MIXLY_MINIMUM,"205"],[Re.Msg.MIXLY_OPEN_RESPONSE,"206"],[Re.Msg.MIXLY_CLOSE_RESPONSE,"207"],[Re.Msg.MIXLY_QUIT_WAKE_UP,"208"]]),"cmd"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},mg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_MAX30102+" MAX30102"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_MAX30102_IR,"[0]"],[Re.Msg.MIXLY_ESP32_MAX30102_RED,"[1]"],[Re.Msg.MIXLY_ESP32_MAX30102_IR+","+Re.Msg.MIXLY_ESP32_MAX30102_RED,""]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Eg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_APDS9960+" APDS9960"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_ESP32_APDS9960_COLOR,"color"],[Re.Msg.MIXLY_ESP32_APDS9960_GESTURE,"gesture"],[Re.Msg.MIXLY_ESP32_APDS9960_APPROACH,"proximity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Og={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_ESP32_EXTERN_LIGHT+" LTR308ALS"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_LIGHT_INTENSITY),this.setOutput(!0,Number),this.setInputsInline(!0)}},Rg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.HTML_COLOUR+Re.Msg.MSG.catSensor+" LTR381RGB").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GET+Re.Msg.HTML_COLOUR,"[2]"],[Re.Msg.MIXLY_GET+Re.Msg.MIXLY_IR_STRENGTH,"[1]"],[Re.Msg.MIXLY_GET+Re.Msg.MIXLY_LIGHT_STRENGTH,"[0]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},cg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.HTML_COLOUR+Re.Msg.MSG.catSensor+" UCS12071").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GET+"RGB"+Re.Msg.HTML_COLOUR,"0"],[Re.Msg.MIXLY_GET+Re.Msg.MIXLY_RGB_RAW,"1"],[Re.Msg.MIXLY_GET_ENV_LIGHT+Re.Msg.MIXLY_BRIGHTNESS,"2"],[Re.Msg.GET_IR_STRENGTH+Re.Msg.MIXLY_BRIGHTNESS,"3"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},gg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_EXTERN_LIGHTUV+" LTR390UV").setCheck("var"),this.appendDummyInput().appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GET_ENV_LIGHT,"E"],[Re.Msg.MIXLY_GET_ULTRAVIOLET,"U"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Cg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_LASER_RANGE+" VL53L0X"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GET_DISTANCE+"(mm)"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Sg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_TEM_HUM+" SHTC3").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Re.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,humidity:Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Ag={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_TEM_HUM+" AHT21").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Re.Msg.MIXLY_GETHUMIDITY,"humidity"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key");return{temperature:Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,relative_humidity:Re.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[t]}))}},Lg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_Altitude+Re.Msg.MSG.catSensor+" HP203X").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETPRESSURE,"pressure()"],[Re.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Re.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ng={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_Altitude+Re.Msg.MSG.catSensor+" SPL06_001").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETPRESSURE,"pressure()"],[Re.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Re.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Dg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_Altitude+Re.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_GETPRESSURE,"pressure()"],[Re.Msg.MIXLY_GETTEMPERATUE,"temperature()"],[Re.Msg.MIXLY_GET_ALTITUDE,"altitude()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},fg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_Altitude+Re.Msg.MSG.catSensor+" MS5611").setCheck("var"),this.appendValueInput("VAR").appendField(Re.Msg.MIXLY_REF_TO_PRESSURE),this.appendDummyInput().appendField(Re.Msg.MIXLY_CAL_TO_ALTITUDE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Fg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MIXGOPE_FIELD+Re.Msg.MSG.catSensor+" QMC5883L").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"get_bearing()"],[Re.Msg.MIXLY_TEMPERATURE,"get_temp()"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Pg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_shake,"shake"],[Re.Msg.MIXLY_UP,"up"],[Re.Msg.MIXLY_DOWN,"down"],[Re.Msg.MIXLY_LEFT,"left"],[Re.Msg.MIXLY_RIGHT,"right"],[Re.Msg.MIXLY_MICROBIT_face_up,"face up"],[Re.Msg.MIXLY_MICROBIT_face_down,"face down"]]),"gesture"),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("gesture"),i=Re.Msg.MIXLY_MICROBIT_JS_CURRENT,n=Re.Msg.MSG.catSensor,s=Re.Msg.MIXLY_MICROBIT_JS_STATE,_=Re.Msg.MIXLY_MICROBIT_PERFORMANCE;return i+n+s+{shake:Re.Msg.MIXLY_MICROBIT_shake,up:Re.Msg.MIXLY_UP,down:Re.Msg.MIXLY_DOWN,left:Re.Msg.MIXLY_LEFT,right:Re.Msg.MIXLY_RIGHT,"face up":Re.Msg.MIXLY_MICROBIT_face_up,"face down":Re.Msg.MIXLY_MICROBIT_face_down}[t]+_}))}},Yg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Re.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Re.Msg.MIXLY_MICROBIT_Direction,s=Re.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Re.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},vg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_GET+Re.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Re.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Re.Msg.MIXLY_MICROBIT_Direction,s=Re.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Re.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},Xg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Re.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Re.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("key"),i=Re.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Re.Msg.MIXLY_MICROBIT_Direction,s=Re.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Re.Msg.MIXLY_MICROBIT_Shiliang_Direction}[t]+n+s}))}},yg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_JS_CALIBRATE_COMPASS)}},bg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_NINE_AXIS_SENSOR+" MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_GETTEMPERATUE)}},xg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_JS_GET_COMPASS).appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,"strength"],[Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"heading"]]),"compass"),this.setOutput(!0,Number),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("compass");return Re.Msg.MIXLY_MICROBIT_JS_GET_COMPASS+{strength:Re.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH,heading:Re.Msg.MIXLY_MICROBIT_JS_BY_ANGLE}[t]}))}},Vg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Re.Msg.MIXLY_MICROBIT_Reset_COMPASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Re.Msg.MIXLY_MICROBIT_Reset_COMPASS)}},Bg={init:function(){this.setColour(Wc),this.appendValueInput("SPISUB").appendField(Re.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Re.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SETUP+Re.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Re.FieldDropdown([["RFID","RFID"],["WS-LoRa","Weather"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("RFID","key")}},Gg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField("RFID"+Re.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Re.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RFID_READ_CARD_UID,"id"],[Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"content"],[Re.Msg.MIXLY_ALL,"ALL"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ug={init:function(){this.setColour(Wc),this.appendDummyInput().appendField("RFID"+Re.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_RFID_READ_CARD_UID),this.setOutput(!0,Number),this.setInputsInline(!0)}},wg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField("RFID"+Re.Msg.MIXLY_RFID_READ_CARD),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Re.Msg.MIXLY_LIST_INDEX),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL),this.setOutput(!0,"Tuple"),this.setInputsInline(!0)}},Hg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Re.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Re.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},kg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField(Re.Msg.MIXLY_COMMUNICATION_RFID_WRITE),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("SECTOR").appendField(Re.Msg.MIXLY_LIST_INDEX),this.appendValueInput("CONTENT").appendField(Re.Msg.MIXLY_COMMUNICATION_WRITE_NUM),this.appendDummyInput().appendField(Re.Msg.RETURN_SUCCESS_OR_NOT),this.setInputsInline(!0),this.setOutput(!0,Boolean)}},Wg={init:function(){this.setColour(Wc),this.appendDummyInput().appendField("RFID"),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput("").appendField(new Re.FieldDropdown([[Re.Msg.MIXLY_RFID_SCAN_OK,"0"],[Re.Msg.MIXLY_RFID_SCAN_NOTAGERR,"1"],[Re.Msg.MIXLY_RFID_SCAN_ERROR,"2"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_MICROBIT_JS_GET).appendField(new Re.FieldDropdown([["全部(元组)","data()[0]"],["全部(json)","data()[1]"],["全部(json,附带位置信息)","data()[2]"],["编号","data()[0][0]"],["电量","data()[0][1]"],["风速","data()[0][2]"],["阵风","data()[0][3]"],["风向","data()[0][4]"],["雨量","data()[0][5]"],["温度","data()[0][6]"],["湿度","data()[0][7]"],["光照","data()[0][8]"],["紫外线","data()[0][9]"],["大气压","data()[0][10]"],["信号强度","data()[0][11]"],["信噪比","data()[0][12]"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip("返回气象数据元组 data= (设备id,电池状态,风速m/s,阵风m/s,风向°,雨量mm,温度℃,湿度%,光照Lux,UVI,大气压Pa,信号强度dB,信噪比dB)")}},Jg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Re.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Qg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendValueInput("BASE").appendField("以主题"),this.appendDummyInput("").appendField("串口发送至MixIO"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},zg={init:function(){this.setColour(Wc),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Re.icons.MutatorIcon(["weather_set_label_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("weather_set_label_container");t.initSvg();for(var i=t.getInput("STACK").connection,n=0;n>6),i.push(128|63&_)):(2048<=_&&_<=55295||57344<=_&&_<=65535)&&(n+=3,i.push(224|15&_>>12),i.push(128|63&_>>6),i.push(128|63&_))}for(s=0;s>8,255&n].concat(i)}(e,!0),i="",n=0;n=0?"0x700000":["mixgo_sant"].indexOf(n)>=0?"0xE00000":"0x3A0000","32x12 Matrix"==o?(t.definitions_.import_matrix32x12="import matrix32x12",i=s+" = matrix32x12.Matrix("+_+", font_address="+p+")\n"):"16x8 Matrix"==o&&(t.definitions_.import_matrix16x8="import matrix16x8",i=s+" = matrix16x8.Matrix("+_+")\n"),i},dv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Iv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},Tv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},hv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},mv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},Ev=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},Ov=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},Rv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},cv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},gv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},Cv=function(e,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},Sv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("image"),t.ORDER_ATOMIC]},Av=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_"+e.getFieldValue("OP")+"("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"B",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Lv=function(e,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(e,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Nv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC);return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = ssd1306.SSD1306_I2C("+t.valueToCode(this,"row",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"column",t.ORDER_ATOMIC)+", "+i+")\n"},Dv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_str("+(t.valueToCode(this,"Text_line1",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line2",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line3",t.ORDER_ASSIGNMENT)||"''")+", "+(t.valueToCode(this,"Text_line4",t.ORDER_ASSIGNMENT)||"''")+")\n"},fv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_line("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+", 1)\n"},Fv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"width",t.ORDER_ATOMIC),o=t.valueToCode(this,"height",t.ORDER_ATOMIC),p="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP");switch(p){case"True":return i+".show_fill_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n";case"False":return i+".show_rect("+n+", "+s+", "+_+", "+o+", "+a+")\n"}},Pv=function(e,t){t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"length",t.ORDER_ATOMIC);return i+".show_"+this.getFieldValue("direction")+"("+n+", "+s+", "+_+", 1)\n"},Yv=function(e,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},vv=function(e,t){t.definitions_.import_matrix="import matrix";var i=e.getFieldValue("OP");return[t.valueToCode(e,"img",t.ORDER_ATOMIC)+".shift_"+i+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Xv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_ssd1306="import ssd1306",t.definitions_.import_machine="import machine",i+".show_fill("+this.getFieldValue("key")+")\n"},yv=function(e,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},bv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x",t.ORDER_ATOMIC),s=t.valueToCode(this,"y",t.ORDER_ATOMIC),_=t.valueToCode(this,"r",t.ORDER_ATOMIC),o="TRUE"==this.getFieldValue("fill")?"True":"False",p=this.getFieldValue("OP");switch(o){case"True":return i+".show_fill_circle("+n+", "+s+", "+_+", "+p+")\n";case"False":return i+".show_circle("+n+", "+s+", "+_+", "+p+")\n"}},xv=function(e,t){var i=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306";var n=t.valueToCode(this,"x0",t.ORDER_ATOMIC),s=t.valueToCode(this,"y0",t.ORDER_ATOMIC),_=t.valueToCode(this,"x1",t.ORDER_ATOMIC),o=t.valueToCode(this,"y1",t.ORDER_ATOMIC),p=t.valueToCode(this,"x2",t.ORDER_ATOMIC),a=t.valueToCode(this,"y2",t.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",r=this.getFieldValue("OP");switch(u){case"True":return i+".show_fill_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n";case"False":return i+".show_triangle("+n+", "+s+", "+_+", "+o+", "+p+", "+a+", "+r+")\n"}},Vv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_bitmap("+t.valueToCode(this,"START_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"START_Y",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"bitmap_name",t.ORDER_ATOMIC)+","+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+","+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+")\n"},Bv=function(e,t){return t.definitions_.import_machine="import machine",t.definitions_.import_ssd1306="import ssd1306",t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".show_pixel("+t.valueToCode(this,"POS_X",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"POS_Y",t.ORDER_ATOMIC)+")\n"},Gv=function(e,t){var i,n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"CLK",t.ORDER_ATOMIC),_=t.valueToCode(this,"DIO",t.ORDER_ATOMIC),o=this.getFieldValue("key");return"TM1650"==o?(t.definitions_.import_tm1650="import tm1650",i=n+" = tm1650."+o+"(clk="+s+",dio="+_+")\n"):"TM1637"==o&&(t.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"(clk="+s+",dio="+_+")\n"),i},Uv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},wv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Hv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".showDP("+t.valueToCode(this,"NO",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"},kv=function(e,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},Wv=function(e,t){t.definitions_.import_st7789="import st7789";var i=ce.Boards.getSelectedBoardKey().split(":")[2],n="";n=["mpython","mixgo_pe","mixgo_nova"].indexOf(i)>=0?"0x700000":["mixgo_sant"].indexOf(i)>=0?"0xE00000":"0x3A0000";var s=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"SPISUB",t.ORDER_ATOMIC),o=t.valueToCode(this,"PINCS",t.ORDER_ATOMIC),p=t.valueToCode(this,"PINDC",t.ORDER_ATOMIC);return s+" = st7789.ST7789("+_+", "+t.valueToCode(this,"WIDTH",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"HEIGHT",t.ORDER_ATOMIC)+", dc_pin="+p+", cs_pin="+o+", rotation="+this.getFieldValue("rotate")+", font_address="+n+")\n"},Kv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".image("+n+", x="+s+", y="+_+", size="+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".image("+n+", x= "+s+",y="+_+", size="+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Jv=function(e,t){var i="0x"+this.getFieldValue("COLOR").slice(1);return["0x"+((16252928&i)>>8|(64512&i)>>5|(255&i)>>3).toString(16),t.ORDER_ATOMIC]},Qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),u=this.getFieldValue("center");if("0x"==a.slice(0,2))var r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color="+a+")\n";else{const e=a.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r=i+".shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+u+", color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+")\n"}return r},zv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p=i+".frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p=i+".frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},qv=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u=i+".scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},jv=function(e,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},$v=function(e,t){t.definitions_.import_st7789="import st7789";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"x1",t.ORDER_ATOMIC),s=t.valueToCode(this,"y1",t.ORDER_ATOMIC),_=t.valueToCode(this,"x2",t.ORDER_ATOMIC),o=t.valueToCode(this,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=i+".line("+n+", "+s+", "+_+", "+o+", color="+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=i+".line("+n+", "+s+", "+_+", "+o+", color=0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Zv=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=this.getFieldValue("key"),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return t.definitions_.import_i2clcd="import i2clcd",i+" = i2clcd.LCD("+n+", lcd_width="+s+", i2c_addr="+_+")\n"},eX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+",center = "+this.getFieldValue("center")+")\n"},tX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".print("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", column="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", line="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},iX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},nX=function(e,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},sX=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(this,"I2CSUB",t.ORDER_ATOMIC),s=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC),_=this.getFieldValue("driver"),o=ce.Boards.getSelectedBoardKey().split(":")[2],p="";return p=["mpython","mixgo_pe","mixgo_nova"].indexOf(o)>=0?"0x700000":["mixgo_sant"].indexOf(o)>=0?"0xE00000":"0x3A0000",t.definitions_.import_oled128x64="import oled128x64",i+" = oled128x64.OLED("+n+", address="+s+", font_address="+p+", types="+_+")\n"},_X=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},oX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".image("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+")\n"},pX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},aX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", x="+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+", center="+this.getFieldValue("center")+")\n"},uX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},rX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", delay="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+")\n"},lX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},dX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", y="+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+", size="+t.valueToCode(this,"size",t.ORDER_ASSIGNMENT)+", speed="+t.valueToCode(this,"time",t.ORDER_ASSIGNMENT)+", space="+t.valueToCode(this,"space",t.ORDER_ASSIGNMENT)+")\n"},IX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},TX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+e.getFieldValue("OP")+"("+t.valueToCode(e,"val",t.ORDER_ATOMIC)+")\n"},MX=function(e,t){return t.definitions_.import_oled128x64="import oled128x64",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},hX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".pixel(int("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+"), int("+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+"), "+t.valueToCode(this,"STAT",t.ORDER_ATOMIC)+")\n"+i+".show()\n"},mX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=e.getFieldValue("state");return i+"."+e.getFieldValue("shape")+"("+n+", "+s+", "+_+", "+o+", "+p+")\n"+i+".show()\n"},EX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=e.getFieldValue("state");return i+"."+("0"==e.getFieldValue("dir_h_v")?"v":"h")+"line("+n+", "+s+", "+_+", "+o+")\n"+i+".show()\n"},OX=function(e,t){t.definitions_.import_oled128x64="import oled128x64";var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return i+".line("+t.valueToCode(e,"x1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y1",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"x2",t.ORDER_ATOMIC)+", "+t.valueToCode(e,"y2",t.ORDER_ATOMIC)+", "+e.getFieldValue("state")+")\n"+i+".show()\n"},RX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var s="onboard_tft.image("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff,sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n"}else if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled";s="oled.print("+n+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.shows("+n+")\n"}return s},cX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),_=this.getFieldValue("center");if("mixgo_sant"==i||"mixgo_nova"==i||"mixgo_soar"==i)return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.shows("+n+", space="+s+", center="+_+",sync="+(t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True")+")\n";if("educore"==i){t.definitions_["import_"+i+"_oled"]="from "+i+" import oled"}return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.shows("+n+", space="+s+", center="+_+")\n"},gX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var s="onboard_oled.frame("+n+")\n"}else if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";s="onboard_tft.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";s="onboard_matrix.frame("+n+")\n"}return s},CX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var _="onboard_oled.frame("+(n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT))+", delay="+s+")\n"}else if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";_="onboard_tft.frame("+n+", size=5 , delay="+s+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";_="onboard_matrix.frame("+n+", delay="+s+")\n"}return _},SX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var n="onboard_oled.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}else if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";n="onboard_tft.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"}return n},AX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2],n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT);if("mpython"==i||"educore"==i){t.definitions_["import_"+i+"_onboard_oled"]="from "+i+" import onboard_oled";var o="onboard_oled.scroll("+n+", speed="+s+", space="+_+")\n"}else if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";o="onboard_tft.scroll("+n+", y=0, size=5, speed="+s+", space="+_+", color=0xffff)\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";o="onboard_matrix.scroll("+n+", speed="+s+", space="+_+")\n"}return o},LX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix","onboard_matrix.scroll_way("+this.getFieldValue("way")+")\n"},NX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==a.slice(0,2))var u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color="+a+")\n";else{const e=a.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.scroll("+n+", y="+s+", size="+_+", speed="+o+", space="+p+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+")\n"}return u},DX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix",["onboard_matrix."+e.getFieldValue("image"),t.ORDER_ATOMIC]},fX=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){const i=e.getFieldValue("image").split(".");if(2!==i.length)throw Error("pin value error");t.definitions_[`import_${i[0]}_${i[1]}`]=`from ${i[0]} import ${i[1]}`;var n=i[1]}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix."+e.getFieldValue("image")}return[n,t.ORDER_ATOMIC]},FX=function(e,t){var i={"#000000":"0","#ff0000":"1"};function n(e){let t="";if(e.length%2==1&&(e="0"+e),e.length<8){let t=8-e.length;for(let i=1;i<=t;i++)e="0"+e}for(let i=1;i<=e.length;i++)i%2==0&&i!==e.length?t=t+e[i-1]+",0x":t+=e[i-1];return"0x"+t}let s=[];for(let t=0;t<12;t++){let _="",o=0,p=0;for(let n=0;n<32;n++)n<8?p=7-n:n<16?p=23-n:n<24?p=39-n:n<32&&(p=55-n),o+=Number(i[e.getFieldValue(t+"-"+n)])*Math.pow(2,31-p);_+=n(o.toString(16)),s.unshift(_)}let _=[];for(let e=0;e>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Ty=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.picture("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"y",t.ORDER_ASSIGNMENT)+","+t.valueToCode(this,"direct",t.ORDER_ASSIGNMENT)+")\n"},My=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"space",t.ORDER_ASSIGNMENT),a=this.getFieldValue("center"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",r=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==r.slice(0,2))var l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color="+r+",sync="+u+")\n";else{const e=r.match(/\d+/g);var d="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");l="onboard_tft.shows("+n+", x="+s+", y="+_+", size="+o+", space="+p+", center="+a+", color=0x"+((16252928&d)>>8|(64512&d)>>5|(255&d)>>3).toString(16)+",sync="+u+")\n"}return l},hy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"time",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==o.slice(0,2))var p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color="+o+")\n";else{const e=o.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.frame("+n+", size="+s+", delay="+_+", color=0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+")\n"}return p},my=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"w",t.ORDER_ATOMIC),o=t.valueToCode(e,"h",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=e.getFieldValue("shape"),u=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", "+p+",sync="+u+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft."+a+"("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+u+")\n"}return r},Ey=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"length",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("dir_h_v"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", "+o+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft."+("0"==p?"v":"h")+"line("+n+", "+s+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Oy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x1",t.ORDER_ATOMIC),s=t.valueToCode(e,"y1",t.ORDER_ATOMIC),_=t.valueToCode(e,"x2",t.ORDER_ATOMIC),o=t.valueToCode(e,"y2",t.ORDER_ATOMIC),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.line("+n+", "+s+", "+_+", "+o+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Ry=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft",["onboard_tft.pixel(int("+t.valueToCode(e,"x",t.ORDER_ATOMIC)+"), int("+t.valueToCode(e,"y",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]},cy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),o=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==_.slice(0,2))var p="onboard_tft.pixel(int("+n+"), int("+s+"), "+_+",sync="+o+")\n";else{const e=_.match(/\d+/g);var a="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");p="onboard_tft.pixel(int("+n+"), int("+s+"), 0x"+((16252928&a)>>8|(64512&a)>>5|(255&a)>>3).toString(16)+",sync="+o+")\n"}return p},gy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"VAR",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==n.slice(0,2))var _="onboard_tft.fill("+n+",sync="+s+")\n";else{const e=n.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_="onboard_tft.fill(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+",sync="+s+")\n"}return _},Cy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==p.slice(0,2))var a=o+"=Clock("+n+", "+s+", "+_+", "+p+")\n";else{const e=p.match(/\d+/g);var u="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");a=o+"=Clock("+n+", "+s+", "+_+", 0x"+((16252928&u)>>8|(64512&u)>>5|(255&u)>>3).toString(16)+")\n"}return a},Sy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_rtctime()\n"},Ay=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".set_time("+t.valueToCode(this,"h",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"m",t.ORDER_ASSIGNMENT)+", "+t.valueToCode(this,"s",t.ORDER_ASSIGNMENT)+")\n"},Ly=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock",t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT)+".draw_clock()\n"},Ny=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_Clock"]="from "+i+" import Clock";var n=t.valueToCode(this,"SUB",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2))var _=n+".clear("+s+")\n";else{const e=s.match(/\d+/g);var o="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");_=n+".clear(0x"+((16252928&o)>>8|(64512&o)>>5|(255&o)>>3).toString(16)+")\n"}return _},Dy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(e,"x",t.ORDER_ATOMIC),s=t.valueToCode(e,"y",t.ORDER_ATOMIC),_=t.valueToCode(e,"r",t.ORDER_ATOMIC),o=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),p=e.getFieldValue("shape"),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==o.slice(0,2))var u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", "+o+", "+p+",sync="+a+")\n";else{const e=o.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.ellipse("+n+", "+s+", "+_+", "+_+", 0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+", "+p+",sync="+a+")\n"}return u},fy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];if("Python ESP32-S3"===ce.JSFuncs.getPlatform()){t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n="onboard_tft.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}else{t.definitions_["import_"+i+"_onboard_matrix"]="from "+i+" import onboard_matrix";n="onboard_matrix.pointern(angle="+t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT)+")\n"}return n},Fy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"angle",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"VAR",t.ORDER_ATOMIC);if("0x"==s.slice(0,2));else{const e=s.match(/\d+/g);var _="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");((16252928&_)>>8|(64512&_)>>5|(255&_)>>3).toString(16)}return"onboard_tft.pointern(angle="+n+")\n"},Py=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True";if("0x"==p.slice(0,2))var u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var r="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");u="onboard_tft.texts("+n+", x="+s+", y="+_+", size="+o+", color=0x"+((16252928&r)>>8|(64512&r)>>5|(255&r)>>3).toString(16)+",sync="+a+")\n"}return u},Yy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];return t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft","onboard_tft.qrcode("+t.valueToCode(this,"direct",t.ORDER_ATOMIC)+")\n"},vy=function(e,t){var i=ce.Boards.getSelectedBoardKey().split(":")[2];t.definitions_["import_"+i+"_onboard_tft"]="from "+i+" import onboard_tft";var n=t.valueToCode(this,"data",t.ORDER_ASSIGNMENT),s=t.valueToCode(this,"x",t.ORDER_ASSIGNMENT),_=t.valueToCode(this,"y",t.ORDER_ASSIGNMENT),o=t.valueToCode(this,"size",t.ORDER_ASSIGNMENT),p=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),a=t.valueToCode(this,"boolean",t.ORDER_ATOMIC)||"True",u=this.getFieldValue("correct");if("0x"==p.slice(0,2))var r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color="+p+",sync="+a+")\n";else{const e=p.match(/\d+/g);var l="0x"+((parseInt(e[0])<<16)+(parseInt(e[1])<<8)+parseInt(e[2])).toString(16).padStart(4,"0");r="onboard_tft.qrcode("+n+",x="+s+",y="+_+",size="+o+",correct="+u+",color=0x"+((16252928&l)>>8|(64512&l)>>5|(255&l)>>3).toString(16)+",sync="+a+")\n"}return r},Xy=RX,yy=BX,by=bX,xy=BX,Vy=GX,By=YX,Gy=function(e,t){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return t.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},Uy=function(e,t){var i=this.getFieldValue("module");return t.definitions_["import_"+i]="import "+i,""},wy=function(e,t){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+t.statementToCode(this,"do")+"})\n"},lw=function(){return"control.reset()\n"},dw=function(e,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||ce.Profile.default.serial)+")\n"},Iw=function(e,t){return"control.raiseEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||ce.Profile.default.serial)+")\n"},Tw=function(e,t){return"control.onEvent("+(t.valueToCode(this,"system_event_bus_source",t.ORDER_ATOMIC)||ce.Profile.default.serial)+", "+(t.valueToCode(this,"system_event_bus_value",t.ORDER_ATOMIC)||ce.Profile.default.serial)+", () => {\n"+t.statementToCode(this,"do")+")\n"},Mw=function(e,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},hw=function(e,t){return["control.eventValue()",t.ORDER_ATOMIC]},mw=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Ew=function(e,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Ow=function(e,t){return["control.deviceName()",t.ORDER_ATOMIC]},Rw=function(e,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},cw=function(e,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},gw=function(e,t){switch(t.definitions_.import_time="import time",this.getFieldValue("Time")){case"ms":return["time.ticks_ms()",t.ORDER_ATOMIC];case"us":return["time.ticks_us()",t.ORDER_ATOMIC]}},Cw=function(){return"while True:\n pass\n"},Sw=function(e,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},Aw=function(e,t){return t.definitions_.import_os="import os","os.uname()"},Lw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Nw=function(e,t){t.definitions_.import_time="import time";var i=t.valueToCode(this,"DELAY_TIME",t.ORDER_ATOMIC)||"1000";switch(this.getFieldValue("Time")){case"s":return"time.sleep("+i+")\n";case"ms":return"time.sleep_ms("+i+")\n";case"us":return"time.sleep_us("+i+")\n"}},Dw=function(e,t){return t.definitions_.import_mixgo="import mixgo",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period="+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=Timer."+(t.valueToCode(this,"mode",t.ORDER_NONE)||"None")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},fw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+" = machine.Timer("+(t.valueToCode(this,"PIN",t.ORDER_NONE)||"None")+",period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},Fw=function(e,t){return t.definitions_.import_time="import time",["time.ticks_diff("+(t.valueToCode(this,"END",t.ORDER_NONE)||"0")+", "+(t.valueToCode(this,"START",t.ORDER_NONE)||"0")+")",t.ORDER_ATOMIC]},Pw=function(e,t){var i=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},Yw=function(e,t){return t.definitions_.import_machine="import machine",(t.valueToCode(this,"VAR",t.ORDER_NONE)||"None")+".init(period = "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+", mode=machine.Timer."+this.getFieldValue("mode")+", callback="+(t.valueToCode(this,"callback",t.ORDER_NONE)||"None")+")\n"},vw=function(e,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},Xw=function(e,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},yw=function(e,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},bw=function(e,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},xw=Pw,Vw=Yw,Bw=Fw,Gw=Lw,Uw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ww=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api."+this.getFieldValue("mode")+"("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},Hw=function(e,t){return t.definitions_.import_seniverse_api="import seniverse_api",["seniverse_api.weather_hourly("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"hour",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},kw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+")\n"},Ww=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_now.analysis()";else n='Weather_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Kw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Air_now.analysis()";else n='Air_now.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Jw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Weather_alarm.analysis()";else n='Weather_alarm.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},Qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Life_suggestion.analysis()";else n='Life_suggestion.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},zw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Tide_daily.analysis()";else n='Tide_daily.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},qw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content");if("none"==i)var n="Location_search.analysis()";else n='Location_search.analysis("'+i+'")';return[n,t.ORDER_ATOMIC]},jw=function(e,t){return t.definitions_["import_seniverse_api*"]="from seniverse_api import *",this.getFieldValue("mode")+".request("+t.valueToCode(this,"key",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"addr",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"day",t.ORDER_ATOMIC)+")\n"},$w=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Weather_daily.analysis("+n+")";else s="Weather_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},Zw=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Air_daily.analysis("+n+")";else s="Air_daily.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},eH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_sun.analysis("+n+")";else s="Geo_sun.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},tH=function(e,t){t.definitions_["import_seniverse_api*"]="from seniverse_api import *";var i=this.getFieldValue("content"),n=t.valueToCode(this,"day",t.ORDER_ATOMIC);if("none"==i)var s="Geo_moon.analysis("+n+")";else s="Geo_moon.analysis("+n+', "'+i+'")';return[s,t.ORDER_ATOMIC]},iH='

6)jc=cK= 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%0AX~#;ZT3nr?RuG+*sXHQ)XLS{o;?ThL31 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 _-4z`x%!acZI3~HY)~$wo^+7J| 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

U%xYytRrC+0XGbE)5`c7bZ%m}C# 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